123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package com.imed.costaccount.model;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.imed.costaccount.common.exception.CostException;
- import com.imed.costaccount.service.*;
- import io.swagger.annotations.ApiModel;
- import lombok.Data;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.util.CollectionUtils;
- import java.util.List;
- import java.util.Map;
- import java.util.stream.Collectors;
- /**
- * @author 李加喜
- * @Package com.imed.costaccount.model
- * @date 2021-08-10 17:15
- */
- @Data
- @ApiModel("获取数据")
- public class GetCheckData {
- @Autowired
- private DepartmentService departmentService;
- @Autowired
- private ResponsibilityService responsibilityService;
- @Autowired
- private ProductService productService;
- @Autowired
- private AccountingService accountingService;
- @Autowired
- private ResponsibilityDepartmentService responsibilityDepartmentService;
- @Autowired
- private AccountingProductService accountingProductService;
- private Long hospId;
- private Map<String, Department> departmentMap;
- private Map<String, Product> productMap;
- private Map<Long, Responsibility> responsibilityMap;
- private Map<Long, Accounting> accountingMap;
- private Map<Long, Long> responsibilityDepMap;
- private Map<Long, Long> accountProMap;
- public GetCheckData(Long hospId) {
- this.hospId = hospId;
- }
- public Map<String, Department> getDepartmentMap() {
- return departmentMap;
- }
- public Map<String, Product> getProductMap() {
- return productMap;
- }
- public Map<Long, Responsibility> getResponsibilityMap() {
- return responsibilityMap;
- }
- public Map<Long, Accounting> getAccountingMap() {
- return accountingMap;
- }
- public Map<Long, Long> getResponsibilityDepMap() {
- return responsibilityDepMap;
- }
- public Map<Long, Long> getAccountProMap() {
- return accountProMap;
- }
- public GetCheckData invoke() {
- departmentMap = departmentService.list(new QueryWrapper<Department>().lambda().eq(Department::getHospId, hospId)).stream().collect(Collectors.toMap(k -> k.getDepartmentCode() + k.getDepartmentName(), synOe -> synOe));
- productMap = productService.list(new QueryWrapper<Product>().lambda().eq(Product::getHospId, hospId)).stream().collect(Collectors.toMap(k -> k.getProductCode() + k.getProductName(), synOe -> synOe));
- responsibilityMap = responsibilityService.list(new QueryWrapper<Responsibility>().lambda().eq(Responsibility::getHospId, hospId)).stream().collect(Collectors.toMap(Responsibility::getId, synOe -> synOe));
- accountingMap = accountingService.list(new QueryWrapper<Accounting>().lambda().eq(Accounting::getHospId, hospId)).stream().collect(Collectors.toMap(Accounting::getId, synOe -> synOe));
- List<ResponsibilityDepartment> responsibilityDepartmentList = responsibilityDepartmentService.list(new QueryWrapper<ResponsibilityDepartment>().lambda()
- .eq(ResponsibilityDepartment::getHospId, hospId));
- if (CollectionUtils.isEmpty(responsibilityDepartmentList)) {
- throw new CostException(500, "没有科室责任中心对照数据");
- }
- List<AccountingProduct> accountingProductList = accountingProductService.list(new QueryWrapper<AccountingProduct>().lambda().eq(AccountingProduct::getHospId, hospId));
- if (CollectionUtils.isEmpty(accountingProductList)) {
- throw new CostException(500, "没有成本会计对照数据");
- }
- responsibilityDepMap = responsibilityDepartmentList.stream().collect(Collectors.toMap(ResponsibilityDepartment::getDepartmentId, ResponsibilityDepartment::getResponsibilityId));
- accountProMap = accountingProductList.stream().collect(Collectors.toMap(AccountingProduct::getProductId, AccountingProduct::getAccountingId));
- return this;
- }
- }
|