From f366db113cb6f26f418f42d0098d9aa1c52a61b7 Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期四, 17 四月 2025 16:43:04 +0800
Subject: [PATCH] [add]工单同步代码

---
 aps-modules/aps-job/pom.xml                                                                |    7 +
 aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderProcessMapper.java        |    2 
 aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderJobService.java         |    2 
 aps-modules/aps-job/src/main/java/com/aps/job/mapper/SysJobMapper.java                     |    2 
 aps-modules/aps-job/src/main/java/com/aps/job/controller/ApsWorkOrderJobController.java    |  114 ++++++++++++++++++++++++++++
 aps-modules/aps-job/src/main/java/com/aps/job/config/RestTemplateConfig.java               |   13 +++
 aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderProcessMapper.xml            |    2 
 aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java |   57 ++++++++++++++
 aps-modules/aps-job/src/main/java/com/aps/job/mapper/SysJobLogMapper.java                  |    2 
 9 files changed, 199 insertions(+), 2 deletions(-)

diff --git a/aps-modules/aps-job/pom.xml b/aps-modules/aps-job/pom.xml
index 4c3b39e..79ecbd2 100644
--- a/aps-modules/aps-job/pom.xml
+++ b/aps-modules/aps-job/pom.xml
@@ -71,7 +71,12 @@
             <groupId>com.aps</groupId>
             <artifactId>aps-common-swagger</artifactId>
         </dependency>
-        
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <scope>provided</scope>
+        </dependency>
+
     </dependencies>
 
     <build>
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/config/RestTemplateConfig.java b/aps-modules/aps-job/src/main/java/com/aps/job/config/RestTemplateConfig.java
new file mode 100644
index 0000000..9ad1ca7
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/config/RestTemplateConfig.java
@@ -0,0 +1,13 @@
+package com.aps.job.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.client.RestTemplate;
+
+@Configuration
+public class RestTemplateConfig {
+    @Bean
+    public RestTemplate restTemplate() {
+        return new RestTemplate();
+    }
+}
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/controller/ApsWorkOrderJobController.java b/aps-modules/aps-job/src/main/java/com/aps/job/controller/ApsWorkOrderJobController.java
new file mode 100644
index 0000000..3cb9d12
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/controller/ApsWorkOrderJobController.java
@@ -0,0 +1,114 @@
+package com.aps.job.controller;
+
+import java.util.List;
+import java.io.IOException;
+
+import jakarta.servlet.http.HttpServletResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.aps.common.log.annotation.Log;
+import com.aps.common.log.enums.BusinessType;
+import com.aps.common.security.annotation.RequiresPermissions;
+import com.aps.job.domain.ApsWorkOrderJob;
+import com.aps.job.service.IApsWorkOrderJobService;
+import com.aps.common.core.web.controller.BaseController;
+import com.aps.common.core.web.domain.AjaxResult;
+import com.aps.common.core.utils.poi.ExcelUtil;
+import com.aps.common.core.web.page.TableDataInfo;
+
+/**
+ * 宸ュ崟鍚屾Controller
+ * 
+ * @author zhl
+ * @date 2025-04-17
+ */
+@RestController
+@RequestMapping("/ApsWorkOrderJob")
+public class ApsWorkOrderJobController extends BaseController
+{
+    @Autowired
+    private IApsWorkOrderJobService apsWorkOrderJobService;
+
+    /**
+     * 鏌ヨ宸ュ崟鍚屾鍒楄〃
+     */
+    @RequiresPermissions("ApsWorkOrderJob:ApsWorkOrderJob:list")
+    @GetMapping("/list")
+    public TableDataInfo list(ApsWorkOrderJob apsWorkOrderJob)
+    {
+        startPage();
+        List<ApsWorkOrderJob> list = apsWorkOrderJobService.selectApsWorkOrderJobList(apsWorkOrderJob);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭宸ュ崟鍚屾鍒楄〃
+     */
+    @RequiresPermissions("ApsWorkOrderJob:ApsWorkOrderJob:export")
+    @Log(title = "宸ュ崟鍚屾", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ApsWorkOrderJob apsWorkOrderJob)
+    {
+        List<ApsWorkOrderJob> list = apsWorkOrderJobService.selectApsWorkOrderJobList(apsWorkOrderJob);
+        ExcelUtil<ApsWorkOrderJob> util = new ExcelUtil<ApsWorkOrderJob>(ApsWorkOrderJob.class);
+        util.exportExcel(response, list, "宸ュ崟鍚屾鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇宸ュ崟鍚屾璇︾粏淇℃伅
+     */
+    @RequiresPermissions("ApsWorkOrderJob:ApsWorkOrderJob:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(apsWorkOrderJobService.selectApsWorkOrderJobById(id));
+    }
+
+    /**
+     * 鏂板宸ュ崟鍚屾
+     */
+    @RequiresPermissions("ApsWorkOrderJob:ApsWorkOrderJob:add")
+    @Log(title = "宸ュ崟鍚屾", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ApsWorkOrderJob apsWorkOrderJob)
+    {
+        return toAjax(apsWorkOrderJobService.insertApsWorkOrderJob(apsWorkOrderJob));
+    }
+
+    /**
+     * 淇敼宸ュ崟鍚屾
+     */
+    @RequiresPermissions("ApsWorkOrderJob:ApsWorkOrderJob:edit")
+    @Log(title = "宸ュ崟鍚屾", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ApsWorkOrderJob apsWorkOrderJob)
+    {
+        return toAjax(apsWorkOrderJobService.updateApsWorkOrderJob(apsWorkOrderJob));
+    }
+
+    /**
+     * 鍒犻櫎宸ュ崟鍚屾
+     */
+    @RequiresPermissions("ApsWorkOrderJob:ApsWorkOrderJob:remove")
+    @Log(title = "宸ュ崟鍚屾", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(apsWorkOrderJobService.deleteApsWorkOrderJobByIds(ids));
+    }
+
+
+    @PostMapping("/batchInsertApsWorkOrderJob")
+    public AjaxResult batchInsertApsWorkOrderJob()
+    {
+    	apsWorkOrderJobService.batchInsertApsWorkOrderJob();
+    	return success();
+    }
+}
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderProcessMapper.java b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderProcessMapper.java
index 6d1122c..d1d04e8 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderProcessMapper.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderProcessMapper.java
@@ -1,6 +1,7 @@
 package com.aps.job.mapper;
 
 import com.aps.job.domain.ApsWorkOrderProcess;
+import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
 import java.util.Map;
@@ -11,6 +12,7 @@
  * @author hjy
  * @date 2025-04-17
  */
+@Mapper
 public interface ApsWorkOrderProcessMapper 
 {
     /**
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/mapper/SysJobLogMapper.java b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/SysJobLogMapper.java
index a06b39b..d1e6ed0 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/mapper/SysJobLogMapper.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/SysJobLogMapper.java
@@ -2,12 +2,14 @@
 
 import java.util.List;
 import com.aps.job.domain.SysJobLog;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * 璋冨害浠诲姟鏃ュ織淇℃伅 鏁版嵁灞�
  * 
  * @author ruoyi
  */
+@Mapper
 public interface SysJobLogMapper
 {
     /**
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/mapper/SysJobMapper.java b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/SysJobMapper.java
index 4863483..d0ad158 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/mapper/SysJobMapper.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/SysJobMapper.java
@@ -2,12 +2,14 @@
 
 import java.util.List;
 import com.aps.job.domain.SysJob;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * 璋冨害浠诲姟淇℃伅 鏁版嵁灞�
  * 
  * @author ruoyi
  */
+@Mapper
 public interface SysJobMapper
 {
     /**
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 283fced..f6efc6e 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
@@ -58,4 +58,6 @@
      * @return 缁撴灉
      */
     public int deleteApsWorkOrderJobById(Long id);
+
+    void batchInsertApsWorkOrderJob();
 }
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 82927a6..50beaae 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,12 +1,24 @@
 package com.aps.job.service.impl;
 
+import java.util.ArrayList;
 import java.util.List;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.aps.common.core.utils.DateUtils;
+import com.aps.common.core.utils.StringUtils;
+import jakarta.annotation.Resource;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import com.aps.job.mapper.ApsWorkOrderJobMapper;
 import com.aps.job.domain.ApsWorkOrderJob;
 import com.aps.job.service.IApsWorkOrderJobService;
+import org.springframework.web.client.RestTemplate;
 
 /**
  * 宸ュ崟鍚屾Service涓氬姟灞傚鐞�
@@ -19,6 +31,16 @@
 {
     @Autowired
     private ApsWorkOrderJobMapper apsWorkOrderJobMapper;
+
+    /**
+     * 鑾峰彇璁㈠崟鎺ュ彛
+     * */
+    @Value("${u9.workOrderJobUrl}")
+    private String getWorkOrderUrl;
+
+    @Autowired
+    private RestTemplate restTemplate;
+
 
     /**
      * 鏌ヨ宸ュ崟鍚屾
@@ -93,4 +115,39 @@
     {
         return apsWorkOrderJobMapper.deleteApsWorkOrderJobById(id);
     }
+
+
+    @Override
+    public void batchInsertApsWorkOrderJob() {
+
+        HttpHeaders headers = new HttpHeaders();
+        headers.setContentType(MediaType.APPLICATION_JSON);
+        Integer PageIndex=1;
+        Integer PageSize=10;
+        Boolean continueFlag=true;
+      /*  while (continueFlag){*/
+            JSONObject requestBody = new JSONObject();
+            requestBody.put("PageIndex", PageIndex);
+            requestBody.put("PageSize", PageSize);
+            HttpEntity<String> request = new HttpEntity<>(requestBody.toJSONString(), headers);
+            ResponseEntity<String> response = restTemplate.postForEntity(getWorkOrderUrl, request, String.class);
+            if (response.getStatusCode().is2xxSuccessful()) {
+                String responseBody = response.getBody();
+                if(StringUtils.isNotEmpty(responseBody)){
+                    JSONObject responseBodyJson = JSONObject.parseObject(responseBody);
+                    if("200".equals(responseBodyJson.getString("status"))){
+                        JSONArray result = responseBodyJson.getJSONArray("data");
+                        List<ApsWorkOrderJob> jobs = new ArrayList<>();
+                        if (result!=null){
+                            for (int i = 0; i < result.size(); i++) {
+                                ApsWorkOrderJob order = result.getObject(i, ApsWorkOrderJob.class);
+                                jobs.add(order);
+                            }
+                        }
+                        apsWorkOrderJobMapper.batchInsertApsWorkOrderJob(jobs);
+                    }
+                }
+            }
+       /* }*/
+    }
 }
diff --git a/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderProcessMapper.xml b/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderProcessMapper.xml
index bbdb439..366a651 100644
--- a/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderProcessMapper.xml
+++ b/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderProcessMapper.xml
@@ -116,7 +116,7 @@
         </foreach>
     </delete>
 
-    <select id="existsByDocNoOpNumOpId" parameterType="map" resultMap="Long">
+    <select id="existsByDocNoOpNumOpId" parameterType="map" resultType="Long">
         select id from aps_work_order_process
         where doc_no = #{docNo}
           and op_num = #{opNum}

--
Gitblit v1.9.3