yaozhixue 1 éve
szülő
commit
79c9b24ff2
100 módosított fájl, 1576 hozzáadás és 845 törlés
  1. 743 0
      src/main/java/com/zfire/jiasm/syncdata/common/OldForNewUploadLogic.java
  2. 10 10
      src/main/java/com/zfire/jiasm/syncdata/constant/Constant.java
  3. 2 0
      src/main/java/com/zfire/jiasm/syncdata/constant/OrderTypeEnum.java
  4. 4 0
      src/main/java/com/zfire/jiasm/syncdata/download/order/DetailDownloadInstallTask.java
  5. 243 67
      src/main/java/com/zfire/jiasm/syncdata/download/order/InstallBusiness.java
  6. 0 23
      src/main/java/com/zfire/jiasm/syncdata/download/order/RecycleDownload.java
  7. 217 43
      src/main/java/com/zfire/jiasm/syncdata/download/order/RepairBusiness.java
  8. 21 0
      src/main/java/com/zfire/jiasm/syncdata/gree/recycle/GreeLogicT.java
  9. 208 213
      src/main/java/com/zfire/jiasm/syncdata/gree/recycle/RecycleAcquisitionLogic.java
  10. 12 400
      src/main/java/com/zfire/jiasm/syncdata/gree/recycle/RecycleAssignLogic.java
  11. 27 0
      src/main/java/com/zfire/jiasm/syncdata/http/HttpUtils.java
  12. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminFastEntryPlusTempController.java
  13. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminFieldPlusTempController.java
  14. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminModuleFavoritesPlusTempController.java
  15. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminModulePlusTempController.java
  16. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminRolePlusTempController.java
  17. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminUserModuleRelaPlusTempController.java
  18. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminUserPlusTempController.java
  19. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminUserRoleRelaPlusTempController.java
  20. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminWebsitPlusTempController.java
  21. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminWebsitProductTypeRelaPlusTempController.java
  22. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminWebsitSlavePlusTempController.java
  23. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/AreaPlusTempController.java
  24. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/BrandLbsRelatePlusTempController.java
  25. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/BrandPlusTempController.java
  26. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/BrandWebsitPlusTempController.java
  27. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/CityPlusTempController.java
  28. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ComDetailLogPlusTempController.java
  29. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ComDetailPlusTempController.java
  30. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ComListPlusTempController.java
  31. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/CommonFilePlusTempController.java
  32. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/CompanyCaAuthPlusTempController.java
  33. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/CompanyRecordManagePlusTempController.java
  34. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ContractTemplatePlusTempController.java
  35. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/CustomerInformationCategoryPlusTempController.java
  36. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/CustomerInformationPlusTempController.java
  37. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/CustomerInformationWebsitPlusTempController.java
  38. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ImgCarouselManagePlusTempController.java
  39. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/InstallChargeConfigPlusTempController.java
  40. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/InsureAgreePlusTempController.java
  41. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/InsureEmailPlusTempController.java
  42. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/InsureEmailRecordPlusTempController.java
  43. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/InsurePlusTempController.java
  44. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/InsureRangePlusTempController.java
  45. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/InsureWorkerCommercialFilePlusTempController.java
  46. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/InsureWorkerCommercialPlusTempController.java
  47. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/InsureWorkerRecordPlusTempController.java
  48. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/IntegralDoublePlusTempController.java
  49. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/IntegralGradeConfigurePlusTempController.java
  50. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/IntegralGradeExplainPlusTempController.java
  51. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/IntegralGradeSkillPlusTempController.java
  52. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/IntegralOffsetPlusTempController.java
  53. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/IntegralScorePlusTempController.java
  54. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/IntegralSkillLabelPlusTempController.java
  55. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/IntegralWorkerApplyPlusTempController.java
  56. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblAssignGzdmDowloadPlusTempController.java
  57. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblAssignXqxlDowloadPlusTempController.java
  58. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblAssignXxlbDowloadPlusTempController.java
  59. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblAssignXxlyDowloadPlusTempController.java
  60. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblAssignXxqdDowloadPlusTempController.java
  61. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblAssignYhsxWxDowloadPlusTempController.java
  62. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblAzAssignXslxDowloadPlusTempController.java
  63. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblCityDownloadPlusTempController.java
  64. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblCityJdxzDownloadPlusTempController.java
  65. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblCountyDownloadPlusTempController.java
  66. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblProvinceDownloadPlusTempController.java
  67. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblSplbDaleiDownloadPlusTempController.java
  68. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblSplbJixinDownloadPlusTempController.java
  69. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblSplbXiaoleiDownloadPlusTempController.java
  70. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblSplbXilieDownloadPlusTempController.java
  71. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblWangdianWxgDownloadPlusTempController.java
  72. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblXinWangdianDownloadPlusTempController.java
  73. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblYhsxViprankDowloadPlusTempController.java
  74. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/LabelCurrencyPlusTempController.java
  75. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/LabelPlusTempController.java
  76. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/LbsAmapPlusTempController.java
  77. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/NoticePlusTempController.java
  78. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/NoticeRecordPlusTempController.java
  79. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/OperationLogPlusTempController.java
  80. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ProductPlusTempController.java
  81. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ProductSeriesPlusTempController.java
  82. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ProvincePlusTempController.java
  83. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/QualificationsManagePlusTempController.java
  84. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/RepairBugPlusTempController.java
  85. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/RepairProjectPlusTempController.java
  86. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/SmsRecordPlusTempController.java
  87. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/StreetPlusTempController.java
  88. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/SysDictPlusTempController.java
  89. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/SysDictRefPlusTempController.java
  90. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/SysDictTypePlusTempController.java
  91. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/ToolPlusTempController.java
  92. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/UserFeedbackPlusTempController.java
  93. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/UserPlusTempController.java
  94. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/WebsitEnclosureFilePlusTempController.java
  95. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/WebsitExamineRecordPlusTempController.java
  96. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/WebsitFilePlusTempController.java
  97. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/WebsitMainInfoChangeDataPlusTempController.java
  98. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/WebsitMainInfoChangePlusTempController.java
  99. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/WebsitOrderSignPlusTempController.java
  100. 1 1
      src/main/java/com/zfire/jiasm/syncdata/plus/controller/WebsitPlusTempController.java

+ 743 - 0
src/main/java/com/zfire/jiasm/syncdata/common/OldForNewUploadLogic.java

@@ -0,0 +1,743 @@
+package com.zfire.jiasm.syncdata.common;
+
+import com.alibaba.fastjson.JSONArray;
+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.databind.DeserializationFeature;
+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.OrderTypeEnum;
+import com.zfire.jiasm.syncdata.gree.GreeLogic;
+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.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;
+import org.apache.commons.collections4.CollectionUtils;
+import org.jetbrains.annotations.Nullable;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+@Service
+@Slf4j
+public class OldForNewUploadLogic {
+	@Value("${gree.web.url}")
+    private String webUrl;
+	@Autowired
+	private GreeLogicT greeLogic;
+	@Resource
+	GreeLogic greeLogico;
+	@Autowired
+	private OutJiasmToGreeUploadnotifylistService outJiasmToGreeUploadnotifylistService;
+	@Autowired
+	private OldForNewProductService oldForNewProductService;
+	@Autowired
+	private YjhxJddService yjhxJddService;
+	@Autowired
+	private OrderBaseService orderBaseService;
+	@Autowired
+	private ItfTblTradeNewForOldStockInfoUploadTaskService itfTblTradeNewForOldStockInfoUploadTaskService;
+	@Autowired
+	PublicService publicService;
+	@Autowired
+	SysDictRefService sysDictRefService;
+	@Autowired
+	BaseService baseService;
+	@Autowired
+	ItfTblYjhxJddUploadService itfTblYjhxJddUploadService;
+	@Autowired
+	ItfTblYjhxJddFjUploadService itfTblYjhxJddFjUploadService;
+	@Autowired
+	OSSUtil ossUtil;
+
+	private ObjectMapper mapper;
+
+
+
+
+
+	public OldForNewUploadLogic() {
+		this.mapper = new ObjectMapper();
+		SimpleDateFormat smt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		this.mapper.setDateFormat(smt);
+		this.mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+	}
+
+
+	public String collection() {
+		// 只有类型为35,36的工单需要同步回总部 自建以旧换新不需要传总部
+		// 提取待同步的以旧换新工单的签定单数据
+		List<OutJiasmToGreeUploadnotifylist> toGreeUploadList = outJiasmToGreeUploadnotifylistService.lambdaQuery()
+				.eq(OutJiasmToGreeUploadnotifylist::getTableName, OrderTypeEnum.YJHX_JDD_TABLE_NAME.getCode())
+				.eq(OutJiasmToGreeUploadnotifylist::getOrderType, OrderTypeEnum.ORDER_TYPE_TRADE_IN.getCode())
+				.eq(OutJiasmToGreeUploadnotifylist::getSynStatus, Constant.SynStatus.UN_SYN.getCode())
+				.list();
+
+		// 无数据不同步
+		if(CollectionUtils.isNotEmpty(toGreeUploadList)) {
+			LinkedHashSet<String> uploadOrderNos = new LinkedHashSet<>();
+			// 提取所有工单号
+			toGreeUploadList.stream().forEach(toGreeUpload->{
+				uploadOrderNos.add(toGreeUpload.getOrderNo());
+			});
+			// 提取以旧换新工单的旧机信息
+			final List<OldForNewProduct> oldForNewProductList = oldForNewProductService.lambdaQuery()
+					.in(OldForNewProduct::getOrderBaseId, uploadOrderNos).list();
+			Map<String, OldForNewProduct> oldForNewProductMap  = CollectionUtils.isEmpty(oldForNewProductList)
+					? null : oldForNewProductList.stream().collect(Collectors.toMap(OldForNewProduct::getOrderBaseId, Function.identity()));
+
+			// 提取已采集需上传的鉴定单数据
+			final List<YjhxJdd> jddList = yjhxJddService.lambdaQuery()
+					.in(YjhxJdd::getOrderBaseId, uploadOrderNos)
+					.eq(YjhxJdd::getCollectionStatus, 1)
+					.eq(YjhxJdd::getUploadNotifyFlag, 1)
+					.list();
+			// 这里ID做为 key
+			final Map<Integer, List<YjhxJdd>> jddMap = (null == jddList || jddList.isEmpty()) ? null : jddList.stream().collect(Collectors.groupingBy(YjhxJdd::getId));
+
+			// 按单来处理 要有鉴定单
+			for(OutJiasmToGreeUploadnotifylist toGreeUpload : toGreeUploadList) {
+				// 存在鉴定单数据
+				if( !Objects.isNull(jddMap) && jddMap.containsKey(Integer.parseInt(toGreeUpload.getId()))) {
+					// 提取工单数据 目的看工单大类数据
+					OrderBase orderBase = orderBaseService.lambdaQuery()
+							.eq(OrderBase::getId,toGreeUpload.getOrderNo()).one();
+
+					for(YjhxJdd jdd : jddList) {
+						// 取工单对应的鉴定单
+						if (!jdd.getOrderBaseId().equals(toGreeUpload.getOrderNo())){
+							continue;
+						}
+						// 广佛鉴定结果为0(不回收)、不同步总部
+						if( "0".equals(jdd.getIdentifyResult()) ) {
+							continue;
+						}
+
+						// 生成格力总部图片 图片生成失败不同步
+						if (setGreeImage(orderBase, jdd)) {
+							continue;
+						}
+
+						// 以旧换新鉴定单采集附件表
+						List<ItfTblYjhxJddFjUpload>  yjhxJddFjUploadList = new ArrayList<>();
+						ItfTblYjhxJddUpload yjhxJddUpload = new ItfTblYjhxJddUpload();
+						TradeNewForOldUploadBean bean = new TradeNewForOldUploadBean();
+
+						// 鉴定单报文 OK
+						BeanUtils.copyProperties(jdd, bean,new String[] {"gps", "sjcjsfen", "sjcjcshi", "sjcjxian","gpsdizi",
+										"wdno", "wdmc", "azrenno","azren", "azrenyddh"});
+
+						// 赋值旧机信息
+						if (setOldForNewProduct(oldForNewProductMap, jdd, bean)) {
+							continue;
+						}
+
+						// 部分参数赋值
+						setParame(orderBase, jdd, bean);
+
+						// 鉴定单上传记录表
+						BeanUtils.copyProperties(bean, yjhxJddUpload, ItfTblYjhxJddUpload.class);
+						yjhxJddUpload.setWorkerOrderNo(jdd.getOrderBaseId());
+						yjhxJddUpload.setHxjddid(jdd.getHxjddid());
+
+						// 附件上传记录表
+						List<TradeNewForOldUploadAttachmentBean> jddfjList = new ArrayList<>();
+						// 内、外机全景照处理
+						if(StringUtils.isNotEmpty(jdd.getGreeImgIdAllOther())) {
+							getFileAttUpload(jdd, yjhxJddFjUploadList, yjhxJddUpload, jddfjList);
+						}
+						bean.setJddfj(jddfjList);
+
+						// 同步数据
+						synData(jdd, yjhxJddUpload, bean);
+
+						processSave(yjhxJddUpload, yjhxJddFjUploadList,toGreeUpload,jdd);
+					}
+				}else {
+					// yjhx_jdd无数据不同步
+					processSave(null, null,toGreeUpload,null);
+				}
+			}
+		}
+		return "";
+	}
+
+	private boolean setGreeImage(OrderBase orderBase, YjhxJdd jdd) {
+		WebsitSH websitSH = publicService.ptshwdToshshwd(jdd.getWebsitId(), orderBase.getMainId());
+		Boolean upflag = Boolean.FALSE;
+		// 图片生成 条码图片 njtm图像#wjtm图像
+		if (StringUtils.isEmpty(jdd.getTempBarcodeImg()) &&
+				(StringUtils.isNotEmpty(jdd.getNjtmPicture()) ||
+						StringUtils.isNotEmpty(jdd.getWjtmPicture()))){
+			// 获取条码总部图
+			String greeImageId = getBarcodeImage(jdd, websitSH);
+			if (greeImageId == null) {
+				return true;
+			}
+			// 修改
+			jdd.setTempBarcodeImg(greeImageId);
+			upflag = Boolean.TRUE;
+		}
+
+		// 全景图片  in_full_picture#out_full_picture#other_picture
+		if (StringUtils.isEmpty(jdd.getGreeImgIdAllOther()) &&
+				(StringUtils.isNotEmpty(jdd.getInFullPicture()) ||
+						StringUtils.isNotEmpty(jdd.getOutFullPicture()) ||
+						StringUtils.isNotEmpty(jdd.getOtherPicture()))){
+
+			// 获取总部全景图
+			String greeImageId = getFullImage(jdd, websitSH);
+			if (greeImageId == null) {
+				return true;
+			}
+			// 修改
+			jdd.setGreeImgIdAllOther(greeImageId);
+			upflag = Boolean.TRUE;
+		}
+		if (StringUtils.isNotEmpty(jdd.getTempBarcodeImg()) &&
+				StringUtils.isNotEmpty(jdd.getGreeImgIdAllOther()) && jdd.getGetGreeImageIdStatus() !=1){
+			jdd.setGetGreeImageIdStatus(1);
+			upflag = Boolean.TRUE;
+		}
+		if (upflag){
+			yjhxJddService.updateById(jdd);
+		}
+		return false;
+	}
+
+	@Nullable
+	private String getFullImage(YjhxJdd jdd, WebsitSH websitSH) {
+		String greeImageId = "";
+		String greeImageIdN = "";
+		String greeImageIdW = "";
+		String greeImageIdO = "";
+
+		if (StringUtils.isNotEmpty(jdd.getInFullPicture())){
+			greeImageIdN = getImage(jdd.getInFullPicture(), websitSH);
+			if (greeImageIdN == null) {
+				return null;
+			}
+		}
+
+		if (StringUtils.isNotEmpty(jdd.getOutFullPicture())){
+			greeImageIdW = getImage(jdd.getOutFullPicture(), websitSH);
+			if (greeImageIdW == null) {
+				return null;
+			}
+		}
+
+		if (StringUtils.isNotEmpty(jdd.getOtherPicture())){
+			greeImageIdO = getImage(jdd.getOtherPicture(), websitSH);
+			if (greeImageIdO == null) {
+				return null;
+			}
+		}
+
+		if (StringUtils.isNotEmpty(greeImageIdN)){
+			greeImageId=greeImageIdN;
+			if (StringUtils.isNotEmpty(greeImageIdW)){
+				greeImageId=greeImageId+"#"+greeImageIdW;
+			}
+			if (StringUtils.isNotEmpty(greeImageIdO)){
+				greeImageId=greeImageId+"#"+greeImageIdO;
+			}
+		} else {
+			if (StringUtils.isNotEmpty(greeImageIdW)){
+				greeImageId=greeImageIdN;
+				if (StringUtils.isNotEmpty(greeImageIdO)){
+					greeImageId=greeImageId+"#"+greeImageIdO;
+				}
+			} else {
+				greeImageId=greeImageIdO;
+			}
+		}
+		return greeImageId;
+	}
+
+	@Nullable
+	private String getBarcodeImage(YjhxJdd jdd,WebsitSH websitSH) {
+		String greeImageId = "";
+		String greeImageIdN = "";
+		String greeImageIdW = "";
+
+		if (StringUtils.isNotEmpty(jdd.getNjtmPicture())){
+			greeImageIdN = getImage(jdd.getNjtmPicture(), websitSH);
+			if (greeImageIdN == null) {
+				return null;
+			}
+		}
+
+		if (StringUtils.isNotEmpty(jdd.getWjtmPicture())){
+			greeImageIdW = getImage(jdd.getWjtmPicture(), websitSH);
+			if (greeImageIdW == null) {
+				return null;
+			}
+		}
+
+		if (StringUtils.isNotEmpty(greeImageIdN) && StringUtils.isNotEmpty(greeImageIdW)){
+			greeImageId=greeImageIdN+"#"+greeImageIdW;
+		} else if (StringUtils.isNotEmpty(greeImageIdN)){
+			greeImageId=greeImageIdN;
+		} else {
+			greeImageId=greeImageIdW;
+		}
+		return greeImageId;
+	}
+
+	@Nullable
+	private String getImage(String picture, WebsitSH websitSH) {
+		String oldFile;
+		String newFile;
+		String greeImageIdN;
+		oldFile = IdWorker.getIdStr() + ".jpeg";
+		baseService.saveToFile(ossUtil.getUrlWw(picture), oldFile);
+		// 获取文件
+		newFile = oldFile;
+		greeImageIdN = uploadBarCodeexc(newFile, oldFile, websitSH.getWdId());
+		new File(newFile).delete();
+		// 生成图片失败不同步
+		if (StringUtils.isEmpty(greeImageIdN)) {
+			return null;
+		}
+		return greeImageIdN;
+	}
+
+	private void getSaveFileInfo(String id1, ResultData resultData, Map<String, String> req) {
+		req.put("bizAppId","flydiy-auto-sit-default-front-greeshmerge");
+		req.put("bizTable","default");
+		req.put("bizType","default");
+		req.put("accessType","auth");
+		req.put("url", resultData.getExtData().getDir());
+		req.put("name", id1 +".jpeg");
+	}
+
+	private String uploadBarCodeexc(String newFile, String oldFile,String wdno) {
+		String greeImageId ="";
+		try{
+			// 1: 获取签名信息
+			GreeFileResponseHelper response =  greeLogico.ossGetSignt(wdno,"GET");
+			if (response.getStatusCode() == 200){
+				ResultData resultData = JSONObject.parseObject(response.getData().toString(), ResultData.class);
+				resultData.getExtData().setDir(resultData.getExtData().getDir()+"/"+oldFile);
+				// 2:文件上传
+				PostObjectSample ossPostObject = new PostObjectSample();
+				String result = ossPostObject.PostObject(newFile, resultData.getExtData());
+				// 3: 保存文件
+				if (org.apache.commons.lang3.StringUtils.isEmpty(result.trim())){
+					Map<String,String>req = new HashMap<>();
+					// 生成对象
+					getSaveFileInfo(oldFile, resultData, req);
+					GreeFileSaveHelper responses = greeLogico.greePostSaveFile(req);
+					if (responses.getStatusCode() == 200){
+						greeImageId = responses.getData().getId();
+						return greeImageId;
+					} else {
+						// 失败
+						return greeImageId;
+					}
+				} else {
+					// 上传图片到OSS失败
+					return greeImageId;
+				}
+			} else {
+				//  获取签名信息失败
+				return greeImageId;
+			}
+		} catch (Exception ex) {
+			return greeImageId;
+		}
+	}
+
+	private void synData(YjhxJdd jdd, ItfTblYjhxJddUpload yjhxJddUpload, TradeNewForOldUploadBean bean) {
+		final String url = webUrl + Constant.GreeWebPath.TBLYJHXJDD_COLLECTION;
+		try {
+			JSONObject response = greeLogic.postPubV3(url, mapper.readValue(mapper.writeValueAsString(bean), Map.class));
+			//log.info("TradeOldForNewLogic.collection接口返回:{}",response.toJSONString());
+			if( 200 == response.getInteger("status").intValue()) {
+				TradeNewForOldUploadBean reponseData = this.mapper.readValue(mapper.writeValueAsString(response.get("data")), TradeNewForOldUploadBean.class) ;
+				// 同步成功,同步鉴定单上传记录表数据
+				yjhxJddUpload.setSynStatus(Constant.SynStatus.SYN.getCode());
+				yjhxJddUpload.setSynTime(new Date());
+				yjhxJddUpload.setWdno(bean.getWdno());
+				yjhxJddUpload.setWdmc(bean.getWdmc());
+				// 这里的ID来自于总部
+				jdd.setGreeId(reponseData.getId());
+				//鉴定结果业务表回写状态为0(无需上传)
+				jdd.setUploadNotifyFlag(0);
+				if( null != reponseData.getJddfj() && !reponseData.getJddfj().isEmpty()) {
+					StringBuffer sb = new StringBuffer();
+					reponseData.getJddfj().forEach(jddFj->{
+						sb.append("#");
+						sb.append(jddFj.getFjguid());
+					});
+					String fjguids = sb.toString();
+					// 来自总部数据
+					jdd.setGreeFjguid(fjguids.substring(1, fjguids.length()));
+				}
+
+				//新增一条待入库条码上传记录
+				ItfTblTradeNewForOldStockInfoUploadTask tradeNewForOldStockInfoUploadTask = new ItfTblTradeNewForOldStockInfoUploadTask();
+				tradeNewForOldStockInfoUploadTask.setPgguid(jdd.getPgguid());
+				tradeNewForOldStockInfoUploadTask.setSynStatus(Constant.SynStatus.UN_SYN.getCode());
+				tradeNewForOldStockInfoUploadTask.setSynReqTime(new Date());
+				tradeNewForOldStockInfoUploadTask.setSynTimes(1);
+				itfTblTradeNewForOldStockInfoUploadTaskService.save(tradeNewForOldStockInfoUploadTask);
+			} else {
+				// 修改鉴定单同步失败状态
+				yjhxJddUpload.setSynStatus(Constant.SynStatus.FAIL.getCode());
+				yjhxJddUpload.setSynErrMsg(response.getString("messageCode"));
+				yjhxJddUpload.setSynTime(new Date());
+			}
+
+		} catch (Exception e) {
+			yjhxJddUpload.setSynStatus(Constant.SynStatus.FAIL.getCode());
+			yjhxJddUpload.setSynErrMsg(e.getMessage().length() > 100 ? e.getMessage().substring(0, 99): e.getMessage());
+			log.error("collection接口报错: {}", e.getMessage());
+			yjhxJddUpload.setSynTime(new Date());
+		}
+	}
+
+	private void getFileAttUpload(YjhxJdd jdd, List<ItfTblYjhxJddFjUpload> yjhxJddFjUploadList,
+								  ItfTblYjhxJddUpload yjhxJddUpload, List<TradeNewForOldUploadAttachmentBean> jddfjList) {
+		// 总部图片,除了tempBarcodeImg以外的所有,#号分割,in_full_picture#out_full_picture#other_picture
+		String[] fullimgs = jdd.getGreeImgIdAllOther().split("#");
+		List<String> greeFjguidArr = new ArrayList<>();
+		// 这里为附件图片处理  格力总部附件id, #号分割,in_fjid#out_fjid#other_fjid
+		// 该参数来自总部 报文同步后才有值
+		if(StringUtils.isNotEmpty(jdd.getGreeFjguid())) {
+			String[] greeFjguids = jdd.getGreeFjguid().split("#");
+			for(String greeFjguid : greeFjguids) {
+				greeFjguidArr.add(greeFjguid);
+			}
+		}
+
+		//内机全景图
+		getInFileAttUpload(jdd, yjhxJddFjUploadList, yjhxJddUpload, jddfjList, greeFjguidArr, fullimgs, 1, 0, "旧机内机整机", "复制内机bean异常,{}");
+
+		//外机全景图
+		getOutFileAttUpload(jdd, yjhxJddFjUploadList, yjhxJddUpload, jddfjList, greeFjguidArr, fullimgs, 2, 1, "旧机外机整机", "复制外机bean异常,{}");
+
+		//其他图
+		if(fullimgs.length > 2) {
+			getOtherFileAttUpload(jdd, yjhxJddFjUploadList, yjhxJddUpload, jddfjList, greeFjguidArr, fullimgs, 3, 2, "其他", "复制其他bean异常,{}");
+		}
+	}
+
+	private void getOtherFileAttUpload(YjhxJdd jdd, List<ItfTblYjhxJddFjUpload> yjhxJddFjUploadList,
+									   ItfTblYjhxJddUpload yjhxJddUpload, List<TradeNewForOldUploadAttachmentBean> jddfjList,
+									   List<String> greeFjguidArr, String[] fullimgs, int i, int i2, String 其他, String s) {
+		ItfTblYjhxJddFjUpload otherFileAttUpload = new ItfTblYjhxJddFjUpload();
+		if (greeFjguidArr.size() >= i) {
+			//其他
+			otherFileAttUpload.setFjguid(greeFjguidArr.get(i2));
+		}
+		otherFileAttUpload.setHxjddid(jdd.getHxjddid());
+		otherFileAttUpload.setFjname(其他);
+		otherFileAttUpload.setFjserverpath(fullimgs[i2]);
+		otherFileAttUpload.setFjindex(i2);
+		otherFileAttUpload.setType(30);
+		otherFileAttUpload.setWorkerOrderNo(yjhxJddUpload.getWorkerOrderNo());
+		yjhxJddFjUploadList.add(otherFileAttUpload);
+		try {
+			jddfjList.add(mapper.readValue(mapper.writeValueAsString(otherFileAttUpload), TradeNewForOldUploadAttachmentBean.class));
+		} catch (JsonProcessingException e) {
+			log.error(s, e.getMessage());
+		}
+	}
+
+	private void getOutFileAttUpload(YjhxJdd jdd, List<ItfTblYjhxJddFjUpload> yjhxJddFjUploadList,
+									 ItfTblYjhxJddUpload yjhxJddUpload, List<TradeNewForOldUploadAttachmentBean> jddfjList,
+									 List<String> greeFjguidArr, String[] fullimgs, int i, int i2,
+									 String 旧机外机整机, String s) {
+		ItfTblYjhxJddFjUpload outFileAttUpload = new ItfTblYjhxJddFjUpload();
+		if (greeFjguidArr.size() >= i) {
+			//内机附件id
+			outFileAttUpload.setFjguid(greeFjguidArr.get(i2));
+		}
+		outFileAttUpload.setHxjddid(jdd.getHxjddid());
+		outFileAttUpload.setFjname(旧机外机整机);
+		outFileAttUpload.setFjserverpath(fullimgs[i2]);
+		outFileAttUpload.setFjindex(i2);
+		outFileAttUpload.setType(30);
+		outFileAttUpload.setWorkerOrderNo(yjhxJddUpload.getWorkerOrderNo());
+		yjhxJddFjUploadList.add(outFileAttUpload);
+		try {
+			jddfjList.add(mapper.readValue(mapper.writeValueAsString(outFileAttUpload), TradeNewForOldUploadAttachmentBean.class));
+		} catch (JsonProcessingException e) {
+			log.error(s, e.getMessage());
+		}
+	}
+
+	private void getInFileAttUpload(YjhxJdd jdd, List<ItfTblYjhxJddFjUpload> yjhxJddFjUploadList, ItfTblYjhxJddUpload yjhxJddUpload,
+									List<TradeNewForOldUploadAttachmentBean> jddfjList, List<String> greeFjguidArr,
+									String[] fullimgs, int i, int i2, String 旧机内机整机, String s) {
+		ItfTblYjhxJddFjUpload inFileAttUpload = new ItfTblYjhxJddFjUpload();
+		if (greeFjguidArr.size() >= i) {
+			//内机附件id
+			inFileAttUpload.setFjguid(greeFjguidArr.get(i2));
+		}
+		inFileAttUpload.setHxjddid(jdd.getHxjddid());
+		inFileAttUpload.setFjname(旧机内机整机);
+		inFileAttUpload.setFjserverpath(fullimgs[i2]);
+		inFileAttUpload.setFjindex(i2);
+		inFileAttUpload.setType(30);
+		inFileAttUpload.setWorkerOrderNo(yjhxJddUpload.getWorkerOrderNo());
+		yjhxJddFjUploadList.add(inFileAttUpload);
+
+		try {
+			jddfjList.add(mapper.readValue(mapper.writeValueAsString(inFileAttUpload), TradeNewForOldUploadAttachmentBean.class));
+		} catch (JsonProcessingException e) {
+			log.error(s, e.getMessage());
+		}
+	}
+
+	private boolean setOldForNewProduct(Map<String, OldForNewProduct> oldForNewProductMap, YjhxJdd jdd, TradeNewForOldUploadBean bean) {
+		// 看旧机信息大类决定是否需要上传
+		if( !Objects.isNull(oldForNewProductMap)
+				&& oldForNewProductMap.containsKey(jdd.getOrderBaseId())
+				&& !Objects.isNull(oldForNewProductMap.get(jdd.getOrderBaseId()))
+				) {
+			// 以旧换新工单的旧机信息
+			OldForNewProduct oldFornew = oldForNewProductMap.get(jdd.getOrderBaseId());
+			//main_id非空和101时,才传旧机鉴定
+			if( Objects.isNull(oldFornew.getMainId()) || !oldFornew.getMainId().equals("101")){
+				log.info("TradeOldForNewLogic.collection接口: spid为空或非空调类,不上传旧机鉴定");
+				return true;
+			}
+			// 旧机信息赋值 OK
+			BeanUtils.copyProperties(oldFornew, bean, TradeNewForOldUploadBean.class);
+			bean.setIdCardStatus(oldFornew.getIdCardStatus());
+			bean.setIsSubsidy(oldFornew.getIsSubsidy());
+		}
+		return false;
+	}
+
+	private void setParame(OrderBase orderBase, YjhxJdd jdd, TradeNewForOldUploadBean bean) {
+		WebsitSH websitSH;
+		// hxjddido 为空时自生成
+		if (StringUtils.isEmpty(jdd.getHxjddid())){
+			jdd.setHxjddid(UUID.randomUUID().toString());
+		}
+		bean.setId(jdd.getGreeId());
+		//greeId和hxjddid设置成同一个
+		if(StringUtils.isNotEmpty(jdd.getGreeId())) {
+			jdd.setHxjddid(jdd.getGreeId());
+		}
+
+		//鉴定结果相反,总部鉴定结果0-回收 1-不回收, 广佛鉴定结果1-回收 0-不回收
+		bean.setIdentifyResult("1".equals(StringUtils.isEmpty(jdd.getIdentifyResult()) ? "" : jdd.getIdentifyResult()) ? "0" : "1");
+		//1 格力 0 非格力
+		bean.setBrandFlag( "格力".equals(StringUtils.isEmpty(jdd.getRealBrand()) ? "" : jdd.getRealBrand()) ? 1 : 0 );
+		//0 柜机 1 挂机
+		bean.setTypeFlag("柜机".equals(  StringUtils.isEmpty(jdd.getRealType()) ? "" : jdd.getRealType() ) ? 0 : 1);
+		bean.setOldMachineBrand(bean.getRealBrand());
+		bean.setOldMachineType(bean.getRealType());
+		bean.setStat("0");
+		//gps地址
+		if(!StringUtils.isEmpty(jdd.getLat()) && !StringUtils.isEmpty(jdd.getLng())) {
+			bean.setGps(jdd.getLat()+","+ jdd.getLng());
+		}else if(StringUtils.isEmpty(jdd.getLat())) {
+			log.info("TradeOldForNewLogic.collection接口: 经度为空, jdd.id={}", jdd.getId());
+		}else if(StringUtils.isEmpty(jdd.getLng())) {
+			log.info("TradeOldForNewLogic.collection接口: 纬度为空, jdd.id={}", jdd.getId());
+		}
+		// 这里的 GPS 30个字符不能超30个字符
+		if (!StringUtils.isEmpty(bean.getGps())){
+			if (bean.getGps().length()>30){
+				bean.setGps(bean.getGps().substring(0,30));
+			}
+		}
+
+		bean.setSjcjsfen(jdd.getProvince());
+		bean.setSjcjcshi(jdd.getCity());
+		bean.setSjcjxian(jdd.getArea());
+		bean.setGpsdizi(jdd.getAddress());
+		websitSH = publicService.ptshwdToshshwd(jdd.getWebsitId(), orderBase.getMainId());
+		bean.setWdno(websitSH.getWdId());
+		bean.setWdmc(websitSH.getWdmc());
+		WorderInfo worderInfo = publicService.getWorkerInfo(jdd.getWorkerId(),
+				websitSH.getWdId(), orderBase.getGroupCompanyId());
+		bean.setAzren(worderInfo.getBrandWorkerNumber());
+		bean.setAzrenyddh(worderInfo.getMobile());
+	}
+
+	private void updateJdd(YjhxJdd jdd, TradeNewForOldUploadBean bean) {
+		Boolean flag = Boolean.FALSE;
+		// 来自报文请求后的id,
+		if (StringUtils.isEmpty(jdd.getGreeId())){
+			jdd.setGreeId(UUID.randomUUID().toString());
+			flag=Boolean.TRUE;
+		}
+		bean.setId(jdd.getGreeId());
+		//greeId和hxjddid设置成同一个
+		if(StringUtils.isNotEmpty(jdd.getGreeId())) {
+			jdd.setHxjddid(jdd.getGreeId());
+		}
+		if(StringUtils.isNotEmpty(jdd.getGreeImgIdAllOther())) {
+			// 这里为内外机全图看有多少个图
+			String[] imgs = jdd.getGreeImgIdAllOther().split("#");
+			// 这里为附件图片处理  格力总部附件id, #号分割,in_fjid#out_fjid#other_fjid
+			// 自生成
+			if (StringUtils.isEmpty(jdd.getGreeFjguid())) {
+				String uuid = "";
+				for (int i = 0; i < imgs.length; i++) {
+					uuid = uuid + UUID.randomUUID().toString() + "#";
+				}
+				// 来自于报文请求后的id
+				jdd.setGreeFjguid(uuid.substring(0, uuid.length() - 1));
+				flag=Boolean.TRUE;
+			}
+		}
+		if (flag){
+			yjhxJddService.updateById(jdd);
+		}
+	}
+
+	/**
+	 * 回写状态到中间表
+	 * @param yjhxJddUpload
+	 * @param yjhxJddFjUploadList
+	 * @param toGreeUploadnotifylist
+	 * @param jdd
+	 */
+	@Transactional
+	public void processSave(
+			ItfTblYjhxJddUpload yjhxJddUpload,
+			List<ItfTblYjhxJddFjUpload> yjhxJddFjUploadList,
+			OutJiasmToGreeUploadnotifylist toGreeUploadnotifylist
+			,YjhxJdd jdd) {
+		try {
+		Integer synStatus = -1;
+		String msg = "";
+		//yjhxJddUpload为空,说明没有请求总部接口,toGreeUploadnotifylist请求数需要累加,超过6次不再请求
+		if( null != yjhxJddUpload  ) {
+			yjhxJddUpload.setCreatedBy("guangfo");
+			yjhxJddUpload.setCreatedDate(new Date());
+			yjhxJddUpload.setLastModifiedBy("guangfo");
+			yjhxJddUpload.setLastModifiedDate(new Date());
+			itfTblYjhxJddUploadService.saveOrUpdate(yjhxJddUpload);
+			msg = yjhxJddUpload.getSynErrMsg();
+			if( Constant.SynStatus.SYN.getCode().intValue() == yjhxJddUpload.getSynStatus()) {
+				synStatus = Constant.SynStatus.SYN.getCode();
+			}
+			if( null != yjhxJddFjUploadList && !yjhxJddFjUploadList.isEmpty()) {
+				yjhxJddFjUploadList.stream().forEach(fjUpload->{
+					fjUpload.setSynStatus(yjhxJddUpload.getSynStatus());
+					fjUpload.setSynErrMsg(yjhxJddUpload.getSynErrMsg());
+					fjUpload.setSynTime(new Date());
+					//返回状态与上一次相同,则累加,否则重新计算
+					fjUpload.setSynTimes(yjhxJddUpload.getSynTimes());
+					fjUpload.setCreatedBy("guangfo");
+					fjUpload.setCreatedDate(new Date());
+					fjUpload.setLastModifiedBy("guangfo");
+					fjUpload.setLastModifiedDate(new Date());
+				});
+				itfTblYjhxJddFjUploadService.saveOrUpdateBatch(yjhxJddFjUploadList);
+			}
+		}
+		
+		if( null != toGreeUploadnotifylist ) {
+			if(synStatus == Constant.SynStatus.SYN.getCode().intValue()) {
+				toGreeUploadnotifylist.setSynStatus(synStatus);
+			}else {
+				if(null !=toGreeUploadnotifylist.getSynTimes() && toGreeUploadnotifylist.getSynTimes() >= 6) {
+					toGreeUploadnotifylist.setSynStatus(Constant.SynStatus.FAIL.getCode());
+					toGreeUploadnotifylist.setSynErrMsg(msg);
+				}else {
+					toGreeUploadnotifylist.setSynTimes(null == toGreeUploadnotifylist.getSynTimes() ? 1 : (toGreeUploadnotifylist.getSynTimes()+1));
+				}
+			}
+			toGreeUploadnotifylist.setSynTime(new Date());
+			outJiasmToGreeUploadnotifylistService.saveOrUpdate(toGreeUploadnotifylist);
+		}
+		
+		if( null != jdd) {
+			if( Constant.SynStatus.SYN.getCode().intValue() == synStatus) {
+				//返回成功,反写业务表 部分数据来自于格力总部要反写
+				yjhxJddService.saveOrUpdate(jdd);
+			}
+		}
+		}catch(Exception e) {
+			log.error((Objects.isNull(e) || Objects.isNull(e.getMessage())) ?"TradeOldForNewLogic.processSave异常" : e.getMessage());
+		}
+	}
+	
+	/**
+	 * 把请求失败的任务变成待处理任务
+	 * @return
+	 */
+	public Boolean changeJddFailToUnSyn(){
+		List<OutJiasmToGreeUploadnotifylist> failList = outJiasmToGreeUploadnotifylistService.lambdaQuery()
+				.eq(OutJiasmToGreeUploadnotifylist::getSynStatus, Constant.SynStatus.FAIL.getCode()).list();
+		if( null != failList && !failList.isEmpty()) {
+			List<Boolean> resultList = new ArrayList<>();
+			failList.stream().forEach(fail->{
+				fail.setSynStatus(Constant.SynStatus.UN_SYN.getCode());
+				fail.setSynTimes(0);
+			});
+			return outJiasmToGreeUploadnotifylistService.saveOrUpdateBatch(failList);
+		}
+		return Boolean.FALSE;
+	}
+	
+	
+	@Transactional
+	public String queryRejectJdd() {
+		final String url = webUrl + Constant.GreeWebPath.TBLYJHXJDD_QUERYREJECTJDD;
+		try {
+			
+			JSONObject response = greeLogic.getPubV3(url, null);
+			//log.info("TradeOldForNewLogic.queryRejectJdd接口返回:{}", response.toJSONString());
+			if( 200 == response.getInteger("status").intValue()) {
+				List<OutJiasmToGreeUploadnotifylist> tradeNewForOldRejectJddDownloadList = JSONArray.parseArray(this.mapper.writeValueAsString(response.get("data")),
+						OutJiasmToGreeUploadnotifylist.class);
+				if( null != tradeNewForOldRejectJddDownloadList && !tradeNewForOldRejectJddDownloadList.isEmpty() ) {
+					tradeNewForOldRejectJddDownloadList.stream().forEach(reject->{
+						reject.setSynReqTime(new Date());
+						reject.setSynStatus(Constant.SynStatus.UN_SYN.getCode());
+						reject.setSynTimes(1);
+					});
+					outJiasmToGreeUploadnotifylistService.saveOrUpdateBatch(tradeNewForOldRejectJddDownloadList);
+				}else {
+					log.info("TradeOldForNewLogic.queryRejectJdd接口返回记录数为空");
+				}
+			}else {
+				if(response.containsKey("messageCode") && null != response.get("messageCode")) {
+					log.error("TradeOldForNewLogic.queryRejectJdd接口异常111: {}", response.getString("messageCode"));
+				}else if(response.containsKey("message") && null != response.get("message")) {
+					log.error("TradeOldForNewLogic.queryRejectJdd接口异常222: {}", response.getString("message"));
+				}
+			}
+		}catch(Exception e) {
+			log.error("TradeOldForNewLogic.queryRejectJdd接口异常333: {}", e.getMessage());
+		}
+		return "";
+    } 
+
+}

+ 10 - 10
src/main/java/com/zfire/jiasm/syncdata/constant/Constant.java

@@ -4,6 +4,7 @@ package com.zfire.jiasm.syncdata.constant;
 
 
 import lombok.Getter;
+import org.springframework.beans.factory.annotation.Value;
 
 public class Constant {
 
@@ -50,6 +51,12 @@ public class Constant {
     //短信验证码过期时间
     public static final Integer SMS_EXPIRE = 10 * 60;
 
+    @Value("${gree.V3.gettoken}")
+    private String v3TokenUrl;
+    @Value("${gree.V3.client.secert}")
+    private String v3ClientSecert;
+
+
     public class RedisPrefix{
 
         public final static String TOKEN = "SETTLE:TOKEN";
@@ -175,25 +182,18 @@ public class Constant {
         //格力商城-以旧换新 查询所有驳回的鉴定单
         public final static String TBLYJHXJDD_QUERYREJECTJDD = "/tblyjhxjdd/queryRejectJdd";
 
-
-    }
-
-    //回收工单同步请求记录表 表名
-    public class TradeOldForNewType{
-        //以旧换新鉴定单
-        public final static String YJHX_JDD = "fa_yjhx_jdd" ;
     }
 
     //回收工单同步请求记录表 表名
     public class RecycleOrderType{
         public final static String RECYCLE_ASSIGN = "fa_order_recycle_assign" ;
         public final static String RECYCLE_ASSIGN_MX ="fa_order_recycle_assign_mx" ;
-        public final static String RECYCLE_ASSIGN_FKMX = "fa_order_recycle_assign_fkmx" ;
+        public final static String RECYCLE_ASSIGN_FKMX = "order_recycle_assign_fkmx" ;
         public final static String RECYCLE_ASSIGN_EXPAND = "fa_order_recycle_assign_expand";
         public final static String RECYCLE_ASSIGN_WORKER = "fa_order_recycle_assign_worker";
-        public final static String RECYCLE_ASSGIN_COLLECTION = "fa_order_recycle_assign_collection";
+        public final static String RECYCLE_ASSGIN_COLLECTION = "order_recycle_assign_collection";
         public final static String RECYCLE_ASSIGN_COLLECTION_MACHINE =  "fa_order_recycle_assign_collection_machine";
-        public final static String RECYCLE_ASSIGN_ANNEX = "fa_order_recycle_assign_annex";
+        public final static String RECYCLE_ASSIGN_ANNEX = "order_recycle_assign_annex";
         public final static String RECYCLE_ASSIGN_STOCK_IN = "fa_order_recycle_assign_stock_in";
         public final static String RECYCLE_ASSIGN_STOCK_OUT = "fa_order_recycle_assign_stock_out";
     }

+ 2 - 0
src/main/java/com/zfire/jiasm/syncdata/constant/OrderTypeEnum.java

@@ -16,6 +16,8 @@ public enum OrderTypeEnum {
     ORDER_TYPE_RETURN_EXCHANGE("RETURN_EXCHANGE","退换货"),
     ORDER_TYPE_TRADE_IN("TRADE_IN","以旧换新"),
     ORDER_TYPE_MAINTENANCE("MAINTENANCE","维保工单"),
+    YJHX_JDD_TABLE_NAME("yjhx_jdd","以旧换新鉴定单表"),
+
 
 
 

+ 4 - 0
src/main/java/com/zfire/jiasm/syncdata/download/order/DetailDownloadInstallTask.java

@@ -18,6 +18,10 @@ import org.springframework.stereotype.Component;
 
 import java.util.*;
 
+
+/**
+ * 工单子信息 下载
+ */
 @Slf4j
 @Component
 public class DetailDownloadInstallTask {

+ 243 - 67
src/main/java/com/zfire/jiasm/syncdata/download/order/InstallBusiness.java

@@ -78,6 +78,10 @@ public class InstallBusiness {
     OrderService orderService;
     @Resource
     PublicService publicService;
+    @Resource
+    FaGreeSmsService faGreeSmsService;
+    @Resource
+    OrderAppealService orderAppealService;
 
 
 
@@ -129,7 +133,6 @@ public class InstallBusiness {
                 .in(OrderBase::getPgguid,lclslist).list();
         orderBaselist = orderBasesRecs.stream().map(OrderBase::getPgguid).collect(Collectors.toList());
 
-
         // 按任务号download_task_no,按单来处理
         for (ItfTblAzAssignLcLsDownload item: lcls) {
             try{
@@ -173,6 +176,8 @@ public class InstallBusiness {
         List<OrderInstallOperatingLog> addoiolList = new ArrayList<>();
         List<Long> getpjSynReqId = new ArrayList<>();
         List<OrderAppraise> addoalist = new ArrayList<>();
+        List<FaGreeSms> faGreeSms = new ArrayList<>();
+        List<OrderAppeal> orderAppeal = new ArrayList<>();
 
         // 提取本地订单
         OrderBase old = orderBaseService.lambdaQuery()
@@ -217,18 +222,19 @@ public class InstallBusiness {
         synReqYfYyIds = getYfYyLongs(item, old, newLCLS, addoalists);
 
         // 获取评价同步数据
-        addoalist = getOrderAppraises(sysDictRefDLMap, item, old, newLCLS, getpjSynReqId);
+        addoalist = getOrderAppraises(sysDictRefDLMap, item, newLCLS, getpjSynReqId,faGreeSms, orderAppeal);
 
         // 安装工单数据修改落本地表
         addOrUpdateOrderData(item, upInfo, own, mxsynreqids, orderProductsUpdate, synreqids,
-                addoiolList, fyqd, orderInstall, synReqYfYyIds, addoalists, getpjSynReqId, addoalist);
+                addoiolList, fyqd, orderInstall, synReqYfYyIds, addoalists, getpjSynReqId, addoalist, faGreeSms,orderAppeal);
     }
 
     public void addOrUpdateOrderData(ItfTblAzAssignLcLsDownload item, OrderBase upInfo, OrderWorker own,
                                      List<ItfTblAzAssignMxDownload> mxsynreqids, List<OrderProduct> orderProductsUpdate,
                                      List<ItfTblAzAssignFkmxDownload> synreqids, List<OrderInstallOperatingLog> addoiolList,
                                      List<ItfTblAzAssignFeeDownload> fyqd, OrderInstall orderInstall, List<Long> synReqYfYyIds,
-                                     List<OrderReAppointment> addoalists, List<Long> getpjSynReqId, List<OrderAppraise> addoalist) {
+                                     List<OrderReAppointment> addoalists, List<Long> getpjSynReqId, List<OrderAppraise> addoalist,
+                                     List<FaGreeSms> faGreeSms,List<OrderAppeal> orderAppeal) {
         // 同步修改订单基础表
         if (upInfo !=null){
             orderBaseService.updateById(upInfo);
@@ -284,10 +290,22 @@ public class InstallBusiness {
             orderAppraiseService.saveBatch(addoalist);
             addoalist.clear();
         }
+
+        if (faGreeSms.size()>0){
+            faGreeSmsService.saveBatch(faGreeSms);
+            faGreeSms.clear();
+        }
+
+        if (orderAppeal.size()>0){
+            orderAppealService.saveOrUpdateBatch(orderAppeal);
+            orderAppeal.clear();
+        }
+
         if (getpjSynReqId.size()>0){
             upItfTblAzAssignSatisfactionDownload(getpjSynReqId);
             getpjSynReqId.clear();
         }
+
     }
 
     @NotNull
@@ -320,26 +338,15 @@ public class InstallBusiness {
     }
 
     @NotNull
-    private List<OrderAppraise> getOrderAppraises(Map<String, List<SysDictRef>> sysDictRefDLMap, ItfTblAzAssignLcLsDownload item, OrderBase old, OrderBase newLCLS, List<Long> getpjSynReqId) {
-        // 提取已同步的
-        List<OrderAppraise> oas = orderAppraiseService.lambdaQuery()
-                .select(OrderAppraise::getPid,
-                        OrderAppraise::getPgguid)
-                .eq(OrderAppraise::getOrderBaseId, old.getId()).list();
-        List<String> oaslist  = oas.stream().map(OrderAppraise::getPid).collect(Collectors.toList());
-
-        // 提取本次获取的
+    private List<OrderAppraise> getOrderAppraises(Map<String, List<SysDictRef>> sysDictRefDLMap,
+                                                  ItfTblAzAssignLcLsDownload item,
+                                                  OrderBase newLCLS, List<Long> getpjSynReqId,
+                                                  List<FaGreeSms> faGreeSms,List<OrderAppeal> orderAppeal) {
         List<OrderAppraise> oanew = new ArrayList<>();
-        getOrderAppraise(newLCLS, sysDictRefDLMap, oanew, item, getpjSynReqId);
+        // 提取本次获取的
+        getOrderAppraise(newLCLS, sysDictRefDLMap, oanew, item.getDownloadTaskNo(), getpjSynReqId,faGreeSms, orderAppeal);
 
-        // 移除已同步过的
-        List<OrderAppraise> addoalist = new ArrayList<>();
-        for (OrderAppraise oa:oanew){
-            if (!oaslist.contains(oa.getPid())){
-                addoalist.add(oa);
-            }
-        }
-        return addoalist;
+        return oanew;
     }
 
     private void upItfTblAzAssignSatisfactionDownload(List<Long> getpjSynReqId) {
@@ -659,19 +666,27 @@ public class InstallBusiness {
             upInfo.setWebsitId(old.getWebsitId());
             upInfo.setWebsitName(old.getWebsitName());
         }
-        // 3:已预约不可更改预约时间
-        if (old.getFirstAppointmentTime() !=null){
+
+        // 3:已预约不可更改预约时间 未预约总部为准
+        OrderReAppointment ora = orderReAppointmentService.lambdaQuery()
+                .eq(OrderReAppointment::getOrderBaseId,old.getId())
+                .eq(OrderReAppointment::getFlag,1).one();
+        // 已预约过 退回查询处理
+        if (ora != null){
             upInfo.setAppointmentTime(old.getAppointmentTime());
+            upInfo.setExpectStartTime(old.getExpectStartTime());
+            upInfo.setExpectEndTime(old.getExpectEndTime());
         }
 
+        // 3.2天猫工单,允许天猫自已预约 查询中已做处理,这里无需操作
+        /*
         OrderInstall oi = orderInstallService.lambdaQuery()
                 .eq(OrderInstall::getOrderBaseId,old.getId()).one();
-
-        // 3.2天猫工单,允许天猫自已预约
         if (oi !=null && StringUtils.isNotEmpty(oi.getExtendField2()) &&
                 oi.getExtendField2().equals("TBL_TMALL_ORDERINFO")){
             upInfo.setAppointmentTime(newLCLS.getAppointmentTime());
         }
+        */
 
         // 4:工单状态
         Boolean allowUpdate = getAllowUpdate(old, newLCLS);
@@ -811,6 +826,8 @@ public class InstallBusiness {
         List<Long> synReqIds = new ArrayList<>();
         List<Long> synReqFkMxIds = new ArrayList<>();
         List<Long> synReqYfYyIds = new ArrayList<>();
+        List<FaGreeSms> faGreeSms = new ArrayList<>();
+        List<OrderAppeal> orderAppeal = new ArrayList<>();
 
         List<ItfTblAzAssignMxDownload> orderMx = itfTblAzAssignMxDownloadService.lambdaQuery()
                 .eq(ItfTblAzAssignMxDownload::getDownloadTaskNo, item.getDownloadTaskNo())
@@ -853,11 +870,11 @@ public class InstallBusiness {
 
         // 获取用户客户评价信息
         List<Long> getpjSynReqId = new ArrayList<>();
-        getOrderAppraise(orderBase, sysDictRefDLMap, oanew, item, getpjSynReqId);
+        getOrderAppraise(orderBase, sysDictRefDLMap, oanew, item.getDownloadTaskNo(), getpjSynReqId,faGreeSms,orderAppeal);
 
         // 安装工单数据落本地表
         addOrderData(orderBase, orderWorker, orderInstall, orderProducts, oiolList, oa, oanew,
-                item.getSynReqId(), synReqIds, synReqFkMxIds, synReqYfYyIds, fyqd, getpjSynReqId);
+                item.getSynReqId(), synReqIds, synReqFkMxIds, synReqYfYyIds, fyqd, getpjSynReqId,faGreeSms,orderAppeal);
     }
 
     /**
@@ -868,7 +885,8 @@ public class InstallBusiness {
     public void addOrderData(OrderBase orderBase, OrderWorker orderWorker, OrderInstall orderInstall, List<OrderProduct> orderProducts,
                              List<OrderInstallOperatingLog> oiolList, List<OrderReAppointment> oa, List<OrderAppraise> oanew,
                              Long synReqId, List<Long> synReqIds,  List<Long> synReqFkMxIds, List<Long> synReqYfYyIds,
-                             List<ItfTblAzAssignFeeDownload> fyqd, List<Long> getpjSynReqId) {
+                             List<ItfTblAzAssignFeeDownload> fyqd, List<Long> getpjSynReqId,
+                             List<FaGreeSms> faGreeSms,List<OrderAppeal> orderAppeal) {
         // 工单基础表
         if (orderBase != null) {
             orderBaseService.save(orderBase);
@@ -923,6 +941,20 @@ public class InstallBusiness {
             orderAppraiseService.saveBatch(oanew);
             oanew.clear();
         }
+
+        // 差评给网点发短信
+        if (faGreeSms.size()>0){
+            faGreeSmsService.saveBatch(faGreeSms);
+            faGreeSms.clear();
+        }
+
+        // 生成申诉数据
+        if (orderAppeal.size()>0){
+            orderAppealService.saveOrUpdateBatch(orderAppeal);
+            orderAppeal.clear();
+        }
+
+        // 修改同步状态
         if (getpjSynReqId.size()>0){
             upItfTblAzAssignSatisfactionDownload(getpjSynReqId);
             getpjSynReqId.clear();
@@ -991,56 +1023,200 @@ public class InstallBusiness {
     }
 
     private void getOrderAppraise(OrderBase orderBase, Map<String, List<SysDictRef>> sysDictRefDLMap, List<OrderAppraise> oanew,
-                                  ItfTblAzAssignLcLsDownload item, List<Long> getSynReqId) {
+                                  String downloadTaskNo, List<Long> getSynReqId,
+                                  List<FaGreeSms> faGreeSms,List<OrderAppeal> orderAppeal) {
         WebsitFWS websitFWS = new WebsitFWS();
-        List<ItfTblAzAssignSatisfactionDownload> sas;
+        int jcaninsert=1;
+        int cpflag=0;
+        // 首评信息用于填写差评中的首评内容
+        String spmessage="";
+        OrderAppraise zpoa=null;
+        String cpid="";
+        List<ItfTblAzAssignSatisfactionDownload> sas = new ArrayList<>();
+        List<OrderAppraise> oa = new ArrayList<>();
+        Map<String,List<OrderAppraise>> oaMap = new HashMap<>();
+        // 提取已同步的评价信息
+        oa = orderAppraiseService.lambdaQuery()
+                .eq(OrderAppraise::getOrderBaseId,orderBase.getId()).list();
+        oaMap = oa.stream().collect(Collectors.groupingBy(OrderAppraise::getPid));
+
+        // 提取待同步的评价数据
         sas = itfTblAzAssignSatisfactionDownloadService.lambdaQuery()
-                .eq(ItfTblAzAssignSatisfactionDownload::getDownloadTaskNo, item.getDownloadTaskNo())
+                .eq(ItfTblAzAssignSatisfactionDownload::getDownloadTaskNo, downloadTaskNo)
                 .eq(ItfTblAzAssignSatisfactionDownload::getSynStatus,0)
                 .orderByAsc(ItfTblAzAssignSatisfactionDownload::getSynReqId)
                 .list();
+        // 获取首评+差评
+
+        // 提取首评信息
+        OrderAppraise oaOne = orderAppraiseService.lambdaQuery()
+                .eq(OrderAppraise::getOrderBaseId,orderBase.getId())
+                .eq(OrderAppraise::getType,0)
+                .one();
+        if (oaOne !=null){
+            jcaninsert=0;
+            spmessage = oaOne.getAppraiseContent();
+        }
+
+        // 提取差评申诉信息
+        OrderAppeal oldcpss = orderAppealService.lambdaQuery()
+                .eq(OrderAppeal::getOrderBaseId,orderBase.getId()).one();
+
         for (ItfTblAzAssignSatisfactionDownload s :sas){
             getSynReqId.add(s.getSynReqId());
-            OrderAppraise o = new OrderAppraise();
-
-            // id为主键,放在pid 中
-            o.setPid(s.getId());
-            o.setPgguid(s.getPgguid());
-            // 工单号
-            o.setOrderBaseId(orderBase.getId());
-            if (s.getPjly().equals("1")){
-                o.setAppraiseStatus("A");
-            } else if (s.getPjly().equals("2")){
-                o.setAppraiseStatus("B");
-            } else if (s.getPjly().equals("3")){
-                o.setAppraiseStatus("C");
+            // 首评内容
+            if (s.getSxlx()==0){
+                spmessage = s.getPjnr();
+            }
+            // 评价已同步,忽略更新
+            if (oaMap.containsKey(s.getId())){
+                continue;
+            }
+            // 只能有一条首评数据 存在首评不再插入 上面判断已生效,这里多一次判断也可
+            if (jcaninsert == 0){
+                if (s.getSxlx()==0){
+                    continue;
+                }
+            }
+            // 生成评价实体对像
+            websitFWS = getOrderAppreise(orderBase, sysDictRefDLMap, oanew, s);
+            // 提取追评信息
+            if (zpoa==null){
+                zpoa=oanew.get(oanew.size()-1);
             } else {
-                o.setAppraiseStatus("X");
+                if (zpoa.getCreateTime().before(oanew.get(oanew.size()-1).getCreateTime())){
+                    zpoa=oanew.get(oanew.size()-1);
+                }
             }
-            // 回访人id无
-            o.setRvisitNickName(s.getHfren());
-            // 回访人网点信息
-            // 售后网点处理
-            websitFWS = publicService.shshwdToptshwd(s.getHfwdno(), orderBase);
-            if (StringUtils.isEmpty(websitFWS.getWebsitId())){
-                websitFWS = publicService.shxswdToptxswd(s.getHfwdno(), orderBase);
+
+            // 生成首次评价后,置标识,不再生成新的
+            if (s.getSxlx()==0){
+                jcaninsert=0;
+            }
+
+            // 差评短信 + 差评申诉 仅一次
+            if (oldcpss==null && cpflag==0) {
+                // 生成差评短信实体对像 faGreeSms  也只发一次
+                addcpsms(orderBase, s, websitFWS, faGreeSms);
+                // 生成差评申诉信息实体对像 只能申诉一次
+                cpflag = getCp(orderBase, orderAppeal,s);
+                if (cpflag==1){
+                    cpid=s.getId();
+                }
+            }
+        }
+
+        // 本次产生的差评申诉 补填首次评价内容(存在首评即差评的情况)
+        if (cpflag==1){
+            orderAppeal.get(0).setFirstEvaluate(spmessage);
+            // 可能存在追评 判断不是差评记录
+            if (zpoa!=null && !zpoa.getPid().equals(cpid)){
+                orderAppeal.get(0).setLastEvaluate(zpoa.getAppraiseContent());
+            }
+        }
+
+        // 之前产生的差评申诉且本次有追评时添加追评信息
+        if (oldcpss!=null && zpoa!=null){
+            oldcpss.setLastEvaluate(zpoa.getAppraiseContent());
+            orderAppeal.clear();
+            orderAppeal.add(oldcpss);
+        }
+    }
+
+    private int getCp(OrderBase orderBase, List<OrderAppeal> orderAppeals, ItfTblAzAssignSatisfactionDownload s) {
+        if (s.getPjnr().equals("3") || s.getPjnr().indexOf("不满意")>=0){
+            OrderAppeal orderAppeal=new OrderAppeal();
+            orderAppeal.setOrderBaseId(orderBase.getId());
+            orderAppeal.setPgid(orderBase.getPgid());
+            orderAppeal.setWorkerName(orderBase.getWorkerName());
+            orderAppeal.setWorkerId(orderBase.getWorkerId());
+            orderAppeal.setBadEvaluate(s.getPjnr());
+            orderAppeal.setStatus(1);
+            orderAppeal.setCanApply(Boolean.TRUE);
+            orderAppeal.setCreateTime(new Date());
+            orderAppeal.setCreateBy("system");
+            orderAppeals.add(orderAppeal);
+            return 1;
+        }
+        return 0;
+    }
+
+    private void addcpsms(OrderBase order, ItfTblAzAssignSatisfactionDownload s, WebsitFWS websitFWS,List<FaGreeSms> fsList) {
+        if (s.getPjnr().equals("3") || s.getPjnr().indexOf("不满意")>=0){
+            if (StringUtils.isNotEmpty(s.getHfwdno()) && !s.getHfwdno().equals("99999999") && StringUtils.isNotEmpty(websitFWS.getWdlxdh())){
+                FaGreeSms fs=new FaGreeSms();
+                fs.setSynTaskNo(UUID.randomUUID().toString());
+                fs.setWorkerOrderNo(order.getId());
+                fs.setAzorwx(2);
+                fs.setFjid(String.valueOf(s.getPgguid()));
+                fs.setFjwd(s.getHfwdno());
+                Random random = new Random(System.currentTimeMillis());
+                fs.setFsma(String.valueOf(random.nextInt(10000)));
+                fs.setFsnr("您收到一张客户的投诉工单,请及时处理!工单号:" + String.valueOf(order.getPgid()) +
+                        ",服务人员:" + order.getWorkerName());
+                fs.setSjid(websitFWS.getWdlxdh());
+                fs.setYhlb(2);
+                fsList.add(fs);
             }
-            o.setRvisitWebsitId(websitFWS.getWebsitId());
-            o.setRvisitWebsitName(websitFWS.getWdmc());
-
-            o.setRvisitTime(s.getHfsj());
-            o.setNegativeType(s.getBmylx());
-            o.setNegativeRemark(s.getBmybeiz());
-            o.setNegativeTime(s.getBmysj());
-            // 产品大类
-            o.setMainId(sysDictRefDLMap.get(String.valueOf(s.getSplb())).get(0).getDictCode());
-
-            o.setAppointmentType(s.getMydlx());
-            o.setType(s.getSxlx());
-            o.setCreateBy(s.getCreatedBy());
+        }
+    }
+
+    private WebsitFWS getOrderAppreise(OrderBase orderBase, Map<String, List<SysDictRef>> sysDictRefDLMap,
+                                       List<OrderAppraise> oanew, ItfTblAzAssignSatisfactionDownload s) {
+        WebsitFWS websitFWS;
+        OrderAppraise o = new OrderAppraise();
+        // id为主键,放在pid 中
+        o.setPid(s.getId());
+        o.setPgguid(s.getPgguid());
+        // 工单号
+        o.setOrderBaseId(orderBase.getId());
+
+        o.setOrderType(orderBase.getOrderType());
+        o.setWebsitId(orderBase.getWebsitId());
+        o.setWebsitName(orderBase.getWebsitName());
+        o.setUserName(orderBase.getUserName());
+        o.setUserPhone(orderBase.getUserMobile());
+        o.setAddress(orderBase.getAddress());
+
+
+        if (s.getPjly().equals("1")){
+            o.setAppraiseStatus("A");
+        } else if (s.getPjly().equals("2")){
+            o.setAppraiseStatus("B");
+        } else if (s.getPjly().equals("3")){
+            o.setAppraiseStatus("C");
+        } else {
+            o.setAppraiseStatus("X");
+        }
+        o.setAppraiseContent(s.getPjnr());
+        // 回访人id无
+        o.setRvisitNickName(s.getHfren());
+        // 回访人网点信息
+        // 售后网点处理
+        websitFWS = publicService.shshwdToptshwd(s.getHfwdno(), orderBase);
+        if (StringUtils.isEmpty(websitFWS.getWebsitId())){
+            websitFWS = publicService.shxswdToptxswd(s.getHfwdno(), orderBase);
+        }
+        o.setRvisitWebsitId(websitFWS.getWebsitId());
+        o.setRvisitWebsitName(websitFWS.getWdmc());
+
+        o.setRvisitTime(s.getHfsj());
+        o.setNegativeType(s.getBmylx());
+        o.setNegativeRemark(s.getBmybeiz());
+        o.setNegativeTime(s.getBmysj());
+        // 产品大类
+        o.setMainId(sysDictRefDLMap.get(String.valueOf(s.getSplb())).get(0).getDictCode());
+        o.setMainName(sysDictRefDLMap.get(String.valueOf(s.getSplb())).get(0).getDictValue());
+
+        o.setAppointmentType(s.getMydlx());
+        o.setType(s.getSxlx());
+        o.setCreateBy(s.getCreatedBy());
+        o.setCreateTime(new Date());
+        if (s.getCreatedDate()!=null){
             o.setCreateTime(s.getCreatedDate());
-            oanew.add(o);
         }
+        oanew.add(o);
+        return websitFWS;
     }
 
     private void getOrderAppointment(OrderBase orderBase, List<OrderReAppointment> oa, List<ItfTblAzAssignAppointmentDownload> appointments) {

+ 0 - 23
src/main/java/com/zfire/jiasm/syncdata/download/order/RecycleDownload.java

@@ -80,7 +80,6 @@ public class RecycleDownload {
         recycleAssignLogic.updateExtend();
     }
 
-
     /**
      * 5:同步到业务表
      * @throws Exception
@@ -94,27 +93,5 @@ public class RecycleDownload {
         recycleAssignLogic.processBusiness();
     }
 
-    /**
-     * 同步状态到总部
-     * 平台对数据变更时同步回总部
-     * @throws Exception
-     */
-    @Scheduled(fixedDelay = 10 * 1000)
-    private void statusBatchUpload() throws Exception {
-        recycleAssignLogic.statusUpload();
-    }
-
-    /**
-     * 同步采集数据到总部任务
-     * @throws Exception
-     */
-    @Scheduled(fixedDelay = 10 * 1000)
-    private void acquisitionUpload() {
-        recycleAcquisitionLogic.acquisitionUpload();
-    }
-
-
-
-
 
 }

+ 217 - 43
src/main/java/com/zfire/jiasm/syncdata/download/order/RepairBusiness.java

@@ -86,6 +86,8 @@ public class RepairBusiness {
     RepairLogMapper repairLogMapper;
     @Resource
     GDOrderBaseMapper gdOrderBaseMapper;
+    @Resource
+    OrderAppealService orderAppealService;
 
 
 
@@ -192,7 +194,7 @@ public class RepairBusiness {
         // 处理维修单过程反馈(只新增不修改)  放入操作日志表 TL_SynDataFrom_tbl_assign_fkmx
         generateFkmxUpdate(item, order);
         // 处理用户评价数据 TL_SynDataFrom_tbl_assign_satisfaction
-        generateSstisfactionUpdate(item, sysDictRefDLMap, order);
+        generateSstisfaction(item, sysDictRefDLMap, order);
         // 阅读要求数据处理 TL_SynDataFrom_tbl_assign_xzyd
         generateXzydUpdate(yds, order);
         // 用户预约改约数据处理 TL_SynDataFrom_tbl_assign_appointment
@@ -576,7 +578,7 @@ public class RepairBusiness {
         // 处理维修单过程反馈表 放入操作日志表 TL_SynDataFrom_tbl_assign_fkmx
         generateFkmx(item, order);
         // 处理用户评价数据 TL_SynDataFrom_tbl_assign_satisfaction
-        generateSstisfaction(brand, item, sysDictRefDLMap, order);
+        generateSstisfaction(item, sysDictRefDLMap, order);
         // 阅读要求数据处理 TL_SynDataFrom_tbl_assign_xzyd
         generateXzyd(brand, yds, order);
         // 用户预约改约数据处理 TL_SynDataFrom_tbl_assign_appointment
@@ -742,60 +744,231 @@ public class RepairBusiness {
         oilist.add(add);
     }
 
-    private void generateSstisfaction(Brand brand, ItfTblAssignDownload item, Map<String, List<SysDictRef>> sysDictRefDLMap, OrderBase order) {
+    private void generateSstisfaction(ItfTblAssignDownload item, Map<String, List<SysDictRef>> sysDictRefDLMap, OrderBase order) {
+        // 提取已同步的数据
+        List<OrderAppraise> oa = new ArrayList<>();
+        List<ItfTblAssignSatisfactionDownload> ups = new ArrayList<>();
+        Map<String,List<OrderAppraise>> oaMap = new HashMap<>();
+        List<OrderAppeal> orderAppeal = new ArrayList<>();
+        int jcaninsert=1;
+        int cpflag=0;
+        // 首评信息用于填写差评中的首评内容
+        String spmessage="";
+        List<OrderAppraise> oanew = new ArrayList<>();
+        List<FaGreeSms> faGreeSms = new ArrayList<>();
+        OrderAppraise zpoa=null;
+        String cpid="";
+
+        // 提取已同步的评价信息
+        oa = orderAppraiseService.lambdaQuery()
+                .eq(OrderAppraise::getOrderBaseId,order.getId()).list();
+        oaMap = oa.stream().collect(Collectors.groupingBy(OrderAppraise::getPid));
+
+        // 提取首评信息
+        OrderAppraise oaOne = orderAppraiseService.lambdaQuery()
+                .eq(OrderAppraise::getOrderBaseId,order.getId())
+                .eq(OrderAppraise::getType,0)
+                .one();
+        if (oaOne !=null){
+            jcaninsert=0;
+            spmessage = oaOne.getAppraiseContent();
+        }
+
+        // 提取差评申诉信息
+        OrderAppeal oldcpss = orderAppealService.lambdaQuery()
+                .eq(OrderAppeal::getOrderBaseId,order.getId()).one();
+
+
         List<ItfTblAssignSatisfactionDownload> satis = itfTblAssignSatisfactionDownloadService.lambdaQuery()
                 .eq(ItfTblAssignSatisfactionDownload::getDownloadTaskNo, item.getDownloadTaskNo())
                 .orderByAsc(ItfTblAssignSatisfactionDownload::getHfsj)
                 .list();
 
         for (ItfTblAssignSatisfactionDownload s:satis){
-            // 查看是否已同步
-            ReAppointment request = new ReAppointment();
-            request.setId(s.getId());
-            OrderAppraise old = appraiseMapper.getAppraise(request);
-            if (old!=null){
+            // 首评内容
+            if (s.getSxlx()==0){
+                spmessage = s.getPjnr();
+            }
+
+            // 评价已同步,忽略更新
+            if (oaMap.containsKey(s.getId())){
                 upSyncstatus(s.getSynReqId(), 9, "评价已同步,忽略更新");
                 continue;
             }
-            // 查看该工单有无较早前下载相同的评价
-            List<ItfTblAssignSatisfactionDownload> rec = itfTblAssignSatisfactionDownloadService.lambdaQuery()
-                    .lt(ItfTblAssignSatisfactionDownload::getSynReqId,s.getSynReqId())
-                    .eq(ItfTblAssignSatisfactionDownload::getPgid,s.getPgid())
-                    .eq(ItfTblAssignSatisfactionDownload::getId,s.getId())
-                    .le(ItfTblAssignSatisfactionDownload::getLastModifiedDate,s.getLastModifiedDate())
-                    .eq(ItfTblAssignSatisfactionDownload::getPjly,s.getPjly()).list();
-            if (rec!=null && rec.size()>0){
-                upSyncstatus(s.getSynReqId(), 9 ,"评价已同步,忽略更新");
-                continue;
+
+            // 只能有一条首评数据 存在首评不再插入 上面判断已生效,这里多一次判断也可
+            if (jcaninsert == 0){
+                if (s.getSxlx()==0){
+                    continue;
+                }
             }
-            // 判断评价是否为中差评,下面处理
 
-            Integer canInsert =1;
-            // 检查fa_order_repair是否有一条sxlx = 0的首评记录
-            if (s.getSxlx().equals(0) && s.getSynStatus().equals(0)){
-                ReAppointment r = new ReAppointment();
-                r.setId(String.valueOf(s.getSynReqId()));
-                ItfTblAssignSatisfactionDownload sa = assignSatisfactionDownloadMapper.getSatisfaction(r);
-                if (sa !=null){
-                    canInsert = 0;
+            // 生成评价实体对像
+            WebsitFWS websitFWS = getWebsitFWS(sysDictRefDLMap, order, oanew, s);
+
+            // 提取追评信息
+            if (zpoa==null){
+                zpoa=oanew.get(oanew.size()-1);
+            } else {
+                if (zpoa.getCreateTime().before(oanew.get(oanew.size()-1).getCreateTime())){
+                    zpoa=oanew.get(oanew.size()-1);
                 }
             }
-            // 只插入一条sxlx = 0的首评记录
-            if (canInsert.equals(1)){
-                // 增加评价记录
-                WebsitFWS websitFWS = addappraise(order,sysDictRefDLMap, s);
-                // 增加差评短信
-                addcpsms(order, s, websitFWS);
+
+            // 生成首次评价后,置标识,不再生成新的
+            if (s.getSxlx()==0){
+                jcaninsert=0;
             }
 
-            // 已评价过 新增时基础表不再操作追评 因为工单基础表无追评数据可存
-            if (order.getAppraiseTime() ==null){
-                // 这里为首次评价
-                upOrderBasePJ(order, s);
+            // 差评短信 + 差评申诉 仅一次
+            if (oldcpss==null && cpflag==0) {
+                // 生成差评短信实体对像 faGreeSms  也只发一次
+                addcpsms(order, s, websitFWS, faGreeSms);
+                // 生成差评申诉信息实体对像 只能申诉一次
+                cpflag = getCp(order, orderAppeal,s);
+                if (cpflag==1){
+                    cpid=s.getId();
+                }
             }
 
-            // 修改同步状态
-            upSatisfactionSynstatus(s);
+            // 本次产生的差评申诉 补填首次评价内容(存在首评即差评的情况)
+            if (cpflag==1){
+                orderAppeal.get(0).setFirstEvaluate(spmessage);
+                // 可能存在追评 判断不是差评记录
+                if (zpoa!=null && !zpoa.getPid().equals(cpid)){
+                    orderAppeal.get(0).setLastEvaluate(zpoa.getAppraiseContent());
+                }
+            }
+
+            // 之前产生的差评申诉且本次有追评时添加追评信息
+            if (oldcpss!=null && zpoa!=null){
+                oldcpss.setLastEvaluate(zpoa.getAppraiseContent());
+                orderAppeal.clear();
+                orderAppeal.add(oldcpss);
+            }
+
+            s.setSynReqId(s.getSynReqId());
+            s.setSynStatus(1);
+            s.setSynTime(new Date());
+            ups.add(s);
+        }
+
+        // 工单评价表
+        if (oanew.size()>0){
+            orderAppraiseService.saveBatch(oanew);
+            oanew.clear();
+        }
+
+        if (faGreeSms.size()>0){
+            faGreeSmsService.saveBatch(faGreeSms);
+            faGreeSms.clear();
+        }
+
+        if (orderAppeal.size()>0){
+            orderAppealService.saveOrUpdateBatch(orderAppeal);
+            orderAppeal.clear();
+        }
+
+        // 修改同步状态
+        if (ups.size()>0){
+            itfTblAssignSatisfactionDownloadService.updateBatchById(ups);
+            ups.clear();
+        }
+
+    }
+
+    @NotNull
+    private WebsitFWS getWebsitFWS(Map<String, List<SysDictRef>> sysDictRefDLMap, OrderBase order, List<OrderAppraise> oanew, ItfTblAssignSatisfactionDownload s) {
+        WebsitFWS websitFWS;
+        OrderAppraise o = new OrderAppraise();
+        // id为主键,放在pid 中
+        o.setPid(s.getId());
+        o.setPgguid(String.valueOf(s.getPgid()));
+        // 工单号
+        o.setOrderBaseId(order.getId());
+
+        o.setOrderType(order.getOrderType());
+        o.setWebsitId(order.getWebsitId());
+        o.setWebsitName(order.getWebsitName());
+        o.setUserName(order.getUserName());
+        o.setUserPhone(order.getUserMobile());
+        o.setAddress(order.getAddress());
+
+        if (s.getPjly().equals("1")){
+            o.setAppraiseStatus("A");
+        } else if (s.getPjly().equals("2")){
+            o.setAppraiseStatus("B");
+        } else if (s.getPjly().equals("3")){
+            o.setAppraiseStatus("C");
+        } else {
+            o.setAppraiseStatus("X");
+        }
+        o.setAppraiseContent(s.getPjnr());
+        // 回访人id无
+        o.setRvisitNickName(s.getHfren());
+        // 回访人网点信息
+        // 售后网点处理
+        websitFWS = publicService.shshwdToptshwd(s.getHfwdno(), order);
+        if (StringUtils.isEmpty(websitFWS.getWebsitId())){
+            websitFWS = publicService.shxswdToptxswd(s.getHfwdno(), order);
+        }
+        o.setRvisitWebsitId(websitFWS.getWebsitId());
+        o.setRvisitWebsitName(websitFWS.getWdmc());
+
+        o.setRvisitTime(s.getHfsj());
+        o.setNegativeType(s.getBmylx());
+        o.setNegativeRemark(s.getBmybeiz());
+        o.setNegativeTime(s.getBmysj());
+        // 产品大类
+        o.setMainId(sysDictRefDLMap.get(String.valueOf(s.getSplb())).get(0).getDictCode());
+        o.setMainName(sysDictRefDLMap.get(String.valueOf(s.getSplb())).get(0).getDictValue());
+
+        o.setAppointmentType(s.getMydlx());
+        o.setType(s.getSxlx());
+        o.setCreateBy(s.getCreatedBy());
+        o.setCreateTime(new Date());
+        if (s.getCreatedDate()!=null){
+            o.setCreateTime(s.getCreatedDate());
+        }
+        oanew.add(o);
+        return websitFWS;
+    }
+
+    private int getCp(OrderBase orderBase, List<OrderAppeal> orderAppeals, ItfTblAssignSatisfactionDownload s) {
+        if (s.getPjnr().equals("3") || s.getPjnr().indexOf("不满意")>=0){
+            OrderAppeal orderAppeal=new OrderAppeal();
+            orderAppeal.setOrderBaseId(orderBase.getId());
+            orderAppeal.setPgid(orderBase.getPgid());
+            orderAppeal.setWorkerName(orderBase.getWorkerName());
+            orderAppeal.setWorkerId(orderBase.getWorkerId());
+            orderAppeal.setBadEvaluate(s.getPjnr());
+            orderAppeal.setStatus(1);
+            orderAppeal.setCanApply(Boolean.TRUE);
+            orderAppeal.setCreateTime(new Date());
+            orderAppeal.setCreateBy("system");
+            orderAppeals.add(orderAppeal);
+            return 1;
+        }
+        return 0;
+    }
+
+    private void addcpsms(OrderBase order,ItfTblAssignSatisfactionDownload s, WebsitFWS websitFWS,List<FaGreeSms> fsList) {
+        if (s.getPjnr().equals("3") || s.getPjnr().indexOf("不满意")>=0){
+            if (StringUtils.isNotEmpty(s.getHfwdno()) && !s.getHfwdno().equals("99999999") && StringUtils.isNotEmpty(websitFWS.getWdlxdh())){
+                FaGreeSms fs=new FaGreeSms();
+                fs.setSynTaskNo(UUID.randomUUID().toString());
+                fs.setWorkerOrderNo(order.getId());
+                fs.setAzorwx(2);
+                fs.setFjid(String.valueOf(s.getPgid()));
+                fs.setFjwd(s.getHfwdno());
+                Random random = new Random(System.currentTimeMillis());
+                fs.setFsma(String.valueOf(random.nextInt(10000)));
+                fs.setFsnr("您收到一张客户的投诉工单,请及时处理!工单号:" + String.valueOf(order.getPgid()) +
+                        ",服务人员:" + order.getWorkerName());
+                fs.setSjid(websitFWS.getWdlxdh());
+                fs.setYhlb(2);
+                fsList.add(fs);
+            }
         }
     }
 
@@ -856,8 +1029,9 @@ public class RepairBusiness {
     }
 
     private void addcpsms(OrderBase order, ItfTblAssignSatisfactionDownload s, WebsitFWS websitFWS) {
-        if (s.getPjnr().equals("3") || s.getPjnr().indexOf("不满意")>0){
-            if (StringUtils.isNotEmpty(s.getHfwdno()) && s.getHfwdno().equals("99999999")){
+        if (s.getPjnr().equals("3") || s.getPjnr().indexOf("不满意")>=0){
+            if (StringUtils.isNotEmpty(s.getHfwdno()) && !s.getHfwdno().equals("99999999") &&
+                    StringUtils.isNotEmpty(websitFWS.getWdlxdh())){
                 FaGreeSms fs = new FaGreeSms();
                 fs.setSynTaskNo(UUID.randomUUID().toString());
                 fs.setWorkerOrderNo(order.getId());
@@ -912,7 +1086,7 @@ public class RepairBusiness {
         // splb 商品大类  单独处理
         add.setMainId(sysDictRefDLMap.get(String.valueOf(s.getSplb())).get(0).getDictCode());
         // can_appeal 是否可发起申诉   单独处理
-        add.setCanAppeal(appeal);
+        // add.setCanAppeal(appeal);
         orderAppraiseService.save(add);
         return websitFWS;
     }
@@ -930,7 +1104,7 @@ public class RepairBusiness {
         } else if (s.getPjnr().equals("2") || s.getPjnr().equals("一般")){
             upOrder.setAppraiseStatus("B");
         } else if (s.getPjnr().equals("3") || s.getPjnr().equals("不满意") ||
-                s.getPjnr().indexOf("差")>0 || s.getPjnr().indexOf("不满")>0){
+                s.getPjnr().indexOf("差")>=0 || s.getPjnr().indexOf("不满")>=0){
             upOrder.setAppraiseStatus("C");
         } else {
             upOrder.setAppraiseStatus("O");

+ 21 - 0
src/main/java/com/zfire/jiasm/syncdata/gree/recycle/GreeLogicT.java

@@ -30,6 +30,7 @@ import org.springframework.util.MultiValueMap;
 import org.springframework.web.client.HttpStatusCodeException;
 import org.springframework.web.client.RestTemplate;
 
+import java.io.IOException;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
@@ -300,6 +301,26 @@ public class GreeLogicT {
         return jsonObject;
     }
 
+
+    public JSONObject postPubV3(String url,Map<String,Object> map) throws IOException {
+        Map<String, String> header = new HashMap<>();
+        header.put("authorization", "Bearer " + this.getAccessTokenV3());
+        log.info("【总部接口对接】request:{}",JSONObject.toJSONString(map));
+        JSONObject jsonObject = new JSONObject();
+        String s = HttpUtils.requestPostBodyIO(url, JSONObject.toJSONString(map), header);
+        log.info("【总部接口对接】response:{}",s);
+        jsonObject = JSONObject.parseObject(s);
+
+        Integer statusCode = (jsonObject.containsKey("status") && null != jsonObject.get("status") ) ?
+                jsonObject.getInteger("status") : jsonObject.getInteger("statusCode");
+        jsonObject.put("status", statusCode);
+        if (statusCode != 200) {
+            log.error("接口地址:{},对接总部接口失败",url);
+        }
+        return jsonObject;
+    }
+
+
     public Object get(String url,Map<String,String> map) throws JsonMappingException, JsonProcessingException {
     	final String apiPath = v3ApiUrl;
     	Map<String, String> header = new HashMap<>();

+ 208 - 213
src/main/java/com/zfire/jiasm/syncdata/gree/recycle/RecycleAcquisitionLogic.java

@@ -1,5 +1,6 @@
 package com.zfire.jiasm.syncdata.gree.recycle;
 
+import com.aliyun.oss.common.utils.StringUtils;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.DeserializationFeature;
@@ -12,6 +13,10 @@ import com.zfire.jiasm.syncdata.gree.helper.GreeResponseHelper;
 import com.zfire.jiasm.syncdata.gree.recycle.stock.RecycleStockBarcodeInfoUploadBean;
 import com.zfire.jiasm.syncdata.plus.entity.*;
 import com.zfire.jiasm.syncdata.plus.service.*;
+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.utils.StringUtil;
 import io.jsonwebtoken.lang.Collections;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,8 +33,6 @@ import java.util.stream.Collectors;
 @Slf4j
 @Service
 public class RecycleAcquisitionLogic {
-	
-	
 	@Autowired
 	GreeLogicT greeLogic;
 	@Autowired
@@ -51,33 +54,31 @@ public class RecycleAcquisitionLogic {
 	@Autowired
 	ItfTblRecyleStockInfoUploadTaskListService recyleStockInfoUploadTaskListService;
 	@Autowired
-	FaOrderRecycleUploadEventService orderRecycleUploadEventService;
+	OrderRecycleUploadEventService orderRecycleUploadEventService;
 	@Autowired
 	ItfTblRecycleStockBarcodeInfoUploadService recycleStockBarcodeInfoUploadService;
 	@Autowired
 	RedisLockRegistry redisLockRegistry;
-
-
-
-
-
-
-	/*
 	@Autowired
-	OrderRecycleAssignAnnexService orderRecycleAssignAnnexService;
+	OrderRecycleAssignFkmxService orderRecycleAssignFkmxService;
 	@Autowired
-	private WebsitService websitService;
+	OrderRecycleAssignService orderRecycleAssignService;
 	@Autowired
-	private WebsitWorkerService websitWorkerService;
+	OrderRecycleAssignCollectionService orderRecycleAssignCollectionService;
 	@Autowired
-	OrderRecycleAssignService orderRecycleAssignService;
+	OrderRecycleAssignAnnexService orderRecycleAssignAnnexService;
 	@Autowired
 	OrderRecycleAssignMxService orderRecycleAssignMxService;
 	@Autowired
-	OrderRecycleAssignCollectionService orderRecycleAssignCollectionService;
-	*/
+	PublicService publicService;
+	@Autowired
+	ItfTblRecycleHsptJjcjUploadService itfTblRecycleHsptJjcjUploadService;
+	@Autowired
+	ItfTblRecycleHsptJjcjFjUploadService itfTblRecycleHsptJjcjFjUploadService;
+	@Autowired
+	ItfTblRecycleHsptJjcjTmmxUploadService itfTblRecycleHsptJjcjTmmxUploadService;
+    private ObjectMapper mapper;
 
-	private ObjectMapper mapper;
 	
 	@Autowired
 	public RecycleAcquisitionLogic() {
@@ -277,206 +278,206 @@ public class RecycleAcquisitionLogic {
 		}
 	}
 
+
 	/**
 	 * 批量上传采集信息
 	 */
-	/*
 	public void acquisitionUpload() {
-		List<FaOrderRecycleUploadEvent> collectionEventList = orderRecycleUploadEventService.lambdaQuery()
-				.eq(FaOrderRecycleUploadEvent::getSynStatus, Constant.SynStatus.UN_SYN.getCode())
-				.eq(FaOrderRecycleUploadEvent::getOrderType, Constant.RecycleOrderType.RECYCLE_ASSGIN_COLLECTION)
+		// 回收工单同步记录表中提取待同步的 回收工单-采集主表
+		List<OrderRecycleUploadEvent> collectionEventList = orderRecycleUploadEventService.lambdaQuery()
+				.eq(OrderRecycleUploadEvent::getSynStatus, Constant.SynStatus.UN_SYN.getCode())
+				.eq(OrderRecycleUploadEvent::getOrderType, Constant.RecycleOrderType.RECYCLE_ASSGIN_COLLECTION)
 				.list();
-		if(Collections.isEmpty(collectionEventList)) {
-			return;
-		}
-		
-		List<FaOrderRecycleUploadEvent> annexEventList = orderRecycleUploadEventService.lambdaQuery()
-				.eq(FaOrderRecycleUploadEvent::getSynStatus, Constant.SynStatus.UN_SYN.getCode())
-				.eq(FaOrderRecycleUploadEvent::getOrderType, Constant.RecycleOrderType.RECYCLE_ASSIGN_ANNEX).list();
-		String batchNo = java.util.UUID.randomUUID().toString();
-		final Map<Integer, List<FaOrderRecycleUploadEvent>> collectionEventMap = collectionEventList.stream().collect(Collectors.groupingBy(FaOrderRecycleUploadEvent::getId));
-		final Map<Integer, List<FaOrderRecycleUploadEvent>> annexEventMap = (null == annexEventList || annexEventList.isEmpty()) ? null : annexEventList.stream().collect(Collectors.groupingBy(OrderRecycleUploadEvent::getId));
-		LinkedHashSet<Integer> ids = new LinkedHashSet<>();
-		LinkedHashSet<Integer> annexIds = new LinkedHashSet<>();
-		collectionEventList.stream().forEach(event->{
-			ids.add(event.getId());
-		});
-		if(null != annexEventList && !annexEventList.isEmpty()) {
-			annexEventList.stream().forEach(annexEvent->{
-				annexIds.add(annexEvent.getId());
+
+		if(null != collectionEventList && !collectionEventList.isEmpty()) {
+			// 回收工单同步记录表中提取回 收工单-数据采集附件表
+			List<OrderRecycleUploadEvent> annexEventList = orderRecycleUploadEventService.lambdaQuery()
+					.eq(OrderRecycleUploadEvent::getSynStatus, Constant.SynStatus.UN_SYN.getCode())
+					.eq(OrderRecycleUploadEvent::getOrderType, Constant.RecycleOrderType.RECYCLE_ASSIGN_ANNEX).list();
+
+			String batchNo = java.util.UUID.randomUUID().toString();
+			final Map<Integer, List<OrderRecycleUploadEvent>> collectionEventMap = collectionEventList.stream().collect(Collectors.groupingBy(OrderRecycleUploadEvent::getId));
+			final Map<Integer, List<OrderRecycleUploadEvent>> annexEventMap = (null == annexEventList || annexEventList.isEmpty()) ? null : annexEventList.stream().collect(Collectors.groupingBy(OrderRecycleUploadEvent::getId));
+			LinkedHashSet<Integer> collectionIds = new LinkedHashSet<>();
+			LinkedHashSet<Integer> annexIds = new LinkedHashSet<>();
+			collectionEventList.stream().forEach(event->{
+				collectionIds.add(event.getId());
 			});
-		}
-		if(!ids.isEmpty()) {
-			List<OrderRecycleAssignCollection> collectionList = orderRecycleAssignCollectionService.lambdaQuery()
-					.in(OrderRecycleAssignCollection::getId, ids).list();
-			if( null != collectionList && !collectionList.isEmpty()) {
-				final List<OrderRecycleAssignAnnex> annexList = annexIds.isEmpty() ? null :
-					orderRecycleAssignAnnexService.lambdaQuery().in(OrderRecycleAssignAnnex::getId, annexIds).list();
-				//条码表分组gr
-				final Map<Integer, List<OrderRecycleAssignAnnex>> annexMap = (null == annexList || annexList.isEmpty()) ? null :  annexList.stream().collect(Collectors.groupingBy(OrderRecycleAssignAnnex::getCollectionId));
-				LinkedHashSet<Integer> orderIds = new LinkedHashSet<>();
-				LinkedHashSet<Integer> mxIds = new LinkedHashSet<>();
-				collectionList.stream().forEach(collection->{
-					orderIds.add(collection.getOrderId());
-					mxIds.add(collection.getMxId());
+			if(null != annexEventList && !annexEventList.isEmpty()) {
+				annexEventList.stream().forEach(annexEvent->{
+					annexIds.add(annexEvent.getId());
 				});
-				
-				List<OrderRecycleAssign> recycleList = orderRecycleAssignService.lambdaQuery().in(OrderRecycleAssign::getId, orderIds).list();
-				final Map<Integer, List<OrderRecycleAssign>> recycleMap = (null == recycleList || recycleList.isEmpty()) ? null : recycleList.stream().collect(Collectors.groupingBy(OrderRecycleAssign::getId));
-				List<OrderRecycleAssignMx> mxList = orderRecycleAssignMxService.lambdaQuery().in(OrderRecycleAssignMx::getId, mxIds).list();
-				collectionList.stream().forEach(collection->{
-					List<OrderRecycleUploadEvent> eventList = new ArrayList<>();
-					final List<OrderRecycleUploadEvent> collectionEventGroupList =  collectionEventMap.get(collection.getId());
-					eventList.addAll(collectionEventGroupList);
-					RecycleAcquisitionUploadBean bean = new RecycleAcquisitionUploadBean();
-					RecycleHsptJjcjUploadBean feedbackUploadBean = new RecycleHsptJjcjUploadBean();
-					//完工和报废状态才上传
-					if(null != recycleMap && recycleMap.containsKey(collection.getOrderId())
-							&& null != recycleMap.get(collection.getOrderId()) 
-							&& !recycleMap.get(collection.getOrderId()).isEmpty()) {
-						if(null != recycleMap.get(collection.getOrderId()).get(0).getOrderState() 
-								&& 6 != recycleMap.get(collection.getOrderId()).get(0).getOrderState().intValue() 
-								&& 7 != recycleMap.get(collection.getOrderId()).get(0).getOrderState().intValue() 	
-								) {
-							return;
+			}
+			if(!collectionIds.isEmpty()) {
+				// 提取待同步的采集主表数据
+				List<OrderRecycleAssignCollection> collectionList = orderRecycleAssignCollectionService.lambdaQuery()
+						.in(OrderRecycleAssignCollection::getId, collectionIds).list();
+				if( null != collectionList && !collectionList.isEmpty()) {
+					// 获取采集附件表数据
+					final List<OrderRecycleAssignAnnex> annexList = annexIds.isEmpty() ? null :
+							orderRecycleAssignAnnexService.lambdaQuery()
+									.in(OrderRecycleAssignAnnex::getId, annexIds).list();
+					// 采集附件表按工单主表主键分组
+					final Map<Integer, List<OrderRecycleAssignAnnex>> annexMap = (null == annexList || annexList.isEmpty()) ? null :  annexList.stream().collect(Collectors.groupingBy(OrderRecycleAssignAnnex::getCollectionId));
+					LinkedHashSet<Integer> orderIds = new LinkedHashSet<>();
+					LinkedHashSet<Integer> mxIds = new LinkedHashSet<>();
+					// 提取回收工单ID
+					collectionList.stream().forEach(collection->{
+						orderIds.add(collection.getOrderId());
+						mxIds.add(collection.getMxId());
+					});
+
+					// 提取回收工单主表 数据明细 spmc (value = "品类名称拼接,空调、电视")
+					List<OrderRecycleAssign> recycleList = orderRecycleAssignService.lambdaQuery()
+							.in(OrderRecycleAssign::getId, orderIds).list();
+					final Map<Integer, List<OrderRecycleAssign>> recycleMap = (null == recycleList || recycleList.isEmpty()) ? null : recycleList.stream().collect(Collectors.groupingBy(OrderRecycleAssign::getId));
+					// 提取 回收明细表数据
+					List<OrderRecycleAssignMx> mxList = orderRecycleAssignMxService.lambdaQuery()
+							.in(OrderRecycleAssignMx::getId, mxIds).list();
+					collectionList.stream().forEach(collection->{
+						// 存同步记录表
+						List<OrderRecycleUploadEvent> eventList = new ArrayList<>();
+						final List<OrderRecycleUploadEvent> collectionEventGroupList =  collectionEventMap.get(collection.getId());
+						eventList.addAll(collectionEventGroupList);
+
+						RecycleAcquisitionUploadBean bean = new RecycleAcquisitionUploadBean();
+						RecycleHsptJjcjUploadBean feedbackUploadBean = new RecycleHsptJjcjUploadBean();
+						//完工和报废状态才上传
+						if(null != recycleMap && recycleMap.containsKey(collection.getOrderId())
+								&& null != recycleMap.get(collection.getOrderId())
+								&& !recycleMap.get(collection.getOrderId()).isEmpty()) {
+							if(null != recycleMap.get(collection.getOrderId()).get(0).getOrderState()
+									&& 6 != recycleMap.get(collection.getOrderId()).get(0).getOrderState().intValue()
+									&& 7 != recycleMap.get(collection.getOrderId()).get(0).getOrderState().intValue()
+							) {
+								return;
+							}
 						}
-					}
-					
-					feedbackUploadBean.setPgguid(recycleList.stream().filter(recycle->recycle.getId().intValue() ==collection.getOrderId().intValue() ).collect(Collectors.toList()).get(0).getPgguid());
-					feedbackUploadBean.setPgmxid(mxList.stream().filter(mx->mx.getId().intValue() == collection.getMxId()).collect(Collectors.toList()).get(0).getPgmxid());
-					//总部和广佛两边鉴定结果刚好相反
-					feedbackUploadBean.setJdjg( (null == collection.getIdentificationResult()) ? null :(  0 == collection.getIdentificationResult().intValue() ? 1 : 0));
-					feedbackUploadBean.setSfcj(collection.getDismantle());
-					feedbackUploadBean.setLceng(collection.getFloor());
-					feedbackUploadBean.setCcun(collection.getMachineSize());
-					feedbackUploadBean.setJjpp(collection.getMachineBrand());
-					feedbackUploadBean.setJjlx(collection.getMachineType());
-					feedbackUploadBean.setJjqsqk(collection.getMachineDefectData());
-					feedbackUploadBean.setPshu(collection.getMachineLmx());
-					feedbackUploadBean.setSpid(mxList.stream().filter(mx->mx.getId().intValue() == collection.getMxId()).collect(Collectors.toList()).get(0).getSpid());
-					feedbackUploadBean.setSpmc(mxList.stream().filter(mx->mx.getId().intValue() == collection.getMxId()).collect(Collectors.toList()).get(0).getSpmc());
-					//gps经纬度
-					feedbackUploadBean.setGps((!StringUtils.isNullOrEmpty(collection.getLat()) && !StringUtils.isNullOrEmpty(collection.getLng()) ) ? (collection.getLat()+","+collection.getLng()) : "");
-					feedbackUploadBean.setSjcjsfen(collection.getProvince());
-					feedbackUploadBean.setSjcjcshi(collection.getCity());
-					feedbackUploadBean.setSjcjxian(collection.getArea());
-					feedbackUploadBean.setGpsdizi(collection.getGpsAddress());
-					//工程师编号,工程师名称,工程师电话
-					WebsitWorker websitWorker = null;
-					if( null != collection.getMainResponsibleId() ) {
-						websitWorker = websitWorkerService.getById(collection.getMainResponsibleId());
-					}
-					if( null != websitWorker ) {
-						feedbackUploadBean.setAzrenno(websitWorker.getNumber());
-						feedbackUploadBean.setAzren(websitWorker.getName());
-						feedbackUploadBean.setAzrenyddh(websitWorker.getPhone());
-					}
-					//网点编号,网点名称
-					Websit websit = null;
-					OrderRecycleAssign orderRecycleAssign = recycleMap.get(collection.getOrderId()).get(0);
-					if(null != orderRecycleAssign.getAfterWebsitId()) {
-						websit = websitService.getById(orderRecycleAssign.getAfterWebsitId());
-					}
-					if( null != websit) {
-						feedbackUploadBean.setWdno(websit.getWebsitNumber());
-						feedbackUploadBean.setWdmc(websit.getName());
-					}
-					bean.setTblHsptJjcjVO(feedbackUploadBean);
-					bean.setBatchNo(batchNo);
-					bean.setTaskNo(java.util.UUID.randomUUID().toString());
-                    // 附件
-					List<RecycleHsptJjcjFjUploadBean> tblHsptJjcjFjVO = new ArrayList<>();
-					//条码
-					List<RecycleHsptJjcjTmmxUploadBean> tblHsptJjcjTmmxVO = new ArrayList<>();
-					
-					log.info("annexMap={}",JSONObject.parseObject(JSONObject.toJSONString(annexMap), JSONObject.class));
-					
-					if(!StringUtils.isNullOrEmpty(collection.getInsideTempCode())) {
-						if(null != annexMap && annexMap.containsKey(collection.getId())
-							&& null != annexMap.get(collection.getId()) && !annexMap.get(collection.getId()).isEmpty()) {
-							List<OrderRecycleAssignAnnex> subAnnexList = annexMap.get(collection.getId());
-							if( null != subAnnexList && !subAnnexList.isEmpty() ) {
-								subAnnexList.stream().forEach(o->{
-									if(null != o.getType() && 1 == o.getType().intValue()) {//内机条码 
-										RecycleHsptJjcjTmmxUploadBean tmmxBean = new RecycleHsptJjcjTmmxUploadBean();
-										tmmxBean.setTmlx(0);
-										tmmxBean.setJqtm(collection.getInsideTempCode());
-										tmmxBean.setFjserverpath(o.getGreeImageId());
-										tblHsptJjcjTmmxVO.add(tmmxBean);
-										
-										//图片id不为空才上传
-										log.info("内机条码为:ImageId = {}", StringUtil.isEmpty(o.getGreeImageId())  ? "null": o.getGreeImageId());
-										log.info("内机条码为:id= {}",o.getId());
-										if( !StringUtil.isEmpty(o.getGreeImageId()) ) {
-											RecycleHsptJjcjFjUploadBean fjBean = new RecycleHsptJjcjFjUploadBean();
-											fjBean.setType(1);
-											fjBean.setFjindex(1);
-											fjBean.setFjname("内机条码图");
-											fjBean.setFjserverpath(o.getGreeImageId());
-											tblHsptJjcjFjVO.add(fjBean);
-										}
-										
-										if(null != annexEventMap 
-												&& annexEventMap.containsKey(o.getId())
-												&& null != annexEventMap.get(o.getId())
-												) {
-											List<OrderRecycleUploadEvent> annexEventGroupList = annexEventMap.get(o.getId());
-											eventList.addAll(annexEventGroupList);
-										}
-									}else if(null != o.getType() && 2 == o.getType().intValue()) {//外机条码
-										RecycleHsptJjcjTmmxUploadBean tmmxBean = new RecycleHsptJjcjTmmxUploadBean();
-										tmmxBean.setTmlx(1);
-										tmmxBean.setJqtm(collection.getOutTempCode());
-										tmmxBean.setFjserverpath(o.getGreeImageId());
-										tblHsptJjcjTmmxVO.add(tmmxBean);
-										log.info("外机条码为:ImageId = {}", StringUtil.isEmpty(o.getGreeImageId())  ? "null": o.getGreeImageId());
-										log.info("外机条码为:id= {}", o.getId());
-                                        // 图片id不为空才上传
-										if(!StringUtil.isEmpty(o.getGreeImageId())) {
-											RecycleHsptJjcjFjUploadBean fjBean = new RecycleHsptJjcjFjUploadBean();
-											fjBean.setType(2);
-											fjBean.setFjindex(2);
-											fjBean.setFjname("外机条码图");
-											fjBean.setFjserverpath(o.getGreeImageId());
-											tblHsptJjcjFjVO.add(fjBean);
-										}
-										
-										if(null != annexEventMap 
-												&& annexEventMap.containsKey(o.getId())
-												&& null != annexEventMap.get(o.getId())
-												) {
-											List<OrderRecycleUploadEvent> annexEventGroupList = annexEventMap.get(o.getId());
-											eventList.addAll(annexEventGroupList);
-										}
-									}
-								});
+
+						feedbackUploadBean.setPgguid(recycleList.stream().filter(recycle->recycle.getId().intValue() ==collection.getOrderId().intValue() ).collect(Collectors.toList()).get(0).getPgguid());
+						feedbackUploadBean.setPgmxid(mxList.stream().filter(mx->mx.getId().intValue() == collection.getMxId()).collect(Collectors.toList()).get(0).getPgmxid());
+						//总部和广佛两边鉴定结果刚好相反
+						feedbackUploadBean.setJdjg( (null == collection.getIdentificationResult()) ? null :(  0 == collection.getIdentificationResult().intValue() ? 1 : 0));
+						feedbackUploadBean.setSfcj(collection.getDismantle());
+						feedbackUploadBean.setLceng(collection.getFloor());
+						feedbackUploadBean.setCcun(collection.getMachineSize());
+						feedbackUploadBean.setJjpp(collection.getMachineBrand());
+						feedbackUploadBean.setJjlx(collection.getMachineType());
+						feedbackUploadBean.setJjqsqk(collection.getMachineDefectData());
+						feedbackUploadBean.setPshu(collection.getMachineLmx());
+
+						feedbackUploadBean.setSpid(mxList.stream().filter(mx->mx.getId().intValue() == collection.getMxId()).collect(Collectors.toList()).get(0).getSpid());
+						feedbackUploadBean.setSpmc(mxList.stream().filter(mx->mx.getId().intValue() == collection.getMxId()).collect(Collectors.toList()).get(0).getSpmc());
+						//gps经纬度
+						feedbackUploadBean.setGps((!StringUtils.isNullOrEmpty(collection.getLat()) && !StringUtils.isNullOrEmpty(collection.getLng()) ) ? (collection.getLat()+","+collection.getLng()) : "");
+						feedbackUploadBean.setSjcjsfen(collection.getProvince());
+						feedbackUploadBean.setSjcjcshi(collection.getCity());
+						feedbackUploadBean.setSjcjxian(collection.getArea());
+						feedbackUploadBean.setGpsdizi(collection.getGpsAddress());
+
+						WebsitSH wsh = null;
+						if( null != collection.getMainResponsibleId() ) {
+							// spmc (value = "品类名称拼接,空调、电视")
+							wsh = publicService.ptshwdToshshwd(recycleMap.get(collection.getOrderId()).get(0).getWxwdno(),
+									recycleMap.get(collection.getOrderId()).get(0).getSpmc());
+							WorderInfo worderInfo = publicService.getWorkerInfo(String.valueOf(collection.getMainResponsibleId()),
+									wsh.getWdId(),"1");
+							if( null != worderInfo ) {
+								feedbackUploadBean.setAzrenno(worderInfo.getBrandWorkerNumber());
+								feedbackUploadBean.setAzren(worderInfo.getWorkerName());
+								feedbackUploadBean.setAzrenyddh(worderInfo.getMobile());
 							}
 						}
-					}
-					//外机条码
-					if(!StringUtils.isNullOrEmpty(collection.getOutTempCode())) {
-						if(null != annexMap && annexMap.containsKey(collection.getId())
-								&& null != annexMap.get(collection.getId()) && !annexMap.get(collection.getId()).isEmpty()) {
-							if(annexMap.get(collection.getId()).stream().filter(annex->annex.getType().intValue()==2).findAny().isPresent()) {
-								List<OrderRecycleAssignAnnex> outAnnex = annexMap.get(collection.getId()).stream().filter(annex->annex.getType().intValue()==2).collect(Collectors.toList());
+
+						//网点编号,网点名称
+						Websit websit = null;
+						OrderRecycleAssign orderRecycleAssign = recycleMap.get(collection.getOrderId()).get(0);
+						if(null != orderRecycleAssign.getAfterWebsitId()) {
+							if( null != wsh) {
+								feedbackUploadBean.setWdno(wsh.getWdId());
+								feedbackUploadBean.setWdmc(wsh.getWdmc());
 							}
 						}
-					}
-					bean.setTblHsptJjcjFjVO(tblHsptJjcjFjVO);
-					bean.setTblHsptJjcjTmmxVO(tblHsptJjcjTmmxVO);
-					GreeResponseHelper response = acquisitionUploadReq(bean, eventList);
-				});
+
+						bean.setTblHsptJjcjVO(feedbackUploadBean);
+						bean.setBatchNo(batchNo);
+						bean.setTaskNo(java.util.UUID.randomUUID().toString());
+                        // 附件
+						List<RecycleHsptJjcjFjUploadBean> tblHsptJjcjFjVO = new ArrayList<>();
+						//条码
+						List<RecycleHsptJjcjTmmxUploadBean> tblHsptJjcjTmmxVO = new ArrayList<>();
+
+						if(!StringUtils.isNullOrEmpty(collection.getInsideTempCode())) {
+							if(null != annexMap && annexMap.containsKey(collection.getId())
+									&& null != annexMap.get(collection.getId()) && !annexMap.get(collection.getId()).isEmpty()) {
+								List<OrderRecycleAssignAnnex> subAnnexList = annexMap.get(collection.getId());
+								if( null != subAnnexList && !subAnnexList.isEmpty() ) {
+									subAnnexList.stream().forEach(o->{
+										if(null != o.getType() && 1 == o.getType().intValue()) {//内机条码
+											RecycleHsptJjcjTmmxUploadBean tmmxBean = new RecycleHsptJjcjTmmxUploadBean();
+											tmmxBean.setTmlx(0);
+											tmmxBean.setJqtm(collection.getInsideTempCode());
+											tmmxBean.setFjserverpath(o.getGreeImageId());
+											tblHsptJjcjTmmxVO.add(tmmxBean);
+
+											//图片id不为空才上传
+											if( !StringUtil.isEmpty(o.getGreeImageId()) ) {
+												RecycleHsptJjcjFjUploadBean fjBean = new RecycleHsptJjcjFjUploadBean();
+												fjBean.setType(1);
+												fjBean.setFjindex(1);
+												fjBean.setFjname("内机条码图");
+												fjBean.setFjserverpath(o.getGreeImageId());
+												tblHsptJjcjFjVO.add(fjBean);
+											}
+
+											if(null != annexEventMap
+													&& annexEventMap.containsKey(o.getId())
+													&& null != annexEventMap.get(o.getId())
+											) {
+												List<OrderRecycleUploadEvent> annexEventGroupList = annexEventMap.get(o.getId());
+												eventList.addAll(annexEventGroupList);
+											}
+										}else if(null != o.getType() && 2 == o.getType().intValue()) {//外机条码
+											RecycleHsptJjcjTmmxUploadBean tmmxBean = new RecycleHsptJjcjTmmxUploadBean();
+											tmmxBean.setTmlx(1);
+											tmmxBean.setJqtm(collection.getOutTempCode());
+											tmmxBean.setFjserverpath(o.getGreeImageId());
+											tblHsptJjcjTmmxVO.add(tmmxBean);
+//													图片id不为空才上传
+											if(!StringUtil.isEmpty(o.getGreeImageId())) {
+												RecycleHsptJjcjFjUploadBean fjBean = new RecycleHsptJjcjFjUploadBean();
+												fjBean.setType(2);
+												fjBean.setFjindex(2);
+												fjBean.setFjname("外机条码图");
+												fjBean.setFjserverpath(o.getGreeImageId());
+												tblHsptJjcjFjVO.add(fjBean);
+											}
+
+											if(null != annexEventMap
+													&& annexEventMap.containsKey(o.getId())
+													&& null != annexEventMap.get(o.getId())
+											) {
+												List<OrderRecycleUploadEvent> annexEventGroupList = annexEventMap.get(o.getId());
+												eventList.addAll(annexEventGroupList);
+											}
+										}
+									});
+								}
+							}
+						}
+						bean.setTblHsptJjcjFjVO(tblHsptJjcjFjVO);
+						bean.setTblHsptJjcjTmmxVO(tblHsptJjcjTmmxVO);
+						GreeResponseHelper response = acquisitionUploadReq(bean, eventList);
+					});
+				}
 			}
 		}
 	}
-	*/
 
 	//采集信息上传接口
 	@Transactional
-	public GreeResponseHelper acquisitionUploadReq(
-			RecycleAcquisitionUploadBean acquisitionUploadBean,
-			List<FaOrderRecycleUploadEvent> eventList
-			) {
+	public GreeResponseHelper acquisitionUploadReq(RecycleAcquisitionUploadBean acquisitionUploadBean,
+												   List<OrderRecycleUploadEvent> eventList) {
 		if(null != acquisitionUploadBean) {
 			final String apiPath = Constant.GreeApiPath.RECYCLE_ACQUISITION_UPLOAD;
 			//采集主表
@@ -568,14 +569,6 @@ public class RecycleAcquisitionLogic {
 							tmmx.setGreeStatSynTime(new Date());
 						});
 					}
-					
-					//新增一条待入库条码上传记录
-					ItfTblRecyleStockInfoUploadTaskList recyleStockInfoUploadTaskList = new ItfTblRecyleStockInfoUploadTaskList();
-					recyleStockInfoUploadTaskList.setPgguid(jjcjUpload.getPgguid());
-					recyleStockInfoUploadTaskList.setSynStatus(RecycleSynStatusEnum.UN_SYN.getCode());
-					recyleStockInfoUploadTaskList.setSynReqTime(new Date());
-					recyleStockInfoUploadTaskList.setSynTimes(1);
-					recyleStockInfoUploadTaskListService.save(recyleStockInfoUploadTaskList);
 				}else {
 					jjcjUpload.setGreeStatSynStatus(Constant.SynStatus.FAIL.getCode());
 					jjcjUpload.setGreeStatSynErrMsg(response.getMsg());
@@ -602,15 +595,15 @@ public class RecycleAcquisitionLogic {
 						});
 					}
 				}
-				recycleHsptJjcjUploadService.saveOrUpdate(jjcjUpload);
+				itfTblRecycleHsptJjcjUploadService.saveOrUpdate(jjcjUpload);
 				if( null != eventList && !eventList.isEmpty()) {
 					orderRecycleUploadEventService.saveOrUpdateBatch(eventList);
 				}
 				if(null != fjlist && !fjlist.isEmpty()) {
-					recycleHsptJjcjFjUploadService.saveOrUpdateBatch(fjlist);
+					itfTblRecycleHsptJjcjFjUploadService.saveOrUpdateBatch(fjlist);
 				}
 				if(null != tmmxlist && !tmmxlist.isEmpty()) {
-					recycleHsptJjcjTmmxUploadService.saveOrUpdateBatch(tmmxlist);
+					itfTblRecycleHsptJjcjTmmxUploadService.saveOrUpdateBatch(tmmxlist);
 				}
 				return response;
 			}catch(Exception e) {
@@ -634,20 +627,22 @@ public class RecycleAcquisitionLogic {
 						tmmx.setGreeStatSynTime(new Date());
 					});
 				}
-				recycleHsptJjcjUploadService.saveOrUpdate(jjcjUpload);
+				itfTblRecycleHsptJjcjUploadService.saveOrUpdate(jjcjUpload);
 				if( null != eventList && !eventList.isEmpty()) {
 					orderRecycleUploadEventService.saveOrUpdateBatch(eventList);
 				}
 				if(null != fjlist && !fjlist.isEmpty()) {
-					recycleHsptJjcjFjUploadService.saveOrUpdateBatch(fjlist);
+					itfTblRecycleHsptJjcjFjUploadService.saveOrUpdateBatch(fjlist);
 				}
 				if(null != tmmxlist && !tmmxlist.isEmpty()) {
-					recycleHsptJjcjTmmxUploadService.saveOrUpdateBatch(tmmxlist);
+					itfTblRecycleHsptJjcjTmmxUploadService.saveOrUpdateBatch(tmmxlist);
 				}
 			}
 		}
 		return null;
 	}
+
+
 	/**
 	 * 访问采集下载接口,把上传任务保存到条码信息上传任务表
 	 * @return

+ 12 - 400
src/main/java/com/zfire/jiasm/syncdata/gree/recycle/RecycleAssignLogic.java

@@ -1,6 +1,5 @@
 package com.zfire.jiasm.syncdata.gree.recycle;
 
-import com.aliyun.oss.common.utils.StringUtils;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.DeserializationFeature;
@@ -14,7 +13,6 @@ import com.zfire.jiasm.syncdata.plus.service.*;
 import io.jsonwebtoken.lang.Collections;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -36,7 +34,7 @@ public class RecycleAssignLogic {
 	@Autowired
 	ItfTblRecycleAssignBatchDownloadRecService recycleAssignBatchDownloadRecService;
 	@Autowired
-	FaOrderRecycleUploadEventService orderRecycleUploadEventService;
+	OrderRecycleUploadEventService orderRecycleUploadEventService;
 	@Autowired
 	ItfTblRecycleAssignFkmxUploadService recycleAssignFkmxUploadService;
 	@Autowired
@@ -58,24 +56,6 @@ public class RecycleAssignLogic {
 	@Autowired
 	OrderRecycleAssignCollectionService orderRecycleAssignCollectionService;
 	@Autowired
-	OrderRecycleAssignAnnexService orderRecycleAssignAnnexService;
-	@Autowired
-	OrderRecycleAssignMxService orderRecycleAssignMxService;
-
-	/*
-
-
-
-	@Autowired
-	OrderWebsitItemService orderWebsitItemService;
-	@Autowired
-	WebsitWorkerService websitWorkerService;
-	@Autowired
-	OrderRecycleAssignWorkerService orderRecycleAssignWorkerService;
-	@Autowired
-	OrderRecycleAssignExpandService orderRecycleAssignExpandService;
-	*/
-	@Autowired
 	AreaService areaService;
 	@Autowired
 	WebsitService websitService;
@@ -1087,17 +1067,19 @@ public class RecycleAssignLogic {
 	 * 状态上传接口
 	 */
 	public void statusUpload() {
-		// 回收工单同步请求记录表提取数据
-		List<FaOrderRecycleUploadEvent> eventList = orderRecycleUploadEventService.lambdaQuery()
-				.eq(FaOrderRecycleUploadEvent::getOrderType, Constant.RecycleOrderType.RECYCLE_ASSIGN_FKMX)
-				.eq(FaOrderRecycleUploadEvent::getSynStatus, Constant.SynStatus.UN_SYN.getCode()).list();
+		// 回收工单同步记录表提取待同步的数据
+		List<OrderRecycleUploadEvent> eventList = orderRecycleUploadEventService.lambdaQuery()
+				.eq(OrderRecycleUploadEvent::getOrderType, Constant.RecycleOrderType.RECYCLE_ASSIGN_FKMX)
+				.eq(OrderRecycleUploadEvent::getSynStatus, Constant.SynStatus.UN_SYN.getCode()).list();
+
 		if(null != eventList && !eventList.isEmpty()) {
-			final Map<Integer, List<FaOrderRecycleUploadEvent>> eventMap = eventList.stream().collect(Collectors.groupingBy(FaOrderRecycleUploadEvent::getId));
-			// 提取本次同步的反馈明细表对应的id
+			final Map<Integer, List<OrderRecycleUploadEvent>> eventMap = eventList.stream().collect(Collectors.groupingBy(OrderRecycleUploadEvent::getId));
+			// 提取本次同步的过程反馈明细表对应的id
 			LinkedHashSet<Integer> ids = new LinkedHashSet<>();
 			eventList.stream().forEach(event->{
 				ids.add(event.getId());
 			});
+
 			if(!ids.isEmpty()) {
 				// 反馈明细表内根据id提取对应的数据
 				List<OrderRecycleAssignFkmx> feedbackList = orderRecycleAssignFkmxService.lambdaQuery().in(OrderRecycleAssignFkmx::getId, ids).list();
@@ -1118,7 +1100,7 @@ public class RecycleAssignLogic {
 							String xjwdmc = "";
 
 							// 反馈明细数据
-							FaOrderRecycleUploadEvent event =  eventMap.get(feedback.getId()).get(0);
+							OrderRecycleUploadEvent event =  eventMap.get(feedback.getId()).get(0);
 							// 组装请求参数
 							RecycleAssignFeedbackUploadBean feedbackUploadBean = mapper.readValue(mapper.writeValueAsString(feedback), RecycleAssignFeedbackUploadBean.class);
 							feedbackUploadBean.setBatchNo(batchNo);
@@ -1145,379 +1127,8 @@ public class RecycleAssignLogic {
 		}
 	}
 
-
-	/**
-	 * 批量上传采集信息
-	 */
-	public void acquisitionUpload() {
-		List<OrderRecycleUploadEvent> collectionEventList = orderRecycleUploadEventService.lambdaQuery()
-				.eq(OrderRecycleUploadEvent::getSynStatus, Constant.SynStatus.UN_SYN.getCode())
-				.eq(OrderRecycleUploadEvent::getOrderType, Constant.RecycleOrderType.RECYCLE_ASSGIN_COLLECTION)
-				.list();
-		if(null != collectionEventList && !collectionEventList.isEmpty()) {
-			List<OrderRecycleUploadEvent> annexEventList = orderRecycleUploadEventService.lambdaQuery()
-					.eq(OrderRecycleUploadEvent::getSynStatus, Constant.SynStatus.UN_SYN.getCode())
-					.eq(OrderRecycleUploadEvent::getOrderType, Constant.RecycleOrderType.RECYCLE_ASSIGN_ANNEX)
-					.list();
-			String batchNo = java.util.UUID.randomUUID().toString();
-			final Map<Integer, List<OrderRecycleUploadEvent>> collectionEventMap = collectionEventList.stream().collect(Collectors.groupingBy(OrderRecycleUploadEvent::getId));
-			final Map<Integer, List<OrderRecycleUploadEvent>> annexEventMap = (null == annexEventList || annexEventList.isEmpty()) ? null : annexEventList.stream().collect(Collectors.groupingBy(OrderRecycleUploadEvent::getId));
-			LinkedHashSet<Integer> ids = new LinkedHashSet<>();
-			LinkedHashSet<Integer> annexIds = new LinkedHashSet<>();
-			collectionEventList.stream().forEach(event->{
-				ids.add(event.getId());
-			});
-			if(null != annexEventList && !annexEventList.isEmpty()) {
-				annexEventList.stream().forEach(annexEvent->{
-					annexIds.add(annexEvent.getId());
-				});
-			}
-			if(!ids.isEmpty()) {
-				List<OrderRecycleAssignCollection> collectionList = orderRecycleAssignCollectionService.lambdaQuery()
-						.in(OrderRecycleAssignCollection::getId, ids).list();
-				if( null != collectionList && !collectionList.isEmpty()) {
-					final List<OrderRecycleAssignAnnex> annexList = annexIds.isEmpty() ? null :
-							orderRecycleAssignAnnexService.lambdaQuery().in(OrderRecycleAssignAnnex::getId, annexIds).list();
-					//条码表分组gr
-					final Map<Integer, List<OrderRecycleAssignAnnex>> annexMap = (null == annexList || annexList.isEmpty()) ? null :  annexList.stream().collect(Collectors.groupingBy(OrderRecycleAssignAnnex::getCollectionId));
-					LinkedHashSet<Integer> orderIds = new LinkedHashSet<>();
-					LinkedHashSet<Integer> mxIds = new LinkedHashSet<>();
-					collectionList.stream().forEach(collection->{
-						orderIds.add(collection.getOrderId());
-						mxIds.add(collection.getMxId());
-					});
-
-					List<OrderRecycleAssign> recycleList = orderRecycleAssignService.lambdaQuery().in(OrderRecycleAssign::getId, orderIds).list();
-					final Map<Integer, List<OrderRecycleAssign>> recycleMap = (null == recycleList || recycleList.isEmpty()) ? null : recycleList.stream().collect(Collectors.groupingBy(OrderRecycleAssign::getId));
-					List<OrderRecycleAssignMx> mxList = orderRecycleAssignMxService.lambdaQuery()
-							.in(OrderRecycleAssignMx::getId, mxIds).list();
-					collectionList.stream().forEach(collection->{
-						List<OrderRecycleUploadEvent> eventList = new ArrayList<>();
-						final List<OrderRecycleUploadEvent> collectionEventGroupList =  collectionEventMap.get(collection.getId());
-						eventList.addAll(collectionEventGroupList);
-//						OrderRecycleUploadEvent event =  collectionEventMap.get(collection.getId()).get(0);
-//						eventList.add(event);
-						RecycleAcquisitionUploadBean bean = new RecycleAcquisitionUploadBean();
-//							RecycleHsptJjcjUploadBean feedbackUploadBean = mapper.readValue(mapper.writeValueAsString(collection), RecycleHsptJjcjUploadBean.class);
-						RecycleHsptJjcjUploadBean feedbackUploadBean = new RecycleHsptJjcjUploadBean();
-						//完工和报废状态才上传
-						if(null != recycleMap && recycleMap.containsKey(collection.getOrderId())
-								&& null != recycleMap.get(collection.getOrderId())
-								&& !recycleMap.get(collection.getOrderId()).isEmpty()) {
-							if(null != recycleMap.get(collection.getOrderId()).get(0).getOrderState()
-									&& 6 != recycleMap.get(collection.getOrderId()).get(0).getOrderState().intValue()
-									&& 7 != recycleMap.get(collection.getOrderId()).get(0).getOrderState().intValue()
-							) {
-								return;
-							}
-						}
-
-						feedbackUploadBean.setPgguid(recycleList.stream().filter(recycle->recycle.getId().intValue() ==collection.getOrderId().intValue() ).collect(Collectors.toList()).get(0).getPgguid());
-						feedbackUploadBean.setPgmxid(mxList.stream().filter(mx->mx.getId().intValue() == collection.getMxId()).collect(Collectors.toList()).get(0).getPgmxid());
-						//总部和广佛两边鉴定结果刚好相反
-						feedbackUploadBean.setJdjg( (null == collection.getIdentificationResult()) ? null :(  0 == collection.getIdentificationResult().intValue() ? 1 : 0));
-						feedbackUploadBean.setSfcj(collection.getDismantle());
-						feedbackUploadBean.setLceng(collection.getFloor());
-						feedbackUploadBean.setCcun(collection.getMachineSize());
-						feedbackUploadBean.setJjpp(collection.getMachineBrand());
-						feedbackUploadBean.setJjlx(collection.getMachineType());
-						feedbackUploadBean.setJjqsqk(collection.getMachineDefectData());
-						feedbackUploadBean.setPshu(collection.getMachineLmx());
-//							feedbackUploadBean.setJjrj(jjrj);
-						feedbackUploadBean.setSpid(mxList.stream().filter(mx->mx.getId().intValue() == collection.getMxId()).collect(Collectors.toList()).get(0).getSpid());
-						feedbackUploadBean.setSpmc(mxList.stream().filter(mx->mx.getId().intValue() == collection.getMxId()).collect(Collectors.toList()).get(0).getSpmc());
-						//gps经纬度
-						feedbackUploadBean.setGps((!StringUtils.isNullOrEmpty(collection.getLat()) && !StringUtils.isNullOrEmpty(collection.getLng()) ) ? (collection.getLat()+","+collection.getLng()) : "");
-						feedbackUploadBean.setSjcjsfen(collection.getProvince());
-						feedbackUploadBean.setSjcjcshi(collection.getCity());
-						feedbackUploadBean.setSjcjxian(collection.getArea());
-						feedbackUploadBean.setGpsdizi(collection.getGpsAddress());
-						//工程师编号,工程师名称,工程师电话
-						WebsitWorker websitWorker = null;
-						if( null != collection.getMainResponsibleId() ) {
-							websitWorker = websitWorkerService.getById(collection.getMainResponsibleId());
-						}
-						if( null != websitWorker ) {
-							feedbackUploadBean.setAzrenno(websitWorker.getNumber());
-							feedbackUploadBean.setAzren(websitWorker.getName());
-							feedbackUploadBean.setAzrenyddh(websitWorker.getPhone());
-						}
-						//网点编号,网点名称
-						Websit websit = null;
-						OrderRecycleAssign orderRecycleAssign = recycleMap.get(collection.getOrderId()).get(0);
-						if(null != orderRecycleAssign.getAfterWebsitId()) {
-							websit = websitService.getById(orderRecycleAssign.getAfterWebsitId());
-						}
-						if( null != websit) {
-							feedbackUploadBean.setWdno(websit.getWebsitNumber());
-							feedbackUploadBean.setWdmc(websit.getName());
-						}
-						bean.setTblHsptJjcjVO(feedbackUploadBean);
-						bean.setBatchNo(batchNo);
-						bean.setTaskNo(java.util.UUID.randomUUID().toString());
-//							附件
-						List<RecycleHsptJjcjFjUploadBean> tblHsptJjcjFjVO = new ArrayList<>();
-						//条码
-						List<RecycleHsptJjcjTmmxUploadBean> tblHsptJjcjTmmxVO = new ArrayList<>();
-
-						if(!StringUtils.isNullOrEmpty(collection.getInsideTempCode())) {
-							if(null != annexMap && annexMap.containsKey(collection.getId())
-									&& null != annexMap.get(collection.getId()) && !annexMap.get(collection.getId()).isEmpty()) {
-								List<OrderRecycleAssignAnnex> subAnnexList = annexMap.get(collection.getId());
-								if( null != subAnnexList && !subAnnexList.isEmpty() ) {
-									subAnnexList.stream().forEach(o->{
-										if(null != o.getType() && 1 == o.getType().intValue()) {//内机条码
-											RecycleHsptJjcjTmmxUploadBean tmmxBean = new RecycleHsptJjcjTmmxUploadBean();
-											tmmxBean.setTmlx(0);
-											tmmxBean.setJqtm(collection.getInsideTempCode());
-											tmmxBean.setFjserverpath(o.getGreeImageId());
-											tblHsptJjcjTmmxVO.add(tmmxBean);
-
-											//图片id不为空才上传
-											if( !StringUtils.isEmpty(o.getGreeImageId()) ) {
-												RecycleHsptJjcjFjUploadBean fjBean = new RecycleHsptJjcjFjUploadBean();
-												fjBean.setType(1);
-												fjBean.setFjindex(1);
-												fjBean.setFjname("内机条码图");
-												fjBean.setFjserverpath(o.getGreeImageId());
-												tblHsptJjcjFjVO.add(fjBean);
-											}
-
-											if(null != annexEventMap
-													&& annexEventMap.containsKey(o.getId())
-													&& null != annexEventMap.get(o.getId())
-											) {
-												List<OrderRecycleUploadEvent> annexEventGroupList = annexEventMap.get(o.getId());
-												eventList.addAll(annexEventGroupList);
-											}
-										}else if(null != o.getType() && 2 == o.getType().intValue()) {//外机条码
-											RecycleHsptJjcjTmmxUploadBean tmmxBean = new RecycleHsptJjcjTmmxUploadBean();
-											tmmxBean.setTmlx(1);
-											tmmxBean.setJqtm(collection.getOutTempCode());
-											tmmxBean.setFjserverpath(o.getGreeImageId());
-											tblHsptJjcjTmmxVO.add(tmmxBean);
-//													图片id不为空才上传
-											if(!StringUtils.isEmpty(o.getGreeImageId())) {
-												RecycleHsptJjcjFjUploadBean fjBean = new RecycleHsptJjcjFjUploadBean();
-												fjBean.setType(2);
-												fjBean.setFjindex(2);
-												fjBean.setFjname("外机条码图");
-												fjBean.setFjserverpath(o.getGreeImageId());
-												tblHsptJjcjFjVO.add(fjBean);
-											}
-
-											if(null != annexEventMap
-													&& annexEventMap.containsKey(o.getId())
-													&& null != annexEventMap.get(o.getId())
-											) {
-												List<OrderRecycleUploadEvent> annexEventGroupList = annexEventMap.get(o.getId());
-												eventList.addAll(annexEventGroupList);
-											}
-										}
-									});
-								}
-							}
-						}
-						//外机条码
-						if(!StringUtils.isNullOrEmpty(collection.getOutTempCode())) {
-							if(null != annexMap && annexMap.containsKey(collection.getId())
-									&& null != annexMap.get(collection.getId()) && !annexMap.get(collection.getId()).isEmpty()) {
-								if(annexMap.get(collection.getId()).stream().filter(annex->annex.getType().intValue()==2).findAny().isPresent()) {
-									List<OrderRecycleAssignAnnex> outAnnex = annexMap.get(collection.getId()).stream().filter(annex->annex.getType().intValue()==2).collect(Collectors.toList());
-								}
-							}
-						}
-						bean.setTblHsptJjcjFjVO(tblHsptJjcjFjVO);
-						bean.setTblHsptJjcjTmmxVO(tblHsptJjcjTmmxVO);
-						GreeResponseHelper response = acquisitionUploadReq(bean, eventList);
-					});
-				}
-			}
-		}
-	}
-
-	//采集信息上传接口
-	@Transactional
-	public GreeResponseHelper acquisitionUploadReq(
-			RecycleAcquisitionUploadBean acquisitionUploadBean,
-			List<OrderRecycleUploadEvent> eventList
-	) {
-		if(null != acquisitionUploadBean) {
-			final String apiPath = Constant.GreeApiPath.RECYCLE_ACQUISITION_UPLOAD;
-			//采集主表
-			RecycleHsptJjcjUploadBean jjcjBean = acquisitionUploadBean.getTblHsptJjcjVO();
-			//附件表
-			List<RecycleHsptJjcjFjUploadBean> fjBeanList = acquisitionUploadBean.getTblHsptJjcjFjVO();
-			//条码明细表
-			List<RecycleHsptJjcjTmmxUploadBean> tmmxBeanList = acquisitionUploadBean.getTblHsptJjcjTmmxVO();
-			Map<String,Object> map = new HashMap<>();
-			map.put("tblHsptJjcjVO", jjcjBean);
-			map.put("tblHsptJjcjFjVO", fjBeanList);
-			map.put("tblHsptJjcjTmmxVO", tmmxBeanList);
-			RecycleHsptJjcjUpload jjcjUpload = new RecycleHsptJjcjUpload();
-			List<RecycleHsptJjcjFjUpload> fjlist = new ArrayList<>();
-			List<RecycleHsptJjcjTmmxUpload> tmmxlist = new ArrayList<>();
-			try {
-				jjcjUpload = mapper.readValue(mapper.writeValueAsString(jjcjBean), RecycleHsptJjcjUpload.class);
-				jjcjUpload.setSynStatus(Constant.SynStatus.SYN.getCode());
-				jjcjUpload.setSynTime(new Date());
-				jjcjUpload.setCreatedDate(new Date());
-				jjcjUpload.setLastModifiedDate(new Date());
-				jjcjUpload.setUploadBatchNo(acquisitionUploadBean.getBatchNo());
-//				jjcjUpload.setUploadTaskNo(java.util.UUID.randomUUID().toString());
-				jjcjUpload.setUploadTaskNo(acquisitionUploadBean.getTaskNo());
-//				recycleHsptJjcjUploadService.saveOrUpdate(jjcjUpload);
-				if(null != fjBeanList && !fjBeanList.isEmpty()) {
-					fjBeanList.stream().forEach(fjBean->{
-						RecycleHsptJjcjFjUpload fjUpload = new RecycleHsptJjcjFjUpload();
-						try {
-							fjUpload = mapper.readValue(mapper.writeValueAsString(fjBean), RecycleHsptJjcjFjUpload.class);
-							fjUpload.setSynStatus(Constant.SynStatus.SYN.getCode());
-							fjUpload.setSynTime(new Date());
-							fjUpload.setCreatedDate(new Date());
-							fjUpload.setLastModifiedDate(new Date());
-							fjUpload.setUploadBatchNo(acquisitionUploadBean.getBatchNo());
-							fjUpload.setUploadTaskNo(acquisitionUploadBean.getTaskNo());
-							fjlist.add(fjUpload);
-						} catch (JsonProcessingException e) {
-							fjUpload.setSynStatus(Constant.SynStatus.FAIL.getCode());
-							fjUpload.setSynTime(new Date());
-							fjUpload.setCreatedDate(new Date());
-							fjUpload.setLastModifiedDate(new Date());
-							fjUpload.setUploadBatchNo(acquisitionUploadBean.getBatchNo());
-							fjUpload.setUploadTaskNo(acquisitionUploadBean.getTaskNo());
-							fjlist.add(fjUpload);
-						}
-					});
-				}
-				if(null != tmmxBeanList && !tmmxBeanList.isEmpty()) {
-					tmmxBeanList.stream().forEach(tmmxBean->{
-						RecycleHsptJjcjTmmxUpload tmmxUpload = new RecycleHsptJjcjTmmxUpload();
-						try {
-							tmmxUpload = mapper.readValue(mapper.writeValueAsString(tmmxBean), RecycleHsptJjcjTmmxUpload.class);
-							tmmxUpload.setSynStatus(Constant.SynStatus.SYN.getCode());
-							tmmxUpload.setSynTime(new Date());
-							tmmxUpload.setCreatedDate(new Date());
-							tmmxUpload.setLastModifiedDate(new Date());
-							tmmxUpload.setUploadBatchNo(acquisitionUploadBean.getBatchNo());
-							tmmxUpload.setUploadTaskNo(acquisitionUploadBean.getTaskNo());
-							tmmxlist.add(tmmxUpload);
-						} catch (JsonProcessingException e) {
-							tmmxUpload.setSynStatus(Constant.SynStatus.FAIL.getCode());
-							tmmxUpload.setSynTime(new Date());
-							tmmxUpload.setCreatedDate(new Date());
-							tmmxUpload.setLastModifiedDate(new Date());
-							tmmxUpload.setUploadBatchNo(acquisitionUploadBean.getBatchNo());
-							tmmxUpload.setUploadTaskNo(acquisitionUploadBean.getTaskNo());
-							tmmxlist.add(tmmxUpload);
-						}
-					});
-				}
-				GreeResponseHelper response = greeLogic.greePost(apiPath, map, 1);
-				if( 200 == response.getStatus()) {
-					jjcjUpload.setGreeStatSynStatus(Constant.SynStatus.SYN.getCode());
-					jjcjUpload.setGreeStatSynTime(new Date());
-					if( null != eventList && !eventList.isEmpty() ) {
-//						eventList.stream().peek(event->event.setSynStatus(Constant.SynStatus.SYN.getCode()))
-//							.peek(event->event.setSynTime(new Date()));
-						eventList.stream().forEach(event->{
-							event.setSynStatus(Constant.SynStatus.SYN.getCode());
-							event.setSynTime(new Date());
-						});
-					}
-					if(null != fjlist && !fjlist.isEmpty()) {
-						fjlist.stream().forEach(fj->{
-							fj.setGreeStatSynStatus(Constant.SynStatus.SYN.getCode());
-							fj.setGreeStatSynTime(new Date());
-						});
-					}
-					if(null != tmmxlist && !tmmxlist.isEmpty()) {
-						tmmxlist.stream().forEach(tmmx->{
-							tmmx.setGreeStatSynStatus(Constant.SynStatus.SYN.getCode());
-							tmmx.setGreeStatSynTime(new Date());
-						});
-					}
-				}else {
-					jjcjUpload.setGreeStatSynStatus(Constant.SynStatus.FAIL.getCode());
-					jjcjUpload.setGreeStatSynErrMsg(response.getMsg());
-					jjcjUpload.setGreeStatSynTime(new Date());
-					if( null != eventList && !eventList.isEmpty() ) {
-						eventList.stream().forEach(event->{
-							event.setSynStatus(Constant.SynStatus.FAIL.getCode());
-							event.setSynTime(new Date());
-							event.setSynErrMsg(response.getMsg());
-						});
-					}
-					if(null != fjlist && !fjlist.isEmpty()) {
-						fjlist.stream().forEach(fj->{
-							fj.setGreeStatSynStatus(Constant.SynStatus.FAIL.getCode());
-							fj.setGreeStatSynTime(new Date());
-							fj.setSynErrMsg(response.getMsg());
-						});
-					}
-					if(null != tmmxlist && !tmmxlist.isEmpty()) {
-						tmmxlist.stream().forEach(tmmx->{
-							tmmx.setGreeStatSynStatus(Constant.SynStatus.FAIL.getCode());
-							tmmx.setGreeStatSynTime(new Date());
-							tmmx.setSynErrMsg(response.getMsg());
-						});
-					}
-				}
-				recycleHsptJjcjUploadService.saveOrUpdate(jjcjUpload);
-				if( null != eventList && !eventList.isEmpty()) {
-					orderRecycleUploadEventService.saveOrUpdateBatch(eventList);
-				}
-				if(null != fjlist && !fjlist.isEmpty()) {
-					recycleHsptJjcjFjUploadService.saveOrUpdateBatch(fjlist);
-				}
-				if(null != tmmxlist && !tmmxlist.isEmpty()) {
-					recycleHsptJjcjTmmxUploadService.saveOrUpdateBatch(tmmxlist);
-				}
-				return response;
-			}catch(Exception e) {
-				jjcjUpload.setGreeStatSynStatus(Constant.SynStatus.FAIL.getCode());
-				jjcjUpload.setGreeStatSynTime(new Date());
-				if( null != eventList && !eventList.isEmpty() ) {
-					eventList.stream().forEach(event->{
-						event.setSynStatus(Constant.SynStatus.FAIL.getCode());
-						event.setSynTime(new Date());
-					});
-				}
-				if(null != fjlist && !fjlist.isEmpty()) {
-//					fjlist.stream().peek(fj->fj.setGreeStatSynStatus(Constant.SynStatus.FAIL.getCode())).
-//						peek(fj->fj.setGreeStatSynTime(new Date()));
-					fjlist.stream().forEach(fj->{
-						fj.setGreeStatSynStatus(Constant.SynStatus.FAIL.getCode());
-						fj.setGreeStatSynTime(new Date());
-					});
-				}
-				if(null != tmmxlist && !tmmxlist.isEmpty()) {
-//					tmmxlist.stream().peek(tmmx->tmmx.setGreeStatSynStatus(Constant.SynStatus.FAIL.getCode())).
-//						peek(tmmx->tmmx.setGreeStatSynTime(new Date()));
-					tmmxlist.stream().forEach(tmmx->{
-						tmmx.setGreeStatSynStatus(Constant.SynStatus.FAIL.getCode());
-						tmmx.setGreeStatSynTime(new Date());
-					});
-				}
-				recycleHsptJjcjUploadService.saveOrUpdate(jjcjUpload);
-//				orderRecycleUploadEventService.saveOrUpdate(event);
-				if( null != eventList && !eventList.isEmpty()) {
-					orderRecycleUploadEventService.saveOrUpdateBatch(eventList);
-				}
-				if(null != fjlist && !fjlist.isEmpty()) {
-					recycleHsptJjcjFjUploadService.saveOrUpdateBatch(fjlist);
-				}
-				if(null != tmmxlist && !tmmxlist.isEmpty()) {
-					recycleHsptJjcjTmmxUploadService.saveOrUpdateBatch(tmmxlist);
-				}
-			}
-		}
-		return null;
-	}
-
-	
 	@Transactional
-	public GreeResponseHelper status(RecycleAssignFeedbackUploadBean feedbackUploadBean, FaOrderRecycleUploadEvent event,
+	public GreeResponseHelper status(RecycleAssignFeedbackUploadBean feedbackUploadBean, OrderRecycleUploadEvent event,
 									 Boolean flag, String xjwdno, String xjwdmc){
 		if(null != feedbackUploadBean) {
 			final String apiPath = Constant.GreeApiPath.RECYCLE_STATUS;
@@ -1529,6 +1140,7 @@ public class RecycleAssignLogic {
 					map.put("xjwdno",xjwdno);
 					map.put("xjwdmc",xjwdmc);
 				}
+
 				feedbackUpload.setSynStatus(Constant.SynStatus.SYN.getCode());
 				feedbackUpload.setSynTime(new Date());
 				feedbackUpload.setCreatedDate(new Date());

+ 27 - 0
src/main/java/com/zfire/jiasm/syncdata/http/HttpUtils.java

@@ -52,6 +52,33 @@ public class HttpUtils {
     }
 
 
+    static private Request.Builder getBodyBuilder(String url, String json, Map<String, String> heads) {
+        logger.info("requestPostBody url:" + url);
+        logger.info("body:" + json);
+        okhttp3.MediaType JSONType = okhttp3.MediaType.parse("application/json; charset=utf-8");
+        RequestBody body = RequestBody.create(JSONType, json);
+        Request.Builder builder = new Request.Builder();
+
+        builder.url(url);
+
+        if (heads != null) {
+            for (String key : heads.keySet()) {
+
+                builder.addHeader(key, heads.get(key));
+            }
+        }
+        builder.post(body);
+        return builder;
+    }
+
+    static public String requestPostBodyIO(String url, String json, Map<String, String> heads) throws  IOException {
+        Request.Builder builder = getBodyBuilder(url,json,heads);
+        Request req = builder.build();
+        Response response = OkHttpUtil.execute(req);
+        logger.error(response.toString());
+        return response.body().string();
+    }
+
     static private Request.Builder getGetBuilder(String url, Map<String, String> params, Map<String, String> heads) {
         Request.Builder reqBuild = new Request.Builder();
         HttpUrl.Builder urlBuilder = HttpUrl.parse(url).newBuilder();

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminFastEntryPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/admin-fast-entry")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminFieldPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/admin-field")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminModuleFavoritesPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/admin-module-favorites")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminModulePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/admin-module")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminRolePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/admin-role")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminUserModuleRelaPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/admin-user-module-rela")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminUserPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/admin-user")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminUserRoleRelaPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/admin-user-role-rela")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminWebsitPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/admin-websit")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminWebsitProductTypeRelaPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/admin-websit-product-type-rela")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/AdminWebsitSlavePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/admin-websit-slave")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/AreaPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/area")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/BrandLbsRelatePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/brand-lbs-relate")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/BrandPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/brand")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/BrandWebsitPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/brand-websit")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/CityPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/city")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ComDetailLogPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/com-detail-log")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ComDetailPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/com-detail")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ComListPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/com-list")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/CommonFilePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/common-file")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/CompanyCaAuthPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/company-ca-auth")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/CompanyRecordManagePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/company-record-manage")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ContractTemplatePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/contract-template")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/CustomerInformationCategoryPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/customer-information-category")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/CustomerInformationPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/customer-information")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/CustomerInformationWebsitPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/customer-information-websit")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ImgCarouselManagePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/img-carousel-manage")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/InstallChargeConfigPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/install-charge-config")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/InsureAgreePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/insure-agree")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/InsureEmailPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/insure-email")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/InsureEmailRecordPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/insure-email-record")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/InsurePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/insure")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/InsureRangePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/insure-range")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/InsureWorkerCommercialFilePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/insure-worker-commercial-file")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/InsureWorkerCommercialPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/insure-worker-commercial")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/InsureWorkerRecordPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/insure-worker-record")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/IntegralDoublePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/integral-double")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/IntegralGradeConfigurePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/integral-grade-configure")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/IntegralGradeExplainPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/integral-grade-explain")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/IntegralGradeSkillPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/integral-grade-skill")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/IntegralOffsetPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/integral-offset")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/IntegralScorePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/integral-score")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/IntegralSkillLabelPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/integral-skill-label")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/IntegralWorkerApplyPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/integral-worker-apply")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblAssignGzdmDowloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-assign-gzdm-dowload")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblAssignXqxlDowloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-assign-xqxl-dowload")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblAssignXxlbDowloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-assign-xxlb-dowload")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblAssignXxlyDowloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-assign-xxly-dowload")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblAssignXxqdDowloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-assign-xxqd-dowload")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblAssignYhsxWxDowloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-assign-yhsx-wx-dowload")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblAzAssignXslxDowloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-az-assign-xslx-dowload")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblCityDownloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-city-download")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblCityJdxzDownloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-city-jdxz-download")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblCountyDownloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-county-download")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblProvinceDownloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-province-download")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblSplbDaleiDownloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-splb-dalei-download")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblSplbJixinDownloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-splb-jixin-download")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblSplbXiaoleiDownloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-splb-xiaolei-download")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblSplbXilieDownloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-splb-xilie-download")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblWangdianWxgDownloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-wangdian-wxg-download")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblXinWangdianDownloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-xin-wangdian-download")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ItfTblYhsxViprankDowloadPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/itf-tbl-yhsx-viprank-dowload")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/LabelCurrencyPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/label-currency")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/LabelPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/label")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/LbsAmapPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/lbs-amap")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/NoticePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/notice")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/NoticeRecordPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/notice-record")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/OperationLogPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/operation-log")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ProductPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/product")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ProductSeriesPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/product-series")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ProvincePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/province")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/QualificationsManagePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/qualifications-manage")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/RepairBugPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/repair-bug")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/RepairProjectPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/repair-project")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/SmsRecordPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/sms-record")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/StreetPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/street")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/SysDictPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/sys-dict")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/SysDictRefPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/sys-dict-ref")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/SysDictTypePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/sys-dict-type")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/ToolPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/tool")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/UserFeedbackPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/user-feedback")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/UserPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/user")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/WebsitEnclosureFilePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/websit-enclosure-file")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/WebsitExamineRecordPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/websit-examine-record")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/WebsitFilePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/websit-file")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/WebsitMainInfoChangeDataPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/websit-main-info-change-data")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/WebsitMainInfoChangePlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/websit-main-info-change")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/WebsitOrderSignPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/websit-order-sign")

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/plus/controller/WebsitPlusTempController.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author gejiang
- * @since 2023-05-26
+ * @since 2023-05-30
  */
 @Controller
 @RequestMapping("/plus/websit")

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott