From 087991c76f078defe5eb55d84223021b4199fb3d Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 17 二月 2025 11:22:50 +0800
Subject: [PATCH] 设备模块修改bug

---
 framework/src/main/java/com/yuanchu/mom/utils/FileSaveUtil.java                              |   45 ++++++++++++++++++++++
 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceBorrowController.java             |    6 +++
 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceRecordServiceImpl.java          |    2 
 cnas-server/src/main/resources/static/word/device-calibration-plan.docx                      |    0 
 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMetricRecord.java                       |    3 +
 cnas-server/src/main/resources/static/word/examine-record.docx                               |    0 
 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceStateController.java              |    4 ++
 cnas-server/src/main/java/com/yuanchu/mom/pojo/Document.java                                 |   11 +++++
 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMaintenancePlanServiceImpl.java |    1 
 cnas-personnel/src/main/java/com/yuanchu/mom/controller/PersonBasicInfoController.java       |    2 
 framework/src/main/java/com/yuanchu/mom/config/PowerConfig.java                              |    6 +++
 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceBorrow.java                             |    1 
 12 files changed, 77 insertions(+), 4 deletions(-)

diff --git a/cnas-personnel/src/main/java/com/yuanchu/mom/controller/PersonBasicInfoController.java b/cnas-personnel/src/main/java/com/yuanchu/mom/controller/PersonBasicInfoController.java
index baafecf..1929537 100644
--- a/cnas-personnel/src/main/java/com/yuanchu/mom/controller/PersonBasicInfoController.java
+++ b/cnas-personnel/src/main/java/com/yuanchu/mom/controller/PersonBasicInfoController.java
@@ -80,7 +80,7 @@
     @PostMapping("/saveCNASFile")
     @ValueAuth
     public Result saveFile(@RequestPart("file") MultipartFile file) {
-        String s = FileSaveUtil.StoreFile(file);
+        String s = FileSaveUtil.uploadWordFile(file);
         return Result.success("涓婁紶鎴愬姛", s);
     }
 
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceBorrowController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceBorrowController.java
index 8e3bfa3..aec2499 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceBorrowController.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceBorrowController.java
@@ -3,6 +3,7 @@
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.annotation.ValueAuth;
 import com.yuanchu.mom.pojo.DeviceBorrow;
 import com.yuanchu.mom.service.DeviceBorrowService;
 import com.yuanchu.mom.utils.JackSonUtil;
@@ -32,6 +33,7 @@
 
     //鍒嗛〉
     @PostMapping("/deviceBorrowPage")
+    @ValueAuth
     public Result deviceBorrowPage(@RequestBody Map<String, Object> data) throws Exception {
         Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
         DeviceBorrow deviceBorrow = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceBorrow.class);
@@ -40,24 +42,28 @@
 
     //鏌ヨ
     @GetMapping("/getDeviceBorrow")
+    @ValueAuth
     public Result getDeviceBorrow(Integer id) {
         return Result.success(deviceBorrowService.getDeviceBorrow(id));
     }
 
     //鏂板
     @PostMapping("/saveDeviceBorrow")
+    @ValueAuth
     public Result saveDeviceBorrow(@RequestBody DeviceBorrow deviceBorrow) {
         return Result.success(deviceBorrowService.saveDeviceBorrow(deviceBorrow));
     }
 
     //鍒犻櫎
     @PostMapping("/deleteDeviceBorrow")
+    @ValueAuth
     public Result deleteDeviceBorrow(Integer id) {
         return Result.success(deviceBorrowService.removeById(id));
     }
 
     //瀵煎嚭
     @PostMapping("/deviceBorrowExport")
+    @ValueAuth
     public Result deviceBorrowExport(@RequestParam("deviceId") Integer deviceId, HttpServletResponse response) throws Exception {
         List<DeviceBorrow> deviceBorrows = deviceBorrowService.getDeviceBorrowBydeviceId(deviceId);
         response.setHeader("requestType", "excel");
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceStateController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceStateController.java
index 8f697b5..0637fbe 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceStateController.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceStateController.java
@@ -43,6 +43,7 @@
     private NumberGenerator<DeviceState> numberGenerator;
 
     @PostMapping("saveDeviceState")
+    @ValueAuth
     public Result saveIncidentReportData(@RequestBody DeviceState deviceState) {
         if (ObjectUtils.isEmpty(deviceState.getProcessNumber())) {
             String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date());
@@ -55,16 +56,19 @@
     }
 
     @GetMapping("/getDeviceStatePage")
+    @ValueAuth
     public Result getDeviceStatePage(@RequestParam("deviceId") Integer deviceId, Page page, String processNumber){
         return Result.success(deviceStateService.getDeviceStatePage(deviceId, page, processNumber));
     }
 
     @DeleteMapping("/deleteDeviceState")
+    @ValueAuth
     public Result deleteDeviceState(@RequestParam("stateId") Integer stateId){
         return Result.success(deviceStateService.removeById(stateId));
     }
 
     @PostMapping("/deviceStateExport")
+    @ValueAuth
     public Result deviceStateExport(@RequestParam("deviceId") Integer deviceId, String processNumber, HttpServletResponse response) throws Exception {
         IPage<DeviceStateDto> deviceBorrows = deviceStateService.getDeviceStatePage(deviceId, new Page<>(1, -1), processNumber);
         List<DeviceStateExport> studentList  = JSONObject.parseArray(JSON.toJSONString(deviceBorrows.getRecords()), DeviceStateExport.class);
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceBorrow.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceBorrow.java
index 79a4384..ce2e0a6 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceBorrow.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceBorrow.java
@@ -66,6 +66,7 @@
 
     @ValueTableShow(5)
     @ApiModelProperty("鍊熺敤鏃ユ湡")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     @ExcelProperty(value = "鎻愪氦鏃ユ湡")
     private Date recipientTime;
 
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMetricRecord.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMetricRecord.java
index 5dffcf7..66e7930 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMetricRecord.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMetricRecord.java
@@ -38,9 +38,11 @@
     private String unitOfMeasure;
 
     @ApiModelProperty("鏍″噯鏃ユ湡")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date calibrationDate;
 
     @ApiModelProperty("涓嬫鏍″噯鏃ユ湡")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date nextCalibrationDate;
 
     @ApiModelProperty("璁$畻鍣ㄥ叿")
@@ -85,5 +87,6 @@
     private String type;
 
     @ApiModelProperty("纭鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date confirmDate;
 }
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Document.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Document.java
index bf7fa04..0be7471 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Document.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Document.java
@@ -4,9 +4,11 @@
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
 import java.time.LocalDateTime;
+import java.util.Date;
 
 
 @Data
@@ -58,6 +60,13 @@
     private LocalDateTime provideDate;
 
     /**
+     * 褰掓。鏃ユ湡
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime archiveDate;
+
+    /**
      * 澶囨敞
      */
     private String comments;
@@ -88,4 +97,4 @@
     private String fileName;
 
 
-}
\ No newline at end of file
+}
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMaintenancePlanServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMaintenancePlanServiceImpl.java
index 81ca79f..e9c995d 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMaintenancePlanServiceImpl.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMaintenancePlanServiceImpl.java
@@ -94,7 +94,6 @@
         List<DeviceMaintenancePlanDetailsDto> deviceMaintenancePlanDetails = deviceMaintenancePlanDto.getDeviceMaintenancePlanDetails();
         if (CollectionUtils.isNotEmpty(deviceMaintenancePlanDetails)) { // 璇︽儏涓嶄负绌�
             List<DeviceMaintenancePlanDetails> collect = deviceMaintenancePlanDetails.stream().map(deviceMaintenancePlanDetail -> { // 閬嶅巻璇︽儏
-                deviceMaintenancePlanDetail.setDeviceId(deviceMaintenancePlanDto.getDeviceId()); // 璁惧ID
                 deviceMaintenancePlanDetail.setMaintenancePlanId(deviceMaintenancePlanDto.getMaintenancePlanId()); // 淇濆吇璁″垝ID
                 DeviceMaintenancePlanDetails planDetails = new DeviceMaintenancePlanDetails();
                 BeanUtils.copyProperties(deviceMaintenancePlanDetail, planDetails);
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceRecordServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceRecordServiceImpl.java
index f043077..d3db0a5 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceRecordServiceImpl.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceRecordServiceImpl.java
@@ -68,7 +68,7 @@
 
 
         // 鏌ヨ璁惧灞炰簬鍝釜瀹為獙瀹�
-        String laboratoryName = "瑁呭绾跨紗瀹為獙瀹�";
+        String laboratoryName = "閫氫俊浜у搧瀹為獙瀹�";
 
         // 瑕佹槧灏勫埌word鏁版嵁
         List<DeviceRecordExportWord> deviceExportList = new ArrayList<>();
diff --git a/cnas-server/src/main/resources/static/word/device-calibration-plan.docx b/cnas-server/src/main/resources/static/word/device-calibration-plan.docx
index 4f4e6ff..d3685cc 100644
--- a/cnas-server/src/main/resources/static/word/device-calibration-plan.docx
+++ b/cnas-server/src/main/resources/static/word/device-calibration-plan.docx
Binary files differ
diff --git a/cnas-server/src/main/resources/static/word/examine-record.docx b/cnas-server/src/main/resources/static/word/examine-record.docx
index 2462971..56fbdcc 100644
--- a/cnas-server/src/main/resources/static/word/examine-record.docx
+++ b/cnas-server/src/main/resources/static/word/examine-record.docx
Binary files differ
diff --git a/framework/src/main/java/com/yuanchu/mom/config/PowerConfig.java b/framework/src/main/java/com/yuanchu/mom/config/PowerConfig.java
index bc08492..0ec0878 100644
--- a/framework/src/main/java/com/yuanchu/mom/config/PowerConfig.java
+++ b/framework/src/main/java/com/yuanchu/mom/config/PowerConfig.java
@@ -4,6 +4,7 @@
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
 import com.yuanchu.mom.annotation.ValueAuth;
+import com.yuanchu.mom.annotation.ValueClassify;
 import com.yuanchu.mom.exception.ErrorException;
 import com.yuanchu.mom.exception.MyFileException;
 import com.yuanchu.mom.mapper.AuthMapper;
@@ -42,6 +43,11 @@
             Integer userId = Integer.parseInt(obj.get("id") + "");
             int i = authMapper.isPower(userId, h.getMethod().getName());
             if (i == 0){
+                // 鍒ゆ柇鏄惁鏈夋潈闄愭敞瑙�
+                ValueClassify valueClassify = h.getMethodAnnotation(ValueClassify.class);
+                if (valueClassify == null) {
+                    return HandlerInterceptor.super.preHandle(request, response, handler);
+                }
                 throw new ErrorException(obj.get("name") + " 鏃犳潈闄愯闂� " + h.getMethod().getName() + " 鎺ュ彛");
             }
         }
diff --git a/framework/src/main/java/com/yuanchu/mom/utils/FileSaveUtil.java b/framework/src/main/java/com/yuanchu/mom/utils/FileSaveUtil.java
index 195b688..8ffb2d1 100644
--- a/framework/src/main/java/com/yuanchu/mom/utils/FileSaveUtil.java
+++ b/framework/src/main/java/com/yuanchu/mom/utils/FileSaveUtil.java
@@ -14,6 +14,8 @@
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 
 /**
  * 淇濆瓨鏂囦欢宸ュ叿
@@ -25,10 +27,15 @@
     // 鍙杫ml涓殑璺緞 + /
     private static String FILE_PATH;
 
+    private static String WORD_URL_PATH;
+
     private static String[] ALLOWED;
 
     @Value("${file.path}")
     private String file;
+
+    @Value("${wordUrl}")
+    private String wordUrl;
 
     @Value("${file.allowed}")
     private String[] allowed;
@@ -36,6 +43,11 @@
     @PostConstruct
     public void getFile() {
         FILE_PATH = this.file;
+    }
+
+    @PostConstruct
+    public void getWordUrl(){
+        WORD_URL_PATH = this.wordUrl;
     }
 
     @PostConstruct
@@ -114,4 +126,37 @@
         }
         return false;
     }
+
+
+    /**
+     * 淇濆瓨鏂囦欢鍒皐ord鏂囦欢澶归噷
+     * @param file
+     * @return
+     */
+    public static String uploadWordFile(MultipartFile file) {
+        String urlString;
+        String pathName;
+        String path;
+        try {
+            String contentType = file.getContentType();
+            if (contentType != null && contentType.startsWith("image/")) {
+                // 鏄浘鐗�
+                path = FILE_PATH;
+            } else {
+                // 鏄枃浠�
+                path = WORD_URL_PATH;
+            }
+            File realpath = new File(path);
+            if (!realpath.exists()) {
+                realpath.mkdirs();
+            }
+            pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmmss")) + "-" + file.getOriginalFilename();
+            urlString = realpath + "/" + pathName;
+            file.transferTo(new File(urlString));
+            return pathName;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
 }

--
Gitblit v1.9.3