feat: 药品关联关系是否存在

dev_unify
chenhc 9 months ago
parent 4f1258572d
commit e2ba897fc3

@ -2,6 +2,7 @@ package com.glxp.api.controller.inout;
import cn.hutool.Hutool;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
@ -39,6 +40,7 @@ import com.glxp.api.res.inout.AddCodeResult;
import com.glxp.api.res.inout.IoCodeTempResponse;
import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.service.basic.*;
import com.glxp.api.service.collect.RelCodeBatchService;
import com.glxp.api.service.inout.*;
import com.glxp.api.service.inout.impl.IoCodeService;
import com.glxp.api.service.inv.*;
@ -896,6 +898,9 @@ public class IoCodeTempController extends BaseController {
}
@Resource
RelCodeBatchService relCodeBatchService;
//前端扫码提交(药品)
@AuthRuleAnnotation("")
@PostMapping("warehouse/inout/drug/addOrderWeb")
@ -1077,6 +1082,10 @@ public class IoCodeTempController extends BaseController {
codeEnttity.setCount(1);
codeEnttity.setProductType(2);
String unitFk = null;
// TODO: 2024/10/17 异步调用 查询是否存在药品关联信息 后将结果更新至 temp表
ThreadUtil.execAsync(() -> {
relCodeBatchService.threadUpdateIoCodeTempEntity(codeEnttity);
});
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
unitFk = addOrderRequest.getFromCorp();
}

@ -153,6 +153,13 @@ public class IoCodeTempEntity {
private String mySupId; //更新供应商
/**
* 0 1
*/
@TableField(value = "drugLink")
private Integer drugLink;
/**
* 1:;2:
*/

@ -15,12 +15,14 @@ import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.dao.basic.BasicProductsDao;
import com.glxp.api.dao.collect.RelCodeBatchMapper;
import com.glxp.api.dao.inout.IoCodeTempDao;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.basic.ProductInfoEntity;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.collect.RelCodeBatch;
import com.glxp.api.entity.collect.RelCodeDetail;
import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.collect.RelCodeBatchRequest;
import com.glxp.api.req.collect.RelCodeDetailRequest;
@ -28,6 +30,7 @@ import com.glxp.api.res.collect.RelCodeBatchResponse;
import com.glxp.api.res.collect.RelCodeDetailByParentCodeResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.ProductInfoService;
import com.glxp.api.service.inout.IoCodeTempService;
import com.glxp.api.util.HttpClient;
import com.glxp.api.util.udi.FilterUdiUtils;
import lombok.extern.slf4j.Slf4j;
@ -412,4 +415,31 @@ public class RelCodeBatchService extends ServiceImpl<RelCodeBatchMapper, RelCode
}
}
@Resource
IoCodeTempDao ioCodeTempDao;
public void threadUpdateIoCodeTempEntity(IoCodeTempEntity codeTempEntity){
String parentCode = codeTempEntity.getCode();
List<IoCodeTempEntity> ioCodeTempEntities = ioCodeTempDao.selectList(new LambdaQueryWrapper<IoCodeTempEntity>().eq(IoCodeTempEntity::getCode, parentCode));
if (CollUtil.isNotEmpty(ioCodeTempEntities)){
if (this.batchExist(parentCode)){
//打上匹配到了药品关联关系的标记
for (int i = 0; i < ioCodeTempEntities.size(); i++) {
IoCodeTempEntity ioCodeTempEntity = ioCodeTempEntities.get(i);
ioCodeTempEntity.setDrugLink(1);
ioCodeTempDao.updateById(ioCodeTempEntity);
}
}else {
//打上匹配不到了药品关联关系的标记
for (int i = 0; i < ioCodeTempEntities.size(); i++) {
IoCodeTempEntity ioCodeTempEntity = ioCodeTempEntities.get(i);
ioCodeTempEntity.setDrugLink(0);
ioCodeTempDao.updateById(ioCodeTempEntity);
}
}
}
}
}

@ -1015,3 +1015,8 @@ CALL Pro_Temp_ColumnWork('basic_products', 'xjdw', ' varchar(60) CHARACTER SET u
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'productType',
' tinyint NULL DEFAULT NULL COMMENT ''单据类型; 1:器械单据 2:药品单据''',
1);
CALL Pro_Temp_ColumnWork('io_code_temp', 'drugLink',
' tinyint NULL DEFAULT b''0''COMMENT ''药品关联关系是否存在 0不存在 1存在''',
1);
Loading…
Cancel
Save