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

dev_no_inv
chenhc 9 months ago
parent 714531279f
commit 0c7008a8b7

@ -1,5 +1,6 @@
package com.glxp.api.controller.inout;
import cn.hutool.core.thread.ThreadUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.glxp.api.annotation.CusRedissonAnnotation;
@ -1216,6 +1217,10 @@ public class IoCodeTempController extends BaseController {
return ResultVOUtils.success(addCodeResult);
}
@Resource
RelCodeBatchService relCodeBatchService;
@Transactional(rollbackFor = Exception.class)
public BaseResponse addDrugOrder(AddOrderRequest addOrderRequest, UdiEntity udiEntity, String code) {
AddCodeResult addCodeResult = new AddCodeResult();
@ -1487,6 +1492,10 @@ public class IoCodeTempController extends BaseController {
codeEnttity.setProductType(2);
codeEnttity.setCount(1);
String unitFk = null;
// TODO: 2024/10/17 异步调用 查询是否存在药品关联信息 后将结果更新至 temp表
ThreadUtil.execAsync(() -> {
relCodeBatchService.threadUpdateIoCodeTempEntity(codeEnttity);
});
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
unitFk = addOrderRequest.getFromCorp();
} else if (StrUtil.isNotEmpty(addOrderRequest.getSelectSupId())) {

@ -194,6 +194,15 @@ public class IoCodeTempEntity {
@TableField(value = "fifoSplit")
private Integer fifoSplit;
/**
* 0 1
*/
@TableField(value = "drugLink")
private Integer drugLink;
public int getMyCount() {
if (count == null)
return 0;

@ -12,10 +12,12 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.dao.inout.IoCodeTempDao;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.basic.ProductInfoEntity;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.collect.RelCodeDetail;
import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.thrsys.ThrSystemEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.http.sync.SpsDirectClient;
@ -345,5 +347,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);
}
}
}
}
}

@ -4554,4 +4554,8 @@ CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'productType',
CALL Pro_Temp_ColumnWork('io_collect_order_code_man', 'scanActCount',
'int NULL DEFAULT NULL COMMENT ''扫码实际数量''',
1);
CALL Pro_Temp_ColumnWork('io_code_temp', 'drugLink',
' tinyint NULL DEFAULT b''0''COMMENT ''药品关联关系是否存在 0不存在 1存在''',
1);
Loading…
Cancel
Save