9/9 药品层级 设置

workplace
wangwei 10 months ago
parent 7e698fc720
commit 781b8faebb

@ -76,6 +76,9 @@ public class SysWorkplaceDocumentController extends BaseController {
@PostMapping("/udiwms/sysWorkplace/updateType")
public BaseResponse updateType(@RequestBody SysWorkplaceDocumentEntity entity) {
if (entity.getInvCode() == null){
entity.setInvCode(0);
}
boolean save = sysWorkplaceDocumentService.updateById(entity);
if (!save) {

@ -86,4 +86,6 @@ public interface UdiProductDao extends BaseMapperPlus<UdiProductDao, UdiProductE
UdiProductEntity selectAllowNoBatch(@Param("nameCode") String nameCode);
UdiProductEntity selectUdiByName(@Param("nameCode") String nameCode);
List<UdiProductEntity> selectListByUuid(@Param("uuid") String uuid);
}

@ -9,6 +9,7 @@ import com.glxp.api.service.thrsys.BasicInsDrugService;
import com.glxp.api.service.thrsys.BasicInsMaterialService;
import com.glxp.api.util.IntUtil;
import org.apache.xmlbeans.impl.xb.xsdschema.Public;
import org.aspectj.weaver.ast.Var;
import org.springframework.beans.BeanUtils;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
@ -32,6 +33,7 @@ import com.glxp.api.util.udi.UdiInfoUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@ -271,6 +273,7 @@ public class UdiContrastService {
ThrInsDrugFeeRequest thrInsDrugFeeRequest = new ThrInsDrugFeeRequest();
thrInsDrugFeeRequest.setMedCatalogCode(thrProductsEntity.getYbbm());
List<BasicInsDrugEntity> basicInsDrugEntities = basicInsDrugService.filterList(thrInsDrugFeeRequest);
Collections.sort(basicInsDrugEntities, (o1, o2) -> o1.getTradeName().compareTo(o2.getTradeName()));
List<BasicInsDrugEntity> filteredEntities = basicInsDrugEntities.stream()
.filter(entity -> entity.getGenericName() != null) // 过滤掉 genericName 为 null 的元素
.collect(Collectors.toList());
@ -282,6 +285,7 @@ public class UdiContrastService {
throw new JsonException(500,"系统繁忙");
}
}
int packLevel = 1; // 初始化计数器
//循环插入
for (BasicInsDrugEntity basicInsDrug : basicInsDrugEntities){
UdiProductEntity udiProductEntity = new UdiProductEntity();
@ -299,6 +303,8 @@ public class UdiContrastService {
udiProductEntity.setPackUnit(basicInsDrug.getMinPackagingUnit() != null ? basicInsDrug.getMinPackagingUnit() : basicInsDrugEntity.getMinPackagingUnit());
//设置最小产品数量
udiProductEntity.setBhxjsl(basicInsDrug.getMinPackagingQuantity() != null ? basicInsDrug.getMinPackagingQuantity() : basicInsDrugEntity.getMinPackagingQuantity());
//设置包装级别
udiProductEntity.setPackLevel(packLevel + "");
//生产厂家
udiProductEntity.setManufactory(basicInsDrug.getManufacturerName() != null ? basicInsDrug.getManufacturerName() : basicInsDrugEntity.getManufacturerName());
//商品条码 essentialDrugMarkName sptm
@ -319,11 +325,12 @@ public class UdiContrastService {
}
udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity);
udiProductService.insertUdiInfo(udiProductEntity);
packLevel++;
}
setLevel(udiRelevanceEntity.getUuid());
UdiProductEntity byUuid = udiProductService.findByUuid(udiRelevanceEntity.getUuid());
udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, byUuid);
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
return ;
}else {
//器械
ThrInsMaterialFeeRequest request = new ThrInsMaterialFeeRequest();
@ -511,4 +518,29 @@ public class UdiContrastService {
}
}
public void setLevel(String uuid){
List<UdiProductEntity> list = udiProductService.getList(uuid);
if (list.size() > 1){
// 根据条件设置上级和下级标识
for (int i = 0; i < list.size(); i++) {
// 设置上级标识
if (i > 0) {
list.get(i).setSjcpbm(String.valueOf(list.get(i - 1).getNameCode()));
} else {
// 第一个对象没有上级标识可以设置为null或者特定的值
list.get(i).setSjcpbm(null);
}
// 设置下级标识
if (i < list.size() - 1) {
list.get(i).setBhxjcpbm(String.valueOf(list.get(i + 1).getNameCode()));
} else {
// 最后一个对象没有下级标识设置为null
list.get(i).setBhxjcpbm(null);
}
udiProductService.updateUdiInfo(list.get(i));
}
}
}
}

@ -3,11 +3,15 @@ package com.glxp.api.service.basic;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.basic.SupEvaluateDetailMapper;
import com.glxp.api.dao.basic.UdiProductDao;
import com.glxp.api.dao.basic.UdiRelevanceDao;
import com.glxp.api.entity.basic.SupEvaluateDetailEntity;
import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.exception.JsonException;
@ -33,7 +37,7 @@ import java.util.stream.Collectors;
@Service
@Transactional(rollbackFor = Exception.class)
public class UdiProductService {
public class UdiProductService extends ServiceImpl<UdiProductDao, UdiProductEntity> {
@Resource
private CustomerService customerService;
@Resource
@ -564,6 +568,10 @@ public class UdiProductService {
udiRelevanceEntity.setUpdateUser(userId);
}
public List<UdiProductEntity> getList(String uuid) {
return udiProductDao.selectListByUuid(uuid);
}
public static class CountWrapper {
private int count;

@ -159,7 +159,7 @@ public class IoSplitDesOrderService extends ServiceImpl<IoSplitDesOrderMapper, I
.orderType(1)
.workPlaceCode(addInvDesDetaiRequest.getSplitFifoInv().getWorkPlaceCode())
.createTime(new Date())
.billTime(new Date())
// .billTime(new Date())
.remark(addInvDesDetaiRequest.getRemark())
.status(2)
.createUser(addInvDesDetaiRequest.getCreateUser())
@ -197,7 +197,7 @@ public class IoSplitDesOrderService extends ServiceImpl<IoSplitDesOrderMapper, I
//todo 码明细删减库存
IoSplitFifoCodeEntity splitFifoCodeEntity = splitFifoCodeService.getOne(new LambdaQueryWrapper<IoSplitFifoCodeEntity>()
.eq(IoSplitFifoCodeEntity::getWorkPlaceCode, splitFifoInv.getWorkPlaceCode())
.eq(IoSplitFifoCodeEntity::getBatchNo, splitFifoInv.getBatchNo())
// .eq(IoSplitFifoCodeEntity::getBatchNo, splitFifoInv.getBatchNo())
.eq(IoSplitFifoCodeEntity::getRelId, splitFifoInv.getRelId()));
if (splitFifoCodeEntity == null) {
throw new JsonException("该工位不存在,请检查后重试!");

@ -1289,4 +1289,8 @@
</where>
limit 1
</select>
<select id="selectListByUuid" resultType="com.glxp.api.entity.basic.UdiProductEntity">
select *
from basic_products where uuid = #{uuid}
</select>
</mapper>

@ -4,17 +4,19 @@
<select id="filterList" parameterType="com.glxp.api.req.collect.CollectOrderBizRequest"
resultType="com.glxp.api.res.collect.IoSplitDesOrderResponse">
SELECT isdo.*,
sw.workplaceName, COALESCE(thr_bustype_origin.name, basic_bussiness_type.name) as busTypeName
sw.workplaceName, swd.busName as busTypeName
FROM io_split_des_order isdo
left join sys_workplace sw on isdo.workPlaceCode = sw.workplaceId
left join thr_bustype_origin on isdo.busType = thr_bustype_origin.action
left join basic_bussiness_type on isdo.busType = basic_bussiness_type.action
left join sys_workplace_document swd on isdo.busType = swd.documentTypeCode
# left join thr_bustype_origin on isdo.busType = thr_bustype_origin.action
# left join basic_bussiness_type on isdo.busType = basic_bussiness_type.action
<where>
<if test="billNo != '' and billNo != null">
AND billNo LIKE concat('%', #{billNo}, '%')
</if>
<if test="busType != null and busType != ''">
AND busType = #{busType}
AND isdo.busType = #{busType}
</if>
<if test="workPlaceCode != null">
AND isdo.workPlaceCode = #{workPlaceCode}
@ -24,5 +26,6 @@
date_format(#{endTime}, '%Y-%m-%d')
</if>
</where>
ORDER BY isdo.createTime DESC
</select>
</mapper>

Loading…
Cancel
Save