From 4b477a3e4e00df6e203d7093b90defda51cbba22 Mon Sep 17 00:00:00 2001 From: xs Date: Fri, 30 Aug 2024 13:58:11 +0800 Subject: [PATCH] =?UTF-8?q?3.0.2=20MES:=20=E7=94=9F=E4=BA=A7=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E5=AE=8C=E5=96=84=EF=BC=9A=E4=BF=AE=E6=94=B9=E6=97=B6?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E7=8A=B6=E6=80=81=EF=BC=8C=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MesProductOrderController.java | 2 +- .../hw/mes/mapper/MesProductOrderMapper.java | 12 ++ .../mes/service/IMesProductOrderService.java | 8 + .../impl/MesProductOrderServiceImpl.java | 69 ++++++++ hw-ui/src/layout/components/AppMain.vue | 4 +- hw-ui/src/views/mes/productOrder/index.vue | 147 ++++++++++++------ 6 files changed, 192 insertions(+), 50 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 c706d03..3dc69e4 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 @@ -48,7 +48,7 @@ public class MesProductOrderController extends BaseController { @GetMapping("/list") public TableDataInfo list(MesProductOrder mesProductOrder) { startPage(); - List list = mesProductOrderService.selectMesProductOrderList(mesProductOrder); + List list = mesProductOrderService.selectMesProductOrderJoinList(mesProductOrder); return getDataTable(list); } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesProductOrderMapper.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesProductOrderMapper.java index aff3c8c..3a4567a 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesProductOrderMapper.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesProductOrderMapper.java @@ -74,4 +74,16 @@ public interface MesProductOrderMapper */ List selectMesProductOrderListByPreOrderId(Long productOrderId); + + /** + * 查询生产工单列表,join + * + * @param mesProductOrder 生产工单 + * @return 生产工单集合 + */ + public List selectMesProductOrderJoinList(MesProductOrder 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 e6f404b..ba7dc04 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 @@ -29,6 +29,14 @@ public interface IMesProductOrderService */ public List selectMesProductOrderList(MesProductOrder mesProductOrder); + /** + * 查询生产工单列表,join + * + * @param mesProductOrder 生产工单 + * @return 生产工单 + */ + public List selectMesProductOrderJoinList(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 84251b9..db2773d 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 @@ -66,6 +66,21 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService { return mesProductOrderMapper.selectMesProductOrderList(mesProductOrder); } + + /** + * 查询生产工单列表,join + * + * @param mesProductOrder 生产工单 + * @return 生产工单 + */ + @Override + public List selectMesProductOrderJoinList(MesProductOrder mesProductOrder) { + mesProductOrder.setMaterialSpec(StringUtils.isNotEmpty(mesProductOrder.getMaterialSpec()) + ? mesProductOrder.getMaterialSpec().replaceAll("\\s+", "") : ""); + return mesProductOrderMapper.selectMesProductOrderJoinList(mesProductOrder); + } + + /** * 新增生产工单 * @@ -75,6 +90,12 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService { @Override public int insertMesProductOrder(MesProductOrder mesProductOrder) { mesProductOrder.setCreateTime(DateUtils.getNowDate()); + //校验如果有前置任务,则开始时间不能小于前置任务的结束时间 +// if(mesProductOrder.getPreOrderId()!=null){ +// checkPreTime(mesProductOrder); +// } + + //校验同一工艺路线时间重叠 checkSameProcessTimeClash(mesProductOrder); //销售订单添加工单:校验是否超出销售数量 @@ -105,8 +126,40 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService { */ @Override public int updateMesProductOrder(MesProductOrder mesProductOrder) { + //校验当前数据库生产工单状态 + MesProductOrder dbProductOrder = mesProductOrderMapper.selectMesProductOrderByProductOrderId(mesProductOrder.getProductOrderId()); + if (!dbProductOrder.getOrderStatus().equals(MesConstants.UN_PUBLISH)) { + String orderStatusPrompt = MesConstants.ORDER_STATUS_PROMPT_MAP.get(dbProductOrder.getOrderStatus()); + throw new ServiceException(String.format("此生产任务已经%s,不能修改!", orderStatusPrompt)); + } + + //如果修改了前置任务,则开始时间不能小于前置任务的结束时间 +// if(mesProductOrder.getPreOrderId()!=null && !mesProductOrder.getPreOrderId().equals(dbProductOrder.getPreOrderId())){ +// checkPreTime(mesProductOrder); +// } + + //如果修改前置任务,导致计划时间变化,则有后置任务的导致不能修改,则需要先修改后置任务,将后置任务的前置任务删除(或者后续优化排查页面,可以统一修改未完成的) + + //如果计划开始时间或计划结束时间有变化,则需要校验有没有前置任务是此任务的,如果有则不能修改,需要在排产页面修改 +// if (!mesProductOrder.getPlanBeginTime().equals(dbProductOrder.getPlanBeginTime()) || +// !mesProductOrder.getPlanEndTime().equals(dbProductOrder.getPlanEndTime())) { +// MesProductOrder queryProductOrder = new MesProductOrder(); +// queryProductOrder.setPreOrderId(mesProductOrder.getProductOrderId()); +// List postProductOrders = mesProductOrderMapper.selectMesProductOrderList(queryProductOrder); +// if (postProductOrders != null && !postProductOrders.isEmpty()) { +// List filterPostProductOrders = postProductOrders.stream().filter(ppo -> +// !ppo.getOrderStatus().equals(MesConstants.RECALL) && !ppo.getOrderStatus().equals(MesConstants.DELETE) +// ).collect(Collectors.toList()); +// +// if (filterPostProductOrders != null && !filterPostProductOrders.isEmpty()) { +// throw new ServiceException("已经有生产任务的前置任务是此生产任务,可以在排产页面统一修改时间"); +// } +// } +// } + //校验同一工艺路线时间重叠 checkSameProcessTimeClash(mesProductOrder); + //销售订单修改工单:校验是否超出销售数量 if (StringUtils.isNotEmpty(mesProductOrder.getSaleOrderFlag()) && mesProductOrder.getSaleOrderFlag().equals("1") @@ -117,6 +170,21 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService { return mesProductOrderMapper.updateMesProductOrder(mesProductOrder); } + /** + * 校验当前任务的开始时间是否小于前置任务的结束时间 + * @param mesProductOrder + */ + private void checkPreTime(MesProductOrder mesProductOrder) { + MesProductOrder preProductOrder = mesProductOrderMapper.selectMesProductOrderByProductOrderId(mesProductOrder.getPreOrderId()); + Date prePlanEndTime = preProductOrder.getPlanEndTime(); + long prePlanEndTimeL = prePlanEndTime.getTime(); + Date planBeginTime = mesProductOrder.getPlanBeginTime(); + long planBeginTimeL = planBeginTime.getTime(); + if(planBeginTimeL < prePlanEndTimeL){ + throw new ServiceException("计划开始时间不能小于前置任务的计划结束时间:"+prePlanEndTime); + } + } + /** * 批量删除生产工单 * @@ -150,6 +218,7 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService { /** * 校验同一工艺路线时间重叠需要抛异常 + * * @param mesProductOrder */ private void checkSameProcessTimeClash(MesProductOrder mesProductOrder) { diff --git a/hw-ui/src/layout/components/AppMain.vue b/hw-ui/src/layout/components/AppMain.vue index a25c562..3c19cf9 100644 --- a/hw-ui/src/layout/components/AppMain.vue +++ b/hw-ui/src/layout/components/AppMain.vue @@ -60,8 +60,8 @@ export default { } ::-webkit-scrollbar { - width: 6px; - height: 6px; + width: 16px; + height: 16px; } ::-webkit-scrollbar-track { diff --git a/hw-ui/src/views/mes/productOrder/index.vue b/hw-ui/src/views/mes/productOrder/index.vue index e4d2827..6c90a35 100644 --- a/hw-ui/src/views/mes/productOrder/index.vue +++ b/hw-ui/src/views/mes/productOrder/index.vue @@ -17,26 +17,41 @@ @keyup.enter.native="handleQuery" /> - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + 导出--> - + @@ -134,7 +149,9 @@ + + - + + + - + + + @@ -220,7 +241,7 @@ @click="handleUpdate(scope.row)" v-if="scope.row.orderStatus === MES_ORDER_STATUS.UNPUBLISH" v-hasPermi="['mes:productOrder:edit']" - >修改工单 + >修改 - + @@ -369,8 +390,8 @@ placeholder="请选择计划交货日期"> - - + @@ -401,7 +422,7 @@ - + @@ -459,8 +480,8 @@ placeholder="请选择计划交货日期"> - - + @@ -509,8 +530,8 @@ - - + +