bug修改提交

This commit is contained in:
方亮 2025-08-29 13:05:34 +08:00
parent 4d3d900f2d
commit 44b6a5752b
4 changed files with 93 additions and 54 deletions

View File

@ -47,7 +47,7 @@ public interface PmWorkerMapper {
* @param idNumber * @param idNumber
* @return * @return
*/ */
PmWorker getWorkerByNumber(String idNumber); PmWorker getWorkerByNumber(@Param("idNumber") String idNumber, @Param("isActive") Integer isActive);
/** /**
* 插入入场实时数据信息 * 插入入场实时数据信息
@ -120,4 +120,12 @@ public interface PmWorkerMapper {
* @return * @return
*/ */
PmWorker getWorkerByPhone(@Param("phone") String phone,@Param("idNumber") String idNumber); PmWorker getWorkerByPhone(@Param("phone") String phone,@Param("idNumber") String idNumber);
/**
* 更新人员状态
*
* @param id
* @param isActive
*/
void updateIsActiveById(@Param("id") Integer id, @Param("isActive") int isActive);
} }

View File

@ -54,7 +54,7 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService {
//查询合同工资卡是否齐全 //查询合同工资卡是否齐全
List<MapBeanVo> list = mapper.getContractIdAndWageCard(record.getWorkerId()); List<MapBeanVo> 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()); int m = contractService.deleteByWorkerId(record.getWorkerId());
//删除实时在场 //删除实时在场

View File

@ -75,34 +75,50 @@ public class PmWorkerServiceImpl implements PmWorkerService{
if(worker2 != null && worker2.getName() != null){ if(worker2 != null && worker2.getName() != null){
return new AjaxResult(500, worker2.getName()+"施工人员在失信人员名单,无法入场"); return new AjaxResult(500, worker2.getName()+"施工人员在失信人员名单,无法入场");
} }
// 添加员工时判断员工编号是否已存在 //如果是以前被删除的人员自动恢复以前的数据
PmWorker worker = mapper.getWorkerByNumber(record.getIdNumber()); PmWorker delWorker = mapper.getWorkerByNumber(record.getIdNumber(), 0);
if(worker != null && worker.getId() != null){ if(delWorker != null && delWorker.getId() != null){
return new AjaxResult(500, "施工人员身份证已存在,当前系统姓名为"+worker.getName()+"如果想入场请去修改数据即可"); // 添加员工时判断员工编号是否已存在
} PmWorker worker3 = mapper.getWorkerByPhone(record.getPhone(),record.getIdNumber());
// 添加员工时判断员工编号是否已存在 if(worker3 != null && worker3.getName() != null){
PmWorker worker3 = mapper.getWorkerByPhone(record.getPhone(),record.getIdNumber()); return new AjaxResult(500, "注册的手机号已存在,手机号拥有者姓名为"+worker3.getName()+",请去确认手机号是否有误");
if(worker3 != null && worker3.getName() != null){ }
return new AjaxResult(500, "注册的手机号已存在,手机号拥有者姓名为"+worker3.getName()+",请去确认手机号是否有误"); mapper.updateIsActiveById(delWorker.getId(),1);
} record.setId(delWorker.getId());
record.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getUserName()); record.setEinStatus(0);
int insert = mapper.insert(record); //将数据还原并去修改
if(insert > 0){ updateByPrimaryKey(record,fileMsg);
List<WebFileDto> collect = fileMsg.stream().filter(data -> "faceImg".equals(data.getName())).collect(Collectors.toList()); }else {
//组装数据 // 添加员工时判断员工编号是否已存在
MultipartFile[] workerFiles = new MultipartFile[collect.size()]; PmWorker worker = mapper.getWorkerByNumber(record.getIdNumber(), 1);
String[] type = new String[collect.size()]; if(worker != null && worker.getId() != null){
for (int i = 0; i < collect.size(); i++) { return new AjaxResult(500, "施工人员身份证已存在,当前系统姓名为"+worker.getName()+"如果想入场请去修改数据即可");
workerFiles[i] = collect.get(i).getFile(); }
type[i] = collect.get(i).getType(); // 添加员工时判断员工编号是否已存在
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<WebFileDto> 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<UploadFileVo> uploadFileVos = fileUploadUtils.uploadFile(workerFiles, Constants.FILE_UPLOAD_WORKER, record.getId().toString(), type,"", "");
//入场相关数据添加
addWorkerEinData(record,fileMsg);
//下发人脸到考勤机
urkSendService.sendUserToDevice(record.getId(),record.getProId(),"0");
} }
//人脸的数据添加
List<UploadFileVo> 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()); return new AjaxResult(200, "添加成功",record.getId());
} }
@ -248,34 +264,47 @@ public class PmWorkerServiceImpl implements PmWorkerService{
StringBuilder failureMsg = new StringBuilder(); StringBuilder failureMsg = new StringBuilder();
for (PmWorker worker : workerList) { for (PmWorker worker : workerList) {
try { try {
// 验证是否存在这个用户 //是否以前人员但被删除了
// 添加员工时判断员工编号是否已存在 PmWorker delWorker = mapper.getWorkerByNumber(worker.getIdNumber(),0);
PmWorker w = mapper.getWorkerByNumber(worker.getIdNumber()); if(delWorker.getId() != null){
Map<String, Object> idCardInfo = getIdCardInfo(worker.getIdNumber()); mapper.updateIsActiveById(delWorker.getId(),1);
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); BeanValidators.validateWithException(validator, worker);
worker.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getUserName()); worker.setId(delWorker.getId());
mapper.insertBasicWorkerData(worker); worker.setEinStatus(0);
successNum++;
successMsg.append("<br/>").append(successNum).append("、施工人员信息 ").append(worker.getName()).append(" 导入成功");
} else if (isUpdateSupport) {
BeanValidators.validateWithException(validator, worker);
worker.setId(w.getId());
worker.setUpdateUser(SecurityUtils.getLoginUser().getSysUser().getUserName()); worker.setUpdateUser(SecurityUtils.getLoginUser().getSysUser().getUserName());
mapper.updateBasicWorkerData(worker); mapper.updateBasicWorkerData(worker);
successNum++; successNum++;
successMsg.append("<br/>").append(successNum).append("、施工人员信息 ").append(worker.getName()).append(" 更新成功"); successMsg.append("<br/>").append(successNum).append("、施工人员信息 ").append(worker.getName()).append(" 更新成功");
} else { }else{
failureNum++; // 验证是否存在这个用户
failureMsg.append("<br/>").append(failureNum).append("、施工人员信息 ").append(worker.getName()).append(" 已存在"); // 添加员工时判断员工编号是否已存在
PmWorker w = mapper.getWorkerByNumber(worker.getIdNumber(),1);
Map<String, Object> 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("<br/>").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("<br/>").append(successNum).append("、施工人员信息 ").append(worker.getName()).append(" 更新成功");
} else {
failureNum++;
failureMsg.append("<br/>").append(failureNum).append("、施工人员信息 ").append(worker.getName()).append(" 已存在");
}
} }
} catch (Exception e) { } catch (Exception e) {
failureNum++; failureNum++;

View File

@ -117,7 +117,7 @@
FROM FROM
pm_worker pw pm_worker pw
WHERE WHERE
pw.id_number = #{idNumber} and pw.is_active = 1 pw.id_number = #{idNumber} and pw.is_active = #{isActive}
</select> </select>
<insert id="insertEinMsg"> <insert id="insertEinMsg">
@ -255,10 +255,12 @@
pm_worker pw pm_worker pw
WHERE WHERE
pw.phone = #{phone} and pw.is_active = 1 pw.phone = #{phone} and pw.is_active = 1
<where>
<if test="idNumber != null and idNumber != ''"> <if test="idNumber != null and idNumber != ''">
AND pw.id_number != #{idNumber} AND pw.id_number != #{idNumber}
</if> </if>
</where>
</select> </select>
<update id="updateIsActiveById">
update pm_worker set is_active = #{isActive} where id = #{id}
</update>
</mapper> </mapper>