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 c809d5f..1369172 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 @@ -60,4 +60,6 @@ public interface PmWorkerExitMapper { List selectWorkListByProId(PmWorkerDto o); List getWorkerListByPhone(PmWorkerDto o); + + List getDictionary(String type); } 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 713b654..e40fb96 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 @@ -56,16 +56,29 @@ 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()); + boolean contract = false; + boolean wageCard = false; + //先调用接口判断是否需要合同和工资卡补全才出场 + List aa = mapper.getDictionary("functional_limitation"); + if(!aa.isEmpty()){ + for (MapBeanVo vo : aa) { + if(vo.getKey().equals("合同")){ + if("0".equals(vo.getValue())){ + contract = true; + } + }else if(vo.getKey().equals("工资卡")) { + if ("10".equals(vo.getValue())) { + wageCard = true; + } + } + } + } + //查询合同工资卡是否齐全 List list = mapper.getContractIdAndWageCard(record.getWorkerId()); - if(Integer.parseInt(list.get(0).getValue())>0 && Integer.parseInt(list.get(1).getValue())>0){ - - if(isShangHai == null || !isShangHai){ - //上海外删除合同 - int i = contractService.deleteByWorkerId(record.getWorkerId()); - } + if((wageCard || Integer.parseInt(list.get(0).getValue())>0) && (contract || Integer.parseInt(list.get(1).getValue())>0)){ + //删除合同 + contractService.deleteByWorkerId(record.getWorkerId()); //查询是不是上海内最后一个在场工程(一定要放在删除实时在场前查) int number = mapper.getEinProNum(record.getWorkerId()); //删除实时在场 @@ -87,9 +100,6 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService { } String isLast = ""; - if(Boolean.TRUE.equals(isShangHai) && number > 1){ - isLast = "0"; - } int k = mapper.updateEinProRecordStatus(record.getId(),einStatus,isUploadFile,record.getExitWay(),isLast); if(k==1){ try { @@ -125,16 +135,29 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService { List proId = new ArrayList<>(); List supId = new ArrayList<>(); List teamId = new ArrayList<>(); + boolean contract = false; + boolean wageCard = false; + //先调用接口判断是否需要合同和工资卡补全才出场 + List aa = mapper.getDictionary("functional_limitation"); + if(!aa.isEmpty()){ + for (MapBeanVo vo : aa) { + if(vo.getKey().equals("合同")){ + if("0".equals(vo.getValue())){ + contract = true; + } + }else if(vo.getKey().equals("工资卡")) { + if ("10".equals(vo.getValue())) { + wageCard = true; + } + } + } + } for (PmWorkerDto bean : list) { //查询合同工资卡是否齐全 List listData = mapper.getContractIdAndWageCard(bean.getWorkerId()); - if("1".equals(listData.get(0).getValue()) && "1".equals(listData.get(1).getValue())) { - //查询是否上海外 - Boolean isShangHai = mapper.getProLocationByProId(bean.getProId()); - if(isShangHai == null || !isShangHai){ - //上海外删除合同 - int i = contractService.deleteByWorkerId(bean.getWorkerId()); - } + if((wageCard || Integer.parseInt(listData.get(0).getValue())>0) && (contract || Integer.parseInt(listData.get(1).getValue())>0)){ + //删除合同 + contractService.deleteByWorkerId(bean.getWorkerId()); //查询是不是上海内最后一个在场工程(一定要放在删除实时在场前查) int number = mapper.getEinProNum(bean.getWorkerId()); //删除实时在场 @@ -143,9 +166,6 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService { //是否上传文件 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); if (k == 1) { userId.add(bean.getWorkerId()); 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 0032475..779b9df 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 @@ -263,4 +263,14 @@ AND bwepr.is_upload_file = 0 and pp.is_shanghai = 0 and if(is_upload_file=0,DATEDIFF(NOW(), exit_time),0) < 31 + +