From a56fa75e2f5c7d4aefe63a6c0f81e69be281c59a Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期五, 18 四月 2025 17:33:24 +0800
Subject: [PATCH] work——order 同步零件工单数据ryTask准备

---
 aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderJobService.java         |    5 +
 aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java                             |   44 ++++++++++++++
 aps-modules/aps-job/src/main/java/com/aps/job/controller/SysJobController.java             |   16 ++--
 aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java |   89 ++++++++++++++++++++---------
 aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPartPlan.java                    |   14 ++--
 5 files changed, 125 insertions(+), 43 deletions(-)

diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPartPlan.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPartPlan.java
index c12bbd2..b82b0d4 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPartPlan.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPartPlan.java
@@ -1,5 +1,6 @@
 package com.aps.core.domain;
 
+import java.math.BigDecimal;
 import java.util.Date;
 
 import com.aps.common.core.utils.uuid.IdUtils;
@@ -9,6 +10,7 @@
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.aps.common.core.annotation.Excel;
 import com.aps.common.core.web.domain.BaseEntity;
+import org.apache.poi.hpsf.Decimal;
 import org.springframework.data.annotation.Id;
 
 import javax.annotation.processing.Generated;
@@ -80,11 +82,11 @@
 
     /** 鐢熶骇鏁伴噺 */
     @Excel(name = "鐢熶骇鏁伴噺")
-    private Long productionQuantity;
+    private Decimal productionQuantity;
 
     /** 鑹搧鏁伴噺 */
     @Excel(name = "鑹搧鏁伴噺")
-    private Long goodProductsQuantity;
+    private Decimal goodProductsQuantity;
 
     /** 宸ュ簭鍙� */
     @Excel(name = "宸ュ簭鍙�")
@@ -309,22 +311,22 @@
         return versionNumber;
     }
 
-    public void setProductionQuantity(Long productionQuantity) 
+    public void setProductionQuantity(Decimal productionQuantity)
     {
         this.productionQuantity = productionQuantity;
     }
 
-    public Long getProductionQuantity() 
+    public Decimal getProductionQuantity()
     {
         return productionQuantity;
     }
 
-    public void setGoodProductsQuantity(Long goodProductsQuantity) 
+    public void setGoodProductsQuantity(Decimal goodProductsQuantity)
     {
         this.goodProductsQuantity = goodProductsQuantity;
     }
 
-    public Long getGoodProductsQuantity() 
+    public Decimal getGoodProductsQuantity()
     {
         return goodProductsQuantity;
     }
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/controller/SysJobController.java b/aps-modules/aps-job/src/main/java/com/aps/job/controller/SysJobController.java
index 5df334a..5616aa4 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/controller/SysJobController.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/controller/SysJobController.java
@@ -43,7 +43,7 @@
     /**
      * 鏌ヨ瀹氭椂浠诲姟鍒楄〃
      */
-    @RequiresPermissions("monitor:job:list")
+   /* @RequiresPermissions("monitor:job:list")*/
     @GetMapping("/list")
     public TableDataInfo list(SysJob sysJob)
     {
@@ -55,7 +55,7 @@
     /**
      * 瀵煎嚭瀹氭椂浠诲姟鍒楄〃
      */
-    @RequiresPermissions("monitor:job:export")
+    /*@RequiresPermissions("monitor:job:export")*/
     @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, SysJob sysJob)
@@ -68,7 +68,7 @@
     /**
      * 鑾峰彇瀹氭椂浠诲姟璇︾粏淇℃伅
      */
-    @RequiresPermissions("monitor:job:query")
+    /*@RequiresPermissions("monitor:job:query")*/
     @GetMapping(value = "/{jobId}")
     public AjaxResult getInfo(@PathVariable("jobId") Long jobId)
     {
@@ -78,7 +78,7 @@
     /**
      * 鏂板瀹氭椂浠诲姟
      */
-    @RequiresPermissions("monitor:job:add")
+   /* @RequiresPermissions("monitor:job:add")*/
     @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody SysJob job) throws SchedulerException, TaskException
@@ -114,7 +114,7 @@
     /**
      * 淇敼瀹氭椂浠诲姟
      */
-    @RequiresPermissions("monitor:job:edit")
+   /* @RequiresPermissions("monitor:job:edit")*/
     @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody SysJob job) throws SchedulerException, TaskException
@@ -150,7 +150,7 @@
     /**
      * 瀹氭椂浠诲姟鐘舵�佷慨鏀�
      */
-    @RequiresPermissions("monitor:job:changeStatus")
+  /*  @RequiresPermissions("monitor:job:changeStatus")*/
     @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.UPDATE)
     @PutMapping("/changeStatus")
     public AjaxResult changeStatus(@RequestBody SysJob job) throws SchedulerException
@@ -163,7 +163,7 @@
     /**
      * 瀹氭椂浠诲姟绔嬪嵆鎵ц涓�娆�
      */
-    @RequiresPermissions("monitor:job:changeStatus")
+   /* @RequiresPermissions("monitor:job:changeStatus")*/
     @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.UPDATE)
     @PutMapping("/run")
     public AjaxResult run(@RequestBody SysJob job) throws SchedulerException
@@ -175,7 +175,7 @@
     /**
      * 鍒犻櫎瀹氭椂浠诲姟
      */
-    @RequiresPermissions("monitor:job:remove")
+ /*   @RequiresPermissions("monitor:job:remove")*/
     @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.DELETE)
     @DeleteMapping("/{jobIds}")
     public AjaxResult remove(@PathVariable Long[] jobIds) throws SchedulerException
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderJobService.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderJobService.java
index 83e0405..8194fe8 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderJobService.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderJobService.java
@@ -64,6 +64,11 @@
 
     void batchInsertApsWorkOrderJob(ApsWorkOrderJobParam param);
 
+    void SyncWorkOrderByTime();
+
+    @Transactional
+    boolean batchSaveByPager(ApsWorkOrderJobParam param);
+
     @Transactional
     void syncPartOrderData();
 }
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java
index 543600a..730bba1 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java
@@ -1,6 +1,10 @@
 package com.aps.job.service.impl;
 
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 import com.alibaba.fastjson.JSONArray;
@@ -9,6 +13,7 @@
 import com.aps.job.domain.ApsWorkOrderJobLog;
 import com.aps.job.mapper.ApsWorkOrderJobLogMapper;
 import com.aps.job.param.ApsWorkOrderJobParam;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpEntity;
@@ -28,6 +33,7 @@
  * @author zhl
  * @date 2025-04-17
  */
+@Slf4j
 @Service
 public class ApsWorkOrderJobServiceImpl implements IApsWorkOrderJobService 
 {
@@ -121,7 +127,9 @@
     }
 
 
-
+    /**
+     * 鏍规嵁椤电爜鍏ㄩ噺鍚屾鏁版嵁
+     * */
     @Override
     public void batchInsertApsWorkOrderJob(ApsWorkOrderJobParam param) {
 
@@ -134,53 +142,76 @@
 
         }
     }
+    /**
+     * 鏍规嵁鏃堕棿娈垫瘡鏃ユ洿鏂帮紝椤甸潰鑷姩閫掑寰幆鍚屾鏁版嵁
+     * */
+    @Override
+    public void SyncWorkOrderByTime(){
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        LocalDateTime today = LocalDateTime.now();
+        LocalDate yesterday = LocalDate.now().minusDays(1);
+        LocalDateTime yesterdayMidnight = yesterday.atStartOfDay();
+        boolean continueFlag = true;
+        Integer currentPage = 49;
+        ApsWorkOrderJobParam param=new ApsWorkOrderJobParam();
+        param.setPageIndex(currentPage);
+        param.setDocState(Arrays.asList(0,1,2,4));
+        param.setBeginDate(yesterdayMidnight.format(formatter));
+        param.setEndDate(today.format(formatter));
+        param.setPageSize(1000);
+        batchSaveByPager(param);
+        while (continueFlag){
+            param.setPageIndex(currentPage);
+            continueFlag= batchSaveByPager(param);
+            currentPage++;
+        }
+    }
+
     @Transactional
+    @Override
     public boolean batchSaveByPager(ApsWorkOrderJobParam param) {
         HttpHeaders headers = new HttpHeaders();
         headers.setContentType(MediaType.APPLICATION_JSON);
         /*璁剧疆褰撳墠椤甸潰*/
-        ApsWorkOrderJobLog log = new ApsWorkOrderJobLog();
+        ApsWorkOrderJobLog jobLog = new ApsWorkOrderJobLog();
         String requestString = JSONObject.toJSONString(param);
         HttpEntity<String> request = new HttpEntity<>(requestString, headers);
         ResponseEntity<String> response = restTemplate.postForEntity(getWorkOrderUrl, request, String.class);
-        log.setRequestData(requestString);
-        log.setPageNum(Long.valueOf(param.getPageIndex()));
-        log.setPageCount(Long.valueOf(param.getPageSize()));
-        log.setCreateTime(DateUtils.getNowDate());
-        log.setBizType("work_order");
-        jobLogMapper.insertApsWorkOrderJobLog(log);
+        jobLog.setRequestData(requestString);
+        jobLog.setPageNum(Long.valueOf(param.getPageIndex()));
+        jobLog.setPageCount(Long.valueOf(param.getPageSize()));
+        jobLog.setCreateTime(DateUtils.getNowDate());
+        jobLog.setBizType("work_order");
+        jobLogMapper.insertApsWorkOrderJobLog(jobLog);
         if (response.getStatusCode().is2xxSuccessful()) {
             JSONObject responseBodyJson = JSONObject.parseObject(response.getBody());
             if ("200".equals(responseBodyJson.getString("status"))) {
                 JSONArray result = responseBodyJson.getJSONArray("data");
                 if (result != null&& !result.isEmpty()) {
-                   int ct= batchInsertApsWorkOrderJob(param, result);
-                   if(ct>0){
-                       log.setResult("ok save "+ct);
-                       jobLogMapper.updateApsWorkOrderJobLog(log);
-                   }else{
-                       log.setResult("ok save 0");
-                       jobLogMapper.updateApsWorkOrderJobLog(log);
-                       return true;
-                   }
+                    int ct= batchInsertApsWorkOrderJob(param, result);
+                    jobLog.setResult("ok save "+ct);
+                    jobLogMapper.updateApsWorkOrderJobLog(jobLog);
+                    return false;
                 }else {
-                    log.setResult("ok receive 0");
-                    jobLogMapper.updateApsWorkOrderJobLog(log);
-                    return true;
+                    jobLog.setResult("ok receive 0");
+                    jobLogMapper.updateApsWorkOrderJobLog(jobLog);
+                    return false;
                 }
             } else {
-                log.setResponseData(response.getBody());
-                log.setResult("fail");
-                jobLogMapper.updateApsWorkOrderJobLog(log);
-                return true;
+                jobLog.setResponseData(response.getBody());
+                jobLog.setResult("fail");
+                jobLogMapper.updateApsWorkOrderJobLog(jobLog);
+                return false;
             }
-            return true;
+
         } else {
-            log.setResponseData(response.getBody());
-            log.setResult("fail");
-            jobLogMapper.updateApsWorkOrderJobLog(log);
-            return true;
+            jobLog.setResponseData(response.getBody());
+            jobLog.setResult("fail");
+            jobLogMapper.updateApsWorkOrderJobLog(jobLog);
+            log.info(JSONObject.toJSONString(jobLog));
+            return false;
         }
+
     }
     @Transactional
     public int batchInsertApsWorkOrderJob(ApsWorkOrderJobParam param, JSONArray result) {
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java b/aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java
index 857c706..0b16f5d 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java
@@ -1,9 +1,16 @@
 package com.aps.job.task;
 
 import com.aps.common.core.utils.StringUtils;
+import com.aps.job.param.ApsWorkOrderJobParam;
+import com.aps.job.service.IApsWorkOrderJobService;
 import com.aps.job.service.IApsWorkOrderProcessService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Arrays;
 
 /**
  * 瀹氭椂浠诲姟璋冨害娴嬭瘯
@@ -16,6 +23,10 @@
 
     @Autowired
     private IApsWorkOrderProcessService iApsWorkOrderProcessService;
+
+    @Autowired
+    private IApsWorkOrderJobService iApsWorkOrderJobService;
+
     public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
     {
         System.out.println(StringUtils.format("鎵ц澶氬弬鏂规硶锛� 瀛楃涓茬被鍨媨}锛屽竷灏旂被鍨媨}锛岄暱鏁村瀷{}锛屾诞鐐瑰瀷{}锛屾暣褰}", s, b, l, d, i));
@@ -38,4 +49,37 @@
     {
         iApsWorkOrderProcessService.syncWorkOrderProcessData();
     }
+
+    /**
+     * 姣忔棩鍚屾闆朵欢宸ュ崟鏁版嵁
+     * */
+    public void syncWorkOrderData()
+    {
+
+        iApsWorkOrderJobService.SyncWorkOrderByTime();
+    }
+
+    /**
+     * 姣忔棩鍚屾闆朵欢宸ュ崟鏁版嵁
+     * */
+    public void syncPartOrderData()
+    {
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        LocalDateTime today = LocalDateTime.now();
+        LocalDate yesterday = LocalDate.now().minusDays(1);
+        LocalDateTime yesterdayMidnight = yesterday.atStartOfDay();
+        boolean continueFlag = true;
+        Integer currentPage = 1;
+        ApsWorkOrderJobParam param=new ApsWorkOrderJobParam();
+        param.setPageIndex(currentPage);
+        param.setDocState(Arrays.asList(0,1,2,4));
+        param.setBeginDate(yesterdayMidnight.format(formatter));
+        param.setEndDate(today.format(formatter));
+        param.setPageSize(1000);
+        while (continueFlag){
+            param.setPageIndex(currentPage);
+            continueFlag= iApsWorkOrderJobService.batchSaveByPager(param);
+            currentPage++;
+        }
+    }
 }

--
Gitblit v1.9.3