From 0877a9313cfcccbf59f86215cf75d922e4f786d7 Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期三, 07 五月 2025 15:15:12 +0800
Subject: [PATCH] 添加监督质量评审功能

---
 cnas-process/src/main/resources/mapper/QualitySuperviseManagementReviewMapper.xml                          |   14 ++
 cnas-process/src/main/resources/static/report-deal.docx                                                    |    0 
 cnas-process/src/main/java/com/ruoyi/process/service/QualitySuperviseManagementReviewService.java          |   34 ++++
 cnas-process/src/main/java/com/ruoyi/process/task/QualitySuperviseSchedule.java                            |   80 +++++++++++
 ruoyi-admin/src/main/java/com/ruoyi/CodeGenerator.java                                                     |    6 
 cnas-process/src/main/java/com/ruoyi/process/pojo/QualitySuperviseManagementReview.java                    |   63 +++++++++
 cnas-process/src/main/resources/static/supervise-management-eview.docx                                     |    0 
 cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseManagementReviewServiceImpl.java |   85 ++++++++++++
 cnas-process/src/main/java/com/ruoyi/process/controller/QualitySuperviseManagementReviewController.java    |   71 ++++++++++
 cnas-process/src/main/java/com/ruoyi/process/mapper/QualitySuperviseManagementReviewMapper.java            |   26 +++
 10 files changed, 374 insertions(+), 5 deletions(-)

diff --git a/cnas-process/src/main/java/com/ruoyi/process/controller/QualitySuperviseManagementReviewController.java b/cnas-process/src/main/java/com/ruoyi/process/controller/QualitySuperviseManagementReviewController.java
new file mode 100644
index 0000000..5595608
--- /dev/null
+++ b/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);
+    }
+}
diff --git a/cnas-process/src/main/java/com/ruoyi/process/mapper/QualitySuperviseManagementReviewMapper.java b/cnas-process/src/main/java/com/ruoyi/process/mapper/QualitySuperviseManagementReviewMapper.java
new file mode 100644
index 0000000..7a0ae0c
--- /dev/null
+++ b/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);
+}
diff --git a/cnas-process/src/main/java/com/ruoyi/process/pojo/QualitySuperviseManagementReview.java b/cnas-process/src/main/java/com/ruoyi/process/pojo/QualitySuperviseManagementReview.java
new file mode 100644
index 0000000..50b45a4
--- /dev/null
+++ b/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;
+}
diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/QualitySuperviseManagementReviewService.java b/cnas-process/src/main/java/com/ruoyi/process/service/QualitySuperviseManagementReviewService.java
new file mode 100644
index 0000000..92ad08f
--- /dev/null
+++ b/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);
+}
diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseManagementReviewServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseManagementReviewServiceImpl.java
new file mode 100644
index 0000000..345b394
--- /dev/null
+++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseManagementReviewServiceImpl.java
@@ -0,0 +1,85 @@
+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骞碝M鏈坉d鏃�");
+
+        // 鑾峰彇璺緞
+        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();
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new RuntimeException("瀵煎嚭澶辫触");
+        }
+    }
+}
diff --git a/cnas-process/src/main/java/com/ruoyi/process/task/QualitySuperviseSchedule.java b/cnas-process/src/main/java/com/ruoyi/process/task/QualitySuperviseSchedule.java
index 0c35317..4d48dd4 100644
--- a/cnas-process/src/main/java/com/ruoyi/process/task/QualitySuperviseSchedule.java
+++ b/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鍙疯嚜鍔ㄧ敓鎴愯川閲忕洃鐫f�荤粨
+     */
+//    @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));
+
+        // 鏍规嵁瀹氭湡鐩戠潱鍜屽姩鎬佺洃鐫e尯鍒�
+        Map<String, List<QualitySuperviseDetails>> superviseReasonMap = qualitySuperviseDetails.stream().collect(Collectors.groupingBy(QualitySuperviseDetails::getSuperviseReason));
+
+        // 鑾峰彇褰撴湀鏃ユ湡
+        DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyy骞碝M鏈�");
+        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 = "宸ヤ綔涓弗鏍兼寜鐓у勾搴﹁川閲忕洃鐫e伐浣滆鍒掕繘琛屾墽琛屻�倇}瀵箋}杩涜涓�娆″畾鏈熺洃鐫c�傚湪鐩戠潱杩囩▼涓紝娌℃湁鍙戠幇涓嶇鍚堢殑鐜拌薄銆傛楠屽憳鑳界啛缁冪殑鎸夌収瑙勫畾鐨勮姹傝繘琛岃澶囩殑鎿嶄綔锛屽浜庢爣鍑嗚兘鐔熻锛屾墍浣跨敤鐨勮澶囧潎鍦ㄦ牎鍑嗗懆鏈熷唴锛岃兘娓呮瀹屾暣鐨勭殑璁板綍鍘熷鏁版嵁骞跺嚭鍏锋姤鍛婏紱鍦ㄨ瘯楠岀幆澧冩柟闈紝鑳藉涓ユ牸鐨勬寜鐓ф爣鍑嗘墽琛屻��";
+        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 = "鍦ㄤ繚璇佽川閲忕洃鐫h鍒掔殑鍚屾椂锛屼篃鍧氭寔鎸夌収棰嗗瑕佹眰鍔犲己涓嶅畾鏈熺洃鐫e姩浣溿�倇}浠絳}锛屾病鏈夊彂鐜颁笉绗﹀悎鐨勭幇璞°�傛楠屽憳鑳界啛缁冪殑鎸夌収瑙勫畾鐨勮姹傝繘琛岃澶囩殑鎿嶄綔锛屽浜庢爣鍑嗚兘鐔熻锛屾墍浣跨敤鐨勮澶囧潎鍦ㄦ牎鍑嗗懆鏈熷唴锛岃兘娓呮瀹屾暣鐨勭殑璁板綍鍘熷鏁版嵁骞跺嚭鍏锋姤鍛婏紱鍦ㄨ瘯楠岀幆澧冩柟闈紝鑳藉涓ユ牸鐨勬寜鐓ф爣鍑嗘墽琛屻��";
+        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);
+    }
+
 }
diff --git a/cnas-process/src/main/resources/mapper/QualitySuperviseManagementReviewMapper.xml b/cnas-process/src/main/resources/mapper/QualitySuperviseManagementReviewMapper.xml
new file mode 100644
index 0000000..ff901d2
--- /dev/null
+++ b/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>
diff --git a/cnas-process/src/main/resources/static/report-deal.docx b/cnas-process/src/main/resources/static/report-deal.docx
index 626da57..eabb3e8 100644
--- a/cnas-process/src/main/resources/static/report-deal.docx
+++ b/cnas-process/src/main/resources/static/report-deal.docx
Binary files differ
diff --git a/cnas-process/src/main/resources/static/supervise-management-eview.docx b/cnas-process/src/main/resources/static/supervise-management-eview.docx
new file mode 100644
index 0000000..7dcdc48
--- /dev/null
+++ b/cnas-process/src/main/resources/static/supervise-management-eview.docx
Binary files differ
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/CodeGenerator.java b/ruoyi-admin/src/main/java/com/ruoyi/CodeGenerator.java
index fa4d0dc..462450a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/CodeGenerator.java
+++ b/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)

--
Gitblit v1.9.3