| | |
| | | if (toSend.isEmpty()) { |
| | | return SUCCESS; |
| | | } |
| | | List<Map<String, Object>> tasks = new ArrayList<>(); |
| | | |
| | | Map<String, List<WrkMast>> groupByUserNo = new HashMap<>(); |
| | | for (WrkMast m : toSend) { |
| | | String key = m.getUserNo(); |
| | | if (key == null || key.trim().isEmpty()) { |
| | | key = "_NO_USER_"; |
| | | } |
| | | List<WrkMast> list = groupByUserNo.get(key); |
| | | if (list == null) { |
| | | list = new ArrayList<>(); |
| | | groupByUserNo.put(key, list); |
| | | } |
| | | list.add(m); |
| | | } |
| | | |
| | | List<WrkMast> successList = new ArrayList<>(); |
| | | boolean hasError = false; |
| | | |
| | | for (Map.Entry<String, List<WrkMast>> entry : groupByUserNo.entrySet()) { |
| | | List<Map<String, Object>> tasks = new ArrayList<>(); |
| | | for (WrkMast m : entry.getValue()) { |
| | | Map<String, Object> t = new HashMap<>(); |
| | | t.put("taskNo", String.valueOf(m.getWrkNo())); |
| | | t.put("staNo", String.valueOf(m.getStaNo())); |
| | |
| | | if (m.getIoPri() != null) { |
| | | t.put("taskPri", m.getIoPri().intValue()); |
| | | } |
| | | t.put("seq",m.getPltType()); |
| | | t.put("orderId",m.getUserNo()); |
| | | t.put("batchSeq", m.getPltType()); |
| | | if (m.getUserNo() != null) { |
| | | t.put("batch", m.getUserNo()); |
| | | } |
| | | tasks.add(t); |
| | | } |
| | | Map<String, Object> payload = new HashMap<>(); |
| | |
| | | JSONObject jsonObject = JSON.parseObject(response == null ? "{}" : response); |
| | | Integer code = jsonObject.getInteger("code"); |
| | | if (code == null || !Objects.equals(code, 200)) { |
| | | log.error("WCS下发出库任务失败, url:{}, path:{}, request:{}, response:{}", |
| | | urlValue, createOutTaskValue, JSON.toJSONString(payload), response); |
| | | hasError = true; |
| | | log.error("WCS下发出库任务失败, url:{}, path:{}, userNo:{}, request:{}, response:{}", |
| | | urlValue, createOutTaskValue, entry.getKey(), JSON.toJSONString(payload), response); |
| | | continue; |
| | | } |
| | | successList.addAll(entry.getValue()); |
| | | } |
| | | |
| | | if (successList.isEmpty()) { |
| | | return FAIL.setMsg("WCS下发出库任务失败"); |
| | | } |
| | | |
| | | Date now = new Date(); |
| | | for (WrkMast m : toSend) { |
| | | for (WrkMast m : successList) { |
| | | m.setUpdMk("WCS_SENT"); |
| | | m.setModiTime(now); |
| | | m.setWrkSts(12L); |
| | | } |
| | | // 延迟注入,避免循环依赖 |
| | | WrkMastService wrkMastService = com.core.common.SpringUtils.getBean(WrkMastService.class); |
| | | for (WrkMast m : toSend) { |
| | | for (WrkMast m : successList) { |
| | | try { |
| | | wrkMastService.updateById(m); |
| | | } catch (Exception ignore) {} |