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); } 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"); 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); 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; 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; } 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; } } 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); 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<>(); cnas-server/src/main/resources/static/word/device-calibration-plan.docxBinary files differ
cnas-server/src/main/resources/static/word/examine-record.docxBinary files differ
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() + " 接口"); } } 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 @@ // 取yml中的路径 + / 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; } /** * 保存文件到word文件夹里 * @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; } } }