|  |  | @ -49,274 +49,12 @@ public class ContrastErpUtil { | 
			
		
	
		
		
			
				
					
					|  |  |  |     UdiDlHttpClient udiDlHttpClient; |  |  |  |     UdiDlHttpClient udiDlHttpClient; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     public ContrastErpUtil() { |  |  |  |     public ContrastErpUtil() { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     public ContrastErpUtil(String udiUrl) { |  |  |  |     public ContrastErpUtil(String udiUrl) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         this.udiUrl = udiUrl; |  |  |  |         this.udiUrl = udiUrl; | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     public void contrastErp(UdiInfoService udiInfoService, UdiRelevanceService udiRelevanceService, |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             OrderDetailService orderDetailService, |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             OrderService orderService, |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             List<WarehouseEntity> warehouseEntityList, SystemParamConfigService setupService, BussinessTypeEntity bussinessTypeEntity) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         //单据详情初始化
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         String orderIdFk = warehouseEntityList.get(0).getOrderId(); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         filterErpOrderRequest.setOrderId(orderIdFk); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         mErpOrderEntities = orderDetailService.filterAllMyErpOrder(filterErpOrderRequest); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (mErpOrderEntities != null && mErpOrderEntities.size() > 0) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 erpTotalCount = erpTotalCount + erpOrderEntity.getErpCount(); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 erpOrderEntity.setCount(0); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         String errMsg = null; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         String resultMsg = null; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         //获取当前订单
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         orderFilterRequest.setId(orderIdFk); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         OrderEntity orderEntity = orderService.findOne(orderFilterRequest); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         //校验单据详情是否有包含一个di多个绑定
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         errMsg = vailMutiDi(); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (errMsg != null) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             orderEntity.setRemark(errMsg); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             orderEntity.setUpdateTime(new Date()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             orderService.updateOrder(orderEntity); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             return; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         //校验业务单据是否被其他扫码单校验
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         ErpOrderEntity vailExitMsg = vailErpExit(orderDetailService, mErpOrderEntities, orderIdFk); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         SystemParamConfigRequest systemParamConfigRequest = new SystemParamConfigRequest(); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         systemParamConfigRequest.setParamKey("erp_forbidSameErp"); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         SystemParamConfigEntity systemParamConfigEntity = setupService.selectByParamKey(systemParamConfigRequest); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (vailExitMsg != null && systemParamConfigEntity != null && systemParamConfigEntity.getParamValue().equals("1")) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             errMsg = "所选ERP单" + vailExitMsg.getErpOrderId() + "已被其他出入库单" + vailExitMsg.getOrderIdFk() + "绑定!"; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         //开始校验
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         List<WarehouseEntity> errorData = new ArrayList<>(); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         for (WarehouseEntity warehouseEntity : warehouseEntityList) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //            if (warehouseEntity.getCode().substring(0, 1).equals("#")) {
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(warehouseEntity.getNameCode());
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                if (udiRelevanceResponse != null) {
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    //校验单据详情
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    errMsg = vaildOrder(warehouseEntityList, warehouseEntity, udiRelevanceResponse);
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    if (errMsg != null && (errMsg.equals("产品信息不匹配") || errMsg.equals("非此单产品批次号"))) {
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                        errorData.add(warehouseEntity);
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    }
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                } else {
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    errMsg = "产品信息未维护";
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    errorData.add(warehouseEntity);
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                }
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //            } else {
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                filterUdiInfoRequest.setNameCode(warehouseEntity.getNameCode());
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                List<UdiRelevanceResponse> udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest);
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && erpOrderEntity.getBindRlFk() == null) {
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI);
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    myErpOrderService.updateErpOrder(erpOrderEntity);
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    errMsg = "该产品DI绑定多个产品ID,请在扫码单据详情绑定对应产品ID";
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                }
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //            }
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             UdiInfoEntity udiInfoEntity = null; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             udiInfoEntity = new InoutUtils(udiUrl).getUdiInfoByRlId(udiInfoService, udiRelevanceService, warehouseEntity.getCode(), udiDlHttpClient); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (warehouseEntity.getCount() > 1) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 udiInfoEntity.setCount(warehouseEntity.getCount()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             List<UdiRelevanceEntity> udiRelevanceEntities = udiRelevanceService.selectByUuid(udiInfoEntity.getUuid()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 0) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 UdiRelevanceEntity udiRelevanceEntity = checkGoodsId(udiRelevanceEntities, bussinessTypeEntity); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (udiRelevanceEntity != null) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     udiInfoEntity.setThirdId(udiRelevanceEntity.getThirdId()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     udiInfoEntity.setThirdName(udiRelevanceEntity.getThirdName()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     udiInfoEntity.setWarehouseCode(warehouseEntity.getWarehouseCode()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     errMsg = vaildErpOrder(warehouseEntityList, udiInfoEntity); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     if (errMsg != null && (errMsg.equals("产品信息不匹配") || errMsg.equals("非此单产品批次号"))) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         errorData.add(warehouseEntity); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } else { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     errMsg = "产品信息不匹配"; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     errorData.add(warehouseEntity); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             } else { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 errMsg = "产品信息未维护"; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 errorData.add(warehouseEntity); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (resultMsg == null && errMsg != null) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 resultMsg = errMsg; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (mErpOrderEntities != null && mErpOrderEntities.size() > 0) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (erpOrderEntity.getErpCount() != erpOrderEntity.getCount()) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     errMsg = "所选ERP单" + erpOrderEntity.getErpOrderId() + "下" + erpOrderEntity.getGoodsname() + "数量不匹配"; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (errMsg != null) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             orderEntity.setRemark(errMsg); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             orderEntity.setUpdateTime(new Date()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             orderService.updateOrder(orderEntity); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } else { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_SUCCESS); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             orderEntity.setUpdateTime(new Date()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             orderService.updateOrder(orderEntity); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             ioTransInoutService.printOrder(orderEntity.getId()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (orderEntity.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 InvProductsTrService.genInvProducts(orderEntity.getId()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (errorData.size() > 0) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, orderDetailService, errorData, udiDlHttpClient); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     //验证产品ID,批次号,仓位号
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     public String vaildOrder(List<WarehouseEntity> warehouseEntityList, WarehouseEntity warehouseEntity) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         String errMsg = "产品信息不匹配"; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (mErpOrderEntities.size() > 0) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 errMsg = vailCode(erpOrderEntity, warehouseEntity, null); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (errMsg == null) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     int erpCount = erpOrderEntity.getCount() + warehouseEntity.getCount(); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     if (erpOrderEntity.getErpCount() != erpCount) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         erpOrderEntity.setCount(erpCount); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if (erpOrderEntity.getErpCount() != erpCount) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             return "该" + warehouseEntity.getBatchNo() + "批次号下" + "订单数目不匹配"; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     erpOrderEntity.setCount(erpCount); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     return null; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (errMsg == null && getSelectedCount(warehouseEntityList) + warehouseEntity.getCount() != erpTotalCount) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             return "订单数目匹配失败"; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         return errMsg; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     public String vailMutiDi() { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         String errMsg = null; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             filterUdiInfoRequest.setNameCode(erpOrderEntity.getNameCode()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             List<UdiRelevanceResponse> udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && erpOrderEntity.getBindRlFk() == null) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 myErpOrderService.updateErpOrder(erpOrderEntity); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 errMsg = "该产品维护了多个产品信息,请在扫码单据详情绑定对应产品ID"; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         return errMsg; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     public String vailCode(ErpOrderEntity erpOrderEntity, WarehouseEntity warehouseEntity, String udiRl) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         String errMsg = null; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (erpOrderEntity.getBatchNo().equals(warehouseEntity.getBatchNo())) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (erpOrderEntity.getGoodsid().equals(udiRl)) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (erpOrderEntity.getWarehouseCode() != null && warehouseEntity.getWarehouseCode() != null) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     if (erpOrderEntity.getWarehouseCode().equals(warehouseEntity.getWarehouseCode())) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         return null; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } else |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         errMsg = "仓位号不匹配"; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } else |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     return null; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             } else |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 errMsg = "产品信息不匹配"; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } else { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             errMsg = "非此单产品批次号"; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         return errMsg; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     public String checkRlId(ErpOrderEntity erpOrderEntity, WarehouseEntity warehouseEntity) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         filterUdiInfoRequest.setNameCode(warehouseEntity.getNameCode()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         List<UdiRelevanceResponse> udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (udiRelevanceEntities.size() > 1) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceEntities) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         return null; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     public String checkBatchNo() { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         return null; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     public String checkWarehouse() { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         return null; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     public String checkProduceDate() { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         return null; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     public String checkExpireDate() { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         return null; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     public UdiRelevanceEntity checkGoodsId(List<UdiRelevanceEntity> udiRelevanceEntities, BussinessTypeEntity bussinessTypeEntity) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (mErpOrderEntities.size() > 0) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 for (UdiRelevanceEntity udiRelevanceEntity : udiRelevanceEntities) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     if (bussinessTypeEntity.getThirdSysFk() == null) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId())) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             return udiRelevanceEntity; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId")) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId())) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             return udiRelevanceEntity; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId1")) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId1())) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             udiRelevanceEntity.setThirdId(udiRelevanceEntity.getThirdId1()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             udiRelevanceEntity.setThirdName(udiRelevanceEntity.getThirdName1()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             return udiRelevanceEntity; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId2")) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId2())) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             udiRelevanceEntity.setThirdId(udiRelevanceEntity.getThirdId2()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             udiRelevanceEntity.setThirdName(udiRelevanceEntity.getThirdName2()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             return udiRelevanceEntity; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId3")) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId3())) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             udiRelevanceEntity.setThirdId(udiRelevanceEntity.getThirdId3()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             udiRelevanceEntity.setThirdName(udiRelevanceEntity.getThirdName3()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             return udiRelevanceEntity; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId4")) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId4())) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             udiRelevanceEntity.setThirdId(udiRelevanceEntity.getThirdId4()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             udiRelevanceEntity.setThirdName(udiRelevanceEntity.getThirdName4()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             return udiRelevanceEntity; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         return null; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     public int getSelectedCount(List<WarehouseEntity> warehouseEntityList) { |  |  |  |     public int getSelectedCount(List<WarehouseEntity> warehouseEntityList) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         int total = 0; |  |  |  |         int total = 0; | 
			
		
	
	
		
		
			
				
					|  |  | @ -326,29 +64,6 @@ public class ContrastErpUtil { | 
			
		
	
		
		
			
				
					
					|  |  |  |         return total; |  |  |  |         return total; | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     //验证产品ID,批次号,仓位号
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     public String vaildErpOrder(List<WarehouseEntity> warehouseEntityList, UdiInfoEntity udiInfoEntity) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         String errMsg = "产品信息不匹配"; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (mErpOrderEntities.size() > 0) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 errMsg = isPass(erpOrderEntity, udiInfoEntity); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (errMsg == null) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     int erpCount = erpOrderEntity.getCount() + udiInfoEntity.getCount(); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     if (erpOrderEntity.getErpCount() != erpCount) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         erpOrderEntity.setCount(erpCount); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if (erpOrderEntity.getErpCount() != erpCount) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             return "该" + udiInfoEntity.getBatchNo() + "批次号下" + udiInfoEntity.getCpmctymc() + "订单数目不匹配"; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     erpOrderEntity.setCount(erpCount); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     return null; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (errMsg == null && getSelectedCount(warehouseEntityList) + udiInfoEntity.getCount() != erpTotalCount) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             return "订单数目匹配失败"; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         return errMsg; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     public String isPass(ErpOrderEntity erpOrderEntity, UdiInfoEntity udiInfoEntity) { |  |  |  |     public String isPass(ErpOrderEntity erpOrderEntity, UdiInfoEntity udiInfoEntity) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         String errMsg = null; |  |  |  |         String errMsg = null; | 
			
		
	
	
		
		
			
				
					|  |  | @ -369,48 +84,6 @@ public class ContrastErpUtil { | 
			
		
	
		
		
			
				
					
					|  |  |  |         return errMsg; |  |  |  |         return errMsg; | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | //    public List<ErpOrderEntity> transErp(List<ErpOrderEntity> erpOrderEntities, UdiRelevanceService udiRelevanceService, String orderFk) {
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //        List<ErpOrderEntity> returnOrders = new ArrayList<>();
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //        Map<String, ErpOrderEntity> filterMap = new HashMap<>();
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //        if (erpOrderEntities != null && erpOrderEntities.size() > 0) {
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //            for (ErpOrderEntity erpOrderEntity : erpOrderEntities) {
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                filterUdiInfoRequest.setThirdId(erpOrderEntity.getGoodsid());
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                filterUdiInfoRequest.setPage(1);
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                filterUdiInfoRequest.setLimit(100);
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                List<UdiRelevanceResponse> udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest);
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 0) {
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    UdiRelevanceResponse temp = udiRelevanceEntities.get(0);
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    erpOrderEntity.setCoName(temp.getCpmctymc());
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    erpOrderEntity.setAuthCode(temp.getZczbhhzbapzbh());
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    erpOrderEntity.setPackSpec(temp.getGgxh());
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    erpOrderEntity.setPackRatio(temp.getPackRatio());
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    erpOrderEntity.setProductCompany(temp.getYlqxzcrbarmc());
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    erpOrderEntity.setOrderIdFk(orderFk);
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                }
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                erpOrderEntity.setOrderIdFk(orderFk);
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                String key = erpOrderEntity.getBatchNo() + erpOrderEntity.getGoodsid() + erpOrderEntity.getWarehouseCode();
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                ErpOrderEntity filterTemp = filterMap.get(key);
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                if (filterTemp != null) {
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    filterTemp.setErpCount(filterTemp.getErpCount() + erpOrderEntity.getErpCount());
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    filterTemp.setErpOrderId(filterTemp.getErpOrderId() + "," + erpOrderEntity.getErpOrderId());
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                } else {
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    filterTemp = erpOrderEntity;
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                }
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                filterMap.put(key, filterTemp);
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //            }
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //            for (Map.Entry<String, ErpOrderEntity> entry : filterMap.entrySet()) {
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //                returnOrders.add(entry.getValue());
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //            }
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //        }
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //        return returnOrders;
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | //    }
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     public List<String> getDocids(List<ErpOrderEntity> erpOrderEntities) { |  |  |  |     public List<String> getDocids(List<ErpOrderEntity> erpOrderEntities) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         Map<String, String> filter = new HashMap<>(); |  |  |  |         Map<String, String> filter = new HashMap<>(); | 
			
		
	
		
		
			
				
					
					|  |  |  |         List<String> docids = new ArrayList<>(); |  |  |  |         List<String> docids = new ArrayList<>(); | 
			
		
	
	
		
		
			
				
					|  |  | 
 |