xuzhancheng 3 недель назад
Родитель
Сommit
aca99fb8c7

+ 8 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equipboiler/EquipBoilerController.java

@@ -29,6 +29,7 @@ import static cn.start.tz.framework.apilog.core.enums.OperateTypeEnum.*;
 
 import cn.start.tz.module.pressure2.controller.admin.equipboiler.vo.*;
 import cn.start.tz.module.pressure2.dal.dataobject.equipboiler.EquipBoilerDO;
+import cn.start.tz.module.pressure2.dal.dataobject.equipboilerpressurepart.EquipBoilerPressurePartDO;
 import cn.start.tz.module.pressure2.service.equipboiler.EquipBoilerService;
 
 @Tag(name = "管理后台 - 锅炉设备")
@@ -68,6 +69,13 @@ public class EquipBoilerController {
         return success(true);
     }
 
+    @GetMapping("/pressure-parts")
+    @Operation(summary = "获得锅炉受压元件列表")
+    @Parameter(name = "boilerId", description = "锅炉设备ID", required = true)
+    public CommonResult<List<EquipBoilerPressurePartDO>> getPressureParts(@RequestParam("boilerId") String boilerId) {
+        return success(equipBoilerService.getPressureParts(boilerId));
+    }
+
     @GetMapping("/get")
     @Operation(summary = "获得锅炉设备")
     @Parameter(name = "id", description = "编号", required = true, example = "1024")

+ 36 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equipboiler/vo/EquipBoilerPressurePartVO.java

@@ -0,0 +1,36 @@
+package cn.start.tz.module.pressure2.controller.admin.equipboiler.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * 锅炉受压元件 VO
+ *
+ * @author 特种管理员
+ */
+@Schema(description = "锅炉受压元件 VO")
+@Data
+public class EquipBoilerPressurePartVO {
+
+    @Schema(description = "主键")
+    private String id;
+
+    @Schema(description = "锅炉设备ID")
+    private String boilerId;
+
+    @Schema(description = "部件(下拉选择)")
+    private String partType;
+
+    @Schema(description = "受压元件名称")
+    private String partName;
+
+    @Schema(description = "规格")
+    private String specification;
+
+    @Schema(description = "材质")
+    private String material;
+
+    @Schema(description = "备注")
+    private String remark;
+
+}

+ 3 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equipboiler/vo/EquipBoilerSaveReqVO.java

@@ -578,4 +578,7 @@ public class EquipBoilerSaveReqVO {
      */
     private String workpressure;
 
+    @Schema(description = "受压元件列表")
+    private List<EquipBoilerPressurePartVO> pressureParts;
+
 }

+ 66 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/equipboilerpressurepart/EquipBoilerPressurePartDO.java

@@ -0,0 +1,66 @@
+package cn.start.tz.module.pressure2.dal.dataobject.equipboilerpressurepart;
+
+import lombok.*;
+import java.util.*;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.*;
+import cn.start.tz.framework.mybatis.core.dataobject.BaseDO;
+
+/**
+ * 锅炉受压元件 DO
+ *
+ * @author 特种管理员
+ */
+@TableName("PRESSURE2_EQUIP_BOILER_PRESSURE_PART")
+@KeySequence("PRESSURE2_EQUIP_BOILER_PRESSURE_PART_SEQ")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class EquipBoilerPressurePartDO extends BaseDO {
+
+    /**
+     * 主键
+     */
+    @TableId(value = "ID", type = IdType.ASSIGN_UUID)
+    private String id;
+
+    /**
+     * 锅炉设备ID
+     */
+    @TableField("BOILER_ID")
+    private String boilerId;
+
+    /**
+     * 部件(下拉选择)
+     */
+    @TableField("PART_TYPE")
+    private String partType;
+
+    /**
+     * 受压元件名称
+     */
+    @TableField("PART_NAME")
+    private String partName;
+
+    /**
+     * 规格
+     */
+    @TableField("SPECIFICATION")
+    private String specification;
+
+    /**
+     * 材质
+     */
+    @TableField("MATERIAL")
+    private String material;
+
+    /**
+     * 备注
+     */
+    @TableField("REMARK")
+    private String remark;
+
+}

+ 25 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/equipboilerpressurepart/EquipBoilerPressurePartMapper.java

@@ -0,0 +1,25 @@
+package cn.start.tz.module.pressure2.dal.mysql.equipboilerpressurepart;
+
+import java.util.*;
+
+import cn.start.tz.framework.common.pojo.PageResult;
+import cn.start.tz.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.start.tz.framework.mybatis.core.mapper.BaseMapperX;
+import cn.start.tz.module.pressure2.dal.dataobject.equipboilerpressurepart.EquipBoilerPressurePartDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 锅炉受压元件 Mapper
+ *
+ * @author 特种管理员
+ */
+@Mapper
+public interface EquipBoilerPressurePartMapper extends BaseMapperX<EquipBoilerPressurePartDO> {
+
+    default List<EquipBoilerPressurePartDO> selectByBoilerId(String boilerId) {
+        return selectList(new LambdaQueryWrapperX<EquipBoilerPressurePartDO>()
+                .eq(EquipBoilerPressurePartDO::getBoilerId, boilerId)
+                .orderByAsc(EquipBoilerPressurePartDO::getId));
+    }
+
+}

+ 9 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equipboiler/EquipBoilerService.java

@@ -4,6 +4,7 @@ import java.util.*;
 import jakarta.validation.*;
 import cn.start.tz.module.pressure2.controller.admin.equipboiler.vo.*;
 import cn.start.tz.module.pressure2.dal.dataobject.equipboiler.EquipBoilerDO;
+import cn.start.tz.module.pressure2.dal.dataobject.equipboilerpressurepart.EquipBoilerPressurePartDO;
 import cn.start.tz.framework.common.pojo.PageResult;
 import cn.start.tz.framework.common.pojo.PageParam;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -87,4 +88,12 @@ public interface EquipBoilerService extends IService<EquipBoilerDO>  {
      * @return 锅炉设备列表
      */
     Map<String, EquipBoilerDO> getEquipBoilerByNo(List<String> registerNos);
+
+    /**
+     * 获得锅炉受压元件列表
+     *
+     * @param boilerId 锅炉设备ID
+     * @return 受压元件列表
+     */
+    List<EquipBoilerPressurePartDO> getPressureParts(String boilerId);
 }

+ 36 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equipboiler/EquipBoilerServiceImpl.java

@@ -36,6 +36,8 @@ import cn.start.tz.framework.common.pojo.PageParam;
 import cn.start.tz.framework.common.util.object.BeanUtils;
 
 import cn.start.tz.module.pressure2.dal.mysql.equipboiler.EquipBoilerMapper;
+import cn.start.tz.module.pressure2.dal.mysql.equipboilerpressurepart.EquipBoilerPressurePartMapper;
+import cn.start.tz.module.pressure2.dal.dataobject.equipboilerpressurepart.EquipBoilerPressurePartDO;
 
 import static cn.start.tz.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.start.tz.module.pressure2.enums.ErrorCodeConstants.*;
@@ -63,12 +65,16 @@ public class EquipBoilerServiceImpl extends ServiceImpl<EquipBoilerMapper, Equip
     private DictDataApi dictDataApi;
     @Resource
     private ClientUnitApi clientUnitApi;
+    @Resource
+    private EquipBoilerPressurePartMapper equipBoilerPressurePartMapper;
 
     @Override
     public String createEquipBoiler(EquipBoilerSaveReqVO createReqVO) {
         // 插入
         EquipBoilerDO equipBoiler = BeanUtils.toBean(createReqVO, EquipBoilerDO.class);
         equipBoilerMapper.insert(equipBoiler);
+        // 保存受压元件
+        savePressureParts(equipBoiler.getId(), createReqVO.getPressureParts());
         // 返回
         return equipBoiler.getId();
     }
@@ -152,6 +158,8 @@ public class EquipBoilerServiceImpl extends ServiceImpl<EquipBoilerMapper, Equip
         }
 
         equipBoilerMapper.updateById(updateObj);
+        // 保存受压元件
+        savePressureParts(updateObj.getId(), updateReqVO.getPressureParts());
     }
 
     @Override
@@ -321,4 +329,32 @@ public class EquipBoilerServiceImpl extends ServiceImpl<EquipBoilerMapper, Equip
         return list.stream().collect(Collectors.toMap(EquipBoilerDO::getEquipCode, v -> v, (existing, replacement) -> existing));
     }
 
+    /**
+     * 保存受压元件:先删后增
+     */
+    private void savePressureParts(String boilerId, List<EquipBoilerPressurePartVO> pressureParts) {
+        // 删除旧的受压元件
+        equipBoilerPressurePartMapper.delete(new LambdaQueryWrapperX<EquipBoilerPressurePartDO>()
+                .eq(EquipBoilerPressurePartDO::getBoilerId, boilerId));
+        // 插入新的受压元件
+        if (pressureParts != null && !pressureParts.isEmpty()) {
+            List<EquipBoilerPressurePartDO> partDOs = pressureParts.stream().map(vo -> {
+                EquipBoilerPressurePartDO partDO = new EquipBoilerPressurePartDO();
+                partDO.setBoilerId(boilerId);
+                partDO.setPartType(vo.getPartType());
+                partDO.setPartName(vo.getPartName());
+                partDO.setSpecification(vo.getSpecification());
+                partDO.setMaterial(vo.getMaterial());
+                partDO.setRemark(vo.getRemark());
+                return partDO;
+            }).collect(Collectors.toList());
+            equipBoilerPressurePartMapper.insert(partDOs);
+        }
+    }
+
+    @Override
+    public List<EquipBoilerPressurePartDO> getPressureParts(String boilerId) {
+        return equipBoilerPressurePartMapper.selectByBoilerId(boilerId);
+    }
+
 }