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