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