From dadf503b15f3423980ad2bc17d23ea1a444aca10 Mon Sep 17 00:00:00 2001
From: huangjiayang <5265313@qq.com>
Date: 星期三, 14 五月 2025 17:48:00 +0800
Subject: [PATCH] 【UPDATE】修改mapper适配mybatis-plus

---
 aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsBomHeaderJobServiceImpl.java |   64 +++++++++++++++++++++++++++++---
 1 files changed, 58 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..5f71212 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,10 @@
 import cn.hutool.core.util.IdUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+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 +14,7 @@
 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 org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpEntity;
@@ -19,6 +22,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 +43,6 @@
     @Autowired
     private ApsBomLineJobMapper apsBomLineJobMapper;
 
-    /**
-     * 鑾峰彇璁㈠崟鎺ュ彛
-     * */
     @Value("${u9.bomJobUrl}")
     private String getBomUrl;
 
@@ -50,6 +51,9 @@
 
     @Autowired
     private RestTemplate restTemplate;
+
+    @Autowired
+    private RemoteCoreService remoteCoreService;
 
     /**
      * 鏌ヨBOM Header 鏁版嵁绠$悊
@@ -127,14 +131,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 +152,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 +171,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 +185,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 +211,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 +225,54 @@
                     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;
+            }
+            remoteCoreService.setBomDataToRedis(SecurityConstants.INNER);
+            apsBomHeaderJobMapper.deleteApsBomHeader();
+            apsBomLineJobMapper.deleteApsBomLine();
+            apsBomHeaderJobMapper.insertIntoApsBomHeader();
+            apsBomLineJobMapper.insertIntoApsBomLine();
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new RuntimeException(e);
+        }
+        return true;
+    }
 }

--
Gitblit v1.9.3