智慧保安后台管理-外网项目备份
Administrator
2021-11-30 388c0a460456c3ecd73f9bc62530a0fd162fa0c5
保安员离职已派遣的人员修改为派遣结束
5 files modified
303 ■■■■ changed files
src/main/java/org/springblade/modules/experience/controller/ExperienceController.java 55 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/UserController.java 169 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/IUserService.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java 71 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/experience/controller/ExperienceController.java
@@ -28,12 +28,16 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.experience.entity.Experience;
import org.springblade.modules.experience.service.IExperienceService;
import org.springblade.modules.experience.vo.ExperienceVO;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserService;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Map;
@@ -50,6 +54,9 @@
public class ExperienceController extends BladeController {
    private final IExperienceService experienceService;
    private final IUserService userService;
    /**
     * 详情
@@ -138,7 +145,51 @@
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "新增或修改", notes = "传入experience")
    public R submit(@Valid @RequestBody Experience experience) {
        return R.status(experienceService.saveOrUpdate(experience));
        boolean status = false;
        if (null!=experience.getId()){
            //更新
            status = experienceService.updateById(experience);
            String s1 =
                "update sys_experience set name = " + "'" + experience.getName() + "'"
                    + ",post = " + "'" + experience.getPost() + "'"
                    + ",department = " + "'" + experience.getDepartment() + "'"
                    + ",responsibilities = " + "'" + experience.getResponsibilities() + "'"
                    + ",entryTime = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getEntrytime()) + "'"
                    + ",departureTime = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getDeparturetime()) + "'"
                    + ",leaving = " + "'" + experience.getLeaving() + "'"
                    + ",cardId = " + "'" + experience.getCardid() + "'"
                    + ",companyname = " + "'" + experience.getCompanyname() + "'"
                    + ",securityId = " + "'" + experience.getSecurityid() + "'"
                    + " " + "where id = " + "'" + experience.getId() + "'";
            FtpUtil.sqlFileUpload(s1);
        }else {
            //新增
            //查询用户身份证号
            User user = userService.getById(experience.getSecurityid());
            experience.setCardid(user.getCardid());
            experience.setName(user.getRealName());
            status = experienceService.save(experience);
            //内网同步
            String s = "insert into sys_experience(id,name,post,department,responsibilities,entryTime,departureTime,leaving," +
                "cardId,companyname,securityId) " +
                "values(" + "'" + experience.getId() + "'" + "," +
                "'" + experience.getName() + "'" + "," +
                "'" + experience.getPost() + "'" + "," +
                "'" + experience.getDepartment() + "'" + "," +
                "'" + experience.getResponsibilities() + "'" + "," +
                "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getEntrytime()) + "'" +
                "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getDeparturetime()) + "'" +
                "," + "'" + experience.getLeaving() + "'" +
                "," + "'" + experience.getCardid() + "'" +
                "," + "'" + experience.getCompanyname() + "'" +
                "," + "'" + experience.getSecurityid() + "'"
                + ")";
            FtpUtil.sqlFileUpload(s);
        }
        return R.status(status);
    }
@@ -154,7 +205,7 @@
    /**
     * 保安就业记录
     * @param cardid 身份证
     * @param securityid 身份证
     * @return
     */
    @GetMapping("/selectExperienceInfo")
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -308,12 +308,65 @@
                    dispatcherList.forEach(dispatcher1 -> {
                        dispatcher1.setStatus(1);
                        dispatcher1.setUpdateTime(new Date());
                        dispatcherService.updateById(dispatcher1);
                        String s1 =
                            "update sys_dispatcher set status = " + "'" + dispatcher1.getStatus() + "'"
                                + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher1.getUpdateTime()) + "'"
                                + " " + "where id = " + "'" + dispatcher1.getId() + "'";
                        FtpUtil.sqlFileUpload(s1);
                    });
                }
                //查询当前用户是否有从业记录,没有的话新增,有就更新
                //根据公司名查询单位
                Dept dept = iDeptService.getById(user.getDeptId());
                Experience experience = new Experience();
                experience.setCompanyname(dept.getDeptName());
                experience.setCardid(user.getCardid());
                //按id降序
                List<Experience> list = experienceService.list(Condition.getQueryWrapper(experience).orderByDesc("id"));
                if (list.size()>0){
                    //如果有多条取第一条更新
                    Experience experience1 = list.get(0);
                    //设置离职时间
                    experience1.setDeparturetime(new Date());
                    //更新从业记录信息
                    experienceService.updateById(experience1);
                    //数据同步
                    String s1 =
                        "update sys_experience set departureTime = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience1.getDeparturetime()) + "'"
                            + " " + "where id = " + "'" + experience1.getId() + "'";
                    FtpUtil.sqlFileUpload(s1);
                }else {
                    //新增
                    if (null!=user.getRtime()){
                        experience.setEntrytime(user.getRtime());
                    }else {
                        experience.setEntrytime(new Date());
                    }
                    experience.setDeparturetime(new Date());
                    experience.setName(user.getRealName());
                    if (null!=user.getReasonForLeav() && !user.getReasonForLeav().equals("")){
                        experience.setLeaving(user.getReasonForLeav());
                    }
                    experience.setCardid(user.getCardid());
                    experience.setSecurityid(user.getId().toString());
                    //新增
                    experienceService.save(experience);
                    //内网同步
                    String s = "insert into sys_experience(id,name,entryTime,departureTime,leaving,cardId,companyname,securityId) " +
                        "values(" + "'" + experience.getId() + "'" +
                        "," + "'" + experience.getName() + "'" +
                        "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getEntrytime()) + "'" +
                        "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getDeparturetime()) + "'" +
                        "," + "'" + experience.getLeaving() + "'" +
                        "," + "'" + experience.getCardid() + "'" +
                        "," + "'" + experience.getCompanyname() + "'" +
                        "," + "'" + experience.getSecurityid() + "'"
                        + ")";
                    FtpUtil.sqlFileUpload(s);
                }
            }
        }
@@ -922,6 +975,9 @@
                            String s1 = "update blade_user set status = " + user2.getStatus() +
                                " where id = " + "'" + user2.getId() + "'";
                            FtpUtil.sqlFileUpload(s1);
                            //人员离职后修改派遣记录,修改从业记录
                            updateUserDispatcherExp(user);
                        }else {
                            throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount()));
                        }
@@ -962,19 +1018,34 @@
        user.setTenantId("000000");
        //用户新增
        boolean status = userService.save(user);
        //从业记录新增
        Experience experience = new Experience();
        String rtime;
        String paperTime;
        if (user.getRtime() == null) {
            rtime = null;
        } else {
            rtime = new SimpleDateFormat("yyyy-MM-dd").format(user.getRtime());
            experience.setEntrytime(user.getRtime());
        }
        Dept dept = iDeptService.getById(user.getDeptId());
        experience.setCardid(user.getCardid());
        experience.setSecurityid(user.getId().toString());
        experience.setCompanyname(dept.getDeptName());
        experience.setName(user.getRealName());
        experience.setPost("保安员");
        experienceService.save(experience);
        //发证日期处理
        if (user.getPaperTime() == null) {
            paperTime = "";
        } else {
            paperTime = new SimpleDateFormat("yyyy-MM-dd").format(user.getPaperTime());
        }
//        if (user.getPaperTime() == null) {
//            paperTime = "";
//        } else {
//            paperTime = new SimpleDateFormat("yyyy-MM-dd").format(user.getPaperTime());
//        }
        //头像
        if (null!=user.getAvatar() && !user.getAvatar().equals("")) {
            user.setAvatar(FtpConfig.ip + user.getAvatar().substring(26));
@@ -1016,7 +1087,17 @@
            "," + "'" + user.getIsDeleted() + "'" +
            "," + "'" + user.getDispatch() + "'" +
            "," + "'" + user.getGuncode() + "'" +
            "," + "'" + user.getCell() + "'" + ")";
            "," + "'" + user.getCell() + "'" + ");"+
        "insert into sys_experience(id,name,post,entryTime," +
            "cardId,companyname,securityId) " +
            "values(" + "'" + experience.getId() + "'" + "," +
            "'" + experience.getName() + "'" + "," +
            "'" + experience.getPost() + "'" + "," +
            "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getEntrytime()) + "'" +
            "," + "'" + experience.getCardid() + "'" +
            "," + "'" + experience.getCompanyname() + "'" +
            "," + "'" + experience.getSecurityid() + "'"
            + ")";
        FtpUtil.sqlFileUpload(s);
        //获取从业记录
@@ -1037,6 +1118,82 @@
        return R.status(status);
    }
    /**
     * 修改派遣记录,修改从业记录
     * @param user
     */
    private void updateUserDispatcherExp(User user) {
        //修改派遣状态
        user.setDispatch("1");
        //同时将派遣记录中的派遣状态修改
        //查询派遣记录(还在派遣中的)
        Dispatcher dispatcher = new Dispatcher();
        dispatcher.setUserIds(user.getId().toString());
        dispatcher.setStatus(0);
        List<Dispatcher> dispatcherList = dispatcherService.list(Condition.getQueryWrapper(dispatcher));
        if (dispatcherList.size()>0){
            dispatcherList.forEach(dispatcher1 -> {
                dispatcher1.setStatus(1);
                dispatcher1.setUpdateTime(new Date());
                String s1 =
                    "update sys_dispatcher set status = " + "'" + dispatcher1.getStatus() + "'"
                        + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher1.getUpdateTime()) + "'"
                        + " " + "where id = " + "'" + dispatcher1.getId() + "'";
                FtpUtil.sqlFileUpload(s1);
            });
        }
        //查询当前用户是否有从业记录,没有的话新增,有就更新
        //根据公司名查询单位
        Dept dept = iDeptService.getById(user.getDeptId());
        Experience experience = new Experience();
        experience.setCompanyname(dept.getDeptName());
        //按id降序
        List<Experience> list = experienceService.list(Condition.getQueryWrapper(experience).orderByDesc("id"));
        if (list.size()>0){
            //如果有多条取第一条更新
            Experience experience1 = list.get(0);
            //设置离职时间
            experience1.setDeparturetime(new Date());
            //更新从业记录信息
            experienceService.updateById(experience1);
            //数据同步
            String s1 =
                "update sys_experience set departureTime = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience1.getDeparturetime()) + "'"
                    + " " + "where id = " + "'" + experience1.getId() + "'";
            FtpUtil.sqlFileUpload(s1);
        }else {
            //新增
            if (null!=user.getRtime()){
                experience.setEntrytime(user.getRtime());
            }else {
                experience.setEntrytime(new Date());
            }
            experience.setDeparturetime(new Date());
            experience.setName(user.getRealName());
            if (null!=user.getReasonForLeav() && !user.getReasonForLeav().equals("")){
                experience.setLeaving(user.getReasonForLeav());
            }
            experience.setCardid(user.getCardid());
            experience.setSecurityid(user.getId().toString());
            //新增
            experienceService.save(experience);
            //内网同步
            String s = "insert into sys_experience(id,name,entryTime,departureTime,leaving,cardId,companyname,securityId) " +
                "values(" + "'" + experience.getId() + "'" + "," +
                "'" + experience.getName() + "'" + "," +
                "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getEntrytime()) + "'" +
                "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getDeparturetime()) + "'" +
                "," + "'" + experience.getLeaving() + "'" +
                "," + "'" + experience.getCardid() + "'" +
                "," + "'" + experience.getCompanyname() + "'" +
                "," + "'" + experience.getSecurityid() + "'"
                + ")";
            FtpUtil.sqlFileUpload(s);
        }
    }
    /**
     * 保安员信息
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -682,6 +682,7 @@
    <!--导出保安员信息-->
    <select id="exportSecurityInfo" resultType="org.springblade.modules.system.excel.SecurityExcel">
        select
        distinct bu.id,
        bd.dept_name deptId,
        bu.real_name realName,
        bu.phone,
src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -292,6 +292,13 @@
     * @param isCovered
     */
    void importSecurity(List<SecurityExcel> data, Boolean isCovered, String deptId);
    /**
     * 押运人员导入
     * @param data
     * @param isCovered
     * @param deptId
     */
    void importSecurityYy(List<SecurityYyExcel> data, Boolean isCovered, String deptId);
    /**
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -44,6 +44,8 @@
import org.springblade.modules.accreditation.service.AccreditationRecordsService;
import org.springblade.modules.auth.enums.UserEnum;
import org.springblade.modules.dispatcher.vo.DispatcherVO;
import org.springblade.modules.experience.entity.Experience;
import org.springblade.modules.experience.service.IExperienceService;
import org.springblade.modules.information.entity.Information;
import org.springblade.modules.information.service.IInformationService;
import org.springblade.modules.jurisdiction.entity.Jurisdiction;
@@ -89,7 +91,7 @@
    private final IInformationService iInformationService;
    private final IDeptService deptService;
    private final JurisdictionService jurisdictionService;
    private final AccreditationRecordsService accreditationRecordsService;
    private final IExperienceService experienceService;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -901,6 +903,18 @@
                    }
                    //新增
                    this.save(user);
                    //从业记录新增
                    Experience experience = new Experience();
                    experience.setCardid(user.getCardid());
                    experience.setSecurityid(user.getId().toString());
                    experience.setCompanyname(userExcel.getDeptId());
                    experience.setName(user.getRealName());
                    experience.setPost("保安员");
                    experience.setEntrytime(new Date());
                    experienceService.save(experience);
                    //内网同步
                    String s = "insert into blade_user(" +
                        "id,tenant_id,account,password,name,real_name,avatar,email,phone,sex," +
@@ -935,7 +949,17 @@
                        "," + "'" + user.getExaminationType() + "'" +
                        "," + "'" + user.getStatus() + "'" +
                        "," + "'" + user.getIsDeleted() + "'" +
                        "," + "'" + user.getDispatch() + "'" + ")";
                        "," + "'" + user.getDispatch() + "'" + ");"+
                    "insert into sys_experience(id,name,post,entryTime," +
                        "cardId,companyname,securityId) " +
                        "values(" + "'" + experience.getId() + "'" + "," +
                        "'" + experience.getName() + "'" + "," +
                        "'" + experience.getPost() + "'" + "," +
                        "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getEntrytime()) + "'" +
                        "," + "'" + experience.getCardid() + "'" +
                        "," + "'" + experience.getCompanyname() + "'" +
                        "," + "'" + experience.getSecurityid() + "'"
                        + ")";
                    FtpUtil.sqlFileUpload(s);
//                }else {
//                    agetStatus.set(false);
@@ -1132,27 +1156,18 @@
                }
                //新增
                this.save(user);
                //从业记录新增
                Experience experience = new Experience();
                experience.setCardid(user.getCardid());
                experience.setSecurityid(user.getId().toString());
                experience.setCompanyname(userExcel.getDeptId());
                experience.setName(user.getRealName());
                experience.setPost("保安员");
                experience.setEntrytime(new Date());
                experienceService.save(experience);
                //内网同步
//                String s = "insert into blade_user(" +
//                    "id,tenant_id,account,password,real_name,phone,sex,role_id,dept_id," +
//                    "cardid,nation,registered,securitynumber,hold,status,is_deleted) " +
//                    "values(" + "'" + user.getId() + "'" + "," +
//                    "'" + user.getTenantId() + "'" + "," +
//                    "'" + user.getAccount() + "'" + "," +
//                    "'" + user.getPassword() + "'" + "," +
//                    "'" + user.getRealName() + "'" + "," +
//                    "'" + user.getPhone() + "'" + "," +
//                    "'" + user.getSex() + "'" + "," +
//                    "'" + user.getRoleId() + "'" +
//                    "," + "'" + user.getDeptId() + "'" +
//                    "," + "'" + user.getCardid() + "'" +
//                    "," + "'" + user.getNation() + "'" +
//                    "," + "'" + user.getRegistered() + "'" +
//                    "," + "'" + user.getSecuritynumber() + "'" +
//                    "," + "'" + user.getHold() + "'" +
//                    "," + "'" + user.getStatus() + "'" +
//                    "," + "'" + user.getIsDeleted() + "'"
//                    + ")";
                String s = "insert into blade_user(" +
                    "id,tenant_id,account,password,name,real_name,avatar,email,phone,sex," +
                    "role_id,dept_id,cardid,nativePlace,nation,fingerprint,education," +
@@ -1187,7 +1202,17 @@
                    "," + "'" + user.getStatus() + "'" +
                    "," + "'" + user.getIsDeleted() + "'" +
                    "," + "'" + user.getIsDeleted() + "'" +
                    "," + "'" + user.getGuncode() + "'" + ")";
                    "," + "'" + user.getGuncode() + "'" + ");"+
                "insert into sys_experience(id,name,post,entryTime," +
                    "cardId,companyname,securityId) " +
                    "values(" + "'" + experience.getId() + "'" + "," +
                    "'" + experience.getName() + "'" + "," +
                    "'" + experience.getPost() + "'" + "," +
                    "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getEntrytime()) + "'" +
                    "," + "'" + experience.getCardid() + "'" +
                    "," + "'" + experience.getCompanyname() + "'" +
                    "," + "'" + experience.getSecurityid() + "'"
                    + ")";
                FtpUtil.sqlFileUpload(s);
            }
            else {