From 0fcc63f1fc7f202627180658c19c93b0b7fa7f10 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期五, 13 三月 2026 17:21:21 +0800
Subject: [PATCH] feat(inspectiontask): 新增质量检测项模块及相关接口和实现
---
src/main/java/com/ruoyi/inspectiontask/mapper/QualityInspectItemMapper.java | 22 ++
src/main/java/com/ruoyi/inspectiontask/pojo/QualityInspectItem.java | 93 +++++++++++
src/main/java/com/ruoyi/inspectiontask/service/impl/QualityInspectItemServiceImpl.java | 68 ++++++++
tmp/request/projectManage.http | 227 ++++++++++++++++++++++++++++
src/main/java/com/ruoyi/inspectiontask/dto/InspectItemDto.java | 2
src/main/java/com/ruoyi/inspectiontask/service/QualityInspectItemService.java | 26 +++
src/main/resources/mapper/inspectiontask/QualityInspectItemMapper.xml | 37 ++++
7 files changed, 474 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/ruoyi/inspectiontask/dto/InspectItemDto.java b/src/main/java/com/ruoyi/inspectiontask/dto/InspectItemDto.java
index cf2bece..e7efe48 100644
--- a/src/main/java/com/ruoyi/inspectiontask/dto/InspectItemDto.java
+++ b/src/main/java/com/ruoyi/inspectiontask/dto/InspectItemDto.java
@@ -13,7 +13,7 @@
@AllArgsConstructor
@NoArgsConstructor
public class InspectItemDto {
- private String id;
+ private Long id;
private String name;
private String unit;
private String standardValue;
diff --git a/src/main/java/com/ruoyi/inspectiontask/mapper/QualityInspectItemMapper.java b/src/main/java/com/ruoyi/inspectiontask/mapper/QualityInspectItemMapper.java
new file mode 100644
index 0000000..2220000
--- /dev/null
+++ b/src/main/java/com/ruoyi/inspectiontask/mapper/QualityInspectItemMapper.java
@@ -0,0 +1,22 @@
+package com.ruoyi.inspectiontask.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.inspectiontask.pojo.QualityInspectItem;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.inspectiontask.vo.InspectItemVo;
+import com.ruoyi.inspectiontask.vo.SearchInspectItemVo;
+
+/**
+* @author buhuazhen
+* @description 閽堝琛ㄣ�恞uality_inspect_item(璐ㄩ噺妫�娴嬮」)銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2026-03-13 16:29:59
+* @Entity com.ruoyi.inspectiontask.pojo.QualityInspectItem
+*/
+public interface QualityInspectItemMapper extends BaseMapper<QualityInspectItem> {
+
+ Page<InspectItemVo> listPage(SearchInspectItemVo searchInspectItemVo);
+}
+
+
+
+
diff --git a/src/main/java/com/ruoyi/inspectiontask/pojo/QualityInspectItem.java b/src/main/java/com/ruoyi/inspectiontask/pojo/QualityInspectItem.java
new file mode 100644
index 0000000..0d5cc30
--- /dev/null
+++ b/src/main/java/com/ruoyi/inspectiontask/pojo/QualityInspectItem.java
@@ -0,0 +1,93 @@
+package com.ruoyi.inspectiontask.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+
+/**
+ * 璐ㄩ噺妫�娴嬮」
+ * @TableName quality_inspect_item
+ */
+@TableName(value ="quality_inspect_item")
+@Data
+public class QualityInspectItem implements Serializable {
+ /**
+ *
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 椤圭洰鍚嶇О
+ */
+ @TableField(value = "name")
+ private String name;
+
+ /**
+ * 鍗曚綅
+ */
+ @TableField(value = "unit")
+ private String unit;
+
+ /**
+ * 鏍囧噯鍊�
+ */
+ @TableField(value = "standard_value")
+ private String standardValue;
+
+ /**
+ * 鍐呮帶鍊�
+ */
+ @TableField(value = "internal_control")
+ private String internalControl;
+
+ /**
+ * 鍖栭獙鍊�
+ */
+ @TableField(value = "test_value")
+ private String testValue;
+
+ /**
+ *
+ */
+ @TableField(value = "is_delete")
+ private Integer isDelete;
+
+ /**
+ *
+ */
+ @TableField(value = "create_time",fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ /**
+ *
+ */
+ @TableField(value = "update_time",fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ /**
+ *
+ */
+ @TableField(value = "create_user_name",fill = FieldFill.INSERT)
+ private String createUserName;
+
+ /**
+ *
+ */
+ @TableField(value = "create_user",fill = FieldFill.INSERT)
+ private Long createUser;
+
+ /**
+ *
+ */
+ @TableField(value = "update_user_name",fill = FieldFill.INSERT_UPDATE)
+ private String updateUserName;
+
+ @TableField(value = "update_user",fill = FieldFill.INSERT_UPDATE)
+ private Long updateUser;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/inspectiontask/service/QualityInspectItemService.java b/src/main/java/com/ruoyi/inspectiontask/service/QualityInspectItemService.java
new file mode 100644
index 0000000..3587eeb
--- /dev/null
+++ b/src/main/java/com/ruoyi/inspectiontask/service/QualityInspectItemService.java
@@ -0,0 +1,26 @@
+package com.ruoyi.inspectiontask.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.inspectiontask.dto.InspectItemDto;
+import com.ruoyi.inspectiontask.pojo.QualityInspectItem;
+import com.ruoyi.inspectiontask.vo.InspectItemVo;
+import com.ruoyi.inspectiontask.vo.SearchInspectItemVo;
+
+import javax.annotation.Nullable;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+* @author buhuazhen
+* @description 閽堝琛ㄣ�恞uality_inspect_item(璐ㄩ噺妫�娴嬮」)銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2026-03-13 16:29:59
+*/
+public interface QualityInspectItemService extends IService<QualityInspectItem> {
+
+ Page<InspectItemVo> listPage(@NotNull SearchInspectItemVo searchInspectItemVo);
+
+ void save(@NotNull InspectItemDto inspectItemDto);
+
+ void delete(@Nullable List<Long> ids);
+}
diff --git a/src/main/java/com/ruoyi/inspectiontask/service/impl/QualityInspectItemServiceImpl.java b/src/main/java/com/ruoyi/inspectiontask/service/impl/QualityInspectItemServiceImpl.java
new file mode 100644
index 0000000..ed67091
--- /dev/null
+++ b/src/main/java/com/ruoyi/inspectiontask/service/impl/QualityInspectItemServiceImpl.java
@@ -0,0 +1,68 @@
+package com.ruoyi.inspectiontask.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.inspectiontask.dto.InspectItemDto;
+import com.ruoyi.inspectiontask.pojo.QualityInspectItem;
+import com.ruoyi.inspectiontask.service.QualityInspectItemService;
+import com.ruoyi.inspectiontask.mapper.QualityInspectItemMapper;
+import com.ruoyi.inspectiontask.vo.InspectItemVo;
+import com.ruoyi.inspectiontask.vo.SearchInspectItemVo;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+* @author buhuazhen
+* @description 閽堝琛ㄣ�恞uality_inspect_item(璐ㄩ噺妫�娴嬮」)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2026-03-13 16:29:59
+*/
+@Service
+@RequiredArgsConstructor
+@Transactional(readOnly = true)
+public class QualityInspectItemServiceImpl extends ServiceImpl<QualityInspectItemMapper, QualityInspectItem>
+ implements QualityInspectItemService{
+
+ private final QualityInspectItemMapper qualityInspectItemMapper;
+
+
+ @Override
+ public Page<InspectItemVo> listPage(SearchInspectItemVo searchInspectItemVo) {
+ return qualityInspectItemMapper.listPage(searchInspectItemVo);
+ }
+
+ @Override
+ @Transactional
+ public void save(InspectItemDto inspectItemDto) {
+ QualityInspectItem qualityInspectItem = new QualityInspectItem();
+ BeanUtils.copyProperties(inspectItemDto, qualityInspectItem);
+
+ if(qualityInspectItem.getId() == null){
+ qualityInspectItemMapper.insert(qualityInspectItem);
+ }else {
+ qualityInspectItemMapper.updateById(qualityInspectItem);
+ }
+ }
+
+ @Override
+ @Transactional
+ public void delete(List<Long> ids) {
+ if(CollectionUtils.isEmpty(ids)){
+ return;
+ }
+ LambdaUpdateWrapper<QualityInspectItem> updateWrapper = new LambdaUpdateWrapper<>();
+ updateWrapper.in(QualityInspectItem::getId, ids).set(QualityInspectItem::getIsDelete, 1);
+ qualityInspectItemMapper.update(null, updateWrapper);
+ }
+
+
+}
+
+
+
+
diff --git a/src/main/resources/mapper/inspectiontask/QualityInspectItemMapper.xml b/src/main/resources/mapper/inspectiontask/QualityInspectItemMapper.xml
new file mode 100644
index 0000000..cb38515
--- /dev/null
+++ b/src/main/resources/mapper/inspectiontask/QualityInspectItemMapper.xml
@@ -0,0 +1,37 @@
+<?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.inspectiontask.mapper.QualityInspectItemMapper">
+
+ <resultMap id="BaseResultMap" type="com.ruoyi.inspectiontask.pojo.QualityInspectItem">
+ <id property="id" column="id" jdbcType="BIGINT"/>
+ <result property="name" column="name" jdbcType="VARCHAR"/>
+ <result property="unit" column="unit" jdbcType="VARCHAR"/>
+ <result property="standardValue" column="standard_value" jdbcType="VARCHAR"/>
+ <result property="internalControl" column="internal_control" jdbcType="VARCHAR"/>
+ <result property="testValue" column="test_value" jdbcType="VARCHAR"/>
+ <result property="isDelete" column="is_delete" jdbcType="INTEGER"/>
+ <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+ <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+ <result property="createUserName" column="create_user_name" jdbcType="VARCHAR"/>
+ <result property="createUser" column="create_user" jdbcType="BIGINT"/>
+ <result property="updateUserName" column="update_user_name" jdbcType="VARCHAR"/>
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ id,name,unit,
+ standard_value,internal_control,test_value,
+ is_delete,create_time,update_time,
+ create_user_name,create_user,update_user_name
+ </sql>
+
+ <select id="listPage" resultType="com.ruoyi.inspectiontask.vo.InspectItemVo">
+ select t1.* from quality_inspect_item as t1
+ where t1.is_delete = 0
+ <if test="name != null and name != ''">
+ and t1.name like concat('%', #{name}, '%')
+ </if>
+ order by t1.create_time desc
+ </select>
+</mapper>
diff --git a/tmp/request/projectManage.http b/tmp/request/projectManage.http
new file mode 100644
index 0000000..1dd33be
--- /dev/null
+++ b/tmp/request/projectManage.http
@@ -0,0 +1,227 @@
+### 璁″垝淇濆瓨
+POST {{host}}/projectManagement/plan/save
+Content-Type: application/json
+Authorization: {{token}}
+
+{
+ "id": null,
+ "name": "璁″垝鍚嶇О",
+ "description": "璁″垝鎻忚堪",
+ "attachmentIds": [
+ 1,
+ 2,
+ 3
+ ],
+ "savePlanNodeList": [
+ {
+ "name": "瀛愯妭鐐�1",
+ "leaderId": "111",
+ "leaderName": "寮犻箯涓�",
+ "estimatedDuration": 7,
+ "hourlyRate": "55.76",
+ "workContent": "宸ヤ綔鍐呭"
+ }
+ ]
+}
+
+### 璁″垝鍒楄〃
+POST {{host}}/projectManagement/plan/listPage
+Content-Type: application/json
+Authorization: {{token}}
+
+{
+ "size": 10,
+ "current": 1
+}
+
+
+### 璁″垝鍒犻櫎
+POST {{host}}/projectManagement/plan/delete/6
+Content-Type: application/json
+Authorization: {{token}}
+
+### 椤圭洰绠$悊淇濆瓨
+POST {{host}}/projectManagement/info/save
+Content-Type: application/json
+Authorization: {{token}}
+
+{
+ "info": {
+ "id": null,
+ "no": "",
+ "title": "涓婚",
+ "clientId": 11,
+ "clientName": "瀹㈡埛鍚嶇О",
+ "projectManagementInfoParentId": null,
+ "projectManagementPlanId": 17,
+ "establishTime": "2023-04-01",
+ "source": "鏉ユ簮",
+ "managerId": 11,
+ "managerName": "缁忕悊",
+ "salesmanId": 22,
+ "salesmanName": "涓氬姟鍛�",
+ "planStartTime": "2023-04-01",
+ "planEndTime": "2023-10-11",
+ "actualStartTime": "2023-04-01",
+ "actualEndTime": "2023-10-11",
+ "departmentId": 33,
+ "departmentName": "閮ㄩ棬",
+ "orderDate": "2023-04-01",
+ "orderAmount": "22.444",
+ "remark": "澶囨敞",
+ "attachmentIds": [1,2,3,4],
+ "teamList":[
+ {
+ "userId":111,
+ "userName": "寮犱笁",
+ "userRoleId": "1",
+ "userRoleName": "缁忕悊",
+ "joinTime": "2023-04-01",
+ "departTime": "2023-04-01",
+ "contact": "鑱旂郴",
+ "remark": "澶囨敞"
+ }
+ ]
+ },
+ "shippingAddress": {
+ "id": null,
+ "consignee": "鏀惰揣浜�",
+ "contract": "鑱旂郴鏂瑰紡",
+ "address": "鍦板潃xxxx"
+ },
+ "contractInfo": {
+ "id": null,
+ "name": "鑱旂郴浜�",
+ "sex": "鐢�",
+ "birthday": "鐢熸棩",
+ "department": "閮ㄩ棬",
+ "job": "鑱屽姟",
+ "phoneNumber": "鎵嬫満鍙�",
+ "email": "閭",
+ "qq": "qq",
+ "lineaFissa": "鍥哄畾鐢佃瘽",
+ "wx": "寰俊",
+ "origineEtnica": "绫嶈疮",
+ "rappresentanteLegale": "娉曚汉浠h〃"
+ },
+ "salesLedgerProductList": null
+}
+
+
+### 鍒犻櫎浜у搧淇℃伅 鑾峰彇salesLedgerProductList涓殑id杩涜鍒犻櫎
+DELETE {{host}}/sales/product/delProduct
+Content-Type: application/json
+Authorization: {{token}}
+
+[1,2,3,4]
+
+### 淇敼瀹℃牳鐘舵�� reviewStatus(0 寰呭鏍� 1 瀹℃牳閫氳繃 2 瀹℃牳鏈�氳繃)
+POST {{host}}/projectManagement/info/updateStatus
+Content-Type: application/json
+Authorization: {{token}}
+
+{
+ "id": 1,
+ "reviewStatus": "1",
+}
+
+### 鍒楄〃鏌ヨ
+POST {{host}}/projectManagement/info/listPage
+Content-Type: application/json
+Authorization: {{token}}
+
+{
+ "noOrName": "",
+ "clientName": "",
+ "salesmanName": "",
+ "reviewStatus": null,
+ "stage": null,
+ "size": 10,
+ "current": 1
+}
+
+### 鏌ヨ鍏蜂綋淇℃伅
+POST {{host}}/projectManagement/info/23
+Content-Type: application/json
+Authorization: {{token}}
+
+### 鍒犻櫎淇℃伅
+POST {{host}}/projectManagement/info/delete/17
+Content-Type: application/json
+Authorization: {{token}}
+
+
+
+// 闃舵
+
+### 鏂板椤圭洰闃舵
+POST {{host}}/projectManagement/info/saveStage
+Content-Type: application/json
+Authorization: {{token}}
+
+{
+ "id": null,
+ "projectManagementPlanNodeId":20,
+ "projectManagementInfoId":23,
+ "description": "鎻忚堪",
+ "actualLeaderId": 111,
+ "actualLeaderName": "瀹為檯璐熻矗浜�",
+ "estimatedDuration": 222,
+ "planStartTime": "2023-04-01",
+ "planEndTime": "2023-04-01",
+ "actualStartTime": "2023-04-01",
+ "actualEndTime": "2023-04-01",
+ "progress": 1,
+ "attachmentIds": [1,2,3,4]
+}
+
+### 鏌ヨ椤圭洰闃舵鏍规嵁Id
+POST {{host}}/projectManagement/info/listStage/23
+Content-Type: application/json
+Authorization: {{token}}
+
+
+### 鍒犻櫎椤圭洰闃舵鏍规嵁id
+POST {{host}}/projectManagement/info/deleteStage/5
+Content-Type: application/json
+Authorization: {{token}}
+
+
+### 鑾峰彇椤圭洰瑙掕壊
+POST {{host}}/projectManagement/roles/listSimpleRole
+Content-Type: application/json
+Authorization: {{token}}
+
+
+### 妫�娴嬮」鐩�
+POST {{host}}/qualityInspectItem/listPage
+Content-Type: application/json
+Authorization: {{token}}
+
+{
+ "name": null,
+ "size": 10,
+ "current": 1
+}
+
+### 妫�娴嬮」鐩繚瀛�
+POST {{host}}/qualityInspectItem/save
+Content-Type: application/json
+Authorization: {{token}}
+
+{
+ "id": null,
+ "name": "妫�娴嬮」鐩悕绉�",
+ "unit": "鍗曚綅",
+ "standardValue": "鏍囧噯鍊�",
+ "internalControl": "鍐呮帶鍊�",
+ "testValue": "鍖栭獙鍊�"
+}
+
+
+### 妫�娴嬮」鐩垹闄�
+POST {{host}}/qualityInspectItem/delete
+Content-Type: application/json
+Authorization: {{token}}
+
+[1,2]
--
Gitblit v1.9.3