From 4a8f320746ec6e1b718a14762683fd0bd91f49d1 Mon Sep 17 00:00:00 2001 From: wangwei <1610949092@qq.com> Date: Wed, 9 Apr 2025 20:34:00 +0800 Subject: [PATCH] =?UTF-8?q?4/9=20=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=961.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IoCollectOrderBackupController.java | 8 ++- .../IoCollectOrderBizBackupMapper.java | 1 + .../entity/collect/IoCollectOrderBackup.java | 18 +++++++ .../res/collect/CollectOrderBizResponse.java | 5 +- .../res/collect/IoCollectOrderResponse.java | 6 +-- .../collect/IoCollectOrderBackupService.java | 53 ++++-------------- .../IoCollectOrderBizBackupService.java | 46 ++++++++++++++++ .../collect/IoCollectOrderBizService.java | 54 ++++++++++--------- .../collect/IoCollectOrderService.java | 23 ++++++++ .../collect/IoCollectOrderBackupMapper.xml | 8 +++ .../collect/IoCollectOrderBizBackupMapper.xml | 8 ++- src/main/resources/schemas/schema_v2.4.sql | 12 +++++ 12 files changed, 164 insertions(+), 78 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 4fd672c91..7e7bab40a 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderBackupController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderBackupController.java @@ -248,8 +248,12 @@ public class IoCollectOrderBackupController extends BaseController { List workPlaceCodes = null; List page; log.error("collectOrderRequest"+collectOrderRequest); - Page orderResponses = ioCollectOrderBackupService.filterorderStatsList(collectOrderRequest); - return ResultVOUtils.success(orderResponses); + List orderResponses = ioCollectOrderBackupService.filterorderStatsList(collectOrderRequest); + PageInfo pageInfo = new PageInfo<>(orderResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(orderResponses); + return ResultVOUtils.success(pageSimpleResponse); } 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 0077e7420..77762b965 100644 --- a/src/main/java/com/glxp/api/dao/collect/IoCollectOrderBizBackupMapper.java +++ b/src/main/java/com/glxp/api/dao/collect/IoCollectOrderBizBackupMapper.java @@ -18,4 +18,5 @@ public interface IoCollectOrderBizBackupMapper extends BaseMapper getOrderCodeDetails(CollectOrderBizRequest collectOrderRequest); + Integer getScanCount(String billNo); } diff --git a/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBackup.java b/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBackup.java index e580fa931..fab70ebd3 100644 --- a/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBackup.java +++ b/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBackup.java @@ -287,4 +287,22 @@ public class IoCollectOrderBackup implements Serializable { @TableField(value = "summaryNo") @ApiModelProperty(value = "汇总单号") private String summaryNo; + + + @TableField(value = "storard") + @ApiModelProperty(value = "是否达标") + private Integer storard; + + + @TableField(value = "shouldCount") + @ApiModelProperty(value = "应扫码数量") + private Integer shouldCount; + + + @TableField(value = "scanCount") + @ApiModelProperty(value = "实际扫码数量") + private Integer scanCount; + + + } diff --git a/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java b/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java index e62e01acd..c3cccadc3 100644 --- a/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java +++ b/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java @@ -78,6 +78,9 @@ public class CollectOrderBizResponse { */ private Integer scanCount; + + + /** * 扫码实际数量 */ @@ -209,7 +212,7 @@ public class CollectOrderBizResponse { private Integer isSplit; private Integer notCodeType; - + private Integer sumScanCount; // /** // * 未赋码数量 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 06d504040..b83c73d70 100644 --- a/src/main/java/com/glxp/api/res/collect/IoCollectOrderResponse.java +++ b/src/main/java/com/glxp/api/res/collect/IoCollectOrderResponse.java @@ -210,17 +210,13 @@ public class IoCollectOrderResponse { private Integer storard; - - - - - /** * 赋码状态 */ private Integer codingStatus; + @TableField(value = "summaryNo") @ApiModelProperty(value = "汇总单号") private String summaryNo; 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 e55d75b9b..b66d75da2 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.Constant; @@ -37,6 +38,7 @@ 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.PageSimpleResponse; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.CollectOrderUploadCountResponse; @@ -789,57 +791,20 @@ public class IoCollectOrderBackupService extends ServiceImpl filterorderStatsList(CollectOrderRequest collectOrderRequest) { + public List filterorderStatsList(CollectOrderRequest collectOrderRequest) { + if (collectOrderRequest.getPage() != null) { + int offset = (collectOrderRequest.getPage() - 1) * collectOrderRequest.getLimit(); + PageHelper.offsetPage(offset, collectOrderRequest.getLimit()); + } List data = ioCollectOrderBackupMapper.filterorderStatsList(collectOrderRequest); - - List filteredData = new ArrayList<>(); for (IoCollectOrderResponse ioCollectOrderResponse : data) { - Integer newScanCount = 0; - Integer shouldCount = 0; - List orderBizBackups = ioCollectOrderBizBackupService.listByBillNo(ioCollectOrderResponse.getBillNo()); - - for (IoCollectOrderBizBackup collectOrderBizResponse : orderBizBackups) { - newScanCount += (collectOrderBizResponse.getScanCount() != null) ? collectOrderBizResponse.getScanCount() : 0; - shouldCount += getCount(collectOrderBizResponse); - } - ioCollectOrderResponse.setScanCount(newScanCount); - ioCollectOrderResponse.setShouldCount(shouldCount); - ioCollectOrderResponse.setScanRate(getScanRate(shouldCount, newScanCount)); - ioCollectOrderResponse.setStorard(newScanCount.equals(shouldCount) ? 1 : 0); + ioCollectOrderResponse.setScanRate(getScanRate(ioCollectOrderResponse.getScanCount(), ioCollectOrderResponse.getShouldCount())); - if (collectOrderRequest.getStorard() == null){ - filteredData.add(ioCollectOrderResponse); - }else if (collectOrderRequest.getStorard() == 1){ - if (ioCollectOrderResponse.getStorard() == 1) { - filteredData.add(ioCollectOrderResponse); - } - }else if (collectOrderRequest.getStorard() == 0){ - if (ioCollectOrderResponse.getStorard() == 0) { - filteredData.add(ioCollectOrderResponse); - } - } } - Integer pageNum = collectOrderRequest.getPage() != null ? collectOrderRequest.getPage() : 1; - Integer pageSize = collectOrderRequest.getLimit() != null ? collectOrderRequest.getLimit() : 10; - - int total = filteredData.size(); - int totalPages = (int) Math.ceil((double) total / pageSize); - int start = (pageNum - 1) * pageSize; - int end = Math.min(start + pageSize, total); - - List pageData = filteredData.subList(start, end); - - Page page = new Page<>(); - page.setCurrent(pageNum); - page.setSize(pageSize); - page.setTotal(total); - page.setPages(totalPages); - page.setRecords(pageData); - - return page; + return data; } 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 ad093fc03..bb5a40fda 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderBizBackupService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderBizBackupService.java @@ -1,17 +1,22 @@ package com.glxp.api.service.collect; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.dao.basic.BasicProductsDao; import com.glxp.api.dao.collect.IoCollectOrderBizBackupMapper; +import com.glxp.api.entity.basic.BasicProductsEntity; import com.glxp.api.entity.collect.IoCollectOrderBizBackup; import com.glxp.api.http.ErpBasicClient; 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 com.glxp.api.util.IntUtil; import io.swagger.models.auth.In; import org.springframework.stereotype.Service; @@ -69,4 +74,45 @@ public class IoCollectOrderBizBackupService extends ServiceImpl listByBillNos(List billNoList) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("orderIdFk", billNoList); + return this.list(queryWrapper); + } + + @Resource + private BasicProductsDao basicProductsDao; + public Integer setShouldCount(IoCollectOrderBizBackup ioCollectOrderBizBackup){ + List productList = basicProductsDao.selectList( + new LambdaQueryWrapper() + .eq(BasicProductsEntity::getYbbm, ioCollectOrderBizBackup.getYbbm()) + .eq(BasicProductsEntity::getPackLevel, "1")); + BasicProductsEntity product = productList.get(0); + Integer myBhxjsl = product.getBhxjsl(); + Integer shouldCount = 0; + double quotient = (double) ioCollectOrderBizBackup.getCount() / myBhxjsl; + int integerPart = (int) quotient; + if (quotient == integerPart) { + if (integerPart == 0) { + if (ioCollectOrderBizBackup.getAutoTagStatus() != 2) { + shouldCount = 1; + } + } else { + shouldCount = integerPart; + } + } else { + if (IntUtil.value(ioCollectOrderBizBackup.getAutoTagStatus()) == 2) { + shouldCount = 0; + } else { + shouldCount = integerPart + 1; + } + } + return shouldCount; + } + + public Integer getScanCount(String billNo){ + return ioCollectOrderBizBackupMapper.getScanCount(billNo); + } + } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderBizService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderBizService.java index 9e7d2c2df..a8fc8d2b4 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderBizService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderBizService.java @@ -57,31 +57,7 @@ public class IoCollectOrderBizService extends ServiceImpl 0) { for (CollectOrderBizResponse collectOrderBizResponse : data) { - List productList = basicProductsDao.selectList( - new LambdaQueryWrapper() - .eq(BasicProductsEntity::getYbbm, collectOrderBizResponse.getYbbm()) - .eq(BasicProductsEntity::getPackLevel, "1")); - BasicProductsEntity product = productList.get(0); - Integer myBhxjsl = product.getBhxjsl(); - Integer shouldCount = 0; - double quotient = (double) collectOrderBizResponse.getCount() / myBhxjsl; - int integerPart = (int) quotient; - if (quotient == integerPart) { - if (integerPart == 0) { - if (collectOrderBizResponse.getAutoTagStatus() != 2) { - shouldCount = 1; - } - } else { - shouldCount = integerPart; - } - } else { - if (IntUtil.value(collectOrderBizResponse.getAutoTagStatus()) == 2) { - shouldCount = 0; - } else { - shouldCount = integerPart + 1; - } - } - collectOrderBizResponse.setShouldCount(shouldCount); + collectOrderBizResponse.setShouldCount(setShouldCount(collectOrderBizResponse)); if (collectOrderBizResponse.getScanCount() == null) { collectOrderBizResponse.setScanCount(0); } @@ -239,4 +215,32 @@ public class IoCollectOrderBizService extends ServiceImpl productList = basicProductsDao.selectList( + new LambdaQueryWrapper() + .eq(BasicProductsEntity::getYbbm, collectOrderBizResponse.getYbbm()) + .eq(BasicProductsEntity::getPackLevel, "1")); + BasicProductsEntity product = productList.get(0); + Integer myBhxjsl = product.getBhxjsl(); + Integer shouldCount = 0; + double quotient = (double) collectOrderBizResponse.getCount() / myBhxjsl; + int integerPart = (int) quotient; + if (quotient == integerPart) { + if (integerPart == 0) { + if (collectOrderBizResponse.getAutoTagStatus() != 2) { + shouldCount = 1; + } + } else { + shouldCount = integerPart; + } + } else { + if (IntUtil.value(collectOrderBizResponse.getAutoTagStatus()) == 2) { + shouldCount = 0; + } else { + shouldCount = integerPart + 1; + } + } + return shouldCount; + } } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java index eeb8f9698..5aa918d38 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java @@ -733,6 +733,16 @@ public class IoCollectOrderService extends ServiceImpl setStorar(IoCollectOrder collectOrder) { + ArrayList integers = new ArrayList<>(); + List orderBizBackups = ioCollectOrderBizBackupService.listByBillNo(collectOrder.getBillNo()); + Integer count = 0; + for (IoCollectOrderBizBackup ioCollectOrderBizBackup : orderBizBackups){ + count += ioCollectOrderBizBackupService.setShouldCount(ioCollectOrderBizBackup); + } + Integer scanCount = ioCollectOrderBizBackupService.getScanCount(collectOrder.getBillNo()); + integers.add(count); + integers.add(scanCount); + return integers; + } + @Transactional(rollbackFor = Exception.class) public void confirmFinishOrder(CollectOrderRequest collectOrderRequest, AuthAdmin authAdmin) { diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectOrderBackupMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectOrderBackupMapper.xml index 698e996e9..82db8b5cd 100644 --- a/src/main/resources/mybatis/mapper/collect/IoCollectOrderBackupMapper.xml +++ b/src/main/resources/mybatis/mapper/collect/IoCollectOrderBackupMapper.xml @@ -193,6 +193,9 @@ icob.shipperName, icob.thrBusType, icob.shipper, + icob.shouldCount, + icob.scanCount, + icob.storard, icob.tagMsg, sys_workplace_document.busName busTypeName, sw.workplaceName, @@ -280,6 +283,10 @@ and icob.uploadStatus = #{uploadStatus} + + and icob.storard = #{storard} + + and (icob.billNo like concat( #{keyWords}, '%') or icob.fromCorp like concat('%', #{keyWords}, '%') @@ -322,4 +329,5 @@ GROUP BY icob.billNo 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 82e17502a..b57312d22 100644 --- a/src/main/resources/mybatis/mapper/collect/IoCollectOrderBizBackupMapper.xml +++ b/src/main/resources/mybatis/mapper/collect/IoCollectOrderBizBackupMapper.xml @@ -11,6 +11,7 @@ bp.prepnSpec, bp.manufactory, bu.notCodeType, + SUM(icobb.scanCount) OVER (PARTITION BY icobb.ybbm) as sumScanCount, COALESCE(bp.bzgg,bp.ggxh) AS spec FROM io_collect_order_biz_backup icobb left join basic_udirel bu on icobb.relId = bu.id @@ -86,5 +87,10 @@ group by icobb.relId,icobb.batchNo - + diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 1bd720226..feb36d5e7 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -5620,3 +5620,15 @@ CALL Modify_index('yb_uploading_log', 'updateTime', 'idx_yb_uploading_log_update CALL Pro_Temp_ColumnWork('sys_workplace_document', 'coercionSubmit', 'tinyint NULL DEFAULT NULL COMMENT ''是否允许强制提交单据:1:是;0:否''', 1); + + +CALL Pro_Temp_ColumnWork('io_collect_order_backup', 'storard', + 'tinyint NULL DEFAULT NULL COMMENT ''是否达标:1:是;0:否''', + 1); + +CALL Pro_Temp_ColumnWork('io_collect_order_backup', 'shouldCount', + 'int NULL DEFAULT NULL COMMENT ''应扫码数量''', + 1); +CALL Pro_Temp_ColumnWork('io_collect_order_backup', 'scanCount', + 'int NULL DEFAULT NULL COMMENT ''扫码数量''', + 1);