From d22a79cc9c6d620eaaa3b4e62cb1e52a0a670c82 Mon Sep 17 00:00:00 2001
From: liyongde <1419499670@qq.com>
Date: Wed, 25 Oct 2023 18:41:51 +0800
Subject: [PATCH 1/2] =?UTF-8?q?opt:=20=E5=B7=A5=E5=8D=95=E4=B8=8B=E5=8F=91?=
 =?UTF-8?q?=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../service/dao/mapper/SysInteractRecordMapper.xml   |  2 +-
 .../src/views/wms/pdm/workerorder/index.vue          | 12 +++++++++---
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.xml
index f9f5d80..af5b747 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.xml
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.xml
@@ -7,6 +7,6 @@
         WHERE record_time <![CDATA[<=]]> DATE_SUB(NOW(), INTERVAL #{day} DAY);
     </delete>
     <delete id="deleteByRows">
-        CALL DeleteRowsIfNeeded(#{maxRowsToKeep}, #{maxRowsToDelete});
+        CALL DeleteRowsIfNeeded(#{maxRowsToKeep}, #{maxRowsToDelete})
     </delete>
 </mapper>
diff --git a/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue b/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue
index 10ccd14..63ad1ab 100644
--- a/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue
+++ b/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue
@@ -123,10 +123,10 @@
           <el-form-item label="物料规格">
             <el-input v-model="form.material_spec" style="width: 240px;" disabled />
           </el-form-item>
-          <el-form-item label="计划数量" prop="plan_qty" >
+          <el-form-item label="计划数量" prop="plan_qty">
             <el-input-number
-              :disabled="form.region_code === 'FJ'"
               v-model.number="form.plan_qty"
+              :disabled="form.region_code === 'FJ'"
               :min="0"
               style="width: 240px;"
             />
@@ -485,7 +485,8 @@ const defaultForm = {
   custer_no: null,
   pack_method: null,
   order_subnum: 0,
-  guadansum: 0
+  guadansum: 0,
+  show: false
 }
 export default {
   name: 'PdmBdWorkorder',
@@ -640,9 +641,14 @@ export default {
     },
     // 下发
     submits(row) {
+      this.crud.loading = true
       crudPdmBdWorkorder.submits(row).then(res => {
         this.crud.notify('下发成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
         this.crud.toQuery()
+      }).catch(() => {
+        this.crud.loading = false
+      }).finally(() => {
+        this.crud.loading = false
       })
     },
     synchronize() {

From 0cf10e61183fd90d9421700e703ff3d0b98b6a62 Mon Sep 17 00:00:00 2001
From: liyongde <1419499670@qq.com>
Date: Thu, 26 Oct 2023 11:13:29 +0800
Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=E5=AE=9A=E6=97=B6=E6=B8=85?=
 =?UTF-8?q?=E9=99=A4lucene=E6=97=A5=E5=BF=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../org/nl/config/lucene/LuceneAppender.java  |  2 +-
 .../java/org/nl/config/lucene/Searcher.java   | 73 +++++++++++++------
 .../quartz/task/AutoClearLuceneData.java      | 45 ++++++++++++
 .../src/views/wms/pdm/workerorder/index.vue   | 11 ++-
 4 files changed, 105 insertions(+), 26 deletions(-)
 create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoClearLuceneData.java

diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LuceneAppender.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LuceneAppender.java
index 9a0259a..0909ac0 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LuceneAppender.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LuceneAppender.java
@@ -25,7 +25,7 @@ import java.util.Map;
 public class LuceneAppender extends AppenderBase<ILoggingEvent> {
 
     private Directory index;
-    private IndexWriter indexWriter;
+    public static IndexWriter indexWriter;
 
 
     @Override
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/Searcher.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/Searcher.java
index fecdf48..086f4e1 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/Searcher.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/Searcher.java
@@ -7,9 +7,8 @@ import com.alibaba.fastjson.JSONObject;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.document.Document;
-import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.Term;
+import org.apache.lucene.document.LongPoint;
+import org.apache.lucene.index.*;
 import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.*;
 import org.apache.lucene.store.Directory;
@@ -17,11 +16,14 @@ import org.apache.lucene.store.FSDirectory;
 import org.apache.lucene.util.BytesRef;
 import org.wltea.analyzer.lucene.IKAnalyzer;
 
+import java.io.IOException;
 import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.List;
-import java.util.Map;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.temporal.ChronoUnit;
+import java.util.*;
 
 /**
  * lucene查询器
@@ -138,19 +140,48 @@ public class Searcher {
         }
     }
 
-    public static void main(String[] args) {
-        String indexDir = "D:\\lucene\\index";
-        //查询这个字符串
-        JSONObject whereJson = new JSONObject();
-        whereJson.put("size", "500");
-        whereJson.put("page", "1");
-        whereJson.put("message", "请求方法参数");
-//        whereJson.put(LogMessageConstant.FIELD_TRACEID, "13244183367577216");
-
-        try {
-            search(indexDir, whereJson);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
+    public static void main(String[] args) throws IOException, ParseException {
+//        String indexDir = "D:\\lucene\\index";
+//        //查询这个字符串
+//        JSONObject whereJson = new JSONObject();
+//        whereJson.put("size", "500");
+//        whereJson.put("page", "1");
+//        whereJson.put("message", "请求方法参数");
+////        whereJson.put(LogMessageConstant.FIELD_TRACEID, "13244183367577216");
+//
+//        try {
+//            search(indexDir, whereJson);
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+        // 删除
+//        Directory directory = FSDirectory.open(Paths.get("D:\\lucene\\index"));
+//        IndexWriterConfig config = new IndexWriterConfig();
+//        IndexWriter writer = new IndexWriter(directory, config);
+//
+//        String timestampAsString = "2023-10-25 14:36:12";
+//        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//        Date date = dateFormat.parse(timestampAsString);
+//        long unixTimestamp = date.getTime(); // 获取Unix时间戳
+//
+//        Query query = LongPoint.newRangeQuery("time", 0L, unixTimestamp);
+//        writer.deleteDocuments(query);
+//
+//        writer.commit();
+//        writer.close();
+        // 获取当前时间
+        LocalDateTime now = LocalDateTime.now();
+        // 减去七天
+        LocalDateTime sevenDaysAgo = now.minus(7, ChronoUnit.DAYS);
+        // 转换为 Date 类型
+        Date sevenDaysAgoDate = Date.from(sevenDaysAgo.atZone(ZoneId.systemDefault()).toInstant());
+        // 获取时间戳
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
+        Date date = dateFormat.parse(String.valueOf(sevenDaysAgo));
+        long timestamp = date.getTime();
+        System.out.println(now);
+        System.out.println(sevenDaysAgo);
+        System.out.println(sevenDaysAgoDate);
+        System.out.println(timestamp);
     }
 }
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoClearLuceneData.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoClearLuceneData.java
new file mode 100644
index 0000000..65ce2b2
--- /dev/null
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoClearLuceneData.java
@@ -0,0 +1,45 @@
+package org.nl.system.service.quartz.task;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.lucene.document.LongPoint;
+import org.apache.lucene.index.IndexWriter;
+import org.apache.lucene.search.Query;
+import org.nl.config.lucene.LuceneAppender;
+import org.nl.system.service.param.ISysParamService;
+import org.nl.system.service.param.dao.Param;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
+import java.util.Date;
+
+/**
+ * @Author: lyd
+ * @Description: 自动删除lucene日志
+ * @Date: 2023/10/26
+ */
+@Slf4j
+@Component
+public class AutoClearLuceneData {
+    @Autowired
+    private ISysParamService paramService;
+    public void run() throws ParseException, IOException {
+        Param log_day = paramService.findByCode("log_day");
+        IndexWriter writer = LuceneAppender.indexWriter;
+        // 获取当前时间
+        LocalDateTime now = LocalDateTime.now();
+        // 减去七天
+        LocalDateTime sevenDaysAgo = now.minus(Long.parseLong(log_day.getValue()), ChronoUnit.DAYS);
+        // 获取时间戳
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
+        Date date = dateFormat.parse(String.valueOf(sevenDaysAgo));
+        long unixTimestamp = date.getTime(); // 获取Unix时间戳
+        Query query = LongPoint.newRangeQuery("time", 0L, unixTimestamp);
+        writer.deleteDocuments(query);
+        writer.commit();
+    }
+}
diff --git a/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue b/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue
index 63ad1ab..3e1f816 100644
--- a/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue
+++ b/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue
@@ -1,5 +1,5 @@
 <template>
-  <div class="app-container">
+  <div v-loading.fullscreen.lock="fullscreenLoading" class="app-container">
     <!--工具栏-->
     <div class="head-container">
       <div v-if="crud.props.searchToggle">
@@ -539,6 +539,7 @@ export default {
       regionCodeParam: null,
       materialDialog: false,
       orderDialog: false,
+      fullscreenLoading: false,
       materialCode: null,
       flag: 1
     }
@@ -641,14 +642,14 @@ export default {
     },
     // 下发
     submits(row) {
-      this.crud.loading = true
+      this.fullscreenLoading = true
       crudPdmBdWorkorder.submits(row).then(res => {
         this.crud.notify('下发成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
         this.crud.toQuery()
       }).catch(() => {
-        this.crud.loading = false
+        this.fullscreenLoading = false
       }).finally(() => {
-        this.crud.loading = false
+        this.fullscreenLoading = false
       })
     },
     synchronize() {
@@ -658,6 +659,8 @@ export default {
         this.crud.notify('同步成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
       }).catch(() => {
         this.fullscreenLoading = false
+      }).finally(() => {
+        this.fullscreenLoading = false
       })
     }
   }