Quellcode durchsuchen

试验-规范文件-基础信息(待测试)

LHB vor 3 Monaten
Ursprung
Commit
1e88c7457e
17 geänderte Dateien mit 763 neuen und 0 gelöschten Zeilen
  1. 20 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/UStandardInfoDTO.java
  2. 66 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/UStandardInfo.java
  3. 58 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/UStandardInfoJoin.java
  4. 67 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/UStandardInfoPrivateJoin.java
  5. 13 0
      blade-service/blade-business/src/main/java/generator/service/UStandardInfoJoinService.java
  6. 13 0
      blade-service/blade-business/src/main/java/generator/service/UStandardInfoPrivateJoinService.java
  7. 22 0
      blade-service/blade-business/src/main/java/generator/service/impl/UStandardInfoJoinServiceImpl.java
  8. 22 0
      blade-service/blade-business/src/main/java/generator/service/impl/UStandardInfoPrivateJoinServiceImpl.java
  9. 91 0
      blade-service/blade-business/src/main/java/org/springblade/business/controller/UStandardInfoController.java
  10. 18 0
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoJoinMapper.java
  11. 22 0
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoJoinMapper.xml
  12. 25 0
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoMapper.java
  13. 102 0
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoMapper.xml
  14. 18 0
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoPrivateJoinMapper.java
  15. 24 0
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoPrivateJoinMapper.xml
  16. 25 0
      blade-service/blade-business/src/main/java/org/springblade/business/service/UStandardInfoService.java
  17. 157 0
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/UStandardInfoServiceImpl.java

+ 20 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/UStandardInfoDTO.java

@@ -0,0 +1,20 @@
+package org.springblade.business.dto;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.business.entity.UStandardInfo;
+
+import java.util.List;
+
+/**
+ * 试验规范信息DTO
+ * @author LHB
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class UStandardInfoDTO extends UStandardInfo {
+    /**
+     * 基础信息
+     */
+    private List<UStandardInfo> info;
+}

+ 66 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/UStandardInfo.java

@@ -0,0 +1,66 @@
+package org.springblade.business.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 规范参数管理-基础信息
+ * @author LHB
+ * @TableName u_standard_info
+ */
+@TableName(value ="u_standard_info")
+@Data
+public class UStandardInfo {
+    /**
+     * 
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 名称(样品信息名称)
+     */
+    private String name;
+
+    /**
+     * 父级节点id
+     */
+    private Long parentId;
+
+    /**
+     * 规范文件id
+     */
+    private Long standardId;
+
+    /**
+     *  类型(1-样品信息,2-技术指标)
+     */
+    private Integer type;
+
+    /**
+     *  是否删除(0-正常,1-已删除)
+     */
+    private Integer isDeleted;
+
+    /**
+     *  创建时间
+     */
+    private Date createTime;
+
+    /**
+     *  创建人
+     */
+    private Long createUser;
+
+    /**
+     *  修改时间
+     */
+    private Date updateTime;
+
+    /**
+     *  修改人
+     */
+    private Long updateUser;
+}

+ 58 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/UStandardInfoJoin.java

@@ -0,0 +1,58 @@
+package org.springblade.business.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 样品信息关联表
+ * @author LHB
+ * @TableName u_standard_info_join
+ */
+@TableName(value ="u_standard_info_join")
+@Data
+public class UStandardInfoJoin {
+    /**
+     * 
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 规范基础信息关联主id
+     */
+    private Long standardInfoLeftId;
+
+    /**
+     * 规范基础信息关联副id
+     */
+    private Long standardInfoRightId;
+
+    /**
+     *  是否删除(0-正常,1-已删除)
+     */
+    private Integer isDeleted;
+
+    /**
+     *  创建时间
+     */
+    private Date createTime;
+
+    /**
+     *  创建人
+     */
+    private Long createUser;
+
+    /**
+     *  修改时间
+     */
+    private Date updateTime;
+
+    /**
+     *  修改人
+     */
+    private Long updateUser;
+
+
+}

+ 67 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/UStandardInfoPrivateJoin.java

@@ -0,0 +1,67 @@
+package org.springblade.business.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 样品信息与试验表 关联表
+ * @TableName u_standard_info_private_join
+ */
+@TableName(value ="u_standard_info_private_join")
+@Data
+public class UStandardInfoPrivateJoin {
+    /**
+     * 
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 规范基础信息关联主id
+     */
+    private Long standardInfoId;
+
+    /**
+     * 试验wbs表单id
+     */
+    private Long privateId;
+
+    /**
+     * 元素key
+     */
+    private String colKey;
+
+    /**
+     * 元素名称
+     */
+    private String colName;
+
+    /**
+     *  是否删除(0-正常,1-已删除)
+     */
+    private Integer isDeleted;
+
+    /**
+     *  创建时间
+     */
+    private Date createTime;
+
+    /**
+     *  创建人
+     */
+    private Long createUser;
+
+    /**
+     *  修改时间
+     */
+    private Date updateTime;
+
+    /**
+     *  修改人
+     */
+    private Long updateUser;
+
+
+}

+ 13 - 0
blade-service/blade-business/src/main/java/generator/service/UStandardInfoJoinService.java

@@ -0,0 +1,13 @@
+package generator.service;
+
+import org.springblade.business.entity.UStandardInfoJoin;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author LHB
+* @description 针对表【u_standard_info_join(样品信息关联表)】的数据库操作Service
+* @createDate 2025-06-11 09:57:39
+*/
+public interface UStandardInfoJoinService extends IService<UStandardInfoJoin> {
+
+}

+ 13 - 0
blade-service/blade-business/src/main/java/generator/service/UStandardInfoPrivateJoinService.java

@@ -0,0 +1,13 @@
+package generator.service;
+
+import org.springblade.business.entity.UStandardInfoPrivateJoin;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author LHB
+* @description 针对表【u_standard_info_private_join(样品信息与试验表 关联表)】的数据库操作Service
+* @createDate 2025-06-11 09:57:39
+*/
+public interface UStandardInfoPrivateJoinService extends IService<UStandardInfoPrivateJoin> {
+
+}

+ 22 - 0
blade-service/blade-business/src/main/java/generator/service/impl/UStandardInfoJoinServiceImpl.java

@@ -0,0 +1,22 @@
+package generator.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.business.entity.UStandardInfoJoin;
+import generator.service.UStandardInfoJoinService;
+import org.springblade.business.mapper.StandardInfoJoinMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author LHB
+* @description 针对表【u_standard_info_join(样品信息关联表)】的数据库操作Service实现
+* @createDate 2025-06-11 09:57:39
+*/
+@Service
+public class UStandardInfoJoinServiceImpl extends ServiceImpl<StandardInfoJoinMapper, UStandardInfoJoin>
+    implements UStandardInfoJoinService{
+
+}
+
+
+
+

+ 22 - 0
blade-service/blade-business/src/main/java/generator/service/impl/UStandardInfoPrivateJoinServiceImpl.java

@@ -0,0 +1,22 @@
+package generator.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.business.entity.UStandardInfoPrivateJoin;
+import generator.service.UStandardInfoPrivateJoinService;
+import org.springblade.business.mapper.StandardInfoPrivateJoinMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author LHB
+* @description 针对表【u_standard_info_private_join(样品信息与试验表 关联表)】的数据库操作Service实现
+* @createDate 2025-06-11 09:57:39
+*/
+@Service
+public class UStandardInfoPrivateJoinServiceImpl extends ServiceImpl<StandardInfoPrivateJoinMapper, UStandardInfoPrivateJoin>
+    implements UStandardInfoPrivateJoinService{
+
+}
+
+
+
+

+ 91 - 0
blade-service/blade-business/src/main/java/org/springblade/business/controller/UStandardInfoController.java

@@ -0,0 +1,91 @@
+package org.springblade.business.controller;
+
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.business.dto.UStandardInfoDTO;
+import org.springblade.business.entity.UStandardInfo;
+import org.springblade.business.service.UStandardInfoService;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+/**
+ * 规范参数管理-基础信息(UStandardInfo)表控制层
+ *
+ * @author makejava
+ * @since 2025-06-11 10:03:01
+ */
+@RestController
+@RequestMapping("uStandardInfo")
+public class UStandardInfoController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private UStandardInfoService uStandardInfoService;
+
+    /**
+     * 分页查询所有数据
+     *
+     * @param query 分页对象
+     * @param uStandardInfo 查询实体
+     * @return 所有数据
+     */
+    @GetMapping("page")
+    public R<IPage<UStandardInfoDTO>> selectAll(Query query, UStandardInfo uStandardInfo) {
+        IPage<UStandardInfoDTO> page =  this.uStandardInfoService.selectMyPage(query,uStandardInfo);
+        return R.data(page);
+    }
+
+    /**
+     * 通过主键查询单条数据
+     *
+     * @param id 主键
+     * @return 单条数据
+     */
+    @GetMapping("/getById")
+    public R<UStandardInfoDTO> selectOne(Long id) {
+        UStandardInfoDTO dto = this.uStandardInfoService.selectOne(id);
+        return R.data(dto);
+    }
+
+    /**
+     * 新增数据
+     *
+     * @param uStandardInfo 实体对象
+     * @return 新增结果
+     */
+    @PostMapping("add")
+    public R<Boolean> insert(@RequestBody UStandardInfoDTO uStandardInfo) {
+        Boolean b = this.uStandardInfoService.insert(uStandardInfo);
+        return R.data(b);
+    }
+
+    /**
+     * 修改数据
+     *
+     * @param uStandardInfo 实体对象
+     * @return 修改结果
+     */
+    @PostMapping("edit")
+    public R<Boolean> update(@RequestBody UStandardInfoDTO uStandardInfo) {
+        Boolean b = this.uStandardInfoService.edit(uStandardInfo);
+        return R.data(b);
+    }
+
+    /**
+     * 删除数据
+     *
+     * @param id 主键
+     * @return 删除结果
+     */
+    @GetMapping("/delete")
+    public R<Boolean> delete(Long id) {
+        Boolean b = this.uStandardInfoService.delete(id);
+        return R.data(b);
+    }
+}
+

+ 18 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoJoinMapper.java

@@ -0,0 +1,18 @@
+package org.springblade.business.mapper;
+
+import org.springblade.business.entity.UStandardInfoJoin;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author LHB
+* @description 针对表【u_standard_info_join(样品信息关联表)】的数据库操作Mapper
+* @createDate 2025-06-11 09:57:39
+* @Entity org.springblade.business.entity.UStandardInfoJoin
+*/
+public interface StandardInfoJoinMapper extends BaseMapper<UStandardInfoJoin> {
+
+}
+
+
+
+

+ 22 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoJoinMapper.xml

@@ -0,0 +1,22 @@
+<?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="org.springblade.business.mapper.StandardInfoJoinMapper">
+
+    <resultMap id="BaseResultMap" type="org.springblade.business.entity.UStandardInfoJoin">
+            <id property="id" column="id" />
+            <result property="standardInfoLeftId" column="standard_info_left_id" />
+            <result property="standardInfoRightId" column="standard_info_right_id" />
+            <result property="isDeleted" column="is_deleted" />
+            <result property="createTime" column="create_time" />
+            <result property="createUser" column="create_user" />
+            <result property="updateTime" column="update_time" />
+            <result property="updateUser" column="update_user" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,standard_info_left_id,standard_info_right_id,is_deleted,create_time,create_user,
+        update_time,update_user
+    </sql>
+</mapper>

+ 25 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoMapper.java

@@ -0,0 +1,25 @@
+package org.springblade.business.mapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.business.dto.UStandardInfoDTO;
+import org.springblade.business.entity.UStandardInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author LHB
+* @description 针对表【u_standard_info(规范参数管理-基础信息)】的数据库操作Mapper
+* @createDate 2025-06-11 09:57:39
+* @Entity org.springblade.business.entity.UStandardInfo
+*/
+public interface StandardInfoMapper extends BaseMapper<UStandardInfo> {
+
+    IPage<UStandardInfoDTO> selectMyPage(Page<UStandardInfoDTO> page, @Param("query") UStandardInfo uStandardInfo);
+
+    UStandardInfoDTO selectMyOne(@Param("id") Long id);
+}
+
+
+
+

+ 102 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoMapper.xml

@@ -0,0 +1,102 @@
+<?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="org.springblade.business.mapper.StandardInfoMapper">
+
+    <resultMap id="BaseResultMap" type="org.springblade.business.entity.UStandardInfo">
+        <id property="id" column="id"/>
+        <result property="name" column="name"/>
+        <result property="parentId" column="parent_id"/>
+        <result property="type" column="type"/>
+        <result property="isDeleted" column="is_deleted"/>
+        <result property="createTime" column="create_time"/>
+        <result property="createUser" column="create_user"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="updateUser" column="update_user"/>
+    </resultMap>
+    <resultMap id="BaseResultPageMap" type="org.springblade.business.dto.UStandardInfoDTO">
+        <id property="id" column="id"/>
+        <result property="name" column="name"/>
+        <result property="parentId" column="parent_id"/>
+        <result property="standardId" column="standard_id"/>
+        <result property="type" column="type"/>
+        <result property="isDeleted" column="is_deleted"/>
+        <result property="createTime" column="create_time"/>
+        <result property="createUser" column="create_user"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="updateUser" column="update_user"/>
+        <collection property="info" ofType="org.springblade.business.entity.UStandardInfo">
+            <id property="id" column="info_id"/>
+            <result property="name" column="info_name"/>
+            <result property="parentId" column="info_parent_id"/>
+            <result property="standardId" column="info_standard_id"/>
+            <result property="type" column="info_type"/>
+            <result property="isDeleted" column="info_is_deleted"/>
+            <result property="createTime" column="info_create_time"/>
+            <result property="createUser" column="info_create_user"/>
+            <result property="updateTime" column="info_update_time"/>
+            <result property="updateUser" column="info_update_user"/>
+        </collection>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id
+        ,name,parent_id,standard_id,type,is_deleted,create_time,
+        create_user,update_time,update_user
+    </sql>
+    <sql id="Base_Column_List_Page">
+        a.id,
+        a.name,
+        a.parent_id,
+        a.standard_id,
+        a.type,
+        a.is_deleted,
+        a.create_time,
+        a.create_user,
+        a.update_time,
+        a.update_user,
+        b.id AS info_id,
+        b.name AS info_name,
+        b.parent_id AS info_parent_id,
+        b.standard_id AS info_standard_id,
+        b.type AS info_type,
+        b.is_deleted AS info_is_deleted,
+        b.create_time AS info_create_time,
+        b.create_user AS info_create_user,
+        b.update_time AS info_update_time,
+        b.update_user AS info_update_user
+    </sql>
+    <select id="selectMyPage" resultMap="BaseResultPageMap">
+        SELECT
+            <include refid="Base_Column_List_Page"/>
+        FROM
+            u_standard_info a
+            LEFT JOIN u_standard_info b ON a.id = b.parent_id and a.is_deleted = b.is_deleted
+        <where>
+            <if test="query.type != null">
+                AND a.type = #{query.type}
+            </if>
+            <choose>
+                <when test="query.parentId != null">
+                    AND a.parent_id = #{query.parentId}
+                </when>
+                <otherwise>
+                    AND a.parent_id = 0
+                </otherwise>
+            </choose>
+            <if test="query.standardId != null">
+                AND a.standard_id =  #{query.standardId}
+            </if>
+        </where>
+    </select>
+    <select id="selectMyOne" resultMap="BaseResultPageMap">
+        SELECT
+            <include refid="Base_Column_List_Page"/>
+        FROM
+            u_standard_info a
+            LEFT JOIN u_standard_info b ON a.id = b.parent_id and a.is_deleted = b.is_deleted
+        WHERE
+            a.id = #{id}
+    </select>
+</mapper>

+ 18 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoPrivateJoinMapper.java

@@ -0,0 +1,18 @@
+package org.springblade.business.mapper;
+
+import org.springblade.business.entity.UStandardInfoPrivateJoin;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author LHB
+* @description 针对表【u_standard_info_private_join(样品信息与试验表 关联表)】的数据库操作Mapper
+* @createDate 2025-06-11 09:57:39
+* @Entity org.springblade.business.entity.UStandardInfoPrivateJoin
+*/
+public interface StandardInfoPrivateJoinMapper extends BaseMapper<UStandardInfoPrivateJoin> {
+
+}
+
+
+
+

+ 24 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoPrivateJoinMapper.xml

@@ -0,0 +1,24 @@
+<?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="org.springblade.business.mapper.StandardInfoPrivateJoinMapper">
+
+    <resultMap id="BaseResultMap" type="org.springblade.business.entity.UStandardInfoPrivateJoin">
+            <id property="id" column="id" />
+            <result property="standardInfoId" column="standard_info_id" />
+            <result property="privateId" column="private_id" />
+            <result property="colKey" column="col_key" />
+            <result property="colName" column="col_name" />
+            <result property="isDeleted" column="is_deleted" />
+            <result property="createTime" column="create_time" />
+            <result property="createUser" column="create_user" />
+            <result property="updateTime" column="update_time" />
+            <result property="updateUser" column="update_user" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,standard_info_id,private_id,col_key,col_name,is_deleted,
+        create_time,create_user,update_time,update_user
+    </sql>
+</mapper>

+ 25 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/UStandardInfoService.java

@@ -0,0 +1,25 @@
+package org.springblade.business.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.business.dto.UStandardInfoDTO;
+import org.springblade.business.entity.UStandardInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.core.mp.support.Query;
+
+/**
+* @author LHB
+* @description 针对表【u_standard_info(规范参数管理-基础信息)】的数据库操作Service
+* @createDate 2025-06-11 09:57:39
+*/
+public interface UStandardInfoService extends IService<UStandardInfo> {
+
+    IPage<UStandardInfoDTO> selectMyPage(Query query, UStandardInfo uStandardInfo);
+
+    UStandardInfoDTO selectOne(Long id);
+
+    Boolean insert(UStandardInfoDTO uStandardInfo);
+
+    Boolean edit(UStandardInfoDTO uStandardInfo);
+
+    Boolean delete(Long id);
+}

+ 157 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/UStandardInfoServiceImpl.java

@@ -0,0 +1,157 @@
+package org.springblade.business.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.business.mapper.StandardInfoJoinMapper;
+import org.springblade.business.mapper.StandardInfoPrivateJoinMapper;
+import org.springblade.business.dto.UStandardInfoDTO;
+import org.springblade.business.entity.UStandardInfo;
+import org.springblade.business.service.UStandardInfoService;
+import org.springblade.business.mapper.StandardInfoMapper;
+import org.springblade.business.entity.UStandardInfoJoin;
+import org.springblade.business.entity.UStandardInfoPrivateJoin;
+import org.springblade.common.utils.SnowFlakeUtil;
+import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.utils.SecureUtil;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springframework.beans.BeansException;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @author LHB
+ * @description 针对表【u_standard_info(规范参数管理-基础信息)】的数据库操作Service实现
+ * @createDate 2025-06-11 09:57:39
+ */
+@Service
+public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, UStandardInfo>
+        implements UStandardInfoService {
+
+    /**
+     * 关联表
+     */
+    @Resource
+    private StandardInfoJoinMapper infoJoinMapper;
+
+    /**
+     * 与表单的关联关系
+     */
+    @Resource
+    private StandardInfoPrivateJoinMapper infoPrivateJoinMapper;
+
+    @Override
+    public IPage<UStandardInfoDTO> selectMyPage(Query query, UStandardInfo uStandardInfo) {
+        return baseMapper.selectMyPage(new Page<UStandardInfoDTO>(query.getCurrent(), query.getSize()), uStandardInfo);
+    }
+
+    @Override
+    public UStandardInfoDTO selectOne(Long id) {
+        return baseMapper.selectMyOne(id);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean insert(UStandardInfoDTO uStandardInfo) {
+        try {
+            //获取当前用户
+            BladeUser user = SecureUtil.getUser();
+            uStandardInfo.setId(SnowFlakeUtil.getId());
+            uStandardInfo.setCreateUser(user.getUserId());
+
+            List<UStandardInfo> info = uStandardInfo.getInfo();
+
+            //给集合设置id、父级id、创建人
+            info.forEach(item -> {
+                item.setId(SnowFlakeUtil.getId());
+                item.setParentId(uStandardInfo.getId());
+                item.setCreateUser(user.getUserId());
+            });
+
+            //把父级对象转出来单独保存
+            UStandardInfo parent = BeanUtil.copyProperties(uStandardInfo, UStandardInfo.class);
+            baseMapper.insert(parent);
+            //通过mybatis-plus 批量新增
+            this.saveBatch(info);
+
+            return true;
+        } catch (BeansException e) {
+            e.printStackTrace();
+            throw new ServiceException("添加失败");
+        }
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean edit(UStandardInfoDTO uStandardInfo) {
+        try {
+            //获取当前用户
+            BladeUser user = SecureUtil.getUser();
+            uStandardInfo.setUpdateUser(user.getUserId());
+
+            List<UStandardInfo> info = uStandardInfo.getInfo();
+            info.forEach(item -> {
+                if (item.getId() == null) {
+                    //新增的子集合设置id、父级id、创建人
+                    item.setId(SnowFlakeUtil.getId());
+                    item.setParentId(uStandardInfo.getId());
+                    item.setCreateUser(user.getUserId());
+
+                } else {
+                    //更新的子集合 添加更新人
+                    item.setUpdateUser(user.getUserId());
+                }
+            });
+            //更新父级对象
+            UStandardInfo parent = BeanUtil.copyProperties(uStandardInfo, UStandardInfo.class);
+            baseMapper.updateById(parent);
+            //批量更新
+            this.saveOrUpdateBatch(info);
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new ServiceException("更新失败");
+        }
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean delete(Long id) {
+        try {
+            //查询关联表 如果有关联关系不允许删除
+            Long joinCount = infoJoinMapper.selectCount(Wrappers.<UStandardInfoJoin>lambdaQuery()
+                    .eq(UStandardInfoJoin::getStandardInfoRightId, id)
+                    .or()
+                    .eq(UStandardInfoJoin::getStandardInfoLeftId, id));
+            if (joinCount > 0) {
+                throw new ServiceException("当前数据正在【条件设置】中使用,无法删除");
+            }
+            //查询与表单的关联表
+            Long privateJoinCount = infoPrivateJoinMapper.selectCount(Wrappers.<UStandardInfoPrivateJoin>lambdaQuery()
+                    .eq(UStandardInfoPrivateJoin::getStandardInfoId, id));
+            if (privateJoinCount > 0) {
+                throw new ServiceException("当前数据正在【关联元素】中使用,无法删除");
+            }
+
+            int update = baseMapper.update(null, Wrappers.<UStandardInfo>lambdaUpdate()
+                    .set(UStandardInfo::getIsDeleted, 1)
+                    .eq(UStandardInfo::getId, id)
+                    .or()
+                    .eq(UStandardInfo::getParentId, id));
+            return update > 0;
+        } catch (ServiceException e) {
+            e.printStackTrace();
+            throw new ServiceException("删除失败");
+        }
+    }
+}
+
+
+
+