集采拆单问题

zyy_db
anthonywj 1 year ago
parent d970162fca
commit c065ed3a6d

@ -473,4 +473,11 @@ public class BasicBussinessTypeEntity {
@TableField(value = "inputSick")
private Boolean inputSick;
/**
* 1:2
*/
@TableField(value = "groupBuySplit")
private Integer groupBuySplit;
}

@ -315,4 +315,5 @@ public class BussinessTypeSaveRequest {
private Integer deptNoInvType;
private Boolean vailPrescribe;
private Boolean inputSick;
private Boolean groupBuySplit;
}

@ -135,5 +135,6 @@ public class FilterBussinessTypeRequest extends ListPageRequest {
private String detailType;
private Boolean vailPrescribe;
private Boolean inputSick;
private Boolean groupBuySplit;
}

@ -191,4 +191,5 @@ public class BasicBussinessTypeResponse {
private Integer deptNoInvType;
private Boolean vailPrescribe;
private Boolean inputSick;
private Boolean groupBuySplit;
}

@ -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<IoCodeEntity> useInList, IoOrderEntity orderEntity, boolean isGenInovice) {
@ -157,8 +159,38 @@ public class IoChangeInoutService {
if (useInList.size() <= 0) {
return;
}
Map<String, List<IoCodeEntity>> filterSupMaps = new HashMap<>();
BasicBussinessTypeEntity targetBustypeEntity = basicBussinessTypeService.findByAction(bussinessChangeTypeEntity.getAction());
// buildGenOrder(targetBustypeEntity, bussinessChangeTypeEntity, useInList, orderEntity, isGenInovice);
List<IoCodeEntity> groupBuyList = new ArrayList<>();
List<IoCodeEntity> 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<IoCodeEntity> useInList, IoOrderEntity orderEntity, boolean isGenInvoice) {
Map<String, List<IoCodeEntity>> 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<IoOrderInvoiceEntity> invoiceEntities = ioOrderInvoiceService.findByBillNo(orderEntity.getBillNo());
if (CollUtil.isNotEmpty(invoiceEntities)) {

@ -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);

Loading…
Cancel
Save