From a4efd143390e13ef982174512fdbcd88468582c2 Mon Sep 17 00:00:00 2001 From: youjianchi Date: Mon, 8 Apr 2024 20:17:16 +0800 Subject: [PATCH] =?UTF-8?q?[feat]:=E6=A0=B9=E6=8D=AE=E9=94=80=E5=94=AE?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BC=96=E5=8F=B7=E7=94=9F=E6=88=90=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/service/ISysMakeOrderService.java | 6 +++ .../service/ISysMakeorderDeptService.java | 12 ++++++ .../service/impl/SysMakeOrderServiceImpl.java | 40 +++++++++++++++---- .../impl/SysMakeorderDeptServiceImpl.java | 12 ++++++ 4 files changed, 63 insertions(+), 7 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysMakeOrderService.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysMakeOrderService.java index c02338fc..f5e0c994 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysMakeOrderService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysMakeOrderService.java @@ -85,4 +85,10 @@ public interface ISysMakeOrderService * 生产订单完成的订单 */ public Integer selectSysMakeOrderByFinsh(); + + /** + * 根据销售订单编号生成生产订单 + * @param salesOrderCode + */ + void generateMakeOrderBySalesOrderCode(String salesOrderCode); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysMakeorderDeptService.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysMakeorderDeptService.java index 7960c0e6..64ea4d35 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysMakeorderDeptService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysMakeorderDeptService.java @@ -1,5 +1,6 @@ package com.ruoyi.system.service; +import java.util.Arrays; import java.util.List; import com.ruoyi.system.domain.SysMakeorderDept; @@ -11,6 +12,10 @@ import com.ruoyi.system.domain.SysMakeorderDept; */ public interface ISysMakeorderDeptService { + + // 预审部门 业务部、工程部、采购部、品质部(来料、生产)、生产部 + List YS_DEPT_NUMBER_LIST = Arrays.asList("GMD","END","PUD","QAD","PD"); + /** * 查询生产订单部门 * @@ -84,4 +89,11 @@ public interface ISysMakeorderDeptService * @param makeorderDeptList */ void deptLeaderConfirm(List makeorderDeptList); + + /** + * 根据生产订单号、料号生成预审数据 + * @param makeNo + * @param materialNo + */ + void generateYsDataByMakeNoAndMaterialNo(String makeNo,String materialNo); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeOrderServiceImpl.java index 2562e37a..25932cab 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeOrderServiceImpl.java @@ -1,12 +1,16 @@ package com.ruoyi.system.service.impl; +import cn.hutool.core.collection.CollectionUtil; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.system.domain.SysMakeOrder; +import com.ruoyi.system.domain.SysSalesOrderChild; import com.ruoyi.system.mapper.SysMakeOrderMapper; import com.ruoyi.system.service.ISysMakeOrderService; +import com.ruoyi.system.service.ISysMakeorderDeptService; +import com.ruoyi.system.service.ISysSalesOrderChildService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -19,7 +23,7 @@ import java.util.List; * @date 2023-12-18 */ @Service -public class SysMakeOrderServiceImpl implements ISysMakeOrderService +public class SysMakeOrderServiceImpl implements ISysMakeOrderService { @Autowired private SysMakeOrderMapper sysMakeOrderMapper; @@ -27,6 +31,12 @@ public class SysMakeOrderServiceImpl implements ISysMakeOrderService @Autowired private RedisCache redisCache; + @Autowired + private ISysMakeorderDeptService makeorderDeptService; + + @Autowired + private ISysSalesOrderChildService salesOrderChildService; + /** * 查询生产订单 * @@ -63,12 +73,6 @@ public class SysMakeOrderServiceImpl implements ISysMakeOrderService String loginName = ShiroUtils.getLoginName(); sysMakeOrder.setCreateBy(loginName); sysMakeOrder.setCreateTime(DateUtils.getNowDate()); - String makeNo = redisCache.generateBillNo("PO"); - sysMakeOrder.setMakeNo(makeNo); - sysMakeOrder.setUseStatus("0"); - sysMakeOrder.setMakeStatus("0"); - sysMakeOrder.setEceiptStatus("0"); - sysMakeOrder.setQualityStatus("0"); return sysMakeOrderMapper.insertSysMakeOrder(sysMakeOrder); } @@ -160,4 +164,26 @@ public class SysMakeOrderServiceImpl implements ISysMakeOrderService public Integer selectSysMakeOrderByFinsh() { return sysMakeOrderMapper.selectSysMakeOrderByFinsh(); } + + @Override + public void generateMakeOrderBySalesOrderCode(String salesOrderCode) { + SysMakeOrder makeOrder = new SysMakeOrder(); + // 待评审 + makeOrder.setMakeStatus("1"); + // 是 + makeOrder.setUseStatus("1"); + makeOrder.setSaleNo(salesOrderCode); + String makeNo = redisCache.generateBillNo("PO"); + makeOrder.setMakeNo(makeNo); + insertSysMakeOrder(makeOrder); + // 生成部门待预审数据 + List salesOrderChildList = salesOrderChildService.selectSysSalesOrderChildByQuoteId(salesOrderCode); + if(CollectionUtil.isNotEmpty(salesOrderChildList)){ + salesOrderChildList.forEach(t->{ + String materialCode = t.getMaterialCode(); + makeorderDeptService.generateYsDataByMakeNoAndMaterialNo(makeNo,materialCode); + }); + } + + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderDeptServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderDeptServiceImpl.java index 9296c885..77cbc607 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderDeptServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderDeptServiceImpl.java @@ -187,4 +187,16 @@ public class SysMakeorderDeptServiceImpl implements ISysMakeorderDeptService sysMakeorderDeptMapper.updateSysMakeorderDept(dept); }); } + + @Override + public void generateYsDataByMakeNoAndMaterialNo(String makeNo, String materialNo) { + for (int i = 0; i < YS_DEPT_NUMBER_LIST.size(); i++) { + String ysDeptNumber = YS_DEPT_NUMBER_LIST.get(i); + SysMakeorderDept makeorderDept = new SysMakeorderDept(); + makeorderDept.setMakeNo(makeNo); + makeorderDept.setMaterialNo(materialNo); + makeorderDept.setDeptNumber(ysDeptNumber); + insertSysMakeorderDept(makeorderDept); + } + } }