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); /** * 批量删除零件工单数据 * */ 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(); } aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderProcessService.java
@@ -62,7 +62,7 @@ /** * 从U9获取工单工序信息 * @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(); } 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("【INSERT】获取并插入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(); } } 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(); } } 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" > 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>