From 99beb9e8323fd572b5f2196d1995c3497913785d Mon Sep 17 00:00:00 2001
From: sfd <sun.sunshine@163.com>
Date: 星期三, 14 五月 2025 18:44:45 +0800
Subject: [PATCH] 修改计划管理与查询周期配置查询关系
---
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsBomHeaderJobServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 52 insertions(+), 6 deletions(-)
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsBomHeaderJobServiceImpl.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsBomHeaderJobServiceImpl.java
index 3a1fa14..b3133b2 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsBomHeaderJobServiceImpl.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsBomHeaderJobServiceImpl.java
@@ -5,6 +5,7 @@
import com.alibaba.fastjson.JSONObject;
import com.aps.common.core.utils.DateUtils;
import com.aps.common.core.utils.StringUtils;
+import com.aps.common.core.utils.uuid.IdUtils;
import com.aps.job.domain.ApsBomHeaderJob;
import com.aps.job.domain.ApsBomLineJob;
import com.aps.job.domain.ApsWorkOrderJobLog;
@@ -19,6 +20,7 @@
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.client.RestTemplate;
import java.util.ArrayList;
@@ -39,9 +41,6 @@
@Autowired
private ApsBomLineJobMapper apsBomLineJobMapper;
- /**
- * 鑾峰彇璁㈠崟鎺ュ彛
- * */
@Value("${u9.bomJobUrl}")
private String getBomUrl;
@@ -127,14 +126,19 @@
@Override
public boolean syncBomData(Integer pageIndex, Integer pageSize, String orgCode, String itemCodeList) {
+ JSONObject requestBody = new JSONObject();
+ ResponseEntity<String> response = null;
+ ApsWorkOrderJobLog jobLog = new ApsWorkOrderJobLog();
+ String batchNum = "";
try {
// 璁剧疆璇锋眰澶�
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
// 璁剧疆璇锋眰浣�
while (true) {
- ApsWorkOrderJobLog jobLog = new ApsWorkOrderJobLog();
- JSONObject requestBody = new JSONObject();
+ batchNum = IdUtils.fastSimpleUUID();
+ jobLog = new ApsWorkOrderJobLog();
+ requestBody = new JSONObject();
requestBody.put("PageIndex", pageIndex);
requestBody.put("PageSize", pageSize);
if(!StringUtils.isEmpty(orgCode)){
@@ -143,7 +147,7 @@
// 鍒涘缓HttpEntity瀵硅薄
HttpEntity<String> request = new HttpEntity<>(requestBody.toJSONString(), headers);
// 鍙戦�丳OST璇锋眰
- ResponseEntity<String> response = restTemplate.postForEntity(getBomUrl, request, String.class);
+ response = restTemplate.postForEntity(getBomUrl, request, String.class);
JSONObject responseBodyJson = JSONObject.parseObject(response.getBody());
if (response.getStatusCode().is2xxSuccessful() && "200".equals(responseBodyJson.getString("status"))) {
JSONArray jsonArray = responseBodyJson.getJSONArray("data");
@@ -162,6 +166,7 @@
insertBomHeader.setStartDate(DateUtils.parseDate(bomHeader.getString("HEffectiveDate")));
insertBomHeader.setEndDate(DateUtils.parseDate(bomHeader.getString("HDisableDate")));
insertBomHeader.setOrgCode(bomHeader.getString("HOrgName").contains("娌堥槼")?"FORTUNE":bomHeader.getString("HOrgName").contains("鍗楅��")?"FORTUNA":bomHeader.getString("HOrgName").contains("鍖椾含")?"FORTUBE":bomHeader.getString("HOrgName"));
+ insertBomHeader.setCreateBy(batchNum);
headerList.add(insertBomHeader);
for(Object line : bomLines){
JSONObject lineJson = (JSONObject) line;
@@ -175,6 +180,7 @@
bomLine.setStartDate(DateUtils.parseDate(lineJson.getString("LEffectiveDate")));
bomLine.setEndDate(DateUtils.parseDate(lineJson.getString("LDisableDate")));
bomLine.setOrgCode(lineJson.getString("LOrgName").contains("娌堥槼")?"FORTUNE":lineJson.getString("LOrgName").contains("鍗楅��")?"FORTUNA":lineJson.getString("LOrgName").contains("鍖椾含")?"FORTUBE":lineJson.getString("LOrgName"));
+ bomLine.setCreateBy(batchNum);
lineList.add(bomLine);
}
}
@@ -200,6 +206,7 @@
jobLog.setCreateTime(DateUtils.getNowDate());
jobLog.setBizType("bom");
jobLog.setResult("header:"+headerList.size() + " line:"+lineList.size());
+ jobLog.setCreateBy(batchNum);
jobLogMapper.insertApsWorkOrderJobLog(jobLog);
pageIndex++;
}else{
@@ -213,14 +220,53 @@
jobLog.setCreateTime(DateUtils.getNowDate());
jobLog.setBizType("bom");
jobLog.setResult("error");
+ jobLog.setCreateBy(batchNum);
jobLogMapper.insertApsWorkOrderJobLog(jobLog);
break;
}
}
}catch (Exception e){
e.printStackTrace();
+ jobLog.setRequestData(requestBody.toJSONString());
+ jobLog.setResponseData(response.getBody());
+ jobLog.setPageNum(Long.valueOf(pageIndex));
+ jobLog.setPageCount(Long.valueOf(pageSize));
+ jobLog.setCreateTime(DateUtils.getNowDate());
+ jobLog.setBizType("bom");
+ jobLog.setResult("error");
+ jobLog.setCreateBy(batchNum);
+ jobLogMapper.insertApsWorkOrderJobLog(jobLog);
return false;
}
return true;
}
+
+ /**
+ * 鍏ㄩ噺鍚屾BOM鏁版嵁瀹氭椂浠诲姟
+ * @param pageIndex
+ * @param pageSize
+ * @param orgCode
+ * @param itemCodeList
+ * @return
+ */
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public boolean syncBomDataJob(Integer pageIndex, Integer pageSize, String orgCode, String itemCodeList){
+ try {
+ apsBomHeaderJobMapper.deleteApsBomHeaderJob();
+ apsBomLineJobMapper.deleteApsBomLineJob();
+ boolean res = syncBomData(pageIndex, pageSize, orgCode, itemCodeList);
+ if(!res){
+ return false;
+ }
+ apsBomHeaderJobMapper.deleteApsBomHeader();
+ apsBomLineJobMapper.deleteApsBomLine();
+ apsBomHeaderJobMapper.insertIntoApsBomHeader();
+ apsBomLineJobMapper.insertIntoApsBomLine();
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException(e);
+ }
+ return true;
+ }
}
--
Gitblit v1.9.3