feat: 科室医保分类功能

dev_fifo1.0
chenhc 1 year ago
parent 26ae4069bc
commit fda7209233

@ -6,13 +6,12 @@ import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.auth.SysMenu; import com.glxp.api.entity.auth.SysMenu;
import com.glxp.api.entity.thrsys.ThrConsumeMaterialCategory; import com.glxp.api.entity.thrsys.ThrConsumeMaterialCategory;
import com.glxp.api.entity.thrsys.ThrConsumeMaterialCategoryTree; import com.glxp.api.entity.thrsys.ThrConsumeMaterialCategoryTree;
import com.glxp.api.req.thrsys.UpdateBindCategoryRequest;
import com.glxp.api.service.thrsys.DeptMaterialCategoryService; import com.glxp.api.service.thrsys.DeptMaterialCategoryService;
import com.glxp.api.service.thrsys.ThrConsumeMaterialCategoryService; import com.glxp.api.service.thrsys.ThrConsumeMaterialCategoryService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
@ -32,7 +31,7 @@ public class ThrConsumeMaterialCategoryController {
* *
* @param deptCode code * @param deptCode code
*/ */
@GetMapping(value = "/deptCategoryTreeselect/{deptCode}") @GetMapping(value = "/consumeMaterialCategory/deptCategoryTreeselect/{deptCode}")
public BaseResponse deptCategoryTreeselect(@PathVariable("deptCode") Long deptCode) { public BaseResponse deptCategoryTreeselect(@PathVariable("deptCode") Long deptCode) {
List<ThrConsumeMaterialCategory> list = thrConsumeMaterialCategoryService.selectCategoryList(); List<ThrConsumeMaterialCategory> list = thrConsumeMaterialCategoryService.selectCategoryList();
Map<String, Object> ajax = new HashMap<>(); Map<String, Object> ajax = new HashMap<>();
@ -46,9 +45,30 @@ public class ThrConsumeMaterialCategoryController {
* *
* @param deptCode code * @param deptCode code
*/ */
@GetMapping(value = "/deptCategoryList/{deptCode}") @GetMapping(value = "/consumeMaterialCategory/deptCategoryList/{deptCode}")
public BaseResponse selectListByDeptCode(@PathVariable("deptCode") Long deptCode) { public BaseResponse selectListByDeptCode(@PathVariable("deptCode") Long deptCode) {
List<ThrConsumeMaterialCategory> list = thrConsumeMaterialCategoryService.selectListByDeptCode(deptCode); List<ThrConsumeMaterialCategory> list = thrConsumeMaterialCategoryService.selectListByDeptCode(deptCode);
return ResultVOUtils.success(list); return ResultVOUtils.success(list);
} }
/**
*
*
*/
@PostMapping(value = "/consumeMaterialCategory/updateBindCategory")
public BaseResponse updateBindCategory(@RequestBody UpdateBindCategoryRequest updateBindCategoryRequest) {
thrConsumeMaterialCategoryService.updateBindCategory(updateBindCategoryRequest);
return ResultVOUtils.success();
}
/**
*
*
*/
@DeleteMapping(value = "/consumeMaterialCategory/deleteBindCategory")
public BaseResponse deleteBindCategory(@RequestBody UpdateBindCategoryRequest updateBindCategoryRequest) {
thrConsumeMaterialCategoryService.deleteBindCategory(updateBindCategoryRequest);
return ResultVOUtils.success();
}
} }

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

@ -0,0 +1,17 @@
package com.glxp.api.req.thrsys;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@Data
public class UpdateBindCategoryRequest {
// @NotNull(message = "类别列表不可为null")
private Long[] deptCategory;
@NotEmpty(message = "部门不可为空")
private Long deptCode;
}

@ -4,9 +4,12 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.lang.tree.Tree;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.glxp.api.dao.thrsys.DeptMaterialCategoryMapper; import com.glxp.api.dao.thrsys.DeptMaterialCategoryMapper;
import com.glxp.api.entity.auth.SysRole; import com.glxp.api.entity.auth.SysRole;
import com.glxp.api.entity.thrsys.DeptMaterialCategory;
import com.glxp.api.entity.thrsys.ThrConsumeMaterialCategoryTree; import com.glxp.api.entity.thrsys.ThrConsumeMaterialCategoryTree;
import com.glxp.api.req.thrsys.UpdateBindCategoryRequest;
import com.glxp.api.res.chs.YbHcflEntityResponse; import com.glxp.api.res.chs.YbHcflEntityResponse;
import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.util.TreeBuildUtils; import com.glxp.api.util.TreeBuildUtils;
@ -17,6 +20,7 @@ import com.glxp.api.dao.thrsys.ThrConsumeMaterialCategoryMapper;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -125,7 +129,10 @@ public class ThrConsumeMaterialCategoryService extends ServiceImpl<ThrConsumeMat
} }
}); });
list.addAll(set); list.addAll(set);
List<ThrConsumeMaterialCategory> collect = list.stream().sorted(Comparator.comparing(ThrConsumeMaterialCategory::getCategoryId)).collect(Collectors.toList()); List<ThrConsumeMaterialCategory> collect = list.stream().sorted(Comparator.comparing(ThrConsumeMaterialCategory::getCategoryId)).
collect(Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(
Comparator.comparing(ThrConsumeMaterialCategory::getCategoryId))), ArrayList::new));
return collect; return collect;
} }
@ -186,4 +193,32 @@ public class ThrConsumeMaterialCategoryService extends ServiceImpl<ThrConsumeMat
return getParentCategoryObject(allCategory,tblCategory); return getParentCategoryObject(allCategory,tblCategory);
} }
public void updateBindCategory(UpdateBindCategoryRequest updateBindCategoryRequest) {
Long deptCode = updateBindCategoryRequest.getDeptCode();
Long[] deptCategory = updateBindCategoryRequest.getDeptCategory();
//删除原来的绑定
UpdateWrapper<DeptMaterialCategory> uw = new UpdateWrapper<>();
uw.eq("deptCode",deptCode);
deptMaterialCategoryMapper.delete(uw);
//插入新的绑定
List<DeptMaterialCategory> lists = new ArrayList<>(deptCategory.length);
for (Long aLong : deptCategory) {
DeptMaterialCategory deptMaterialCategory = new DeptMaterialCategory();
deptMaterialCategory.setDeptCode(deptCode);
deptMaterialCategory.setCategoryId(aLong);
lists.add(deptMaterialCategory);
}
deptMaterialCategoryMapper.insertBatch(lists);
}
public void deleteBindCategory(UpdateBindCategoryRequest updateBindCategoryRequest) {
Long deptCode = updateBindCategoryRequest.getDeptCode();
Long[] deptCategory = updateBindCategoryRequest.getDeptCategory();
//删除原来的绑定
UpdateWrapper<DeptMaterialCategory> uw = new UpdateWrapper<>();
uw.eq("deptCode",deptCode);
uw.in("categoryId",deptCategory);
deptMaterialCategoryMapper.delete(uw);
}
} }

Loading…
Cancel
Save