Pārlūkot izejas kodu

查询当前收入归集设置关联的会计科目

ljx 4 gadi atpakaļ
vecāks
revīzija
65ecb7a09e

+ 30 - 0
src/main/java/com/imed/costaccount/model/vo/AccountIncomeSetVO.java

@@ -0,0 +1,30 @@
+package com.imed.costaccount.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.vo
+ * @date 2021-08-05 10:11
+ */
+@Data
+@ApiModel("收入归集设置与会计科目关联的列表数据")
+public class AccountIncomeSetVO {
+    /**
+     * 会计科目的Id
+     */
+    private Long id;
+    /**
+     * 会计科目名称
+     */
+    private String accountingName;
+    /**
+     * 会计科目代码
+     */
+    private String accountingCode;
+    /**
+     * 当前会计科目是否被收入归集设置选中
+     */
+    private Integer isSelect=0;
+}

+ 9 - 0
src/main/java/com/imed/costaccount/service/CostIncomeGroupSetService.java

@@ -6,6 +6,7 @@ import com.imed.costaccount.model.CostIncomeGroupSet;
 import com.imed.costaccount.model.dto.CostIncomeGroupSetEditDto;
 import com.imed.costaccount.model.dto.CostIncomeGroupSetSaveDto;
 import com.imed.costaccount.model.dto.IncomeAccountDto;
+import com.imed.costaccount.model.vo.AccountIncomeSetVO;
 import com.imed.costaccount.model.vo.CostIncomeGroupSetVO;
 
 import java.util.List;
@@ -59,5 +60,13 @@ public interface CostIncomeGroupSetService extends IService<CostIncomeGroupSet>
      * @param incomeAccountDto
      */
     void updateAccountCode(IncomeAccountDto incomeAccountDto);
+
+    /**
+     *  所有的会计科目里面与当前收入归集设置有关联的数据
+     * @param id  当前收入归集设置的Id
+     * @param hospId 当前医院的Id
+     * @return
+     */
+    List<AccountIncomeSetVO> getIncomeAccountStatus(Long id, Long hospId);
 }
 

+ 1 - 15
src/main/java/com/imed/costaccount/service/impl/AccountingServiceImpl.java

@@ -13,7 +13,6 @@ import com.imed.costaccount.model.dto.AccountingSaveDTO;
 import com.imed.costaccount.model.vo.AccountVO;
 import com.imed.costaccount.model.vo.SelectAccountingVO;
 import com.imed.costaccount.service.AccountingService;
-import com.imed.costaccount.service.CostIncomeGroupSetService;
 import com.imed.costaccount.service.CostShareParamService;
 import com.imed.costaccount.utils.BeanUtil;
 import lombok.extern.slf4j.Slf4j;
@@ -30,11 +29,9 @@ public class AccountingServiceImpl extends ServiceImpl<AccountingMapper, Account
 
     private final CostShareParamService shareParamService;
 
-    private final CostIncomeGroupSetService costIncomeGroupSetService;
 
-    public AccountingServiceImpl(CostShareParamService shareParamService, CostIncomeGroupSetService costIncomeGroupSetService) {
+    public AccountingServiceImpl(CostShareParamService shareParamService) {
         this.shareParamService = shareParamService;
-        this.costIncomeGroupSetService = costIncomeGroupSetService;
     }
 
     /**
@@ -71,17 +68,6 @@ public class AccountingServiceImpl extends ServiceImpl<AccountingMapper, Account
                 });
             }
         }
-        // 查询所有已绑定的 收入归集设置
-        if (Objects.nonNull(incomeGroutSetId)){
-            List<String> codes= costIncomeGroupSetService.selectIsSelect(incomeGroutSetId);
-            if (CollUtil.isNotEmpty(codes)){
-                all.forEach(i->{
-                    if (codes.contains(i.getAccountingCode())){
-                        i.setIsShareParamSelect(true);
-                    }
-                });
-            }
-        }
         // 顶层的
         List<AccountVO> parents = all.stream().filter(i -> i.getParentId() == 0).collect(Collectors.toList());
         List<AccountVO> accountVOS = new ArrayList<>();

+ 12 - 11
src/main/java/com/imed/costaccount/service/impl/CostIncomeGroupServiceImpl.java

@@ -95,25 +95,26 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
      */
     private void setCodeName(Long hospId, List<CostIncomeGroupBeforeVO> costIncomeGroupBeforeVOList) {
         List<Responsibility> responsibilityList = responsibilityService.list(new QueryWrapper<Responsibility>().lambda().eq(Responsibility::getHospId, hospId));
-        Map<String, List<Responsibility>> responsibilityMap = responsibilityList.stream().collect(Collectors.groupingBy(Responsibility::getResponsibilityCode));
+        Map<String, String> responsibilityMap = responsibilityList.stream().collect(Collectors.toMap(Responsibility::getResponsibilityCode,Responsibility::getResponsibilityName));
         List<Department> departmentList = departmentService.list(new QueryWrapper<Department>().lambda().eq(Department::getHospId, hospId));
-        Map<String, List<Department>> departmentMap = departmentList.stream().collect(Collectors.groupingBy(Department::getDepartmentCode));
+        Map<String, String> departmentMap = departmentList.stream().collect(Collectors.toMap(Department::getDepartmentCode,Department::getDepartmentName));
         List<Product> productList = productService.list(new QueryWrapper<Product>().lambda().eq(Product::getHospId, hospId));
-        Map<String, List<Product>> productMap = productList.stream().collect(Collectors.groupingBy(Product::getProductCode));
+        Map<String, String> productMap = productList.stream().collect(Collectors.toMap(Product::getProductCode,Product::getProductName));
         List<Accounting> accountingList = accountingService.list(new QueryWrapper<Accounting>().lambda().eq(Accounting::getHospId, hospId));
-        Map<String, List<Accounting>> accountMap = accountingList.stream().collect(Collectors.groupingBy(Accounting::getAccountingCode));
+        Map<String, String> accountMap = accountingList.stream().collect(Collectors.toMap(Accounting::getAccountingCode,Accounting::getAccountingName));
         costIncomeGroupBeforeVOList.forEach(i->{
             // 以为这里的数据导入的  在导入的时候进行数据校验
             // 设置开单科室名称 执行科室名称  开单责任中心名称  执行责任中心名称 成本项目的名称 会计科目名称
-            i.setOpenDepartmentCodeName("["+i.getOpenDepartmentCode()+"]"+departmentMap.get(i.getOpenDepartmentCode()).get(0).getDepartmentName());
-            i.setOpenResponsibilityCodeName("["+i.getOpenResponsibilityCode()+"]"+responsibilityMap.get(i.getOpenResponsibilityCode()).get(0).getResponsibilityName());
-            i.setStartDepartmentCodeName("["+i.getStartDepartmentCode()+"]"+departmentMap.get(i.getStartDepartmentCode()).get(0).getDepartmentName());
-            i.setStartResponsibilityCodeName("["+i.getStartResponsibilityCode()+"]"+responsibilityMap.get(i.getStartResponsibilityCode()).get(0).getResponsibilityName());
-            i.setProductCodeName("["+i.getProductCode()+"]"+productMap.get(i.getProductCode()).get(0).getProductName());
-            i.setAccountCodeName("["+i.getAccountCode()+"]"+accountMap.get(i.getAccountCode()).get(0).getAccountingName());
+            i.setOpenDepartmentCodeName("["+i.getOpenDepartmentCode()+"]"+departmentMap.get(i.getOpenDepartmentCode()));
+            i.setOpenResponsibilityCodeName("["+i.getOpenResponsibilityCode()+"]"+responsibilityMap.get(i.getOpenResponsibilityCode()));
+            i.setStartDepartmentCodeName("["+i.getStartDepartmentCode()+"]"+departmentMap.get(i.getStartDepartmentCode()));
+            i.setStartResponsibilityCodeName("["+i.getStartResponsibilityCode()+"]"+responsibilityMap.get(i.getStartResponsibilityCode()));
+            i.setProductCodeName("["+i.getProductCode()+"]"+productMap.get(i.getProductCode()));
+            i.setAccountCodeName("["+i.getAccountCode()+"]"+accountMap.get(i.getAccountCode()));
         });
     }
     /**
-     * 根据年月查询所有的数据
+     * 收入归集数据的计算规则
      */
+
 }

+ 38 - 1
src/main/java/com/imed/costaccount/service/impl/CostIncomeGroupSetServiceImpl.java

@@ -10,12 +10,15 @@ import com.imed.costaccount.common.util.BeanUtil;
 import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.constants.NumberConstant;
 import com.imed.costaccount.mapper.CostIncomeGroupSetMapper;
+import com.imed.costaccount.model.Accounting;
 import com.imed.costaccount.model.CostIncomeGroupSet;
 import com.imed.costaccount.model.Responsibility;
 import com.imed.costaccount.model.dto.CostIncomeGroupSetEditDto;
 import com.imed.costaccount.model.dto.CostIncomeGroupSetSaveDto;
 import com.imed.costaccount.model.dto.IncomeAccountDto;
+import com.imed.costaccount.model.vo.AccountIncomeSetVO;
 import com.imed.costaccount.model.vo.CostIncomeGroupSetVO;
+import com.imed.costaccount.service.AccountingService;
 import com.imed.costaccount.service.CostIncomeGroupSetService;
 import com.imed.costaccount.service.ResponsibilityService;
 import org.springframework.stereotype.Service;
@@ -33,8 +36,11 @@ public class CostIncomeGroupSetServiceImpl extends ServiceImpl<CostIncomeGroupSe
 
     private final ResponsibilityService responsibilityService;
 
-    public CostIncomeGroupSetServiceImpl(ResponsibilityService responsibilityService) {
+    private final AccountingService accountingService;
+
+    public CostIncomeGroupSetServiceImpl(ResponsibilityService responsibilityService, AccountingService accountingService) {
         this.responsibilityService = responsibilityService;
+        this.accountingService = accountingService;
     }
 
     /**
@@ -242,4 +248,35 @@ public class CostIncomeGroupSetServiceImpl extends ServiceImpl<CostIncomeGroupSe
         baseMapper.updateById(incomeGroupSet);
     }
 
+    /**
+     * 所有的会计科目里面与当前收入归集设置有关联的数据
+     *
+     * @param id     当前收入归集设置的Id
+     * @param hospId 当前医院的Id
+     * @return
+     */
+    @Override
+    public List<AccountIncomeSetVO> getIncomeAccountStatus(Long id, Long hospId) {
+
+        CostIncomeGroupSet incomeGroupSet = this.getById(id);
+        if (Objects.isNull(incomeGroupSet)){
+            throw new CostException(500,"收入归集设置不存在");
+        }
+        List<Accounting> accountingList = accountingService.list(new QueryWrapper<Accounting>().lambda()
+                .eq(Accounting::getHospId, hospId));
+        List<AccountIncomeSetVO> accountIncomeSetVOS = new ArrayList<>();
+        List<AccountIncomeSetVO> accountIncomeSetVOList = BeanUtil.convertList(accountingList, AccountIncomeSetVO.class);
+        String accountCode = incomeGroupSet.getAccountCode();
+        if (StrUtil.isNotBlank(accountCode)){
+            List<String> accountCodList = Arrays.asList(accountCode.split(StrUtil.COMMA));
+            Map<String, List<String>> map = accountCodList.stream().collect(Collectors.groupingBy(String::valueOf));
+            accountIncomeSetVOList.forEach(i->{
+                if (!CollectionUtils.isEmpty(map.get(i.getAccountingCode()))){
+                    accountIncomeSetVOS.add(i);
+                }
+            });
+        }
+        return accountIncomeSetVOS;
+    }
+
 }

+ 12 - 5
src/main/java/com/imed/costaccount/web/CostIncomeGroupSetController.java

@@ -6,9 +6,9 @@ import com.imed.costaccount.common.util.UserContext;
 import com.imed.costaccount.model.dto.CostIncomeGroupSetEditDto;
 import com.imed.costaccount.model.dto.CostIncomeGroupSetSaveDto;
 import com.imed.costaccount.model.dto.IncomeAccountDto;
+import com.imed.costaccount.model.vo.AccountIncomeSetVO;
 import com.imed.costaccount.model.vo.CostIncomeGroupSetVO;
 import com.imed.costaccount.service.CostIncomeGroupSetService;
-import com.imed.costaccount.service.impl.AccountingServiceImpl;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.util.Arrays;
+import java.util.List;
 
 
 /**
@@ -31,9 +32,6 @@ public class CostIncomeGroupSetController{
     @Autowired
     private CostIncomeGroupSetService costIncomeGroupSetService;
 
-    @Autowired
-    private AccountingServiceImpl accountingService;
-
     /**
      * 分页查询列表
      */
@@ -100,5 +98,14 @@ public class CostIncomeGroupSetController{
         costIncomeGroupSetService.updateAccountCode(incomeAccountDto);
         return Result.ok();
     }
-
+    /**
+     * 查询所有会计科目里面别当前是收入归集设置绑定的数据
+     */
+    @GetMapping("/getIncomeAccountStatus")
+    @ApiOperation("查询所有会计科目里被当前收入归集设置选中的状态")
+    public Result getIncomeAccountStatus(Long id){
+        Long hospId = UserContext.getHospId();
+        List<AccountIncomeSetVO> accountIncomeSetVOList = costIncomeGroupSetService.getIncomeAccountStatus(id,hospId);
+        return Result.ok(accountIncomeSetVOList);
+    }
 }