From 2bdb234b82f18e09a1ab8fd9bd28b44fed9084be Mon Sep 17 00:00:00 2001 From: huangjiayang <5265313@qq.com> Date: 星期一, 21 四月 2025 10:27:36 +0800 Subject: [PATCH] 【UPDATE】1.修改抓取工单工序定时任务增加可补查之前未查到工序的工单 --- aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java | 87 ++++++++++++++++++++++++++++++++++--------- 1 files changed, 68 insertions(+), 19 deletions(-) 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..de015e2 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")); @@ -182,13 +185,16 @@ apsWorkOrderProcess.setOrgCode(process.getString("OrgCode")); if (existsId != null) { apsWorkOrderProcess.setId(existsId); + apsWorkOrderProcess.setUpdateTime(DateUtils.getNowDate()); updateList.add(apsWorkOrderProcess); } else { + apsWorkOrderProcess.setCreateTime(DateUtils.getNowDate()); addList.add(apsWorkOrderProcess); } if(!nowDocNo.equals(process.getString("DocNo"))){ //鏇存柊宸ュ崟鍚屾宸ュ簭鐘舵�� - apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(nowDocNo); + docNos.remove(nowDocNo); + haveProcessDocNos.add(nowDocNo); nowDocNo = process.getString("DocNo"); } } @@ -204,7 +210,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"); @@ -223,33 +237,68 @@ } @Override - public void syncWorkOrderProcessData() { + public void syncWorkOrderProcessData(String status, Integer pageSize) { try{ //鍒嗛〉鏌ヨ宸ュ崟 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); - List<ApsWorkOrderJob> pageList = apsWorkOrderJobMapper.selectApsWorkOrderJobList(apsWorkOrderJob); - if(!pageList.isEmpty()){ - List<String> docNos = new ArrayList<>(); - for (ApsWorkOrderJob apsWorkOrderJob1 : pageList){ - docNos.add(apsWorkOrderJob1.getDocNo()); + if(status==null){ + status = "0"; + } + if(pageSize==null){ + pageSize = 100; + } + apsWorkOrderJob.setProcessStatus(status); + // 琛ユ煡涔嬪墠娌℃湁鏌ュ埌宸ュ簭鐨勫伐鍗� + if("2".equals(status)){ + int total = apsWorkOrderJobMapper.selectApsWorkOrderJobList(apsWorkOrderJob).size(); + int pages = total % pageSize == 0 ? total / pageSize : total / pageSize + 1; + for (int i = 1; i <= pages; i++){ + PageHelper.startPage(i, pageSize); + 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 +"姣"); } - getWorkOrderProcessFromU9(docNos); } - long endTime = System.currentTimeMillis(); // 璁板綍缁撴潫鏃堕棿 - long duration = endTime - startTime; // 璁$畻杩愯鏃堕棿 - System.out.println("杩愯鏃堕棿锛�"+ duration +"姣"); + }else{ + while (true){ + PageHelper.startPage(1, pageSize); + 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; + } + } } }catch (Exception e){ e.printStackTrace(); logger.error(e.getMessage()); } } + + @Override + public void insertIntoApsProcessRoute() { + apsWorkOrderProcessMapper.insertIntoApsProcessRoute(); + } + + @Override + public void deleteApsProcessRoute() { + apsWorkOrderProcessMapper.deleteApsProcessRoute(); + } } -- Gitblit v1.9.3