From 739e8edee16fd2a8acf2522928cd3f8fae8d2fa7 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 16 May 2024 13:59:32 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BD=E5=9D=AF=E4=BA=A7=E9=87=8F=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/op/mes/mapper/MesMapper.java | 2 +- .../service/impl/IWCInterfaceServiceImpl.java | 54 +++++++++++++------ .../main/resources/mapper/mes/MesMapper.xml | 14 +++-- 3 files changed, 44 insertions(+), 26 deletions(-) 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 25aefcf8e..055142c8b 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 3b20a3cdd..70f03df71 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,7 +655,7 @@ 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); } @@ -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 67be04afc..376eea2a7 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}