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