瀏覽代碼

问题处理

yzc 1 年之前
父節點
當前提交
e4f2768a1c

+ 9 - 0
hx-purchase/src/main/java/com/fjhx/purchase/service/purchase/impl/PurchaseServiceImpl.java

@@ -1016,6 +1016,15 @@ public class PurchaseServiceImpl extends ServiceImpl<PurchaseMapper, Purchase>
 
         //更新待采购状态
         updateSubscribeStatus(id);
+
+        //终止待入库
+        stockWaitService.update(q -> q
+                .eq(StockWait::getPurchaseId, id)
+                .ne(StockWait::getStatus, 2)
+                .set(StockWait::getStatus, 3)
+                .set(BasePo::getUpdateTime, new Date())
+                .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
+        );
     }
 
     /**

+ 29 - 13
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockJournalDetailsServiceImpl.java

@@ -30,6 +30,7 @@ import com.fjhx.wms.service.arrival.ArrivalStockRecordsDetailsService;
 import com.fjhx.wms.service.arrival.ArrivalStockRecordsService;
 import com.fjhx.wms.service.stock.*;
 import com.fjhx.wms.service.warehouse.WarehouseService;
+import com.ruoyi.common.core.domain.BasePo;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
@@ -39,10 +40,7 @@ import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -343,21 +341,39 @@ public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDeta
         ArrivalStockRecordsDetails arrivalStockRecordsDetails = arrivalStockRecordsDetailsService.getOne(q -> q
                 .eq(ArrivalStockRecordsDetails::getBusinessDetailsId, stockWaitDetailsId)
         );
-        ArrivalStockRecords arrivalStockRecords = arrivalStockRecordsService.getById(arrivalStockRecordsDetails.getArrivalStockRecordsId());
-        if (arrivalStockRecordsDetails.getQuantity().compareTo(arrivalStockRecordsDetails.getQualityQuantity()) <= 0) {
-            //完全质检
-            arrivalStockRecords.setQualityStatus(2);
-        } else {
-            //部分质检
-            arrivalStockRecords.setQualityStatus(1);
-        }
-        arrivalStockRecordsService.updateById(arrivalStockRecords);
+        updateArrivalStockRecordsStatus(arrivalStockRecordsDetails.getArrivalStockRecordsId());
 
 
         stockJournalDetails.setQuantity(dto.getQuantity());
         this.updateById(stockJournalDetails);
     }
 
+    private void updateArrivalStockRecordsStatus(Long arrivalStockRecordsId) {
+        //更新待出库记录状态
+        int statusFlag = 0;
+        List<ArrivalStockRecordsDetails> arrivalStockRecordsDetails = arrivalStockRecordsDetailsService.list(q -> q.eq(ArrivalStockRecordsDetails::getArrivalStockRecordsId, arrivalStockRecordsId));
+        for (ArrivalStockRecordsDetails stockRecordsDetails : arrivalStockRecordsDetails) {
+            //计算已经完全质检的数量
+            BigDecimal qualityQuantity1 = ObjectUtil.isEmpty(stockRecordsDetails.getQualityQuantity()) ? BigDecimal.ZERO : stockRecordsDetails.getQualityQuantity();
+            if (qualityQuantity1.compareTo(stockRecordsDetails.getQuantity()) >= 0) {
+                statusFlag++;
+            }
+        }
+        Integer qualityStatus;
+        if (statusFlag == arrivalStockRecordsDetails.size()) {
+            qualityStatus = 2;//质检完成
+        } else {
+            qualityStatus = 1;//部分质检
+        }
+        arrivalStockRecordsService.update(q -> q
+                .eq(ArrivalStockRecords::getId, arrivalStockRecordsId)
+                .set(ArrivalStockRecords::getQualityStatus, qualityStatus)
+                .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
+                .set(BasePo::getUpdateTime, new Date())
+        );
+    }
+
+
     /**
      * 出入库流水Excel导出
      */