From a18e59294ebc0d39c521db22261d9703109670ef Mon Sep 17 00:00:00 2001 From: qiuyt Date: Wed, 19 Mar 2025 11:54:25 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=8D=95=E6=8D=AE=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IoCollectOrderBackupController.java | 2 +- .../collect/IoCollectOrderBackupMapper.java | 3 + .../IoCollectOrderBizBackupMapper.java | 1 - .../CollectOrderUploadCountResponse.java | 10 ++ .../res/collect/IoCollectOrderResponse.java | 5 +- .../collect/IoCollectOrderBackupService.java | 135 +++++++++++++++++- .../IoCollectOrderBizBackupService.java | 89 +----------- .../collect/IoCollectOrderBackupMapper.xml | 16 +++ .../collect/IoCollectOrderBizBackupMapper.xml | 13 -- 9 files changed, 164 insertions(+), 110 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderBackupController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderBackupController.java index 09a6294a6..9464684a4 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderBackupController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderBackupController.java @@ -209,7 +209,7 @@ public class IoCollectOrderBackupController extends BaseController { collectOrderUploadCountResponse.setAlreadyUploadingCount(alreadyUploadingCount); collectOrderUploadCountResponse.setUploadingFailCount(uploadingFailCount); // 总上传码数量 获取采购上传率 销售上传率 计算 - ioCollectOrderBizBackupService.calculatedUploadRate(collectOrderUploadCountRequest, collectOrderUploadCountResponse); + ioCollectOrderBackupService.calculatedUploadRate(collectOrderUploadCountRequest, collectOrderUploadCountResponse); return ResultVOUtils.success(collectOrderUploadCountResponse); } diff --git a/src/main/java/com/glxp/api/dao/collect/IoCollectOrderBackupMapper.java b/src/main/java/com/glxp/api/dao/collect/IoCollectOrderBackupMapper.java index 276097939..533dae4e8 100644 --- a/src/main/java/com/glxp/api/dao/collect/IoCollectOrderBackupMapper.java +++ b/src/main/java/com/glxp/api/dao/collect/IoCollectOrderBackupMapper.java @@ -3,6 +3,8 @@ package com.glxp.api.dao.collect; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.entity.collect.IoCollectOrderBackup; import com.glxp.api.req.collect.CollectOrderRequest; +import com.glxp.api.req.collect.CollectOrderUploadCountRequest; +import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.IoCollectOrderResponse; import org.apache.ibatis.annotations.Mapper; @@ -12,5 +14,6 @@ import java.util.List; public interface IoCollectOrderBackupMapper extends BaseMapper { List filterList(CollectOrderRequest collectOrderRequest); + List getList(CollectOrderUploadCountRequest collectOrderUploadCountRequest); } diff --git a/src/main/java/com/glxp/api/dao/collect/IoCollectOrderBizBackupMapper.java b/src/main/java/com/glxp/api/dao/collect/IoCollectOrderBizBackupMapper.java index 1895864ff..73976015f 100644 --- a/src/main/java/com/glxp/api/dao/collect/IoCollectOrderBizBackupMapper.java +++ b/src/main/java/com/glxp/api/dao/collect/IoCollectOrderBizBackupMapper.java @@ -15,6 +15,5 @@ public interface IoCollectOrderBizBackupMapper extends BaseMapper filterList(CollectOrderBizRequest collectOrderRequest); - List getList(CollectOrderUploadCountRequest collectOrderUploadCountRequest); } diff --git a/src/main/java/com/glxp/api/res/collect/CollectOrderUploadCountResponse.java b/src/main/java/com/glxp/api/res/collect/CollectOrderUploadCountResponse.java index 95664c02e..b9fae990c 100644 --- a/src/main/java/com/glxp/api/res/collect/CollectOrderUploadCountResponse.java +++ b/src/main/java/com/glxp/api/res/collect/CollectOrderUploadCountResponse.java @@ -17,10 +17,20 @@ public class CollectOrderUploadCountResponse { private BigDecimal buyerCentage; private BigDecimal salesCentage; private Integer codeCount; + + private Integer buyerScanCount; private Integer salesScanCount; private Integer buyerScanCountReturn ; private Integer salesScanCountReturn ; + + private Integer buyerScanSumCount; + private Integer salesScanSumCount; + private Integer buyerScanSumCountReturn ; + private Integer salesScanSumCountReturn ; + + + private Integer count; /** * 拆零赋码数量 diff --git a/src/main/java/com/glxp/api/res/collect/IoCollectOrderResponse.java b/src/main/java/com/glxp/api/res/collect/IoCollectOrderResponse.java index 7e10f4fbf..ffd5828da 100644 --- a/src/main/java/com/glxp/api/res/collect/IoCollectOrderResponse.java +++ b/src/main/java/com/glxp/api/res/collect/IoCollectOrderResponse.java @@ -184,7 +184,10 @@ public class IoCollectOrderResponse { private Integer checkCodeStatus; private Integer ledNum; - + /** + * 关联关系数量 + */ + private Integer relCodeCount; public String getFromName() { diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java index f6dc454e3..15be75764 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java @@ -3,6 +3,7 @@ package com.glxp.api.service.collect; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.thread.ThreadUtil; +import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -32,10 +33,12 @@ import com.glxp.api.http.ErpBasicClient; import com.glxp.api.http.sync.SpGetHttpClient; import com.glxp.api.req.collect.CollectOrderBizRequest; import com.glxp.api.req.collect.CollectOrderRequest; +import com.glxp.api.req.collect.CollectOrderUploadCountRequest; import com.glxp.api.req.collect.PostCollectOrderRequest; import com.glxp.api.req.inout.ReviewFinishRequest; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.collect.CollectOrderBizResponse; +import com.glxp.api.res.collect.CollectOrderUploadCountResponse; import com.glxp.api.res.collect.IoCollectOrderResponse; import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.auth.SysWorkplaceService; @@ -54,6 +57,7 @@ import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -181,8 +185,8 @@ public class IoCollectOrderBackupService extends ServiceImpl() - .eq("billNo",collectOrderBizResponse.getBillNo()) - .eq("fifoSplit","1").or().eq("fifoSplit","4") + .eq("billNo", collectOrderBizResponse.getBillNo()) + .eq("fifoSplit", "1").or().eq("fifoSplit", "4") .last("limit 1") ); - if(count >0){ + if (count > 0) { collectOrderBizResponse.setTrdnFlag("1"); - }else { + } else { collectOrderBizResponse.setTrdnFlag("0"); } @@ -650,4 +654,123 @@ public class IoCollectOrderBackupService extends ServiceImpl list = ioCollectOrderBackupMapper.getList(collectOrderUploadCountRequest); + Map buyTypeMap = new HashMap<>(); + Integer buyerScanCount = 0; + Integer salesScanCount = 0; + Integer buyerScanCountReturn = 0; + Integer salesScanCountReturn = 0; + Integer buyerScanSumCount = 0; + Integer salesScanSumCount = 0; + Integer buyerScanSumCountReturn = 0; + Integer salesScanSumCountReturn = 0; + BigDecimal buyerCentage = new BigDecimal(0); + BigDecimal salesCentage = new BigDecimal(0); + Integer codeCount = 0; + Integer fifoSplitOneCount = 0; + Integer fifoSplitTwoCount = 0; + String sum = "sum"; + if (list != null && list.size() > 0) { + BaseResponse> baseResponse = erpBasicClient.getBuyType("thirdId"); + if (baseResponse.getCode() == 20000) { + buyTypeMap = baseResponse.getData(); + } + Map map = new HashMap(); + for (IoCollectOrderResponse collectOrderResponse : list) { + for (Map.Entry entry : buyTypeMap.entrySet()) { + String key = entry.getKey(); + if(ArrayUtil.isEmpty(entry.getValue())){ + continue; + } + String result = String.join(", ", entry.getValue()); + if (result.contains(collectOrderResponse.getBusType())) { + int count = 0; + if (collectOrderResponse.getRelCodeCount() != null && collectOrderResponse.getRelCodeCount() > 0) { + count += collectOrderResponse.getRelCodeCount(); + } else { + count++; + + } + if (2 == collectOrderResponse.getUploadStatus()) { + + map.put(key, count); + } + map.put(key+sum, count); + + } + + + } + + + if (collectOrderResponse.getRelCodeCount() != null && collectOrderResponse.getRelCodeCount() > 0) { + codeCount += collectOrderResponse.getRelCodeCount(); + } else { + codeCount++; + + } + + } + // 数据做处理 + for (Map.Entry entry : map.entrySet()) { + String key = entry.getKey(); + Integer value = entry.getValue(); + + if (key.equals("buyType_3502")) { + buyerScanCount += value; + } else if (key.equals("buyType_3504")) { + buyerScanCountReturn += value; + + } else if (key.equals("buyType_3505")) { + salesScanCount += value; + } else if (key.equals("buyType_35051")) { + salesScanCount += value; + + } else if (key.equals("buyType_3506")) { + salesScanCountReturn += value; + + } + + if (key.equals("buyType_3502"+sum)) { + buyerScanSumCount += value; + } else if (key.equals("buyType_3504"+sum)) { + buyerScanSumCountReturn += value; + + } else if (key.equals("buyType_3505"+sum)) { + salesScanSumCount += value; + } else if (key.equals("buyType_35051"+sum)) { + salesScanSumCount += value; + + } else if (key.equals("buyType_3506"+sum)) { + salesScanSumCountReturn += value; + + } + } + } + + + collectOrderUploadCountResponse.setBuyerCentage(buyerCentage); + collectOrderUploadCountResponse.setSalesCentage(salesCentage); + + collectOrderUploadCountResponse.setBuyerScanCount(buyerScanCount); + collectOrderUploadCountResponse.setSalesScanCount(salesScanCount); + collectOrderUploadCountResponse.setBuyerScanCountReturn(buyerScanCountReturn); + collectOrderUploadCountResponse.setSalesScanCountReturn(salesScanCountReturn); + + collectOrderUploadCountResponse.setBuyerScanSumCount(buyerScanSumCount); + collectOrderUploadCountResponse.setSalesScanSumCount(salesScanSumCount); + collectOrderUploadCountResponse.setBuyerScanSumCountReturn(buyerScanSumCountReturn); + collectOrderUploadCountResponse.setSalesScanSumCountReturn(salesScanSumCountReturn); + + + collectOrderUploadCountResponse.setCodeCount(codeCount); + collectOrderUploadCountResponse.setFifoSplitOneCount(fifoSplitOneCount); + collectOrderUploadCountResponse.setFifoSplitTwoCount(fifoSplitTwoCount); + + } } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderBizBackupService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderBizBackupService.java index ac156c06d..839f406a8 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderBizBackupService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderBizBackupService.java @@ -12,6 +12,7 @@ import com.glxp.api.req.collect.CollectOrderBizRequest; import com.glxp.api.req.collect.CollectOrderUploadCountRequest; import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.CollectOrderUploadCountResponse; +import io.swagger.models.auth.In; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -39,96 +40,8 @@ public class IoCollectOrderBizBackupService extends ServiceImpl list = ioCollectOrderBizBackupMapper.getList(collectOrderUploadCountRequest); - Map buyTypeMap = new HashMap<>(); - List buyTypeBuyer = new ArrayList<>(); - List buyTypeSales = new ArrayList<>(); - Integer buyerScanCount = 0; - Integer salesScanCount = 0; - BigDecimal buyerCentage = new BigDecimal(0); - BigDecimal salesCentage = new BigDecimal(0); - Integer codeCount = 0; - Integer fifoSplitOneCount = 0; - Integer fifoSplitTwoCount = 0; - if (list != null && list.size() > 0) { - BaseResponse> baseResponse = erpBasicClient.getBuyType("thirdId"); - if (baseResponse.getCode() == 20000) { - buyTypeMap = baseResponse.getData(); - buyTypeBuyer = new ArrayList<>(Arrays.asList(buyTypeMap.get("buyType_3501"))); - buyTypeBuyer.addAll(Arrays.asList(buyTypeMap.get("buyType_3502"))); - buyTypeSales = new ArrayList<>(Arrays.asList(buyTypeMap.get("buyType_3505"))); - buyTypeSales.addAll(Arrays.asList(buyTypeMap.get("buyType_3506"))); - } - for (CollectOrderBizResponse collectOrderBizResponse : list) { - collectOrderBizResponse.setCount(collectOrderBizResponse.getCount() == null ? 0 : collectOrderBizResponse.getCount()); - collectOrderBizResponse.setScanCount(collectOrderBizResponse.getScanCount() == null ? 0 : collectOrderBizResponse.getScanCount()); - if(2 == collectOrderBizResponse.getUploadStatus()){ - for (String buyType : buyTypeSales) { - if (buyType.equals(collectOrderBizResponse.getBusType())) { -// salesCount += collectOrderBizResponse.getCount(); - if(collectOrderBizResponse.getRelCodeCount() != null && collectOrderBizResponse.getRelCodeCount() >0){ - buyerScanCount += collectOrderBizResponse.getRelCodeCount(); - }else { - buyerScanCount ++; - } - } - } - for (String buyType : buyTypeBuyer) { - if (buyType.equals(collectOrderBizResponse.getBusType())) { -// buyerCount += collectOrderBizResponse.getCount(); - // 只有已上传的码才是正确的码 - if(collectOrderBizResponse.getRelCodeCount() != null && collectOrderBizResponse.getRelCodeCount() >0){ - salesScanCount += collectOrderBizResponse.getRelCodeCount(); - }else { - salesScanCount ++; - - } - } - } - if(collectOrderBizResponse.getFifoSplit() == 1 - ){ - fifoSplitOneCount ++; - }else if(collectOrderBizResponse.getFifoSplit() == 2){ - fifoSplitTwoCount ++; - }else if(collectOrderBizResponse.getFifoSplit() == 3){ - fifoSplitTwoCount ++; - - }else if(collectOrderBizResponse.getFifoSplit() == 4){ - fifoSplitOneCount ++; - - } - } - if(collectOrderBizResponse.getRelCodeCount() != null && collectOrderBizResponse.getRelCodeCount() >0){ - codeCount += collectOrderBizResponse.getRelCodeCount(); - }else { - codeCount ++; - - } - - } - } - - - - collectOrderUploadCountResponse.setBuyerCentage(buyerCentage); - collectOrderUploadCountResponse.setSalesCentage(salesCentage); - collectOrderUploadCountResponse.setBuyerScanCount(buyerScanCount); - collectOrderUploadCountResponse.setSalesScanCount(salesScanCount); - collectOrderUploadCountResponse.setCodeCount(codeCount); - collectOrderUploadCountResponse.setFifoSplitOneCount(fifoSplitOneCount); - collectOrderUploadCountResponse.setFifoSplitTwoCount(fifoSplitTwoCount); - - } - - public static void main(String[] args) { - System.out.println(new BigDecimal(0).setScale(2, BigDecimal.ROUND_HALF_UP)); - } public List listByBillNo(String billNo) { diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectOrderBackupMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectOrderBackupMapper.xml index 76d8565c4..8857c142b 100644 --- a/src/main/resources/mybatis/mapper/collect/IoCollectOrderBackupMapper.xml +++ b/src/main/resources/mybatis/mapper/collect/IoCollectOrderBackupMapper.xml @@ -148,4 +148,20 @@ order by case when icob.orderTime is null then icob.createTime else icob.orderTime end desc + + + diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectOrderBizBackupMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectOrderBizBackupMapper.xml index f5e35850f..5d3b988fa 100644 --- a/src/main/resources/mybatis/mapper/collect/IoCollectOrderBizBackupMapper.xml +++ b/src/main/resources/mybatis/mapper/collect/IoCollectOrderBizBackupMapper.xml @@ -39,18 +39,5 @@ group by icobb.id -