From 317e69e12ddd6060603beba0977620f42e76b1e6 Mon Sep 17 00:00:00 2001 From: zhaoxl Date: Fri, 25 Aug 2023 10:07:46 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E8=87=B3=20'op-modules/op-quality/src/main/java/com/op/quality?= =?UTF-8?q?/Controller'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/quality/controller/QuaController.java | 39 +++++-------------- 1 file changed, 10 insertions(+), 29 deletions(-) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java index b61e4c38..5ad5629d 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java @@ -6,6 +6,8 @@ import com.op.common.core.utils.uuid.UUID; import com.op.quality.domain.BaseFile; import com.op.quality.domain.QcProCheck; import com.op.quality.service.QcProCheckService; +import com.op.system.api.RemoteMesService; +import com.op.system.api.domain.dto.WCSDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -22,6 +24,8 @@ public class QuaController { @Autowired private QcProCheckService qcProCheckService; + @Autowired + private RemoteMesService remoteMesService; @PostMapping("/saveQcProCheck") public R saveQcProCheck(@RequestBody Map map) { @@ -37,42 +41,19 @@ public class QuaController { } if (qcProCheck.getIsqua()=="1"){ - System.out.println("调用下一个接口"); + System.out.println("调用wcs接口开发转移"); + WCSDTO wcsdto = new WCSDTO(); + wcsdto.setFactory(qcProCheck.getFactoryCode()); + wcsdto.setRfidNo(qcProCheck.getRfid()); + remoteMesService.requestDestinationStations(wcsdto); return R.ok(); } else{ - return R.ok(); + return R.fail(); } } return R.fail(); } - @PostMapping("/test") - public R test() { -// System.out.println(qcProCheck); -// System.out.println(baseFile); -// QcProCheck qcProCheck = map.keySet().iterator().next(); -// BaseFile baseFile = map.values().iterator().next(); - QcProCheck qcProCheck = new QcProCheck(); - BaseFile baseFile = new BaseFile(); - qcProCheck.setId("1232132132121321"); - qcProCheck.setFactoryId("qewqewqewq"); - qcProCheck.setIsqua("1"); - baseFile.setFileAddress("qwewqewqewqewqewqq"); - if (!qcProCheck.getFactoryId().isEmpty()){ - if (baseFile==null){ - baseFile = new BaseFile(); - qcProCheckService.saveQcProCheck(qcProCheck,baseFile); - } - if (qcProCheck.getIsqua()=="1"){ - System.out.println("调用下一个接口"); - return R.ok(); - } - else{ - return R.ok(); - } - } - return R.fail(); - } } From 604d6de09cb0ccb30cfe5a6552e7b4be613db363 Mon Sep 17 00:00:00 2001 From: zhaoxl Date: Fri, 25 Aug 2023 10:12:32 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E8=87=B3=20'op-modules/op-quality/src/main/java/com/op/quality?= =?UTF-8?q?/Controller'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/op/quality/controller/QuaController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java index 5ad5629d..4f64f546 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java @@ -41,7 +41,7 @@ public class QuaController { } if (qcProCheck.getIsqua()=="1"){ - System.out.println("调用wcs接口开发转移"); +// System.out.println("调用wcs接口开发转移"); WCSDTO wcsdto = new WCSDTO(); wcsdto.setFactory(qcProCheck.getFactoryCode()); wcsdto.setRfidNo(qcProCheck.getRfid()); From 96a998e66e889e584c3dcc430a4dda5d8f33e745 Mon Sep 17 00:00:00 2001 From: zhaoxl Date: Fri, 25 Aug 2023 10:37:42 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E8=87=B3=20'op-modules/op-quality/src/main/java/com/op/quality?= =?UTF-8?q?/controller'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/quality/controller/QuaController.java | 43 ++++++++++++++++--- 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java index 4f64f546..0b43fbd7 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java @@ -34,18 +34,18 @@ public class QuaController { QcProCheck qcProCheck = map.keySet().iterator().next(); BaseFile baseFile = map.values().iterator().next(); - if (!qcProCheck.getFactoryId().isEmpty()){ + if (!qcProCheck.getFactoryCode().isEmpty()){ if (baseFile==null){ baseFile = new BaseFile(); qcProCheckService.saveQcProCheck(qcProCheck,baseFile); } if (qcProCheck.getIsqua()=="1"){ -// System.out.println("调用wcs接口开发转移"); - WCSDTO wcsdto = new WCSDTO(); - wcsdto.setFactory(qcProCheck.getFactoryCode()); - wcsdto.setRfidNo(qcProCheck.getRfid()); - remoteMesService.requestDestinationStations(wcsdto); + System.out.println("调用wcs接口开发转移"); +// WCSDTO wcsdto = new WCSDTO(); +// wcsdto.setFactory(qcProCheck.getFactoryCode()); +// wcsdto.setRfidNo(qcProCheck.getRfid()); +// remoteMesService.requestDestinationStations(wcsdto); return R.ok(); } else{ @@ -54,6 +54,37 @@ public class QuaController { } return R.fail(); } + @PostMapping("/test") + public R test() { +// System.out.println(qcProCheck); +// System.out.println(baseFile); +// QcProCheck qcProCheck = map.keySet().iterator().next(); +// BaseFile baseFile = map.values().iterator().next(); + QcProCheck qcProCheck = new QcProCheck(); + BaseFile baseFile = new BaseFile(); +// qcProCheck.setId("1232132132121321"); + qcProCheck.setRfid("rfiddddddddddddddddddddddddddddddddddddd"); + qcProCheck.setFactoryCode("qewqewqewq"); + qcProCheck.setIsqua("1"); + baseFile.setFileAddress("qwewqewqewqewqewqq"); + if (!qcProCheck.getFactoryCode().isEmpty()){ + if (baseFile==null){ + baseFile = new BaseFile(); + qcProCheckService.saveQcProCheck(qcProCheck,baseFile); + } + else { + qcProCheckService.saveQcProCheck(qcProCheck,baseFile); + } + if (qcProCheck.getIsqua()=="1"){ + System.out.println("调用下一个接口"); + return R.ok(); + } + else{ + return R.ok(); + } + } + return R.fail(); + } } From 33e8364c4ab08d7f6ce69025952dd3bd7bcd99e7 Mon Sep 17 00:00:00 2001 From: zhaoxl Date: Fri, 25 Aug 2023 10:38:48 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E8=87=B3=20'op-modules/op-quality/src/main/java/com/op/quality?= =?UTF-8?q?/service/serviceImpl'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/serviceImpl/QcProCheckServiceImpl.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcProCheckServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcProCheckServiceImpl.java index 0669656b..fcb78fcc 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcProCheckServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcProCheckServiceImpl.java @@ -3,11 +3,14 @@ package com.op.quality.service.serviceImpl; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import com.op.common.core.domain.R; +//import com.op.quality.domain.BaseFile; import com.op.quality.domain.BaseFile; import com.op.quality.domain.QcProCheck; +//import com.op.quality.mapper.BaseFileMapper; import com.op.quality.mapper.BaseFileMapper; import com.op.quality.mapper.QcProCheckMapper; import com.op.quality.service.QcProCheckService; +import com.sap.conn.jco.JCoException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -32,13 +35,16 @@ public class QcProCheckServiceImpl implements QcProCheckService { @Override // @DS("#header.poolName") public List selectQcProCheck() { + DynamicDataSourceContextHolder.push("ds_1000"); return qcProCheckMapper.selectQcProCheckList(); } @Override // @DS("#header.poolName") public R saveQcProCheck(QcProCheck qcProCheck, BaseFile baseFile) { - DynamicDataSourceContextHolder.push("op_xiaolan"); +// System.out.println("qian"+DynamicDataSourceContextHolder.peek()); + DynamicDataSourceContextHolder.push("ds_1000"); +// System.out.println("hou"+DynamicDataSourceContextHolder.peek()); qcProCheck.setId(UUID.randomUUID().toString().replace("-", "")); if (baseFile.getFileAddress()==null){ @@ -59,12 +65,14 @@ public class QcProCheckServiceImpl implements QcProCheckService { @Override // @DS("#header.poolName") public int updateQcProCheck(String id) { + DynamicDataSourceContextHolder.push("ds_1000"); return qcProCheckMapper.updateQcProCheckById(id); } @Override // @DS("#header.poolName") public int deleteQcProCheck(String id) { + DynamicDataSourceContextHolder.push("ds_1000"); return qcProCheckMapper.deleteQcProCheckById(id); } From 1a14aef2ddabfdba8264bd083fe2c793d64eb23d Mon Sep 17 00:00:00 2001 From: zhaoxl Date: Fri, 25 Aug 2023 11:49:13 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E8=87=B3=20'op-modules/op-quality/src/main/resources/mapper'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/QcProCheckMapper.xml | 147 ++++++++++++++++++ .../resources/mapper/QcProCheckMapper.xml | 2 +- 2 files changed, 148 insertions(+), 1 deletion(-) create mode 100644 op-modules/op-quality/src/main/resources/QcProCheckMapper.xml diff --git a/op-modules/op-quality/src/main/resources/QcProCheckMapper.xml b/op-modules/op-quality/src/main/resources/QcProCheckMapper.xml new file mode 100644 index 00000000..8b4e749f --- /dev/null +++ b/op-modules/op-quality/src/main/resources/QcProCheckMapper.xml @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id,rfid,factory_id,factory_code,order_id,machine_id,bad_meg,product_id,isqua,isqua,file_id,attr1,attr2, + attr3,attr4,create_by,create_time,update_by,update_time,order_code,machine_code, + workorder_id,workorder_code,workorder_name,product_code + from qc_pro_check + + + + + + + + insert into qc_pro_check + + rfid, + id, + factory_id, + factory_code, + workorder_id, + workorder_code, + workorder_name, + order_id, + order_code, + machine_id, + machine_code, + bad_meg, + product_id, + product_code, + attr1, + attr2, + attr3, + attr4, + create_by, + update_by, + create_time, + update_time, + file_id, + isqua, + + + + #{id}, + #{rfid}, + #{factoryId}, + #{factoryCode}, + #{workorderId}, + #{workorderCode}, + #{workorderName}, + #{orderId}, + #{orderCode}, + #{machineId}, + #{machineCode}, + #{badMeg}, + #{productId}, + #{productCode}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{updateBy}, + #{createTime}, + #{updateTime}, + #{isqua}, + #{fileId}, + + + + + + update qc_pro_check + + #{id}, + #{rfid}, + #{factoryId}, + #{factoryCode}, + #{workorderId}, + #{workorderCode}, + #{workorderName}, + #{orderId}, + #{orderCode}, + #{machineId}, + #{machineCode}, + #{badMeg}, + #{productId}, + #{productCode}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{updateBy}, + #{createTime}, + #{updateTime}, + #{isqua}, + #{fileId}, + + where id = #{id} + + + + delete from qc_pro_check where id = #{id} + + + + diff --git a/op-modules/op-quality/src/main/resources/mapper/QcProCheckMapper.xml b/op-modules/op-quality/src/main/resources/mapper/QcProCheckMapper.xml index 1bd0d7b4..8b4e749f 100644 --- a/op-modules/op-quality/src/main/resources/mapper/QcProCheckMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/QcProCheckMapper.xml @@ -53,7 +53,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into qc_pro_check - route_id, + rfid, id, factory_id, factory_code, From 1ff37dc20e99d1d4c249675305221029aac0b97e Mon Sep 17 00:00:00 2001 From: zhaoxl Date: Fri, 25 Aug 2023 11:53:54 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E5=88=A0=E9=99=A4=20'op-modules/op-quality?= =?UTF-8?q?/src/main/resources/QcProCheckMapper.xml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/QcProCheckMapper.xml | 147 ------------------ 1 file changed, 147 deletions(-) delete mode 100644 op-modules/op-quality/src/main/resources/QcProCheckMapper.xml diff --git a/op-modules/op-quality/src/main/resources/QcProCheckMapper.xml b/op-modules/op-quality/src/main/resources/QcProCheckMapper.xml deleted file mode 100644 index 8b4e749f..00000000 --- a/op-modules/op-quality/src/main/resources/QcProCheckMapper.xml +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select id,rfid,factory_id,factory_code,order_id,machine_id,bad_meg,product_id,isqua,isqua,file_id,attr1,attr2, - attr3,attr4,create_by,create_time,update_by,update_time,order_code,machine_code, - workorder_id,workorder_code,workorder_name,product_code - from qc_pro_check - - - - - - - - insert into qc_pro_check - - rfid, - id, - factory_id, - factory_code, - workorder_id, - workorder_code, - workorder_name, - order_id, - order_code, - machine_id, - machine_code, - bad_meg, - product_id, - product_code, - attr1, - attr2, - attr3, - attr4, - create_by, - update_by, - create_time, - update_time, - file_id, - isqua, - - - - #{id}, - #{rfid}, - #{factoryId}, - #{factoryCode}, - #{workorderId}, - #{workorderCode}, - #{workorderName}, - #{orderId}, - #{orderCode}, - #{machineId}, - #{machineCode}, - #{badMeg}, - #{productId}, - #{productCode}, - #{attr1}, - #{attr2}, - #{attr3}, - #{attr4}, - #{createBy}, - #{updateBy}, - #{createTime}, - #{updateTime}, - #{isqua}, - #{fileId}, - - - - - - update qc_pro_check - - #{id}, - #{rfid}, - #{factoryId}, - #{factoryCode}, - #{workorderId}, - #{workorderCode}, - #{workorderName}, - #{orderId}, - #{orderCode}, - #{machineId}, - #{machineCode}, - #{badMeg}, - #{productId}, - #{productCode}, - #{attr1}, - #{attr2}, - #{attr3}, - #{attr4}, - #{createBy}, - #{updateBy}, - #{createTime}, - #{updateTime}, - #{isqua}, - #{fileId}, - - where id = #{id} - - - - delete from qc_pro_check where id = #{id} - - - - From 06d740e85dd8e4f396c351a6a5578713ec2cd405 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Fri, 25 Aug 2023 13:22:44 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProWetMaterialPlanController.java | 22 ++-- .../service/IProWetMaterialPlanService.java | 2 +- .../service/impl/ProOrderServiceImpl.java | 58 +++++--- .../impl/ProWetMaterialPlanServiceImpl.java | 124 +++++++++--------- .../plan/ProOrderWorkorderBatchMapper.xml | 9 +- .../mapper/plan/ProOrderWorkorderMapper.xml | 2 +- .../sap/service/impl/SapOrderServiceImpl.java | 5 +- 7 files changed, 122 insertions(+), 100 deletions(-) diff --git a/op-modules/op-plan/src/main/java/com/op/plan/controller/ProWetMaterialPlanController.java b/op-modules/op-plan/src/main/java/com/op/plan/controller/ProWetMaterialPlanController.java index a3bebd10..395b0241 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/controller/ProWetMaterialPlanController.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/controller/ProWetMaterialPlanController.java @@ -183,15 +183,15 @@ public class ProWetMaterialPlanController extends BaseController { public AjaxResult remove(@PathVariable String[] ids) { return toAjax(proWetMaterialPlanService.deleteProWetMaterialPlanByIds(ids)); } - /** - * 提交湿料计划同步WCS - * @param - * @return - */ - @Log(title = "湿料计划同步", businessType = BusinessType.EXPORT) - @GetMapping("/syncWCS/{id}") - @RequiresPermissions("mes:plan:add") - public AjaxResult syncWCS(@PathVariable String id) { - return proWetMaterialPlanService.syncWCS(id); - } +// /** +// * 提交湿料计划同步WCS +// * @param +// * @return +// */ +// @Log(title = "湿料计划同步", businessType = BusinessType.EXPORT) +// @GetMapping("/syncWCS/{id}") +// @RequiresPermissions("mes:plan:add") +// public AjaxResult syncWCS(@PathVariable String id) { +// return proWetMaterialPlanService.syncWCS(id); +// } } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/IProWetMaterialPlanService.java b/op-modules/op-plan/src/main/java/com/op/plan/service/IProWetMaterialPlanService.java index c98d7b87..f99e2ea9 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/IProWetMaterialPlanService.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/IProWetMaterialPlanService.java @@ -126,5 +126,5 @@ public interface IProWetMaterialPlanService { */ AjaxResult checkChangePlan(String id); - AjaxResult syncWCS(@PathVariable String id); +// AjaxResult syncWCS(@PathVariable String id); } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java index 2946d3d3..c19f9da0 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java @@ -14,6 +14,7 @@ import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.StringUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.web.domain.AjaxResult; +import com.op.common.security.utils.SecurityUtils; import com.op.plan.domain.*; import com.op.plan.domain.dto.ProOrderDTO; import com.op.plan.domain.dto.SplitOrderDTO; @@ -241,10 +242,14 @@ public class ProOrderServiceImpl implements IProOrderService { @Transactional(rollbackFor = Exception.class) @DS("#header.poolName") public AjaxResult syncSAP() { - SapProOrder sapqo = proOrderMapper.getMaxCreatetime(); - if (sapqo == null) { - sapqo.setCreateTime(DateUtils.getNowDate()); - } + SapProOrder sapqo = new SapProOrder();//proOrderMapper.getMaxCreatetime(); + //if (sapqo == null) { + // sapqo.setCreateTime(DateUtils.getNowDate()); + //} + + Calendar calendar = Calendar.getInstance(); //创建Calendar 的实例 + calendar.add(Calendar.DAY_OF_MONTH,-1); //当前时间减去一天,即一天前的时间 + sapqo.setCreateTime(calendar.getTime()); //获取当前所选工厂 HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String key = "#header.poolName"; @@ -261,24 +266,37 @@ public class ProOrderServiceImpl implements IProOrderService { proOrder = new ProOrder(); BeanUtils.copyProperties(sapProOrder, proOrder); //pro_order_workorder - - List orderExit = proOrderWorkorderMapper.selectWorkOrderByOrderCode(proOrder.getOrderCode()); - if (CollectionUtils.isEmpty(orderExit)) {//不存在就插入 + Date nowDate = DateUtils.getNowDate(); + ProOrder orderExit = proOrderMapper.selectProOrderByOrderCode(proOrder.getOrderCode()); + if (orderExit==null) {//不存在就插入 + proOrder.setId(IdUtils.fastSimpleUUID()); + //proOrder.setCreateTime(nowDate); + proOrder.setCreateBy(SecurityUtils.getUsername()); proOrderMapper.insertProOrder(proOrder); - } else if ("w0".equals(orderExit.get(0).getStatus())) { - //如果工单没下达,则更新pro_order - proOrderMapper.updateProOrder(proOrder); - List orderCodes = this.getListByPCode(proOrder); - if (!CollectionUtils.isEmpty(orderCodes)) { - List idstr = orderCodes.stream().map(order -> order.getId()).collect(Collectors.toList()); - String[] ids = idstr.stream().toArray(String[]::new); - //删除工单pro_order_workorder - proOrderWorkorderMapper.deleteProOrderWorkorderByWorkorderIds(ids); - //删除批次pro_order_workorder_batch - proOrderWorkorderBatchMapper.deleteProOrderWorkorderBatchByWorkorderIds(ids); + } else {//存在,如果没下发,更新,否则不允许更新,关闭订单 + proOrder.setId(orderExit.getId()); + proOrder.setQuantitySplit(0L); + ProOrderWorkorder owork = new ProOrderWorkorder(); + owork.setOrderCode(proOrder.getOrderCode()); + owork.setStatus("w1"); + List workOrders = proOrderWorkorderMapper.selectProOrderWorkorderList(owork); + if (CollectionUtils.isEmpty(workOrders)) {//更新 + proOrder.setUpdateTime(nowDate); + proOrder.setUpdateBy(SecurityUtils.getUsername()); + //如果工单没下达,则更新pro_order + proOrderMapper.updateProOrder(proOrder); + List orderCodes = this.getListByPCode(proOrder); + if (!CollectionUtils.isEmpty(orderCodes)) { + List idstr = orderCodes.stream().map(order -> order.getId()).collect(Collectors.toList()); + String[] ids = idstr.stream().toArray(String[]::new); + //删除工单pro_order_workorder + proOrderWorkorderMapper.deleteProOrderWorkorderByWorkorderIds(ids); + //删除批次pro_order_workorder_batch + proOrderWorkorderBatchMapper.deleteProOrderWorkorderBatchByWorkorderIds(ids); + } + } else {//关闭订单 + //TODO;不更新 } - } else if ("w1".equals(orderExit.get(0).getStatus())) { - //TODO;不更新 } } return success(); diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProWetMaterialPlanServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProWetMaterialPlanServiceImpl.java index e043679d..41a6bbac 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProWetMaterialPlanServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProWetMaterialPlanServiceImpl.java @@ -47,9 +47,9 @@ public class ProWetMaterialPlanServiceImpl implements IProWetMaterialPlanService private ProOrderWorkorderMapper proOrderWorkorderMapper; @Autowired private ProWetMaterialPlanDetailMapper proWetMaterialPlanDetailMapper; - - @Value("${wcs.url1}") - public String materialPlanSyncUrl; +// +// @Value("${wcs.url1}") +// public String materialPlanSyncUrl; /** * 查询湿料计划管理 * @@ -307,65 +307,65 @@ public class ProWetMaterialPlanServiceImpl implements IProWetMaterialPlanService * ] * } */ - @Override - @DS("#header.poolName") - @Transactional(rollbackFor = Exception.class) - public AjaxResult syncWCS(@PathVariable String id) { - - //获取湿料计划 - WCSDTO wcsdto = new WCSDTO(); - wcsdto.setReqCode(id);//主计划id - wcsdto.setReqTime(DateUtils.getNowDate()); - List planDetails = proWetMaterialPlanDetailMapper.selectDetailListById(id); - - //罐 - List gList = planDetails.stream().map(ProWetMaterialPlanDetail::getBucketCode) - .distinct().collect(Collectors.toList()); - //罐-料 - Map glMap = planDetails.stream() - .collect(Collectors.toMap(ProWetMaterialPlanDetail::getBucketCode, - ProWetMaterialPlanDetail::getMaterialCode, (k1, k2) -> k1)); - - List data = new ArrayList<>(); - WCSDataDTO wCSDataDTO = null; - for (String g : gList) { - wCSDataDTO = new WCSDataDTO(); - wCSDataDTO.setSku(glMap.get(g));//罐 - wCSDataDTO.setLoadNo(g);//料 - List unLoadItems = new ArrayList<>();//上位机集合 - //罐-工单 - List ggList = planDetails.stream() - .filter(plan -> plan.getBucketCode().equals(g)) - .collect(Collectors.toList()); - WCSDataItemsDTO wCSDataItemsDTO = null; - for (ProWetMaterialPlanDetail gg : ggList) { - //根据工单查收坯机编码 - String bucketCode = proOrderWorkorderMapper.getBucketCodeByWorkId(gg.getWorkorderId()); - if (StringUtils.isNotBlank(bucketCode)) { - wCSDataItemsDTO = new WCSDataItemsDTO(); - wCSDataItemsDTO.setUnloadNo(bucketCode); - unLoadItems.add(wCSDataItemsDTO); - } - } - wCSDataDTO.setUnLoadItems(unLoadItems); - } - wcsdto.setData(data); - try { - String sendResult = HttpUtils.sendPost(materialPlanSyncUrl, JSON.toJSONString(wcsdto)); - WCSDTO resultdto = JSON.parseObject(sendResult, WCSDTO.class); - if ("1".equals(resultdto.getCode())) { - return error(resultdto.getMessage()); - } - }catch (Exception e){ - return error("调用接口异常"); - } - - ProWetMaterialPlan detail = new ProWetMaterialPlan(); - detail.setId(id); - detail.setSyncFlag("Y");//已经同步的标识 - proWetMaterialPlanMapper.updateProWetMaterialPlan(detail); - return success(); - } +// @Override +// @DS("#header.poolName") +// @Transactional(rollbackFor = Exception.class) +// public AjaxResult syncWCS(@PathVariable String id) { +// +// //获取湿料计划 +// WCSDTO wcsdto = new WCSDTO(); +// wcsdto.setReqCode(id);//主计划id +// wcsdto.setReqTime(DateUtils.getNowDate()); +// List planDetails = proWetMaterialPlanDetailMapper.selectDetailListById(id); +// +// //罐 +// List gList = planDetails.stream().map(ProWetMaterialPlanDetail::getBucketCode) +// .distinct().collect(Collectors.toList()); +// //罐-料 +// Map glMap = planDetails.stream() +// .collect(Collectors.toMap(ProWetMaterialPlanDetail::getBucketCode, +// ProWetMaterialPlanDetail::getMaterialCode, (k1, k2) -> k1)); +// +// List data = new ArrayList<>(); +// WCSDataDTO wCSDataDTO = null; +// for (String g : gList) { +// wCSDataDTO = new WCSDataDTO(); +// wCSDataDTO.setSku(glMap.get(g));//罐 +// wCSDataDTO.setLoadNo(g);//料 +// List unLoadItems = new ArrayList<>();//上位机集合 +// //罐-工单 +// List ggList = planDetails.stream() +// .filter(plan -> plan.getBucketCode().equals(g)) +// .collect(Collectors.toList()); +// WCSDataItemsDTO wCSDataItemsDTO = null; +// for (ProWetMaterialPlanDetail gg : ggList) { +// //根据工单查收坯机编码 +// String bucketCode = proOrderWorkorderMapper.getBucketCodeByWorkId(gg.getWorkorderId()); +// if (StringUtils.isNotBlank(bucketCode)) { +// wCSDataItemsDTO = new WCSDataItemsDTO(); +// wCSDataItemsDTO.setUnloadNo(bucketCode); +// unLoadItems.add(wCSDataItemsDTO); +// } +// } +// wCSDataDTO.setUnLoadItems(unLoadItems); +// } +// wcsdto.setData(data); +// try { +// String sendResult = HttpUtils.sendPost(materialPlanSyncUrl, JSON.toJSONString(wcsdto)); +// WCSDTO resultdto = JSON.parseObject(sendResult, WCSDTO.class); +// if ("1".equals(resultdto.getCode())) { +// return error(resultdto.getMessage()); +// } +// }catch (Exception e){ +// return error("调用接口异常"); +// } +// +// ProWetMaterialPlan detail = new ProWetMaterialPlan(); +// detail.setId(id); +// detail.setSyncFlag("Y");//已经同步的标识 +// proWetMaterialPlanMapper.updateProWetMaterialPlan(detail); +// return success(); +// } /** * 创建湿料(主)计划 diff --git a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderBatchMapper.xml b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderBatchMapper.xml index 856339c5..2b2ea98f 100644 --- a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderBatchMapper.xml +++ b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderBatchMapper.xml @@ -132,9 +132,12 @@ delete from pro_order_workorder_batch where workorder_id in - - #{workorderId} - + ( + select workorder_id from pro_order_workorder where order_id in + + #{workorderId} + + ) diff --git a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml index ad5b4a61..412d8733 100644 --- a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml +++ b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml @@ -384,7 +384,7 @@ - delete from pro_order_workorder where workorder_id in + delete from pro_order_workorder where order_id in #{workorderId} diff --git a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapOrderServiceImpl.java b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapOrderServiceImpl.java index 9e2ec540..9f17929e 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapOrderServiceImpl.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapOrderServiceImpl.java @@ -40,7 +40,7 @@ public class SapOrderServiceImpl implements SapOrderService { JCoTable maraTable = func.getTableParameterList().getTable("ZMES_PRO"); JCoRecordMetaData metaData = maraTable.getRecordMetaData(); System.out.println("###" + metaData.toString()); - SapProOrder proOrder = new SapProOrder(); + List proOrderList = new ArrayList<>(); // 循环输出 Table 数据 for (int i = 0; i < maraTable.getNumRows(); i++) { @@ -62,6 +62,7 @@ public class SapOrderServiceImpl implements SapOrderService { System.out.println("订单号:" + AUFNR + " - 订单类型:" + AUART + " - 上级订单编号:" + MAUFNR + " - 物料号:" + PLNBEZ + " - 物料描述(短文本):" + MAKTX + " - 订单的计划工厂:" + PWERK + " - 订单数量总计:" + GAMNG + " - 基本计量单位:" + GMEIN + " - 任务清单组码:" + PLNNR + " - 基本开始日期:" + GSTRP + " - 基本完成日期:" + GLTRP + " - 输入者:" + ERNAM + " - 创建日期:" + ERDAT + " - 系统状态:" + STTXT); + SapProOrder proOrder = new SapProOrder(); proOrder.setId(IdUtils.fastSimpleUUID()); proOrder.setPlanFactoryCode(PWERK); proOrder.setOrderCode(AUFNR); @@ -78,7 +79,7 @@ public class SapOrderServiceImpl implements SapOrderService { proOrder.setCreateTime(DateUtils.dateTime("yyyy-MM-dd", ERDAT)); proOrder.setUpdateBy(ERNAM); proOrder.setUpdateTime(DateUtils.dateTime("yyyy-MM-dd", ERDAT)); - proOrder.setStatus("0"); + proOrder.setStatus("o0"); proOrderList.add(proOrder); // remotePlanService.sapAddOrder(proOrder); // remoteMesService.sapAddOrder(proOrder);