From ea62020863f7be0a0791ed6d3bd87b80364d8026 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期三, 15 十月 2025 08:35:04 +0800
Subject: [PATCH] 新增

---
 multi-system/src/main/java/com/gkhy/exam/system/service/ItemReviewService.java          |   16 +++
 multi-system/src/main/java/com/gkhy/exam/system/domain/ItemReview.java                  |   64 ++++++++++++
 multi-system/src/main/java/com/gkhy/exam/system/mapper/ItemReviewMapper.java            |   12 ++
 multi-system/src/main/resources/mapper/system/ItemReviewMapper.xml                      |   33 ++++++
 multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/QualityController.java     |   52 ++++++++++
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/ItemReviewServiceImpl.java |   64 ++++++++++++
 6 files changed, 241 insertions(+), 0 deletions(-)

diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/QualityController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/QualityController.java
index e3bf6c3..30d34fd 100644
--- a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/QualityController.java
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/QualityController.java
@@ -40,6 +40,9 @@
     @Autowired
     private ItemService itemService;
 
+    @Autowired
+    private ItemReviewService itemReviewService;
+
 
     /**
      * 质量目标列表
@@ -358,6 +361,10 @@
      * @return
      */
     @ApiOperation(value = "产品与项目列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
+    })
     @GetMapping("/productItem/list")
     public CommonResult listProductItem(ProductItem productItem){
         return CommonResult.success(productItemService.selectProductItem(productItem));
@@ -455,4 +462,49 @@
 
 
 
+    @ApiOperation(value = "项目评审列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
+    })
+    @GetMapping("/review/list")
+    public CommonResult listItemReview(ItemReview itemReview){
+        return CommonResult.success(itemReviewService.selectItemList(itemReview));
+    }
+
+
+    /**
+     * 项目评审新增
+     * @param item
+     * @return
+     */
+    @ApiOperation(value = "项目评审新增")
+    @PostMapping("/review/insert")
+    public CommonResult insertItemReview(@RequestBody ItemReview item){
+        return itemReviewService.insertItem(item);
+    }
+
+    /**
+     * 项目评审修改
+     * @param item
+     * @return
+     */
+    @ApiOperation(value = "项目评审修改")
+    @PostMapping("/review/update")
+    public CommonResult updateItemReview(@RequestBody ItemReview item){
+        return itemReviewService.updateItem(item);
+    }
+
+    /**
+     * 项目评审删除
+     * @param itemReviewId
+     * @return
+     */
+    @ApiOperation(value = "项目评审删除")
+    @GetMapping("/review/deleted")
+    public CommonResult deletedItemReview(@RequestParam("itemReviewId") Integer itemReviewId){
+        return itemReviewService.deletedItem(itemReviewId);
+    }
+
+
 }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/ItemReview.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/ItemReview.java
new file mode 100644
index 0000000..88c6a2e
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/ItemReview.java
@@ -0,0 +1,64 @@
+package com.gkhy.exam.system.domain;
+
+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 io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Data
+@TableName("item_review")
+@ApiModel(value = "ItemReview", description = "项目评审")
+public class ItemReview implements Serializable {
+
+
+    @ApiModelProperty("主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "企业id")
+    @TableField("company_id")
+    private Long companyId;
+
+    @ApiModelProperty(value = "项目id")
+    @TableField("item_id")
+    private Integer itemId;
+
+    @TableField(exist = false)
+    private String itemName;
+
+    @ApiModelProperty(value = "项目id")
+    @TableField("num")
+    private String num;
+
+    @ApiModelProperty(value = "项目id")
+    @TableField("file_name")
+    private String fileName;
+
+    @ApiModelProperty(value = "项目id")
+    @TableField("file_path")
+    private String filePath;
+
+    @TableField("del_flag")
+    private Integer delFlag;
+
+    @TableField("create_by")
+    private String createBy;
+
+    @TableField("create_time")
+    private LocalDateTime createTime;
+
+    @TableField("update_by")
+    private String updateBy;
+
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/ItemReviewMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/ItemReviewMapper.java
new file mode 100644
index 0000000..a22f8d7
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/ItemReviewMapper.java
@@ -0,0 +1,12 @@
+package com.gkhy.exam.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.system.domain.ItemReview;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface ItemReviewMapper extends BaseMapper<ItemReview> {
+    List<ItemReview> selectReviewList(ItemReview itemReview);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/ItemReviewService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/ItemReviewService.java
new file mode 100644
index 0000000..b98c191
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/ItemReviewService.java
@@ -0,0 +1,16 @@
+package com.gkhy.exam.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.ItemReview;
+
+public interface ItemReviewService extends IService<ItemReview> {
+    CommonPage selectItemList(ItemReview itemReview);
+
+    CommonResult insertItem(ItemReview item);
+
+    CommonResult updateItem(ItemReview item);
+
+    CommonResult deletedItem(Integer itemReviewId);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ItemReviewServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ItemReviewServiceImpl.java
new file mode 100644
index 0000000..9693c37
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ItemReviewServiceImpl.java
@@ -0,0 +1,64 @@
+package com.gkhy.exam.system.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.ItemReview;
+import com.gkhy.exam.system.mapper.ItemReviewMapper;
+import com.gkhy.exam.system.service.ItemReviewService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Service
+public class ItemReviewServiceImpl extends ServiceImpl<ItemReviewMapper, ItemReview> implements ItemReviewService {
+
+    @Autowired
+    private ItemReviewMapper itemReviewMapper;
+
+    @Override
+    public CommonPage selectItemList(ItemReview itemReview) {
+        if (!SecurityUtils.adminUser()){
+            if (itemReview.getCompanyId()==null){
+                throw new RuntimeException("非管理员,查询条件不可为空");
+            }
+        }
+        PageUtils.startPage();
+        List<ItemReview> itemReviews = itemReviewMapper.selectReviewList(itemReview);
+        return CommonPage.restPage(itemReviews);
+    }
+
+    @Override
+    public CommonResult insertItem(ItemReview item) {
+        item.setCreateBy(SecurityUtils.getUsername());
+        item.setCreateTime(LocalDateTime.now());
+        if (item.getCompanyId()==null){
+            item.setCompanyId(SecurityUtils.getCompanyId());
+        }
+        int insert = itemReviewMapper.insert(item);
+        return CommonResult.success();
+    }
+
+    @Override
+    public CommonResult updateItem(ItemReview item) {
+        item.setUpdateBy(SecurityUtils.getUsername());
+        item.setUpdateTime(LocalDateTime.now());
+        int update = itemReviewMapper.updateById(item);
+        return CommonResult.success();
+    }
+
+    @Override
+    public CommonResult deletedItem(Integer itemReviewId) {
+        ItemReview itemReview = new ItemReview();
+        itemReview.setId(itemReviewId);
+        itemReview.setUpdateTime(LocalDateTime.now());
+        itemReview.setUpdateBy(SecurityUtils.getUsername());
+        itemReview.setDelFlag(2);
+        itemReviewMapper.updateById(itemReview);
+        return CommonResult.success();
+    }
+}
diff --git a/multi-system/src/main/resources/mapper/system/ItemReviewMapper.xml b/multi-system/src/main/resources/mapper/system/ItemReviewMapper.xml
new file mode 100644
index 0000000..9bcbe2f
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/ItemReviewMapper.xml
@@ -0,0 +1,33 @@
+<?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.gkhy.exam.system.mapper.ItemReviewMapper">
+
+    <select id="selectReviewList" resultType="com.gkhy.exam.system.domain.ItemReview">
+        SELECT
+            ir.`id`,
+            ir.`company_id`,
+            ir.`item_id`,
+            i.`item_name`,
+            ir.`num`,
+            ir.`file_name`,
+            ir.`file_path`,
+            ir.`del_flag`,
+            ir.`create_by`,
+            ir.`create_time`,
+            ir.`update_by`,
+            ir.`update_time`
+        FROM
+            `item_review` ir
+                LEFT JOIN item i ON ir.item_id = i.id
+        WHERE
+            ir.del_flag = 0
+        <if test="companyId!=null">
+            and ir.company_id =#{companyId}
+        </if>
+        <if test="itemName!=null">
+            and i.item_name like concat('%',#{itemName},'%')
+        </if>
+        ORDER BY
+            ir.create_time DESC
+    </select>
+</mapper>

--
Gitblit v1.9.2