2
0
hr 4 жил өмнө
parent
commit
2e2bab5a82

+ 2 - 0
src/main/java/com/imed/costaccount/model/Allocation.java

@@ -108,6 +108,8 @@ public class Allocation implements Serializable {
 	 */
 	private BigDecimal shareParamRate;
 
+	private Long shareLevelId;
+
 	/**
 	 * 
 	 */

+ 2 - 0
src/main/java/com/imed/costaccount/model/vo/AfterAllocationFormVO.java

@@ -18,6 +18,8 @@ public class AfterAllocationFormVO {
 
     private Integer shareLevel;
 
+    private Long shareLevelId;
+
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date shareTime;
 }

+ 25 - 23
src/main/java/com/imed/costaccount/service/impl/AllocationServiceImpl.java

@@ -179,7 +179,7 @@ public class AllocationServiceImpl extends ServiceImpl<AllocationMapper, Allocat
                                     .setResponsibilityName(responsibility.getResponsibilityName()).setAccountShareId(accountShareId).setAmount(targetAmount)
                                     .setCreateTime(timeMillis).setTargetResponsibilityCode(valueResponsibilityCode).setTargetResponsibilityName(targetRespName)
                                     .setShareParamCode(paramValue.getShareParamCode()).setShareParamName(shareParamName).setTotalAmount(totalAmount).setShareParamValueNum(paramValue.getValueNum())
-                                    .setShareParamRate(numerator.divide(reduce, 4))
+                                    .setShareParamRate(numerator.divide(reduce, 4)).setShareLevelId(levelId)
                             ;
 
                             // todo 目标分摊层级责任中心 就是当前列个表中的责任中心
@@ -552,10 +552,10 @@ public class AllocationServiceImpl extends ServiceImpl<AllocationMapper, Allocat
             }
         }
         Map<String, Integer> rowMap = new HashMap<>();
-        int cc=levelSort+3;
+        int cc = levelSort + 3;
         // 合并行
-        boolean otherData=false;
-        for (int m = levelSort + 3; m < column-1; m++) {
+        boolean otherData = false;
+        for (int m = levelSort + 3; m < column - 1; m++) {
 //            String cellValue = sheet.getRow(0).getCell(m).getStringCellValue();
 //            if (!rowMap.containsKey(cellValue)){
 //                rowMap.put(cellValue,m);
@@ -563,28 +563,29 @@ public class AllocationServiceImpl extends ServiceImpl<AllocationMapper, Allocat
 //                String value = sheet.getRow(0).getCell(m ).getStringCellValue();
 //                writer.merge(0, 0, rowMap.get(sheet.getRow(0).getCell(m-1).getStringCellValue()), m-1, sheet.getRow(0).getCell(m-1).getStringCellValue(), false);
 //            }
-            String cellValue1=sheet.getRow(0).getCell(m).getStringCellValue();
-            String cellValue2=sheet.getRow(0).getCell(m+1).getStringCellValue();
-            if(!cellValue1.equals(cellValue2)){
-                otherData=true;
-                writer.merge(0, 0, cc,m,cellValue1,false);
-                cc=m+1;
-            }if (m==column-2){
-                writer.merge(0, 0, cc,m+1,sheet.getRow(0).getCell(m+1).getStringCellValue(),false);
+            String cellValue1 = sheet.getRow(0).getCell(m).getStringCellValue();
+            String cellValue2 = sheet.getRow(0).getCell(m + 1).getStringCellValue();
+            if (!cellValue1.equals(cellValue2)) {
+                otherData = true;
+                writer.merge(0, 0, cc, m, cellValue1, false);
+                cc = m + 1;
+            }
+            if (m == column - 2) {
+                writer.merge(0, 0, cc, m + 1, sheet.getRow(0).getCell(m + 1).getStringCellValue(), false);
             }
         }
         // 合并列
-        int jj=3;
-
-        for (int i=3;i<num-1;i++){
-            String cellValue1=sheet.getRow(i).getCell(0).getStringCellValue();
-            String cellValue2=sheet.getRow(i+1).getCell(0).getStringCellValue();
-            if(!cellValue1.equals(cellValue2)){
-                otherData=true;
-                writer.merge(jj, i, 0,0,cellValue1,false);
-                jj=i+1;
-            }else if (i==num-2){
-                writer.merge(jj, i+1, 0,0,cellValue1,false);
+        int jj = 3;
+
+        for (int i = 3; i < num - 1; i++) {
+            String cellValue1 = sheet.getRow(i).getCell(0).getStringCellValue();
+            String cellValue2 = sheet.getRow(i + 1).getCell(0).getStringCellValue();
+            if (!cellValue1.equals(cellValue2)) {
+                otherData = true;
+                writer.merge(jj, i, 0, 0, cellValue1, false);
+                jj = i + 1;
+            } else if (i == num - 2) {
+                writer.merge(jj, i + 1, 0, 0, cellValue1, false);
             }
         }
         for (int i = 0; i < 30; i++) {
@@ -751,6 +752,7 @@ public class AllocationServiceImpl extends ServiceImpl<AllocationMapper, Allocat
             vo.setShareLevel(i.getLevelSort());
             vo.setShareReportName(i.getShareParamName() + "分摊");
             vo.setShareTime(DateUtil.date(i.getCreateTime()));
+            vo.setShareLevelId(i.getShareLevelId());
             return vo;
         }).collect(Collectors.toList());
         return vos;

+ 13 - 5
src/main/resources/mapper/AllocationMapper.xml

@@ -23,8 +23,9 @@
         <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="levelSort" column="level_sort"/>
+        <result property="levelName" column="level_name"/>
+        <result property="shareLevelId" column="share_level_id"/>
         <result property="createTime" column="create_time"/>
         <result property="deleteTime" column="delete_time"/>
     </resultMap>
@@ -34,7 +35,7 @@
             and date_year = #{dateYear} and date_month = #{dateMonth}
         </if>
         <if test="responsibilityCode != null and responsibilityCode != ''">
-            and responsibility_code =  #{responsibilityCode}
+            and responsibility_code = #{responsibilityCode}
         </if>
         limit #{startIndex},#{pageSize}
     </select>
@@ -58,13 +59,20 @@
     </select>
 
     <select id="getAllSortLevel" resultType="com.imed.costaccount.model.Allocation">
-        select distinct date_year,date_month,level_sort, share_param_code, share_param_name, create_time,id
+        select distinct date_year,
+                        date_month,
+                        level_sort,
+                        share_param_code,
+                        share_param_name,
+                        create_time,
+                        id,
+                        share_level_id
         from cost_allocation
         where date_year = #{year}
           and date_month = #{month}
           and hosp_id = #{hospId}
+        group by share_level_id
     </select>
 
 
-
 </mapper>