From 44b6a5752bfc02be0e51f56637487a4e94e10d1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E4=BA=AE?= Date: Fri, 29 Aug 2025 13:05:34 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/bmw/mapper/PmWorkerMapper.java | 10 +- .../service/impl/PmWorkerExitServiceImpl.java | 2 +- .../bmw/service/impl/PmWorkerServiceImpl.java | 127 +++++++++++------- .../resources/mapper/bmw/PmWorkerMapper.xml | 8 +- 4 files changed, 93 insertions(+), 54 deletions(-) diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java index 9d4a2f6..863b639 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java @@ -47,7 +47,7 @@ public interface PmWorkerMapper { * @param idNumber * @return */ - PmWorker getWorkerByNumber(String idNumber); + PmWorker getWorkerByNumber(@Param("idNumber") String idNumber, @Param("isActive") Integer isActive); /** * 插入入场实时数据信息 @@ -120,4 +120,12 @@ public interface PmWorkerMapper { * @return */ PmWorker getWorkerByPhone(@Param("phone") String phone,@Param("idNumber") String idNumber); + + /** + * 更新人员状态 + * + * @param id + * @param isActive + */ + void updateIsActiveById(@Param("id") Integer id, @Param("isActive") int isActive); } \ No newline at end of file diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerExitServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerExitServiceImpl.java index 9f4a001..3c139fc 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerExitServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerExitServiceImpl.java @@ -54,7 +54,7 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService { //查询合同工资卡是否齐全 List list = mapper.getContractIdAndWageCard(record.getWorkerId()); - if(Integer.parseInt(list.get(0).getValue())>1 && Integer.parseInt(list.get(1).getValue())>1){ + if(Integer.parseInt(list.get(0).getValue())>0 && Integer.parseInt(list.get(1).getValue())>0){ //删除合同 int m = contractService.deleteByWorkerId(record.getWorkerId()); //删除实时在场 diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java index 9518e62..d1b684e 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java @@ -75,34 +75,50 @@ public class PmWorkerServiceImpl implements PmWorkerService{ if(worker2 != null && worker2.getName() != null){ return new AjaxResult(500, worker2.getName()+"施工人员在失信人员名单,无法入场"); } - // 添加员工时,判断员工编号是否已存在 - PmWorker worker = mapper.getWorkerByNumber(record.getIdNumber()); - if(worker != null && worker.getId() != null){ - return new AjaxResult(500, "施工人员身份证已存在,当前系统姓名为"+worker.getName()+"如果想入场请去修改数据即可"); - } - // 添加员工时,判断员工编号是否已存在 - PmWorker worker3 = mapper.getWorkerByPhone(record.getPhone(),record.getIdNumber()); - if(worker3 != null && worker3.getName() != null){ - return new AjaxResult(500, "注册的手机号已存在,手机号拥有者姓名为"+worker3.getName()+",请去确认手机号是否有误"); - } - record.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getUserName()); - int insert = mapper.insert(record); - if(insert > 0){ - List collect = fileMsg.stream().filter(data -> "faceImg".equals(data.getName())).collect(Collectors.toList()); - //组装数据 - MultipartFile[] workerFiles = new MultipartFile[collect.size()]; - String[] type = new String[collect.size()]; - for (int i = 0; i < collect.size(); i++) { - workerFiles[i] = collect.get(i).getFile(); - type[i] = collect.get(i).getType(); + //如果是以前被删除的人员,自动恢复以前的数据 + PmWorker delWorker = mapper.getWorkerByNumber(record.getIdNumber(), 0); + if(delWorker != null && delWorker.getId() != null){ + // 添加员工时,判断员工编号是否已存在 + PmWorker worker3 = mapper.getWorkerByPhone(record.getPhone(),record.getIdNumber()); + if(worker3 != null && worker3.getName() != null){ + return new AjaxResult(500, "注册的手机号已存在,手机号拥有者姓名为"+worker3.getName()+",请去确认手机号是否有误"); + } + mapper.updateIsActiveById(delWorker.getId(),1); + record.setId(delWorker.getId()); + record.setEinStatus(0); + //将数据还原,并去修改 + updateByPrimaryKey(record,fileMsg); + }else { + // 添加员工时,判断员工编号是否已存在 + PmWorker worker = mapper.getWorkerByNumber(record.getIdNumber(), 1); + if(worker != null && worker.getId() != null){ + return new AjaxResult(500, "施工人员身份证已存在,当前系统姓名为"+worker.getName()+"如果想入场请去修改数据即可"); + } + // 添加员工时,判断员工编号是否已存在 + PmWorker worker3 = mapper.getWorkerByPhone(record.getPhone(),record.getIdNumber()); + if(worker3 != null && worker3.getName() != null){ + return new AjaxResult(500, "注册的手机号已存在,手机号拥有者姓名为"+worker3.getName()+",请去确认手机号是否有误"); + } + record.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getUserName()); + int insert = mapper.insert(record); + if(insert > 0){ + List collect = fileMsg.stream().filter(data -> "faceImg".equals(data.getName())).collect(Collectors.toList()); + //组装数据 + MultipartFile[] workerFiles = new MultipartFile[collect.size()]; + String[] type = new String[collect.size()]; + for (int i = 0; i < collect.size(); i++) { + workerFiles[i] = collect.get(i).getFile(); + type[i] = collect.get(i).getType(); + } + //人脸的数据添加 + List uploadFileVos = fileUploadUtils.uploadFile(workerFiles, Constants.FILE_UPLOAD_WORKER, record.getId().toString(), type,"", ""); + //入场相关数据添加 + addWorkerEinData(record,fileMsg); + //下发人脸到考勤机 + urkSendService.sendUserToDevice(record.getId(),record.getProId(),"0"); } - //人脸的数据添加 - List uploadFileVos = fileUploadUtils.uploadFile(workerFiles, Constants.FILE_UPLOAD_WORKER, record.getId().toString(), type,"", ""); - //入场相关数据添加 - addWorkerEinData(record,fileMsg); - //下发人脸到考勤机 - urkSendService.sendUserToDevice(record.getId(),record.getProId(),"0"); } + return new AjaxResult(200, "添加成功",record.getId()); } @@ -248,34 +264,47 @@ public class PmWorkerServiceImpl implements PmWorkerService{ StringBuilder failureMsg = new StringBuilder(); for (PmWorker worker : workerList) { try { - // 验证是否存在这个用户 - // 添加员工时,判断员工编号是否已存在 - PmWorker w = mapper.getWorkerByNumber(worker.getIdNumber()); - Map idCardInfo = getIdCardInfo(worker.getIdNumber()); - if (idCardInfo == null) { - failureMsg.insert(0, "导入失败!第 " + (workerList.indexOf(worker) + 1) + " 行数据身份证号码格式不正确!"); - continue; - }else { - worker.setSex(idCardInfo.get("sex").toString()); - worker.setAge(Integer.parseInt(idCardInfo.get("age").toString())); - worker.setBirthday(idCardInfo.get("birthday").toString()); - } - if (StringUtils.isNull(w)) { + //是否以前人员,但被删除了 + PmWorker delWorker = mapper.getWorkerByNumber(worker.getIdNumber(),0); + if(delWorker.getId() != null){ + mapper.updateIsActiveById(delWorker.getId(),1); BeanValidators.validateWithException(validator, worker); - worker.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getUserName()); - mapper.insertBasicWorkerData(worker); - successNum++; - successMsg.append("
").append(successNum).append("、施工人员信息 ").append(worker.getName()).append(" 导入成功"); - } else if (isUpdateSupport) { - BeanValidators.validateWithException(validator, worker); - worker.setId(w.getId()); + worker.setId(delWorker.getId()); + worker.setEinStatus(0); worker.setUpdateUser(SecurityUtils.getLoginUser().getSysUser().getUserName()); mapper.updateBasicWorkerData(worker); successNum++; successMsg.append("
").append(successNum).append("、施工人员信息 ").append(worker.getName()).append(" 更新成功"); - } else { - failureNum++; - failureMsg.append("
").append(failureNum).append("、施工人员信息 ").append(worker.getName()).append(" 已存在"); + }else{ + // 验证是否存在这个用户 + // 添加员工时,判断员工编号是否已存在 + PmWorker w = mapper.getWorkerByNumber(worker.getIdNumber(),1); + Map idCardInfo = getIdCardInfo(worker.getIdNumber()); + if (idCardInfo == null) { + failureMsg.insert(0, "导入失败!第 " + (workerList.indexOf(worker) + 1) + " 行数据身份证号码格式不正确!"); + continue; + }else { + worker.setSex(idCardInfo.get("sex").toString()); + worker.setAge(Integer.parseInt(idCardInfo.get("age").toString())); + worker.setBirthday(idCardInfo.get("birthday").toString()); + } + if (StringUtils.isNull(w)) { + BeanValidators.validateWithException(validator, worker); + worker.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getUserName()); + mapper.insertBasicWorkerData(worker); + successNum++; + successMsg.append("
").append(successNum).append("、施工人员信息 ").append(worker.getName()).append(" 导入成功"); + } else if (isUpdateSupport) { + BeanValidators.validateWithException(validator, worker); + worker.setId(w.getId()); + worker.setUpdateUser(SecurityUtils.getLoginUser().getSysUser().getUserName()); + mapper.updateBasicWorkerData(worker); + successNum++; + successMsg.append("
").append(successNum).append("、施工人员信息 ").append(worker.getName()).append(" 更新成功"); + } else { + failureNum++; + failureMsg.append("
").append(failureNum).append("、施工人员信息 ").append(worker.getName()).append(" 已存在"); + } } } catch (Exception e) { failureNum++; diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml index e83a7d7..99551b6 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml @@ -117,7 +117,7 @@ FROM pm_worker pw WHERE - pw.id_number = #{idNumber} and pw.is_active = 1 + pw.id_number = #{idNumber} and pw.is_active = #{isActive} @@ -255,10 +255,12 @@ pm_worker pw WHERE pw.phone = #{phone} and pw.is_active = 1 - AND pw.id_number != #{idNumber} - + + + update pm_worker set is_active = #{isActive} where id = #{id} + \ No newline at end of file