| 
					
				 | 
			
			
				@@ -5,27 +5,29 @@ import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.toolkit.IdWorker; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.toolkit.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fasterxml.jackson.core.JsonProcessingException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.fasterxml.jackson.core.type.TypeReference; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fasterxml.jackson.databind.DeserializationFeature; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.fasterxml.jackson.databind.JsonMappingException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fasterxml.jackson.databind.ObjectMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zfire.jiasm.syncdata.base.BaseService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zfire.jiasm.syncdata.constant.Constant; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.zfire.jiasm.syncdata.constant.DictTypeEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zfire.jiasm.syncdata.constant.GreeSynStatusEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zfire.jiasm.syncdata.constant.OrderTypeEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zfire.jiasm.syncdata.gree.GreeLogic; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zfire.jiasm.syncdata.gree.helper.GreeResponseHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zfire.jiasm.syncdata.gree.recycle.GreeLogicT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zfire.jiasm.syncdata.helper.GreeFileResponseHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zfire.jiasm.syncdata.helper.GreeFileSaveHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zfire.jiasm.syncdata.http.PostObjectSample; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zfire.jiasm.syncdata.plus.entity.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zfire.jiasm.syncdata.plus.service.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zfire.jiasm.syncdata.request.oldfornew.TradeNewForOldStockBarcodeInfoUploadBean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zfire.jiasm.syncdata.request.oldfornew.TradeNewForOldUploadAttachmentBean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zfire.jiasm.syncdata.request.oldfornew.TradeNewForOldUploadBean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zfire.jiasm.syncdata.response.ResultData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.zfire.jiasm.syncdata.response.WebsitFWS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zfire.jiasm.syncdata.response.WebsitSH; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zfire.jiasm.syncdata.response.WorderInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zfire.jiasm.syncdata.service.PublicService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.zfire.jiasm.syncdata.test; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zfire.jiasm.syncdata.utils.oss.OSSUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import io.jsonwebtoken.lang.Collections; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import lombok.extern.slf4j.Slf4j; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -39,6 +41,7 @@ import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.annotation.Resource; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.File; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.text.SimpleDateFormat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.function.Function; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -77,6 +80,9 @@ public class OldForNewUploadLogic { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	OSSUtil ossUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ItfTblTradeNewForOldRejectJddDownloadService itfTblTradeNewForOldRejectJddDownloadService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ItfTblRecycleStockBarcodeInfoUploadService barcodeInfoUploadService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private ObjectMapper mapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -176,7 +182,7 @@ public class OldForNewUploadLogic { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						bean.setJddfj(jddfjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						// 同步数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						// 同步数据 + 新增一条待入库条码上传记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						synData(jdd, yjhxJddUpload, bean); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						processSave(yjhxJddUpload, yjhxJddFjUploadList,toGreeUpload,jdd); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -721,11 +727,26 @@ public class OldForNewUploadLogic { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				List<ItfTblTradeNewForOldRejectJddDownload> tradeNewForOldRejectJddDownloadList = JSONArray.parseArray(this.mapper.writeValueAsString(response.get("data")), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						ItfTblTradeNewForOldRejectJddDownload.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				if(CollectionUtils.isNotEmpty(tradeNewForOldRejectJddDownloadList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					tradeNewForOldRejectJddDownloadList.stream().forEach(reject->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					Map<String,List<ItfTblTradeNewForOldRejectJddDownload>> jddsMap= new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					// 提取同步无批次号的数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					List<ItfTblTradeNewForOldRejectJddDownload> jdds = itfTblTradeNewForOldRejectJddDownloadService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							.eq(ItfTblTradeNewForOldRejectJddDownload::getFlag,1).list(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if (CollectionUtils.isNotEmpty(jdds)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						jddsMap = jdds.stream().collect(Collectors.groupingBy(ItfTblTradeNewForOldRejectJddDownload::getPgguid)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					for (ItfTblTradeNewForOldRejectJddDownload reject: tradeNewForOldRejectJddDownloadList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						reject.setSynReqTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						reject.setSynStatus(Constant.SynStatus.UN_SYN.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						reject.setSynTimes(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						if (StringUtils.isEmpty(reject.getDownloadTaskNo())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							if (jddsMap.containsKey(reject.getPgguid())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								reject.setDownloadTaskNo(jddsMap.get(reject.getPgguid()).get(0).getDownloadTaskNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								reject.setDownloadTaskNo(UUID.randomUUID().toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								reject.setFlag(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					itfTblTradeNewForOldRejectJddDownloadService.saveOrUpdateBatch(tradeNewForOldRejectJddDownloadList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				}else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					log.info("TradeOldForNewLogic.queryRejectJdd接口返回记录数为空"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -743,7 +764,7 @@ public class OldForNewUploadLogic { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 修改鉴定单状态为驳回状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 修改鉴定单状态为驳回状态+更新同步数据状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public String processBusiness() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -769,6 +790,7 @@ public class OldForNewUploadLogic { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					orderBaseIds.add(OrderBase.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				// 提取以旧换新鉴定单数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				List<YjhxJdd> jddList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				List<YjhxJdd> newAddJddList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				if(!orderBaseIds.isEmpty()) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -840,4 +862,292 @@ public class OldForNewUploadLogic { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public void stockBarcodeInfoDonwlodToUpload() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 提取待入库条码上传记录表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<ItfTblTradeNewForOldStockInfoUploadTask> tradeNewForOldStockInfoUploadTaskList = itfTblTradeNewForOldStockInfoUploadTaskService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				.eq(ItfTblTradeNewForOldStockInfoUploadTask::getSynStatus, Constant.SynStatus.UN_SYN.getCode()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				.orderByAsc(ItfTblTradeNewForOldStockInfoUploadTask::getSynReqId).list(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//测试,用状态为77 无数据不处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if( Collections.isEmpty(tradeNewForOldStockInfoUploadTaskList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<ItfTblRecycleStockBarcodeInfoUpload> tradeNewForOldStockBarcodeInfoUploadList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for(ItfTblTradeNewForOldStockInfoUploadTask item : tradeNewForOldStockInfoUploadTaskList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			// 相同 pgguid 上一条未同步或同步失败本记录不再同步 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (checkUpload(item)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//根据pgguid获取以旧换新鉴定单数据 无鉴定数据不处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			final List<YjhxJdd> yjhxJddList = yjhxJddService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					.eq(YjhxJdd::getPgguid, item.getPgguid()).list(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(Collections.isEmpty(yjhxJddList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item.setSynStatus(Constant.SynStatus.FAIL.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item.setSynErrMsg("没有鉴定单数据, pgguid="+item.getPgguid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item.setSynTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//一个pgguid只对应一条YjhxJdd数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			YjhxJdd yjhxJdd = yjhxJddList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			OrderBase order = orderBaseService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					.eq(OrderBase::getPgguid, yjhxJdd.getPgguid()).one(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(Objects.isNull(order)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item.setSynStatus(Constant.SynStatus.FAIL.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item.setSynErrMsg("没有工单数据, pgguid="+item.getPgguid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item.setSynTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//查询old_for_new_product 旧机信息表,获取大类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			final List<OldForNewProduct> tradeNewForOldList = oldForNewProductService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					.eq(OldForNewProduct::getOrderBaseId, yjhxJdd.getOrderBaseId()).list(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			OldForNewProduct product = (Collections.isEmpty(tradeNewForOldList)) ? null : tradeNewForOldList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//内外机条码,以#分割 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(StringUtils.isEmpty(yjhxJdd.getTempBarcode())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item.setSynStatus(Constant.SynStatus.FAIL.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item.setSynErrMsg("没有内外机条码信息, pgguid="+item.getPgguid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item.setSynTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			WebsitSH websitSH = publicService.ptshwdToshshwd(yjhxJdd.getWebsitId(), order.getMainId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			WorderInfo worderInfo = publicService.getWorkerInfo(order.getWorkerId(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					websitSH.getWdId(), order.getGroupCompanyId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			String taskNo = java.util.UUID.randomUUID().toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			// 生成内机条码上传数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(!StringUtils.isEmpty(yjhxJdd.getNjtm())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				getItfTblRecycleStockBarcodeInfoUploadNjtm(tradeNewForOldStockBarcodeInfoUploadList, yjhxJdd, order, product, websitSH, worderInfo, taskNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			// 生成外机条码上传数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(!StringUtils.isEmpty(yjhxJdd.getWjtm())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				getItfTblRecycleStockBarcodeInfoUploadWjtm(tradeNewForOldStockBarcodeInfoUploadList, yjhxJdd, order, product, websitSH, worderInfo, taskNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			item.setSynStatus(Constant.SynStatus.SYN.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			item.setSynTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 修改同步待入库条码上传记录表状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		itfTblTradeNewForOldStockInfoUploadTaskService.saveOrUpdateBatch(tradeNewForOldStockInfoUploadTaskList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 生成条码信息上传表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(!Collections.isEmpty(tradeNewForOldStockBarcodeInfoUploadList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			barcodeInfoUploadService.saveOrUpdateBatch(tradeNewForOldStockBarcodeInfoUploadList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private boolean checkUpload(ItfTblTradeNewForOldStockInfoUploadTask item) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//提取小于当前id的数据   含有上一条失败,本条不上传 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<ItfTblTradeNewForOldStockInfoUploadTask> lastTaskList = itfTblTradeNewForOldStockInfoUploadTaskService.lambdaQuery(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				in(ItfTblTradeNewForOldStockInfoUploadTask::getSynStatus, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						new Integer[] { Constant.SynStatus.FAIL.getCode(), Constant.SynStatus.UN_SYN.getCode()}). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				lt(ItfTblTradeNewForOldStockInfoUploadTask::getSynReqId, item.getSynReqId()). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				eq(ItfTblTradeNewForOldStockInfoUploadTask::getPgguid, item.getPgguid()). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				orderByDesc(ItfTblTradeNewForOldStockInfoUploadTask::getSynReqId).list(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(!Collections.isEmpty(lastTaskList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			ItfTblTradeNewForOldStockInfoUploadTask lastTask = lastTaskList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			// 若上一条未同步,则本条跳过 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if( Constant.SynStatus.UN_SYN.getCode().intValue() == lastTask.getSynStatus() ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				// 若上一条失败,则本条也不允许上传 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item.setSynStatus(Constant.SynStatus.FAIL.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item.setSynErrMsg("上一条数据没上传成功,本条数据不上传, pguuid="+ item.getPgguid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item.setSynTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private void getItfTblRecycleStockBarcodeInfoUploadWjtm(List<ItfTblRecycleStockBarcodeInfoUpload> tradeNewForOldStockBarcodeInfoUploadList, YjhxJdd yjhxJdd, OrderBase order, OldForNewProduct product, WebsitSH websitSH, WorderInfo worderInfo, String taskNo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ItfTblRecycleStockBarcodeInfoUpload barcodeInfoUpload = new ItfTblRecycleStockBarcodeInfoUpload(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setPgguid(yjhxJdd.getPgguid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setUploadTaskNo(taskNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setJqtm(yjhxJdd.getWjtm()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setTmlx(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setSpid(Integer.valueOf(product.getMainId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//大类名字,现在暂时只有空调,spid=101 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setSpmc( (Objects.isNull(product) || Objects.isNull(product.getMainId()) ) ? null : (product.getMainId().equals("101") ? "空调" : "")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setPinp(StringUtils.isEmpty(yjhxJdd.getRealBrand()) ?   yjhxJdd.getOldMachineBrand() : yjhxJdd.getRealBrand()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setJqlx( StringUtils.isEmpty(yjhxJdd.getRealType()) ? yjhxJdd.getOldMachineType() : yjhxJdd.getRealType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//匹数要传数字型,1点5匹,就填1.50 ,用数字填 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setPshu( new BigDecimal(yjhxJdd.getCpps() ).floatValue() ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setWdno(websitSH.getWdId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setDqcfid(websitSH.getWdId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setDqcfmc(websitSH.getWdmc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setYddh(worderInfo.getMobile()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//工单类型:1:以旧换新;2:回收工单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setSrclx(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setHssj(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setHsfwwdno(websitSH.getWdId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setHsfwwdmc(websitSH.getWdmc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setSrcno(order.getSaleNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setSrcId(yjhxJdd.getPgguid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setPgwcmxid(yjhxJdd.getHxjddid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setState(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setCreatedBy(yjhxJdd.getCreatedBy()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setCreatedDate(yjhxJdd.getCreatedDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setLastModifiedBy(yjhxJdd.getLastModifiedBy()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setLastModifiedDate(yjhxJdd.getLastModifiedDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setSrcxsdh(order.getSaleNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		tradeNewForOldStockBarcodeInfoUploadList.add(barcodeInfoUpload); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private void getItfTblRecycleStockBarcodeInfoUploadNjtm(List<ItfTblRecycleStockBarcodeInfoUpload> tradeNewForOldStockBarcodeInfoUploadList, YjhxJdd yjhxJdd, OrderBase order, OldForNewProduct product, WebsitSH websitSH, WorderInfo worderInfo, String taskNo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ItfTblRecycleStockBarcodeInfoUpload barcodeInfoUpload = new ItfTblRecycleStockBarcodeInfoUpload(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setPgguid(yjhxJdd.getPgguid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setUploadTaskNo(taskNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setJqtm(yjhxJdd.getNjtm()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setTmlx(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setSpid(Objects.isNull(product) ? null : Integer.valueOf(product.getMainId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//大类名字,现在暂时只有空调,spid=101 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setSpmc( (Objects.isNull(product) || Objects.isNull(product.getMainId()) ) ? null : (product.getMainId().equals("101") ? "空调" : "")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setPinp(StringUtils.isEmpty(yjhxJdd.getRealBrand()) ?   yjhxJdd.getOldMachineBrand() : yjhxJdd.getRealBrand()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setJqlx( StringUtils.isEmpty(yjhxJdd.getRealType()) ? yjhxJdd.getOldMachineType() : yjhxJdd.getRealType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//匹数要传数字型,1点5匹,就填1.50 ,用数字填 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setPshu( new BigDecimal(yjhxJdd.getCpps() ).floatValue() ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setWdno(websitSH.getWdId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setDqcfid(websitSH.getWdId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setDqcfmc(websitSH.getWdmc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setYddh(worderInfo.getMobile()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//工单类型:1:以旧换新;2:回收工单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setSrclx(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setHssj(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setHsfwwdno(websitSH.getWdId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setHsfwwdmc(websitSH.getWdmc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setSrcno(order.getSaleNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setSrcId(yjhxJdd.getPgguid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setPgwcmxid(yjhxJdd.getHxjddid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setState(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setCreatedBy(yjhxJdd.getCreatedBy()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setCreatedDate(yjhxJdd.getCreatedDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setLastModifiedBy(yjhxJdd.getLastModifiedBy()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setLastModifiedDate(yjhxJdd.getLastModifiedDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		barcodeInfoUpload.setSrcxsdh(order.getSaleNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		tradeNewForOldStockBarcodeInfoUploadList.add(barcodeInfoUpload); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 上传总部条码(需要上传了barcodeInfo主表数据,上传的stockin和stockout才有有效) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public void stockBarcodeInfoUpload() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 条码信息上传表中提取待同步的数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		final List<ItfTblRecycleStockBarcodeInfoUpload> barcodeInfoUploads = barcodeInfoUploadService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				.eq(ItfTblRecycleStockBarcodeInfoUpload::getSynStatus, Constant.SynStatus.UN_SYN.getCode()).list(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 无数据不处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(Collections.isEmpty(barcodeInfoUploads)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<ItfTblTradeNewForOldStockInfoUploadTask> stockInfoUploadTaskList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 按uploadTaskNo分组 内外机条码各一条记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		final Map<String, List<ItfTblRecycleStockBarcodeInfoUpload>> barcodeInfoUploadsMap = Collections.isEmpty(barcodeInfoUploads) ? null :barcodeInfoUploads.stream().collect(Collectors.groupingBy(ItfTblRecycleStockBarcodeInfoUpload::getUploadTaskNo)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 取键值对的每个entry 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for(Map.Entry<String,List<ItfTblRecycleStockBarcodeInfoUpload>> entry : barcodeInfoUploadsMap.entrySet()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<ItfTblRecycleStockBarcodeInfoUpload> barcodeInfoList = entry.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			String pgguid = barcodeInfoList.get(0).getPgguid(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			final String apiPath = Constant.GreeApiPath.TRADE_NEW_FOR_OLD_STOCK_STOCKINFOS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Integer synStatus = -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			String errMsg = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<TradeNewForOldStockBarcodeInfoUploadBean> barcodeInfoBeanList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<Map> infos = new ArrayList<>() ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			// 组装参数 infos 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				barcodeInfoBeanList = this.mapper.readValue(this.mapper.writeValueAsString(barcodeInfoList), new TypeReference<List<TradeNewForOldStockBarcodeInfoUploadBean>>() {}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				infos = this.mapper.readValue(this.mapper.writeValueAsString(barcodeInfoBeanList), new TypeReference<List<Map>>() {}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} catch (JsonMappingException e1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				synStatus = Constant.SynStatus.FAIL.getCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				for( ItfTblRecycleStockBarcodeInfoUpload tradeNewForOldStockBarcodeInfoUpload : barcodeInfoUploads) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tradeNewForOldStockBarcodeInfoUpload.setSynStatus(GreeSynStatusEnum.FAIL.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tradeNewForOldStockBarcodeInfoUpload.setSynErrMsg(e1.getMessage().length() > 100 ? e1.getMessage().substring(0, 99) : e1.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					errMsg = tradeNewForOldStockBarcodeInfoUpload.getSynErrMsg(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tradeNewForOldStockBarcodeInfoUpload.setSynTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tradeNewForOldStockBarcodeInfoUpload.setSynTimes( Objects.isNull(tradeNewForOldStockBarcodeInfoUpload.getSynTimes()) ? 1 : tradeNewForOldStockBarcodeInfoUpload.getSynTimes() + 1 ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} catch (JsonProcessingException e1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				synStatus = Constant.SynStatus.FAIL.getCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				for( ItfTblRecycleStockBarcodeInfoUpload tradeNewForOldStockBarcodeInfoUpload : barcodeInfoUploads) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tradeNewForOldStockBarcodeInfoUpload.setSynStatus(synStatus); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tradeNewForOldStockBarcodeInfoUpload.setSynErrMsg(e1.getMessage().length() > 100 ? e1.getMessage().substring(0, 99) : e1.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					errMsg = tradeNewForOldStockBarcodeInfoUpload.getSynErrMsg(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tradeNewForOldStockBarcodeInfoUpload.setSynTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tradeNewForOldStockBarcodeInfoUpload.setSynTimes( Objects.isNull(tradeNewForOldStockBarcodeInfoUpload.getSynTimes()) ? 1 : tradeNewForOldStockBarcodeInfoUpload.getSynTimes() + 1 ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Map<String, Object> param = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			param.put("taskNo", entry.getKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			param.put("infos", infos); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			// 条码数据同步 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				GreeResponseHelper response = greeLogic.greePost(apiPath, param, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				log.info("RECYCLE_STOCK_STOCKINFOS接口请求参数: {}", JSONObject.parseObject(param.toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(200 == response.getStatus()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					synStatus = Constant.SynStatus.SYN.getCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					for( ItfTblRecycleStockBarcodeInfoUpload tradeNewForOldStockBarcodeInfoUpload : barcodeInfoUploads) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						tradeNewForOldStockBarcodeInfoUpload.setSynStatus(Constant.SynStatus.SYN.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						tradeNewForOldStockBarcodeInfoUpload.setSynTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						tradeNewForOldStockBarcodeInfoUpload.setSynTimes( Objects.isNull(tradeNewForOldStockBarcodeInfoUpload.getSynTimes()) ? 1 : tradeNewForOldStockBarcodeInfoUpload.getSynTimes() + 1 ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					synStatus = Constant.SynStatus.FAIL.getCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					for( ItfTblRecycleStockBarcodeInfoUpload tradeNewForOldStockBarcodeInfoUpload : barcodeInfoUploads) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						tradeNewForOldStockBarcodeInfoUpload.setSynStatus(synStatus); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						tradeNewForOldStockBarcodeInfoUpload.setSynErrMsg(response.getMsg()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						errMsg = tradeNewForOldStockBarcodeInfoUpload.getSynErrMsg(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						tradeNewForOldStockBarcodeInfoUpload.setSynTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						tradeNewForOldStockBarcodeInfoUpload.setSynTimes( Objects.isNull(tradeNewForOldStockBarcodeInfoUpload.getSynTimes()) ? 1 : tradeNewForOldStockBarcodeInfoUpload.getSynTimes() + 1 ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						pgguid = tradeNewForOldStockBarcodeInfoUpload.getPgguid(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}catch(Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				synStatus = Constant.SynStatus.FAIL.getCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				for( ItfTblRecycleStockBarcodeInfoUpload tradeNewForOldStockBarcodeInfoUpload : barcodeInfoUploads) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tradeNewForOldStockBarcodeInfoUpload.setSynStatus(GreeSynStatusEnum.FAIL.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tradeNewForOldStockBarcodeInfoUpload.setSynErrMsg(e.getMessage().length() > 100 ? e.getMessage().substring(0, 99) : e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					errMsg = tradeNewForOldStockBarcodeInfoUpload.getSynErrMsg(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tradeNewForOldStockBarcodeInfoUpload.setSynTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tradeNewForOldStockBarcodeInfoUpload.setSynTimes( Objects.isNull(tradeNewForOldStockBarcodeInfoUpload.getSynTimes()) ? 1 : tradeNewForOldStockBarcodeInfoUpload.getSynTimes() + 1 ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			// 上传条码信息任务列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<ItfTblTradeNewForOldStockInfoUploadTask> tradeNewForOldStockInfoUploadTaskList = itfTblTradeNewForOldStockInfoUploadTaskService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					.eq(ItfTblTradeNewForOldStockInfoUploadTask::getPgguid, pgguid) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					.eq(ItfTblTradeNewForOldStockInfoUploadTask::getSynStatus, Constant.SynStatus.UN_SYN.getCode()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					.orderByAsc(ItfTblTradeNewForOldStockInfoUploadTask::getSynReqId).list(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if( Collections.isEmpty(tradeNewForOldStockInfoUploadTaskList) ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//按synReqId顺序更新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			ItfTblTradeNewForOldStockInfoUploadTask tradeNewForOldStockInfoUploadTask = tradeNewForOldStockInfoUploadTaskList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if( synStatus == Constant.SynStatus.SYN.getCode()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				tradeNewForOldStockInfoUploadTask.setSynStatus(synStatus); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				tradeNewForOldStockInfoUploadTask.setSynTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if( (Objects.isNull(tradeNewForOldStockInfoUploadTask.getSynTimes()) ? 0 : tradeNewForOldStockInfoUploadTask.getSynTimes()) >= 6 ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tradeNewForOldStockInfoUploadTask.setSynStatus(synStatus); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tradeNewForOldStockInfoUploadTask.setSynErrMsg(errMsg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tradeNewForOldStockInfoUploadTask.setSynTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					//请求失败,累加请求次数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tradeNewForOldStockInfoUploadTask.setSynTimes((Objects.isNull(tradeNewForOldStockInfoUploadTask.getSynTimes()) ? 0 : tradeNewForOldStockInfoUploadTask.getSynTimes()) + 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			stockInfoUploadTaskList.add(tradeNewForOldStockInfoUploadTask); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 更新以旧换新条码信息上传任务表同步状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(!Collections.isEmpty(stockInfoUploadTaskList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			itfTblTradeNewForOldStockInfoUploadTaskService.saveOrUpdateBatch(stockInfoUploadTaskList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 更新条码信息上传表同步状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(!Collections.isEmpty(barcodeInfoUploads)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			barcodeInfoUploadService.saveOrUpdateBatch(barcodeInfoUploads); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |