From fbb90c31d56348ec3fcc49af49c66b19992f58df Mon Sep 17 00:00:00 2001 From: zhanghl <253316343@qq.com> Date: 星期五, 16 五月 2025 17:15:32 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java | 59 +++++++++++++++++++++++++++++------------------------------ 1 files changed, 29 insertions(+), 30 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 304e372..6653f41 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 @@ -133,7 +133,9 @@ @Override public void getWorkOrderProcessFromU9(List<String> docNos) throws Exception { - List<String> noProcessDocNos = docNos; + List<String> noProcessDocNos = new ArrayList<>(docNos); + List<String> haveProcessDocNos = new ArrayList<>(); + ApsWorkOrderJobLog apsWorkOrderJobLog = new ApsWorkOrderJobLog(); // 璁剧疆璇锋眰澶� HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); @@ -151,13 +153,11 @@ ResponseEntity<String> response = restTemplate.postForEntity(u9WorkOrderProcessUrl, request, String.class); String responseBody = response.getBody(); JSONObject responseBodyJson = JSONObject.parseObject(responseBody); - ApsWorkOrderJobLog apsWorkOrderJobLog = new ApsWorkOrderJobLog(); apsWorkOrderJobLog.setRequestData(requestBody.toJSONString()); apsWorkOrderJobLog.setCreateTime(DateUtils.getNowDate()); 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"))){ @@ -166,8 +166,8 @@ List<ApsWorkOrderProcess> addList = new ArrayList<>(); List<ApsWorkOrderProcess> updateList = new ArrayList<>(); String nowDocNo = null; - for (Object o : jsonArray) { - JSONObject process = (JSONObject) o; + for (int i = 0,size=jsonArray.size();i<size;i++) { + JSONObject process = jsonArray.getJSONObject(i); if (nowDocNo == null) { nowDocNo = process.getString("DocNo"); noProcessDocNos.remove(nowDocNo); @@ -204,9 +204,9 @@ apsWorkOrderProcess.setCreateTime(DateUtils.getNowDate()); addList.add(apsWorkOrderProcess); // } - if(!nowDocNo.equals(process.getString("DocNo"))){ + if(!nowDocNo.equals(process.getString("DocNo")) || i==size-1){ //鏇存柊宸ュ崟鍚屾宸ュ簭鐘舵�� - docNos.remove(nowDocNo); + noProcessDocNos.remove(nowDocNo); haveProcessDocNos.add(nowDocNo); nowDocNo = process.getString("DocNo"); } @@ -225,23 +225,6 @@ 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); - }else{ - if(!noProcessDocNos.isEmpty()){ - Map<String, Object> param = new HashMap<>(); - param.put("status", "2"); - param.put("docNos", noProcessDocNos); - apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(param); - apsWorkOrderJobLog.setRequestData(requestBody.toJSONString()); - apsWorkOrderJobLog.setResponseData(response.getBody()); - apsWorkOrderJobLog.setResult("empty"); - apsWorkOrderJobLog.setUpdateTime(DateUtils.getNowDate()); - apsWorkOrderJobLogService.updateApsWorkOrderJobLog(apsWorkOrderJobLog); - } - break; } if(jsonArray.size()<1000){ break; @@ -265,11 +248,29 @@ throw new Exception("銆怑RROR銆戞煡璇9宸ュ簭澶辫触锛併�愬伐鍗曞彿锛歿"+ docNos +"}, 閿欒鐮侊細{"+ responseBodyJson.getString("status") +"}锛岄敊璇俊鎭細{"+ responseBodyJson.getString("message") +"}銆�"); } } + if(!haveProcessDocNos.isEmpty()){ + Map<String, Object> param = new HashMap<>(); + param.put("status", "1"); + param.put("docNos", haveProcessDocNos); + apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(param); + } + if(!noProcessDocNos.isEmpty()){ + Map<String, Object> param = new HashMap<>(); + param.put("status", "2"); + param.put("docNos", noProcessDocNos); + apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(param); + apsWorkOrderJobLog.setRequestData(noProcessDocNos.toString()); + apsWorkOrderJobLog.setResponseData(""); + apsWorkOrderJobLog.setResult("empty"); + apsWorkOrderJobLog.setUpdateTime(DateUtils.getNowDate()); + apsWorkOrderJobLogService.updateApsWorkOrderJobLog(apsWorkOrderJobLog); + } } @Override public void syncWorkOrderProcessData(String status, Integer pageSize) { try{ + Integer pageNum = 1; //鍒嗛〉鏌ヨ宸ュ崟 ApsWorkOrderJob apsWorkOrderJob = new ApsWorkOrderJob(); if("".equals(status)){ @@ -282,6 +283,7 @@ while (true){ PageHelper.startPage(1, pageSize); List<ApsWorkOrderJob> pageList = apsWorkOrderJobMapper.selectApsWorkOrderJobList(apsWorkOrderJob); + PageHelper.clearPage(); if(!pageList.isEmpty()){ long startTime = System.currentTimeMillis(); List<String> docNos = new ArrayList<>(); @@ -293,15 +295,14 @@ break; } lastDocNos = String.join(",", docNos); - long endTime = System.currentTimeMillis(); // 璁板綍缁撴潫鏃堕棿 - long duration = endTime - startTime; // 璁$畻杩愯鏃堕棿 - System.out.println("杩愯鏃堕棿锛�"+ duration +"姣"); } + pageNum++; } }else{ while (true){ PageHelper.startPage(1, pageSize); List<ApsWorkOrderJob> pageList = apsWorkOrderJobMapper.selectApsWorkOrderJobList(apsWorkOrderJob); + PageHelper.clearPage(); if(!pageList.isEmpty()){ long startTime = System.currentTimeMillis(); List<String> docNos = new ArrayList<>(); @@ -312,15 +313,13 @@ } if(!docNos.isEmpty()){ getWorkOrderProcessFromU9(docNos); - long endTime = System.currentTimeMillis(); // 璁板綍缁撴潫鏃堕棿 - long duration = endTime - startTime; // 璁$畻杩愯鏃堕棿 - System.out.println("杩愯鏃堕棿锛�"+ duration +"姣"); }else{ break; } }else{ break; } + pageNum++; } } }catch (Exception e){ -- Gitblit v1.9.3