From 84b0d515f7373d5fc2688a25fa2fc9fe8059f576 Mon Sep 17 00:00:00 2001 From: yinq Date: Thu, 22 Feb 2024 17:45:16 +0800 Subject: [PATCH] =?UTF-8?q?change=20-=20=E7=94=9F=E4=BA=A7=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E6=B7=BB=E5=8A=A0=E6=97=A0=E9=94=80=E5=94=AE=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E6=96=B0=E5=A2=9E=E3=80=81=E5=8F=91=E5=B8=83=E3=80=81?= =?UTF-8?q?=E6=92=A4=E5=9B=9E=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MesProductOrderController.java | 18 + .../mes/service/IMesProductOrderService.java | 16 + .../impl/MesProductOrderServiceImpl.java | 38 +- .../mapper/mes/MesProductOrderMapper.xml | 1 + hw-ui/src/api/mes/productOrder.js | 18 + hw-ui/src/views/mes/materialBom/addBom.vue | 36 +- hw-ui/src/views/mes/productOrder/index.vue | 438 ++++++++++++------ 7 files changed, 400 insertions(+), 165 deletions(-) diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesProductOrderController.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesProductOrderController.java index 361d4e11..9db9c637 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesProductOrderController.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesProductOrderController.java @@ -106,6 +106,24 @@ public class MesProductOrderController extends BaseController { return toAjax(mesProductOrderService.productOrderLockInventory(mesProductOrder)); } + /** + * 工单发布 + */ + @Log(title = "生产工单", businessType = BusinessType.UPDATE) + @PostMapping("/productOrderPublish") + public AjaxResult productOrderPublish(@RequestBody MesProductOrder mesProductOrder) { + return toAjax(mesProductOrderService.productOrderPublish(mesProductOrder)); + } + + /** + * 工单撤回 + */ + @Log(title = "生产工单", businessType = BusinessType.UPDATE) + @PostMapping("/productOrderRecall") + public AjaxResult productOrderRecall(@RequestBody MesProductOrder mesProductOrder) { + return toAjax(mesProductOrderService.productOrderRecall(mesProductOrder)); + } + /** * 获取工单编号 * diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesProductOrderService.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesProductOrderService.java index 596b31fb..8cea956a 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesProductOrderService.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesProductOrderService.java @@ -73,4 +73,20 @@ public interface IMesProductOrderService */ public int productOrderLockInventory(MesProductOrder mesProductOrder); + /** + * 工单发布 + * + * @param mesProductOrder 生产工单 + * @return 结果 + */ + public int productOrderPublish(MesProductOrder mesProductOrder); + + /** + * 工单撤回 + * + * @param mesProductOrder 生产工单 + * @return 结果 + */ + public int productOrderRecall(MesProductOrder mesProductOrder); + } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesProductOrderServiceImpl.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesProductOrderServiceImpl.java index 58d5c583..4c6c8242 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesProductOrderServiceImpl.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesProductOrderServiceImpl.java @@ -56,7 +56,7 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService { @Override public int insertMesProductOrder(MesProductOrder mesProductOrder) { mesProductOrder.setCreateTime(DateUtils.getNowDate()); - //校验是否超出销售数量 + //销售订单添加工单:校验是否超出销售数量 if (mesProductOrder.getSaleOrderFlag().equals("1") && StringUtils.isNotNull(mesProductOrder.getSaleOrderId())) { checkSalesQuantity(mesProductOrder); } @@ -131,7 +131,9 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService { BigDecimal sumDecimal = new BigDecimal(0); if (StringUtils.isNotNull(mesProductOrders)) { for (MesProductOrder order : mesProductOrders) { - sumDecimal = sumDecimal.add(order.getPlanAmount()); + if (!order.getOrderStatus().equals(MesConstants.RECALL)){ + sumDecimal = sumDecimal.add(order.getPlanAmount()); + } } } sumDecimal = sumDecimal.add(mesProductOrder.getPlanAmount()); @@ -152,8 +154,40 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService { if (productOrder.getStockLockFlag().equals("1")) { throw new ServiceException("该工单库存已锁定!"); } + if (!mesProductOrder.getOrderStatus().equals(MesConstants.UN_PUBLISH)){ + throw new ServiceException("该生产工单不是未发布状态!"); + } + // 调用仓库接口锁定库存 mesProductOrder.setUpdateTime(DateUtils.getNowDate()); return mesProductOrderMapper.updateMesProductOrder(mesProductOrder); } + /** + * 工单发布 + * @param mesProductOrder 生产工单 + * @return + */ + @Override + public int productOrderPublish(MesProductOrder mesProductOrder) { + if (!mesProductOrder.getOrderStatus().equals(MesConstants.UN_PUBLISH)){ + throw new ServiceException("该生产工单不是未发布状态!"); + } + mesProductOrder.setOrderStatus(MesConstants.PUBLISHED); + return mesProductOrderMapper.updateMesProductOrder(mesProductOrder); + } + + /** + * 工单撤回 + * @param mesProductOrder 生产工单 + * @return + */ + @Override + public int productOrderRecall(MesProductOrder mesProductOrder) { + // 检验生产派工未下达状态的可进行工单撤回 + mesProductOrder.setOrderStatus(MesConstants.RECALL); + // 调用仓库接口取消锁定库存 + mesProductOrder.setStockLockFlag("0"); + return mesProductOrderMapper.updateMesProductOrder(mesProductOrder); + } + } diff --git a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesProductOrderMapper.xml b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesProductOrderMapper.xml index 3a82ae28..f68b642f 100644 --- a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesProductOrderMapper.xml +++ b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesProductOrderMapper.xml @@ -70,6 +70,7 @@