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,8 +75,22 @@ public class PmWorkerServiceImpl implements PmWorkerService{
if(worker2 != null && worker2.getName() != null){
return new AjaxResult(500, worker2.getName()+"施工人员在失信人员名单,无法入场");
}
//如果是以前被删除的人员自动恢复以前的数据
PmWorker delWorker = mapper.getWorkerByNumber(record.getIdNumber(), 0);
if(delWorker != null && delWorker.getId() != null){
// 添加员工时判断员工编号是否已存在
PmWorker worker = mapper.getWorkerByNumber(record.getIdNumber());
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()+"如果想入场请去修改数据即可");
}
@ -103,6 +117,8 @@ public class PmWorkerServiceImpl implements PmWorkerService{
//下发人脸到考勤机
urkSendService.sendUserToDevice(record.getId(),record.getProId(),"0");
}
}
return new AjaxResult(200, "添加成功",record.getId());
}
@ -248,9 +264,21 @@ public class PmWorkerServiceImpl implements PmWorkerService{
StringBuilder failureMsg = new StringBuilder();
for (PmWorker worker : workerList) {
try {
//是否以前人员但被删除了
PmWorker delWorker = mapper.getWorkerByNumber(worker.getIdNumber(),0);
if(delWorker.getId() != null){
mapper.updateIsActiveById(delWorker.getId(),1);
BeanValidators.validateWithException(validator, worker);
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{
// 验证是否存在这个用户
// 添加员工时判断员工编号是否已存在
PmWorker w = mapper.getWorkerByNumber(worker.getIdNumber());
PmWorker w = mapper.getWorkerByNumber(worker.getIdNumber(),1);
Map<String, Object> idCardInfo = getIdCardInfo(worker.getIdNumber());
if (idCardInfo == null) {
failureMsg.insert(0, "导入失败!第 " + (workerList.indexOf(worker) + 1) + " 行数据身份证号码格式不正确!");
@ -277,6 +305,7 @@ public class PmWorkerServiceImpl implements PmWorkerService{
failureNum++;
failureMsg.append("<br/>").append(failureNum).append("、施工人员信息 ").append(worker.getName()).append(" 已存在");
}
}
} catch (Exception e) {
failureNum++;
String msg = "<br/>" + failureNum + "、施工人员信息 " + worker.getName() + " 导入失败:";

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>