From a9f55fb1ab24f43fee70b16e1a8c58a33fc59fa6 Mon Sep 17 00:00:00 2001 From: zhanghl <253316343@qq.com> Date: 星期二, 13 五月 2025 18:12:14 +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