From e806603a75c6999c040359ffff325fa774c3cc05 Mon Sep 17 00:00:00 2001 From: huangjiayang <5265313@qq.com> Date: 星期五, 18 四月 2025 17:45:39 +0800 Subject: [PATCH] 【UPDATE】1.增加同步工序数据到业务表定时任务 2.优化同步工序数据方法 --- aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderProcessMapper.java | 14 ++++ aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml | 9 ++ aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderProcessService.java | 12 +++ aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderJobMapper.java | 5 + 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 | 9 +++ aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderProcessMapper.xml | 41 +++++++++++++ 7 files changed, 114 insertions(+), 18 deletions(-) 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 5b4690f..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,10 +68,10 @@ int deleteWorkOrderJobByOrderIds(List<String> orderIds); /** * 鏇存柊宸ュ崟宸ュ簭鍚屾鐘舵�� - * @param docNo + * @param params * @return */ - public int updateApsWorkOrderJobPrccessStatus(String docNo); + public int updateApsWorkOrderJobPrccessStatus(Map<String, Object> params); /** * 鎵归噺鍒犻櫎闆朵欢宸ュ崟鏁版嵁 * */ 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/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/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 0b16f5d..e28d417 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 @@ -82,4 +82,13 @@ 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 eb00fd7..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,13 @@ </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" > 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