From 7a4a03e2c1455ba7a7c6fa60702e350faf6e25bb Mon Sep 17 00:00:00 2001
From: hongjli <3117313295@qq.com>
Date: 星期一, 26 五月 2025 14:13:42 +0800
Subject: [PATCH] 管路&气柜产能负载按日统计查不到数据时不返回空
---
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsBomHeaderJobServiceImpl.java | 46 +++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 43 insertions(+), 3 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 c307d96..2906f0c 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
@@ -3,8 +3,11 @@
import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson2.JSON;
+import com.aps.common.core.constant.SecurityConstants;
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;
@@ -12,6 +15,8 @@
import com.aps.job.mapper.ApsBomLineJobMapper;
import com.aps.job.mapper.ApsWorkOrderJobLogMapper;
import com.aps.job.service.IApsBomHeaderJobService;
+import com.aps.system.api.RemoteCoreService;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
@@ -32,6 +37,7 @@
* @date 2025-05-08
*/
@Service
+@Slf4j
public class ApsBomHeaderJobServiceImpl implements IApsBomHeaderJobService
{
@Autowired
@@ -48,6 +54,9 @@
@Autowired
private RestTemplate restTemplate;
+
+ @Autowired
+ private RemoteCoreService remoteCoreService;
/**
* 鏌ヨBOM Header 鏁版嵁绠$悊
@@ -125,14 +134,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)){
@@ -141,7 +155,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");
@@ -160,6 +174,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;
@@ -173,6 +188,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);
}
}
@@ -198,7 +214,10 @@
jobLog.setCreateTime(DateUtils.getNowDate());
jobLog.setBizType("bom");
jobLog.setResult("header:"+headerList.size() + " line:"+lineList.size());
+ jobLog.setCreateBy(batchNum);
jobLogMapper.insertApsWorkOrderJobLog(jobLog);
+ log.info("BOM鍚屾锛�"+ JSON.toJSONString(jobLog));
+
pageIndex++;
}else{
break;
@@ -211,12 +230,24 @@
jobLog.setCreateTime(DateUtils.getNowDate());
jobLog.setBizType("bom");
jobLog.setResult("error");
+ jobLog.setCreateBy(batchNum);
jobLogMapper.insertApsWorkOrderJobLog(jobLog);
+ log.info("BOM鍚屾锛�"+ JSON.toJSONString(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);
+ log.info("BOM鍚屾寮傚父淇℃伅锛�"+ JSON.toJSONString(jobLog));
return false;
}
return true;
@@ -234,15 +265,24 @@
@Override
public boolean syncBomDataJob(Integer pageIndex, Integer pageSize, String orgCode, String itemCodeList){
try {
+ log.info("鍏ㄩ噺鍚屾BOM鏁版嵁瀹氭椂浠诲姟寮�濮�");
+ log.info(" DELETE FROM aps_bom_header_job");
apsBomHeaderJobMapper.deleteApsBomHeaderJob();
+ log.info(" DELETE FROM aps_bom_line_job");
apsBomLineJobMapper.deleteApsBomLineJob();
boolean res = syncBomData(pageIndex, pageSize, orgCode, itemCodeList);
if(!res){
return false;
}
+ log.info("灏咮OM鍚屾鍒癛edis");
+ remoteCoreService.setBomDataToRedis(SecurityConstants.INNER);
+ log.info("deleteApsBomHeader");
apsBomHeaderJobMapper.deleteApsBomHeader();
+ log.info("deleteApsBomLine");
apsBomLineJobMapper.deleteApsBomLine();
+ log.info("insertIntoApsBomHeader");
apsBomHeaderJobMapper.insertIntoApsBomHeader();
+ log.info("insertIntoApsBomLine");
apsBomLineJobMapper.insertIntoApsBomLine();
} catch (Exception e) {
e.printStackTrace();
--
Gitblit v1.9.3