10/17 单据增加单据类型(器械/药品)基础数据器械响应优化

dev_no_inv
wangwei 9 months ago
parent 081bf3c658
commit 61e784aca3

@ -263,7 +263,7 @@ public class BasicBussinessTypeController extends BaseController {
BindingResult bindingResult) {
if (StrUtil.isNotEmpty(bussinessTypeFilterRequest.getVueType())) {
List<BasicBussinessTypeEntity> result = new ArrayList<>();
List<BasicBussinessTypeEntity> bussinessTypeEntities = basicBussinessTypeService.findByVueType(bussinessTypeFilterRequest.getVueType());
List<BasicBussinessTypeEntity> bussinessTypeEntities = basicBussinessTypeService.findByVueTypeAndType(bussinessTypeFilterRequest);
if (StrUtil.isNotEmpty(bussinessTypeFilterRequest.getInvCode()) || StrUtil.isNotEmpty(bussinessTypeFilterRequest.getCode())) {
//过滤是否是当前仓库底下单据类型
FilterBussinessTypeRequest tempRequest = new FilterBussinessTypeRequest();
@ -319,7 +319,7 @@ public class BasicBussinessTypeController extends BaseController {
List<DictDto> reList = new ArrayList<>();
if (StrUtil.isNotEmpty(bussinessTypeFilterRequest.getVueType())) {
List<BasicBussinessTypeEntity> result = new ArrayList<>();
List<BasicBussinessTypeEntity> bussinessTypeEntities = basicBussinessTypeService.findByVueType(bussinessTypeFilterRequest.getVueType());
List<BasicBussinessTypeEntity> bussinessTypeEntities = basicBussinessTypeService.findByVueTypeAndType(bussinessTypeFilterRequest);
if (StrUtil.isNotEmpty(bussinessTypeFilterRequest.getInvCode()) || StrUtil.isNotEmpty(bussinessTypeFilterRequest.getCode())) {
//过滤是否是当前仓库底下单据类型
FilterBussinessTypeRequest tempRequest = new FilterBussinessTypeRequest();

@ -416,33 +416,17 @@ public class IoCollectOrderController extends BaseController {
@PostMapping("/udiwms/basic/collect/order/vailFinish")
public BaseResponse vailOrderFinish(@RequestBody CollectOrderRequest collectOrderRequest) {
if (StrUtil.isEmpty(collectOrderRequest.getBillNo()))
return ResultVOUtils.error(500, "单据号不能为空!");
CollectOrderBizRequest collectOrderBizRequest = new CollectOrderBizRequest();
collectOrderBizRequest.setOrderIdFk(collectOrderRequest.getBillNo());
List<CollectOrderBizResponse> collectOrderBizResponses = collectOrderService.combieOrderDetail(collectOrderBizRequest);
// 全部自动赋码
boolean isAllTag = collectOrderBizResponses.stream()
.allMatch(obj -> obj.getAutoTagStatus() == 2);
// StrUtil.isNotEmpty(obj.getFinishUdiCode()) ||
boolean isAllTag2 = collectOrderBizResponses.stream()
.allMatch(obj -> IntUtil.value(obj.getScanActCount()) >= IntUtil.value(obj.getCount()));
if (isAllTag || isAllTag2){
return ResultVOUtils.success(true);
}
//如果有一条自动赋码的
boolean isAllTag3 = collectOrderBizResponses.stream()
.anyMatch(obj -> obj.getAutoTagStatus() == 2);
if (isAllTag3){
//过滤掉自动赋码的
boolean isAllTag4 = collectOrderBizResponses.stream()
.filter(obj -> obj.getAutoTagStatus() != 2)
.allMatch(obj -> IntUtil.value(obj.getScanActCount()) >= IntUtil.value(obj.getCount()));
if (isAllTag4){
return ResultVOUtils.success(true);
}
}
return ResultVOUtils.success(false);
return ResultVOUtils.success(isAllTag || isAllTag2);
}

@ -522,6 +522,10 @@ public class BasicBussinessTypeEntity {
@TableField(value = "codeCheck")
private Integer codeCheck;
@TableField(value = "productType")
private Integer productType;
/**
*
*/

@ -342,4 +342,11 @@ public class BussinessTypeSaveRequest {
private Integer codeCheck;
/**
* , 12
*/
@TableField(value = "productType")
private Integer productType;
}

@ -143,4 +143,9 @@ public class FilterBussinessTypeRequest extends ListPageRequest {
*/
private Boolean vailInvBatchNo;
/**
* , 12
*/
private Integer productType;
}

@ -223,4 +223,10 @@ public class BasicBussinessTypeResponse {
@TableField(value = "codeCheck")
private Integer codeCheck;
/**
* , 12
*/
@TableField(value = "productType")
private Integer productType;
}

@ -122,4 +122,6 @@ public interface IBasicBussinessTypeService extends IService<BasicBussinessTypeE
List<BasicBussinessTypeEntity> selectbyNotAction(List<String> list);
List<BasicBussinessTypeEntity> findByLastTime(Date lastUpdateTime);
List<BasicBussinessTypeEntity> findByVueTypeAndType(FilterBussinessTypeRequest bussinessTypeFilterRequest);
}

@ -392,4 +392,162 @@ public class BasicBussinessTypeServiceImpl extends ServiceImpl<BasicBussinessTyp
public List<BasicBussinessTypeEntity> findByLastTime(Date lastUpdateTime) {
return basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>().gt("updateTime", lastUpdateTime));
}
@Override
public List<BasicBussinessTypeEntity> findByVueTypeAndType(FilterBussinessTypeRequest bussinessTypeFilterRequest) {
List<BasicBussinessTypeEntity> bussinessTypeEntities = null;
switch (bussinessTypeFilterRequest.getVueType()) {
case Constant.ORDER_ACTION_NOR_DETAIL:
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.eq("actionType", 1)
.eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType())
.eq("inStock", true).eq("enable", true));
break;
case Constant.ORDER_ACTION_PRE_DETAIL:
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.eq("actionType", 3)
.eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType())
.eq("inStock", true).eq("enable", true));
break;
case Constant.ORDER_ACTION_PREIN_DETAIL:
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.eq("actionType", 2)
.eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType())
.eq("inStock", true).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<BasicBussinessTypeEntity>()
.eq("mainAction", ConstantType.TYPE_PUT)
.eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType())
.eq("corpType", ConstantStatus.CORP_TYPE_OUT)
.gt("spUse", 1).eq("enable", true));
} else {
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.eq("mainAction", ConstantType.TYPE_PUT)
.eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType())
.eq("corpType", ConstantStatus.CORP_TYPE_OUT)
.gt("spUse", 1).eq("inStock", false).eq("enable", true));
}
break;
/**
*
*
*
* 使
*
*
*
* or
*
*
*
*
*
*
*/
case Constant.ORDER_ACTION_SUP_INVOICE:
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.eq("mainAction", ConstantType.TYPE_PUT)
.eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType())
.gt("spUse", 0).eq("actionType", 1).eq("enable", true));
break;
case Constant.ORDER_ACTION_SUP_DELAUDIT: //供应商审核送货单
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.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<BasicBussinessTypeEntity>()
.gt("spUse", 0).eq("enable", true).eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType()));
break;
case Constant.ORDER_ACTION_SUP_PREIN:
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.gt("spUse", 0).eq("enable", true).eq("corpType", ConstantStatus.CORP_TYPE_OUT).eq("actionType", 2)
.eq("inStock", true)
.eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType())
.eq("mainAction", ConstantType.TYPE_PUT));
break;
case Constant.ORDER_ACTION_WAIT_CHECK: //待校验
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.eq("enable", true).eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType()).and(
webNew -> webNew.eq("checkWebNew", 3)
.or().eq("checkPdaUn", 3)
.or().eq("checkPdaEd", 3)
.or().eq("checkUdims", 3)
.or().eq("checkPc", 3)
.or().eq("checkSp", 3)
.or().eq("checkChange", 3)
.or().eq("checkBalance", 3)
.or().eq("checkCopy", 3)
)
);
break;
case Constant.ORDER_ACTION_WAIT_DEAL: //待配货/拣货页面
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.eq("enable", true).eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType()).and(
webNew -> webNew.in("checkWebNew", 1, 2)
.or().in("checkPdaUn", 1, 2)
.or().in("checkPdaEd", 1, 2)
.or().in("checkUdims", 1, 2)
.or().in("checkPc", 1, 2)
.or().in("checkSp", 1, 2)
.or().in("checkChange", 1, 2)
.or().in("checkBalance", 1, 2)
.or().in("checkCopy", 1, 2)
)
);
break;
case Constant.ORDER_THIRD_STOCK: //内部码
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.eq("enable", true).eq(bussinessTypeFilterRequest.getProductType() != null, "productType", bussinessTypeFilterRequest.getProductType()).and(
webNew -> webNew.in("checkWebNew", 1, 2, 3)
.or().in("checkPdaUn", 1, 2, 3)
.or().in("checkPdaEd", 1, 2, 3)
.or().in("checkUdims", 1, 2, 3)
.or().in("checkPc", 1, 2, 3)
.or().in("checkSp", 1, 2, 3)
.or().in("checkChange", 1, 2, 3)
.or().in("checkBalance", 1, 2, 3)
.or().in("checkCopy", 1, 2, 3)
)
);
break;
case Constant.ORDER_THIRD_UPLOAD:
List<ThrOrderUploadBustypesEntity> thrOrderUploadBustypesEntities = thrOrderUploadBustypesService.list();
List<String> actions = new ArrayList<>();
thrOrderUploadBustypesEntities.forEach(item ->
{
actions.add(item.getAction());
});
if (CollUtil.isNotEmpty(actions)) {
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>().in("action", actions));
}
break;
//科室拆零预出库界面
case Constant.ORDER_ACTION_SPLIT:
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.eq("enable", true).and(
webNew -> webNew.in("action", "SC72197936495755", "SC72249388338364")
)
);
break;
default:
break;
}
return bussinessTypeEntities;
}
}

@ -39,6 +39,9 @@
<if test="busType != null">
AND bu.busType = #{busType}
</if>
<if test="productType != null">
AND bu.productType = #{productType}
</if>
<if test="preIn != null">
AND bu.preIn = #{preIn}
</if>
@ -213,6 +216,9 @@
<if test="enable != null">
AND basic_bussiness_type.enable = #{enable}
</if>
<if test="productType != null">
AND basic_bussiness_type.productType = #{productType}
</if>
<if test="spUse == 3">
AND basic_bussiness_type.spUse > 0
</if>
@ -263,6 +269,9 @@
<if test="enable != null">
AND basic_bussiness_type.enable = #{enable}
</if>
<if test="productType != null">
AND basic_bussiness_type.productType = #{productType}
</if>
<if test="spUse == 3">
AND basic_bussiness_type.spUse > 0
</if>

@ -4545,3 +4545,8 @@ CREATE TABLE IF NOT EXISTS `anncmnt_product`
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci
ROW_FORMAT = DYNAMIC;
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'productType',
' tinyint NULL DEFAULT NULL COMMENT ''单据类型; 1:器械单据 2:药品单据''',
1);

Loading…
Cancel
Save