Jelajahi Sumber

Merge branch 'master' of huangrui/CostAccount into dev

lijiaxi 4 tahun lalu
induk
melakukan
938621b5b8

+ 36 - 0
src/main/java/com/imed/costaccount/service/impl/AllocationServiceImpl.java

@@ -551,6 +551,42 @@ public class AllocationServiceImpl extends ServiceImpl<AllocationMapper, Allocat
                 num++;
             }
         }
+        Map<String, Integer> rowMap = new HashMap<>();
+        int cc=levelSort+3;
+        // 合并行
+        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);
+//                Integer integer = rowMap.get(sheet.getRow(0).getCell(m).getStringCellValue());
+//                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);
+            }
+        }
+        // 合并列
+        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++) {
             // 调整每一列宽度
             sheet.autoSizeColumn((short) i);

+ 1 - 1
src/main/java/com/imed/costaccount/web/ExcelController.java

@@ -290,7 +290,7 @@ public class ExcelController extends AbstractController{
                 "病人ID",	"住院号/门诊号",	"患者姓名",	"病人费别",	"收据费别",	"数量",	"单位",	"金额",	"费用发生时间"));
         int accountType = NumberConstant.ONE;
         int column = NumberConstant.FOUR;
-//        getProductByAccountType(hospId, writer, accountType, column);
+        getProductByAccountType(hospId, writer, accountType, column);
         writer.setColumnWidth(0, 20);
         writer.setColumnWidth(1, 20);
         writer.setColumnWidth(2, 10);