From 4a5cb2b06edf986c54892d08afe196aed96ee93f Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期三, 18 三月 2026 11:43:54 +0800
Subject: [PATCH] 若上一个工序没有报工,则无法报工

---
 src/main/java/com/ruoyi/production/service/impl/ProductWorkOrderServiceImpl.java |   37 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 36 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductWorkOrderServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductWorkOrderServiceImpl.java
index 4a68ce8..6bbb940 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductWorkOrderServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductWorkOrderServiceImpl.java
@@ -13,10 +13,14 @@
 import com.ruoyi.common.utils.HackLoopTableRenderPolicy;
 import com.ruoyi.common.utils.MatrixToImageWriter;
 import com.ruoyi.production.dto.ProductWorkOrderDto;
+import com.ruoyi.production.mapper.ProductProcessRouteItemMapper;
 import com.ruoyi.production.mapper.ProductWorkOrderFileMapper;
 import com.ruoyi.production.mapper.ProductWorkOrderMapper;
+import com.ruoyi.production.mapper.ProductionProductMainMapper;
+import com.ruoyi.production.pojo.ProductProcessRouteItem;
 import com.ruoyi.production.pojo.ProductWorkOrder;
 import com.ruoyi.production.pojo.ProductWorkOrderFile;
+import com.ruoyi.production.pojo.ProductionProductMain;
 import com.ruoyi.production.service.ProductWorkOrderService;
 import com.ruoyi.quality.pojo.QualityInspectParam;
 import lombok.AllArgsConstructor;
@@ -28,6 +32,7 @@
 import javax.servlet.http.HttpServletResponse;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.math.BigDecimal;
 import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -42,13 +47,43 @@
     private ProductWorkOrderMapper productWorkOrdermapper;
     @Autowired
     private ProductWorkOrderFileMapper productWorkOrderFileMapper;
+    @Autowired
+    private ProductProcessRouteItemMapper productProcessRouteItemMapper;
+    @Autowired
+    private ProductionProductMainMapper productionProductMainMapper;
 
     @Value("${file.temp-dir}")
     private String tempDir;
 
     @Override
     public IPage<ProductWorkOrderDto> listPage(Page<ProductWorkOrderDto> page, ProductWorkOrderDto productWorkOrder) {
-        return productWorkOrdermapper.pageProductWorkOrder(page, productWorkOrder);
+        IPage<ProductWorkOrderDto> productWorkOrderDtoIPage = productWorkOrdermapper.pageProductWorkOrder(page, productWorkOrder);
+        productWorkOrderDtoIPage.getRecords().forEach(record -> {
+            //妫�鏌ヤ笂涓�涓伐搴忔槸鍚﹀凡鎶ュ伐
+            Integer currentDragSort = record.getDragSort();
+            if (currentDragSort == null || currentDragSort == 1) {
+                record.setIsCanReport(true);
+            } else {
+                //鏌ユ壘涓婁竴涓伐搴�
+                ProductProcessRouteItem previousItem = productProcessRouteItemMapper.selectOne(
+                        Wrappers.<ProductProcessRouteItem>lambdaQuery()
+                                .eq(ProductProcessRouteItem::getProductRouteId, record.getProductRouteId())
+                                .eq(ProductProcessRouteItem::getDragSort, currentDragSort - 1)
+                );
+
+                if (previousItem != null) {
+                    //妫�鏌ヤ笂涓�涓伐搴忔槸鍚︽湁鎶ュ伐璁板綍
+                    Long count = productionProductMainMapper.selectCount(
+                            Wrappers.<ProductionProductMain>lambdaQuery()
+                                    .eq(ProductionProductMain::getProductProcessRouteItemId, previousItem.getId())
+                    );
+                    record.setIsCanReport(count > 0);
+                } else {
+                    record.setIsCanReport(true);
+                }
+            }
+        });
+        return productWorkOrderDtoIPage;
     }
 
     @Override

--
Gitblit v1.9.3