From 747a4a421dc8c1faf1c768aaac0fc7abc258e2c0 Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期一, 02 三月 2026 11:15:22 +0800
Subject: [PATCH] 巡检配置,起止时间修改

---
 fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java |  145 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 142 insertions(+), 3 deletions(-)

diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java
index 87f3c24..ac5f2a8 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java
@@ -4,17 +4,29 @@
 import com.bstek.dorado.annotation.DataResolver;
 import com.bstek.dorado.annotation.Expose;
 import com.bstek.dorado.data.provider.Page;
+import com.fzzy.common.constant.BizTypeEnum;
 import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.data.BaseResp;
 import com.fzzy.igds.data.InoutData;
 import com.fzzy.igds.data.InoutParam;
+import com.fzzy.igds.domain.InoutNoticeIn;
+import com.fzzy.igds.domain.InoutNoticeOut;
 import com.fzzy.igds.domain.InoutRecord;
+import com.fzzy.igds.service.DepotService;
+import com.fzzy.igds.service.ExportService;
+import com.fzzy.igds.service.InoutNoticeService;
 import com.fzzy.igds.service.InoutRecordService;
 import com.fzzy.igds.utils.ContextUtil;
+import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.StringUtils;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.apache.commons.lang3.time.DateUtils;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 import javax.annotation.Resource;
-import java.util.Date;
+import java.util.*;
 
 /**
  * @Description 鍑哄叆搴撹鍗曢〉闈㈢鐞�
@@ -26,6 +38,12 @@
 
     @Resource
     private InoutRecordService inoutRecordService;
+    @Resource
+    private ExportService exportService;
+    @Resource
+    private InoutNoticeService noticeService;
+    @Resource
+    private DepotService depotService;
 
     /**
      * inoutDataPR#pageInoutData
@@ -37,7 +55,7 @@
     public void pageInoutData(Page<InoutRecord> page, InoutParam param) {
         com.baomidou.mybatisplus.extension.plugins.pagination.Page<InoutRecord> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize());
 
-        if(null == param) {
+        if (null == param) {
             param = new InoutParam();
         }
         inoutRecordService.listPageInout(corePage, param);
@@ -58,7 +76,8 @@
         if (!Constant.PROGRESS_RECORD.equals(data.getProgress())) {
             return "绯荤粺锛氭湭缁撴潫娴佺▼鐨勬暟鎹笉鏀寔淇敼锛�";
         }
-        int i = inoutRecordService.updateInoutRecord(data);
+
+        int i = inoutRecordService.checkAndUpdate(data);
         if (i > 0) {
             return null;
         } else {
@@ -75,6 +94,7 @@
      */
     @DataResolver
     @Transactional
+    @Log(title = "鍑哄叆搴撴暟鎹墽琛屽紓甯哥粓姝�", businessType = BusinessType.UPDATE,bizType = BizTypeEnum.INOUT)
     public String errorInoutData(InoutRecord data) {
         return inoutRecordService.errorInoutData(data);
     }
@@ -157,4 +177,123 @@
             return inoutRecordService.outWeightBill(data);
         }
     }
+
+    /**
+     * inoutDataPR#analysisExcel
+     *
+     * @param fileName
+     * @return
+     */
+    @Expose
+    public BaseResp analysisExcel(String fileName) {
+
+        try {
+            List<InoutRecord> inoutRecords = exportService.readExcel(fileName);
+            if (null == inoutRecords || inoutRecords.isEmpty()) {
+                return BaseResp.error("瀵煎叆澶辫触锛屽師鍥�-->鏈幏鍙栧埌excel涓枃妗f暟鎹紒");
+            }
+
+            //鍒ゆ柇鏁版嵁瀹屾暣鎬�
+            boolean addTag = false;
+            int hour = 10;
+            int min = 10;
+
+            for (InoutRecord inoutRecord : inoutRecords) {
+                //璁剧疆鏁版嵁鐘舵�佸強娴佺▼
+                inoutRecord.setRecordStatus(Constant.RECORD_STATUS_ADD);
+                inoutRecord.setProgress(Constant.PROGRESS_RECORD);
+
+                //鏍¢獙閫氱煡鍗�
+                String noticeId = inoutRecord.getNoticeId();
+                if(StringUtils.isBlank(noticeId)){
+                    addTag = true;
+                    break;
+                }
+                if(noticeId.startsWith("RK_")){
+                    InoutNoticeIn noticeInOne = noticeService.getNoticeInOne(noticeId);
+                    if(null == noticeInOne){
+                        addTag = true;
+                        break;
+                    }
+                    inoutRecord.setDeptId(noticeInOne.getDeptId());
+                }
+                if(noticeId.startsWith("CK_")){
+                    InoutNoticeOut noticeOut = noticeService.getNoticeOutOne(noticeId);
+                    if(null == noticeOut){
+                        addTag = true;
+                        break;
+                    }
+                    inoutRecord.setDeptId(noticeOut.getDeptId());
+                }
+
+                //鏍¢獙浠撳簱
+                String depotName = inoutRecord.getDepotId();
+                if(StringUtils.isBlank(depotName)){
+                    addTag = true;
+                    break;
+                }
+                //鏍规嵁浠撳簱鍚嶇О鑾峰彇浠撳簱缂栫爜
+                String depotId = depotService.getDepotId(inoutRecord.getDeptId(), depotName);
+                if(StringUtils.isBlank(depotId)){
+                    addTag = true;
+                    break;
+                }
+                inoutRecord.setDepotId(depotId);
+
+                //鏍¢獙鏃ユ湡鏄惁瀹屾暣
+                String plateNum = inoutRecord.getPlateNum();
+                if(null == plateNum){
+                    addTag = true;
+                    break;
+                }
+                inoutRecord.setPlateNum(plateNum);
+
+                //鏍¢獙鏃ユ湡鏄惁瀹屾暣
+                Date registerTime = inoutRecord.getRegisterTime();
+                if(null == registerTime){
+                    addTag = true;
+                    break;
+                }
+
+                //璁剧疆鐧昏銆佺О閲嶃�佸畬鎴愭椂闂�
+                String time = DateFormatUtils.format(registerTime, "yyyy-MM-dd");
+                if(min >= 60){
+                    min = 10;
+                    hour ++;
+                }
+                time += " " + hour + ":" + min + ":00";
+                inoutRecord.setRegisterTime(DateUtils.parseDate(time,"yyyy-MM-dd HH:mm:ss"));
+                if(Constant.TYPE_IN.equals(inoutRecord.getType())){
+                    inoutRecord.setFullWeightTime(DateUtils.addMinutes(inoutRecord.getRegisterTime(), 3));
+                    inoutRecord.setHandleEnd(DateUtils.addMinutes(inoutRecord.getRegisterTime(), 30));
+                    inoutRecord.setEmptyWeightTime(DateUtils.addMinutes(inoutRecord.getRegisterTime(), 50));
+                }
+                if(Constant.TYPE_OUT.equals(inoutRecord.getType())){
+                    inoutRecord.setEmptyWeightTime(DateUtils.addMinutes(inoutRecord.getRegisterTime(), 3));
+                    inoutRecord.setHandleEnd(DateUtils.addMinutes(inoutRecord.getRegisterTime(), 30));
+                    inoutRecord.setFullWeightTime(DateUtils.addMinutes(inoutRecord.getRegisterTime(), 50));
+                }
+                inoutRecord.setCompleteTime(DateUtils.addHours(inoutRecord.getRegisterTime(), 1));
+
+                inoutRecord.setCompanyId(ContextUtil.getCompanyId());
+                min ++;
+            }
+
+            if(addTag){
+                return BaseResp.error("瀵煎叆澶辫触锛屽師鍥�-->鏁版嵁鏍¢獙澶辫触锛岃鏍告煡鏁版嵁<鏃ユ湡銆佺被鍨嬨�佽溅鐗屻�侀�氱煡鍗曘�佷粨搴撱�佸搧绉嶇瓑淇℃伅>锛侊紒锛�");
+            }
+
+            //鏂板鏁版嵁
+            String msg = inoutRecordService.addInoutRecordList(inoutRecords);
+
+            if(null == msg){
+                return BaseResp.success("瀵煎叆鎴愬姛锛屽叡璁″鍏�" + inoutRecords.size() + "鏉℃暟鎹紒"  );
+            }else {
+                return BaseResp.error(msg);
+            }
+        } catch (Exception e) {
+            return BaseResp.error("瀵煎叆澶辫触锛屽師鍥�-->" + e.getMessage());
+        }
+
+    }
 }

--
Gitblit v1.9.3