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)); } } 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; } 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); } 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("åè¾ æåç§°ID") private Integer materialId; @ApiModelProperty("æ¯å¦éè¿") private String isPass; inspect-server/src/main/java/com/ruoyi/inspect/pojo/ReliabilityPlanProduct.java
@@ -46,4 +46,7 @@ @ApiModelProperty("å®¡æ ¸äºº") private String reviewer; @ApiModelProperty("产åid") private Integer productId; } 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("å ³èå¯é æ§è®¡å产åid") private Integer planId; } 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); } 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); 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()); } } 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>