Forráskód Böngészése

生产中的订单不记录异常

24282 1 éve
szülő
commit
19a3bcdff2

+ 39 - 0
sd-starter/src/test/java/TestList.java

@@ -1,3 +1,4 @@
+import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.ruoyi.common.exception.ServiceException;
@@ -5,8 +6,11 @@ import com.sd.SdApplication;
 import com.sd.business.entity.order.po.OrderInfo;
 import com.sd.business.entity.production.dto.StockPreparationDto;
 import com.sd.business.entity.production.vo.UncompletedVo;
+import com.sd.business.entity.statement.dto.GetDocumentDto;
+import com.sd.business.entity.statement.vo.DocumentByOrderVo;
 import com.sd.business.service.order.OrderService;
 import com.sd.business.service.production.StockPreparationService;
+import com.sd.business.service.statement.StatementOfAccountMergeService;
 import com.sd.wln.service.WlnStatementOfAccount;
 import com.sd.wln.util.WlnUtil;
 import org.junit.Test;
@@ -15,9 +19,12 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = SdApplication.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
@@ -100,4 +107,36 @@ public class TestList {
         } while (size >= 200);
     }
 
+
+    @Autowired
+    private StatementOfAccountMergeService statementOfAccountMergeService;
+
+    @Test
+    public void b() {
+        String a = "{\n" +
+                "    \"idGroupConcat\": \"1699739286011727873,1702638389020454914,1700101673936044034,1700464061822562305,1702276001603575809,1700826449696530434,1701928713001660417,1701551225520091137,1701106726288019458,1701106725822451713,1701106725755342850,1701106725625319426,1701106725558210565,1701106725558210564,1699376899223990273\"\n" +
+                "}";
+        GetDocumentDto dto = JSON.parseObject(a).toJavaObject(GetDocumentDto.class);
+
+
+        List<DocumentByOrderVo> documentByOrder = statementOfAccountMergeService.getDocumentByOrder(dto);
+
+        List<DocumentByOrderVo> documentByOrderVoStream = documentByOrder.stream().filter(item -> {
+            List<DocumentByOrderVo.SkuSpec> skuSpecList = item.getSkuSpecList();
+            return skuSpecList.stream().anyMatch(i -> i.getSkuSpecCode().equals("FY088-3-08AL39B"));
+        }).collect(Collectors.toList());
+
+
+        Map<String, BigDecimal> collect = documentByOrderVoStream.stream()
+                .collect(Collectors.toMap(
+                        DocumentByOrderVo::getWlnCode,
+                        item -> item.getSkuSpecList().stream()
+                                .filter(i -> i.getSkuSpecCode().equals("FY088-3-08AL39B"))
+                                .map(DocumentByOrderVo.SkuSpec::getQuantity).reduce(BigDecimal.ZERO, BigDecimal::add))
+                );
+
+
+        System.out.println(JSON.toJSONString(collect));
+    }
+
 }

+ 5 - 0
sd-wln/src/main/java/com/sd/wln/service/impl/WlnOrderServiceImpl.java

@@ -532,6 +532,11 @@ public class WlnOrderServiceImpl implements WlnOrderService {
      * 添加订单异常类型
      */
     private void addExceptionType(OrderInfo orderInfo, OrderExceptionTypeEnum exceptionTypeEnum) {
+
+        if (orderInfo.getStatus() >= OrderStatusEnum.IN_PRODUCTION.getKey()) {
+            return;
+        }
+
         String exceptionType = orderInfo.getExceptionType();
         orderInfo.setExceptionType(orderService.addExceptionType(exceptionType, exceptionTypeEnum.getKey()));
         orderInfo.setExceptionTime(ObjectUtil.defaultIfNull(orderInfo.getExceptionTime(), new Date()));