From 2a64b537e8e3bce9ce030585a3da17d48379c0ad Mon Sep 17 00:00:00 2001 From: sfd <sun.sunshine@163.com> Date: 星期一, 26 五月 2025 15:04:45 +0800 Subject: [PATCH] 修改json类型转换错误 --- 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