From 01e45371334efcf7f4ccf2fbf8343ec063aa1ff2 Mon Sep 17 00:00:00 2001 From: dy <dingyang@lnfxkj.tech> Date: 星期六, 19 四月 2025 11:14:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderProcessMapper.java | 14 + aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderJobService.java | 9 + aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml | 39 +++++ aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderProcessService.java | 12 + aps-modules/aps-job/src/main/java/com/aps/job/controller/ApsWorkOrderJobController.java | 47 +----- aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderJobMapper.java | 14 + aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java | 42 ++++- aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java | 53 +++++++ aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderProcessMapper.xml | 41 +++++ 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 | 97 +++++++++---- aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPartPlan.java | 14 + 12 files changed, 301 insertions(+), 97 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/ApsWorkOrderJobController.java b/aps-modules/aps-job/src/main/java/com/aps/job/controller/ApsWorkOrderJobController.java index 791a662..62e6c9e 100644 --- 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 @@ -1,7 +1,6 @@ package com.aps.job.controller; import java.util.List; -import java.io.IOException; import com.aps.job.param.ApsWorkOrderJobParam; import jakarta.servlet.http.HttpServletResponse; @@ -73,43 +72,21 @@ } /** - * 鏂板宸ュ崟鍚屾 - */ - @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(@RequestBody ApsWorkOrderJobParam param) { - apsWorkOrderJobService.batchInsertApsWorkOrderJob(param); + apsWorkOrderJobService.SyncWorkOrderByTime(); return success(); } + /** + * 鍚屾闆朵欢宸ュ崟 + * */ + @PostMapping("/batchInsertPartOrderJob") + public AjaxResult batchInsertPartOrderJob() + { + apsWorkOrderJobService.syncPartOrderData(); + return success(); + } } 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/mapper/ApsWorkOrderJobMapper.java b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderJobMapper.java index af9b270..7028ad8 100644 --- a/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderJobMapper.java +++ b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderJobMapper.java @@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.Mapper; import java.util.List; +import java.util.Map; /** * 宸ュ崟鍚屾Mapper鎺ュ彛 @@ -67,9 +68,16 @@ int deleteWorkOrderJobByOrderIds(List<String> orderIds); /** * 鏇存柊宸ュ崟宸ュ簭鍚屾鐘舵�� - * @param docNo + * @param params * @return */ - public int updateApsWorkOrderJobPrccessStatus(String docNo); - + public int updateApsWorkOrderJobPrccessStatus(Map<String, Object> params); + /** + * 鎵归噺鍒犻櫎闆朵欢宸ュ崟鏁版嵁 + * */ + int deleteAllPartPlan(); + /** + * 鎵归噺鎻掑叆闆朵欢璁″垝宸ュ崟 + * */ + int batchInsertPartPlan(); } 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 96b6407..23b874f 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 @@ -76,12 +76,22 @@ * @param list * @return 鏇存柊鏁伴噺 */ - int updateApsWorkOrderProcessBatch(@Param("list") List<ApsWorkOrderProcess> list); + public int updateApsWorkOrderProcessBatch(@Param("list") List<ApsWorkOrderProcess> list); /** * 鎵归噺鎻掑叆宸ュ崟宸ュ簭 * @param list * @return 鎻掑叆鏁伴噺 */ - int insertApsWorkOrderProcessBatch(@Param("list") List<ApsWorkOrderProcess> list); + public int insertApsWorkOrderProcessBatch(@Param("list") List<ApsWorkOrderProcess> list); + + /** + * 鎻掑叆宸ュ崟宸ュ簭鏁版嵁鍒颁笟鍔¤〃 + */ + public void insertIntoApsProcessRoute(); + + /** + * 鍒犻櫎涓存椂宸ュ簭鏁版嵁 + */ + public void deleteApsProcessRoute(); } 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 ad5c62a..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 @@ -3,6 +3,7 @@ import java.util.List; import com.aps.job.domain.ApsWorkOrderJob; import com.aps.job.param.ApsWorkOrderJobParam; +import org.springframework.transaction.annotation.Transactional; /** * 宸ュ崟鍚屾Service鎺ュ彛 @@ -62,4 +63,12 @@ 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/IApsWorkOrderProcessService.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderProcessService.java index 80d43f6..7f5646a 100644 --- a/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderProcessService.java +++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderProcessService.java @@ -62,7 +62,7 @@ /** * 浠嶶9鑾峰彇宸ュ崟宸ュ簭淇℃伅 - * @param docNo + * @param docNos * @return */ public void getWorkOrderProcessFromU9(List<String> docNos) throws Exception; @@ -71,4 +71,14 @@ * 鍚屾宸ュ崟宸ュ簭鏁版嵁 */ public void syncWorkOrderProcessData(); + + /** + * 鎻掑叆宸ュ崟宸ュ簭鏁版嵁鍒颁笟鍔¤〃 + */ + public void insertIntoApsProcessRoute(); + + /** + * 鍒犻櫎涓存椂宸ュ簭鏁版嵁 + */ + public void deleteApsProcessRoute(); } 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 3f8a10b..8f1ad5b 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,75 @@ } } + /** + * 鏍规嵁鏃堕棿娈垫瘡鏃ユ洿鏂帮紝椤甸潰鑷姩閫掑寰幆鍚屾鏁版嵁 + * */ + @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 = 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= 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; - } - }else { - log.setResult("ok receive 0"); - jobLogMapper.updateApsWorkOrderJobLog(log); + int ct= batchInsertApsWorkOrderJob(param, result); + jobLog.setResult("ok save "+ct); + jobLogMapper.updateApsWorkOrderJobLog(jobLog); return true; + }else { + 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) { @@ -202,4 +232,13 @@ return apsWorkOrderJobMapper.batchInsertApsWorkOrderJob(jobs); } + /** + * 鍚屾闆朵欢宸ュ崟淇℃伅 + * */ + @Transactional + @Override + public void syncPartOrderData() { + apsWorkOrderJobMapper.deleteAllPartPlan(); + apsWorkOrderJobMapper.batchInsertPartPlan(); + } } diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java index e815c21..39ea457 100644 --- a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java +++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java @@ -148,6 +148,7 @@ apsWorkOrderJobLog.setBizType("work_order_process"); apsWorkOrderJobLog.setResult("SUCCESS"); apsWorkOrderJobLogService.insertApsWorkOrderJobLog(apsWorkOrderJobLog); + List<String> haveProcessDocNos = new ArrayList<>(); if (response.getStatusCode().is2xxSuccessful()) { if(!StringUtils.isEmpty(responseBody)){ if("200".equals(responseBodyJson.getString("status"))){ @@ -160,6 +161,8 @@ JSONObject process = (JSONObject) o; if (nowDocNo == null) { nowDocNo = process.getString("DocNo"); + docNos.remove(nowDocNo); + haveProcessDocNos.add(nowDocNo); } Map<String, Object> params = new HashMap<>(); params.put("docNo", process.getString("DocNo")); @@ -188,7 +191,8 @@ } if(!nowDocNo.equals(process.getString("DocNo"))){ //鏇存柊宸ュ崟鍚屾宸ュ簭鐘舵�� - apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(nowDocNo); + docNos.remove(nowDocNo); + haveProcessDocNos.add(nowDocNo); nowDocNo = process.getString("DocNo"); } } @@ -204,7 +208,15 @@ apsWorkOrderJobLogService.updateApsWorkOrderJobLog(apsWorkOrderJobLog); logger.info("銆怚NSERT銆戣幏鍙栧苟鎻掑叆U9宸ュ簭鎴愬姛锛併�愬伐鍗曞彿锛歿}銆�", docNos); } + Map<String, Object> param = new HashMap<>(); + param.put("status", "1"); + param.put("docNos", haveProcessDocNos); + apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(param); } + Map<String, Object> param = new HashMap<>(); + param.put("status", "2"); + param.put("docNos", docNos); + apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(param); }else{ apsWorkOrderJobLog.setResponseData(response.getBody()); apsWorkOrderJobLog.setResult("fail"); @@ -228,28 +240,36 @@ //鍒嗛〉鏌ヨ宸ュ崟 ApsWorkOrderJob apsWorkOrderJob = new ApsWorkOrderJob(); apsWorkOrderJob.setProcessStatus("0"); - List<ApsWorkOrderJob> list = apsWorkOrderJobMapper.selectApsWorkOrderJobList(apsWorkOrderJob); - int pageSize = 100; - int allPage = list.size()/pageSize; -// int allPage = 1; - for (int i = 1; i <= allPage; i++) { - long startTime = System.currentTimeMillis(); - PageHelper.startPage(i, pageSize); + while (true){ + PageHelper.startPage(1, 100); List<ApsWorkOrderJob> pageList = apsWorkOrderJobMapper.selectApsWorkOrderJobList(apsWorkOrderJob); if(!pageList.isEmpty()){ + long startTime = System.currentTimeMillis(); List<String> docNos = new ArrayList<>(); for (ApsWorkOrderJob apsWorkOrderJob1 : pageList){ docNos.add(apsWorkOrderJob1.getDocNo()); } getWorkOrderProcessFromU9(docNos); + long endTime = System.currentTimeMillis(); // 璁板綍缁撴潫鏃堕棿 + long duration = endTime - startTime; // 璁$畻杩愯鏃堕棿 + System.out.println("杩愯鏃堕棿锛�"+ duration +"姣"); + }else{ + break; } - long endTime = System.currentTimeMillis(); // 璁板綍缁撴潫鏃堕棿 - long duration = endTime - startTime; // 璁$畻杩愯鏃堕棿 - System.out.println("杩愯鏃堕棿锛�"+ duration +"姣"); } }catch (Exception e){ e.printStackTrace(); logger.error(e.getMessage()); } } + + @Override + public void insertIntoApsProcessRoute() { + apsWorkOrderProcessMapper.insertIntoApsProcessRoute(); + } + + @Override + public void deleteApsProcessRoute() { + apsWorkOrderProcessMapper.deleteApsProcessRoute(); + } } 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..ca35630 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,46 @@ { iApsWorkOrderProcessService.syncWorkOrderProcessData(); } + + /** + * 姣忔棩鍚屾闆朵欢宸ュ崟鏁版嵁 + * */ + public void syncPartOrderData () + { + + iApsWorkOrderJobService.syncPartOrderData(); + } + + /** + * 姣忔棩鍚屾鎵�鏈夊伐鍗曟暟鎹� + * */ + public void syncWorkOrderData() + { + 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++; + } + } + + /** + * 灏嗗伐鍗曞伐搴忔暟鎹悓姝ュ埌涓氬姟琛ㄤ腑 + */ + public void insertIntoApsProcessRoute() + { + iApsWorkOrderProcessService.deleteApsProcessRoute(); + iApsWorkOrderProcessService.insertIntoApsProcessRoute(); + } } diff --git a/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml b/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml index b8a6848..3ce7c26 100644 --- a/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml +++ b/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml @@ -283,8 +283,43 @@ </foreach> </delete> - <update id="updateApsWorkOrderJobPrccessStatus" parameterType="String"> - update aps_work_order_job set process_status='1' where doc_no = #{docNo} + <update id="updateApsWorkOrderJobPrccessStatus" parameterType="map"> + update aps_work_order_job + set process_status = #{status} + where doc_no in + <foreach item="docNo" collection="docNos" open="(" separator="," close=")"> + #{docNo} + </foreach> </update> + <delete id="deleteAllPartPlan" > + delete from aps_part_plan where del_flag in ('0','1') + </delete> + <insert id="batchInsertPartPlan"> + insert into aps_part_plan + ( + document_number,main_part_number,main_part_drawing_number, + customer,business_type,requirement_type, + document_status,item_number,drawing_no, + version_number,production_quantity,good_products_quantity, + process_number,work_center,department, + plan_start_day,plan_end_day,next_process_deparment, + is_suspended,is_outsourcing,account, + id,create_time,del_flag,plant,order_status + ) + select + doc_no,mainitem_code,mainitem_figure, + customer_name,business_type,demand_type, + doc_status,item_code,item_figure, + item_figure_version,pruduct_qty,work_qty, + op_num,work_center,dept, + start_date,complete_date,next_dept, + is_hold_release,is_out_source,org_code, + order_id,now(),'0',org_code,doc_status + from aps_work_order_job + where ( doc_status in (0,1,2,4) and + (mainitem_code like 'M01%' or mainitem_code like 'M02%'or mainitem_code like 'M05%' or mainitem_code like 'M10%' + or mainitem_code like 'M14%'or mainitem_code like 'M15%' or mainitem_code like 'F%' or mainitem_code like 'Z%') + ); + </insert> </mapper> \ No newline at end of file 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 981eb19..6aec5bd 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 @@ -178,4 +178,45 @@ </foreach> </insert> + <!-- 鎻掑叆鏁版嵁鍒� aps_process_route --> + <insert id="insertIntoApsProcessRoute"> + INSERT INTO aps_process_route ( + id, + item_no, + work_order_no, + process_number, + op_id, + process_name, + standard_time, + process_plan_start_day, + process_plan_end_day, + process_qty, + discard_count, + op_status, + plant, + org_code + ) + SELECT + id, + item_code, + doc_no, + op_num, + op_id, + process_name, + standard_time, + plan_start_date, + plan_complete_date, + process_qty, + scrap_qty, + op_status, + org, + org_code + FROM aps_work_order_process + </insert> + + <!-- 鍒犻櫎 aps_process_route 琛ㄤ腑鐨勬暟鎹� --> + <delete id="deleteApsProcessRoute"> + DELETE FROM aps_process_route + </delete> + </mapper> \ No newline at end of file -- Gitblit v1.9.3