From c065ed3a6dfa528cf615ccfa6b0b041801a412ce Mon Sep 17 00:00:00 2001 From: anthonywj Date: Mon, 22 Jan 2024 11:18:19 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9B=86=E9=87=87=E6=8B=86=E5=8D=95=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/BasicBussinessTypeEntity.java | 7 +++ .../req/basic/BussinessTypeSaveRequest.java | 1 + .../req/basic/FilterBussinessTypeRequest.java | 1 + .../res/basic/BasicBussinessTypeResponse.java | 1 + .../service/inout/IoChangeInoutService.java | 44 ++++++++++++++++--- src/main/resources/schemas/schema_v2.4.sql | 2 + 6 files changed, 50 insertions(+), 6 deletions(-) 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 7884bea28..b52f0074c 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java @@ -473,4 +473,11 @@ public class BasicBussinessTypeEntity { @TableField(value = "inputSick") private Boolean inputSick; + /** + * 集采是否拆单 1:拆单,2:不拆单 + */ + @TableField(value = "groupBuySplit") + private Integer groupBuySplit; + + } 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 f9a3c745f..604631f3b 100644 --- a/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java +++ b/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java @@ -315,4 +315,5 @@ public class BussinessTypeSaveRequest { private Integer deptNoInvType; private Boolean vailPrescribe; private Boolean inputSick; + private Boolean groupBuySplit; } 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 f0ed404fd..7f1419556 100644 --- a/src/main/java/com/glxp/api/req/basic/FilterBussinessTypeRequest.java +++ b/src/main/java/com/glxp/api/req/basic/FilterBussinessTypeRequest.java @@ -135,5 +135,6 @@ public class FilterBussinessTypeRequest extends ListPageRequest { private String detailType; private Boolean vailPrescribe; private Boolean inputSick; + private Boolean groupBuySplit; } 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 113011282..e2bb3e332 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,5 @@ public class BasicBussinessTypeResponse { private Integer deptNoInvType; private Boolean vailPrescribe; private Boolean inputSick; + private Boolean groupBuySplit; } diff --git a/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java b/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java index 34f6c8ded..00899bc97 100644 --- a/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java @@ -1,7 +1,10 @@ package com.glxp.api.service.inout; +import com.glxp.api.entity.basic.UdiRelevanceEntity; +import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.inout.impl.IoCodeService; import com.glxp.api.service.inv.impl.InvProductDetailService; +import com.glxp.api.util.*; import org.springframework.beans.BeanUtils; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.UUID; @@ -20,10 +23,6 @@ import com.glxp.api.service.basic.IBasicBusTypePreService; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.impl.IoOrderInvoiceService; import com.glxp.api.service.system.SystemParamConfigService; -import com.glxp.api.util.CustomUtil; -import com.glxp.api.util.MsDateUtil; -import com.glxp.api.util.GennerOrderUtils; -import com.glxp.api.util.OrderNoTypeBean; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -146,6 +145,9 @@ public class IoChangeInoutService { return invCount; } + @Resource + UdiRelevanceService udiRelevanceService; + //生成单据 public void buildInOrder(BasicBusTypePreEntity bussinessChangeTypeEntity, List useInList, IoOrderEntity orderEntity, boolean isGenInovice) { @@ -157,8 +159,38 @@ public class IoChangeInoutService { if (useInList.size() <= 0) { return; } - Map> filterSupMaps = new HashMap<>(); + + BasicBussinessTypeEntity targetBustypeEntity = basicBussinessTypeService.findByAction(bussinessChangeTypeEntity.getAction()); +// buildGenOrder(targetBustypeEntity, bussinessChangeTypeEntity, useInList, orderEntity, isGenInovice); + List groupBuyList = new ArrayList<>(); + List unGroupBuyList = new ArrayList<>(); + if (IntUtil.value(targetBustypeEntity.getGroupBuySplit()) == 1) { + //过滤集采、非集采 + for (IoCodeEntity codeEntity : useInList) { + UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(codeEntity.getRelId()); + if (IntUtil.value(udiRelevanceEntity.getGroupBuy())) { + groupBuyList.add(codeEntity); + } else { + unGroupBuyList.add(codeEntity); + } + } + if (CollUtil.isNotEmpty(groupBuyList)) { + buildGenOrder(targetBustypeEntity, bussinessChangeTypeEntity, groupBuyList, orderEntity, isGenInovice); + } + if (CollUtil.isNotEmpty(unGroupBuyList)) { + buildGenOrder(targetBustypeEntity, bussinessChangeTypeEntity, unGroupBuyList, orderEntity, isGenInovice); + } + + } else { + buildGenOrder(targetBustypeEntity, bussinessChangeTypeEntity, useInList, orderEntity, isGenInovice); + } + + + } + + public void buildGenOrder(BasicBussinessTypeEntity targetBustypeEntity, BasicBusTypePreEntity bussinessChangeTypeEntity, List useInList, IoOrderEntity orderEntity, boolean isGenInvoice) { + Map> filterSupMaps = new HashMap<>(); //过滤供应商 if (targetBustypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT || bussinessChangeTypeEntity.getCreateType() == 3 || bussinessChangeTypeEntity.getCreateType() == 4) { for (IoCodeEntity warehouseEntity : useInList) { @@ -293,7 +325,7 @@ public class IoChangeInoutService { } } - if (isGenInovice) { + if (isGenInvoice) { //生成发票信息 List invoiceEntities = ioOrderInvoiceService.findByBillNo(orderEntity.getBillNo()); if (CollUtil.isNotEmpty(invoiceEntities)) { diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index de671098b..112a71405 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -388,6 +388,8 @@ CALL Pro_Temp_ColumnWork('basic_sk_prescribe_item_detail', 'adNum', 'varchar(255 CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'vailPrescribe', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'inputSick', 'tinyint', 1); +CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'groupBuySplit', 'tinyint', 1); + CALL Pro_Temp_ColumnWork('io_order', 'sickerAdNum', 'varchar(255)', 1); CALL Pro_Temp_ColumnWork('basic_sk_prescribe_item_detail', 'pId', 'varchar(255)', 2); CALL Pro_Temp_ColumnWork('basic_sk_prescribe_item_detail', 'updateTime', 'datetime', 1);