From 6bdb09b888616010de3f2a65f5607ef93b8a81c1 Mon Sep 17 00:00:00 2001 From: zengchenxi Date: Tue, 14 May 2024 17:52:02 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E9=9C=80=E6=B1=82=E3=80=91=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E7=A9=BA=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/biz/manager/ChanjetManager.java | 160 ++++++++++-------- 1 file changed, 86 insertions(+), 74 deletions(-) diff --git a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/manager/ChanjetManager.java b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/manager/ChanjetManager.java index 9bf37947..0034d3bb 100644 --- a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/manager/ChanjetManager.java +++ b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/manager/ChanjetManager.java @@ -252,47 +252,53 @@ public class ChanjetManager { if(CollUtil.isNotEmpty(result.getData())){ List dataList = result.getData().stream().filter(vo -> vo.getPartnerType().getName().indexOf("客户") > -1).collect(Collectors.toList()); - Map> dataGroupById = dataList.stream().collect(Collectors.groupingBy(QueryPartnerResVO::getID)); - List customerDOList = customerMapper.selectList(new LambdaQueryWrapper() {{ - in(CustomerDO::getId, dataGroupById.keySet()); - }}); - Map> existsDOGroupById = customerDOList.stream().collect(Collectors.groupingBy(CustomerDO::getId)); - - // 取最大 ts - QueryPartnerResVO maxTsVO = dataList.stream().sorted(Comparator.comparing((d) -> 0 - Long.parseLong(d.getTS().substring(2), 16))).findFirst().get(); - maxTs = maxTsVO.getTS(); + if(CollUtil.isNotEmpty(dataList)){ + + Map> dataGroupById = dataList.stream().collect(Collectors.groupingBy(QueryPartnerResVO::getID)); + + List customerDOList = customerMapper.selectList(new LambdaQueryWrapper() {{ + in(CustomerDO::getId, dataGroupById.keySet()); + }}); + Map> existsDOGroupById = customerDOList.stream().collect(Collectors.groupingBy(CustomerDO::getId)); + + // 取最大 ts + QueryPartnerResVO maxTsVO = dataList.stream().sorted(Comparator.comparing((d) -> 0 - Long.parseLong(d.getTS().substring(2), 16))).findFirst().get(); + maxTs = maxTsVO.getTS(); + + // 处理 + ArrayList insertList = new ArrayList<>(16); + ArrayList updateList = new ArrayList<>(16); + dataGroupById.forEach((id, voList) -> { + QueryPartnerResVO vo = voList.get(0); + List existsDOs = existsDOGroupById.get(id); + + if(CollUtil.isNotEmpty(existsDOs)){ + CustomerDO existsDO = existsDOs.get(0); + existsDO.setCode(vo.getCode()) + .setBrief(vo.getPartnerAbbName()) + .setStatus(!vo.getDisabled() ? ValidStatusEnum.VALID.getCode() : ValidStatusEnum.INVALID.getCode()) + .setName(vo.getName()); + updateList.add(existsDO); + }else{ + CustomerDO aDO = new CustomerDO(); + aDO.setId(vo.getID()) + .setCode(vo.getCode()) + .setBrief(vo.getPartnerAbbName()) + .setStatus(!vo.getDisabled() ? ValidStatusEnum.VALID.getCode() : ValidStatusEnum.INVALID.getCode()) + .setName(vo.getName()); + insertList.add(aDO); + } + }); - // 处理 - ArrayList insertList = new ArrayList<>(16); - ArrayList updateList = new ArrayList<>(16); - dataGroupById.forEach((id, voList) -> { - QueryPartnerResVO vo = voList.get(0); - List existsDOs = existsDOGroupById.get(id); + // 入库 + if(CollUtil.isNotEmpty(updateList)) customerMapper.updateBatch(updateList); + if(CollUtil.isNotEmpty(insertList)) customerMapper.insertBatch(insertList); - if(CollUtil.isNotEmpty(existsDOs)){ - CustomerDO existsDO = existsDOs.get(0); - existsDO.setCode(vo.getCode()) - .setBrief(vo.getPartnerAbbName()) - .setStatus(!vo.getDisabled() ? ValidStatusEnum.VALID.getCode() : ValidStatusEnum.INVALID.getCode()) - .setName(vo.getName()); - updateList.add(existsDO); - }else{ - CustomerDO aDO = new CustomerDO(); - aDO.setId(vo.getID()) - .setCode(vo.getCode()) - .setBrief(vo.getPartnerAbbName()) - .setStatus(!vo.getDisabled() ? ValidStatusEnum.VALID.getCode() : ValidStatusEnum.INVALID.getCode()) - .setName(vo.getName()); - insertList.add(aDO); + if(result.getData().size() < paramVO.getPageSize()){ + maxTs = null; } - }); - - // 入库 - if(CollUtil.isNotEmpty(updateList)) customerMapper.updateBatch(updateList); - if(CollUtil.isNotEmpty(insertList)) customerMapper.insertBatch(insertList); - - if(result.getData().size() < paramVO.getPageSize()){ + }else{ maxTs = null; } }else{ @@ -320,49 +326,55 @@ public class ChanjetManager { if(CollUtil.isNotEmpty(result.getData())){ List dataList = result.getData().stream().filter(vo -> vo.getPartnerType().getName().indexOf("供应商") > -1).collect(Collectors.toList()); - Map> dataGroupById = dataList.stream().collect(Collectors.groupingBy(QueryPartnerResVO::getID)); - List doList = supplierMapper.selectList(new LambdaQueryWrapper() {{ - in(SupplierDO::getId, dataGroupById.keySet()); - }}); - Map> existsDOGroupById = doList.stream().collect(Collectors.groupingBy(SupplierDO::getId)); - - // 取最大 ts - QueryPartnerResVO maxTsVO = dataList.stream().sorted(Comparator.comparing((d) -> 0 - Long.parseLong(d.getTS().substring(2), 16))).findFirst().get(); - maxTs = maxTsVO.getTS(); + if(CollUtil.isNotEmpty(dataList)){ + Map> dataGroupById = dataList.stream().collect(Collectors.groupingBy(QueryPartnerResVO::getID)); + + List doList = supplierMapper.selectList(new LambdaQueryWrapper() {{ + in(SupplierDO::getId, dataGroupById.keySet()); + }}); + Map> existsDOGroupById = doList.stream().collect(Collectors.groupingBy(SupplierDO::getId)); + + // 取最大 ts + QueryPartnerResVO maxTsVO = dataList.stream().sorted(Comparator.comparing((d) -> 0 - Long.parseLong(d.getTS().substring(2), 16))).findFirst().get(); + maxTs = maxTsVO.getTS(); + + // 处理 + ArrayList insertList = new ArrayList<>(16); + ArrayList updateList = new ArrayList<>(16); + dataGroupById.forEach((id, voList) -> { + QueryPartnerResVO vo = voList.get(0); + List existsDOs = existsDOGroupById.get(id); + + if(CollUtil.isNotEmpty(existsDOs)){ + SupplierDO existsDO = existsDOs.get(0); + existsDO.setCode(vo.getCode()) + .setBrief(vo.getPartnerAbbName()) + .setStatus(!vo.getDisabled() ? ValidStatusEnum.VALID.getCode() : ValidStatusEnum.INVALID.getCode()) + .setName(vo.getName()); + updateList.add(existsDO); + }else{ + SupplierDO aDO = new SupplierDO(); + aDO.setId(vo.getID()) + .setCode(vo.getCode()) + .setBrief(vo.getPartnerAbbName()) + .setStatus(!vo.getDisabled() ? ValidStatusEnum.VALID.getCode() : ValidStatusEnum.INVALID.getCode()) + .setName(vo.getName()); + insertList.add(aDO); + } + }); - // 处理 - ArrayList insertList = new ArrayList<>(16); - ArrayList updateList = new ArrayList<>(16); - dataGroupById.forEach((id, voList) -> { - QueryPartnerResVO vo = voList.get(0); - List existsDOs = existsDOGroupById.get(id); + // 入库 + if(CollUtil.isNotEmpty(updateList)) supplierMapper.updateBatch(updateList); + if(CollUtil.isNotEmpty(insertList)) supplierMapper.insertBatch(insertList); - if(CollUtil.isNotEmpty(existsDOs)){ - SupplierDO existsDO = existsDOs.get(0); - existsDO.setCode(vo.getCode()) - .setBrief(vo.getPartnerAbbName()) - .setStatus(!vo.getDisabled() ? ValidStatusEnum.VALID.getCode() : ValidStatusEnum.INVALID.getCode()) - .setName(vo.getName()); - updateList.add(existsDO); - }else{ - SupplierDO aDO = new SupplierDO(); - aDO.setId(vo.getID()) - .setCode(vo.getCode()) - .setBrief(vo.getPartnerAbbName()) - .setStatus(!vo.getDisabled() ? ValidStatusEnum.VALID.getCode() : ValidStatusEnum.INVALID.getCode()) - .setName(vo.getName()); - insertList.add(aDO); + if(result.getData().size() < paramVO.getPageSize()){ + maxTs = null; } - }); - - // 入库 - if(CollUtil.isNotEmpty(updateList)) supplierMapper.updateBatch(updateList); - if(CollUtil.isNotEmpty(insertList)) supplierMapper.insertBatch(insertList); - - if(result.getData().size() < paramVO.getPageSize()){ + }else{ maxTs = null; } + }else{ maxTs = null; }