diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java index 74694cd0d..00ef2696c 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java @@ -108,4 +108,6 @@ public interface MesReportWorkMapper { List getMesListEquip(EquEquipmentDTO qo); List getBatchList(ProOrderWorkorder proOrderWorkorder); + + List getSapWorkOrder(String workorderCode); } 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 6ef93e070..0c42940d3 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 @@ -336,8 +336,12 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { ){ logger.info("工单请求关闭:调用remoteSapService.sapCloseOrder,参数:"+work.getWorkorderCodeSap()); //工单完成,关闭工单 - R r2= remoteSapService.sapCloseOrder(work.getWorkorderCodeSap()); - logger.info("工单"+work.getWorkorderCodeSap()+"sap关闭"+r2.getCode()+",返回信息:"+r2.getMsg()); + List sapWorkOrders = mesReportWorkMapper.getSapWorkOrder(work.getWorkorderCode());//根据belong_work_order找到所有要关闭的虚拟工单 + for(String sapWorkOrder:sapWorkOrders){ + R r2= remoteSapService.sapCloseOrder(sapWorkOrder); + logger.info("工单"+work.getWorkorderCode()+",sapworkorder:"+sapWorkOrder+",sap关闭"+r.getCode()+",返回信息:"+r.getMsg()); + } + work.setStatus("w3"); work.setUpdateTime(DateUtils.getNowDate()); //pro_work_order status->w3报工--belong_work_order diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml index a4fcf4a93..34401f485 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml @@ -443,6 +443,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where powb.del_flag = '0' and pow.del_flag = '0' and pow.workorder_code = #{workorderCode} + insert into mes_report_work diff --git a/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java b/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java index 9ab9d523e..ab2138534 100644 --- a/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java +++ b/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java @@ -41,5 +41,7 @@ public interface OpenMapper { ProOrderWorkorderDTO getOrderByCode(String workorderCode); List getLGInfo(WCSDTO wcsDTO); + + List getSapWorkOrder(String workorderCode); } diff --git a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java index f0e10cb36..49ba40346 100644 --- a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java +++ b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java @@ -204,9 +204,13 @@ public class OpenServiceImpl implements OpenService { "1".equals(work.getEndReport())//最终报工标识 ){ logger.info("工单请求关闭:调用remoteSapService.sapCloseOrder,参数:"+work.getWorkorderCodeSap()); + //工单完成,关闭工单 - R rclose = remoteSapService.sapCloseOrder(work.getWorkorderCodeSap()); - logger.info("工单"+work.getWorkorderCodeSap()+"sap关闭"+r.getCode()+",返回信息:"+r.getMsg()); + List sapWorkOrders = openMapper.getSapWorkOrder(work.getWorkorderCode());//根据belong_work_order找到所有要关闭的虚拟工单 + for(String sapWorkOrder:sapWorkOrders){ + R rclose = remoteSapService.sapCloseOrder(sapWorkOrder); + logger.info("工单"+work.getWorkorderCode()+",sapworkorder:"+sapWorkOrder+",sap关闭"+r.getCode()+",返回信息:"+r.getMsg()); + } work.setStatus("w3"); work.setUpdateTime(DateUtils.getNowDate()); //pro_work_order status->w3报工--belong_work_order @@ -222,19 +226,6 @@ public class OpenServiceImpl implements OpenService { return openMapper.getLGInfo(wcsDTO); } -// //根据工单子单编码获取最顶级订单的母单 -// private ProOrderWorkorderDTO getTopOrder(String workorderCode) { -// //pro_order_workorder -// ProOrderWorkorderDTO topOrder = openMapper.getOrderByCode(workorderCode); -// while (!"0".equals(topOrder.getParentOrder()) && StringUtils.isNotEmpty(topOrder.getParentOrder())) { -// //pro_order_workorder -// topOrder = openMapper.getOrderByCode(topOrder.getParentOrder()); -// } -// return topOrder; -// } - - - public static void main(String args[]){ DateTimeFormatter ymdhms = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDate today = LocalDate.now(); diff --git a/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml b/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml index 4dd3944d3..40ab74cef 100644 --- a/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml +++ b/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml @@ -122,5 +122,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join pro_order_workorder pow on pw.workorder_id = pow.workorder_id where CONVERT(varchar(10),plan_time, 120) = #{reqTime} +