StandItemRepository.java 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package com.kcim.dao.repository;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  5. import com.kcim.common.util.UserContext;
  6. import com.kcim.dao.mapper.StandItemMapper;
  7. import com.kcim.dao.model.StandItem;
  8. import com.kcim.vo.SessionUserVO;
  9. import org.springframework.stereotype.Repository;
  10. import org.springframework.util.StringUtils;
  11. import java.util.Date;
  12. import java.util.List;
  13. import java.util.Objects;
  14. import java.util.stream.Collectors;
  15. /**
  16. * @program: CostAccount
  17. * @description: 标准项目字典数据库交互
  18. * @author: Wang.YS
  19. * @create: 2023-10-26 10:41
  20. **/
  21. @Repository
  22. public class StandItemRepository extends ServiceImpl<StandItemMapper, StandItem> {
  23. /**
  24. * 标准项目列表
  25. * @return 列表
  26. */
  27. public List<StandItem> getList() {
  28. LambdaQueryWrapper<StandItem> queryWrapper = new LambdaQueryWrapper<>();
  29. queryWrapper.eq(StandItem::getHospId, UserContext.getHospId());
  30. return this.list(queryWrapper);
  31. }
  32. public List<StandItem> getList(String name) {
  33. LambdaQueryWrapper<StandItem> queryWrapper = new LambdaQueryWrapper<>();
  34. queryWrapper.eq(StandItem::getHospId, UserContext.getHospId());
  35. if(!StringUtils.isEmpty(name)){
  36. queryWrapper.like(StandItem::getName, name);
  37. }
  38. return this.list(queryWrapper);
  39. }
  40. public Page<StandItem> getPage(Integer current, Integer pageSize, String name, String kcClassCode) {
  41. Page<StandItem> page = new Page<>(current,pageSize);
  42. LambdaQueryWrapper<StandItem> queryWrapper = new LambdaQueryWrapper<>();
  43. queryWrapper.eq(StandItem::getHospId, UserContext.getHospId());
  44. if(!StringUtils.isEmpty(name)){
  45. // queryWrapper.like(StandItem::getName,name);
  46. queryWrapper.and(q->q.like(StandItem::getName,name).or().like(StandItem::getNationalCode,name).or().like(StandItem::getCode,name));
  47. }
  48. if(!StringUtils.isEmpty(kcClassCode)){
  49. queryWrapper.eq(StandItem::getKcClassCode,kcClassCode);
  50. }
  51. return this.page(page,queryWrapper);
  52. }
  53. public StandItem getOneByCode(String code) {
  54. LambdaQueryWrapper<StandItem> queryWrapper = new LambdaQueryWrapper<>();
  55. queryWrapper.eq(StandItem::getHospId, UserContext.getHospId());
  56. queryWrapper.eq(StandItem::getCode,code);
  57. return this.getOne(queryWrapper);
  58. }
  59. public void deleteStandItem(Integer id) {
  60. StandItem item = this.getById(id);
  61. if(Objects.nonNull(item)){
  62. item.setDeleteTime(new Date());
  63. item.setDeleteUser(String.valueOf(UserContext.getCurrentUser().getId()));
  64. this.updateById(item);
  65. this.removeById(id);
  66. }
  67. }
  68. public void removeList(List<StandItem> list) {
  69. for (StandItem item : list) {
  70. item.setDeleteTime(new Date());
  71. item.setDeleteUser(String.valueOf(UserContext.getCurrentUser().getId()));
  72. }
  73. this.updateBatchById(list,100);
  74. List<Integer> collect = list.stream().map(StandItem::getId).collect(Collectors.toList());
  75. this.removeBatchByIds(collect,100);
  76. }
  77. public List<StandItem> getList(SessionUserVO currentUser) {
  78. LambdaQueryWrapper<StandItem> queryWrapper = new LambdaQueryWrapper<>();
  79. queryWrapper.eq(StandItem::getHospId, currentUser.getHospId());
  80. return this.list(queryWrapper);
  81. }
  82. }