From e806603a75c6999c040359ffff325fa774c3cc05 Mon Sep 17 00:00:00 2001
From: huangjiayang <5265313@qq.com>
Date: 星期五, 18 四月 2025 17:45:39 +0800
Subject: [PATCH] 【UPDATE】1.增加同步工序数据到业务表定时任务 2.优化同步工序数据方法
---
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java | 98 ++++++++++++++++++++++++++++++++++--------------
1 files changed, 69 insertions(+), 29 deletions(-)
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java
index 3f8a10b..730bba1 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java
@@ -1,6 +1,10 @@
package com.aps.job.service.impl;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import com.alibaba.fastjson.JSONArray;
@@ -9,6 +13,7 @@
import com.aps.job.domain.ApsWorkOrderJobLog;
import com.aps.job.mapper.ApsWorkOrderJobLogMapper;
import com.aps.job.param.ApsWorkOrderJobParam;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
@@ -28,6 +33,7 @@
* @author zhl
* @date 2025-04-17
*/
+@Slf4j
@Service
public class ApsWorkOrderJobServiceImpl implements IApsWorkOrderJobService
{
@@ -121,7 +127,9 @@
}
-
+ /**
+ * 鏍规嵁椤电爜鍏ㄩ噺鍚屾鏁版嵁
+ * */
@Override
public void batchInsertApsWorkOrderJob(ApsWorkOrderJobParam param) {
@@ -134,53 +142,76 @@
}
}
+ /**
+ * 鏍规嵁鏃堕棿娈垫瘡鏃ユ洿鏂帮紝椤甸潰鑷姩閫掑寰幆鍚屾鏁版嵁
+ * */
+ @Override
+ public void SyncWorkOrderByTime(){
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ LocalDateTime today = LocalDateTime.now();
+ LocalDate yesterday = LocalDate.now().minusDays(1);
+ LocalDateTime yesterdayMidnight = yesterday.atStartOfDay();
+ boolean continueFlag = true;
+ Integer currentPage = 49;
+ ApsWorkOrderJobParam param=new ApsWorkOrderJobParam();
+ param.setPageIndex(currentPage);
+ param.setDocState(Arrays.asList(0,1,2,4));
+ param.setBeginDate(yesterdayMidnight.format(formatter));
+ param.setEndDate(today.format(formatter));
+ param.setPageSize(1000);
+ batchSaveByPager(param);
+ while (continueFlag){
+ param.setPageIndex(currentPage);
+ continueFlag= batchSaveByPager(param);
+ currentPage++;
+ }
+ }
+
@Transactional
+ @Override
public boolean batchSaveByPager(ApsWorkOrderJobParam param) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
/*璁剧疆褰撳墠椤甸潰*/
- ApsWorkOrderJobLog log = new ApsWorkOrderJobLog();
+ ApsWorkOrderJobLog jobLog = new ApsWorkOrderJobLog();
String requestString = JSONObject.toJSONString(param);
HttpEntity<String> request = new HttpEntity<>(requestString, headers);
ResponseEntity<String> response = restTemplate.postForEntity(getWorkOrderUrl, request, String.class);
- log.setRequestData(requestString);
- log.setPageNum(Long.valueOf(param.getPageIndex()));
- log.setPageCount(Long.valueOf(param.getPageSize()));
- log.setCreateTime(DateUtils.getNowDate());
- log.setBizType("work_order");
- jobLogMapper.insertApsWorkOrderJobLog(log);
+ jobLog.setRequestData(requestString);
+ jobLog.setPageNum(Long.valueOf(param.getPageIndex()));
+ jobLog.setPageCount(Long.valueOf(param.getPageSize()));
+ jobLog.setCreateTime(DateUtils.getNowDate());
+ jobLog.setBizType("work_order");
+ jobLogMapper.insertApsWorkOrderJobLog(jobLog);
if (response.getStatusCode().is2xxSuccessful()) {
JSONObject responseBodyJson = JSONObject.parseObject(response.getBody());
if ("200".equals(responseBodyJson.getString("status"))) {
JSONArray result = responseBodyJson.getJSONArray("data");
if (result != null&& !result.isEmpty()) {
- int ct= batchInsertApsWorkOrderJob(param, result);
- if(ct>0){
- log.setResult("ok save "+ct);
- jobLogMapper.updateApsWorkOrderJobLog(log);
- }else{
- log.setResult("ok save 0");
- jobLogMapper.updateApsWorkOrderJobLog(log);
- return true;
- }
+ int ct= batchInsertApsWorkOrderJob(param, result);
+ jobLog.setResult("ok save "+ct);
+ jobLogMapper.updateApsWorkOrderJobLog(jobLog);
+ return false;
}else {
- log.setResult("ok receive 0");
- jobLogMapper.updateApsWorkOrderJobLog(log);
- return true;
+ jobLog.setResult("ok receive 0");
+ jobLogMapper.updateApsWorkOrderJobLog(jobLog);
+ return false;
}
} else {
- log.setResponseData(response.getBody());
- log.setResult("fail");
- jobLogMapper.updateApsWorkOrderJobLog(log);
- return true;
+ jobLog.setResponseData(response.getBody());
+ jobLog.setResult("fail");
+ jobLogMapper.updateApsWorkOrderJobLog(jobLog);
+ return false;
}
- return true;
+
} else {
- log.setResponseData(response.getBody());
- log.setResult("fail");
- jobLogMapper.updateApsWorkOrderJobLog(log);
- return true;
+ jobLog.setResponseData(response.getBody());
+ jobLog.setResult("fail");
+ jobLogMapper.updateApsWorkOrderJobLog(jobLog);
+ log.info(JSONObject.toJSONString(jobLog));
+ return false;
}
+
}
@Transactional
public int batchInsertApsWorkOrderJob(ApsWorkOrderJobParam param, JSONArray result) {
@@ -202,4 +233,13 @@
return apsWorkOrderJobMapper.batchInsertApsWorkOrderJob(jobs);
}
+ /**
+ * 鍚屾闆朵欢宸ュ崟淇℃伅
+ * */
+ @Transactional
+ @Override
+ public void syncPartOrderData() {
+ apsWorkOrderJobMapper.deleteAllPartPlan();
+ apsWorkOrderJobMapper.batchInsertPartPlan();
+ }
}
--
Gitblit v1.9.3