ソースを参照

试验-条件设置及关联元素接口开发

LHB 3 ヶ月 前
コミット
eba12f2f38
19 ファイル変更466 行追加87 行削除
  1. 26 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/StandardInfoJoinDTO.java
  2. 26 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/StandardInfoPrivateJoinDTO.java
  3. 7 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/UStandardInfo.java
  4. 15 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/UStandardInfoPrivateJoin.java
  5. 17 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/UStandardInfoPrivateJoinVO.java
  6. 19 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/UStandardInfoVO.java
  7. 0 13
      blade-service/blade-business/src/main/java/generator/service/UStandardInfoJoinService.java
  8. 0 13
      blade-service/blade-business/src/main/java/generator/service/UStandardInfoPrivateJoinService.java
  9. 0 22
      blade-service/blade-business/src/main/java/generator/service/impl/UStandardInfoJoinServiceImpl.java
  10. 0 22
      blade-service/blade-business/src/main/java/generator/service/impl/UStandardInfoPrivateJoinServiceImpl.java
  11. 81 7
      blade-service/blade-business/src/main/java/org/springblade/business/controller/UStandardInfoController.java
  12. 8 0
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoMapper.java
  13. 94 0
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoMapper.xml
  14. 10 0
      blade-service/blade-business/src/main/java/org/springblade/business/service/StandardInfoJoinService.java
  15. 10 0
      blade-service/blade-business/src/main/java/org/springblade/business/service/StandardInfoPrivateJoinService.java
  16. 19 1
      blade-service/blade-business/src/main/java/org/springblade/business/service/StandardInfoService.java
  17. 14 0
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/StandardInfoJoinServiceImpl.java
  18. 14 0
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/UStandardInfoPrivateJoinServiceImpl.java
  19. 106 9
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/UStandardInfoServiceImpl.java

+ 26 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/StandardInfoJoinDTO.java

@@ -0,0 +1,26 @@
+package org.springblade.business.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * 条件设置
+ * @author LHB
+ */
+@Data
+public class StandardInfoJoinDTO {
+    /**
+     * 主关联id
+     */
+    @NotNull(message = "主关联id不能为空")
+    private Long leftId;
+
+    /**
+     * 副连接id
+     */
+    @NotEmpty(message = "副连接id不能为空")
+    private List<Long> rightIds;
+}

+ 26 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/StandardInfoPrivateJoinDTO.java

@@ -0,0 +1,26 @@
+package org.springblade.business.dto;
+
+import lombok.Data;
+import org.springblade.business.entity.UStandardInfoPrivateJoin;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * 与表单的关联对象
+ * @author LHB
+ */
+@Data
+public class StandardInfoPrivateJoinDTO {
+    /**
+     * 主关联id
+     */
+    @NotNull(message = "主关联id不能为空")
+    private Long leftId;
+    /**
+     * 副连接id
+     */
+    @NotEmpty(message = "副连接信息不能为空")
+    private List<UStandardInfoPrivateJoin> rightIds;
+}

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

@@ -4,6 +4,10 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.util.Date;
 import lombok.Data;
+import org.hibernate.validator.constraints.Range;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 
 /**
  * 规范参数管理-基础信息
@@ -22,6 +26,7 @@ public class UStandardInfo {
     /**
      * 名称(样品信息名称)
      */
+    @NotBlank(message = "名称不能为空")
     private String name;
 
     /**
@@ -37,6 +42,8 @@ public class UStandardInfo {
     /**
      *  类型(1-样品信息,2-技术指标)
      */
+    @NotNull(message = "类型不能为空")
+    @Range(min = 1, max = 2, message = "类型只能为1或2")
     private Integer type;
 
     /**

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

@@ -1,12 +1,17 @@
 package org.springblade.business.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.util.Date;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
 /**
  * 样品信息与试验表 关联表
+ * @author LHB
  * @TableName u_standard_info_private_join
  */
 @TableName(value ="u_standard_info_private_join")
@@ -21,21 +26,25 @@ public class UStandardInfoPrivateJoin {
     /**
      * 规范基础信息关联主id
      */
+    @NotNull(message = "规范基础信息关联主id不能为空")
     private Long standardInfoId;
 
     /**
      * 试验wbs表单id
      */
+    @NotNull(message = "试验wbs表单id不能为空")
     private Long privateId;
 
     /**
      * 元素key
      */
+    @NotBlank(message = "元素key不能为空")
     private String colKey;
 
     /**
      * 元素名称
      */
+    @NotBlank(message = "元素名称不能为空")
     private String colName;
 
     /**
@@ -64,4 +73,10 @@ public class UStandardInfoPrivateJoin {
     private Long updateUser;
 
 
+    /**
+     * 表单名称(展示用)
+     */
+    @TableField(exist = false)
+    private String privateName;
+
 }

+ 17 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/UStandardInfoPrivateJoinVO.java

@@ -0,0 +1,17 @@
+package org.springblade.business.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.business.entity.UStandardInfo;
+import org.springblade.business.entity.UStandardInfoPrivateJoin;
+
+import java.util.List;
+
+/**
+ * @author LHB
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class UStandardInfoPrivateJoinVO extends UStandardInfo {
+    private List<UStandardInfoPrivateJoin> privateJoins;
+}

+ 19 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/UStandardInfoVO.java

@@ -0,0 +1,19 @@
+package org.springblade.business.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.business.entity.UStandardInfo;
+
+import java.util.List;
+
+/**
+ * @author LHB
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class UStandardInfoVO extends UStandardInfo {
+    /**
+     * 副连接对象
+     */
+    private List<UStandardInfo> standardInfos;
+}

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

@@ -1,13 +0,0 @@
-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> {
-
-}

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

@@ -1,13 +0,0 @@
-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> {
-
-}

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

@@ -1,22 +0,0 @@
-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{
-
-}
-
-
-
-

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

@@ -1,22 +0,0 @@
-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{
-
-}
-
-
-
-

+ 81 - 7
blade-service/blade-business/src/main/java/org/springblade/business/controller/UStandardInfoController.java

@@ -1,16 +1,21 @@
 package org.springblade.business.controller;
 
 
-
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.business.dto.StandardInfoJoinDTO;
+import org.springblade.business.dto.StandardInfoPrivateJoinDTO;
 import org.springblade.business.dto.UStandardInfoDTO;
 import org.springblade.business.entity.UStandardInfo;
-import org.springblade.business.service.UStandardInfoService;
+import org.springblade.business.service.StandardInfoService;
+import org.springblade.business.vo.UStandardInfoPrivateJoinVO;
+import org.springblade.business.vo.UStandardInfoVO;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * 规范参数管理-基础信息(UStandardInfo)表控制层
@@ -25,18 +30,18 @@ public class UStandardInfoController {
      * 服务对象
      */
     @Resource
-    private UStandardInfoService uStandardInfoService;
+    private StandardInfoService uStandardInfoService;
 
     /**
      * 分页查询所有数据
      *
-     * @param query 分页对象
+     * @param query         分页对象
      * @param uStandardInfo 查询实体
      * @return 所有数据
      */
     @GetMapping("page")
     public R<IPage<UStandardInfoDTO>> selectAll(Query query, UStandardInfo uStandardInfo) {
-        IPage<UStandardInfoDTO> page =  this.uStandardInfoService.selectMyPage(query,uStandardInfo);
+        IPage<UStandardInfoDTO> page = this.uStandardInfoService.selectMyPage(query, uStandardInfo);
         return R.data(page);
     }
 
@@ -59,7 +64,7 @@ public class UStandardInfoController {
      * @return 新增结果
      */
     @PostMapping("add")
-    public R<Boolean> insert(@RequestBody UStandardInfoDTO uStandardInfo) {
+    public R<Boolean> insert(@RequestBody @Validated UStandardInfoDTO uStandardInfo) {
         Boolean b = this.uStandardInfoService.insert(uStandardInfo);
         return R.data(b);
     }
@@ -71,7 +76,7 @@ public class UStandardInfoController {
      * @return 修改结果
      */
     @PostMapping("edit")
-    public R<Boolean> update(@RequestBody UStandardInfoDTO uStandardInfo) {
+    public R<Boolean> update(@RequestBody @Validated UStandardInfoDTO uStandardInfo) {
         Boolean b = this.uStandardInfoService.edit(uStandardInfo);
         return R.data(b);
     }
@@ -87,5 +92,74 @@ public class UStandardInfoController {
         Boolean b = this.uStandardInfoService.delete(id);
         return R.data(b);
     }
+
+
+    /**
+     * 条件设置
+     *
+     * @param standardInfoJoins 条件设置对象
+     * @return 结果
+     */
+    @PostMapping("saveConditionSet")
+    public R<Boolean> setCondition(@RequestBody @Validated List<StandardInfoJoinDTO> standardInfoJoins) {
+        Boolean b = this.uStandardInfoService.setCondition(standardInfoJoins);
+        return R.data(b);
+    }
+
+    /**
+     * 关联元素
+     *
+     * @param standardInfoPrivateJoins 关联元素对象
+     * @return 结果
+     */
+    @PostMapping("saveElementJoin")
+    public R<Boolean> setElementJoin(@RequestBody @Validated List<StandardInfoPrivateJoinDTO> standardInfoPrivateJoins) {
+        Boolean b = this.uStandardInfoService.setElementJoin(standardInfoPrivateJoins);
+        return R.data(b);
+    }
+
+    /**
+     * 删除条件设置
+     * @param leftId 主关联id
+     * @return 删除结果
+     */
+    @GetMapping("deleteConditionSet")
+    public R<Boolean> deleteConditionSet(Long leftId) {
+        Boolean b = this.uStandardInfoService.deleteConditionSet(leftId);
+        return R.data(b);
+    }
+
+    /**
+     * 删除关联元素
+     * @param leftId 主关联id
+     * @return 删除结果
+     */
+    @GetMapping("deleteElementJoin")
+    public R<Boolean> deleteElementJoin(Long leftId) {
+        Boolean b = this.uStandardInfoService.deleteElementJoin(leftId);
+        return R.data(b);
+    }
+
+    /**
+     * 查询条件设置
+     * @param id 规范文件id
+     */
+    @GetMapping("getConditionSet")
+    public R<List<UStandardInfoVO>> getConditionSet(Long id) {
+        List<UStandardInfoVO> list = this.uStandardInfoService.getConditionSet(id);
+        return R.data(list);
+    }
+
+    /**
+     * 查询关联元素
+     * @param id 规范文件id
+     */
+    @GetMapping("getElementJoin")
+    public R<List<UStandardInfoPrivateJoinVO>> getElementJoin(Long id) {
+        List<UStandardInfoPrivateJoinVO> list = this.uStandardInfoService.getElementJoin(id);
+        return R.data(list);
+    }
+
+
 }
 

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

@@ -6,6 +6,10 @@ 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;
+import org.springblade.business.vo.UStandardInfoPrivateJoinVO;
+import org.springblade.business.vo.UStandardInfoVO;
+
+import java.util.List;
 
 /**
 * @author LHB
@@ -18,6 +22,10 @@ public interface StandardInfoMapper extends BaseMapper<UStandardInfo> {
     IPage<UStandardInfoDTO> selectMyPage(Page<UStandardInfoDTO> page, @Param("query") UStandardInfo uStandardInfo);
 
     UStandardInfoDTO selectMyOne(@Param("id") Long id);
+
+    List<UStandardInfoVO> getConditionSet(@Param("id") Long id);
+
+    List<UStandardInfoPrivateJoinVO> getElementJoin(@Param("id") Long id);
 }
 
 

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

@@ -76,4 +76,98 @@
             is_deleted = 0
             AND parent_id = #{parentId}
     </select>
+
+
+
+
+    <!-- ``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` -->
+
+    <resultMap id="BaseResultConditionSet" type="org.springblade.business.vo.UStandardInfoVO">
+        <id property="id" column="id"/>
+        <result property="name" column="name"/>
+        <result property="parentId" column="parent_id"/>
+        <result property="type" column="type"/>
+        <collection property="standardInfos" ofType="org.springblade.business.entity.UStandardInfo" select="findByJoinLeftId" column="{leftId=id}">
+        </collection>
+    </resultMap>
+    <sql id="Base_Column_Join_List">
+        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
+    </sql>
+
+    <select id="getConditionSet" resultMap="BaseResultConditionSet">
+        select
+            <include refid="Base_Column_Join_List"/>
+        from
+            u_standard_info a
+            INNER JOIN u_standard_info_join b on a.id = b.standard_info_left_id and a.is_deleted = b.is_deleted
+        where
+            a.standard_id = #{id} and a.is_deleted = 0
+        GROUP BY
+            b.standard_info_left_id
+    </select>
+    <select id="findByJoinLeftId" resultType="org.springblade.business.entity.UStandardInfo">
+        SELECT
+            <include refid="Base_Column_Join_List"/>
+        FROM
+            u_standard_info a
+            INNER JOIN u_standard_info_join b ON a.id = b.standard_info_right_id AND a.is_deleted = b.is_deleted
+        WHERE
+            b.standard_info_left_id = #{leftId} and a.is_deleted = 0
+    </select>
+
+    <!-- ``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` -->
+
+    <resultMap id="BaseResultElementJoin" type="org.springblade.business.vo.UStandardInfoPrivateJoinVO">
+        <id property="id" column="id"/>
+        <result property="name" column="name"/>
+        <result property="parentId" column="parent_id"/>
+        <result property="type" column="type"/>
+        <collection property="privateJoins" ofType="org.springblade.business.entity.UStandardInfoPrivateJoin" select="findByPrivateJoinLeftId" column="{leftId=id}">
+        </collection>
+    </resultMap>
+
+    <sql id="Base_Private_Column_List">
+        a.id,
+        a.standard_info_id,
+        a.private_id,
+        a.col_key,
+        a.col_name,
+        a.is_deleted,
+        a.create_time,
+        a.create_user,
+        a.update_time,
+        a.update_user
+    </sql>
+    <select id="getElementJoin" resultType="org.springblade.business.vo.UStandardInfoPrivateJoinVO">
+        select
+            <include refid="Base_Column_Join_List"/>
+        from
+            u_standard_info a
+            INNER JOIN u_standard_info_private_join b on a.id = b.standard_info_id and a.is_deleted = b.is_deleted
+        where
+            a.standard_id = #{id} and a.is_deleted = 0
+        GROUP BY
+            b.standard_info_id
+    </select>
+
+    <select id="findByPrivateJoinLeftId" resultType="org.springblade.business.entity.UStandardInfoPrivateJoin">
+        SELECT
+            <include refid="Base_Private_Column_List"/>,
+            b.node_name
+        FROM
+            u_standard_info_private_join a
+            INNER JOIN m_wbs_tree_private b ON a.private_id = b.p_key_id AND a.is_deleted = b.is_deleted
+        WHERE
+            a.standard_info_id = #{leftId}
+          AND a.is_deleted = 0
+    </select>
 </mapper>

+ 10 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/StandardInfoJoinService.java

@@ -0,0 +1,10 @@
+package org.springblade.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.business.entity.UStandardInfoJoin;
+
+/**
+ * @author LHB
+ */
+public interface StandardInfoJoinService extends IService<UStandardInfoJoin> {
+}

+ 10 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/StandardInfoPrivateJoinService.java

@@ -0,0 +1,10 @@
+package org.springblade.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.business.entity.UStandardInfoPrivateJoin;
+
+/**
+ * @author LHB
+ */
+public interface StandardInfoPrivateJoinService extends IService<UStandardInfoPrivateJoin> {
+}

+ 19 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/UStandardInfoService.java → blade-service/blade-business/src/main/java/org/springblade/business/service/StandardInfoService.java

@@ -1,17 +1,23 @@
 package org.springblade.business.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.business.dto.StandardInfoJoinDTO;
+import org.springblade.business.dto.StandardInfoPrivateJoinDTO;
 import org.springblade.business.dto.UStandardInfoDTO;
 import org.springblade.business.entity.UStandardInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.business.vo.UStandardInfoPrivateJoinVO;
+import org.springblade.business.vo.UStandardInfoVO;
 import org.springblade.core.mp.support.Query;
 
+import java.util.List;
+
 /**
 * @author LHB
 * @description 针对表【u_standard_info(规范参数管理-基础信息)】的数据库操作Service
 * @createDate 2025-06-11 09:57:39
 */
-public interface UStandardInfoService extends IService<UStandardInfo> {
+public interface StandardInfoService extends IService<UStandardInfo> {
 
     IPage<UStandardInfoDTO> selectMyPage(Query query, UStandardInfo uStandardInfo);
 
@@ -22,4 +28,16 @@ public interface UStandardInfoService extends IService<UStandardInfo> {
     Boolean edit(UStandardInfoDTO uStandardInfo);
 
     Boolean delete(Long id);
+
+    Boolean setCondition(List<StandardInfoJoinDTO> standardInfoJoins);
+
+    Boolean setElementJoin(List<StandardInfoPrivateJoinDTO> standardInfoPrivateJoins);
+
+    Boolean deleteConditionSet(Long leftId);
+
+    Boolean deleteElementJoin(Long leftId);
+
+    List<UStandardInfoVO> getConditionSet(Long id);
+
+    List<UStandardInfoPrivateJoinVO> getElementJoin(Long id);
 }

+ 14 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/StandardInfoJoinServiceImpl.java

@@ -0,0 +1,14 @@
+package org.springblade.business.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.business.entity.UStandardInfoJoin;
+import org.springblade.business.mapper.StandardInfoJoinMapper;
+import org.springblade.business.service.StandardInfoJoinService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author LHB
+ */
+@Service
+public class StandardInfoJoinServiceImpl extends ServiceImpl<StandardInfoJoinMapper,UStandardInfoJoin> implements StandardInfoJoinService {
+}

+ 14 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/UStandardInfoPrivateJoinServiceImpl.java

@@ -0,0 +1,14 @@
+package org.springblade.business.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.business.entity.UStandardInfoPrivateJoin;
+import org.springblade.business.mapper.StandardInfoPrivateJoinMapper;
+import org.springblade.business.service.StandardInfoPrivateJoinService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author LHB
+ */
+@Service
+public class UStandardInfoPrivateJoinServiceImpl extends ServiceImpl<StandardInfoPrivateJoinMapper, UStandardInfoPrivateJoin> implements StandardInfoPrivateJoinService {
+}

+ 106 - 9
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/UStandardInfoServiceImpl.java

@@ -4,14 +4,18 @@ 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.StandardInfoJoinDTO;
+import org.springblade.business.dto.StandardInfoPrivateJoinDTO;
 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.business.mapper.StandardInfoMapper;
+import org.springblade.business.service.StandardInfoJoinService;
+import org.springblade.business.service.StandardInfoPrivateJoinService;
+import org.springblade.business.service.StandardInfoService;
+import org.springblade.business.vo.UStandardInfoPrivateJoinVO;
+import org.springblade.business.vo.UStandardInfoVO;
 import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.support.Query;
@@ -23,6 +27,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -32,19 +38,20 @@ import java.util.List;
  */
 @Service
 public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, UStandardInfo>
-        implements UStandardInfoService {
+        implements StandardInfoService {
 
     /**
      * 关联表
      */
     @Resource
-    private StandardInfoJoinMapper infoJoinMapper;
+    private StandardInfoJoinService standardInfoJoinService;
 
     /**
      * 与表单的关联关系
      */
     @Resource
-    private StandardInfoPrivateJoinMapper infoPrivateJoinMapper;
+    private StandardInfoPrivateJoinService standardInfoPrivateJoinService;
+
 
     @Override
     public IPage<UStandardInfoDTO> selectMyPage(Query query, UStandardInfo uStandardInfo) {
@@ -126,7 +133,7 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, US
     public Boolean delete(Long id) {
         try {
             //查询关联表 如果有关联关系不允许删除
-            Long joinCount = infoJoinMapper.selectCount(Wrappers.<UStandardInfoJoin>lambdaQuery()
+            long joinCount = standardInfoJoinService.count(Wrappers.<UStandardInfoJoin>lambdaQuery()
                     .eq(UStandardInfoJoin::getStandardInfoRightId, id)
                     .or()
                     .eq(UStandardInfoJoin::getStandardInfoLeftId, id));
@@ -134,7 +141,7 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, US
                 throw new ServiceException("当前数据正在【条件设置】中使用,无法删除");
             }
             //查询与表单的关联表
-            Long privateJoinCount = infoPrivateJoinMapper.selectCount(Wrappers.<UStandardInfoPrivateJoin>lambdaQuery()
+            long privateJoinCount = standardInfoPrivateJoinService.count(Wrappers.<UStandardInfoPrivateJoin>lambdaQuery()
                     .eq(UStandardInfoPrivateJoin::getStandardInfoId, id));
             if (privateJoinCount > 0) {
                 throw new ServiceException("当前数据正在【关联元素】中使用,无法删除");
@@ -151,6 +158,96 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, US
             throw new ServiceException("删除失败");
         }
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean setCondition(List<StandardInfoJoinDTO> standardInfoJoins) {
+        BladeUser user = SecureUtil.getUser();
+        List<UStandardInfoJoin> saveData = new ArrayList<>();
+        try {
+            for (StandardInfoJoinDTO standardInfoJoin : standardInfoJoins) {
+                Long leftId = standardInfoJoin.getLeftId();
+                List<Long> rightIds = standardInfoJoin.getRightIds();
+                for (Long rightId : rightIds) {
+                    UStandardInfoJoin uStandardInfoJoin = new UStandardInfoJoin();
+                    uStandardInfoJoin.setId(SnowFlakeUtil.getId());
+                    uStandardInfoJoin.setStandardInfoLeftId(leftId);
+                    uStandardInfoJoin.setStandardInfoRightId(rightId);
+                    uStandardInfoJoin.setCreateUser(user.getUserId());
+                    saveData.add(uStandardInfoJoin);
+                }
+            }
+            return standardInfoJoinService.saveBatch(saveData);
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new ServiceException("条件设置失败");
+        }
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean setElementJoin(List<StandardInfoPrivateJoinDTO> standardInfoPrivateJoins) {
+        BladeUser user = SecureUtil.getUser();
+        List<UStandardInfoPrivateJoin> saveData = new ArrayList<>();
+
+        try {
+            for (StandardInfoPrivateJoinDTO standardInfoPrivateJoin : standardInfoPrivateJoins) {
+                Long leftId = standardInfoPrivateJoin.getLeftId();
+                List<UStandardInfoPrivateJoin> rightIds = standardInfoPrivateJoin.getRightIds();
+                rightIds.forEach(f -> {
+                    f.setId(SnowFlakeUtil.getId());
+                    f.setStandardInfoId(leftId);
+                    f.setUpdateUser(user.getUserId());
+                });
+                saveData.addAll(rightIds);
+            }
+            return standardInfoPrivateJoinService.saveBatch(saveData);
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new ServiceException("元素关联失败");
+        }
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean deleteConditionSet(Long leftId) {
+        BladeUser user = SecureUtil.getUser();
+        try {
+            return standardInfoJoinService.update(Wrappers.<UStandardInfoJoin>lambdaUpdate()
+                    .set(UStandardInfoJoin::getIsDeleted, 1)
+                    .set(UStandardInfoJoin::getUpdateUser, user.getUserId())
+                    .eq(UStandardInfoJoin::getStandardInfoLeftId, leftId));
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new ServiceException("删除失败");
+        }
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean deleteElementJoin(Long leftId) {
+        BladeUser user = SecureUtil.getUser();
+        try {
+            return standardInfoPrivateJoinService.update(Wrappers.<UStandardInfoPrivateJoin>lambdaUpdate()
+                    .set(UStandardInfoPrivateJoin::getIsDeleted, 1)
+                    .set(UStandardInfoPrivateJoin::getUpdateUser, user.getUserId())
+                    .eq(UStandardInfoPrivateJoin::getStandardInfoId, leftId));
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new ServiceException("删除失败");
+        }
+    }
+
+    @Override
+    public List<UStandardInfoVO> getConditionSet(Long id) {
+        return baseMapper.getConditionSet(id);
+    }
+
+    @Override
+    public List<UStandardInfoPrivateJoinVO> getElementJoin(Long id) {
+        return baseMapper.getElementJoin(id);
+
+    }
 }