From 55bf60090992959938d4d8d669d2f1a27c150c78 Mon Sep 17 00:00:00 2001 From: yewj Date: Fri, 4 Oct 2024 19:13:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=B3=E8=B0=AD=E7=A7=91=E5=AE=A4=E6=94=B6?= =?UTF-8?q?=E8=B4=B9=E5=87=BA=E5=BA=93=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/impl/UdiRlSupServiceImpl.java | 2 + .../thrsys/impl/ThrInvOrderServiceImpl.java | 46 ++++++++++--- src/main/resources/application-dev.yml | 4 +- .../mybatis/mapper/basic/UdiRlSupDao.xml | 68 ++++++++++--------- .../mybatis/mapper/inv/invProductDao.xml | 2 +- 5 files changed, 78 insertions(+), 44 deletions(-) diff --git a/src/main/java/com/glxp/api/service/basic/impl/UdiRlSupServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/UdiRlSupServiceImpl.java index c9f4df46a..5c6c5ca83 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/UdiRlSupServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/UdiRlSupServiceImpl.java @@ -2,6 +2,7 @@ package com.glxp.api.service.basic.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; @@ -96,6 +97,7 @@ public class UdiRlSupServiceImpl extends ServiceImpl findByUdiRlId(Long udiRlIdFk) { + FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest = new FilterCompanyProductRelevanceRequest(); filterCompanyProductRelevanceRequest.setUdiRlIdFk(udiRlIdFk + ""); List companyProductRelevanceEntities = udiRlSupDao.filterCompanyProductRelevance(filterCompanyProductRelevanceRequest); diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java index 895da4a31..fc5ec3471 100644 --- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java @@ -1577,7 +1577,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { List udiRlSupEntitys = udiRlSupService.findByUdiRlId(relId); if (CollUtil.isNotEmpty(udiRlSupEntitys)) { for (UdiRlSupEntity udiRlSupEntity : udiRlSupEntitys) { - Integer count1 = invProductService.selectExitCount(thrInvOrder.getInvCode(), Long.parseLong(udiRlSupEntity.getCustomerId()), Long.parseLong(udiRlSupEntity.getUdiRlIdFk())); + Integer count1 = invProductService.selectExitCount(thrInvOrderDetail.getInvCode(), Long.parseLong(udiRlSupEntity.getCustomerId()), Long.parseLong(udiRlSupEntity.getUdiRlIdFk())); if (IntUtil.value(count1) > 0) { thrInvOrderDetail.setSupId(udiRlSupEntity.getCustomerId()); if (udiRlSupEntity.getPrice() == null) @@ -1636,20 +1636,54 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { log.error(item.getCpmctymc() + "," + item.getThrCode() + "项目关联多个耗材对照,已被过滤!"); } else { skProjectDetailEntityList.forEach(sk -> { + ThrInvOrderDetail thrInvOrderDetail = new ThrInvOrderDetail(); + ThrInvOrderDetail thrInvOrderDetail2 = null; BeanUtils.copyProperties(item, thrInvOrderDetail); + thrInvOrderDetail.setId(null); thrInvOrderDetail.setOrderIdFk(billNo); thrInvOrderDetail.setRelId(sk.getRelId()); + Integer skCount = sk.getCount(); + if (skCount != null && skCount > 0) { + thrInvOrderDetail.setReCount(String.valueOf(skCount * finalCount)); + } + + List udiRlSupEntitys = udiRlSupService.findByUdiRlId(sk.getRelId()); if (CollUtil.isNotEmpty(udiRlSupEntitys)) { - for (UdiRlSupEntity udiRlSupEntity : udiRlSupEntitys) { - Integer count1 = invProductService.selectExitCount(thrInvOrder.getInvCode(), Long.parseLong(udiRlSupEntity.getCustomerId()), Long.parseLong(udiRlSupEntity.getUdiRlIdFk())); + int index = 0; + for (int i = 0; i < udiRlSupEntitys.size(); i++) { + UdiRlSupEntity udiRlSupEntity = udiRlSupEntitys.get(i); + Integer count1 = invProductService.selectExitCount(thrInvOrderDetail.getInvCode(), Long.parseLong(udiRlSupEntity.getCustomerId()), Long.parseLong(udiRlSupEntity.getUdiRlIdFk())); if (IntUtil.value(count1) > 0) { + index = index + 1; thrInvOrderDetail.setSupId(udiRlSupEntity.getCustomerId()); if (udiRlSupEntity.getPrice() == null) thrInvOrderDetail.setPrice(BigDecimal.ZERO); else thrInvOrderDetail.setPrice(udiRlSupEntity.getPrice()); + + if (count1 <= IntUtil.value(thrInvOrderDetail.getReCount())) { + int relCount = IntUtil.value(thrInvOrderDetail.getReCount()) - count1; + for (int j = i + 1; j < udiRlSupEntitys.size(); j++) { + UdiRlSupEntity udiRlSupEntity2 = udiRlSupEntitys.get(j); + Integer count2 = invProductService.selectExitCount(thrInvOrderDetail.getInvCode(), Long.parseLong(udiRlSupEntity2.getCustomerId()), Long.parseLong(udiRlSupEntity2.getUdiRlIdFk())); + if (IntUtil.value(count2) > 0) { + thrInvOrderDetail2 = new ThrInvOrderDetail(); + BeanUtils.copyProperties(thrInvOrderDetail, thrInvOrderDetail2); + if (udiRlSupEntity2.getPrice() == null) + thrInvOrderDetail2.setPrice(BigDecimal.ZERO); + else + thrInvOrderDetail2.setPrice(udiRlSupEntity2.getPrice()); + thrInvOrderDetail2.setReCount(relCount + ""); + thrInvOrderDetail2.setSupId(udiRlSupEntity2.getCustomerId()); + thrInvOrderDetail.setReCount(count1 + ""); + thrInvOrderDetails.add(thrInvOrderDetail2); + break; + } + } + } + break; } } if (thrInvOrderDetail.getSupId() == null) { @@ -1659,13 +1693,9 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { else thrInvOrderDetail.setPrice(udiRlSupEntitys.get(0).getPrice()); } - } else exmsg.append(thrCode + "供应商未关联"); - Integer skCount = sk.getCount(); - if (skCount != null && skCount > 0) { - thrInvOrderDetail.setReCount(String.valueOf(skCount * finalCount)); - } + //过滤是否高值 if (IntUtil.value(highFilter) > 0) { UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(sk.getRelId()); diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index c3f8f2655..087dbec16 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,9 +4,9 @@ server: spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver - jdbc-url: jdbc:p6spy:mysql://192.168.0.59:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_pt?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root - password: Glxp@6066 + password: 123456 hikari: connection-timeout: 60000 maximum-pool-size: 20 diff --git a/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml index 59aee432b..66d0b66f0 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml @@ -23,7 +23,7 @@ ]]> - ORDER BY id DESC + ORDER BY id @@ -47,11 +47,13 @@ basic_udirel.mainId, basic_udirel.isAdavence, basic_udirel.purType, - basic_udirel.attributeType,basic_udirel.hcType, + basic_udirel.attributeType, + basic_udirel.hcType, basic_udirel.lowStockNum, basic_udirel.overStockNum, basic_udirel.recentDateTime, - basic_udirel.isDateBy,basic_udirel.isStack, + basic_udirel.isDateBy, + basic_udirel.isStack, bht.name classifyName, basic_products.id as PRId, basic_products.originUuid, @@ -105,19 +107,19 @@ basic_products.basicPrductRemak7, basic_products.basicPrductRemak8, basic_corp.name companyName, - basic_products.catalogname1, - basic_products.catalogname2, - basic_products.catalogname3, - basic_products.requireScanCode, - basic_products.matrial + basic_products.catalogname1, + basic_products.catalogname2, + basic_products.catalogname3, + basic_products.requireScanCode, + basic_products.matrial FROM company_product_relevance - inner JOIN basic_udirel - ON company_product_relevance.udiRlIdFk = basic_udirel.id - inner JOIN basic_products - ON basic_udirel.uuid = basic_products.uuid - left JOIN basic_corp on basic_corp.erpId = company_product_relevance.customerId - left join basic_hosp_type bht on basic_udirel.relCode = bht.code - left join thr_products tp on tp.code = basic_udirel.mainId + inner JOIN basic_udirel + ON company_product_relevance.udiRlIdFk = basic_udirel.id + inner JOIN basic_products + ON basic_udirel.uuid = basic_products.uuid + left JOIN basic_corp on basic_corp.erpId = company_product_relevance.customerId + left join basic_hosp_type bht on basic_udirel.relCode = bht.code + left join thr_products tp on tp.code = basic_udirel.mainId AND basic_products.ylqxzcrbarmc LIKE concat(#{ylqxzcrbarmc}, '%') @@ -143,18 +145,18 @@ and ( nameCode LIKE concat('%', #{unionCode}, '%') - or basic_products.ybbm LIKE concat('%', #{unionCode}, '%') - or basic_products.sptm LIKE concat('%', #{unionCode}, '%') - ) + or basic_products.ybbm LIKE concat('%', #{unionCode}, '%') + or basic_products.sptm LIKE concat('%', #{unionCode}, '%') + ) and ( basic_udirel.thirdId LIKE concat('%', #{thrPiId}, '%') - or basic_udirel.thirdId1 LIKE concat('%', #{thrPiId}, '%') - or basic_udirel.thirdId2 LIKE concat('%', #{thrPiId}, '%') - or basic_udirel.thirdId3 LIKE concat('%', #{thrPiId}, '%') - or basic_udirel.thirdId4 LIKE concat('%', #{thrPiId}, '%') - ) + or basic_udirel.thirdId1 LIKE concat('%', #{thrPiId}, '%') + or basic_udirel.thirdId2 LIKE concat('%', #{thrPiId}, '%') + or basic_udirel.thirdId3 LIKE concat('%', #{thrPiId}, '%') + or basic_udirel.thirdId4 LIKE concat('%', #{thrPiId}, '%') + ) AND basic_udirel.uuid = #{uuid} @@ -258,7 +260,7 @@ and (tp.flbm = #{flbm} or basic_products.flbm = #{flbm}) - and company_product_relevance.id in + and company_product_relevance.id in #{item} @@ -337,9 +339,9 @@ replace - INTO company_product_relevance(id, customerId, productId, enterpriseId, registrationId, - createTime, updateTime, auditStatus, productUuid, udiRlIdFk, unitFk, - price, createUser, updateUser) + INTO company_product_relevance(id, customerId, productId, enterpriseId, registrationId, + createTime, updateTime, auditStatus, productUuid, udiRlIdFk, unitFk, + price, createUser, updateUser) values (#{id}, #{customerId}, #{productId}, #{enterpriseId}, @@ -359,9 +361,9 @@ replace - INTO company_product_relevance(id, customerId, productId, enterpriseId, registrationId, - createTime, updateTime, auditStatus, productUuid, udiRlIdFk, unitFk, - price, createUser, updateUser) + INTO company_product_relevance(id, customerId, productId, enterpriseId, registrationId, + createTime, updateTime, auditStatus, productUuid, udiRlIdFk, unitFk, + price, createUser, updateUser) values (#{id}, #{customerId}, #{productId}, @@ -406,9 +408,9 @@ select ip.id, - ip.nameCode, + bp.nameCode, bp.cpmctymc, bp.measname, bp.bzgg,