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 @@