From b473b8de811b86fd7da321f1148b5c17de9b1394 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 23 四月 2026 15:07:46 +0800
Subject: [PATCH] refactor(production): 移除生产订单中的强度字段

---
 src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java |   40 +---------------------------------------
 1 files changed, 1 insertions(+), 39 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 8214709..978c76d 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java
@@ -31,10 +31,6 @@
 import com.ruoyi.production.pojo.ProductionPlan;
 import com.ruoyi.production.pojo.ProductionProductMain;
 import com.ruoyi.production.enums.ProductOrderStatusEnum;
-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;
@@ -79,8 +75,6 @@
     private final ProductionOrderPickMapper productionOrderPickMapper;
     private final ProductionOrderPickRecordMapper productionOrderPickRecordMapper;
     private final ProductionPlanMapper productionPlanMapper;
-    private final SalesLedgerMapper salesLedgerMapper;
-    private final SalesLedgerProductMapper salesLedgerProductMapper;
     private final TechnologyRoutingMapper technologyRoutingMapper;
     private final TechnologyRoutingOperationMapper technologyRoutingOperationMapper;
     private final TechnologyRoutingOperationParamMapper technologyRoutingOperationParamMapper;
@@ -318,7 +312,6 @@
         ProductionOrder query = dto == null ? new ProductionOrder() : dto;
         return Wrappers.<ProductionOrder>lambdaQuery()
                 .eq(query.getId() != null, ProductionOrder::getId, query.getId())
-                .eq(query.getSalesLedgerId() != null, ProductionOrder::getSalesLedgerId, query.getSalesLedgerId())
                 .eq(query.getProductModelId() != null, ProductionOrder::getProductModelId, query.getProductModelId())
                 .eq(query.getTechnologyRoutingId() != null, ProductionOrder::getTechnologyRoutingId, query.getTechnologyRoutingId())
                 .like(query.getNpsNo() != null && !query.getNpsNo().trim().isEmpty(), ProductionOrder::getNpsNo, query.getNpsNo())
@@ -370,10 +363,9 @@
         if (productionOrder == null) {
             throw new ServiceException("Production order is required");
         }
-        fillFromSalesLedgerProduct(productionOrder);
         fillFromProductionPlans(productionOrder);
         if (productionOrder.getProductModelId() == null) {
-            throw new ServiceException("productModelId is required");
+            throw new ServiceException("productModelId is required when manually creating a production order");
         }
         if (defaultDecimal(productionOrder.getQuantity()).compareTo(BigDecimal.ZERO) <= 0) {
             throw new ServiceException("quantity must be greater than 0");
@@ -396,36 +388,6 @@
                     || !Objects.equals(oldOrder.getTechnologyRoutingId(), productionOrder.getTechnologyRoutingId())
                     || compareDecimal(oldOrder.getQuantity(), productionOrder.getQuantity()) != 0) {
                 throw new ServiceException("Started production orders cannot modify product, routing or quantity");
-            }
-        }
-    }
-
-    private void fillFromSalesLedgerProduct(ProductionOrder productionOrder) {
-        if (productionOrder.getSaleLedgerProductId() == null) {
-            return;
-        }
-        // 閿�鍞槑缁嗘槸璁㈠崟鏉ユ簮鏃讹紝浠ラ攢鍞槑缁嗕负鍑嗗洖濉攢鍞彴璐︺�佷骇鍝佽鏍煎拰榛樿鏁伴噺銆�
-        SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(productionOrder.getSaleLedgerProductId().longValue());
-        if (salesLedgerProduct == null) {
-            throw new ServiceException("Sales ledger product not found");
-        }
-        if (productionOrder.getSalesLedgerId() == null) {
-            productionOrder.setSalesLedgerId(salesLedgerProduct.getSalesLedgerId());
-        } else if (!Objects.equals(productionOrder.getSalesLedgerId(), salesLedgerProduct.getSalesLedgerId())) {
-            throw new ServiceException("salesLedgerId does not match the sales ledger product");
-        }
-        if (productionOrder.getProductModelId() == null) {
-            productionOrder.setProductModelId(salesLedgerProduct.getProductModelId());
-        } else if (!Objects.equals(productionOrder.getProductModelId(), salesLedgerProduct.getProductModelId())) {
-            throw new ServiceException("productModelId does not match the sales ledger product");
-        }
-        if (productionOrder.getQuantity() == null || productionOrder.getQuantity().compareTo(BigDecimal.ZERO) <= 0) {
-            productionOrder.setQuantity(salesLedgerProduct.getQuantity());
-        }
-        if (productionOrder.getPlanCompleteTime() == null && productionOrder.getSalesLedgerId() != null) {
-            SalesLedger salesLedger = salesLedgerMapper.selectById(productionOrder.getSalesLedgerId());
-            if (salesLedger != null && salesLedger.getDeliveryDate() != null) {
-                productionOrder.setPlanCompleteTime(salesLedger.getDeliveryDate());
             }
         }
     }

--
Gitblit v1.9.3