From bd735893d1eb510d170fea899b909f46189e8b46 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期三, 02 四月 2025 17:05:09 +0800
Subject: [PATCH] Merge branch 'radio_frequency' of http://114.132.189.42:9002/r/lims-ruoyi-after into radio_frequency

---
 inspect-server/src/main/java/com/ruoyi/inspect/pojo/ReliabilityPlanProductItem.java                    |   45 +++++++++
 inspect-server/src/main/java/com/ruoyi/inspect/mapper/ReliabilityPlanProductItemMapper.java            |   23 ++++
 inspect-server/src/main/java/com/ruoyi/inspect/pojo/ReliabilityPlanProduct.java                        |    3 
 inspect-server/src/main/resources/mapper/ReliabilityPlanProductItemMapper.xml                          |   60 ++++++++++++
 inspect-server/src/main/java/com/ruoyi/inspect/pojo/ReliabilityPlanMaterial.java                       |    5 
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReliabilityPlanMaterialServiceImpl.java    |   10 +-
 inspect-server/src/main/java/com/ruoyi/inspect/service/ReliabilityPlanProductItemService.java          |   27 +++++
 inspect-server/src/main/java/com/ruoyi/inspect/dto/ReliabilityPlanProductItemDto.java                  |    9 +
 inspect-server/src/main/java/com/ruoyi/inspect/controller/ReliabilityPlanProductItemController.java    |   54 ++++++++++
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReliabilityPlanProductItemServiceImpl.java |   53 ++++++++++
 10 files changed, 283 insertions(+), 6 deletions(-)

diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/controller/ReliabilityPlanProductItemController.java b/inspect-server/src/main/java/com/ruoyi/inspect/controller/ReliabilityPlanProductItemController.java
new file mode 100644
index 0000000..9040c9f
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/controller/ReliabilityPlanProductItemController.java
@@ -0,0 +1,54 @@
+package com.ruoyi.inspect.controller;
+
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.inspect.dto.ReliabilityPlanProductItemDto;
+import com.ruoyi.inspect.service.ReliabilityPlanProductItemService;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 鍙潬鎬ц鍒掍骇鍝佸瓙椤� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author ld
+ * @since 2025-04-01 05:12:38
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/reliabilityPlanProductItem")
+public class ReliabilityPlanProductItemController {
+
+    private ReliabilityPlanProductItemService reliabilityPlanProductItemService;
+
+    @ApiOperation("鏌ヨ鍙潬鎬ц鍒掓垚鍝佹楠岄」")
+    @GetMapping("/selectProductItem")
+    public Result selectProductItem() {
+        return Result.success(reliabilityPlanProductItemService.selectProductItem());
+    }
+
+    @ApiOperation(value = "娣诲姞鍙潬鎬ц鍒掓垚鍝佹楠岄」")
+    @PostMapping("/addOrUpdateItem")
+    public Result<?> addOrUpdateItem(@RequestBody ReliabilityPlanProductItemDto reliabilityPlanProductItemDto) {
+        return Result.success(reliabilityPlanProductItemService.addOrUpdateItem(reliabilityPlanProductItemDto));
+    }
+
+    @ApiOperation(value = "鏌ヨ浜у搧妫�楠岄」")
+    @GetMapping("/itemList")
+    public Result itemList(ReliabilityPlanProductItemDto reliabilityPlanProductItemDto) {
+        return Result.success(reliabilityPlanProductItemService.itemList(reliabilityPlanProductItemDto));
+    }
+
+    @ApiOperation(value = "鏌ヨ浜у搧妫�楠岄」")
+    @GetMapping("/codeList")
+    public Result codeList(ReliabilityPlanProductItemDto reliabilityPlanProductItemDto) {
+        return Result.success(reliabilityPlanProductItemService.codeList(reliabilityPlanProductItemDto));
+    }
+
+    @ApiOperation(value = "鍒犻櫎")
+    @DeleteMapping("/deleteItem")
+    public Result deleteItem(Integer id) {
+        return Result.success(reliabilityPlanProductItemService.removeById(id));
+    }
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/dto/ReliabilityPlanProductItemDto.java b/inspect-server/src/main/java/com/ruoyi/inspect/dto/ReliabilityPlanProductItemDto.java
new file mode 100644
index 0000000..585ad9f
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/dto/ReliabilityPlanProductItemDto.java
@@ -0,0 +1,9 @@
+package com.ruoyi.inspect.dto;
+
+import com.ruoyi.inspect.pojo.ReliabilityPlanProductItem;
+import lombok.Data;
+
+@Data
+public class ReliabilityPlanProductItemDto extends ReliabilityPlanProductItem {
+    private Integer rePlanId;
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/ReliabilityPlanProductItemMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/ReliabilityPlanProductItemMapper.java
new file mode 100644
index 0000000..974d3d7
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/ReliabilityPlanProductItemMapper.java
@@ -0,0 +1,23 @@
+package com.ruoyi.inspect.mapper;
+
+import com.ruoyi.inspect.pojo.ReliabilityPlanProductItem;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鍙潬鎬ц鍒掍骇鍝佸瓙椤� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author ld
+ * @since 2025-04-01 05:12:38
+ */
+public interface ReliabilityPlanProductItemMapper extends BaseMapper<ReliabilityPlanProductItem> {
+
+    List<Map<String, Object>> itemList(@Param("planId") Integer rePlanId);
+
+    List<Map<String, Object>> codeList(@Param("planId") Integer rePlanId);
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/ReliabilityPlanMaterial.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/ReliabilityPlanMaterial.java
index 2521bee..a3aed6b 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/ReliabilityPlanMaterial.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/ReliabilityPlanMaterial.java
@@ -30,7 +30,10 @@
     private String partNo;
 
     @ApiModelProperty("瀹℃牳鐘舵��")
-    private String state;
+    private Integer state;
+
+    @ApiModelProperty("鍘熻緟鏂欏悕绉癐D")
+    private Integer materialId;
 
     @ApiModelProperty("鏄惁閫氳繃")
     private String isPass;
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/ReliabilityPlanProduct.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/ReliabilityPlanProduct.java
index d42ce40..b7b17de 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/ReliabilityPlanProduct.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/ReliabilityPlanProduct.java
@@ -46,4 +46,7 @@
 
     @ApiModelProperty("瀹℃牳浜�")
     private String reviewer;
+
+    @ApiModelProperty("浜у搧id")
+    private Integer productId;
 }
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/ReliabilityPlanProductItem.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/ReliabilityPlanProductItem.java
new file mode 100644
index 0000000..8384aa8
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/ReliabilityPlanProductItem.java
@@ -0,0 +1,45 @@
+package com.ruoyi.inspect.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 鍙潬鎬ц鍒掍骇鍝佸瓙椤�
+ * </p>
+ *
+ * @author ld
+ * @since 2025-04-01 05:12:38
+ */
+@Getter
+@Setter
+@TableName("reliability_plan_product_item")
+@ApiModel(value = "ReliabilityPlanProductItem瀵硅薄", description = "鍙潬鎬ц鍒掍骇鍝佸瓙椤�")
+public class ReliabilityPlanProductItem implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty("妫�楠岄」")
+    private String inspectionItem;
+
+    @ApiModelProperty("娴嬭瘯鏍囧噯")
+    private String standard;
+
+    @ApiModelProperty("棰戞")
+    private String frequency;
+
+    @ApiModelProperty("澶囨敞")
+    private String remark;
+
+    @ApiModelProperty("鍏宠仈鍙潬鎬ц鍒掍骇鍝乮d")
+    private Integer planId;
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/ReliabilityPlanProductItemService.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/ReliabilityPlanProductItemService.java
new file mode 100644
index 0000000..4e61f44
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/ReliabilityPlanProductItemService.java
@@ -0,0 +1,27 @@
+package com.ruoyi.inspect.service;
+
+import com.ruoyi.inspect.dto.ReliabilityPlanProductItemDto;
+import com.ruoyi.inspect.pojo.ReliabilityPlanProductItem;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鍙潬鎬ц鍒掍骇鍝佸瓙椤� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author ld
+ * @since 2025-04-01 05:12:38
+ */
+public interface ReliabilityPlanProductItemService extends IService<ReliabilityPlanProductItem> {
+
+    List<ReliabilityPlanProductItem> selectProductItem();
+
+    int addOrUpdateItem(ReliabilityPlanProductItemDto reliabilityPlanProductItemDto);
+
+    List<Map<String, Object>> itemList(ReliabilityPlanProductItemDto reliabilityPlanProductItemDto);
+
+    List<Map<String, Object>> codeList(ReliabilityPlanProductItemDto reliabilityPlanProductItemDto);
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReliabilityPlanMaterialServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReliabilityPlanMaterialServiceImpl.java
index a64b03f..04af13c 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReliabilityPlanMaterialServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReliabilityPlanMaterialServiceImpl.java
@@ -3,7 +3,6 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.inspect.dto.ReliabilityPlanMaterialDto;
 import com.ruoyi.inspect.pojo.ReliabilityPlanMaterial;
 import com.ruoyi.inspect.mapper.ReliabilityPlanMaterialMapper;
@@ -36,12 +35,13 @@
     @Override
     public int addOrUpdateMaterial(ReliabilityPlanMaterialDto reliabilityPlanMaterialDto) {
         if (Objects.isNull(reliabilityPlanMaterialDto.getId())) {
-            reliabilityPlanMaterialDto.setState(null);
+            reliabilityPlanMaterialDto.setState(0);
             return reliabilityPlanMaterialMapper.insert(reliabilityPlanMaterialDto);
         } else {
-            //1宸插鏍�
-            if (!StringUtils.isNotBlank(reliabilityPlanMaterialDto.getState())) {
-                reliabilityPlanMaterialDto.setState(null);
+            // 瀹℃牳鐘舵�� 0.寰呮彁浜�1.寰呭鏍�2.閫氳繃3.涓嶉�氳繃
+            int state = reliabilityPlanMaterialDto.getState();
+            if (state != 0 && state != 1 && state != 2) {
+                reliabilityPlanMaterialDto.setState(3);
             }
             return reliabilityPlanMaterialMapper.updateById(reliabilityPlanMaterialDto);
 
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReliabilityPlanProductItemServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReliabilityPlanProductItemServiceImpl.java
new file mode 100644
index 0000000..0992206
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReliabilityPlanProductItemServiceImpl.java
@@ -0,0 +1,53 @@
+package com.ruoyi.inspect.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.inspect.dto.ReliabilityPlanProductItemDto;
+import com.ruoyi.inspect.pojo.ReliabilityPlanProductItem;
+import com.ruoyi.inspect.mapper.ReliabilityPlanProductItemMapper;
+import com.ruoyi.inspect.service.ReliabilityPlanProductItemService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鍙潬鎬ц鍒掍骇鍝佸瓙椤� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author ld
+ * @since 2025-04-01 05:12:38
+ */
+@Service
+@AllArgsConstructor
+public class ReliabilityPlanProductItemServiceImpl extends ServiceImpl<ReliabilityPlanProductItemMapper, ReliabilityPlanProductItem> implements ReliabilityPlanProductItemService {
+
+    private ReliabilityPlanProductItemMapper reliabilityPlanProductItemMapper;
+
+    @Override
+    public List<ReliabilityPlanProductItem> selectProductItem() {
+        return reliabilityPlanProductItemMapper.selectList(new LambdaQueryWrapper<>());
+    }
+
+    @Override
+    public int addOrUpdateItem(ReliabilityPlanProductItemDto reliabilityPlanProductItemDto) {
+        if (reliabilityPlanProductItemDto.getId() == null) {
+            reliabilityPlanProductItemDto.setPlanId(reliabilityPlanProductItemDto.getRePlanId());
+            return reliabilityPlanProductItemMapper.insert(reliabilityPlanProductItemDto);
+        } else {
+            return reliabilityPlanProductItemMapper.updateById(reliabilityPlanProductItemDto);
+        }
+    }
+
+    @Override
+    public List<Map<String, Object>> itemList(ReliabilityPlanProductItemDto reliabilityPlanProductItemDto) {
+        return reliabilityPlanProductItemMapper.itemList(reliabilityPlanProductItemDto.getRePlanId());
+    }
+
+    @Override
+    public List<Map<String, Object>> codeList(ReliabilityPlanProductItemDto reliabilityPlanProductItemDto) {
+        return reliabilityPlanProductItemMapper.codeList(reliabilityPlanProductItemDto.getRePlanId());
+    }
+}
diff --git a/inspect-server/src/main/resources/mapper/ReliabilityPlanProductItemMapper.xml b/inspect-server/src/main/resources/mapper/ReliabilityPlanProductItemMapper.xml
new file mode 100644
index 0000000..b0eaee6
--- /dev/null
+++ b/inspect-server/src/main/resources/mapper/ReliabilityPlanProductItemMapper.xml
@@ -0,0 +1,60 @@
+<?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.inspect.mapper.ReliabilityPlanProductItemMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ruoyi.inspect.pojo.ReliabilityPlanProductItem">
+        <id column="id" property="id" />
+        <result column="inspection_item" property="inspectionItem" />
+        <result column="standard" property="standard" />
+        <result column="frequency" property="frequency" />
+        <result column="remark" property="remark" />
+        <result column="plan_id" property="planId" />
+    </resultMap>
+    <select id="itemList" resultType="java.util.Map">
+        WITH flattened_samples AS (
+            SELECT
+                sp.id,
+                JSON_ARRAYAGG(VALUE) AS flattened_sample
+            FROM
+                structure_item_parameter sp
+                    JOIN JSON_TABLE (sp.sample, '$[*][*]' COLUMNS (VALUE VARCHAR (255) PATH '$')) AS inner_arr
+            GROUP BY
+                sp.id
+        ) SELECT
+              sp.inspection_item AS inspectionItem,
+              sm.`code`,
+              sm.id
+        FROM
+            flattened_samples fs
+                JOIN structure_item_parameter sp ON fs.id = sp.id
+                JOIN reliability_plan_product rp ON JSON_OVERLAPS (fs.flattened_sample, JSON_ARRAY(rp.product_name))
+                LEFT JOIN standard_product_list spl ON spl.structure_item_parameter_id = sp.id
+                AND spl.model = rp.product_type
+                LEFT JOIN standard_method sm ON sm.id = spl.standard_method_list_id
+        WHERE rp.id = #{planId}
+    </select>
+    <select id="codeList" resultType="java.util.Map">
+        WITH flattened_samples AS (
+            SELECT
+                sp.id,
+                JSON_ARRAYAGG(VALUE) AS flattened_sample
+            FROM
+                structure_item_parameter sp
+                    JOIN JSON_TABLE (sp.sample, '$[*][*]' COLUMNS (VALUE VARCHAR (255) PATH '$')) AS inner_arr
+            GROUP BY
+                sp.id
+        ) SELECT DISTINCT
+              sm.`code`as standard,
+              sm.id
+        FROM
+            flattened_samples fs
+                JOIN structure_item_parameter sp ON fs.id = sp.id
+                JOIN reliability_plan_product rp ON JSON_OVERLAPS (fs.flattened_sample, JSON_ARRAY(rp.product_name))
+                LEFT JOIN standard_product_list spl ON spl.structure_item_parameter_id = sp.id
+                AND spl.model = rp.product_type
+                LEFT JOIN standard_method sm ON sm.id = spl.standard_method_list_id
+        WHERE rp.id = #{planId}
+    </select>
+
+</mapper>

--
Gitblit v1.9.3