‘linchangsheng’ 7 months ago
parent
commit
4a1db600f9
1 changed files with 13 additions and 0 deletions
  1. 13 0
      src/main/java/com/zfire/mall/manager/logic/k3/K3MaterialLogic.java

+ 13 - 0
src/main/java/com/zfire/mall/manager/logic/k3/K3MaterialLogic.java

@@ -19,6 +19,7 @@ import com.zfire.mall.manager.exception.RemoteServiceException;
 import com.zfire.mall.manager.logic.common.CommonLogic;
 import com.zfire.mall.manager.logic.manage.product.category.ProductCategoryLogic;
 import com.zfire.mall.manager.plus.entity.*;
+import com.zfire.mall.manager.plus.service.KingDeeCategoryService;
 import com.zfire.mall.manager.plus.service.KingDeeMaterialService;
 import com.zfire.mall.manager.plus.service.KingDeeWalletService;
 import com.zfire.mall.manager.plus.service.SaleTypeService;
@@ -33,6 +34,7 @@ import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 @Slf4j
@@ -58,6 +60,9 @@ public class K3MaterialLogic {
     @Autowired
     CommonCMapper commonCMapper;
 
+    @Autowired
+    KingDeeCategoryService kingDeeCategoryService;
+
     /**
      * 物料列表
      */
@@ -192,6 +197,8 @@ public class K3MaterialLogic {
 
     public void importData(List<Object> datas) {
 
+        List<KingDeeCategory> list = kingDeeCategoryService.lambdaQuery().list();
+
 
         int index = 1;
 
@@ -223,6 +230,12 @@ public class K3MaterialLogic {
             kingDeeMaterial.setUseOrgNumber((String)row.get(6));
             kingDeeMaterial.setUseOrgName((String)row.get(7));
             kingDeeMaterial.setCategoryNumber((String)row.get(8));
+
+            if (list.stream().filter(item -> item.getNumber().equals(kingDeeMaterial.getCategoryNumber())).collect(Collectors.toList()).size() < 1) {
+                throw new RemoteServiceException(kingDeeMaterial.getCategoryNumber()+"未查到对应编号得存货类别");
+            }
+
+
             kingDeeMaterial.setCategoryName((String)row.get(9));
             kingDeeMaterial.setBaseUnitCode((String)row.get(10));
             kingDeeMaterial.setBaseUnitId((String)row.get(11));