智慧保安后台管理-外网-验收版本
Administrator
2021-08-21 75d710137ad9098e36e41f6ce8f2ccde0b6becc4
ftp 数据同步,考试报名,取消,导入同步
10 files modified
1 files added
272 ■■■■■ changed files
src/main/java/org/springblade/common/constant/FtpConstant.java 37 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/controller/ApplyController.java 88 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java 42 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml 14 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/service/IDispatcherService.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java 51 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherUnitServiceImpl.java 12 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/vo/ExamScoreVO.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/UserController.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/common/constant/FtpConstant.java
New file
@@ -0,0 +1,37 @@
package org.springblade.common.constant;
/**
 * @author zhongrj
 */
public interface FtpConstant {
    /**
     * ftp服务器IP地址
     */
    String ftpHost = "192.168.0.105";
    /**
     * ftp服务器端口
     */
    int ftpPort = 21;
    /**
     * ftp服务器用户名
     */
    String ftpUserName = "yly";
    /**
     * ftp服务器密码
     */
    String ftpPassword = "Yly@123";
    /**
     * 本地路径
     */
    String localPath = "D:\\anbao";
    /**
     * 文件名
     */
    String fileName = "wsql.json";
}
src/main/java/org/springblade/modules/apply/controller/ApplyController.java
@@ -1,5 +1,6 @@
package org.springblade.modules.apply.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@@ -16,6 +17,8 @@
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.FTP.OutJson;
import org.springblade.modules.apply.entity.Apply;
import org.springblade.modules.apply.excel.ApplyExcel;
import org.springblade.modules.apply.excel.ApplyImporter;
@@ -33,9 +36,14 @@
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import static org.springblade.common.constant.FtpConstant.*;
/**
 * @author zhongrj
@@ -81,7 +89,7 @@
     */
    @PostMapping("/save")
    @ApiOperation(value = "新增", notes = "传入apply")
    public R save(@RequestBody Apply apply) {
    public R save(@RequestBody Apply apply){
        //查询人员是否已报名
        User user = userService.getById(apply.getUserId());
        if (null==user.getIsApply()){
@@ -97,6 +105,10 @@
            user1.setId(apply.getUserId());
            user1.setIsApply(1);
            userService.updateById(user1);
            //内网数据同步
            saveApply(apply,user1);
            return R.data(200,"报名成功");
        }else {
            if (1==user.getIsApply()){
@@ -114,10 +126,35 @@
                user1.setId(apply.getUserId());
                user1.setIsApply(1);
                userService.updateById(user1);
                //内网数据同步
                saveApply(apply,user1);
                return R.data(200,"报名成功");
            }
        }
        return R.data(202,"报名失败");
    }
    /**
     * 报名
     */
    private void saveApply(Apply apply,User user1){
        String formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
        Long id = apply.getId();
        String s = "insert into sys_apply(id,user_id,apply_time,apply_status,is_exam) " +
            "values(" + "'" + id + "'" + "," + "'" + apply.getUserId() + "'" + "," + "'" + formatStr +
            "'" + "," + "'" + apply.getApplyStatus() + "'" + "," +"'" + apply.getIsExam() + "'" + ");" +
            "update blade_user set is_apply = " + user1.getIsApply() + " " +"where id = " + "'" + user1.getId() + "'";
        String json = JSON.toJSONString(s);
        OutJson.createJsonFile(json, "d:/", "wsql");
        FileInputStream in = null;
        try {
            in = new FileInputStream(new File("D:\\" + fileName));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "/", fileName, in);
    }
@@ -329,7 +366,6 @@
     */
    @PostMapping("/remove")
    public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
        //arg.sendPostRemoveByIds(arg.url+"/apply/remove",ids);
        return R.status(applyService.removeByIds(Func.toLongList(ids)));
    }
@@ -389,9 +425,14 @@
            //修改保安报名状态
            user.setIsApply(2);
            userService.updateById(user);
            //取消报名同步
            cancelApplySync(apply,user);
            if (status){
                return R.data(200,"取消报名成功");
            }
        }else {
            if(user.getIsApply()==1){
                apply.setApplyStatus(4);
@@ -399,6 +440,10 @@
                //修改保安报名状态
                user.setIsApply(2);
                userService.updateById(user);
                //取消报名同步
                cancelApplySync(apply,user);
                if (status){
                    return R.data(200,"取消报名成功");
                }
@@ -407,6 +452,24 @@
            }
        }
        return R.data(202,"取消报名失败");
    }
    /**
     * 取消报名同步
     */
    private void cancelApplySync(Apply apply,User user){
        String s =
            "update sys_apply set apply_status = " + apply.getApplyStatus() + " " +"where id = " + "'" + apply.getId() + "';" +
                "update blade_user set is_apply = " + user.getIsApply() + " " +"where id = " + "'" + user.getId() + "'";
        String json = JSON.toJSONString(s);
        OutJson.createJsonFile(json, "d:/", "wsql");
        FileInputStream in = null;
        try {
            in = new FileInputStream(new File("D:\\" + fileName));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "/", fileName, in);
    }
@@ -426,6 +489,10 @@
            //修改保安报名状态
            user.setIsApply(2);
            userService.updateById(user);
            //取消报名同步
            cancelApplySync(apply1,user);
            if (status){
                return R.data(200,"取消报名成功");
            }
@@ -439,6 +506,10 @@
                //修改保安报名状态
                user.setIsApply(2);
                userService.updateById(user);
                //取消报名同步
                cancelApplySync(apply1,user);
                if (status){
                    return R.data(200,"取消报名成功");
                }
@@ -470,6 +541,9 @@
                    //修改保安报名状态
                    user.setIsApply(1);
                    userService.updateById(user);
                    //内网数据同步
                    saveApply(apply1,user);
                } else {
                    if (user.getIsApply() != 1) {
                        Apply apply1 = new Apply();
@@ -482,13 +556,15 @@
                        //修改保安报名状态
                        user.setIsApply(1);
                        userService.updateById(user);
                        //内网数据同步
                        saveApply(apply1,user);
                    }
                }
            });
        }else {
            //查询所有未报名的人员
            List<User> users = userService.getNotApplyIdList(deptId);
            System.out.println("users = " + users.size());
            if (users.size()>0){
                users.forEach(user ->{
                    //未报名的新增,已报名的不做处理
@@ -503,6 +579,9 @@
                        //修改保安报名状态
                        user.setIsApply(1);
                        userService.updateById(user);
                        //内网数据同步
                        saveApply(apply1,user);
                    } else {
                        if (user.getIsApply() != 1) {
                            Apply apply1 = new Apply();
@@ -515,6 +594,9 @@
                            //修改保安报名状态
                            user.setIsApply(1);
                            userService.updateById(user);
                            //内网数据同步
                            saveApply(apply1,user);
                        }
                    }
                });
src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java
@@ -1,6 +1,7 @@
package org.springblade.modules.apply.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
@@ -12,6 +13,8 @@
import org.springblade.common.utils.arg;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.api.R;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.FTP.OutJson;
import org.springblade.modules.apply.entity.Apply;
import org.springblade.modules.apply.excel.ApplyExcel;
import org.springblade.modules.apply.excel.ApplyInfoExcel;
@@ -30,9 +33,15 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import static org.springblade.common.constant.FtpConstant.*;
import static org.springblade.common.constant.FtpConstant.fileName;
/**
 * 考试报名服务实现类
@@ -116,6 +125,22 @@
                    //修改保安报名状态
                    user1.setIsApply(1);
                    userService.updateById(user1);
                    String formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
                    Long id = apply1.getId();
                    String s = "insert into sys_apply(id,user_id,apply_time,apply_status,is_exam) " +
                        "values(" + "'" + id + "'" + "," + "'" + apply1.getUserId() + "'" + "," + "'" + formatStr +
                        "'" + "," + "'" + apply1.getApplyStatus() + "'" + "," +"'" + apply1.getIsExam() + "'" + ");" +
                        "update blade_user set is_apply = " + "'" + user1.getIsApply() + "'" +"where id = " + "'" + user1.getId() + "'";
                    String json = JSON.toJSONString(s);
                    OutJson.createJsonFile(json, "d:/", "wsql");
                    FileInputStream in = null;
                    try {
                        in = new FileInputStream(new File("D:\\" + fileName));
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    }
                    FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "/", fileName, in);
                }else {
                    if (user1.getIsApply()!=1) {
                        Apply apply1 = new Apply();
@@ -128,6 +153,23 @@
                        //修改保安报名状态
                        user1.setIsApply(1);
                        userService.updateById(user1);
                        //内网数据同步
                        String formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
                        Long id = apply1.getId();
                        String s = "insert into sys_apply(id,user_id,apply_time,apply_status,is_exam) " +
                            "values(" + "'" + id + "'" + "," + "'" + apply1.getUserId() + "'" + "," + "'" + formatStr +
                            "'" + "," + "'" + apply1.getApplyStatus() + "'" + "," +"'" + apply1.getIsExam() + "'" + ");" +
                            "update blade_user set is_apply = " + "'" + user1.getIsApply() + "'" +"where id = " + "'" + user1.getId() + "'";
                        String json = JSON.toJSONString(s);
                        OutJson.createJsonFile(json, "d:/", "wsql");
                        FileInputStream in = null;
                        try {
                            in = new FileInputStream(new File("D:\\" + fileName));
                        } catch (FileNotFoundException e) {
                            e.printStackTrace();
                        }
                        FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "/", fileName, in);
                    }
                }
            }
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.java
@@ -18,6 +18,7 @@
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.dispatcher.entity.Dispatcher;
import org.springblade.modules.dispatcher.vo.DispatcherUnitVO;
import org.springblade.modules.dispatcher.vo.DispatcherVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -46,4 +47,11 @@
     * @return
     */
    DispatcherVO getDispatcherInfo(@Param("dispatcher")Dispatcher dispatcher);
    /**
     * 派遣记录条数
     * @param dispatcherUnitVO1
     * @return
     */
    Integer getDispatcherCount(@Param("dispatcherUnit")DispatcherUnitVO dispatcherUnitVO1);
}
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml
@@ -15,13 +15,17 @@
    <!--派遣记录分页数据-->
    <select id="selectDispatcherPage" resultType="org.springblade.modules.dispatcher.vo.DispatcherVO">
        select
            sd.*,sd.name securityName,sdu.name dispatcherCompany
            sd.*,bu.real_name securityName,sdu.name dispatcherCompany
        from
            sys_dispatcher sd
        left join
            sys_dispatcher_unit sdu
        on
            sdu.id = sd.dispatcher_unit_id
        left join
            blade_user bu
        on
            bu.id = sd.user_ids
        where 1=1
        <if test="dispatcher.dispatcherUnitId!=null">
            and sd.dispatcher_unit_id = #{dispatcher.dispatcherUnitId}
@@ -65,4 +69,12 @@
        </if>
    </select>
    <!--派遣记录条数-->
    <select id="getDispatcherCount" resultType="java.lang.Integer">
        select ifnull(count(*),0) count from sys_dispatcher
        where
        1=1
        and dispatcher_unit_id #{dispatcherUnitVO1.id}
    </select>
</mapper>
src/main/java/org/springblade/modules/dispatcher/service/IDispatcherService.java
@@ -17,6 +17,7 @@
package org.springblade.modules.dispatcher.service;
import org.springblade.modules.dispatcher.entity.Dispatcher;
import org.springblade.modules.dispatcher.vo.DispatcherUnitVO;
import org.springblade.modules.dispatcher.vo.DispatcherVO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -44,4 +45,11 @@
     * @return
     */
    DispatcherVO getDispatcherInfo(Dispatcher dispatcher);
    /**
     * 派遣记录条数
     * @param dispatcherUnitVO1
     * @return
     */
    Integer getDispatcherCount(DispatcherUnitVO dispatcherUnitVO1);
}
src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java
@@ -18,6 +18,7 @@
import lombok.AllArgsConstructor;
import org.springblade.modules.dispatcher.entity.Dispatcher;
import org.springblade.modules.dispatcher.vo.DispatcherUnitVO;
import org.springblade.modules.dispatcher.vo.DispatcherVO;
import org.springblade.modules.dispatcher.mapper.DispatcherMapper;
import org.springblade.modules.dispatcher.service.IDispatcherService;
@@ -44,26 +45,26 @@
    @Override
    public IPage<DispatcherVO> selectDispatcherPage(IPage<DispatcherVO> page, DispatcherVO dispatcher) {
        List<DispatcherVO> dispatcherVOS = baseMapper.selectDispatcherPage(page, dispatcher);
        if (dispatcherVOS.size()>0){
            dispatcherVOS.forEach(dispatcherVO -> {
                String userIds = dispatcherVO.getUserIds();
                if (!userIds.isEmpty()){
                    String[] userIdArray = userIds.split(",");
                    if (userIdArray.length>0) {
                        StringBuilder builder = new StringBuilder();
                        //查询用户信息
                        for (String userId : userIdArray) {
                            User user = userService.getById(userId);
                            if (null != user) {
                                builder.append(user.getRealName()).append(",");
                            }
                        }
                        String s = builder.toString();
                        dispatcherVO.setSecurityName(s.substring(0,s.length()-1));
                    }
                }
            });
        }
//        if (dispatcherVOS.size()>0){
//            dispatcherVOS.forEach(dispatcherVO -> {
//                String userIds = dispatcherVO.getUserIds();
//                if (!userIds.isEmpty()){
//                    String[] userIdArray = userIds.split(",");
//                    if (userIdArray.length>0) {
//                        StringBuilder builder = new StringBuilder();
//                        //查询用户信息
//                        for (String userId : userIdArray) {
//                            User user = userService.getById(userId);
//                            if (null != user) {
//                                builder.append(user.getRealName()).append(",");
//                            }
//                        }
//                        String s = builder.toString();
//                        dispatcherVO.setSecurityName(s.substring(0,s.length()-1));
//                    }
//                }
//            });
//        }
        return page.setRecords(dispatcherVOS);
    }
@@ -76,4 +77,14 @@
    public DispatcherVO getDispatcherInfo(Dispatcher dispatcher) {
        return baseMapper.getDispatcherInfo(dispatcher);
    }
    /**
     * 派遣记录条数
     * @param dispatcherUnitVO1
     * @return
     */
    @Override
    public Integer getDispatcherCount(DispatcherUnitVO dispatcherUnitVO1) {
        return baseMapper.getDispatcherCount(dispatcherUnitVO1);
    }
}
src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherUnitServiceImpl.java
@@ -18,6 +18,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.springblade.modules.dispatcher.entity.Dispatcher;
import org.springblade.modules.dispatcher.entity.DispatcherUnit;
import org.springblade.modules.dispatcher.mapper.DispatcherMapper;
@@ -37,11 +38,20 @@
 * @since 2021-07-07
 */
@Service
@AllArgsConstructor
public class DispatcherUnitServiceImpl extends ServiceImpl<DispatcherUnitMapper, DispatcherUnit> implements IDispatcherUnitService {
    private final IDispatcherService dispatcherService;
    @Override
    public IPage<DispatcherUnitVO> selectDispatcherUnitPage(IPage<DispatcherUnitVO> page, DispatcherUnitVO dispatcherUnitVO) {
        return page.setRecords(baseMapper.selectDispatcherUnitPage(page, dispatcherUnitVO));
        List<DispatcherUnitVO> dispatcherUnitVOS = baseMapper.selectDispatcherUnitPage(page, dispatcherUnitVO);
        dispatcherUnitVOS.forEach(dispatcherUnitVO1 -> {
            //查询派遣记录条数
            dispatcherUnitVO1.setNum(dispatcherService.getDispatcherCount(dispatcherUnitVO1));
        });
        return page.setRecords(dispatcherUnitVOS);
    }
    /**
src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
@@ -43,6 +43,9 @@
        <if test="examScore.userId!=null and  examScore.userId!=''">
            and es.user_id = #{examScore.userId}
        </if>
        <if test="examScore.deptId!=null and  examScore.deptId!=''">
            and bd.id = #{examScore.deptId}
        </if>
        <if test="examScore.isExam!=null and  examScore.isExam!=''">
            and sa.is_exam = #{examScore.isExam}
        </if>
@@ -99,6 +102,9 @@
        <if test="examScore.userId!=null and  examScore.userId!=''">
            and es.user_id = #{examScore.userId}
        </if>
        <if test="examScore.deptId!=null and  examScore.deptId!=''">
            and bd.id = #{examScore.deptId}
        </if>
        <if test="examScore.isExam!=null and  examScore.isExam!=''">
            and str.is_exam = #{examScore.isExam}
        </if>
src/main/java/org/springblade/modules/exam/vo/ExamScoreVO.java
@@ -46,4 +46,9 @@
     */
    private String account;
    /**
     * 部门id
     */
    private Long deptId;
}
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -493,6 +493,7 @@
        if (Func.isNotEmpty(user.getPassword())) {
            user.setPassword(DigestUtil.encrypt(user.getPassword()));
        }
        user.setTenantId("000000");
        //用户新增
        boolean status = userService.save(user);
        //获取从业记录