From 8b749305a8e8c3f4bf669f6980edf2bbb7bfa9c7 Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期五, 24 四月 2026 11:14:34 +0800
Subject: [PATCH] Merge branch 'dev_New_pro' of http://114.132.189.42:9002/r/product-inventory-management-after into dev_New_pro

---
 src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java |   79 +++++++++++----------------------------
 1 files changed, 22 insertions(+), 57 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java
index e48509e..5ec666b 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java
@@ -2,6 +2,7 @@
 
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -15,60 +16,24 @@
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.production.bean.dto.ProductionOrderDto;
 import com.ruoyi.production.bean.vo.ProductionOrderVo;
-import com.ruoyi.production.mapper.ProductionBomStructureMapper;
-import com.ruoyi.production.mapper.ProductionOperationTaskMapper;
-import com.ruoyi.production.mapper.ProductionOrderBomMapper;
-import com.ruoyi.production.mapper.ProductionOrderMapper;
-import com.ruoyi.production.mapper.ProductionOrderPickMapper;
-import com.ruoyi.production.mapper.ProductionOrderPickRecordMapper;
-import com.ruoyi.production.mapper.ProductionOrderRoutingMapper;
-import com.ruoyi.production.mapper.ProductionOrderRoutingOperationMapper;
-import com.ruoyi.production.mapper.ProductionOrderRoutingOperationParamMapper;
-import com.ruoyi.production.mapper.ProductionPlanMapper;
-import com.ruoyi.production.mapper.ProductionProductMainMapper;
-import com.ruoyi.production.pojo.ProductionOrderPick;
-import com.ruoyi.production.pojo.ProductionOrderPickRecord;
-import com.ruoyi.production.pojo.ProductionBomStructure;
-import com.ruoyi.production.pojo.ProductionOperationTask;
-import com.ruoyi.production.pojo.ProductionOrder;
-import com.ruoyi.production.pojo.ProductionOrderBom;
-import com.ruoyi.production.pojo.ProductionOrderRouting;
-import com.ruoyi.production.pojo.ProductionOrderRoutingOperation;
-import com.ruoyi.production.pojo.ProductionOrderRoutingOperationParam;
-import com.ruoyi.production.pojo.ProductionPlan;
-import com.ruoyi.production.pojo.ProductionProductMain;
 import com.ruoyi.production.enums.ProductOrderStatusEnum;
+import com.ruoyi.production.mapper.*;
+import com.ruoyi.production.pojo.*;
+import com.ruoyi.production.service.ProductionOrderService;
 import com.ruoyi.sales.mapper.SalesLedgerMapper;
 import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
 import com.ruoyi.sales.pojo.SalesLedger;
 import com.ruoyi.sales.pojo.SalesLedgerProduct;
-import com.ruoyi.production.service.ProductionOrderService;
-import com.ruoyi.technology.mapper.TechnologyBomMapper;
-import com.ruoyi.technology.mapper.TechnologyBomStructureMapper;
-import com.ruoyi.technology.mapper.TechnologyRoutingMapper;
-import com.ruoyi.technology.mapper.TechnologyRoutingOperationMapper;
-import com.ruoyi.technology.mapper.TechnologyRoutingOperationParamMapper;
-import com.ruoyi.technology.pojo.TechnologyBom;
-import com.ruoyi.technology.pojo.TechnologyBomStructure;
-import com.ruoyi.technology.pojo.TechnologyRouting;
-import com.ruoyi.technology.pojo.TechnologyRoutingOperation;
-import com.ruoyi.technology.pojo.TechnologyRoutingOperationParam;
+import com.ruoyi.technology.mapper.*;
+import com.ruoyi.technology.pojo.*;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
-import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -98,7 +63,7 @@
     private final FileUtil fileUtil;
 
     @Override
-    public com.baomidou.mybatisplus.core.metadata.IPage<ProductionOrderVo> pageProductionOrder(Page<ProductionOrderDto> page, ProductionOrderDto dto) {
+    public IPage<ProductionOrderVo> pageProductionOrder(Page<ProductionOrderDto> page, ProductionOrderDto dto) {
         Page<ProductionOrderVo> result = (Page<ProductionOrderVo>) baseMapper.pageProductionOrder(page, dto);
         fillProductImages(result.getRecords());
         return result;
@@ -395,18 +360,18 @@
         if (defaultDecimal(productionOrder.getQuantity()).compareTo(BigDecimal.ZERO) <= 0) {
             throw new ServiceException("quantity must be greater than 0");
         }
-        if (productionOrder.getTechnologyRoutingId() == null) {
-            // 鏈樉寮忔寚瀹氬伐鑹鸿矾绾挎椂锛屾寜浜у搧瑙勬牸閫夋渶鏂颁竴鏉″伐鑹轰綔涓洪粯璁よ矾绾裤��
-            TechnologyRouting technologyRouting = technologyRoutingMapper.selectOne(
-                    Wrappers.<TechnologyRouting>lambdaQuery()
-                            .eq(TechnologyRouting::getProductModelId, productionOrder.getProductModelId())
-                            .orderByDesc(TechnologyRouting::getId)
-                            .last("limit 1"));
-            if (technologyRouting == null) {
-                throw new ServiceException("No technology routing found for the product model");
-            }
-            productionOrder.setTechnologyRoutingId(technologyRouting.getId());
-        }
+//        if (productionOrder.getTechnologyRoutingId() == null) {
+//            // 鏈樉寮忔寚瀹氬伐鑹鸿矾绾挎椂锛屾寜浜у搧瑙勬牸閫夋渶鏂颁竴鏉″伐鑹轰綔涓洪粯璁よ矾绾裤��
+//            TechnologyRouting technologyRouting = technologyRoutingMapper.selectOne(
+//                    Wrappers.<TechnologyRouting>lambdaQuery()
+//                            .eq(TechnologyRouting::getProductModelId, productionOrder.getProductModelId())
+//                            .orderByDesc(TechnologyRouting::getId)
+//                            .last("limit 1"));
+//            if (technologyRouting == null) {
+//                throw new ServiceException("No technology routing found for the product model");
+//            }
+//            productionOrder.setTechnologyRoutingId(technologyRouting.getId());
+//        }
         if (oldOrder != null && ProductOrderStatusEnum.isStarted(oldOrder.getStatus())) {
             // 寮�宸ュ悗鍙厑璁镐慨姝i潪鏍稿績瀛楁锛屾牳蹇冪敓浜т緷鎹攣瀹氥��
             if (!Objects.equals(oldOrder.getProductModelId(), productionOrder.getProductModelId())
@@ -591,10 +556,10 @@
             return null;
         }
         if (productionPlan.getPromisedDeliveryDate() != null) {
-            return productionPlan.getPromisedDeliveryDate().toLocalDate();
+            return productionPlan.getPromisedDeliveryDate();
         }
         if (productionPlan.getRequiredDate() != null) {
-            return productionPlan.getRequiredDate().toLocalDate();
+            return productionPlan.getRequiredDate();
         }
         return null;
     }

--
Gitblit v1.9.3