From 11a52f4fd3ae321a702aeacc5228d1bb3c38ec95 Mon Sep 17 00:00:00 2001 From: wangwei <1610949092@qq.com> Date: Thu, 17 Oct 2024 10:10:07 +0800 Subject: [PATCH] =?UTF-8?q?10/17=20=E5=8D=95=E6=8D=AE=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=8D=95=E6=8D=AE=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/BasicBussinessTypeController.java | 3 +- .../basic/UdiRelevanceController.java | 1 + .../basic/BasicBussinessTypeEntity.java | 5 ++ .../req/basic/BussinessTypeSaveRequest.java | 6 ++ .../req/basic/FilterBussinessTypeRequest.java | 6 ++ .../res/basic/BasicBussinessTypeResponse.java | 2 + .../glxp/api/res/basic/UdiRlSupResponse.java | 11 ++- .../basic/IBasicBussinessTypeService.java | 2 + .../impl/BasicBussinessTypeServiceImpl.java | 78 +++++++++++++++++++ .../basic/impl/UdiProductServiceImpl.java | 1 + .../mapper/basic/BasicBussinessTypeDao.xml | 9 +++ .../mybatis/mapper/basic/UdiRlSupDao.xml | 4 + src/main/resources/schemas/schema_v2.4.sql | 6 ++ 13 files changed, 132 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java b/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java index 6a409349..0ef599ea 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java @@ -267,13 +267,14 @@ public class BasicBussinessTypeController extends BaseController { List reList = new ArrayList<>(); if (StrUtil.isNotEmpty(bussinessTypeFilterRequest.getVueType())) { List result = new ArrayList<>(); - List bussinessTypeEntities = basicBussinessTypeService.findByVueType(bussinessTypeFilterRequest.getVueType()); + List bussinessTypeEntities = basicBussinessTypeService.findByVueTypeAndType(bussinessTypeFilterRequest); if (StrUtil.isNotEmpty(bussinessTypeFilterRequest.getInvCode()) || StrUtil.isNotEmpty(bussinessTypeFilterRequest.getCode())) { //过滤是否是当前仓库底下单据类型 FilterBussinessTypeRequest tempRequest = new FilterBussinessTypeRequest(); tempRequest.setCode(bussinessTypeFilterRequest.getCode()); tempRequest.setInvCode(bussinessTypeFilterRequest.getInvCode()); tempRequest.setMainAction(bussinessTypeFilterRequest.getMainAction()); + tempRequest.setProductType(bussinessTypeFilterRequest.getProductType()); List bussinessTypeResponses = basicBussinessTypeService.filterJoinByInv(tempRequest); if (CollUtil.isNotEmpty(bussinessTypeResponses)) { for (BasicBussinessTypeResponse bussinessTypExportResponse : bussinessTypeResponses) { diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java index 990d488b..1fcf804c 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java @@ -385,6 +385,7 @@ public class UdiRelevanceController extends BaseController { udiProductEntity.setRequireScanCode(udiRelevanceSaveRequest.getRequireScanCode()); udiProductEntity.setFlbm(udiRelevanceSaveRequest.getFlbm()); udiProductEntity.setWorkPlaceCount(udiRelevanceSaveRequest.getWorkPlaceCount()); + udiProductEntity.setUpdateTime(new Date()); // udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity); if (StrUtil.isNotEmpty(udiRelevanceSaveRequest.getOriginUuid())) { udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_UDI); diff --git a/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java index 55790e03..d7761e41 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java @@ -467,4 +467,9 @@ public class BasicBussinessTypeEntity { @TableField(value = "codeCheck") private Integer codeCheck; + /** + * 单据类型; 1:器械单据 2:药品单据 + */ + @TableField(value = "productType") + private Integer productType; } diff --git a/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java b/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java index 7bb4f4e0..12cad534 100644 --- a/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java +++ b/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java @@ -322,4 +322,10 @@ public class BussinessTypeSaveRequest { @TableField(value = "codeCheck") private Integer codeCheck; + /** + * 单据类型; 1:器械单据 2:药品单据 + */ + @TableField(value = "productType") + private Integer productType; + } diff --git a/src/main/java/com/glxp/api/req/basic/FilterBussinessTypeRequest.java b/src/main/java/com/glxp/api/req/basic/FilterBussinessTypeRequest.java index 330f4057..e4d1a15a 100644 --- a/src/main/java/com/glxp/api/req/basic/FilterBussinessTypeRequest.java +++ b/src/main/java/com/glxp/api/req/basic/FilterBussinessTypeRequest.java @@ -46,6 +46,7 @@ public class FilterBussinessTypeRequest extends ListPageRequest { */ private Integer advanceType; + private String type; /** @@ -121,4 +122,9 @@ public class FilterBussinessTypeRequest extends ListPageRequest { private Integer editType; private Integer inPreInBack; + + /** + * 单据类型, 1:器械单据,2:药品单据 + */ + private Integer productType; } diff --git a/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java b/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java index 6c76e4b6..fedeca4e 100644 --- a/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java +++ b/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java @@ -191,4 +191,6 @@ public class BasicBussinessTypeResponse { @TableField(value = "codeCheck") private Integer codeCheck; + private Integer productType; + } diff --git a/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java b/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java index 54af958a..dae3a2ed 100644 --- a/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java +++ b/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java @@ -168,7 +168,16 @@ public class UdiRlSupResponse { private String useLevelUnit; private String packUnit; private Integer useLeverCount; + private Integer distributeLevel; + private Integer useLevel; + /** + * 流通允许采集的最大层级 + */ + private Integer distributeMaxLevel; - + /** + * 使用允许采集的最大层级 + */ + private Integer useMaxLevel; } diff --git a/src/main/java/com/glxp/api/service/basic/IBasicBussinessTypeService.java b/src/main/java/com/glxp/api/service/basic/IBasicBussinessTypeService.java index 77b26a5d..d3cd8d7a 100644 --- a/src/main/java/com/glxp/api/service/basic/IBasicBussinessTypeService.java +++ b/src/main/java/com/glxp/api/service/basic/IBasicBussinessTypeService.java @@ -119,4 +119,6 @@ public interface IBasicBussinessTypeService extends IService findByVueType(String vueType); List selectbyNotAction(List list); + + List findByVueTypeAndType(FilterBussinessTypeRequest bussinessTypeFilterRequest); } diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java index 14c7bf59..48742814 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java @@ -300,4 +300,82 @@ public class BasicBussinessTypeServiceImpl extends ServiceImpl selectbyNotAction(List list) { return basicBussinessTypeDao.selectbyNotAction(list); } + + @Override + public List findByVueTypeAndType(FilterBussinessTypeRequest bussinessTypeFilterRequest) { + + List bussinessTypeEntities = null; + + switch (bussinessTypeFilterRequest.getVueType()) { + case Constant.ORDER_ACTION_NOR_DETAIL: + bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() + .eq("actionType", 1).eq("inStock", true) + .eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType()) + .eq("enable", true)); + break; + + case Constant.ORDER_ACTION_PRE_DETAIL: + bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() + .eq("actionType", 3).eq("inStock", true) + .eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType()) + .eq("enable", true)); + break; + case Constant.ORDER_ACTION_PREIN_DETAIL: + bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() + .eq("actionType", 2).eq("inStock", true).eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType()) + .eq("enable", true)); + break; + case Constant.ORDER_ACTION_SUP_DELIVERY: + //允许送货单直接入库变更库存,则不判断送货单是否入库 + + String deliveryInstock = systemParamConfigService.selectValueByParamKey("deliveryInstock"); + if (StrUtil.isNotEmpty(deliveryInstock) && deliveryInstock.equals("1")) { + bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() + .eq("mainAction", ConstantType.TYPE_PUT).eq("corpType", ConstantStatus.CORP_TYPE_OUT) + .eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType()) + .gt("spUse", 1).eq("enable", true)); + } else { + bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() + .eq("mainAction", ConstantType.TYPE_PUT).eq("corpType", ConstantStatus.CORP_TYPE_OUT) + .eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType()) + .gt("spUse", 1).eq("inStock", false).eq("enable", true)); + } + + break; + case Constant.ORDER_ACTION_SUP_INVOICE: + bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() + .eq("mainAction", ConstantType.TYPE_PUT) + .eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType()) + .gt("spUse", 0).eq("actionType", 1).eq("enable", true)); + break; + +//.eq("corpType", ConstantStatus.CORP_TYPE_OUT) + case Constant.ORDER_ACTION_SUP_DELAUDIT: //供应商审核送货单 + bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() + .eq("mainAction", ConstantType.TYPE_PUT).eq("corpType", ConstantStatus.CORP_TYPE_OUT) + .eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType()) + .gt("spUse", 1).eq("enable", true)); + break; + + case Constant.ORDER_ACTION_SUP_INOUT: //供应商查询出入库单 + bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() + .eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType()) + .gt("spUse", 0).eq("enable", true)); + break; + case Constant.ORDER_ACTION_SUP_PREIN: + bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() + .eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType()) + .gt("spUse", 0).eq("enable", true).eq("corpType", ConstantStatus.CORP_TYPE_OUT).eq("actionType", 2)); + case Constant.ORDER_STATUS_RETURN: + bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() + .gt("spUse", 0).eq("enable", true) + .eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType()) + .eq("corpType", ConstantStatus.CORP_TYPE_OUT).eq("mainAction", ConstantType.TYPE_OUT)); + break; + default: + break; + } + + return bussinessTypeEntities; + } } 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 ce3951a0..02244ea8 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 @@ -28,6 +28,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestBody; import javax.annotation.Resource; import java.util.*; diff --git a/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml b/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml index b36fb3f5..f016841f 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml @@ -39,6 +39,9 @@ AND bu.busType = #{busType} + + AND bu.productType = #{productType} + AND bu.preIn = #{preIn} @@ -218,6 +221,9 @@ AND basic_bussiness_type.spUse = #{spUse} + + AND basic_bussiness_type.productType = #{productType} + AND subInvCode = #{code} @@ -253,6 +259,9 @@ AND basic_bussiness_type.enable = #{enable} + + AND basic_bussiness_type.productType = #{productType} + AND basic_bussiness_type.spUse > 0 diff --git a/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml index 59b515ff..ace790ca 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml @@ -60,6 +60,10 @@ basic_udirel.useLevelDi, basic_udirel.useLevelUnit, basic_udirel.useLeverCount, + basic_udirel.useLevel, + basic_udirel.distributeLevel, + basic_udirel.distributeMaxLevel, + basic_udirel.useMaxLevel, bht.name classifyName, basic_products.id as PRId, basic_products.originUuid, diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 210699d2..9927e303 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -1009,3 +1009,9 @@ CALL Pro_Temp_ColumnWork('thr_products', 'prepnUnit', 'varchar(255) CHARACTER SE CALL Pro_Temp_ColumnWork('basic_products', 'zxxsdycpbs', ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''最小销售产品标识''' ,1); CALL Pro_Temp_ColumnWork('basic_products', 'xjdw', ' varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''最小销售产品标识''' ,1); + + + +CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'productType', + ' tinyint NULL DEFAULT NULL COMMENT ''单据类型; 1:器械单据 2:药品单据''', + 1);