| 
					
				 | 
			
			
				@@ -7,12 +7,14 @@ import com.fs.common.core.redis.RedisCache; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.company.domain.CompanyUser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.company.mapper.CompanyUserMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.core.security.SecurityUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.fs.erp.constant.ErpTypeConstant; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.erp.domain.ErpDeliverys; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.erp.domain.ErpGoods; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.erp.domain.ErpOrderQuery; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.erp.dto.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.erp.service.IErpGoodsService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.erp.service.IErpOrderService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.fs.erp.utils.ErpContextHolder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.store.config.StoreConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.store.domain.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.store.dto.StoreProductGroupDTO; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -39,6 +41,7 @@ import java.text.ParseException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.time.LocalDateTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Set; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import static com.fs.store.constants.StoreConstants.DELIVERY; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -63,6 +66,9 @@ public class StoreTask { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private IFsUserService userService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private FsStoreProductMapper fsStoreProductMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private IErpOrderService erpOrderService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -112,6 +118,8 @@ public class StoreTask { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private FsWxExpressTaskMapper fsWxExpressTaskMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private FsWarehousesMapper fsWarehousesMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 发货任务 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -125,6 +133,11 @@ public class StoreTask { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String orderCode = order.getOrderCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ErpOrderQueryRequert request = new ErpOrderQueryRequert(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             request.setCode(order.getExtendOrderId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 根据仓库code找erp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(com.fs.common.utils.StringUtils.isNotBlank(order.getStoreHouseCode())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String erp = fsWarehousesMapper.selectErpByCode(order.getStoreHouseCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ErpContextHolder.setErpType(erp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ErpOrderQueryResponse response = erpOrderService.getOrder(request); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (CollectionUtils.isNotEmpty(response.getOrders())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 for (ErpOrderQuery orderQuery : response.getOrders()) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -227,12 +240,20 @@ public class StoreTask { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String json = configService.selectConfigByKey("store.config"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         StoreConfig config = JSONUtil.toBean(json, StoreConfig.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<FsStoreProductAttrValue> values = fsStoreProductAttrValueMapper.selectFsStoreProductAttrValueList(new FsStoreProductAttrValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, FsStoreProduct> fsStoreProductMap = fsStoreProductMapper.selectAllProductMappingInfo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int i = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (FsStoreProductAttrValue value : values) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (StringUtils.isNotEmpty(value.getBarCode())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ErpGoodsQueryRequert query = new ErpGoodsQueryRequert(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     query.setCode(value.getBarCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    FsStoreProduct fsStoreProduct = fsStoreProductMap.get(value.getProductId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String erp = fsStoreProduct.getErp(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ErpContextHolder.setErpType(erp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ErpGoodsQueryResponse goods = erpGoodsService.getGoods(query); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     List<ErpGoods> items = goods.getItems(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (items != null && items.size() > 0) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -261,6 +282,11 @@ public class StoreTask { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 String barCode = attrValue.getBarCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 ErpGoodsQueryRequert query = new ErpGoodsQueryRequert(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 query.setCode(barCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                FsStoreProduct fsStoreProduct = fsStoreProductMap.get(value.getProductId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                String erp = fsStoreProduct.getErp(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                ErpContextHolder.setErpType(erp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 ErpGoodsQueryResponse goods = erpGoodsService.getGoods(query); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 List<ErpGoods> items = goods.getItems(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 if (items != null && items.size() > 0) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -286,6 +312,8 @@ public class StoreTask { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 logger.info("商品更新成本价错误:" + value.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }finally { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ErpContextHolder.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -454,6 +482,12 @@ public class StoreTask { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (FsStoreOrder order : list) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ErpOrderQueryRequert request = new ErpOrderQueryRequert(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             request.setCode(order.getExtendOrderId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 根据仓库code找erp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(com.fs.common.utils.StringUtils.isNotBlank(order.getStoreHouseCode())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String erp = fsWarehousesMapper.selectErpByCode(order.getStoreHouseCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ErpContextHolder.setErpType(erp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ErpOrderQueryResponse response = erpOrderService.getOrder(request); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (CollectionUtils.isNotEmpty(response.getOrders())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 for (ErpOrderQuery orderQuery : response.getOrders()) { 
			 |