diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerExitMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerExitMapper.java index bd60b24..752b349 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerExitMapper.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerExitMapper.java @@ -33,7 +33,7 @@ public interface PmWorkerExitMapper { * @param einStatus * @return */ - int updateEinProRecordStatus(@Param("id") Integer id,@Param("einStatus") Integer einStatus,@Param("isUploadFile") Integer isUploadFile,@Param("exitWay") String exitWay,@Param("isLast") String isLast); + int updateEinProRecordStatus(@Param("id") Integer id,@Param("einStatus") Integer einStatus,@Param("isUploadFile") Integer isUploadFile,@Param("exitWay") String exitWay); List selectWorkListByWorkerId(PmWorkerDto o); 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 f37ee8a..dbe0c8f 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 @@ -81,7 +81,7 @@ public interface PmWorkerMapper { * @param id * @return */ - void updateEinRecordLast(Integer id); + void updateEinRecordLast(PmWorker o); /** * update record diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/AppServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/AppServiceImpl.java index c2e18f6..2f2f725 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/AppServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/AppServiceImpl.java @@ -241,7 +241,7 @@ public class AppServiceImpl implements AppService { addWorkerWageCardDataAndContract(record); }else { //重新入场 再入场,清除最新标识 - pmWorkerMapper.updateEinRecordLast(record.getId()); + pmWorkerMapper.updateEinRecordLast(record); //换工程没换人脸 urkSendService.sendUserToDevice(record.getId(),record.getProId(), record.getSubId(), record.getTeamId(),"0"); addWorkerEinData(record); @@ -253,15 +253,10 @@ public class AppServiceImpl implements AppService { public AjaxResult appWorkerExit(PmWorkerDto record) throws Exception { //查询合同工资卡是否齐全 List list = pmWorkerExitMapper.getContractIdAndWageCard(record.getWorkerId(),record.getProId()); - if(Integer.parseInt(list.get(0).getValue())>0 && Integer.parseInt(list.get(1).getValue())>0){ - //查询是否上海外 - PmWorkerDto data=pmWorkerExitMapper.getPmWorkInfo(record); - Boolean isShangHai = pmWorkerExitMapper.getProLocationByProId(record.getProId()); - if(isShangHai == null || !isShangHai){ - int m = contractMapper.deleteByWorkerId(record.getWorkerId(),record.getProId()); - } - //查询是不是上海内最后一个在场工程(一定要放在删除实时在场前查) - int number = pmWorkerExitMapper.getEinProNum(record.getWorkerId()); + //没打过卡可以直接离场 20251226 + int z = pmWorkerExitMapper.selectAttByEinTimeAfter(record.getWorkerId(),record.getProId()); + if(z == 0 || (Integer.parseInt(list.get(0).getValue())>0 && Integer.parseInt(list.get(1).getValue())>0)){ + contractMapper.deleteByWorkerId(record.getWorkerId(),record.getProId()); //删除实时在场 int n = pmWorkerExitMapper.deleteEinMsgByWorkerId(record.getWorkerId(),record.getProId()); //修改在场记录表状态 @@ -276,13 +271,9 @@ public class AppServiceImpl implements AppService { } isUploadFile = 1; } - String isLast = ""; - if(Boolean.TRUE.equals(isShangHai) && number > 1){ - isLast = "0"; - } - int k = pmWorkerExitMapper.updateEinProRecordStatus(record.getId(),einStatus,isUploadFile,record.getExitWay(),isLast); + int k = pmWorkerExitMapper.updateEinProRecordStatus(record.getId(),einStatus,isUploadFile,record.getExitWay()); if(k==1){ - delUrkUser(data, urkSendService); + delUrkUser(record, urkSendService); //删除app人脸 // delAppFace(record.getWorkerId()); } @@ -306,7 +297,7 @@ public class AppServiceImpl implements AppService { } isUploadFile = 1; } - int k = pmWorkerExitMapper.updateEinProRecordStatus(record.getId(),einStatus,isUploadFile,record.getExitWay(),""); + int k = pmWorkerExitMapper.updateEinProRecordStatus(record.getId(),einStatus,isUploadFile,record.getExitWay()); return k>0 ? AjaxResult.success() :AjaxResult.error("离场失败"); } 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 e6ccfb8..d37b333 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 @@ -6,10 +6,7 @@ import com.bonus.bmw.domain.po.FaceRecognitionBean; import com.bonus.bmw.domain.vo.MapBeanVo; import com.bonus.bmw.domain.vo.PmWorker; import com.bonus.bmw.mapper.PmWorkerExitMapper; -import com.bonus.bmw.service.AppRecognitionService; -import com.bonus.bmw.service.BmWorkerContractService; -import com.bonus.bmw.service.PmWorkerExitService; -import com.bonus.bmw.service.UrkSendService; +import com.bonus.bmw.service.*; import com.bonus.common.core.constant.Constants; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.system.api.model.UploadFileVo; @@ -32,6 +29,9 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService { @Autowired private BmWorkerContractService contractService; + @Autowired + private TbProConfigService configService; + @Resource private AppRecognitionService appRecognitionService; @@ -56,16 +56,12 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService { @Override public AjaxResult updateWorkerExit(PmWorkerDto record, List listFile) throws Exception { StringBuilder sb = new StringBuilder(); - //查询是否上海外 - Boolean isShangHai = mapper.getProLocationByProId(record.getProId()); //查询合同工资卡是否齐全 List list = mapper.getContractIdAndWageCard(record.getWorkerId(),record.getProId()); //没打过卡可以直接离场 20251226 - int x = mapper.selectAttByEinTimeAfter(record.getWorkerId(),record.getProId()); - if(x ==0 || (Integer.parseInt(list.get(0).getValue())>0 && Integer.parseInt(list.get(1).getValue())>0)){ + int z = mapper.selectAttByEinTimeAfter(record.getWorkerId(),record.getProId()); + if(z == 0 || (Integer.parseInt(list.get(0).getValue())>0 && Integer.parseInt(list.get(1).getValue())>0)){ contractService.deleteByWorkerId(record.getWorkerId(),record.getProId()); - //查询是不是上海内最后一个在场工程(一定要放在删除实时在场前查) - int number = mapper.getEinProNum(record.getWorkerId()); //删除实时在场 int n = mapper.deleteEinMsgByWorkerId(record.getWorkerId(), record.getProId()); //修改在场记录表状态 @@ -83,12 +79,7 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService { List uploadFileVos = fileUploadUtils.uploadFile(workerFiles, Constants.FILE_UPLOAD_WORKER_EXIT, record.getId().toString(), type,"", ""); isUploadFile = 1; } - - String isLast = ""; - if(Boolean.TRUE.equals(isShangHai) && number > 1){ - isLast = "0"; - } - int k = mapper.updateEinProRecordStatus(record.getId(),einStatus,isUploadFile,record.getExitWay(),isLast); + int k = mapper.updateEinProRecordStatus(record.getId(),einStatus,isUploadFile,record.getExitWay()); if(k==1){ try { AppServiceImpl.delUrkUser(record, urkSendService); @@ -129,8 +120,6 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService { //没打过卡可以直接离场 20251226 int x = mapper.selectAttByEinTimeAfter(bean.getWorkerId(),bean.getProId()); if(x==0 || ("1".equals(listData.get(0).getValue()) && "1".equals(listData.get(1).getValue()))) { - //查询是否上海外 - Boolean isShangHai = mapper.getProLocationByProId(bean.getProId()); int i = contractService.deleteByWorkerId(bean.getWorkerId(),bean.getProId()); //查询是不是上海内最后一个在场工程(一定要放在删除实时在场前查) int number = mapper.getEinProNum(bean.getWorkerId()); @@ -139,11 +128,7 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService { int einStatus = 2; //是否上传文件 int isUploadFile = 0; - String isLast = ""; - if(Boolean.TRUE.equals(isShangHai) && number > 1){ - isLast = "0"; - } - int k = mapper.updateEinProRecordStatus(bean.getId(), einStatus, isUploadFile, bean.getExitWay(),isLast); + int k = mapper.updateEinProRecordStatus(bean.getId(), einStatus, isUploadFile, bean.getExitWay()); if (k == 1) { userId.add(bean.getWorkerId()); proId.add(bean.getProId()); @@ -195,7 +180,7 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService { int einStatus = 0; //是否上传文件 int isUploadFile = 1; - int k = mapper.updateEinProRecordStatus(o.getId(),einStatus,isUploadFile,o.getExitWay(),""); + int k = mapper.updateEinProRecordStatus(o.getId(),einStatus,isUploadFile,o.getExitWay()); return !uploadFileVos.isEmpty() ?1:0; } return 0; 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 7ed65da..d89bb01 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 @@ -469,7 +469,7 @@ public class PmWorkerServiceImpl implements PmWorkerService{ addWorkerWageCardDataAndContract(record,fileMsg); }else { //重新入场 再入场,清除最新标识 - mapper.updateEinRecordLast(record.getId()); + mapper.updateEinRecordLast(record); //换工程没换人脸 try { urkSendService.sendUserToDevice(record.getId(),record.getProId(),record.getSubId(), record.getTeamId(),"0"); diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/TbProConfigServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/TbProConfigServiceImpl.java index bc2a9d9..8bc9596 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/TbProConfigServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/TbProConfigServiceImpl.java @@ -147,6 +147,8 @@ public class TbProConfigServiceImpl implements TbProConfigService { /** * 依据工程id查询 + * tczm 是否需要退场证明 0 不需要 1 需要 + * dgc 是否允许多工程入场 0 不允许 1 允许 * @param params * @return */ diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerExitMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerExitMapper.xml index 5296581..02cc7c1 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerExitMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerExitMapper.xml @@ -26,6 +26,9 @@ + 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 06cc1eb..4848149 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 @@ -163,7 +163,7 @@ - update bm_worker_ein_pro_record set is_last = 0 where worker_id = #{id} + update bm_worker_ein_pro_record set is_last = 0 where worker_id = #{id} and pro_id = #{proId} @@ -324,6 +324,7 @@ LEFT JOIN pm_project pp ON pp.id = bmew.pro_id WHERE id_number = #{idNumber} and pw.is_active = 1 + order by bmew.create_time DESC limit 1 diff --git a/bonus-modules/bonus-job/src/main/resources/mapper/job/WorkerJobMapper.xml b/bonus-modules/bonus-job/src/main/resources/mapper/job/WorkerJobMapper.xml index ba9a142..675379e 100644 --- a/bonus-modules/bonus-job/src/main/resources/mapper/job/WorkerJobMapper.xml +++ b/bonus-modules/bonus-job/src/main/resources/mapper/job/WorkerJobMapper.xml @@ -94,9 +94,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" pm_worker pw LEFT JOIN bm_worker_ein_pro_record bwepr ON pw.id = bwepr.worker_id left join pm_project pp on bwepr.pro_id = pp.id + left join tb_pro_config_real tbcr on tbcr.sub_id = pp.sub_com_id + and tbcr.pro_type = pp.pro_type and tbcr.pro_area = pp.is_shanghai and tbcr.type = 0 WHERE if(is_upload_file=0,DATEDIFF(NOW(), exit_time),0) > 30 - and bwepr.is_go_black = 0 and pp.is_shanghai = 0 + and bwepr.is_go_black = 0 and tbcr.is_need = 1