From f5b4f189e460480a96acf3d1864344d8d5d92695 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 07 五月 2025 10:18:57 +0800 Subject: [PATCH] PO单模板优化 ASN单模板优化 --- rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java | 121 +++++++++++++++++++++------------------- 1 files changed, 63 insertions(+), 58 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java index 570175a..0a0ad7a 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java @@ -99,65 +99,70 @@ inspectParams.add(params); }); - - MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); - //鑾峰彇涓婃姤璐ㄦ鎺ュ彛 - String url = remotesInfoProperties.getBaseUrl() + apiInfo.getNotifyInspect(); - // 璁剧疆璇锋眰鍙傛暟 - params.add("params", JSONObject.toJSONString(inspectParams)); - log.info("璇锋眰鍦板潃锛歿}锛岃姹傚弬鏁帮細{}", url, JSONObject.toJSONString(inspectParams)); - HttpHeaders headers = new HttpHeaders(); - headers.add("Content-Type", "application/json"); - HttpEntity httpEntity = new HttpEntity<>(params, headers); - // 璇锋眰 - ResponseEntity<String> exchange = restTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class); - log.info("涓嬪彂浠诲姟 杩斿洖缁撴灉锛歿}", exchange); - if (Objects.isNull(exchange.getBody()) || exchange.getBody() == null) { - throw new CoolException("涓嬪彂浠诲姟澶辫触锛侊紒"); - } else { - CommonReponse reponse = (CommonReponse) JSON.parse(exchange.getBody()); - if (reponse.getCode() == 0) { - //淇敼asn涓婃姤鐘舵�� - Set<String> itemSets = items.stream().map(PoItemsDto::getId).collect(Collectors.toSet()); - Set<Long> longSet = new HashSet<>(); - itemSets.forEach(set -> { - longSet.add(Long.parseLong(set)); - }); - - List<AsnOrderItem> asnOrderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getPoDetlId, longSet)); - if (asnOrderItems.isEmpty()) { - throw new CoolException("ASN鍗曟嵁涓嶅瓨鍦紒锛�"); - } - List<Long> list = asnOrderItems.stream().map(AsnOrderItem::getId).collect(Collectors.toList()); - - /************************** 淇敼ASN鏄庣粏鍗曠姸鎬� ******************************/ - - - if (!asnOrderItemService.update(new LambdaUpdateWrapper<AsnOrderItem>().in(AsnOrderItem::getId, list).set(AsnOrderItem::getStatus, 1))) { - throw new CoolException("ASN鏄庣粏鍗曟嵁鐘舵�佷慨鏀瑰け璐ワ紒锛�"); - } - - /************************** 淇敼ASN涓诲崟鏁版嵁 ******************************/ - //鑾峰彇ASN鏄庣粏璁㈠崟鏍囪瘑 - List<Long> ids = asnOrderItems.stream().map(AsnOrderItem::getAsnId).collect(Collectors.toList()); - //ASN鏄庣粏鍗曟嵁鍒嗙粍 - Map<Long, List<AsnOrderItem>> asnIds = asnOrderItems.stream().collect(Collectors.groupingBy(AsnOrderItem::getAsnId)); - ids.forEach(id -> { - int count = asnOrderService.count(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, id)); - if (count == asnIds.get(id).size()) { - if (!asnOrderService.update(new LambdaUpdateWrapper<AsnOrder>().eq(AsnOrder::getId, id).set(AsnOrder::getStatus, 1))) { - throw new CoolException("ASN涓诲崟鐘舵�佷慨鏀瑰け璐ワ紒锛�"); - } - } else { - if (!asnOrderService.update(new LambdaUpdateWrapper<AsnOrder>().eq(AsnOrder::getId, id).set(AsnOrder::getStatus, 2))) { - throw new CoolException("ASN涓诲崟鐘舵�佷慨鏀瑰け璐ワ紒锛�"); - } - } - }); - return true; - } else { - throw new CoolException(reponse.getMsg()); + CommonReponse reponse = new CommonReponse(); + if (!remotesInfoProperties.getHost().equals("http://127.0.0.1")){ + MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); + //鑾峰彇涓婃姤璐ㄦ鎺ュ彛 + String url = remotesInfoProperties.getBaseUrl() + apiInfo.getNotifyInspect(); + // 璁剧疆璇锋眰鍙傛暟 + params.add("params", JSONObject.toJSONString(inspectParams)); + log.info("璇锋眰鍦板潃锛歿}锛岃姹傚弬鏁帮細{}", url, JSONObject.toJSONString(inspectParams)); + HttpHeaders headers = new HttpHeaders(); + headers.add("Content-Type", "application/json"); + HttpEntity httpEntity = new HttpEntity<>(params, headers); + // 璇锋眰 + ResponseEntity<String> exchange = restTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class); + log.info("涓嬪彂浠诲姟 杩斿洖缁撴灉锛歿}", exchange); + if (Objects.isNull(exchange.getBody()) || exchange.getBody() == null) { + throw new CoolException("涓嬪彂浠诲姟澶辫触锛侊紒"); } + reponse = (CommonReponse) JSON.parse(exchange.getBody()); + }else { + reponse.setCode(0); + } + + + if (reponse.getCode() == 0) { + //淇敼asn涓婃姤鐘舵�� + Set<String> itemSets = items.stream().map(PoItemsDto::getId).collect(Collectors.toSet()); + Set<Long> longSet = new HashSet<>(); + itemSets.forEach(set -> { + longSet.add(Long.parseLong(set)); + }); + + List<AsnOrderItem> asnOrderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getPoDetlId, longSet)); + if (asnOrderItems.isEmpty()) { + throw new CoolException("ASN鍗曟嵁涓嶅瓨鍦紒锛�"); + } + List<Long> list = asnOrderItems.stream().map(AsnOrderItem::getId).collect(Collectors.toList()); + + /************************** 淇敼ASN鏄庣粏鍗曠姸鎬� ******************************/ + + + if (!asnOrderItemService.update(new LambdaUpdateWrapper<AsnOrderItem>().in(AsnOrderItem::getId, list).set(AsnOrderItem::getNtyStatus, 1))) { + throw new CoolException("ASN鏄庣粏鍗曟嵁鐘舵�佷慨鏀瑰け璐ワ紒锛�"); + } + + /************************** 淇敼ASN涓诲崟鏁版嵁 ******************************/ + //鑾峰彇ASN鏄庣粏璁㈠崟鏍囪瘑 + List<Long> ids = asnOrderItems.stream().map(AsnOrderItem::getAsnId).collect(Collectors.toList()); + //ASN鏄庣粏鍗曟嵁鍒嗙粍 + Map<Long, List<AsnOrderItem>> asnIds = asnOrderItems.stream().collect(Collectors.groupingBy(AsnOrderItem::getAsnId)); + ids.forEach(id -> { + int count = asnOrderService.count(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, id)); + if (count == asnIds.get(id).size()) { + if (!asnOrderService.update(new LambdaUpdateWrapper<AsnOrder>().eq(AsnOrder::getId, id).set(AsnOrder::getNtyStatus, 1))) { + throw new CoolException("ASN涓诲崟鐘舵�佷慨鏀瑰け璐ワ紒锛�"); + } + } else { + if (!asnOrderService.update(new LambdaUpdateWrapper<AsnOrder>().eq(AsnOrder::getId, id).set(AsnOrder::getNtyStatus, 2))) { + throw new CoolException("ASN涓诲崟鐘舵�佷慨鏀瑰け璐ワ紒锛�"); + } + } + }); + return true; + } else { + throw new CoolException(reponse.getMsg()); } } } -- Gitblit v1.9.1