cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceAcceptanceServiceImpl.java
@@ -151,6 +151,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceAccidentReportServiceImpl.java
@@ -181,6 +181,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceBreakdownMaintenanceServiceImpl.java
@@ -144,6 +144,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceCalibrationPlanServiceImpl.java
@@ -301,6 +301,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceExaminePlanServiceImpl.java
@@ -304,6 +304,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceExamineRecordContrastServiceImpl.java
@@ -185,6 +185,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceExamineRecordServiceImpl.java
@@ -229,6 +229,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceExternalApplyServiceImpl.java
@@ -153,6 +153,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceImpowerServiceImpl.java
@@ -290,6 +290,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceInspectionRecordServiceImpl.java
@@ -215,6 +215,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceImpl.java
@@ -135,6 +135,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenancePlanServiceImpl.java
@@ -196,6 +196,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceRecordServiceImpl.java
@@ -138,6 +138,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceScrappedServiceImpl.java
@@ -170,6 +170,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java
@@ -353,6 +353,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); @@ -488,6 +489,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceStateServiceImpl.java
@@ -151,6 +151,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceTraceabilityManagementServiceImpl.java
@@ -281,6 +281,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ClientSatisfactionServiceImpl.java
@@ -161,6 +161,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCheckServiceImpl.java
@@ -221,6 +221,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCorrectServiceImpl.java
@@ -310,6 +310,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalImplementServiceImpl.java
@@ -54,7 +54,7 @@ @Resource private InternalImplementDetailService internalImplementDetailService; @Resource private UserMapper userMapper; @Value("${file.path}") @@ -228,6 +228,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalMeetingServiceImpl.java
@@ -191,6 +191,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalPlanServiceImpl.java
@@ -248,6 +248,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalReportServiceImpl.java
@@ -155,6 +155,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageControlPlanListServiceImpl.java
@@ -120,6 +120,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageMeetingServiceImpl.java
@@ -38,7 +38,7 @@ * æå¡å®ç°ç±» * </p> * * @author * @author * @since 2024-11-11 09:33:47 */ @Service @@ -152,6 +152,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordAuditServiceImpl.java
@@ -43,7 +43,7 @@ * æä»¶ä¿®è®¢ç³è¯·å®¡æ¹è®°å½ æå¡å®ç°ç±» * </p> * * @author * @author * @since 2024-11-14 10:29:18 */ @Service @@ -155,6 +155,8 @@ OutputStream outputStream = new FileOutputStream(file); IOUtils.copy(inputStream, outputStream); url = file.getAbsolutePath(); inputStream.close(); outputStream.close(); } catch (FileNotFoundException e) { throw new ErrorException("æ¾ä¸å°æ¨¡æ¿æä»¶"); } catch (IOException e) { cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordCancelServiceImpl.java
@@ -46,7 +46,7 @@ * ä½åºæä»¶ééè®°å½ æå¡å®ç°ç±» * </p> * * @author * @author * @since 2024-11-13 01:27:22 */ @Service @@ -90,6 +90,8 @@ OutputStream outputStream = new FileOutputStream(file); IOUtils.copy(inputStream, outputStream); url = file.getAbsolutePath(); inputStream.close(); outputStream.close(); } catch (FileNotFoundException e) { throw new ErrorException("æ¾ä¸å°æ¨¡æ¿æä»¶"); } catch (IOException e) { cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordCheckServiceImpl.java
@@ -48,7 +48,7 @@ * æä»¶å®¡æ¹è®°å½(å«ä¿®è®¢å忬¡å®¡æ¹è®°å½) æå¡å®ç°ç±» * </p> * * @author * @author * @since 2024-11-12 02:31:36 */ @Service @@ -100,6 +100,8 @@ OutputStream outputStream = new FileOutputStream(file); IOUtils.copy(inputStream, outputStream); url = file.getAbsolutePath(); inputStream.close(); outputStream.close(); } catch (FileNotFoundException e) { throw new ErrorException("æ¾ä¸å°æ¨¡æ¿æä»¶"); } catch (IOException e) { cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIntervalsServiceImpl.java
@@ -76,6 +76,8 @@ OutputStream outputStream = new FileOutputStream(file); IOUtils.copy(inputStream, outputStream); url = file.getAbsolutePath(); inputStream.close(); outputStream.close(); } catch (FileNotFoundException e) { throw new ErrorException("æ¾ä¸å°æ¨¡æ¿æä»¶"); } catch (IOException e) { cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIntervalsTotalServiceImpl.java
@@ -130,6 +130,8 @@ OutputStream outputStream = new FileOutputStream(file); IOUtils.copy(inputStream, outputStream); url = file.getAbsolutePath(); inputStream.close(); outputStream.close(); } catch (FileNotFoundException e) { throw new ErrorException("æ¾ä¸å°æ¨¡æ¿æä»¶"); } catch (IOException e) { cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIssueRecycleServiceImpl.java
@@ -78,6 +78,8 @@ OutputStream outputStream = new FileOutputStream(file); IOUtils.copy(inputStream, outputStream); url = file.getAbsolutePath(); inputStream.close(); outputStream.close(); } catch (FileNotFoundException e) { throw new ErrorException("æ¾ä¸å°æ¨¡æ¿æä»¶"); } catch (IOException e) { cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordTotalServiceImpl.java
@@ -131,6 +131,8 @@ OutputStream outputStream = new FileOutputStream(file); IOUtils.copy(inputStream, outputStream); url = file.getAbsolutePath(); inputStream.close(); outputStream.close(); } catch (FileNotFoundException e) { throw new ErrorException("æ¾ä¸å°æ¨¡æ¿æä»¶"); } catch (IOException e) { cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageReviewProgramServiceImpl.java
@@ -107,6 +107,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageReviewReportServiceImpl.java
@@ -33,7 +33,7 @@ * 管çè¯å®¡æ¥å æå¡å®ç°ç±» * </p> * * @author * @author * @since 2024-11-12 04:44:39 */ @Service @@ -128,6 +128,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRiskAssessmentResultsServiceImpl.java
@@ -115,6 +115,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonBasicInfoServiceImpl.java
@@ -246,6 +246,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonCommunicationAbilityServiceImpl.java
@@ -105,6 +105,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonJobResponsibilitiesServiceImpl.java
@@ -105,6 +105,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonPersonnelCapacityServiceImpl.java
@@ -39,7 +39,7 @@ * 人åè½å æå¡å®ç°ç±» * </p> * * @author * @author * @since 2024-10-10 11:26:18 */ @Service @@ -103,6 +103,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonPostAuthorizationRecordServiceImpl.java
@@ -31,7 +31,7 @@ * ä»»èææè®°å½ æå¡å®ç°ç±» * </p> * * @author * @author * @since 2024-10-09 10:48:17 */ @Service @@ -123,6 +123,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonTrainingRecordServiceImpl.java
@@ -117,6 +117,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonTrainingServiceImpl.java
@@ -288,6 +288,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); @@ -364,6 +365,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-process/src/main/java/com/ruoyi/process/controller/ProcessReportController.java
@@ -34,7 +34,7 @@ @ApiOperation(value = "æ¥è¯¢æ£éªæ¥ååæ¾ç»è®°å表") @GetMapping("/pageProcessReport") public Result pageProcessReport(ProcessReport processReport , Page page) { public Result pageProcessReport(ProcessReportDto processReport , Page page) { return Result.success(processReportService.pageProcessReport(page, processReport)); } cnas-process/src/main/java/com/ruoyi/process/controller/QualitySuperviseManagementReviewController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,71 @@ package com.ruoyi.process.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.Result; import com.ruoyi.process.pojo.QualitySupervise; import com.ruoyi.process.pojo.QualitySuperviseManagementReview; import com.ruoyi.process.service.QualitySuperviseManagementReviewService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; /** * <p> * è´¨éçç£ç®¡çè¯å®¡è¾å ¥ææ å端æ§å¶å¨ * </p> * * @author * @since 2025-05-07 10:46:11 */ @RestController @RequestMapping("/managementReview") @Api(tags = "è´¨éçç£ç®¡çè¯å®¡è¾å ¥ææ") @AllArgsConstructor public class QualitySuperviseManagementReviewController { private QualitySuperviseManagementReviewService qualitySuperviseManagementReviewService; /** * å页æ¥è¯¢ * @return */ @ApiOperation(value = "å页æ¥è¯¢") @GetMapping("/pageManagementReview") public Result<IPage<QualitySuperviseManagementReview>> pageManagementReview(QualitySuperviseManagementReview managementReview, Page page) { return Result.success(qualitySuperviseManagementReviewService.pageManagementReview(page, managementReview)); } /** * æ°å¢æä¿®æ¹ * @return */ @ApiOperation(value = "æ°å¢æä¿®æ¹") @PostMapping("/saveOrUpdateManagementReview") public Result saveOrUpdateManagementReview(@RequestBody QualitySuperviseManagementReview managementReview) { return Result.success(qualitySuperviseManagementReviewService.saveOrUpdate(managementReview)); } /** * å é¤ * @return */ @ApiOperation(value = "å é¤") @DeleteMapping("/deleteManagementReview") public Result deleteManagementReview(Integer managementReviewId) { return Result.success(qualitySuperviseManagementReviewService.removeById(managementReviewId)); } /** * å¯¼åº * @return */ @ApiOperation(value = "导åº") @GetMapping("/exportManagementReview") public void exportManagementReview(Integer managementReviewId,HttpServletResponse response) { qualitySuperviseManagementReviewService.exportManagementReview(managementReviewId, response); } } cnas-process/src/main/java/com/ruoyi/process/dto/ProcessReportDto.java
@@ -1,6 +1,9 @@ package com.ruoyi.process.dto; import com.baomidou.mybatisplus.annotation.TableField; import com.deepoove.poi.data.PictureRenderData; import com.ruoyi.process.pojo.ProcessReport; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @@ -10,4 +13,18 @@ public class ProcessReportDto extends ProcessReport { private List<Integer> ids; @ApiModelProperty("åé人å§å") private String sendUserName; @ApiModelProperty("åé人å°å") private String sendUserUrl; @ApiModelProperty("åé人ç¾å") private PictureRenderData sendUserRender; @ApiModelProperty("ç¾æ¶ç¾å") private PictureRenderData signatoryRender; } cnas-process/src/main/java/com/ruoyi/process/mapper/ProcessReportMapper.java
@@ -4,6 +4,7 @@ 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.process.dto.ProcessReportDto; import com.ruoyi.process.pojo.ProcessReport; import org.apache.ibatis.annotations.Param; @@ -19,7 +20,7 @@ */ public interface ProcessReportMapper extends BaseMapper<ProcessReport> { IPage<ProcessReport> pageProcessReport(Page page, @Param("ew") QueryWrapper<ProcessReport> queryWrappers); IPage<ProcessReportDto> pageProcessReport(Page page, @Param("ew") QueryWrapper<ProcessReportDto> queryWrappers); List<ProcessReport> exportProcessReport(); List<ProcessReportDto> exportProcessReport(); } cnas-process/src/main/java/com/ruoyi/process/mapper/QualitySuperviseManagementReviewMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,26 @@ package com.ruoyi.process.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.process.pojo.QualitySuperviseManagementReview; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; /** * <p> * è´¨éçç£ç®¡çè¯å®¡è¾å ¥ææ Mapper æ¥å£ * </p> * * @author * @since 2025-05-07 10:46:11 */ public interface QualitySuperviseManagementReviewMapper extends BaseMapper<QualitySuperviseManagementReview> { /** * å页æ¥è¯¢ * @param page * @return */ IPage<QualitySuperviseManagementReview> pageManagementReview(@Param("page") Page page, @Param("ew") QueryWrapper<QualitySuperviseManagementReview> ew); } cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessReport.java
@@ -54,19 +54,8 @@ @ApiModelProperty("åé人") private Integer sendUser; @TableField(select = false,exist = false) private String sendUserName; @ApiModelProperty("ç¾æ¶äºº") private String signatory; @TableField(select = false,exist = false) private String signatoryUrl; @TableField(select = false,exist = false) private String signatoryName; @ApiModelProperty("夿³¨") private String remark; cnas-process/src/main/java/com/ruoyi/process/pojo/QualitySuperviseManagementReview.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,63 @@ package com.ruoyi.process.pojo; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDate; import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; /** * <p> * è´¨éçç£ç®¡çè¯å®¡è¾å ¥ææ * </p> * * @author * @since 2025-05-07 10:46:11 */ @Getter @Setter @TableName("cnas_quality_supervise_management_review") @ApiModel(value = "QualitySuperviseManagementReview对象", description = "è´¨éçç£ç®¡çè¯å®¡è¾å ¥ææ") public class QualitySuperviseManagementReview implements Serializable { @TableId(value = "management_review_id", type = IdType.AUTO) private Integer managementReviewId; @ApiModelProperty("æä»¶åç§°") private String fileName; @ApiModelProperty("计åå 容") private String implementationContent; @ApiModelProperty("卿å 容") private String dynamicContent; @ApiModelProperty("çç£äºº") private String supervisor; @ApiModelProperty("è´¨éè¯å®¡æ¥æ") private LocalDate superviseDate; @ApiModelProperty("å建人") @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty("å建æ¶é´") @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; @ApiModelProperty("ä¿®æ¹äºº") @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @ApiModelProperty("ä¿®æ¹æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; } cnas-process/src/main/java/com/ruoyi/process/service/ProcessReportService.java
@@ -20,7 +20,7 @@ */ public interface ProcessReportService extends IService<ProcessReport> { IPage<ProcessReport> pageProcessReport(Page page, ProcessReport processReport); IPage<ProcessReportDto> pageProcessReport(Page page, ProcessReportDto processReport); void exportProcessReport(ProcessReportDto dto, HttpServletResponse response); } cnas-process/src/main/java/com/ruoyi/process/service/QualitySuperviseManagementReviewService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,34 @@ package com.ruoyi.process.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.process.pojo.QualitySuperviseManagementReview; import com.baomidou.mybatisplus.extension.service.IService; import javax.servlet.http.HttpServletResponse; /** * <p> * è´¨éçç£ç®¡çè¯å®¡è¾å ¥ææ æå¡ç±» * </p> * * @author * @since 2025-05-07 10:46:11 */ public interface QualitySuperviseManagementReviewService extends IService<QualitySuperviseManagementReview> { /** * å页æ¥è¯¢ * @param page * @param managementReview * @return */ IPage<QualitySuperviseManagementReview> pageManagementReview(Page page, QualitySuperviseManagementReview managementReview); /** * å¯¼åº * @param managementReviewId * @param response */ void exportManagementReview(Integer managementReviewId, HttpServletResponse response); } cnas-process/src/main/java/com/ruoyi/process/service/impl/InconsistentDistributionServiceImpl.java
@@ -221,6 +221,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-process/src/main/java/com/ruoyi/process/service/impl/InspectionOrderServiceImpl.java
@@ -401,6 +401,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessMethodVerifyServiceImpl.java
@@ -345,6 +345,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessReportServiceImpl.java
@@ -3,6 +3,7 @@ import cn.hutool.core.lang.UUID; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.deepoove.poi.XWPFTemplate; @@ -13,6 +14,7 @@ import com.ruoyi.common.core.domain.entity.User; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.SignatureImageUtil; import com.ruoyi.framework.exception.ErrorException; import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; import com.ruoyi.process.dto.ProcessReportDto; @@ -21,7 +23,6 @@ import com.ruoyi.process.service.ProcessReportService; import com.ruoyi.system.mapper.UserMapper; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.xwpf.usermodel.*; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -53,20 +54,32 @@ @Resource private ProcessReportMapper processReportMapper; @Value("${file.path}") private String imgUrl; @Resource private UserMapper userMapper; @Override public IPage<ProcessReport> pageProcessReport(Page page, ProcessReport processReport) { IPage<ProcessReport> processReportIPage = processReportMapper.pageProcessReport(page, QueryWrappers.queryWrappers(processReport)); public IPage<ProcessReportDto> pageProcessReport(Page page, ProcessReportDto processReport) { IPage<ProcessReportDto> processReportIPage = processReportMapper.pageProcessReport(page, QueryWrappers.queryWrappers(processReport)); return processReportIPage; } @Override public void exportProcessReport(ProcessReportDto dto, HttpServletResponse response) { List<ProcessReport> processReports = processReportMapper.exportProcessReport(); List<ProcessReportDto> processReports = processReportMapper.exportProcessReport(); for (ProcessReportDto processReport : processReports) { // åé人çæç¾åå¾ç processReport.setSendUserRender(StringUtils.isNotBlank(processReport.getSendUserUrl()) ? Pictures.ofLocal(imgUrl + "/" + processReport.getSendUserUrl()).create() : null); // ç¾æ¶äººçæå¾ç processReport.setSignatoryRender(StringUtils.isNotBlank(processReport.getSignatory()) ? Pictures.ofStream(SignatureImageUtil.saveImageToFile(processReport.getSignatory())).create() : null); } // è·åè·¯å¾ InputStream inputStream = this.getClass().getResourceAsStream("/static/report-deal.docx"); Configure configure = Configure.builder() @@ -86,6 +99,8 @@ template.write(os); os.flush(); os.close(); inputStream.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessSampleServiceImpl.java
@@ -61,6 +61,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessTotaldealServiceImpl.java
@@ -211,6 +211,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java
@@ -373,6 +373,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); @@ -519,6 +520,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); @@ -732,6 +734,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); @@ -751,11 +754,9 @@ if (qualityMonitorDetailsId == null) { throw new ErrorException("缺å°çæ§è¯¦æ id"); } QualityMonitorDetails qualityMonitorDetails = qualityMonitorDetailsService.getOne(Wrappers.<QualityMonitorDetails>lambdaUpdate() .eq(QualityMonitorDetails::getQualityMonitorDetailsId, qualityMonitorDetailsId)); LocalDateTime now = LocalDateTime.now(); Integer userId =SecurityUtils.getUserId().intValue(); String contentType = file.getContentType(); String urlString; String pathName; try { @@ -768,10 +769,13 @@ urlString = realpath + "/" + pathName; file.transferTo(new File(urlString)); wordInsertUrl(new HashMap<String, Object>() {{ put("writeUrl", UserUtils.getFinalUserSignatureUrl(userId)); put("writeDateUrl", Pictures.ofStream(DateImageUtil.createDateImage(now)).create()); }}, wordUrl + "/" + pathName.replace("/word", wordUrl)); // 夿æ¯å¦æ¯pdf if (!contentType.contains("pdf")) { wordInsertUrl(new HashMap<String, Object>() {{ put("writeUrl", UserUtils.getFinalUserSignatureUrl(userId)); put("writeDateUrl", Pictures.ofStream(DateImageUtil.createDateImage(now)).create()); }}, wordUrl + "/" + pathName.replace("/word", wordUrl)); } qualityMonitorDetailsService.update(Wrappers.<QualityMonitorDetails>lambdaUpdate() .eq(QualityMonitorDetails::getQualityMonitorDetailsId, qualityMonitorDetailsId) @@ -807,7 +811,7 @@ // æ·»å æ¹å人 QualityMonitorDetails details = qualityMonitorDetailsMapper.selectById(qualityMonitorDetails.getQualityMonitorDetailsId()); if (StringUtils.isNotBlank(details.getFinishReportUrl())) { if (StringUtils.isNotBlank(details.getFinishReportUrl()) && !details.getFinishReportUrl().contains(".pdf")) { wordInsertUrl(new HashMap<String, Object>() {{ put("ratifyUrl", UserUtils.getFinalUserSignatureUrl(userId)); put("ratifyDateUrl", Pictures.ofStream(DateImageUtil.createDateImage(now)).create()); cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseManagementReviewServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,86 @@ package com.ruoyi.process.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.config.Configure; import com.deepoove.poi.config.ConfigureBuilder; import com.deepoove.poi.data.Pictures; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.framework.exception.ErrorException; import com.ruoyi.process.dto.QualitySuperviseDetailsCorrectDto; import com.ruoyi.process.pojo.QualitySuperviseDetailsCorrect; import com.ruoyi.process.pojo.QualitySuperviseManagementReview; import com.ruoyi.process.mapper.QualitySuperviseManagementReviewMapper; import com.ruoyi.process.service.QualitySuperviseManagementReviewService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; import java.io.InputStream; import java.io.OutputStream; import java.net.URLEncoder; import java.time.format.DateTimeFormatter; import java.util.HashMap; /** * <p> * è´¨éçç£ç®¡çè¯å®¡è¾å ¥ææ æå¡å®ç°ç±» * </p> * * @author * @since 2025-05-07 10:46:11 */ @Service public class QualitySuperviseManagementReviewServiceImpl extends ServiceImpl<QualitySuperviseManagementReviewMapper, QualitySuperviseManagementReview> implements QualitySuperviseManagementReviewService { /** * å页æ¥è¯¢ * @param page * @param managementReview * @return */ @Override public IPage<QualitySuperviseManagementReview> pageManagementReview(Page page, QualitySuperviseManagementReview managementReview) { return baseMapper.pageManagementReview(page, QueryWrappers.queryWrappers(managementReview)); } /** * å¯¼åº * @param managementReviewId * @param response */ @Override public void exportManagementReview(Integer managementReviewId, HttpServletResponse response) { QualitySuperviseManagementReview managementReview = baseMapper.selectById(managementReviewId); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyå¹´MMæddæ¥"); // è·åè·¯å¾ InputStream inputStream = this.getClass().getResourceAsStream("/static/supervise-management-eview.docx"); ConfigureBuilder builder = Configure.builder(); builder.useSpringEL(true); XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render( new HashMap<String, Object>() {{ put("managementReview", managementReview); put("superviseDateStr", managementReview.getSuperviseDate() == null ? null : managementReview.getSuperviseDate().format(formatter)); }}); try { response.setContentType("application/msword"); String fileName = URLEncoder.encode( managementReview.getFileName(), "UTF-8"); response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".docx"); OutputStream os = response.getOutputStream(); template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); } } } cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseServiceImpl.java
@@ -335,6 +335,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); @@ -557,6 +558,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); @@ -875,6 +877,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); @@ -1253,6 +1256,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-process/src/main/java/com/ruoyi/process/task/QualitySuperviseSchedule.java
@@ -1,23 +1,33 @@ package com.ruoyi.process.task; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.core.domain.entity.User; import com.ruoyi.common.utils.WxCpUtils; import com.ruoyi.process.mapper.QualitySuperviseDetailsMapper; import com.ruoyi.process.mapper.QualitySuperviseDetailsRecordMapper; import com.ruoyi.process.mapper.QualitySuperviseManagementReviewMapper; import com.ruoyi.process.pojo.QualitySuperviseDetails; import com.ruoyi.process.pojo.QualitySuperviseDetailsRecord; import com.ruoyi.process.pojo.QualitySuperviseManagementReview; import com.ruoyi.system.mapper.UserMapper; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * å¹è®è®¡åä½¿ç¨æéè®°å½æé * è´¨éçç£å¡«åæé */ @Component public class QualitySuperviseSchedule { @@ -27,9 +37,13 @@ private UserMapper userMapper; @Resource private ThreadPoolTaskExecutor threadPoolTaskExecutor; @Resource private QualitySuperviseManagementReviewMapper qualitySuperviseManagementReviewMapper; @Resource private QualitySuperviseDetailsRecordMapper qualitySuperviseDetailsRecordMapper; /** * æéå¡«å设å¤ä½¿ç¨è®°å½ * è´¨éçç£å¡«åæé */ // @Scheduled(cron = "0/5 * * * * *") @Scheduled(cron = "0 0 9 1 * *") // æ¯æ1å·æ§è¡ @@ -63,4 +77,66 @@ } } /** * æ¯æ28å·èªå¨çæè´¨éçç£æ»ç» */ // @Scheduled(cron = "0/5 * * * * *") @Scheduled(cron = "0 0 9 28 * *") // æ¯æ28å·æ§è¡ public void task2() { LocalDateTime now = LocalDateTime.now(); // æ¥è¯¢å½æçç£è®¡å DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.M"); String format = now.format(formatter); List<QualitySuperviseDetails> qualitySuperviseDetails = qualitySuperviseDetailsMapper.selectList(Wrappers.<QualitySuperviseDetails>lambdaQuery() .eq(QualitySuperviseDetails::getSuperviseTime, format)); // æ ¹æ®å®æçç£å卿çç£åºå Map<String, List<QualitySuperviseDetails>> superviseReasonMap = qualitySuperviseDetails.stream().collect(Collectors.groupingBy(QualitySuperviseDetails::getSuperviseReason)); // è·åå½ææ¥æ DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyyå¹´MMæ"); String format2 = now.format(formatter2); // è·å计åå 容 String implementationSupervisee = ""; List<QualitySuperviseDetails> implementationList = superviseReasonMap.get("宿çç£"); if (CollectionUtils.isNotEmpty(implementationList)) { // è·å宿çç£äººåä¿¡æ¯ List<String> collect = implementationList.stream().map(QualitySuperviseDetails::getSupervisee).collect(Collectors.toList()); implementationSupervisee = CollUtil.join(collect, ","); } String implementationContent = "å·¥ä½ä¸ä¸¥æ ¼æç §å¹´åº¦è´¨éçç£å·¥ä½è®¡åè¿è¡æ§è¡ã{}对{}è¿è¡ä¸æ¬¡å®æçç£ãå¨çç£è¿ç¨ä¸ï¼æ²¡æåç°ä¸ç¬¦åçç°è±¡ãæ£éªåè½çç»çæç §è§å®çè¦æ±è¿è¡è®¾å¤çæä½ï¼å¯¹äºæ åè½çè®°ï¼æä½¿ç¨ç设å¤å卿 ¡å卿å ï¼è½æ¸ æ¥å®æ´ççè®°å½åå§æ°æ®å¹¶åºå ·æ¥åï¼å¨è¯éªç¯å¢æ¹é¢ï¼è½å¤ä¸¥æ ¼çæç §æ åæ§è¡ã"; String formatImplementationContent = StrUtil.format(implementationContent, format2, implementationSupervisee); //è·å卿å 容 String dynamicSupervisee = ""; List<QualitySuperviseDetails> dynamicList = superviseReasonMap.get("卿çç£"); if (CollectionUtils.isNotEmpty(dynamicList)) { List<String> collect = dynamicList.stream() .map(details -> StrUtil.format("对{}卿çç£1次å¨çç£è¿ç¨ä¸", details.getSupervisee())).collect(Collectors.toList()); dynamicSupervisee = CollUtil.join(collect, "ï¼"); } String dynamicContent = "å¨ä¿è¯è´¨éçç£è®¡åçåæ¶ï¼ä¹åææç §é¢å¯¼è¦æ±å 强ä¸å®æçç£å¨ä½ã{}份{}ï¼æ²¡æåç°ä¸ç¬¦åçç°è±¡ãæ£éªåè½çç»çæç §è§å®çè¦æ±è¿è¡è®¾å¤çæä½ï¼å¯¹äºæ åè½çè®°ï¼æä½¿ç¨ç设å¤å卿 ¡å卿å ï¼è½æ¸ æ¥å®æ´ççè®°å½åå§æ°æ®å¹¶åºå ·æ¥åï¼å¨è¯éªç¯å¢æ¹é¢ï¼è½å¤ä¸¥æ ¼çæç §æ åæ§è¡ã"; String formatdynamicContent = StrUtil.format(dynamicContent, format2, dynamicSupervisee); // è·åçç£åä¿¡æ¯ QualitySuperviseDetails superviseDetails = qualitySuperviseDetails.get(0); QualitySuperviseDetailsRecord detailsRecord = qualitySuperviseDetailsRecordMapper.selectOne(Wrappers.<QualitySuperviseDetailsRecord>lambdaQuery() .eq(QualitySuperviseDetailsRecord::getSuperviseDetailsId, superviseDetails.getSuperviseDetailsId()) .last("limit 1")); String supervisor = detailsRecord.getSupervisor(); // å建è¯å®¡å¯¹è±¡ QualitySuperviseManagementReview managementReview = new QualitySuperviseManagementReview(); String yearDate = now.format(DateTimeFormatter.ofPattern("yyyyå¹´")); String monthDate = now.format(DateTimeFormatter.ofPattern("MMæ")); managementReview.setFileName(StrUtil.format("{}管çè¯å®¡è¾å ¥ææï¼{}ï¼_{}", yearDate, supervisor, monthDate)); managementReview.setImplementationContent(formatImplementationContent); managementReview.setDynamicContent(formatdynamicContent); managementReview.setSupervisor(supervisor); managementReview.setSuperviseDate(LocalDate.now()); qualitySuperviseManagementReviewMapper.insert(managementReview); } } cnas-process/src/main/resources/mapper/ProcessReportMapper.xml
@@ -18,7 +18,7 @@ <result column="update_user" property="updateUser"/> <result column="update_time" property="updateTime"/> </resultMap> <select id="pageProcessReport" resultType="com.ruoyi.process.pojo.ProcessReport"> <select id="pageProcessReport" resultType="com.ruoyi.process.dto.ProcessReportDto"> select * from (select cpr.* , u1.name sendUserName from cnas_process_report cpr @@ -27,10 +27,10 @@ ${ew.customSqlSegment} </if> </select> <select id="exportProcessReport" resultType="com.ruoyi.process.pojo.ProcessReport"> <select id="exportProcessReport" resultType="com.ruoyi.process.dto.ProcessReportDto"> select ROW_NUMBER() OVER (ORDER BY cpr.id) AS indexs, cpr.* , u1.name sendUserName u1.signature_url sendUserUrl from cnas_process_report cpr left join user u1 on send_user=u1.id </select> cnas-process/src/main/resources/mapper/QualitySuperviseManagementReviewMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ <?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.process.mapper.QualitySuperviseManagementReviewMapper"> <select id="pageManagementReview" resultType="com.ruoyi.process.pojo.QualitySuperviseManagementReview"> select * from cnas_quality_supervise_management_review <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> </select> </mapper> cnas-process/src/main/resources/static/report-deal.docxBinary files differ
cnas-process/src/main/resources/static/supervise-management-eview.docxBinary files differ
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeCalibrationScheduleServiceImpl.java
@@ -50,7 +50,6 @@ Configure configure = Configure.builder() .bind("feCalibrationSchedule", new HackLoopTableRenderPolicy()) .build(); FeCalibrationSchedule feCalibrationSchedule = size > 0 ? feCalibrationSchedules.get(0) : null; XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( new HashMap<String, Object>() {{ put("feCalibrationSchedule", feCalibrationSchedules); @@ -67,6 +66,8 @@ template.write(os); os.flush(); os.close(); inputStream.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-require/src/main/java/com/ruoyi/require/service/impl/FeIlluminationServiceImpl.java
@@ -36,7 +36,7 @@ * 设æ½åç¯å¢æ¡ä»¶-设æ½åç¯å¢æ¡ä»¶è¦æ±-ç §åº¦è®°å½è¡¨ æå¡å®ç°ç±» * </p> * * @author * @author * @since 2024-11-07 04:15:57 */ @Service @@ -115,6 +115,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-require/src/main/java/com/ruoyi/require/service/impl/FePowerStableServiceImpl.java
@@ -115,6 +115,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumDateServiceImpl.java
@@ -121,6 +121,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-require/src/main/java/com/ruoyi/require/service/impl/ForeignRegisterServiceImpl.java
@@ -93,6 +93,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); cnas-require/src/main/java/com/ruoyi/require/service/impl/InternalWastesServiceImpl.java
@@ -159,6 +159,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java
@@ -476,6 +476,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); @@ -669,6 +670,7 @@ template.write(os); os.flush(); os.close(); inputStream.close(); } catch (IOException e) { throw new RuntimeException(e); } inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
@@ -2014,7 +2014,7 @@ insReportMapper.delete(Wrappers.<InsReport>lambdaQuery() .eq(InsReport::getInsOrderId, insOrder.getId())); insReportMapper.insert(insReport); inputStream.close(); } catch (IOException e) { throw new RuntimeException(e); } @@ -2567,6 +2567,7 @@ insReportMapper.delete(Wrappers.<InsReport>lambdaQuery() .eq(InsReport::getInsOrderId, insOrder.getId())); insReportMapper.insert(insReport); inputStream.close(); } catch (IOException e) { throw new RuntimeException(e); } @@ -4241,6 +4242,11 @@ // ä¿åå°éä»¶éé¢ uploadFile(insOrderId, multipartFile); try { inputStream.close(); } catch (IOException e) { throw new RuntimeException(e); } } ruoyi-admin/src/main/java/com/ruoyi/CodeGenerator.java
@@ -20,9 +20,9 @@ public static String database_username = "root"; public static String database_password= "123456"; public static String author = ""; public static String model_name = "/cnas-device"; // å¦æä¸ºåå¸å¼å¡«å模ååç§°ï¼å¦æä¸æ¯åå¸å¼ä¸ºç©ºå³å¯ public static String setParent = "com.ruoyi.device"; // å è·¯å¾ public static String tablePrefix = ""; // è®¾ç½®è¿æ»¤è¡¨åç¼ public static String model_name = "/cnas-process"; // å¦æä¸ºåå¸å¼å¡«å模ååç§°ï¼å¦æä¸æ¯åå¸å¼ä¸ºç©ºå³å¯ public static String setParent = "com.ruoyi.process"; // å è·¯å¾ public static String tablePrefix = "cnas_"; // è®¾ç½®è¿æ»¤è¡¨åç¼ public static void main(String[] args) { String projectPath = System.getProperty("user.dir"); FastAutoGenerator.create(database_url, database_username, database_password) ruoyi-common/src/main/java/com/ruoyi/common/utils/SignatureImageUtil.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,66 @@ package com.ruoyi.common.utils; import org.springframework.core.io.ClassPathResource; import javax.imageio.ImageIO; import java.awt.*; import java.awt.font.FontRenderContext; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.io.*; /** * @Author zhuo * @Date 2025/5/7 */ public class SignatureImageUtil { /** * æ ¹æ®ä¸æå¯¼åºç¾åå¾ç * @param text * @return * @throws IOException * @throws FontFormatException */ public static InputStream saveImageToFile(String text){ // è·ååä½åº Font font = null; try (InputStream is = new ClassPathResource("/ttf/signature.ttf").getInputStream()) { font = Font.createFont(Font.TRUETYPE_FONT, is).deriveFont(50f); } catch (FontFormatException | IOException e) { throw new RuntimeException(e); } int width = 100; // å¾çç宽度 int height = 50; // å¾ççé«åº¦ BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = image.createGraphics(); g2d.setFont(font); // 设置æåé¢è²ä¸ºé»è² g2d.setColor(Color.black); // 设置æåå¨å¾çä¸çä½ç½® FontRenderContext context = g2d.getFontRenderContext(); Rectangle2D bounds = font.getStringBounds(text, context); double x = (width - bounds.getWidth()) / 2; double y = (height - bounds.getHeight()) / 2; double ascent = -bounds.getY(); double baseY = y + ascent; g2d.drawString(text, (int) x, (int) baseY); g2d.dispose(); ByteArrayOutputStream os = new ByteArrayOutputStream(); try { ImageIO.write(image, "png", os); } catch (IOException e) { throw new RuntimeException(e); } return new ByteArrayInputStream(os.toByteArray()); } } ruoyi-common/src/main/resources/ttf/signature.ttfBinary files differ