yaozhixue hai 1 ano
pai
achega
9bad4e393c

+ 322 - 21
src/main/java/com/zfire/jiasm/syncdata/service/impl/DetailDownloadServiceImpl.java

@@ -94,6 +94,18 @@ public class DetailDownloadServiceImpl implements DetailDownloadService {
 	ItfTblWxjsXxyyJyktDownloadService itfTblWxjsXxyyJyktDownloadService;
 	@Resource
 	OrderRepairDetailReasonService orderRepairDetailReasonService;
+	@Resource
+	RepairBugAppService repairBugAppService;
+	@Resource
+	OrderRepairDetailItemService orderRepairDetailItemService;
+	@Resource
+	ItfTblWxjsWxxmJyktDownloadService itfTblWxjsWxxmJyktDownloadService;
+	@Resource
+	ItfTblWxjsPjmxJyktDownloadService itfTblWxjsPjmxJyktDownloadService;
+	@Resource
+	ItfTblWxjsFjJyktDownloadService itfTblWxjsFjJyktDownloadService;
+
+
 
 	
 
@@ -233,7 +245,7 @@ public class DetailDownloadServiceImpl implements DetailDownloadService {
 			processWxjsJykt(downloadTaskNo, pgguid);
 		} else if (downloadTaskType == 660101){
 			// 维修工单三子表下载  TL_SynDataFrom_tbl_wxjs_jykt_child
-			processwxjsJyktFj(downloadTaskNo, pgguid);
+			processSix(downloadTaskNo, pgguid);
 		}
 	}
 
@@ -399,18 +411,54 @@ public class DetailDownloadServiceImpl implements DetailDownloadService {
 	// pgguid = order_repair_detail.brand_wxjsguid
 	// TL_SynDataFrom_tbl_wxjs_jykt_child
 	// 四个方法放在一起处理 有一个处理完就要修改对应的task_list
-	public void processwxjsJyktFj(String downloadTaskNo, String pgguid) {
-		Boolean flag = Boolean.FALSE;
+	public void processSix(String downloadTaskNo, String pgguid) {
+        // 维修现象下载同步   无数据时不处理同时修改同步状态
+		// TL_SynDataFrom_tbl_wxjs_xxyy_jykt
+		// itf_tbl_wxjs_xxyy_jykt_download   ->OrderRepairDetailReason
+		if (processWxJsXxyyJykt(downloadTaskNo,pgguid)) {
+			return;
+		}
+		// 维修项目现象 无数据时不处理同时修改同步状态
+		// TL_SynDataFrom_tbl_wxjs_wxxm_jykt
+		// itf_tbl_wxjs_wxxm_jykt_download  ->order_repair_detail_item
+		if (processWxJsWxxmJykt(downloadTaskNo,pgguid)) {
+			return;
+		}
+
+		// 配件表 无数据时不处理同时修改同步状态
+		// TL_SynDataFrom_tbl_wxjs_pjmx_jykt
+		// itf_tbl_wxjs_pjmx_jykt_download
+		processWxjsPjmxJykt(downloadTaskNo);
+
+		// 维修项目现象 无数据时不处理同时修改同步状态
+		// TL_SynDataFrom_tbl_wxjs_fj_jykt
+		// itf_tbl_wxjs_fj_jykt_download  ->order_detail_file
+		if (processWxJsFjJykt(downloadTaskNo,pgguid)) {
+			return;
+		}
+
+
+
+
+
+
+
+		// 修改同步状态
+		OrderPar req = new OrderPar();
+		req.setOrderNo(downloadTaskNo);
+		installDownloadTaskListMapper.updateSynStatus(req);
+	}
+
+
+	// pgguid = order_repair_detail.brand_wxjsguid
+	// TL_SynDataFrom_tbl_wxjs_jykt_child
+	// 四个方法放在一起处理 有一个处理完就要修改对应的task_list
+	public Boolean processWxJsXxyyJykt(String downloadTaskNo, String pgguid) {
 		List<OrderRepairDetailReason> ordrs = new ArrayList<>();
 		List<OrderRepairDetail> irds = new ArrayList<>();
 		Map<String,List<OrderRepairDetail>> irdsMap = new HashMap<>();
 		List<OrderRepairDetailReason> ordrsOld = new ArrayList<>();
 		List<String> xxyyguid = new ArrayList<>();
-		if (1==1){
-			return;
-		}
-
-
 
 		// 维修现象下载同步   无数据时不处理同时修改同步状态
 		// TL_SynDataFrom_tbl_wxjs_xxyy_jykt
@@ -423,7 +471,7 @@ public class DetailDownloadServiceImpl implements DetailDownloadService {
 					.eq(OrderRepairDetail::getBrandWxjsguid,pgguid).list();
 			// 无数据不处理
 			if (CollectionUtils.isEmpty(irds)) {
-				flag = Boolean.TRUE;
+				return Boolean.TRUE;
 			}
 
 			irdsMap = irds.stream().collect(Collectors.groupingBy(OrderRepairDetail::getBrandWxjsguid));
@@ -437,12 +485,12 @@ public class DetailDownloadServiceImpl implements DetailDownloadService {
 				});
 			}
 
-			// 生成采集附件明细数据 暂时忽略更新,无新增
-
+			// 生成故障现象数据 暂时忽略更新,无新增
 			for (ItfTblWxjsXxyyJyktDownload item:wxxxs){
-				OrderRepairDetailReason n = new OrderRepairDetailReason();
-				n.setId(IdWorker.getIdStr());
-				ordrs.add(n);
+				if (xxyyguid.contains(item.getXxyyguid())){
+					continue;
+				}
+				getOrderRepairDetailReason(ordrs, irdsMap, item);
 			}
 
 			if (ordrs.size()>0) {
@@ -451,19 +499,231 @@ public class DetailDownloadServiceImpl implements DetailDownloadService {
 			}
 			// 修改同步状态
 			upSynStatusWxjsXxyyJykt(downloadTaskNo);
+		}
+		return Boolean.FALSE;
+	}
+
+	// pgguid = order_repair_detail.brand_wxjsguid
+	// TL_SynDataFrom_tbl_wxjs_wxxm_jykt
+	// itf_tbl_wxjs_wxxm_jykt_download  ->order_repair_detail_item
+	public Boolean processWxJsWxxmJykt(String downloadTaskNo, String pgguid) {
+		List<OrderRepairDetailItem> ordrs = new ArrayList<>();
+		List<OrderRepairDetail> irds = new ArrayList<>();
+		Map<String,List<OrderRepairDetail>> irdsMap = new HashMap<>();
+		List<OrderRepairDetailItem> ordrsOld = new ArrayList<>();
+		List<String> wxjsguid = new ArrayList<>();
+		List<String> orderRepairDetailIds = new ArrayList<>();
+
+		// 维修现象下载同步   无数据时不处理同时修改同步状态
+		// TL_SynDataFrom_tbl_wxjs_wxxm_jykt
+		// itf_tbl_wxjs_wxxm_jykt_download   ->order_repair_detail_item
+		List<ItfTblWxjsWxxmJyktDownload> wxxms = itfTblWxjsWxxmJyktDownloadService.lambdaQuery()
+				.eq(ItfTblWxjsWxxmJyktDownload::getDownloadTaskNo,downloadTaskNo).list();
+
+		if (CollectionUtils.isNotEmpty(wxxms)){
+			irds = orderRepairDetailService.lambdaQuery()
+					.eq(OrderRepairDetail::getBrandWxjsguid,pgguid).list();
+			// 无数据不处理
+			if (CollectionUtils.isEmpty(irds)) {
+				return Boolean.TRUE;
+			}
+
+			if (CollectionUtils.isEmpty(irds)){
+				irds.stream().forEach(event->{
+					orderRepairDetailIds.add(event.getId());
+				});
+			}
+
 
+			irdsMap = irds.stream().collect(Collectors.groupingBy(OrderRepairDetail::getBrandWxjsguid));
+
+			ordrsOld = orderRepairDetailItemService.lambdaQuery()
+					.in(OrderRepairDetailItem::getOrderRepairDetailId,orderRepairDetailIds).list();
+
+			if (CollectionUtils.isEmpty(ordrsOld)){
+				ordrsOld.stream().forEach(event->{
+					wxjsguid.add(event.getWxjsguid());
+				});
+			}
+
+			// 生成维修现象数据 暂时忽略更新,无新增
+			for (ItfTblWxjsWxxmJyktDownload item:wxxms){
+				if (wxjsguid.contains(item.getWxxmguid())){
+					continue;
+				}
+				getOrderRepairDetailItem(ordrs, irdsMap, item);
+			}
+
+			if (ordrs.size()>0) {
+				orderRepairDetailItemService.saveBatch(ordrs);
+				ordrs.clear();
+			}
+			// 修改同步状态
+			upSynStatusWxJsWxxmJykt(downloadTaskNo);
 		}
+		return Boolean.FALSE;
+	}
 
-		if (flag) {
-			return;
+	// pgguid = order_repair_detail.brand_wxjsguid
+	// TL_SynDataFrom_tbl_wxjs_pjmx_jykt
+	// itf_tbl_wxjs_pjmx_jykt_download
+	public void processWxjsPjmxJykt(String downloadTaskNo) {
+		// 直接修改同步状态
+		upSynStatusWxjsPjmxJykt(downloadTaskNo);
+	}
+
+	// pgguid = order_repair_detail.brand_wxjsguid
+	// TL_SynDataFrom_tbl_wxjs_fj_jykt
+	// itf_tbl_wxjs_fj_jykt_download  ->order_detail_file
+	public Boolean processWxJsFjJykt(String downloadTaskNo, String pgguid) {
+		List<OrderDetailFile> ordrs = new ArrayList<>();
+		List<OrderRepairDetail> irds = new ArrayList<>();
+		Map<String,List<OrderRepairDetail>> irdsMap = new HashMap<>();
+		List<OrderDetailFile> ordrsOld = new ArrayList<>();
+		List<String> fjguid = new ArrayList<>();
+
+		// 维修现象下载同步   无数据时不处理同时修改同步状态
+		// TL_SynDataFrom_tbl_wxjs_fj_jykt
+		// itf_tbl_wxjs_fj_jykt_download   ->order_detail_file
+		List<ItfTblWxjsFjJyktDownload> wxjsfj = itfTblWxjsFjJyktDownloadService.lambdaQuery()
+				.eq(ItfTblWxjsFjJyktDownload::getDownloadTaskNo,downloadTaskNo).list();
+
+		if (CollectionUtils.isNotEmpty(wxjsfj)){
+			irds = orderRepairDetailService.lambdaQuery()
+					.eq(OrderRepairDetail::getBrandWxjsguid,pgguid).list();
+			// 无数据不处理
+			if (CollectionUtils.isEmpty(irds)) {
+				return Boolean.TRUE;
+			}
+
+			irdsMap = irds.stream().collect(Collectors.groupingBy(OrderRepairDetail::getBrandWxjsguid));
+
+			ordrsOld = orderDetailFileService.lambdaQuery()
+					.eq(OrderDetailFile::getOrderBaseId,irds.get(0).getOrderBaseId()).list();
+
+			if (CollectionUtils.isEmpty(ordrsOld)){
+				ordrsOld.stream().forEach(event->{
+					fjguid.add(event.getFjguid());
+				});
+			}
+
+			// 生成维修现象数据 暂时忽略更新,无新增
+			for (ItfTblWxjsFjJyktDownload item:wxjsfj){
+				if (fjguid.contains(item.getFjguid())){
+					continue;
+				}
+				getOrderDetailFile(ordrs, irds, irdsMap, item);
+			}
+
+			if (ordrs.size()>0) {
+				orderDetailFileService.saveBatch(ordrs);
+				ordrs.clear();
+			}
+			// 修改同步状态
+			upSynStatusWxJsFjJykt(downloadTaskNo);
 		}
+		return Boolean.FALSE;
+	}
 
+	private void getOrderDetailFile(List<OrderDetailFile> ordrs, List<OrderRepairDetail> irds, Map<String, List<OrderRepairDetail>> irdsMap, ItfTblWxjsFjJyktDownload item) {
+		OrderDetailFile n = new OrderDetailFile();
+		n.setId(IdWorker.getIdStr());
+		n.setFjguid(item.getFjguid());
+		n.setOrderBaseId(irds.get(0).getOrderBaseId());
+		n.setOrderDetailId(irdsMap.get(item.getWxjsguid()).get(0).getId());
+		n.setFileType(21);
+		if (item.getTpms().equals("内机条码图像")){
+			n.setFileType(2);
+		} else if (item.getTpms().equals("外机条码图像")){
+			n.setFileType(5);
+		} else if (item.getTpms().equals("内机条码")){
+			n.setFileType(1);
+		} else if (item.getTpms().equals("外机条码")){
+			n.setFileType(3);
+		} else if (item.getTpms().equals("外机条码")){
+			n.setFileType(3);
+		} else if (item.getTpms().equals("故障位置图片")){
+			n.setFileType(20);
+		} else if (item.getTpms().equals("压力检测图片")){
+			n.setFileType(21);
+		} else if (item.getTpms().equals("旧压缩机条码")){
+			n.setFileType(26);
+		} else if (item.getTpms().equals("新压缩机条码")){
+			n.setFileType(27);
+		} else if (item.getTpms().equals("噪音视频")){
+			n.setFileType(28);
+		} else if (item.getTpms().equals("其他压力检测图片")){
+			n.setFileType(21);
+		} else if (item.getTpms().equals("其他故障位置图片")){
+			n.setFileType(20);
+		} else if (item.getTpms().equals("其他噪音视频")){
+			n.setFileType(29);
+		} else if (item.getTpms().equals("其他")){
+			n.setFileType(12);
+		}
 
+		if (item.getCreatedDate()!=null){
+			n.setCreateTime(item.getCreatedDate());
+		}
+		n.setCreateBy(item.getCreatedBy());
+		n.setUpdateBy(item.getLastModifiedBy());
+		if (item.getLastModifiedDate()!=null){
+			n.setUpdateTime(item.getLastModifiedDate());
+		}
+		ordrs.add(n);
+	}
 
-		// 修改同步状态
-		OrderPar req = new OrderPar();
-		req.setOrderNo(downloadTaskNo);
-		installDownloadTaskListMapper.updateSynStatus(req);
+	private void getOrderRepairDetailItem(List<OrderRepairDetailItem> ordrs, Map<String, List<OrderRepairDetail>> irdsMap, ItfTblWxjsWxxmJyktDownload item) {
+		OrderRepairDetailItem n = new OrderRepairDetailItem();
+		n.setId(IdWorker.getIdStr());
+		n.setOrderRepairDetailId(irdsMap.get(item.getWxjsguid()).get(0).getId());
+
+		n.setWxjsguid(item.getWxxmguid());
+		n.setRepairItemNo(item.getWxxmh());
+		n.setRemark(item.getMshu());
+		n.setAmount(item.getWxfy());
+		n.setXxyyguid(item.getXxyyh());
+		if (item.getCreatedDate()!=null){
+			n.setCreateTime(item.getCreatedDate());
+		}
+		n.setCreateBy(item.getCreatedBy());
+		n.setUpdateBy(item.getLastModifiedBy());
+		if (item.getLastModifiedDate()!=null){
+			n.setUpdateTime(item.getLastModifiedDate());
+		}
+		ordrs.add(n);
+	}
+
+	private void getOrderRepairDetailReason(List<OrderRepairDetailReason> ordrs, Map<String, List<OrderRepairDetail>> irdsMap, ItfTblWxjsXxyyJyktDownload item) {
+		OrderRepairDetailReason n = new OrderRepairDetailReason();
+		n.setId(IdWorker.getIdStr());
+		n.setOrderRepairDetailId(irdsMap.get(item.getWxjsguid()).get(0).getId());
+		n.setXxyyguid(item.getXxyyguid());
+		n.setWxjsguid(item.getWxjsguid());
+		n.setRepairBugId("");
+		n.setRepairBugParentId("");
+		RepairBugApp rba = repairBugAppService.lambdaQuery()
+				.eq(RepairBugApp::getBugObjCode, item.getXxyyh())
+				.last("limit 1").one();
+		if (rba !=null){
+			n.setRepairBugId(rba.getBugId());
+			n.setRepairBugParentId(rba.getParentId());
+		}
+		n.setNumber(item.getXxyyh());
+		n.setName(item.getXxyyhmc());
+		n.setSortNum(item.getGzpx());
+		n.setRemark(item.getMshu());
+
+
+		if (item.getCreatedDate()!=null){
+			n.setCreateTime(item.getCreatedDate());
+		}
+		n.setCreateBy(item.getCreatedBy());
+		n.setUpdateBy(item.getLastModifiedBy());
+		if (item.getLastModifiedDate()!=null){
+			n.setUpdateTime(item.getLastModifiedDate());
+		}
+		ordrs.add(n);
 	}
 
 	// 维修工单这里放的为pgid
@@ -517,7 +777,7 @@ public class DetailDownloadServiceImpl implements DetailDownloadService {
 			}
 		}
 		// 修改同步状态
-		upSynStatusAzJyktFJ(downloadTaskNo);
+		upSynStatusWxJsJykt(downloadTaskNo);
 	}
 
 	private void getorderRepairDetail(List<OrderRepairDetail> ords, List<ItfGreeToFaDownloadTaskList> its, OrderBase order, OrderProduct op, ItfTblWxjsJyktDownload item) {
@@ -1328,6 +1588,20 @@ public class DetailDownloadServiceImpl implements DetailDownloadService {
 		installDownloadTaskListMapper.updateSynStatus(req);
 	}
 
+	public void upSynStatusWxJsJykt(String downloadTaskNo) {
+		OrderPar req = new OrderPar();
+		req.setOrderNo(downloadTaskNo);
+
+		ItfTblWxjsJyktDownload up = new ItfTblWxjsJyktDownload();
+		up.setSynStatus(1);
+		QueryWrapper upWrapper = new QueryWrapper<ItfTblWxjsJyktDownload>()
+				.eq("download_task_no", downloadTaskNo)
+				.eq("syn_status",0);
+		itfTblWxjsJyktDownloadService.update(up,upWrapper);
+
+		installDownloadTaskListMapper.updateSynStatus(req);
+	}
+
 	public void upSynStatusWxjsXxyyJykt(String downloadTaskNo) {
 		ItfTblWxjsXxyyJyktDownload up = new ItfTblWxjsXxyyJyktDownload();
 		up.setSynStatus(1);
@@ -1337,6 +1611,33 @@ public class DetailDownloadServiceImpl implements DetailDownloadService {
 		itfTblWxjsXxyyJyktDownloadService.update(up,upWrapper);
 	}
 
+	public void upSynStatusWxJsWxxmJykt(String downloadTaskNo) {
+		ItfTblWxjsWxxmJyktDownload up = new ItfTblWxjsWxxmJyktDownload();
+		up.setSynStatus(1);
+		QueryWrapper upWrapper = new QueryWrapper<ItfTblWxjsWxxmJyktDownload>()
+				.eq("download_task_no", downloadTaskNo)
+				.eq("syn_status",0);
+		itfTblWxjsWxxmJyktDownloadService.update(up,upWrapper);
+	}
+
+	public void upSynStatusWxJsFjJykt(String downloadTaskNo) {
+		ItfTblWxjsFjJyktDownload up = new ItfTblWxjsFjJyktDownload();
+		up.setSynStatus(1);
+		QueryWrapper upWrapper = new QueryWrapper<ItfTblWxjsFjJyktDownload>()
+				.eq("download_task_no", downloadTaskNo)
+				.eq("syn_status",0);
+		itfTblWxjsFjJyktDownloadService.update(up,upWrapper);
+	}
+
+	public void upSynStatusWxjsPjmxJykt(String downloadTaskNo) {
+		ItfTblWxjsPjmxJyktDownload up = new ItfTblWxjsPjmxJyktDownload();
+		up.setSynStatus(99);
+		QueryWrapper upWrapper = new QueryWrapper<ItfTblWxjsPjmxJyktDownload>()
+				.eq("download_task_no", downloadTaskNo)
+				.eq("syn_status",0);
+		itfTblWxjsPjmxJyktDownloadService.update(up,upWrapper);
+	}
+
 	public void upSynStatusAzSyktFJ(String downloadTaskNo) {
 		ItfTblAzWgmxSyktFjDownload up = new ItfTblAzWgmxSyktFjDownload();
 		up.setSynStatus(1);

+ 3 - 3
src/main/resources/bootstrap-prd.properties

@@ -11,9 +11,9 @@ spring.devtools.add-properties=true
 spring.datasource.druid.db-type=mysql
 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.url=jdbc:mysql://rm-wz9yahzr80gze34ab35930.mysql.rds.aliyuncs.com:3306/jiasm?verifyServerCertificate=false&useSSL=false&requireSSL=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=utf8&serverTimezone=Asia/Shanghai
-spring.datasource.username=root
-spring.datasource.password=xch!eCdvc124@
+spring.datasource.url=jdbc:mysql://jiasm-zfire-rds-aliyun-com.rwlb.rds.aliyuncs.com:3306/jiasm_prd?verifyServerCertificate=false&useSSL=false&requireSSL=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=utf8&serverTimezone=Asia/Shanghai
+spring.datasource.username=jiasm_sync
+spring.datasource.password=dvuol*v()d5@12SdG
 spring.datasource.druid.connection-init-sqls=set names utf8mb4
 spring.datasource.druid.initial-size=5
 spring.datasource.druid.minIdle=5