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.thrsys.ThrConsumeMaterialCategory;
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.ThrConsumeMaterialCategoryService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
@ -32,7 +31,7 @@ public class ThrConsumeMaterialCategoryController {
*
* @param deptCode code
*/
@GetMapping(value = "/deptCategoryTreeselect/{deptCode}")
@GetMapping(value = "/consumeMaterialCategory/deptCategoryTreeselect/{deptCode}")
public BaseResponse deptCategoryTreeselect(@PathVariable("deptCode") Long deptCode) {
List<ThrConsumeMaterialCategory> list = thrConsumeMaterialCategoryService.selectCategoryList();
Map<String, Object> ajax = new HashMap<>();
@ -46,9 +45,30 @@ public class ThrConsumeMaterialCategoryController {
*
* @param deptCode code
*/
@GetMapping(value = "/deptCategoryList/{deptCode}")
@GetMapping(value = "/consumeMaterialCategory/deptCategoryList/{deptCode}")
public BaseResponse selectListByDeptCode(@PathVariable("deptCode") Long deptCode) {
List<ThrConsumeMaterialCategory> list = thrConsumeMaterialCategoryService.selectListByDeptCode(deptCode);
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;
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.ThrConsumeMaterialCategory;
import org.apache.ibatis.annotations.Mapper;
@ -8,7 +9,7 @@ import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface DeptMaterialCategoryMapper extends BaseMapper<DeptMaterialCategory> {
public interface DeptMaterialCategoryMapper extends BaseMapperPlus<DeptMaterialCategoryMapper, DeptMaterialCategory, DeptMaterialCategory> {
List<Long> selectCategoryListByDeptCode(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.lang.tree.Tree;
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.entity.auth.SysRole;
import com.glxp.api.entity.thrsys.DeptMaterialCategory;
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.service.auth.CustomerService;
import com.glxp.api.util.TreeBuildUtils;
@ -17,6 +20,7 @@ import com.glxp.api.dao.thrsys.ThrConsumeMaterialCategoryMapper;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.util.*;
import java.util.stream.Collectors;
@ -125,7 +129,10 @@ public class ThrConsumeMaterialCategoryService extends ServiceImpl<ThrConsumeMat
}
});
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;
}
@ -186,4 +193,32 @@ public class ThrConsumeMaterialCategoryService extends ServiceImpl<ThrConsumeMat
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