9/9 药品层级 设置

workplace
wangwei 10 months ago
parent 7e698fc720
commit 781b8faebb

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

@ -86,4 +86,6 @@ public interface UdiProductDao extends BaseMapperPlus<UdiProductDao, UdiProductE
UdiProductEntity selectAllowNoBatch(@Param("nameCode") String nameCode); UdiProductEntity selectAllowNoBatch(@Param("nameCode") String nameCode);
UdiProductEntity selectUdiByName(@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.service.thrsys.BasicInsMaterialService;
import com.glxp.api.util.IntUtil; import com.glxp.api.util.IntUtil;
import org.apache.xmlbeans.impl.xb.xsdschema.Public; import org.apache.xmlbeans.impl.xb.xsdschema.Public;
import org.aspectj.weaver.ast.Var;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
@ -32,6 +33,7 @@ import com.glxp.api.util.udi.UdiInfoUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -271,6 +273,7 @@ public class UdiContrastService {
ThrInsDrugFeeRequest thrInsDrugFeeRequest = new ThrInsDrugFeeRequest(); ThrInsDrugFeeRequest thrInsDrugFeeRequest = new ThrInsDrugFeeRequest();
thrInsDrugFeeRequest.setMedCatalogCode(thrProductsEntity.getYbbm()); thrInsDrugFeeRequest.setMedCatalogCode(thrProductsEntity.getYbbm());
List<BasicInsDrugEntity> basicInsDrugEntities = basicInsDrugService.filterList(thrInsDrugFeeRequest); List<BasicInsDrugEntity> basicInsDrugEntities = basicInsDrugService.filterList(thrInsDrugFeeRequest);
Collections.sort(basicInsDrugEntities, (o1, o2) -> o1.getTradeName().compareTo(o2.getTradeName()));
List<BasicInsDrugEntity> filteredEntities = basicInsDrugEntities.stream() List<BasicInsDrugEntity> filteredEntities = basicInsDrugEntities.stream()
.filter(entity -> entity.getGenericName() != null) // 过滤掉 genericName 为 null 的元素 .filter(entity -> entity.getGenericName() != null) // 过滤掉 genericName 为 null 的元素
.collect(Collectors.toList()); .collect(Collectors.toList());
@ -282,6 +285,7 @@ public class UdiContrastService {
throw new JsonException(500,"系统繁忙"); throw new JsonException(500,"系统繁忙");
} }
} }
int packLevel = 1; // 初始化计数器
//循环插入 //循环插入
for (BasicInsDrugEntity basicInsDrug : basicInsDrugEntities){ for (BasicInsDrugEntity basicInsDrug : basicInsDrugEntities){
UdiProductEntity udiProductEntity = new UdiProductEntity(); UdiProductEntity udiProductEntity = new UdiProductEntity();
@ -299,6 +303,8 @@ public class UdiContrastService {
udiProductEntity.setPackUnit(basicInsDrug.getMinPackagingUnit() != null ? basicInsDrug.getMinPackagingUnit() : basicInsDrugEntity.getMinPackagingUnit()); udiProductEntity.setPackUnit(basicInsDrug.getMinPackagingUnit() != null ? basicInsDrug.getMinPackagingUnit() : basicInsDrugEntity.getMinPackagingUnit());
//设置最小产品数量 //设置最小产品数量
udiProductEntity.setBhxjsl(basicInsDrug.getMinPackagingQuantity() != null ? basicInsDrug.getMinPackagingQuantity() : basicInsDrugEntity.getMinPackagingQuantity()); udiProductEntity.setBhxjsl(basicInsDrug.getMinPackagingQuantity() != null ? basicInsDrug.getMinPackagingQuantity() : basicInsDrugEntity.getMinPackagingQuantity());
//设置包装级别
udiProductEntity.setPackLevel(packLevel + "");
//生产厂家 //生产厂家
udiProductEntity.setManufactory(basicInsDrug.getManufacturerName() != null ? basicInsDrug.getManufacturerName() : basicInsDrugEntity.getManufacturerName()); udiProductEntity.setManufactory(basicInsDrug.getManufacturerName() != null ? basicInsDrug.getManufacturerName() : basicInsDrugEntity.getManufacturerName());
//商品条码 essentialDrugMarkName sptm //商品条码 essentialDrugMarkName sptm
@ -319,11 +325,12 @@ public class UdiContrastService {
} }
udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity); udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity);
udiProductService.insertUdiInfo(udiProductEntity); udiProductService.insertUdiInfo(udiProductEntity);
packLevel++;
} }
setLevel(udiRelevanceEntity.getUuid());
UdiProductEntity byUuid = udiProductService.findByUuid(udiRelevanceEntity.getUuid()); UdiProductEntity byUuid = udiProductService.findByUuid(udiRelevanceEntity.getUuid());
udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, byUuid); udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, byUuid);
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
return ;
}else { }else {
//器械 //器械
ThrInsMaterialFeeRequest request = new ThrInsMaterialFeeRequest(); 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.collection.CollUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil; 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.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.ConstantStatus; 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.UdiProductDao;
import com.glxp.api.dao.basic.UdiRelevanceDao; 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.UdiProductEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity; import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.exception.JsonException; import com.glxp.api.exception.JsonException;
@ -33,7 +37,7 @@ import java.util.stream.Collectors;
@Service @Service
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public class UdiProductService { public class UdiProductService extends ServiceImpl<UdiProductDao, UdiProductEntity> {
@Resource @Resource
private CustomerService customerService; private CustomerService customerService;
@Resource @Resource
@ -564,6 +568,10 @@ public class UdiProductService {
udiRelevanceEntity.setUpdateUser(userId); udiRelevanceEntity.setUpdateUser(userId);
} }
public List<UdiProductEntity> getList(String uuid) {
return udiProductDao.selectListByUuid(uuid);
}
public static class CountWrapper { public static class CountWrapper {
private int count; private int count;

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

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

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

Loading…
Cancel
Save