feat: 科室医保分类功能

dev_fifo1.0
chenhc 1 year ago
parent 543c7c0f6d
commit 26ae4069bc

@ -34,18 +34,21 @@ public class ThrConsumeMaterialCategoryController {
*/
@GetMapping(value = "/deptCategoryTreeselect/{deptCode}")
public BaseResponse deptCategoryTreeselect(@PathVariable("deptCode") Long deptCode) {
List<ThrConsumeMaterialCategory> list = thrConsumeMaterialCategoryService.selectCategoryList();
// List<ThrConsumeMaterialCategoryTree> categorys = new ArrayList<>(list.size());
// list.forEach( item ->{
// ThrConsumeMaterialCategoryTree tree = new ThrConsumeMaterialCategoryTree();
// BeanUtils.copyProperties(item,tree);
// categorys.add(tree);
// });
Map<String, Object> ajax = new HashMap<>();
ajax.put("checkedKeys", thrConsumeMaterialCategoryService.selectCategoryListByDeptCode(deptCode));
ajax.put("categorys", thrConsumeMaterialCategoryService.buildCategoryTreeSelect(list));
return ResultVOUtils.success(ajax);
}
/**
*
*
* @param deptCode code
*/
@GetMapping(value = "/deptCategoryList/{deptCode}")
public BaseResponse selectListByDeptCode(@PathVariable("deptCode") Long deptCode) {
List<ThrConsumeMaterialCategory> list = thrConsumeMaterialCategoryService.selectListByDeptCode(deptCode);
return ResultVOUtils.success(list);
}
}

@ -2,6 +2,7 @@ package com.glxp.api.dao.thrsys;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.thrsys.DeptMaterialCategory;
import com.glxp.api.entity.thrsys.ThrConsumeMaterialCategory;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@ -9,4 +10,5 @@ import java.util.List;
@Mapper
public interface DeptMaterialCategoryMapper extends BaseMapper<DeptMaterialCategory> {
List<Long> selectCategoryListByDeptCode(Long deptCode);
List<ThrConsumeMaterialCategory> selectListByDeptCode(Long deptCode);
}

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@ -210,5 +211,31 @@ public class ThrProductsEntity {
@TableField("invCode")
private String invCode;
/**
* (
*/
@TableField(value = "catalogname1")
@ApiModelProperty(value="一级分类名称(学科,品名)")
private String catalogname1;
/**
* (
*/
@TableField(value = "catalogname2")
@ApiModelProperty(value="二级分类名称(用途、品目)")
private String catalogname2;
/**
* (
*/
@TableField(value = "catalogname3")
@ApiModelProperty(value="三级分类名称(部位、功能、品种)")
private String catalogname3;
/**
*
*/
@TableField(value = "matrial")
@ApiModelProperty(value="耗材材质")
private String matrial;
}

@ -1,6 +1,7 @@
package com.glxp.api.service.thrsys;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.tree.Tree;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.dao.thrsys.DeptMaterialCategoryMapper;
@ -16,8 +17,8 @@ import com.glxp.api.dao.thrsys.ThrConsumeMaterialCategoryMapper;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
@Service
@Transactional(rollbackFor = Exception.class)
@ -28,6 +29,10 @@ public class ThrConsumeMaterialCategoryService extends ServiceImpl<ThrConsumeMat
@Resource
DeptMaterialCategoryMapper deptMaterialCategoryMapper;
/**
* catalogcode name
* @param item
*/
public void updateYbhcCategory(YbHcflEntityResponse item) {
String catalogname1 = item.getCatalogname1();
String catalogname2 = item.getCatalogname2();
@ -86,16 +91,49 @@ public class ThrConsumeMaterialCategoryService extends ServiceImpl<ThrConsumeMat
if (s3 == null )baseMapper.insert(thrConsumeMaterialCategory3);
}
/**
* 12
* @return
*/
public List<ThrConsumeMaterialCategory> selectCategoryList() {
QueryWrapper<ThrConsumeMaterialCategory> qw = new QueryWrapper<>();
qw.in("level",1,2 );
return baseMapper.selectList(qw);
}
/**
* deptCodeid
* @param deptCode
* @return
*/
public List<Long> selectCategoryListByDeptCode(Long deptCode) {
return deptMaterialCategoryMapper.selectCategoryListByDeptCode(deptCode);
}
/**
* deptCodeid
* @param deptCode
* @return
*/
public List<ThrConsumeMaterialCategory> selectListByDeptCode(Long deptCode) {
List<ThrConsumeMaterialCategory> list = deptMaterialCategoryMapper.selectListByDeptCode(deptCode);
List<ThrConsumeMaterialCategory> allCategory = baseMapper.selectList(null);
Set<ThrConsumeMaterialCategory> set = new HashSet<>();
list.forEach( x -> {
ThrConsumeMaterialCategory parentCategoryObject = getParentCategoryObject(allCategory, x);
if (parentCategoryObject!= null){
set.add(parentCategoryObject);
}
});
list.addAll(set);
List<ThrConsumeMaterialCategory> collect = list.stream().sorted(Comparator.comparing(ThrConsumeMaterialCategory::getCategoryId)).collect(Collectors.toList());
return collect;
}
/**
*
* @param categorys
* @return
*/
public List<Tree<Long>> buildCategoryTreeSelect(List<ThrConsumeMaterialCategory> categorys) {
if (CollUtil.isEmpty(categorys)) {
return CollUtil.newArrayList();
@ -106,4 +144,46 @@ public class ThrConsumeMaterialCategoryService extends ServiceImpl<ThrConsumeMat
.setName(category.getCategoryName())
.setWeight(category.getCategoryId()));
}
/**
*
*/
public YbHcflEntityResponse parseEncodeReturnName(String catalogCode){
YbHcflEntityResponse response = new YbHcflEntityResponse();
response.setCatalogcode(catalogCode);
if (catalogCode.length() < 7) return response;
Integer catalogcode1 = Integer.valueOf(catalogCode.substring(1, 3));
Integer catalogcode2 = Integer.valueOf(catalogcode1 + catalogCode.substring(3, 5));
Integer catalogcode3 = Integer.valueOf(catalogcode2 + catalogCode.substring(5, 7));
QueryWrapper<ThrConsumeMaterialCategory> qw = new QueryWrapper<>();
qw.in("id",catalogcode1,catalogcode2,catalogcode3 );
List<ThrConsumeMaterialCategory> list = baseMapper.selectList(qw);
if (CollectionUtil.isNotEmpty(list)){
list.forEach( x -> {
Integer level = x.getLevel();
switch (level) {
case 1: response.setCatalogname1(x.getCategoryName());
break;
case 2: response.setCatalogname2(x.getCategoryName());
break;
case 3: response.setCatalogname3(x.getCategoryName());
break;
}
});
}
return response;
}
public ThrConsumeMaterialCategory getParentCategoryObject(List<ThrConsumeMaterialCategory> allCategory,ThrConsumeMaterialCategory category) {
if (category.getParentCategoryId() == 0) {
return category;
}
ThrConsumeMaterialCategory tblCategory = allCategory.stream().filter(
x -> Objects.equals(x.getCategoryId(), category.getParentCategoryId())
).findFirst().get();
return getParentCategoryObject(allCategory,tblCategory);
}
}

@ -17,4 +17,12 @@
from dept_material_category
where deptCode = #{deptCode}
</select>
<select id="selectListByDeptCode" resultType="com.glxp.api.entity.thrsys.ThrConsumeMaterialCategory">
select cmc.*
from dept_material_category dmc
LEFT JOIN thr_consume_material_category cmc ON cmc.categoryId = dmc.categoryId
where dmc.deptCode = #{deptCode}
</select>
</mapper>

@ -1869,10 +1869,51 @@ CALL Pro_Temp_ColumnWork('basic_products', 'catalogname3',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''三级分类名称(部位、功能、品种)''',
1);
CALL Pro_Temp_ColumnWork('basic_products', 'catalogCode1',
' bigint DEFAULT NULL COMMENT ''一级分类名称(学科,品名)''',
1);
CALL Pro_Temp_ColumnWork('basic_products', 'catalogCode2',
' bigint DEFAULT NULL COMMENT ''二级分类名称(用途、品目)''',
1);
CALL Pro_Temp_ColumnWork('basic_products', 'catalogCode3',
' bigint DEFAULT NULL COMMENT''三级分类名称(部位、功能、品种)''',
1);
CALL Pro_Temp_ColumnWork('basic_products', 'matrial',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''耗材材质''',
1);
CALL Pro_Temp_ColumnWork('thr_products', 'catalogname1',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''一级分类名称(学科,品名)''',
1);
CALL Pro_Temp_ColumnWork('thr_products', 'catalogname2',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''二级分类名称(用途、品目)''',
1);
CALL Pro_Temp_ColumnWork('thr_products', 'catalogname3',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''三级分类名称(部位、功能、品种)''',
1);
CALL Pro_Temp_ColumnWork('thr_products', 'catalogCode1',
' bigint DEFAULT NULL COMMENT ''一级分类名称(学科,品名)''',
1);
CALL Pro_Temp_ColumnWork('thr_products', 'catalogCode2',
' bigint DEFAULT NULL COMMENT ''二级分类名称(用途、品目)''',
1);
CALL Pro_Temp_ColumnWork('thr_products', 'catalogCode3',
' bigint DEFAULT NULL COMMENT''三级分类名称(部位、功能、品种)''',
1);
CALL Pro_Temp_ColumnWork('thr_products', 'matrial',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''耗材材质''',
1);
CALL Pro_Temp_ColumnWork('thr_inv_order_detail', 'handleStatus',
' int(0) NULL DEFAULT NULL COMMENT ''是否处理''',
@ -1945,3 +1986,8 @@ INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `
CALL Pro_Temp_ColumnWork('basic_sk_sicker', 'sourceType',
' int(0) NULL DEFAULT NULL COMMENT ''来源类型 2手动''',
1);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, `visible`,
`status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (2092, '科室医保分类', 1643, 8, 'basic/consume/materialCategory', 'basic/consume/materialCategory', NULL, 1, 0, 'C', '0', '0',
NULL, NULL, '超级用户', '2024-04-08 16:08:55', NULL, NULL, NULL);

Loading…
Cancel
Save