|  |  |  | 
|---|
|  |  |  | while (iterator.hasNext()) { | 
|---|
|  |  |  | WrkDetl wrkDetl = iterator.next(); | 
|---|
|  |  |  | if (!Cools.isEmpty(wrkDetl.getOrderNo())) { | 
|---|
|  |  |  | wrkDetlsKeyOrder.add(wrkDetl); | 
|---|
|  |  |  | orderService.checkComplete(wrkDetl.getOrderNo(),hostId); | 
|---|
|  |  |  | iterator.remove(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!wrkDetlsKeyOrder.isEmpty()) { | 
|---|
|  |  |  | //上报念初ERP   【 上报三方平台 】 | 
|---|
|  |  |  | SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); | 
|---|
|  |  |  | String nowFormat = dateFormat.format(new Date()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ArrayList<LinkedHashMap<String, Object>> mats = new ArrayList<>(); | 
|---|
|  |  |  | String orderNo = ""; | 
|---|
|  |  |  | for (WrkDetl wrkDetl : wrkDetlsKeyOrder) { | 
|---|
|  |  |  | orderNo = wrkDetl.getOrderNo(); | 
|---|
|  |  |  | LinkedHashMap<String, Object> mat = new LinkedHashMap<>(); | 
|---|
|  |  |  | mat.put("GoodsCode", wrkDetl.getMatnr()); | 
|---|
|  |  |  | mat.put("Num", wrkDetl.getAnfme()); | 
|---|
|  |  |  | if (!Cools.isEmpty(wrkDetl.getBatch())) { | 
|---|
|  |  |  | mat.put("BatchNo", wrkDetl.getBatch()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!Cools.isEmpty(wrkDetl.getThreeCode())) { | 
|---|
|  |  |  | mat.put("DepotName", wrkDetl.getThreeCode()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!Cools.isEmpty(wrkDetl.getSupp())) { | 
|---|
|  |  |  | mat.put("FromDanCode", wrkDetl.getSupp()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!Cools.isEmpty(wrkDetl.getSuppCode())) { | 
|---|
|  |  |  | mat.put("FromNo", wrkDetl.getSuppCode()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mats.add(mat); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Order order = orderService.selectByNo(orderNo, hostId); | 
|---|
|  |  |  | if (order != null) { | 
|---|
|  |  |  | LinkedHashMap<String, Object> param = new LinkedHashMap<>(); | 
|---|
|  |  |  | param.put("Login", ERP_LOGIN); | 
|---|
|  |  |  | param.put("DanType", order.getDocType$()); | 
|---|
|  |  |  | param.put("Date", nowFormat); | 
|---|
|  |  |  | param.put("DanCode", orderNo); | 
|---|
|  |  |  | param.put("Data", mats); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String response = ""; | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | response = new HttpHandler.Builder() | 
|---|
|  |  |  | .setUri(ERP_URL) | 
|---|
|  |  |  | .setPath(ERP_REPORT + Utils.ncErpDataEncode(param)) | 
|---|
|  |  |  | .build() | 
|---|
|  |  |  | .doGet(); | 
|---|
|  |  |  | JSONObject jsonObject = JSON.parseObject(response); | 
|---|
|  |  |  | JSONArray result = jsonObject.getJSONArray("result"); | 
|---|
|  |  |  | Object object = result.get(0); | 
|---|
|  |  |  | JSONObject data = JSON.parseObject(object.toString()); | 
|---|
|  |  |  | if (data.getBoolean("State")) { | 
|---|
|  |  |  | //上报成功 | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | //上报失败 | 
|---|
|  |  |  | exceptionHandle("上报ERP失败[workNo={0}]失败", wrkMast.getWrkNo()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | //异常上报失败 | 
|---|
|  |  |  | //                        exceptionHandle("上报ERP异常失败[workNo={0}]失败", wrkMast.getWrkNo()); | 
|---|
|  |  |  | } finally { | 
|---|
|  |  |  | //记录上报数据 | 
|---|
|  |  |  | OperateLog operateLog = new OperateLog(); | 
|---|
|  |  |  | operateLog.setAction("上报ERP," + ERP_URL + ERP_REPORT); | 
|---|
|  |  |  | operateLog.setRequest(Utils.ncErpDataEncode(param)); | 
|---|
|  |  |  | operateLog.setResponse(response); | 
|---|
|  |  |  | operateLog.setCreateTime(new Date()); | 
|---|
|  |  |  | operateLog.setSystem("WMS"); | 
|---|
|  |  |  | operateLog.setUserId(9527L); | 
|---|
|  |  |  | operateLog.setIp("127.0.0.1"); | 
|---|
|  |  |  | operateLogService.save(operateLog); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 保存工作主档历史档 | 
|---|
|  |  |  | if (!wrkMastLogService.saveToHistory(wrkMast.getId())) { | 
|---|
|  |  |  | exceptionHandle("保存工作历史档[workNo={0}]失败", wrkMast.getWrkNo()); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 保存工作明细档历史档 | 
|---|
|  |  |  | if (!wrkDetlLogService.saveToHistory(wrkMast.getWrkNo(), hostId)) { | 
|---|
|  |  |  | //                exceptionHandle("保存工作明细历史档[workNo={0}]失败", wrkMast.getWrkNo()); | 
|---|
|  |  |  | exceptionHandle("保存工作明细历史档[workNo={0}]失败", wrkMast.getWrkNo()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 删除工作明细档 | 
|---|
|  |  |  | if (!wrkDetlService.remove(new LambdaQueryWrapper<WrkDetl>().eq(WrkDetl::getWrkNo, wrkMast.getWrkNo()).eq(WrkDetl::getHostId, hostId))) { | 
|---|
|  |  |  | //                exceptionHandle("删除工作明细档[workNo={0}]失败", wrkMast.getWrkNo()); | 
|---|
|  |  |  | exceptionHandle("删除工作明细档[workNo={0}]失败", wrkMast.getWrkNo()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 修改订单状态 作业中 ===>> 已完成 | 
|---|
|  |  |  | for (WrkDetl wrkDetl : wrkDetlsKeyOrder) { | 
|---|
|  |  |  | orderService.checkComplete(wrkDetl.getOrderNo(), hostId); | 
|---|
|  |  |  | List<WrkDetl> wrkDetls2 = wrkDetlService.list(new LambdaQueryWrapper<WrkDetl>().eq(WrkDetl::getWrkNo, wrkMast.getWrkNo()).eq(WrkDetl::getHostId, hostId)); | 
|---|
|  |  |  | // 区分订单任务 | 
|---|
|  |  |  | if (!Cools.isEmpty(wrkDetls2)) { | 
|---|
|  |  |  | Iterator<WrkDetl> iterator = wrkDetls2.iterator(); | 
|---|
|  |  |  | while (iterator.hasNext()) { | 
|---|
|  |  |  | WrkDetl wrkDetl = iterator.next(); | 
|---|
|  |  |  | if (!Cools.isEmpty(wrkDetl.getOrderNo())) { | 
|---|
|  |  |  | orderService.checkComplete(wrkDetl.getOrderNo(),hostId); | 
|---|
|  |  |  | iterator.remove(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //            // 修改订单状态 作业中 ===>> 已完成 | 
|---|
|  |  |  | //            for (WrkDetl wrkDetl : wrkDetlsKeyOrder) { | 
|---|
|  |  |  | //                orderService.checkComplete(wrkDetl.getOrderNo(), hostId); | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | log.error("fail", e); | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|