浏览代码

luckysheet数据处理问题

wangming 1 年之前
父节点
当前提交
4f70905e21

+ 17 - 2
luckysheet/pom.xml

@@ -166,6 +166,21 @@
                 <profiles.active>postgres</profiles.active>
             </properties>
         </profile>
+
+        <profile>
+            <id>dev</id>
+            <properties>
+                <profiles.active>dev</profiles.active>
+            </properties>
+        </profile>
+
+        <profile>
+            <id>prod</id>
+            <properties>
+                <profiles.active>prod</profiles.active>
+            </properties>
+        </profile>
+
         <profile>
             <id>mysql</id>
             <properties>
@@ -176,7 +191,7 @@
 
 
     <build>
-        <finalName>web-lockysheet-${profiles.active}</finalName>
+        <finalName>web-lockysheet</finalName>
         <plugins>
             <plugin>
                 <groupId>org.springframework.boot</groupId>
@@ -189,7 +204,7 @@
                 <directory>src/main/resources</directory>
                 <includes>
                     <include>application.yml</include>
-                    <include>application-${profiles.active}.yml</include>
+                    <include>application-*.yml</include>
                     <include>*.xml</include>
                 </includes>
             </resource>

+ 6 - 2
luckysheet/src/main/java/com/xc/luckysheet/db/server/JfGridUpdateService.java

@@ -230,12 +230,16 @@ public class JfGridUpdateService {
         JSONArray celldata2 = new JSONArray();
         celldata2.addAll(LuckySheet4SummaryHelp.assembleCommonRow2Col1());
 
+        String[] colors = {"#ffd9ff", "#ffffcc"};
+
         //遍历机号
         for(int m = 0, n = paramExcelDto.getDeviceNumberList().size(); m < n; m++) {
+            String color = colors[m % 2];
             //机号
-            celldata1.addAll(LuckySheet4SummaryHelp.genDeviceNumberFirstTitle(paramExcelDto.getDeviceNumberList().get(m), titleFirst.length + m * machineTitleCols.length));
+            celldata1.addAll(LuckySheet4SummaryHelp.genDeviceNumberFirstTitle(paramExcelDto.getDeviceNumberList().get(m)
+                    , titleFirst.length + m * machineTitleCols.length, color));
             //机号标题
-            celldata2.addAll(LuckySheet4SummaryHelp.assembleDeviceNumberSecondTitle(titleFirst.length + m * machineTitleCols.length));
+            celldata2.addAll(LuckySheet4SummaryHelp.assembleDeviceNumberSecondTitle(titleFirst.length + m * machineTitleCols.length, color));
         }
 
         celldata1.addAll(LuckySheet4SummaryHelp.assembleCommonRow1Col2(titleFirst.length + paramExcelDto.getDeviceNumberList().size() * machineTitleCols.length));

+ 5 - 0
luckysheet/src/main/java/com/xc/luckysheet/entity/project/AssembleCellParam.java

@@ -43,4 +43,9 @@ public class AssembleCellParam {
      * 垂直对齐:0 中间、1 上、2下
      */
     private Integer verticaltype;
+
+    /**
+     * 背景色
+     */
+    private String bg;
 }

+ 112 - 43
luckysheet/src/main/java/com/xc/luckysheet/utils/LuckySheet4SummaryHelp.java

@@ -6,6 +6,7 @@ import com.xc.luckysheet.entity.project.AssembleCellParam;
 import com.xc.luckysheet.entity.project.ProjectSummaryParamExcelDto;
 import com.xc.luckysheet.entity.project.SheetInfoParam;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.util.ObjectUtils;
 
 import java.util.List;
 import java.util.stream.Collectors;
@@ -64,6 +65,7 @@ public class LuckySheet4SummaryHelp {
                 .rowSize(1)
                 .colSize(colSize)
                 .value(fileName)
+                .bg("#3366ff")
                 .build();
         return assembleMergeTitle(cellParam);
     }
@@ -108,9 +110,9 @@ public class LuckySheet4SummaryHelp {
             remark2.put("c", m);
             remark2.put("r", 1);
             JSONObject remark2v = new JSONObject();
-            remark2v.put("m", MAIN_TITLE_FIRST[m]);
-            remark2v.put("v", MAIN_TITLE_FIRST[m]);
-            remark2v.put("bg", "rgb(204, 255, 204)");
+//            remark2v.put("m", MAIN_TITLE_FIRST[m]);
+//            remark2v.put("v", MAIN_TITLE_FIRST[m]);
+            remark2v.put("bg", "#ccffcc");
             remark2v.put("bl", 1);
             remark2v.put("fc", "rgb(0, 0, 0)");
             remark2v.put("ff", 5);
@@ -124,12 +126,12 @@ public class LuckySheet4SummaryHelp {
             ct.put("fa", "General");
             remark2v.put("ct", ct);
 
-            JSONObject mc = new JSONObject();
-            mc.put("c", m);
-            mc.put("r", 1);
-            mc.put("cs", 1);
-            mc.put("rs", 2);
-            remark2v.put("mc", mc);
+//            JSONObject mc = new JSONObject();
+//            mc.put("c", m);
+//            mc.put("r", 1);
+//            mc.put("cs", 1);
+//            mc.put("rs", 2);
+//            remark2v.put("mc", mc);
 
             remark2.put("v", remark2v);
             result.add(remark2);
@@ -145,25 +147,33 @@ public class LuckySheet4SummaryHelp {
      */
     public static JSONArray assembleCommonRow2Col1() {
 
-        JSONArray result = new JSONArray();
-
-        for(int m = 0; m < MAIN_TITLE_FIRST.length; m++) {
-            JSONObject temp = new JSONObject();
-
-            JSONObject mc2 = new JSONObject();
-            mc2.put("c", m);
-            mc2.put("r", 1);
-
-            JSONObject v = new JSONObject();
-            v.put("mc",  mc2);
+//        JSONArray result = new JSONArray();
+//
+//        for(int m = 0; m < MAIN_TITLE_FIRST.length; m++) {
+//            JSONObject temp = new JSONObject();
+//
+//            JSONObject mc2 = new JSONObject();
+//            mc2.put("c", m);
+//            mc2.put("r", 1);
+//
+//            JSONObject v = new JSONObject();
+//            v.put("mc",  mc2);
+//            temp.put("c", m);
+//            temp.put("r", 2);
+//
+//            temp.put("v", v);
+//            result.add(temp);
+//        }
+//
+//        return result;
 
-            temp.put("c", m);
-            temp.put("r", 2);
-            temp.put("v", v);
-            result.add(temp);
-        }
+        AssembleCellParam cellParam = AssembleCellParam.builder()
+                .startColPos(0)
+                .startRowPos(2)
+                .bg("#ccffcc")
+                .build();
+        return assembleSingleTitle(cellParam, MAIN_TITLE_FIRST);
 
-        return result;
     }
 
     /**
@@ -192,7 +202,13 @@ public class LuckySheet4SummaryHelp {
      * @return
      */
     public static JSONArray assembleCommonCol2(int startColPosition) {
-        return assembleSingleTitle(startColPosition, 2, MAIN_TITLE_SECOND);
+
+        AssembleCellParam cellParam = AssembleCellParam.builder()
+                .startColPos(startColPosition)
+                .startRowPos(2)
+                .bg("#ccffcc")
+                .build();
+        return assembleSingleTitle(cellParam, MAIN_TITLE_SECOND);
     }
 
     /**
@@ -230,6 +246,7 @@ public class LuckySheet4SummaryHelp {
             remark2v.put("m", "");
             remark2v.put("bl", 1);
             remark2v.put("fc", "rgb(0, 0, 0)");
+            remark2v.put("bg", "#ccffcc");
             remark2v.put("ff", 5);
             remark2v.put("fs", 11);
             remark2v.put("ht", 0);
@@ -248,7 +265,7 @@ public class LuckySheet4SummaryHelp {
      * @param startColPosition
      * @return
      */
-    public static JSONArray genDeviceNumberFirstTitle(String cellName, int startColPosition) {
+    public static JSONArray genDeviceNumberFirstTitle(String cellName, int startColPosition, String bg) {
         AssembleCellParam cellParam = AssembleCellParam.builder()
                 .fontsize(11)
                 .startRowPos(1)
@@ -256,6 +273,7 @@ public class LuckySheet4SummaryHelp {
                 .rowSize(1)
                 .colSize(MACHINE_TITLE_COLS.length)
                 .value(cellName)
+                .bg(bg)
                 .build();
         return assembleMergeTitle(cellParam);
     }
@@ -266,31 +284,39 @@ public class LuckySheet4SummaryHelp {
      * @param startColPosition
      * @return
      */
-    public static JSONArray assembleDeviceNumberSecondTitle(int startColPosition) {
-        return assembleSingleTitle(startColPosition, 2, MACHINE_TITLE_COLS);
+    public static JSONArray assembleDeviceNumberSecondTitle(int startColPosition, String bg) {
+
+        AssembleCellParam cellParam = AssembleCellParam.builder()
+                .startColPos(startColPosition)
+                .startRowPos(2)
+                .bg(bg)
+                .build();
+        return assembleSingleTitle(cellParam, MACHINE_TITLE_COLS);
     }
 
     /**
      * 生成单个单元格
      *
-     * @param startColPosition
+     * @param cellParam
      * @param cols
      * @return
      */
-    public static JSONArray assembleSingleTitle(int startColPosition, int startRowPosition, String[] cols) {
-
+    public static JSONArray assembleSingleTitle(AssembleCellParam cellParam, String[] cols) {
         JSONArray result = new JSONArray();
 
         for(int m = 0, n = cols.length; m < n; m++) {
             //备注2
             JSONObject remark2 = new JSONObject();
-            remark2.put("c", startColPosition + m);
-            remark2.put("r", startRowPosition);
+            remark2.put("c", cellParam.getStartColPos() + m);
+            remark2.put("r", cellParam.getStartRowPos());
             JSONObject remark2v = new JSONObject();
             remark2v.put("m", cols[m]);
             remark2v.put("v", cols[m]);
             remark2v.put("bl", 1);
             remark2v.put("fc", "rgb(0, 0, 0)");
+            if(!ObjectUtils.isEmpty(cellParam.getBg())) {
+                remark2v.put("bg", cellParam.getBg());
+            }
             remark2v.put("ff", 5);
             remark2v.put("fs", 11);
             remark2v.put("ht", 0);
@@ -306,6 +332,46 @@ public class LuckySheet4SummaryHelp {
         return result;
     }
 
+//    /**
+//     * 生成单个单元格
+//     *
+//     * @param startColPosition
+//     * @param cols
+//     * @return
+//     */
+//    public static JSONArray assembleSingleTitle(int startColPosition, int startRowPosition, String[] cols) {
+//
+//        AssembleCellParam cellParam = AssembleCellParam.builder().build();
+//
+//        assembleSingleTitle(cols);
+//
+//        JSONArray result = new JSONArray();
+//
+//        for(int m = 0, n = cols.length; m < n; m++) {
+//            //备注2
+//            JSONObject remark2 = new JSONObject();
+//            remark2.put("c", startColPosition + m);
+//            remark2.put("r", startRowPosition);
+//            JSONObject remark2v = new JSONObject();
+//            remark2v.put("m", cols[m]);
+//            remark2v.put("v", cols[m]);
+//            remark2v.put("bl", 1);
+//            remark2v.put("fc", "rgb(0, 0, 0)");
+//            remark2v.put("ff", 5);
+//            remark2v.put("fs", 11);
+//            remark2v.put("ht", 0);
+//            remark2v.put("it", 0);
+//            remark2v.put("vt", 1);
+//            JSONObject ct = new JSONObject();
+//            ct.put("t", "g");
+//            ct.put("fa", "General");
+//            remark2v.put("ct", ct);
+//            remark2.put("v", remark2v);
+//            result.add(remark2);
+//        }
+//        return result;
+//    }
+
     /**
      * 组装合并单元格
      *
@@ -323,6 +389,9 @@ public class LuckySheet4SummaryHelp {
         remark2v.put("v", param.getValue());
         remark2v.put("bl", 1);
         remark2v.put("fc", "rgb(0, 0, 0)");
+        if(!ObjectUtils.isEmpty(param.getBg())) {
+            remark2v.put("bg", param.getBg());
+        }
         remark2v.put("ff", 5);
         remark2v.put("fs", param.getFontsize());
         remark2v.put("ht", 0);
@@ -503,14 +572,14 @@ public class LuckySheet4SummaryHelp {
         result.put("0_0", row0Title);
 
         //第二行 前4列
-        for(int m = 0, n = MAIN_TITLE_FIRST.length; m < n; m++) {
-            JSONObject row1Col0Title = new JSONObject();
-            row1Col0Title.put("c", m);
-            row1Col0Title.put("r", 1);
-            row1Col0Title.put("cs", 1);
-            row1Col0Title.put("rs", 2);
-            result.put("1_".concat(String.valueOf(m)), row1Col0Title);
-        }
+//        for(int m = 0, n = MAIN_TITLE_FIRST.length; m < n; m++) {
+//            JSONObject row1Col0Title = new JSONObject();
+//            row1Col0Title.put("c", m);
+//            row1Col0Title.put("r", 1);
+//            row1Col0Title.put("cs", 1);
+//            row1Col0Title.put("rs", 2);
+//            result.put("1_".concat(String.valueOf(m)), row1Col0Title);
+//        }
 
         //第二行机号
         for(int m = 0,  n = deviceNumberList.size(); m < n; m++) {

+ 50 - 0
luckysheet/src/main/resources/application-dev.yml

@@ -0,0 +1,50 @@
+logging:
+  config: classpath:logback-spring.xml
+
+# 日志是否打印sql
+showSql: true
+
+spring:
+  redis:
+    host: 127.0.0.1
+    port: 6379
+    password: Hao123
+    timeout: 10000ms
+    lettuce:
+      pool:
+        max-active: 8
+        max-wait: -1ms
+        max-idle: 8
+        min-idle: 0
+    database: 0
+
+db:
+  postgre:
+    druid:
+      url: jdbc:postgresql://127.0.0.1:5433/luckysheetdb?useSSL=false
+      driverClassName: org.postgresql.Driver
+      username: postgres
+      password: 123456
+      # 初始化大小,最小,最大
+      initial-size: 8
+      min-idle: 1
+      max-active: 20
+      # 配置获取连接等待超时的时间
+      max-wait: 60000
+      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+      time-between-eviction-runsMillis: 60000
+      # 配置一个连接在池中最小生存的时间,单位是毫秒
+      min-evictable-idle-timeMillis: 300000
+      validation-query: select 1
+      test-while-idle: true
+      test-on-borrow: false
+      test-on-return: false
+      # 打开PSCache,并且指定每个连接上PSCache的大小
+      pool-prepared-statements: true
+      max-open-prepared-statements: 20
+      # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
+      max-pool-prepared-statement-per-connection-size: 20
+      filters: stat,wall
+      # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
+      connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
+      use-global-data-source-stat: true

+ 1 - 1
luckysheet/src/main/resources/application-postgres.yml

@@ -21,7 +21,7 @@ spring:
 db:
   postgre:
     druid:
-      url: jdbc:postgresql://127.0.0.1:5433/luckysheetdb?useSSL=false
+      url: jdbc:postgresql://127.0.0.1:5432/luckysheetdb?useSSL=false
       driverClassName: org.postgresql.Driver
       username: postgres
       password: 123456

+ 50 - 0
luckysheet/src/main/resources/application-prod.yml

@@ -0,0 +1,50 @@
+logging:
+  config: classpath:logback-spring.xml
+
+# 日志是否打印sql
+showSql: true
+
+spring:
+  redis:
+    host: 127.0.0.1
+    port: 6379
+    password: Hao123
+    timeout: 10000ms
+    lettuce:
+      pool:
+        max-active: 8
+        max-wait: -1ms
+        max-idle: 8
+        min-idle: 0
+    database: 0
+
+db:
+  postgre:
+    druid:
+      url: jdbc:postgresql://127.0.0.1:5432/luckysheetdb?useSSL=false
+      driverClassName: org.postgresql.Driver
+      username: postgres
+      password: 123456
+      # 初始化大小,最小,最大
+      initial-size: 8
+      min-idle: 1
+      max-active: 20
+      # 配置获取连接等待超时的时间
+      max-wait: 60000
+      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+      time-between-eviction-runsMillis: 60000
+      # 配置一个连接在池中最小生存的时间,单位是毫秒
+      min-evictable-idle-timeMillis: 300000
+      validation-query: select 1
+      test-while-idle: true
+      test-on-borrow: false
+      test-on-return: false
+      # 打开PSCache,并且指定每个连接上PSCache的大小
+      pool-prepared-statements: true
+      max-open-prepared-statements: 20
+      # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
+      max-pool-prepared-statement-per-connection-size: 20
+      filters: stat,wall
+      # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
+      connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
+      use-global-data-source-stat: true