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
* @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);
}

View File

@ -54,7 +54,7 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService {
//查询合同工资卡是否齐全
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());
//删除实时在场

View File

@ -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<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();
//如果是以前被删除的人员自动恢复以前的数据
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<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());
}
@ -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<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)) {
//是否以前人员但被删除了
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("<br/>").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("<br/>").append(successNum).append("、施工人员信息 ").append(worker.getName()).append(" 更新成功");
} else {
failureNum++;
failureMsg.append("<br/>").append(failureNum).append("、施工人员信息 ").append(worker.getName()).append(" 已存在");
}else{
// 验证是否存在这个用户
// 添加员工时判断员工编号是否已存在
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) {
failureNum++;

View File

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