From 569707b3390b339ac5c3098a8afac1f6ba4390b1 Mon Sep 17 00:00:00 2001 From: x_z Date: Thu, 13 Apr 2023 09:53:21 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BC=98=E5=8C=96=E5=8D=95=E6=8D=AE=E6=89=AB?= =?UTF-8?q?=E7=A0=81=E6=8E=A5=E5=8F=A3=E6=80=A7=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoCodeTempController.java | 11 +- .../glxp/api/dao/auth/InvWarehouseDao.java | 10 +- .../com/glxp/api/dao/basic/UdiProductDao.java | 8 ++ .../glxp/api/dao/basic/UdiRelevanceDao.java | 8 ++ .../com/glxp/api/dao/basic/UdiRlSupDao.java | 8 ++ .../api/dao/inout/IoOrderDetailCodeDao.java | 7 + .../auth/impl/InvWarehouseServiceImpl.java | 7 +- .../api/service/basic/UdiProductService.java | 7 + .../api/service/basic/UdiRlSupService.java | 8 ++ .../basic/impl/UdiProductServiceImpl.java | 6 + .../basic/impl/UdiRelevanceServiceImpl.java | 5 +- .../basic/impl/UdiRlSupServiceImpl.java | 12 +- .../api/service/inout/IoAddInoutService.java | 12 +- .../mybatis/mapper/auth/InvWarehouseDao.xml | 26 ++++ .../mybatis/mapper/basic/UdiProductDao.xml | 4 + .../mybatis/mapper/basic/UdiRelevanceDao.xml | 128 ++++++++++++++++++ .../mybatis/mapper/basic/UdiRlSupDao.xml | 60 +++++--- .../mapper/inout/IoOrderDetailCodeDao.xml | 3 + 18 files changed, 287 insertions(+), 43 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index 9b53a7da..89e6c82a 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -29,7 +29,6 @@ import com.glxp.api.req.inout.FilterCodeRequest; import com.glxp.api.req.inout.PostOrderRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.UdiRelevanceResponse; -import com.glxp.api.res.basic.UdiRlSupResponse; import com.glxp.api.res.inout.AddCodeResult; import com.glxp.api.res.inout.IoCodeTempResponse; import com.glxp.api.service.auth.InvWarehouseService; @@ -372,7 +371,7 @@ public class IoCodeTempController extends BaseController { //批次号校验 //判断此产品是否开启允许无批次号 - UdiProductEntity udiInfoEntity = udiProductService.findByNameCode(udiEntity.getUdi()); + UdiProductEntity udiInfoEntity = udiProductService.getAllowNoBatch(udiEntity.getUdi()); if (udiInfoEntity == null) { return ResultVOUtils.error(500, "耗材字典不存在此产品!"); } @@ -733,13 +732,13 @@ public class IoCodeTempController extends BaseController { companyProductRelevanceRequest.setNameCode(udiEntity.getUdi()); if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { companyProductRelevanceRequest.setUnitFk(unitFk); - List datas = udiRlSupService.filterUdiGp(companyProductRelevanceRequest); - if (datas.size() <= 0) { + boolean exist = udiRlSupService.findExist(companyProductRelevanceRequest); + if (!exist) { return ResultVOUtils.error(500, "当前供应商不存在此配送产品!"); } } else { - List datas = udiRlSupService.filterUdiGp(companyProductRelevanceRequest); - if (datas.size() <= 0) { + boolean exist = udiRlSupService.findExist(companyProductRelevanceRequest); + if (!exist) { return ResultVOUtils.error(500, "此产品无指定供应商,请检查后添加!"); } } diff --git a/src/main/java/com/glxp/api/dao/auth/InvWarehouseDao.java b/src/main/java/com/glxp/api/dao/auth/InvWarehouseDao.java index 2cd96ef4..02ad0e65 100644 --- a/src/main/java/com/glxp/api/dao/auth/InvWarehouseDao.java +++ b/src/main/java/com/glxp/api/dao/auth/InvWarehouseDao.java @@ -87,7 +87,7 @@ public interface InvWarehouseDao extends BaseMapperPlus selectInvListByUser(FilterInvWarehouseRequest filterInvWarehouseRequest); - List selectInvById( @Param("InvList") List InvList); + List selectInvById(@Param("InvList") List InvList); /** * 根据仓库编码查询部门编码 @@ -97,4 +97,12 @@ public interface InvWarehouseDao extends BaseMapperPlus selectGgxhList(@Param("relId") String relId); boolean updateUdiInfoNotAll(UdiInfoRequest udiInfoRequest); + + /** + * 根据DI查询此产品是否允许无批次号参数 + * + * @param nameCode + * @return + */ + UdiProductEntity selectAllowNoBatch(@Param("nameCode") String nameCode); } diff --git a/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java b/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java index 2230afe0..57627010 100644 --- a/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java +++ b/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java @@ -111,4 +111,12 @@ public interface UdiRelevanceDao extends BaseMapperPlus selectUnitFkByRelId(@Param("relId") Long relId); + + /** + * 统计供应商配送产品数量 + * + * @param companyProductRelevanceRequest + * @return + */ + Long selectSupRlCount(CompanyProductRelevanceRequest companyProductRelevanceRequest); } diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailCodeDao.java b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailCodeDao.java index 6318dce7..7581490a 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailCodeDao.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailCodeDao.java @@ -16,4 +16,11 @@ public interface IoOrderDetailCodeDao extends BaseMapperPlus filterList(FilterOrderDetailCodeRequest detailCodeRequest); + + /** + * 更新数量字段 + * + * @param orderDetailCodeEntity + */ + void updateCount(IoOrderDetailCodeEntity orderDetailCodeEntity); } diff --git a/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java b/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java index 859f59a2..1cf3c979 100644 --- a/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java +++ b/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java @@ -99,11 +99,8 @@ public class InvWarehouseServiceImpl implements InvWarehouseService { return null; FilterInvSubWarehouseRequest filterInvSubWarehouseRequest = new FilterInvSubWarehouseRequest(); filterInvSubWarehouseRequest.setCode(code); - List invSubWarehouseEntities = invWarehouseDao.filterInvSubWarehouse(filterInvSubWarehouseRequest); - if (CollUtil.isNotEmpty(invSubWarehouseEntities)) { - return invSubWarehouseEntities.get(0); - } - return null; + InvWarehouseEntity invWarehouseEntity = invWarehouseDao.filterInvSubWarehouseLimitOne(filterInvSubWarehouseRequest); + return invWarehouseEntity; } @Override diff --git a/src/main/java/com/glxp/api/service/basic/UdiProductService.java b/src/main/java/com/glxp/api/service/basic/UdiProductService.java index 446c3159..ee4ecdc9 100644 --- a/src/main/java/com/glxp/api/service/basic/UdiProductService.java +++ b/src/main/java/com/glxp/api/service/basic/UdiProductService.java @@ -53,4 +53,11 @@ public interface UdiProductService { boolean updateUdiInfoNotAll(UdiInfoRequest udiInfoRequest); + /** + * 根据DI查询此产品是否允许无批次号 + * + * @param nameCode + * @return + */ + UdiProductEntity getAllowNoBatch(String nameCode); } diff --git a/src/main/java/com/glxp/api/service/basic/UdiRlSupService.java b/src/main/java/com/glxp/api/service/basic/UdiRlSupService.java index f4f993f9..f13fabdd 100644 --- a/src/main/java/com/glxp/api/service/basic/UdiRlSupService.java +++ b/src/main/java/com/glxp/api/service/basic/UdiRlSupService.java @@ -37,4 +37,12 @@ public interface UdiRlSupService { boolean deleteById(String id); boolean deleteByRlId(String id); + + /** + * 查询供应商是否存在此配送产品 + * + * @param companyProductRelevanceRequest + * @return + */ + boolean findExist(CompanyProductRelevanceRequest companyProductRelevanceRequest); } diff --git a/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java index 636fe63c..4ce4dca3 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java @@ -145,4 +145,10 @@ public class UdiProductServiceImpl implements UdiProductService { return false; return udiProductDao.updateUdiInfoNotAll(udiInfoRequest); } + + @Override + public UdiProductEntity getAllowNoBatch(String nameCode) { + String di = FilterUdiUtils.getDiStr(nameCode); + return udiProductDao.selectAllowNoBatch(di); + } } diff --git a/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java index 1d390cd9..10e8db33 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java @@ -211,10 +211,7 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService { FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); filterUdiRelRequest.setId(id); filterUdiRelRequest.setDiType(1); - List data = udiRelevanceDao.filterUdiJoinSup(filterUdiRelRequest); - if (data != null && data.size() > 0) - return data.get(0); - return null; + return udiRelevanceDao.selectOneUdiJoinSup(filterUdiRelRequest); } 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 b7b3128a..76be752c 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 @@ -106,9 +106,9 @@ public class UdiRlSupServiceImpl implements UdiRlSupService { @Override public int updateCompanyProductRelevanceByUdiFk(UdiRlSupEntity companyCertEntity) { - QueryWrapper ew=new QueryWrapper<>(); - ew.eq("udiRlIdFk",companyCertEntity.getUdiRlIdFk()); - return udiRlSupDao.update(companyCertEntity,ew); + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("udiRlIdFk", companyCertEntity.getUdiRlIdFk()); + return udiRlSupDao.update(companyCertEntity, ew); } @Override @@ -125,4 +125,10 @@ public class UdiRlSupServiceImpl implements UdiRlSupService { public boolean deleteByRlId(String id) { return udiRlSupDao.deleteByRlId(id); } + + @Override + public boolean findExist(CompanyProductRelevanceRequest companyProductRelevanceRequest) { + Long count = udiRlSupDao.selectSupRlCount(companyProductRelevanceRequest); + return null != count && count != 0; + } } diff --git a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java index aaebf94b..f40b0a7a 100644 --- a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java @@ -3,11 +3,14 @@ package com.glxp.api.service.inout; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.Constant; import com.glxp.api.constant.ConstantStatus; +import com.glxp.api.dao.inout.IoOrderDetailCodeDao; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicCorpEntity; import com.glxp.api.entity.basic.UdiEntity; @@ -68,6 +71,8 @@ public class IoAddInoutService { SystemParamConfigService systemParamConfigService; @Resource IoOrderDetailBizService orderDetailBizService; + @Resource + private IoOrderDetailCodeDao orderDetailCodeDao; //新增扫码单据处理 public void dealProcess(IoOrderEntity orderEntity) { @@ -296,7 +301,7 @@ public class IoAddInoutService { //生成扫码单据详情 public void genOrderDetailCode(IoOrderEntity orderEntity, IoCodeTempEntity codeTempEntity) { - List ioOrderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderEntity.getBillNo()); + List ioOrderDetailCodeEntities = orderDetailCodeDao.selectList(new QueryWrapper().select("id", "count", "reCount", "bindRlFk", "batchNo").eq("orderIdFk", orderEntity.getBillNo())); UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectSupGroupById(codeTempEntity.getRelId()); // UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(codeTempEntity.getRelId()); if (CollUtil.isEmpty(ioOrderDetailCodeEntities)) { @@ -309,7 +314,10 @@ public class IoAddInoutService { StrUtil.trimToEmpty(orderDetailCodeEntity.getBatchNo()).equals(StrUtil.trimToEmpty(codeTempEntity.getBatchNo()))) { orderDetailCodeEntity.setCount(orderDetailCodeEntity.getCount() + codeTempEntity.getMyCount()); orderDetailCodeEntity.setReCount(orderDetailCodeEntity.getReCount() + codeTempEntity.getMyReCount()); - orderDetailCodeService.update(orderDetailCodeEntity); + + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("count", orderDetailCodeEntity.getCount()).set("reCount", orderDetailCodeEntity.getReCount()); + orderDetailCodeDao.updateCount(orderDetailCodeEntity); isUpdate = true; break; } diff --git a/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml b/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml index f7590b95..e292f6b2 100644 --- a/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml +++ b/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml @@ -395,4 +395,30 @@ + + diff --git a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml index 7103a37c..99db4e5d 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml @@ -953,4 +953,8 @@ WHERE uuid = #{uuid} + + diff --git a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index 13ac33a1..eae9909f 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -1122,4 +1122,132 @@ inner join basic_products on basic_udirel.uuid = basic_products.uuid where basic_products.nameCode = #{nameCode} + + diff --git a/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml index 0b0e08b2..074dbb8c 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml @@ -106,12 +106,12 @@ basic_products.basicPrductRemak8, basic_corp.name companyName 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 + 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 AND ylqxzcrbarmc LIKE concat(#{ylqxzcrbarmc}, '%') @@ -127,19 +127,19 @@ and ( - nameCode LIKE concat('%', #{unionCode}, '%') - or basic_products.ybbm LIKE concat('%', #{unionCode}, '%') - or basic_products.sptm LIKE concat('%', #{unionCode}, '%') - ) + nameCode 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}, '%') - ) + 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}, '%') + ) AND basic_udirel.uuid = #{uuid} @@ -284,9 +284,9 @@ replace - INTO company_product_relevance(customerId, productId, enterpriseId, registrationId, - createTime, updateTime, auditStatus, productUuid, udiRlIdFk, unitFk, - price, createUser, updateUser) + INTO company_product_relevance(customerId, productId, enterpriseId, registrationId, + createTime, updateTime, auditStatus, productUuid, udiRlIdFk, unitFk, + price, createUser, updateUser) values (#{customerId}, #{productId}, #{enterpriseId}, @@ -306,9 +306,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}, @@ -349,4 +349,20 @@ from company_product_relevance where udiRlIdFk = #{relId} + + diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailCodeDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailCodeDao.xml index 3f63866a..530a01aa 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailCodeDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailCodeDao.xml @@ -30,4 +30,7 @@ group by io_order_detail_code.id + + update io_order_detail_code set count = #{count}, reCount = #{reCount} where id = #{id} + \ No newline at end of file