diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/dto/BaseEquipmentDto.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/dto/BaseEquipmentDto.java index 50ca6c75..4cc3c1be 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/dto/BaseEquipmentDto.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/dto/BaseEquipmentDto.java @@ -218,6 +218,15 @@ public class BaseEquipmentDto extends BaseEntity { private String plcPort; private String ymd; + private String shiftId; + + public String getShiftId() { + return shiftId; + } + + public void setShiftId(String shiftId) { + this.shiftId = shiftId; + } public String getYmd() { return ymd; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java index 25aefcf8..055142c8 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java @@ -101,7 +101,7 @@ public interface MesMapper { List getUnChangeList(MesStationArrive dto); - List getChangeInfos(BaseEquipmentDto dto); + MesShift getChangeInfos(BaseEquipmentDto dto); ProOrderWorkorderDTO getActOrderWork(MesStationArrive qo); diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java index 3b20a3cd..9a4e5436 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java @@ -646,7 +646,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { DynamicDataSourceContextHolder.push("ds_999");// 这是数据源的key BaseEquipmentDto edto = new BaseEquipmentDto(); - edto.setEquipmentTypeCode("equTypeCxj"); + edto.setEquipmentTypeCode("equ_type_cxj"); List cxjList = mesMapper.getAllEquipments(edto); ExecutorService executorService = new ThreadPoolExecutor( cxjList.size(), @@ -655,10 +655,10 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { new LinkedBlockingQueue()); try { cxjList.forEach(cxj -> { - if(cxj.getEquipmentCode().equals("C4")){ + //if(cxj.getEquipmentCode().equals("C5")){ Runnable run = () -> changeTransferResultFunc(cxj); executorService.execute(run); - } + //} }); } catch (Exception e) { logger.error("service == changeTransferResultTask == exception", e); @@ -675,18 +675,43 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { */ private R changeTransferResultFunc(BaseEquipmentDto cxj){ logger.info("++++++++++++" + cxj.getEquipmentCode() + "++++班次交接最后一车数据修正++++++++++"); + DynamicDataSourceContextHolder.push("ds_999");// 这是数据源的key DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 定义日期格式 LocalDate today = LocalDate.now(); - String ymdT0 = today.format(formatter); // 格式化今天的日期 + LocalDate qianDay = today.minusDays(2); + String qianDayStr = qianDay.format(formatter); // 格式化前天的日期 LocalDate yesterday = today.minusDays(1); - String ymd = yesterday.format(formatter); // 格式化昨天的日期 - cxj.setYmd("'"+ymdT0+"','"+ymd+"'"); - List changeInfos = mesMapper.getChangeInfos(cxj); + String yesterdayStr = yesterday.format(formatter); // 格式化昨天的日期 + + List changeInfos = new ArrayList<>(); + //昨天的白班开始 + cxj.setYmd(qianDayStr); + cxj.setShiftId("2"); + MesShift changeInfo0 = mesMapper.getChangeInfos(cxj); + changeInfo0.setShiftId(5);//昨天的白班 + changeInfos.add(changeInfo0); + //昨天的白班结束 昨天的夜班开始 + cxj.setYmd(yesterdayStr); + cxj.setShiftId("5"); + MesShift changeInfo1 = mesMapper.getChangeInfos(cxj); + changeInfo1.setShiftId(2);//昨天的夜班 + changeInfos.add(changeInfo1); + //昨天的白班结束 昨天的夜班开始 + cxj.setYmd(yesterdayStr); + cxj.setShiftId("2"); + MesShift changeInfo2 = mesMapper.getChangeInfos(cxj); + changeInfos.add(changeInfo2); + if(CollectionUtils.isEmpty(changeInfos)){ logger.info("++++++++++++班次交接最后一车数据修正:无数据++++++++++"+JSONObject.toJSONString(cxj)); return R.fail("班次交接最后一车数据修正:无数据"); } - List todoList = new ArrayList<>(); + + if(changeInfos.size()<3){ + logger.info("++++++++++++班次交接最后一车数据修正:修正点缺失(必须三个点)++++++++++"); + return R.fail("班次交接最后一车数据修正:无数据"); + } + for(int m=0;m todos1 = mesMapper.getUnChangeList(qo);//需要调整的数据 - todoList.addAll(todos1); - - if(!CollectionUtils.isEmpty(todoList)){ - continue; - } - qo.setReqCode(ymd);//工单日期 + qo.setReqCode(yesterdayStr);//工单日期 ProOrderWorkorderDTO actOrderWork = mesMapper.getActOrderWork(qo); if(actOrderWork != null){//给需要调整的数据,重新赋值新的班次,工单Id Date nowDate = DateUtils.getNowDate(); - for(MesStationArrive newtodo:todoList){ + for(MesStationArrive newtodo:todos1){ newtodo.setChangeOrderWorkId(actOrderWork.getWorkorderId()); newtodo.setShiftId(Integer.parseInt(actOrderWork.getShiftId())); newtodo.setChangeWorkDate(actOrderWork.getProductDate()); @@ -716,10 +736,10 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { } } /**mes_material_transfer_result**/ - int n = mesMapper.updateTransferResult(todoList); - logger.info("++++++++++++班次交接最后一车数据修正:修正成功"+n+"++++++++++"+JSONObject.toJSONString(todoList)); + int n = mesMapper.updateTransferResult(todos1); + logger.info("++++++++++++班次交接最后一车数据修正:班次"+changeInfos.get(m).getShiftId()+"修正成功" + +n+"++++++++++"+JSONObject.toJSONString(todos1)); } - logger.info("++++++++++++班次交接最后一车数据修正:数据条数++++++++++"+todoList.size()); return R.fail("班次交接最后一车数据修正:完成"); } diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesMapper.xml index 67be04af..376eea2a 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesMapper.xml @@ -430,14 +430,12 @@ and shift_id != #{shiftId}