diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index 7611a0644..2efa17b33 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -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())) { diff --git a/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java b/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java index 237cf3658..cf9cb7bdf 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java @@ -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; diff --git a/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java b/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java index edc45091e..a870ee63c 100644 --- a/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java +++ b/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java @@ -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 ioCodeTempEntities = ioCodeTempDao.selectList(new LambdaQueryWrapper().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); + } + } + } + + } } diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 81fc83666..1bf5c14d9 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -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); \ No newline at end of file