Bläddra i källkod

修改为批量插入新标签

lighter 3 år sedan
förälder
incheckning
db11c4c38d

+ 1 - 1
pom.xml

@@ -10,7 +10,7 @@
     </parent>
     <groupId>thyyxxk</groupId>
     <artifactId>web-server</artifactId>
-    <version>1</version>
+    <version>2</version>
     <name>web-server</name>
     <description>server for yibao-web</description>
     <properties>

+ 7 - 2
src/main/java/thyyxxk/webserver/dao/his/examinations/MixLabelPrintDao.java

@@ -23,8 +23,13 @@ public interface MixLabelPrintDao {
             "exec sp_addextendedproperty 'MS_Description', '重复打印操作时间', 'SCHEMA', 'dbo', 'TABLE', '${table}', 'COLUMN', 'reprint_datetime';")
     void createTable(@Param("table") String table);
 
-    @Insert("insert into ${table} (label,status,reprint) values (#{label},0,0)")
-    void insertNewLabel(@Param("table") String table, @Param("label") String label);
+    @Insert("<script>" +
+            "insert into ${table} (label,status,reprint) values " +
+            "<foreach collection='list' item='label' open='' separator=',' close=''>" +
+            "(#{label}, 0, 0)" +
+            "</foreach>" +
+            "</script>")
+    void insertNewLabels(@Param("table") String table, @Param("list") List<String> list);
 
     @Insert("insert into t_mix_label_ranges(table_name, min_label, max_label, prefix, slice_index, end_number) values " +
             "(#{tableName},#{minLabel},#{maxLabel},#{prefix},#{sliceIndex},#{endNumber})")

+ 10 - 1
src/main/java/thyyxxk/webserver/service/examinations/MixLabelPrintService.java

@@ -11,6 +11,7 @@ import thyyxxk.webserver.entity.examinations.mixlabel.MixLabelRange;
 import thyyxxk.webserver.utils.ResultVoUtil;
 import thyyxxk.webserver.utils.TokenUtil;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -26,9 +27,17 @@ public class MixLabelPrintService {
 
     public ResultVo<String> createMixLabel(MixLabelRange labelRange) {
         dao.createTable(labelRange.getTableName());
+        List<String> labels = new ArrayList<>();
         for (int i = labelRange.getBeginNumber(); i <= labelRange.getEndNumber(); i++) {
             String label = labelRange.getPrefix() + i;
-            dao.insertNewLabel(labelRange.getTableName(), label);
+            labels.add(label);
+            if (labels.size() == 200) {
+                dao.insertNewLabels(labelRange.getTableName(), labels);
+                labels.clear();
+            }
+        }
+        if (labels.size() > 0) {
+            dao.insertNewLabels(labelRange.getTableName(), labels);
         }
         dao.insertNewLabelRange(labelRange);
         return ResultVoUtil.success("成功。");