From 7374d150b7f08d4b126d3d0fde57ab55febb53dd Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期三, 05 三月 2025 09:48:24 +0800 Subject: [PATCH] Merge branch 'dev' of http://114.132.189.42:9002/r/lims-ruoyi-after into dev_cr --- cnas-device/src/main/java/com/ruoyi/device/controller/DeviceAcceptanceController.java | 2 cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceImpl.java | 7 cnas-device/src/main/java/com/ruoyi/device/mapper/InstructionMapper.java | 4 cnas-device/src/main/java/com/ruoyi/device/service/DeviceInspectionRecordService.java | 3 cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceInspectionRecordServiceImpl.java | 7 cnas-device/src/main/java/com/ruoyi/device/controller/DeviceStateController.java | 4 cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceMetric.java | 29 +++ cnas-device/src/main/resources/mapper/DeviceInspectionRecordMapper.xml | 5 cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceInstructionServiceImpl.java | 3 cnas-device/src/main/java/com/ruoyi/device/service/IDeviceMetricService.java | 7 ruoyi-framework/src/main/java/com/ruoyi/framework/config/LocalDateTimeSerializerConfig.java | 72 ++++---- inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java | 6 cnas-device/src/main/java/com/ruoyi/device/service/DeviceInstructionService.java | 4 cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java | 2 cnas-device/src/main/resources/mapper/InstructionMapper.xml | 21 +- cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMetricMapper.java | 9 + cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceInspectionRecordMapper.java | 3 ruoyi-admin/src/main/resources/application.yml | 9 cnas-device/src/main/java/com/ruoyi/device/controller/DeviceInspectionRecordController.java | 2 cnas-device/src/main/resources/mapper/DeviceMaintenancePlanMapper.xml | 2 ruoyi-admin/src/main/resources/application-prod.yml | 110 +++++++++++++ ruoyi-admin/src/main/resources/application-druid.yml | 3 ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java | 43 ++++ cnas-device/src/main/java/com/ruoyi/device/controller/DeviceInstructionController.java | 16 + inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java | 8 ruoyi-admin/src/main/resources/logback.xml | 41 +--- ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java | 2 cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMetricServiceImpl.java | 11 + cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMetricController.java | 35 ++++ 29 files changed, 353 insertions(+), 117 deletions(-) diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceAcceptanceController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceAcceptanceController.java index d77575d..183ede5 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceAcceptanceController.java +++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceAcceptanceController.java @@ -126,7 +126,7 @@ * @return */ @ApiOperation(value = "璁惧楠屾敹闄勪欢鍒犻櫎") - @GetMapping("/delDeviceAcceptanceFileList") + @DeleteMapping("/delDeviceAcceptanceFileList") public Result delDeviceAcceptanceFileList(Integer acceptanceFileId){ return Result.success(deviceAcceptanceFileService.removeById(acceptanceFileId)); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceInspectionRecordController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceInspectionRecordController.java index 9db6182..f4b3b1e 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceInspectionRecordController.java +++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceInspectionRecordController.java @@ -35,7 +35,7 @@ */ @ApiOperation("鍒嗛〉鏌ヨ璁惧鐐规璁板綍") @GetMapping("/getDeviceInspectionRecordByPage") - public Result<IPage<DeviceInspectionRecord>> getDeviceInspectionRecordByPage(IPage page, DeviceInspectionRecordDto itemParameter) { + public Result<IPage<DeviceInspectionRecord>> getDeviceInspectionRecordByPage(Page page, DeviceInspectionRecordDto itemParameter) { return deviceInspectionRecordService.getDeviceInspectionRecordByPage(page, itemParameter); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceInstructionController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceInstructionController.java index a4af938..f9d4d7f 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceInstructionController.java +++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceInstructionController.java @@ -41,9 +41,9 @@ private DeviceOperationInstructionService deviceOperationInstructionService; - @ApiOperation(value = "浣滀笟鎸囧涔� 鍒嗛〉") + @ApiOperation(value = "浣滀笟鎸囧涔﹀垎椤�") @GetMapping("/pageByPageQueryOfHomeworkInstructions") - public Result<IPage<DeviceInstruction>> pageByPageQueryOfHomeworkInstructions(Page page, DeviceOperationInstructionDto operationInstructionDto){ + public Result<IPage<DeviceOperationInstructionDto>> pageByPageQueryOfHomeworkInstructions(Page page, DeviceOperationInstructionDto operationInstructionDto){ return Result.success(deviceInstructionService.pageByPageQueryOfHomeworkInstructions(page, operationInstructionDto)); } @@ -54,7 +54,7 @@ return Result.success(); } - @ApiOperation(value = "浣滀笟鎸囧涔︾紪杈�") + @ApiOperation(value = "浣滀笟鎸囧涔﹁鎯�") @GetMapping("/homeworkGuidebookEditor") public Result<Map<String, Object>> homeworkGuidebookEditor(Integer instructionId){ DeviceInstruction instruction = deviceInstructionService.getById(instructionId); @@ -66,7 +66,7 @@ } @ApiOperation(value = "浣滀笟鎸囧涔﹀彈鎺ф枃浠跺垹闄�") - @GetMapping("/deleteHomeworkGuidebook") + @DeleteMapping("/deleteHomeworkGuidebook") public Result deleteHomeworkGuidebook(String ids){ if (ObjectUtils.isNotEmpty(ids)) { String[] idArray = ids.split(","); @@ -76,7 +76,7 @@ } @ApiOperation(value = "浣滀笟鎸囧涔﹀垹闄�") - @GetMapping("/homeworkGuidebook") + @DeleteMapping("/homeworkGuidebook") public Result homeworkGuidebook(String id, String instructionId){ // 鍒犻櫎瀛愯〃鏁版嵁 deviceOperationInstructionService.removeById(id); @@ -91,8 +91,10 @@ } @ApiOperation(value = "浣滀笟鎸囧涔﹀鎵�") - @GetMapping("/approvalOfHomeworkInstructionManual") - public Result approvalOfHomeworkInstructionManual(String id, Boolean status){ + @PostMapping("/approvalOfHomeworkInstructionManual") + public Result approvalOfHomeworkInstructionManual(@RequestBody Map<String,Object> map){ + Integer id =(Integer) map.get("id"); + Boolean status =(Boolean) map.get("status"); deviceOperationInstructionService.update(Wrappers.<OperationInstruction>lambdaUpdate() .eq(OperationInstruction::getId, id) .set(OperationInstruction::getStatus, status) diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java index a7bf0df..44cf11a 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java +++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java @@ -71,7 +71,7 @@ */ @ApiOperation(value = "鏂板璁惧缁存姢淇濆吇") @DeleteMapping("/deleteDeviceMaintenance") - public void deleteDeviceMaintenance(@PathVariable Integer id) { + public void deleteDeviceMaintenance( Integer id) { deviceMaintenanceService.removeById(id); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMetricController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMetricController.java new file mode 100644 index 0000000..82dcefd --- /dev/null +++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMetricController.java @@ -0,0 +1,35 @@ +package com.ruoyi.device.controller; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.device.pojo.DeviceMetric; +import com.ruoyi.device.service.IDeviceMetricService; +import lombok.AllArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@AllArgsConstructor +@RequestMapping("/deviceMetrics") +public class DeviceMetricController { + + @Autowired + private IDeviceMetricService deviceMetricService; + + @PostMapping("/saveOrUpdateDeviceMetric") + public Result create(@RequestBody DeviceMetric deviceMetric) { + return Result.success(deviceMetricService.saveOrUpdate(deviceMetric)); + } + + @GetMapping("/selectDeviceMetric") + public Result read(@RequestParam("deviceId") Integer deviceId, @RequestParam("type") String type) { + return Result.success(deviceMetricService.list(Wrappers.<DeviceMetric>lambdaQuery() + .eq(DeviceMetric::getDeviceId,deviceId) + .eq(DeviceMetric::getType,type))); + } + + @DeleteMapping("/deleteDeviceMetrics") + public Result delete(@RequestParam("id") Integer id) { + return Result.success(deviceMetricService.removeById(id)); + } +} diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceStateController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceStateController.java index 4c73996..1d2ff28 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceStateController.java +++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceStateController.java @@ -63,9 +63,9 @@ return Result.success(deviceStateService.removeById(stateId)); } - @PostMapping("/deviceStateExport") + @GetMapping("/deviceStateExport") public Result deviceStateExport(@RequestParam("deviceId") Integer deviceId, String processNumber, HttpServletResponse response) throws Exception { - IPage<DeviceStateDto> deviceBorrows = deviceStateService.getDeviceStatePage(deviceId, new Page<>(1, -1), processNumber); + IPage<DeviceStateDto> deviceBorrows = deviceStateService.getDeviceStatePage(deviceId, new Page<>(-1, -1), processNumber); List<DeviceStateExport> studentList = JSONObject.parseArray(JSON.toJSONString(deviceBorrows.getRecords()), DeviceStateExport.class); response.setHeader("requestType", "excel"); response.setHeader("Access-Control-Expose-Headers", "requestType"); diff --git a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceInspectionRecordMapper.java b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceInspectionRecordMapper.java index 5cb34ee..9a05395 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceInspectionRecordMapper.java +++ b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceInspectionRecordMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.device.dto.DeviceInspectionRecordDto; import com.ruoyi.device.pojo.DeviceInspectionRecord; import org.apache.ibatis.annotations.Param; @@ -23,6 +24,6 @@ * @param queryWrappers * @return */ - IPage<DeviceInspectionRecord> selectDeviceParameterPage(IPage page, @Param("ew") QueryWrapper<DeviceInspectionRecordDto> queryWrappers); + IPage<DeviceInspectionRecord> selectDeviceParameterPage(Page page, @Param("ew") QueryWrapper<DeviceInspectionRecordDto> queryWrappers); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMetricMapper.java b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMetricMapper.java new file mode 100644 index 0000000..6304f16 --- /dev/null +++ b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMetricMapper.java @@ -0,0 +1,9 @@ +package com.ruoyi.device.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.device.pojo.DeviceMetric; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DeviceMetricMapper extends BaseMapper<DeviceMetric> { +} diff --git a/cnas-device/src/main/java/com/ruoyi/device/mapper/InstructionMapper.java b/cnas-device/src/main/java/com/ruoyi/device/mapper/InstructionMapper.java index 12fd129..022c5e4 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/mapper/InstructionMapper.java +++ b/cnas-device/src/main/java/com/ruoyi/device/mapper/InstructionMapper.java @@ -8,6 +8,8 @@ import com.ruoyi.device.pojo.DeviceInstruction; import org.apache.ibatis.annotations.Param; +import java.util.Map; + /** * <p> * 浣滀笟鎸囧涔︽坊鍔犲彈鎺ф枃浠惰〃 Mapper 鎺ュ彛 @@ -19,5 +21,5 @@ public interface InstructionMapper extends BaseMapper<DeviceInstruction> { - IPage<DeviceInstruction> pageByPageQueryOfHomeworkInstructions(Page page, @Param("ew") QueryWrapper<DeviceOperationInstructionDto> ew); + IPage<DeviceOperationInstructionDto> pageByPageQueryOfHomeworkInstructions(Page page, @Param("ew") QueryWrapper<DeviceOperationInstructionDto> ew); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceMetric.java b/cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceMetric.java new file mode 100644 index 0000000..d7a5869 --- /dev/null +++ b/cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceMetric.java @@ -0,0 +1,29 @@ +package com.ruoyi.device.pojo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@Data +@TableName("device_metrics") +public class DeviceMetric implements Serializable { + @TableId(value = "id", type = IdType.AUTO) + private Integer id; //id + private Integer deviceId; // 璁惧ID + private String measurementParameter; // 璁¢噺鍙傛暟 + private String rangeOfMeasurement; // 閲忕▼鑼冨洿 + private String maxPermissibleError; // 鏈�澶у厑璁歌宸� + private String judgmentCriteria; // 鍒ゅ畾鏍囧噯 + private String createdBy; // 鍒涘缓浜� + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime creationTime; // 鍒涘缓鏃堕棿 + + @ApiModelProperty("calibrate锛氭牎鍑嗭紱examine锛氭牳鏌�") + private String type; // 绫诲瀷 +} diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceInspectionRecordService.java b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceInspectionRecordService.java index 7278b3c..2a7e72d 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceInspectionRecordService.java +++ b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceInspectionRecordService.java @@ -1,6 +1,7 @@ package com.ruoyi.device.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.Result; import com.ruoyi.device.dto.DeviceInspectionRecordDto; @@ -22,7 +23,7 @@ * 鍒嗛〉鏌ヨ璁惧鐐规璁板綍 * @param page */ - Result<IPage<DeviceInspectionRecord>> getDeviceInspectionRecordByPage(IPage page, DeviceInspectionRecordDto deviceInspectionRecord); + Result<IPage<DeviceInspectionRecord>> getDeviceInspectionRecordByPage(Page page, DeviceInspectionRecordDto deviceInspectionRecord); /** diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceInstructionService.java b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceInstructionService.java index 70e5f1c..8d1c73a 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceInstructionService.java +++ b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceInstructionService.java @@ -7,6 +7,8 @@ import com.ruoyi.device.dto.DeviceOperationInstructionDto; import com.ruoyi.device.pojo.DeviceInstruction; +import java.util.Map; + /** * <p> * 浣滀笟鎸囧涔︽坊鍔犲彈鎺ф枃浠惰〃 鏈嶅姟绫� @@ -17,7 +19,7 @@ */ public interface DeviceInstructionService extends IService<DeviceInstruction> { - IPage<DeviceInstruction> pageByPageQueryOfHomeworkInstructions(Page page, DeviceOperationInstructionDto operationInstructionDto); + IPage<DeviceOperationInstructionDto> pageByPageQueryOfHomeworkInstructions(Page page, DeviceOperationInstructionDto operationInstructionDto); void newHomeworkGuidebookAdded(DeviceInstructionDto instructionDto); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/IDeviceMetricService.java b/cnas-device/src/main/java/com/ruoyi/device/service/IDeviceMetricService.java new file mode 100644 index 0000000..fc6ed49 --- /dev/null +++ b/cnas-device/src/main/java/com/ruoyi/device/service/IDeviceMetricService.java @@ -0,0 +1,7 @@ +package com.ruoyi.device.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.device.pojo.DeviceMetric; + +public interface IDeviceMetricService extends IService<DeviceMetric> { +} diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceInspectionRecordServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceInspectionRecordServiceImpl.java index 2c8041d..1a3f00a 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceInspectionRecordServiceImpl.java +++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceInspectionRecordServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.config.Configure; @@ -52,6 +53,8 @@ private DeviceMapper deviceMapper; @Resource private DeviceInspectionRecordDetailsService deviceInspectionRecordDetailsService; + @Resource + private DeviceInspectionRecordMapper deviceInspectionRecordMapper; /** * 鍒嗛〉鏌ヨ璁惧鐐规璁板綍 @@ -59,8 +62,8 @@ * @param page 褰撳墠椤电爜 */ @Override - public Result<IPage<DeviceInspectionRecord>> getDeviceInspectionRecordByPage(IPage page, DeviceInspectionRecordDto deviceInspectionRecordDto) { - IPage<DeviceInspectionRecord> iPage = baseMapper.selectDeviceParameterPage(page, QueryWrappers.queryWrappers(deviceInspectionRecordDto)); + public Result<IPage<DeviceInspectionRecord>> getDeviceInspectionRecordByPage(Page page, DeviceInspectionRecordDto deviceInspectionRecordDto) { + IPage<DeviceInspectionRecord> iPage = deviceInspectionRecordMapper.selectDeviceParameterPage(page, QueryWrappers.queryWrappers(deviceInspectionRecordDto)); return Result.success(iPage); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceInstructionServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceInstructionServiceImpl.java index 6f5bb5b..a43a987 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceInstructionServiceImpl.java +++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceInstructionServiceImpl.java @@ -21,6 +21,7 @@ import java.time.LocalDateTime; import java.util.Date; import java.util.Locale; +import java.util.Map; /** * <p> @@ -41,7 +42,7 @@ private NumberGenerator<DeviceInstruction> numberGenerator; @Override - public IPage<DeviceInstruction> pageByPageQueryOfHomeworkInstructions(Page page, DeviceOperationInstructionDto operationInstructionDto) { + public IPage<DeviceOperationInstructionDto> pageByPageQueryOfHomeworkInstructions(Page page, DeviceOperationInstructionDto operationInstructionDto) { return baseMapper.pageByPageQueryOfHomeworkInstructions(page, QueryWrappers.queryWrappers(operationInstructionDto)); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceImpl.java index 5b0d72c..7c28152 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceImpl.java +++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceImpl.java @@ -12,6 +12,7 @@ import com.ruoyi.device.pojo.DeviceMaintenance; import com.ruoyi.device.service.DeviceMaintenanceService; import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -27,7 +28,11 @@ @Override public IPage<DeviceMaintenance> getDeviceMaintenancePage(Page page, Integer deviceId, String deviceNumber) { - return baseMapper.selectPage(page, Wrappers.<DeviceMaintenance>lambdaQuery() + if (ObjectUtils.isEmpty(deviceNumber)){ + return baseMapper.selectPage(page, Wrappers.<DeviceMaintenance>lambdaQuery() + .eq(DeviceMaintenance::getDeviceId, deviceId)); + } + else return baseMapper.selectPage(page, Wrappers.<DeviceMaintenance>lambdaQuery() .eq(DeviceMaintenance::getDeviceId, deviceId) .like(DeviceMaintenance::getDeviceNumber, deviceNumber)); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMetricServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMetricServiceImpl.java new file mode 100644 index 0000000..adfffd7 --- /dev/null +++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMetricServiceImpl.java @@ -0,0 +1,11 @@ +package com.ruoyi.device.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.device.mapper.DeviceMetricMapper; +import com.ruoyi.device.pojo.DeviceMetric; +import com.ruoyi.device.service.IDeviceMetricService; +import org.springframework.stereotype.Service; + +@Service +public class DeviceMetricServiceImpl extends ServiceImpl<DeviceMetricMapper, DeviceMetric> implements IDeviceMetricService { +} diff --git a/cnas-device/src/main/resources/mapper/DeviceInspectionRecordMapper.xml b/cnas-device/src/main/resources/mapper/DeviceInspectionRecordMapper.xml index af4ac42..8540d74 100644 --- a/cnas-device/src/main/resources/mapper/DeviceInspectionRecordMapper.xml +++ b/cnas-device/src/main/resources/mapper/DeviceInspectionRecordMapper.xml @@ -4,9 +4,8 @@ <select id="selectDeviceParameterPage" resultType="com.ruoyi.device.pojo.DeviceInspectionRecord"> - SELECT - * - from device_inspection_record + select * from ( SELECT * + from device_inspection_record ) a <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> diff --git a/cnas-device/src/main/resources/mapper/DeviceMaintenancePlanMapper.xml b/cnas-device/src/main/resources/mapper/DeviceMaintenancePlanMapper.xml index fca2d48..2f8aac5 100644 --- a/cnas-device/src/main/resources/mapper/DeviceMaintenancePlanMapper.xml +++ b/cnas-device/src/main/resources/mapper/DeviceMaintenancePlanMapper.xml @@ -11,7 +11,7 @@ ${ew.customSqlSegment} </if> </select> - <select id="selectMaintenancePlanById" resultType="com.ruoyi.device.pojo.DeviceMaintenancePlan"> + <select id="selectMaintenancePlanById" resultType="com.ruoyi.device.dto.DeviceMaintenancePlanDto"> select dmp.*, date_format(dmp.date_preparation, '%Y-%m-%d') as datePreparationStr, diff --git a/cnas-device/src/main/resources/mapper/InstructionMapper.xml b/cnas-device/src/main/resources/mapper/InstructionMapper.xml index 2d1a823..8404014 100644 --- a/cnas-device/src/main/resources/mapper/InstructionMapper.xml +++ b/cnas-device/src/main/resources/mapper/InstructionMapper.xml @@ -1,17 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.device.mapper.InstructionMapper"> - - - <select id="pageByPageQueryOfHomeworkInstructions" resultType="com.ruoyi.device.pojo.DeviceInstruction"> + <select id="pageByPageQueryOfHomeworkInstructions" resultType="com.ruoyi.device.dto.DeviceOperationInstructionDto"> SELECT - doi.*,di.*,d.device_name, d.management_number device_number, d.specification_model device_model, u.name uploader_name, u1.name approver_name + doi.*,di.*, + d.device_name deviceName, + d.management_number deviceNumber, + d.specification_model deviceModel, + u.name uploaderName, + u1.name approverName FROM - device_operation_instruction doi - LEFT JOIN device_instruction di ON di.id = doi.instruction_id - left join device d on d.id = doi.device_id - left join user u on u.id = doi.uploader - left join user u1 on u1.id = doi.approver_id + device_operation_instruction doi + LEFT JOIN device_instruction di ON di.id = doi.instruction_id + left join device d on d.id = doi.device_id + left join user u on u.id = doi.uploader + left join user u1 on u1.id = doi.approver_id <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java index 69d71dc..7e74e76 100644 --- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java +++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java @@ -55,6 +55,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.poi.xwpf.usermodel.*; import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.io.ClassPathResource; import org.springframework.mock.web.MockMultipartFile; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service; @@ -141,8 +142,7 @@ private InsOrderFactoryVerifyMapper insOrderFactoryVerifyMapper; @Resource private InsOrderFactoryVerifyItemService insOrderFactoryVerifyItemService; - @Value("${file.licenseUrl}") - private String licenseUrl; + @Resource private SpotCheckQuarterItemMapper spotCheckQuarterItemMapper; @Resource @@ -4227,7 +4227,7 @@ FileOutputStream os = null; try { //鍑瘉 涓嶇劧鍒囨崲鍚庢湁姘村嵃 - InputStream is = Files.newInputStream(new File(licenseUrl).toPath()); + InputStream is = new ClassPathResource("/lib/license.xml").getInputStream(); License license = new License(); license.setLicense(is); if (!license.getIsLicensed()) { diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java index 7d61ac8..a76f10e 100644 --- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java +++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java @@ -39,6 +39,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.poi.xwpf.usermodel.*; import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.io.ClassPathResource; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -83,8 +84,7 @@ private String wordUrl; @Value("${file.path}") private String imgUrl; - @Value("${file.licenseUrl}") - private String licenseUrl; + @Resource private InsOrderMapper insOrderMapper; @Resource @@ -676,7 +676,7 @@ FileOutputStream os = null; try { //鍑瘉 涓嶇劧鍒囨崲鍚庢湁姘村嵃 - InputStream is = Files.newInputStream(new File(licenseUrl).toPath()); + InputStream is = new ClassPathResource("/lib/license.xml").getInputStream(); License license = new License(); license.setLicense(is); if (!license.getIsLicensed()) { @@ -1115,7 +1115,7 @@ FileOutputStream os = null; try { //鍑瘉 涓嶇劧鍒囨崲鍚庢湁姘村嵃 - InputStream is = Files.newInputStream(new File(licenseUrl).toPath()); + InputStream is = new ClassPathResource("/lib/license.xml").getInputStream(); License license = new License(); license.setLicense(is); if (!license.getIsLicensed()) { diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml index 33a491d..f466a7f 100644 --- a/ruoyi-admin/src/main/resources/application-druid.yml +++ b/ruoyi-admin/src/main/resources/application-druid.yml @@ -72,14 +72,11 @@ # 鐓х墖瀛樺偍璺緞+++++++++++++++++++++++++++杩愮淮闇�瑕侀厤缃�+++++++++++++++++++++++++++ file: path: D:\椤圭洰鏂囦欢瀛樺偍\image - # 杞琾df鏂囦欢璺緞 - licenseUrl: D:\20892\Desktop\lims\code\center-lims-after\inspect-server\src\main\resources\lib\license.xml # 涓婁紶鏂囦欢鍏佽鐨勬墿灞曞悕 allowed: png,jpg,jpeg,gif wordUrl: D:\椤圭洰鏂囦欢瀛樺偍\word twoCode: D:\椤圭洰鏂囦欢瀛樺偍\two_code -outPath: D:\椤圭洰鏂囦欢瀛樺偍\image #oa: diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml new file mode 100644 index 0000000..32be6bd --- /dev/null +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -0,0 +1,110 @@ +# 鏁版嵁婧愰厤缃� +spring: + datasource: + type: com.alibaba.druid.pool.DruidDataSource + driverClassName: com.mysql.cj.jdbc.Driver + druid: + # 涓诲簱鏁版嵁婧� + master: + url: jdbc:mysql://114.132.189.42:9004/lims-ruoyi-test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + username: root + password: 123456 + # 浠庡簱鏁版嵁婧� + slave: + # 浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴 + enabled: false + url: + username: + password: + # 鍒濆杩炴帴鏁� + initialSize: 5 + # 鏈�灏忚繛鎺ユ睜鏁伴噺 + minIdle: 10 + # 鏈�澶ц繛鎺ユ睜鏁伴噺 + maxActive: 20 + # 閰嶇疆鑾峰彇杩炴帴绛夊緟瓒呮椂鐨勬椂闂� + maxWait: 60000 + # 閰嶇疆杩炴帴瓒呮椂鏃堕棿 + connectTimeout: 30000 + # 閰嶇疆缃戠粶瓒呮椂鏃堕棿 + socketTimeout: 60000 + # 閰嶇疆闂撮殧澶氫箙鎵嶈繘琛屼竴娆℃娴嬶紝妫�娴嬮渶瑕佸叧闂殑绌洪棽杩炴帴锛屽崟浣嶆槸姣 + timeBetweenEvictionRunsMillis: 60000 + # 閰嶇疆涓�涓繛鎺ュ湪姹犱腑鏈�灏忕敓瀛樼殑鏃堕棿锛屽崟浣嶆槸姣 + minEvictableIdleTimeMillis: 300000 + # 閰嶇疆涓�涓繛鎺ュ湪姹犱腑鏈�澶х敓瀛樼殑鏃堕棿锛屽崟浣嶆槸姣 + maxEvictableIdleTimeMillis: 900000 + # 閰嶇疆妫�娴嬭繛鎺ユ槸鍚︽湁鏁� + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + webStatFilter: + enabled: true + statViewServlet: + enabled: true + # 璁剧疆鐧藉悕鍗曪紝涓嶅~鍒欏厑璁告墍鏈夎闂� + allow: + url-pattern: /druid/* + # 鎺у埗鍙扮鐞嗙敤鎴峰悕鍜屽瘑鐮� + login-username: ruoyi + login-password: 123456 + filter: + stat: + enabled: true + # 鎱QL璁板綍 + log-slow-sql: true + slow-sql-millis: 1000 + merge-sql: true + wall: + config: + multi-statement-allow: true + + +minio: + endpoint: http://114.132.189.42/ + port: 7019 + secure: false + accessKey: admin + secretKey: 12345678 + preview-expiry: 24 # 棰勮鍦板潃榛樿24灏忔椂 + +# 鐓х墖瀛樺偍璺緞+++++++++++++++++++++++++++杩愮淮闇�瑕侀厤缃�+++++++++++++++++++++++++++ +file: + path: /javaWork/lims-ruoyi/file/img + # 涓婁紶鏂囦欢鍏佽鐨勬墿灞曞悕 + allowed: png,jpg,jpeg,gif + +wordUrl: /javaWork/lims-ruoyi/file/word +twoCode: /javaWork/lims-ruoyi/file/two_code + + +#oa: +# oaHost: http://192.168.0.49:8000/oa_workflowrequest.asmx?wsdl +# prodIp: http://192.168.21.53:8081 +# unqualifiedProcessId: 41974 + +wechat: + # 璐ㄩ噺鎶ユ閫氱煡 + examiningUrl: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=21993616-9966-4fe4-81b0-68e99a40c964 + +ifs: + contract: ZTZB + contract-key-get: 4ttDeLKNsZuhstjtROMcRE1USNFXKdFYE7lQ2p1m5Bo= + contract-key-post: 4ttDeLKNsZuhstjtROMcRE1USNFXKdFYE7lQ2p1m5Bo= + custorder: http://192.168.20.47/PurchService.ashx? + custorder-port: http://192.168.20.47:8008/PurchService.ashx? + erp-services: http://192.168.20.47:8081 + +# 澶囨敞 18083瀵嗙爜锛歾ttZTT123!@ +mqtt: + url: tcp://mqtt-ztt.zttiot.com:1883 # 鏈嶅姟鍣╥p + username: forwarder # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚� + password: ZTlink12345 # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜 + timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級 + keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級 + qos: 1 # 蹇冭烦鍖呯骇鍒� + completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級 + clientId: javaPublish # clientId + subscribe: /ztt/v3/2443521/publish # 璁㈤槄涓婚 + client: false # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿� diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 40e0272..8a825d3 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -7,7 +7,7 @@ # 鐗堟潈骞翠唤 copyrightYear: 2025 # 鏂囦欢璺緞 绀轰緥锛� Windows閰嶇疆D:/ruoyi/uploadPath锛孡inux閰嶇疆 /home/ruoyi/uploadPath锛� - profile: D:/ruoyi/uploadPath + profile: /javaWork/lims-ruoyi/file/uploadPath # 鑾峰彇ip鍦板潃寮�鍏� addressEnabled: false # 楠岃瘉鐮佺被鍨� math 鏁板瓧璁$畻 char 瀛楃楠岃瘉 @@ -33,8 +33,9 @@ # 鏃ュ織閰嶇疆 logging: + file-location: /javaWork/lims-ruoyi level: - com.ruoyi: debug + com.ruoyi: info org.springframework: warn # 鐢ㄦ埛閰嶇疆 @@ -77,8 +78,8 @@ port: 6379 # 鏁版嵁搴撶储寮� database: 0 - # 瀵嗙爜 -# password: 123456 +# # 瀵嗙爜 +# password: root2022! # 杩炴帴瓒呮椂鏃堕棿 timeout: 10s lettuce: diff --git a/ruoyi-admin/src/main/resources/logback.xml b/ruoyi-admin/src/main/resources/logback.xml index a360583..a1252bd 100644 --- a/ruoyi-admin/src/main/resources/logback.xml +++ b/ruoyi-admin/src/main/resources/logback.xml @@ -1,7 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 鏃ュ織瀛樻斁璺緞 --> - <property name="log.path" value="/home/ruoyi/logs" /> + <springProperty scope="context" name="logs" source="logging.file-location" default="/logs"/> + <property name="log.path" value="logs"/> + <!-- 鏃ュ織杈撳嚭鏍煎紡 --> <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> @@ -11,7 +13,7 @@ <pattern>${log.pattern}</pattern> </encoder> </appender> - + <!-- 绯荤粺鏃ュ織杈撳嚭 --> <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.path}/sys-info.log</file> @@ -34,7 +36,7 @@ <onMismatch>DENY</onMismatch> </filter> </appender> - + <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.path}/sys-error.log</file> <!-- 寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠� --> @@ -56,38 +58,19 @@ <onMismatch>DENY</onMismatch> </filter> </appender> - - <!-- 鐢ㄦ埛璁块棶鏃ュ織杈撳嚭 --> - <appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/sys-user.log</file> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- 鎸夊ぉ鍥炴粴 daily --> - <fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 鏃ュ織鏈�澶х殑鍘嗗彶 60澶� --> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - </appender> - - <!-- 绯荤粺妯″潡鏃ュ織绾у埆鎺у埗 --> - <logger name="com.ruoyi" level="info" /> - <!-- Spring鏃ュ織绾у埆鎺у埗 --> - <logger name="org.springframework" level="warn" /> + + <!-- 绯荤粺妯″潡鏃ュ織绾у埆鎺у埗 --> + <logger name="com.ruoyi" level="info" /> + <!-- Spring鏃ュ織绾у埆鎺у埗 --> + <logger name="org.springframework" level="warn" /> <root level="info"> <appender-ref ref="console" /> </root> - + <!--绯荤粺鎿嶄綔鏃ュ織--> <root level="info"> <appender-ref ref="file_info" /> <appender-ref ref="file_error" /> </root> - - <!--绯荤粺鐢ㄦ埛鎿嶄綔鏃ュ織--> - <logger name="sys-user" level="info"> - <appender-ref ref="sys-user"/> - </logger> -</configuration> \ No newline at end of file +</configuration> diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/LocalDateTimeSerializerConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/LocalDateTimeSerializerConfig.java index f6c966a..98a8763 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/LocalDateTimeSerializerConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/LocalDateTimeSerializerConfig.java @@ -1,36 +1,36 @@ -package com.ruoyi.framework.config; - -import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; -import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; - -@Configuration -public class LocalDateTimeSerializerConfig { - @Value("${spring.jackson.date-format}") - private String pattern; - - @Bean - public LocalDateTimeSerializer localDateTimeSerializer() { - return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern)); - } - - @Bean - public LocalDateTimeDeserializer localDateTimeDeserializer() { - return new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(pattern)); - } - - @Bean - public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() { - return builder -> { - builder.serializerByType(LocalDateTime.class, localDateTimeSerializer()); - builder.deserializerByType(LocalDateTime.class, localDateTimeDeserializer()); - builder.simpleDateFormat(pattern); - }; - } -} +//package com.ruoyi.framework.config; +// +//import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +//import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +//import org.springframework.beans.factory.annotation.Value; +//import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +// +//import java.time.LocalDateTime; +//import java.time.format.DateTimeFormatter; +// +//@Configuration +//public class LocalDateTimeSerializerConfig { +// @Value("${spring.jackson.date-format}") +// private String pattern; +// +// @Bean +// public LocalDateTimeSerializer localDateTimeSerializer() { +// return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern)); +// } +// +// @Bean +// public LocalDateTimeDeserializer localDateTimeDeserializer() { +// return new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(pattern)); +// } +// +// @Bean +// public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() { +// return builder -> { +// builder.serializerByType(LocalDateTime.class, localDateTimeSerializer()); +// builder.deserializerByType(LocalDateTime.class, localDateTimeDeserializer()); +// builder.simpleDateFormat(pattern); +// }; +// } +//} diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java index fb42e5f..11e3b57 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java @@ -1,12 +1,25 @@ package com.ruoyi.framework.config; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.List; import java.util.concurrent.TimeUnit; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.CacheControl; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; @@ -30,9 +43,6 @@ @Value("${file.path}") private String filePath; - @Value("${outPath}") - private String outPath; - @Value("${wordUrl}") private String wordUrl; @@ -49,7 +59,6 @@ //璁剧疆鏂囦欢铏氭嫙璺緞鏄犲皠 registry.addResourceHandler("/img/**").addResourceLocations("file:" + filePath + "/"); - registry.addResourceHandler("/outPath/**").addResourceLocations("file:" + outPath); registry.addResourceHandler("/word/**").addResourceLocations("file:" + wordUrl + "/"); } @@ -82,4 +91,30 @@ // 杩斿洖鏂扮殑CorsFilter return new CorsFilter(source); } + + // 鍏ㄥ眬鏍煎紡鍖栧鐞� + @Override + public void extendMessageConverters(List<HttpMessageConverter<?>> converters) { + String dateFormat = "yyyy-MM-dd HH:mm:ss"; + + Jackson2ObjectMapperBuilder json = Jackson2ObjectMapperBuilder.json(); + MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); + + //localDateTime鏍煎紡鍖� + JavaTimeModule module = new JavaTimeModule(); + LocalDateTimeDeserializer dateTimeDeserializer = new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(dateFormat)); + LocalDateTimeSerializer dateTimeSerializer = new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(dateFormat)); + module.addDeserializer(LocalDateTime.class, dateTimeDeserializer); + module.addSerializer(LocalDateTime.class, dateTimeSerializer); + ObjectMapper objectMapper = json.modules(module) + .featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS).build(); + + //date鏃堕棿鏍煎紡鍖� + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + objectMapper.setDateFormat(new SimpleDateFormat(dateFormat.split(" ")[0])); + + // 璁剧疆鏍煎紡鍖栧唴瀹� + converter.setObjectMapper(objectMapper); + converters.add(0, converter); + } } diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java index 95e2e17..1823e03 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java @@ -113,7 +113,7 @@ // 瀵逛簬鐧诲綍login 娉ㄥ唽register 楠岃瘉鐮乧aptchaImage 鍏佽鍖垮悕璁块棶 requests.antMatchers("/login", "/register", "/captchaImage").permitAll() // 闈欐�佽祫婧愶紝鍙尶鍚嶈闂� - .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**", "/img/**", "/outPath/**", "/word/**").permitAll() + .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**", "/img/**", "/word/**").permitAll() .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() // 闄や笂闈㈠鐨勬墍鏈夎姹傚叏閮ㄩ渶瑕侀壌鏉冭璇� .anyRequest().authenticated(); -- Gitblit v1.9.3