浏览代码

08 28 04 归集列表

hr 4 年之前
父节点
当前提交
c39ab060b1

+ 8 - 8
src/main/java/com/imed/costaccount/model/AllocationQuery.java

@@ -41,14 +41,14 @@ public class AllocationQuery implements Serializable {
 	 * 月
 	 */
 	private Integer dateMonth;
-//	/**
-//	 * 分摊层级序号
-//	 */
-//	private Integer levelSort;
-//	/**
-//	 * 分摊层级数名称
-//	 */
-//	private String levelName;
+	/**
+	 * 分摊层级序号
+	 */
+	private Integer levelSort;
+	/**
+	 * 分摊层级数名称
+	 */
+	private String levelName;
 	/**
 	 * 医院id
 	 */

+ 37 - 65
src/main/java/com/imed/costaccount/model/vo/AfterAllocationVO.java

@@ -10,71 +10,43 @@ import java.math.BigDecimal;
 @ApiModel("分摊后查询对象")
 public class AfterAllocationVO {
 
-     @ApiModelProperty(name = "",value = "")
-     private Long id;
+    @ApiModelProperty(name = "", value = "")
+    private Long id;
+
+    @ApiModelProperty(name = "dateYear", value = "年")
+    private Integer dateYear;
+    /**
+     * 月
+     */
+    @ApiModelProperty(name = "dateMonth", value = "月")
+    private Integer dateMonth;
+
+    @ApiModelProperty(name = "levelSort", value = "分摊层级序号")
+    private Integer levelSort;
+
+    @ApiModelProperty(name = "levelName", value = "分摊层级数名称")
+    private String levelName;
+    /**
+     * 责任中心代码
+     */
+    @ApiModelProperty(name = "responsibilityCode", value = "责任中心代码")
+    private String responsibilityCode;
+    /**
+     * 责任中心名称
+     */
+    @ApiModelProperty(name = "responsibilityName", value = "责任中心名称")
+    private String responsibilityName;
+
+    private String accountCode;
+
+    private String accountName;
+
+
+    /**
+     * 分摊得到的钱
+     */
+    @ApiModelProperty(name = "amount", value = "分摊得到的钱")
+    private BigDecimal amount;
 
-     @ApiModelProperty(name = "dateYear",value = "年")
-     private Integer dateYear;
-     /**
-      * 月
-      */
-     @ApiModelProperty(name = "dateMonth",value = "月")
-     private Integer dateMonth;
-
-     @ApiModelProperty(name = "levelSort",value = "分摊层级序号")
-     private Integer levelSort;
-
-     @ApiModelProperty(name = "levelName",value = "分摊层级数名称")
-     private String levelName;
-     /**
-      * 责任中心代码
-      */
-     @ApiModelProperty(name = "responsibilityCode",value = "责任中心代码")
-     private String responsibilityCode;
-     /**
-      * 责任中心名称
-      */
-     @ApiModelProperty(name = "responsibilityName",value = "责任中心名称")
-     private String responsibilityName;
-
-
-     /**
-      * 分摊得到的钱
-      */
-     @ApiModelProperty(name = "amount",value = "分摊得到的钱")
-     private BigDecimal amount;
-
-     /**
-      * 目标责任中心
-      */
-     @ApiModelProperty(name = "targetResponsibilityCode",value = "目标责任中心")
-     private String targetResponsibilityCode;
-
-     /**
-      * 目标责任中心名称
-      */
-     @ApiModelProperty(name = "targetResponsibilityName",value = "目标责任中心名称")
-     private String targetResponsibilityName;
-
-     /**
-      * 分摊参数代码
-      */
-     @ApiModelProperty(name = "shareParamCode",value = "分摊参数代码")
-     private String shareParamCode;
-     /**
-      * 分摊参数名称
-      */
-     @ApiModelProperty(name = "shareParamName",value = "分摊参数名称")
-     private String shareParamName;
-     /**
-      * 分摊参数数值
-      */
-     @ApiModelProperty(name = "shareParamValueNum",value = "分摊参数数值")
-     private BigDecimal shareParamValueNum;
-     /**
-      * 分摊参数比例
-      */
-     @ApiModelProperty(name = "分摊参数比例",value = "shareParamRate")
-     private BigDecimal shareParamRate;
 
 }

+ 2 - 0
src/main/java/com/imed/costaccount/service/ResponsibilityService.java

@@ -100,5 +100,7 @@ public interface ResponsibilityService extends IService<Responsibility> {
      * @return
      */
     String getByCode(String valueResponsibilityCode, Long hospId);
+
+    Integer getByLevelId(String responsibilityCode, Long hospId);
 }
 

+ 15 - 3
src/main/java/com/imed/costaccount/service/impl/AllocationServiceImpl.java

@@ -242,18 +242,30 @@ public class AllocationServiceImpl extends ServiceImpl<AllocationMapper, Allocat
             AllocationQuery allocationQuery = new AllocationQuery();
             allocationQuery.setDateYear(i.getDateYear()).setDateMonth(i.getDateMonth())
                     .setHospId(hospId).setResponsibilityCode(i.getResponsibilityCode()).setResponsibilityName(i.getResponsibilityName())
-                    .setOriginId(i.getId()).setOriginType(2L).setAmount(i.getAmount()).setAccountingCode(accountingCodes).setAccountingName(accountingNames)
+                    .setOriginId(i.getId()).setOriginType(2L).setAmount(i.getAmount())
+                    .setAccountingCode(accountingCodes).setAccountingName(accountingNames)
                     .setCreateTime(System.currentTimeMillis())
+                    .setLevelSort(i.getLevelSort()).setLevelName(i.getLevelName())
             ;
             saveList.add(allocationQuery);
         });
 
         costingGroups.forEach(i -> {
             AllocationQuery allocationQuery = new AllocationQuery();
+            String responsibilityCode = i.getResponsibilityCode();
+            Integer levelId = responsibilityService.getByLevelId(responsibilityCode, hospId);
+            if (Objects.isNull(levelId)) {
+                throw new CostException("责任中心" + i.getResponsibilityName() + "数据异常");
+            }
+            CostShareLevel byId = shareLevelService.getById(levelId);
+            if (Objects.isNull(byId)) {
+                throw new CostException("责任中心" + i.getResponsibilityName() + "分摊层级数据异常");
+            }
             allocationQuery.setDateYear(i.getDateYear()).setDateMonth(i.getDateMonth())
-                    .setHospId(hospId).setResponsibilityCode(i.getResponsibilityCode()).setResponsibilityName(i.getResponsibilityName())
+                    .setHospId(hospId).setResponsibilityCode(responsibilityCode).setResponsibilityName(i.getResponsibilityName())
                     .setOriginId(i.getId()).setOriginType(2L).setAmount(i.getAmount()).setAccountingCode(i.getAccountCode()).setAccountingName(i.getAccountName())
                     .setCreateTime(System.currentTimeMillis())
+                    .setLevelSort(byId.getLeverSort()).setLevelName(byId.getShareName())
             ;
             saveList.add(allocationQuery);
         });
@@ -401,7 +413,7 @@ public class AllocationServiceImpl extends ServiceImpl<AllocationMapper, Allocat
         // 以会计科目查
         Map<String, AllocationReportVO> allAccMap = allocationReportVOList.stream().collect(Collectors.toMap(k -> k.getResponsibilityName() + k.getAccountName() + k.getTargetResponsibilityName() + k.getShareParamName(), synOne -> synOne));
         // 用别名查 过滤别名不为空的
-        Map<String, AllocationReportVO> allAliMap=allocationReportVOList.stream().filter(i->StrUtil.isNotBlank(i.getAlias())).collect(Collectors.toMap(k -> k.getResponsibilityName() + k.getAlias() + k.getTargetResponsibilityName() + k.getShareParamName(), synOne -> synOne));
+        Map<String, AllocationReportVO> allAliMap = allocationReportVOList.stream().filter(i -> StrUtil.isNotBlank(i.getAlias())).collect(Collectors.toMap(k -> k.getResponsibilityName() + k.getAlias() + k.getTargetResponsibilityName() + k.getShareParamName(), synOne -> synOne));
 //        Map<String, AllocationReportVO> allAliMap = allocationReportVOList.stream().collect(Collectors.toMap(k -> k.getResponsibilityName() + k.getAlias() + k.getTargetResponsibilityName() + k.getShareParamName(), synOne -> synOne));
         // 当前责任中心下面有几个会计科目  后面进行合并使用
         int numResponsibility;

+ 15 - 0
src/main/java/com/imed/costaccount/service/impl/ResponsibilityServiceImpl.java

@@ -518,5 +518,20 @@ public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper,
             throw new CostException("数据异常");
         }
         return one.getResponsibilityName();
+
+    }
+
+    @Override
+    public Integer getByLevelId(String responsibilityCode, Long hospId) {
+        Responsibility one = this.getOne(
+                new LambdaQueryWrapper<Responsibility>()
+                        .eq(Responsibility::getResponsibilityCode, responsibilityCode)
+                        .eq(Responsibility::getHospId, hospId)
+                        .last(LIMIT)
+        );
+        if (Objects.isNull(one)) {
+            throw new CostException("数据异常");
+        }
+        return one.getShareLevel();
     }
 }

+ 2 - 0
src/main/resources/mapper/AllocationMapper.xml

@@ -23,6 +23,8 @@
         <result property="shareParamValueNum" column="share_param_value_num"/>
         <result property="shareParamRate" column="share_param_rate"/>
         <result property="isBaseCost" column="is_base_cost"/>
+        <result property="levelSort" column="level_sort" />
+        <result property="levelName" column="level_name" />
         <result property="createTime" column="create_time"/>
         <result property="deleteTime" column="delete_time"/>
     </resultMap>

+ 3 - 2
src/main/resources/mapper/CostCostingGroupMapper.xml

@@ -92,6 +92,8 @@
         select
         sum(ccg.amount)
         from cost_costing_group ccg
+        left join sys_department sd
+        on ccg.hosp_id = sd.hosp_id and ccg.department_code = sd.department_code
         left join cost_responsibility cr
         on ccg.responsibility_code = cr.responsibility_code and ccg.hosp_id = cr.hosp_id
         left join cost_accounting ca on ccg.account_code = ca.accounting_code and ccg.hosp_id = ca.hosp_id
@@ -107,8 +109,7 @@
         <if test="accountCode != null and accountCode != ''">
             and ccg.account_code = #{accountCode}
         </if>
-        and cp.delete_time = 0
-        and ccg.delete_time = 0
+        and sd.delete_time = 0
         and cr.delete_time = 0
         and ca.delete_time = 0
     </select>