Просмотр исходного кода

Merge branch 'master' of http://git.dongkesoft.com:9001/iBOSS-2.0-Mini/iboss-server-mdm

于继渤 2 лет назад
Родитель
Сommit
9731648a9a

+ 33 - 1
src/main/java/com/dk/mdm/controller/mst/OrgController.java

@@ -1,8 +1,19 @@
 package com.dk.mdm.controller.mst;
 
+import com.dk.common.model.pojo.PageList;
+import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.model.pojo.mst.Org;
 import com.dk.common.controller.BaseController;
 import com.dk.common.service.BaseService;
+import com.dk.mdm.model.query.core.OrganizationQuery;
+import com.dk.mdm.model.query.mst.OrgQuery;
+import com.dk.mdm.model.response.core.OrganizationResponse;
+import com.dk.mdm.model.vo.core.OrganizationVO;
+import com.dk.mdm.model.vo.mst.OrgVO;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RestController;
@@ -11,7 +22,7 @@ import com.dk.mdm.service.mst.OrgService;
 
 @Api(tags = "组织机构API接口")
 @RestController
-@RequestMapping("/org")
+@RequestMapping("/mst/org")
 public class OrgController{
 
     public BaseService<Org> getService() {
@@ -20,5 +31,26 @@ public class OrgController{
 
     @Autowired
     private OrgService orgService;
+  /**
+      * @desc   : 条件查询
+      * @author : 王英杰
+      * @date   : 2024/2/26 14:02
+      */
+    @ApiOperation( value = "分页、关联、条件查询", notes = "分页、关联、条件查询" )
+    @PostMapping({"list_by"})
+    public ResponseResultVO<PageList<Org>> selectByCond(@RequestBody OrgQuery orgQuery) {
+        return orgService.selectByCond(orgQuery);
+    }
 
+   /**
+       * @desc   : 新建组织部门
+       * @author : 王英杰
+       * @date   : 2024/2/27 9:13
+       */
+    @ApiOperation( value = "新建组织部门", notes = "新建组织部门" )
+    @PostMapping({"insert"})
+    @Transactional(rollbackFor = Exception.class)
+    public ResponseResultVO<?> insert(@RequestBody OrgVO orgVO) {
+        return orgService.insert(orgVO);
+    }
 }

+ 24 - 0
src/main/java/com/dk/mdm/infrastructure/convert/mst/OrgConvert.java

@@ -0,0 +1,24 @@
+package com.dk.mdm.infrastructure.convert.mst;
+
+import com.dk.mdm.model.pojo.core.Organization;
+import com.dk.mdm.model.pojo.mst.Org;
+import com.dk.mdm.model.vo.core.OrganizationVO;
+import com.dk.mdm.model.vo.mst.OrgVO;
+import org.mapstruct.Mapper;
+
+ /**
+     * @desc   : org转换类
+     * @author : 王英杰
+     * @date   : 2024/2/27 9:34
+     */
+@Mapper(componentModel = "spring")
+public interface OrgConvert {
+
+    /**
+     * @desc   : 转换vo为pojo
+     * @author : 姜宁
+     * @date   : 2023/1/10 16:59
+     */
+    Org convertToPo(OrgVO orgVO);
+
+}

+ 34 - 4
src/main/java/com/dk/mdm/mapper/mst/OrgMapper.java

@@ -2,13 +2,43 @@ package com.dk.mdm.mapper.mst;
 
 import com.dk.mdm.model.pojo.mst.Org;
 import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.query.core.OrganizationQuery;
+import com.dk.mdm.model.query.mst.OrgQuery;
+import com.dk.mdm.model.response.core.OrganizationResponse;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+import java.util.Map;
+
+
 /**
-*  组织机构 Mapper
-*/
+ *  组织机构 Mapper
+ */
 @Repository
 public interface OrgMapper extends BaseMapper<Org>{
-	
-}
+    /**
+     * @desc   : 根据条件进行查询
+     * @author : 姜宁
+     * @date   : 2023/1/10 17:20
+     */
+    List<Org> selectByCond(OrgQuery orgQuery);
+
+    /**
+     * @desc   : 根据条件进行查询(数量)
+     * @author : 姜宁
+     * @date   : 2023/1/10 17:20
+     */
+    Long countByCond(OrgQuery orgQuery);
+
+    /**
+     * @desc   : 保存角色权限
+     * @author : 夏常明
+     * @date   : 2023/1/28 10:23
+     */
+    int insertBatch(Org org);
 
+
+    Integer maxDisplayNo(String  parentID);
+
+
+}

+ 51 - 28
src/main/java/com/dk/mdm/mapper/mst/OrgMapper.xml

@@ -5,33 +5,41 @@
     <!-- 通用设置 -->
     <!-- 通用查询列 -->
     <sql id="Base_Column_List">
-        org_id, org_name, parent_id, display_no, top_id, level_upper, level_lower, level_leaf, level_no, level_code, level_name, remarks, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user, org_code
+        org_id
+        , org_name, parent_id, display_no, top_id, level_upper, level_lower, level_leaf, level_no, level_code, level_name, remarks, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user, org_code
     </sql>
+    <sql id="Base_Column_List_view">
+        org_id
+        , org_name, parent_id, display_no, top_id    </sql>
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mst.Org">
         <id column="org_id" property="orgId"/>
-                <result column="org_name" property="orgName"/>
-                <result column="parent_id" property="parentId" typeHandler="UuidTypeHandler"/>
-                <result column="display_no" property="displayNo"/>
-                <result column="top_id" property="topId" typeHandler="UuidTypeHandler"/>
-                <result column="level_upper" property="levelUpper" typeHandler="UuidListTypeHandler"/>
-                <result column="level_lower" property="levelLower" typeHandler="UuidListTypeHandler"/>
-                <result column="level_leaf" property="levelLeaf"/>
-                <result column="level_no" property="levelNo"/>
-                <result column="level_code" property="levelCode"/>
-                <result column="level_name" property="levelName"/>
-                <result column="remarks" property="remarks"/>
-                <result column="flg_valid" property="flgValid"/>
-                <result column="cp_id" property="cpId"/>
-            <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
-                <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
-            <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
-                <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
-                <result column="op_app_code" property="opAppCode"/>
-            <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
-                <result column="op_db_user" property="opDbUser"/>
-                <result column="org_code" property="orgCode"/>
+        <result column="org_name" property="orgName"/>
+        <result column="parent_id" property="parentId" typeHandler="UuidTypeHandler"/>
+        <result column="display_no" property="displayNo"/>
+        <result column="top_id" property="topId" typeHandler="UuidTypeHandler"/>
+        <result column="level_upper" property="levelUpper" typeHandler="UuidListTypeHandler"/>
+        <result column="level_lower" property="levelLower" typeHandler="UuidListTypeHandler"/>
+        <result column="level_leaf" property="levelLeaf"/>
+        <result column="level_no" property="levelNo"/>
+        <result column="level_code" property="levelCode"/>
+        <result column="level_name" property="levelName"/>
+        <result column="remarks" property="remarks"/>
+        <result column="flg_valid" property="flgValid"/>
+        <result column="cp_id" property="cpId"/>
+        <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+        <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
+        <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+        <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
+        <result column="op_app_code" property="opAppCode"/>
+        <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
+        <result column="op_db_user" property="opDbUser"/>
+        <result column="org_code" property="orgCode"/>
+        <collection property="itemData" javaType="java.util.ArrayList" ofType="com.dk.mdm.model.pojo.mst.Org"  column="org_item_id">
+            <id column="org_item_id" property="orgId"/>
+            <result column="org_item_name" property="orgName"/>
+        </collection>
     </resultMap>
 
     <!-- 通用条件列 -->
@@ -114,9 +122,15 @@
     <!-- 查询表t_mst_org,(条件查询+分页)列表 -->
     <select id="selectByCond" resultMap="BaseResultMap">
         SELECT
-        <include refid="Base_Column_List"/>
-        FROM t_mst_org
-        <include refid="Condition"/>
+        <include refid="Base_Column_List_view"/>
+        FROM
+        dkic_b.t_mst_org
+        WHERE
+        flg_valid = true
+        <if test="orgName != null and orgName != ''">
+            AND parent.org_name = #{orgName}
+        </if>
+
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
             limit #{end} offset #{start}
         </if>
@@ -126,10 +140,19 @@
     <select id="countByCond" resultType="Long">
         SELECT
         count(1)
-        FROM t_mst_org
-        <include refid="Condition"/>
+        FROM  dkic_b.t_mst_org
+        WHERE
+        flg_valid = true
+        <if test="orgName != null and orgName != ''">
+            AND parent.org_name = #{orgName}
+        </if>
+    </select>
+    <!-- 查询同父级下 最大的 显示顺序 -->
+    <select id="maxDisplayNo" resultType="Integer">
+        SELECT MAX(display_no) AS max_display_no
+        FROM dkic_b.t_mst_org org
+        WHERE org.parent_id = #{parentID} ::uuid;
     </select>
-
     <!-- 根据主键查询表t_mst_org的一行数据 -->
     <select id="selectById" resultMap="BaseResultMap">
         SELECT

+ 3 - 1
src/main/java/com/dk/mdm/model/pojo/mst/Org.java

@@ -29,7 +29,7 @@ import java.time.LocalDateTime;
 @EqualsAndHashCode(callSuper = true)
 @Accessors(chain = true)
 @ExportTitle("组织机构")
-@TableName(value = "t_mst_org", autoResultMap = true, schema =  "dkic_b")
+@TableName(value = "t_mst_org", autoResultMap = true)
 @ApiModel(value="实体类:组织机构", description="表名:t_mst_org")
 public class Org extends PageInfo<Org> implements Serializable {
 
@@ -221,6 +221,8 @@ public class Org extends PageInfo<Org> implements Serializable {
     @ApiModelProperty(value = "")
     private String orgCode;
 
+    @TableField(exist = false)
+    private List<Org> itemData;
 
     /*
      * 相关属性

+ 85 - 0
src/main/java/com/dk/mdm/model/query/mst/OrgQuery.java

@@ -0,0 +1,85 @@
+package com.dk.mdm.model.query.mst;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.IntListTypeHandler;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ *  组织部门
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("组织部门")
+@TableName(value = "t_mst_org",schema ="dkic_b", autoResultMap = true)
+@ApiModel(value="实体类:组织机构", description="表名:t_mst_org")
+public class OrgQuery extends PageInfo<com.dk.mdm.model.query.mst.OrgQuery> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 组织ID
+     */
+    @TableId(value = "org_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "组织ID")
+    private Integer orgId;
+
+
+    /**
+     * 组织代码
+     */
+    @Excel(name = "组织代码")
+    @ApiModelProperty(value = "组织代码")
+    private String orgCode;
+
+
+    /**
+     * 组织名称
+     */
+    @Excel(name = "组织名称")
+    @ApiModelProperty(value = "组织名称")
+    private String orgName;
+
+
+    /**
+     * 父级ID
+     */
+    @Excel(name = "父级ID")
+    @ApiModelProperty(value = "父级ID")
+    private Integer parentId;
+
+
+    /**
+     * 显示顺序
+     */
+    @Excel(name = "显示顺序")
+    @ApiModelProperty(value = "显示顺序")
+    private Integer displayNo;
+
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 89 - 0
src/main/java/com/dk/mdm/model/vo/mst/OrgVO.java

@@ -0,0 +1,89 @@
+package com.dk.mdm.model.vo.mst;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+
+/**
+ *  组织部门
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("组织部门")
+@TableName(value = "t_mst_org",schema ="dkic_b", autoResultMap = true)
+@ApiModel(value="实体类:组织机构", description="表名:t_mst_org")
+public class OrgVO extends PageInfo<OrgVO> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 组织ID
+     */
+    @TableId(value = "org_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "组织ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orgId;
+
+
+    /**
+     * 组织代码
+     */
+    @Excel(name = "组织代码")
+    @ApiModelProperty(value = "组织代码")
+    private String orgCode;
+
+
+    /**
+     * 组织名称
+     */
+    @Excel(name = "组织名称")
+    @ApiModelProperty(value = "组织名称")
+    private String orgName;
+
+
+    /**
+     * 父级ID
+     */
+    @Excel(name = "父级ID")
+    @ApiModelProperty(value = "父级ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String parentId;
+
+    /**
+     * 工厂ID
+     */
+    @ApiModelProperty(value = "工厂ID")
+    private Integer cpId;
+
+    /**
+     * 显示顺序
+     */
+    @Excel(name = "显示顺序")
+    @ApiModelProperty(value = "显示顺序")
+    private Integer displayNo;
+
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 54 - 6
src/main/java/com/dk/mdm/service/mst/OrgService.java

@@ -1,9 +1,22 @@
 package com.dk.mdm.service.mst;
 
+import com.dk.common.infrastructure.annotaiton.Pagination;
+import com.dk.common.model.pojo.PageList;
+import com.dk.common.response.ResponseCodeEnum;
+import com.dk.common.response.ResponseResultUtil;
+import com.dk.common.response.ResponseResultVO;
+import com.dk.mdm.infrastructure.convert.core.OrganizationConvert;
+import com.dk.mdm.infrastructure.convert.mst.OrgConvert;
+import com.dk.mdm.model.pojo.core.Organization;
 import com.dk.mdm.model.pojo.mst.Org;
 import com.dk.mdm.mapper.mst.OrgMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.query.core.OrganizationQuery;
+import com.dk.mdm.model.query.mst.OrgQuery;
+import com.dk.mdm.model.response.core.OrganizationResponse;
+import com.dk.mdm.model.vo.core.OrganizationVO;
+import com.dk.mdm.model.vo.mst.OrgVO;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -12,12 +25,47 @@ import org.springframework.transaction.annotation.Transactional;
 @Transactional
 public class OrgService extends BaseService<Org> {
 
-	@Override
-	public BaseMapper<Org> getRepository() {
-		return orgMapper;
-	}
+    @Override
+    public BaseMapper<Org> getRepository() {
+        return orgMapper;
+    }
 
-	@Autowired
-	private OrgMapper orgMapper;
+    @Autowired
+    private OrgMapper orgMapper;
 
+    @Autowired
+    private OrgConvert orgConvert;
+
+    /**
+     * @desc : 条件查询
+     * @author : 姜宁
+     * @date : 2023/1/10 17:19
+     */
+    @Pagination
+    public ResponseResultVO<PageList<Org>> selectByCond(OrgQuery orgQuery) {
+        return super.mergeListWithCount(orgQuery, orgMapper.selectByCond(orgQuery),
+                orgMapper.countByCond(orgQuery));
+    }
+
+    /**
+     * @desc : 新建组织机构
+     * @author : 王英杰
+     * @date : 2024/2/27 9:17
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<?> insert(OrgVO orgVO) {
+        // 转化实体
+        Org organization = orgConvert.convertToPo(orgVO);
+
+        //查询 本次要加的 部门的 父级下 最大的DisplayNo  然后加1  就是现在要加的DisplayNo
+       int  maxDisplayNo =  orgMapper.maxDisplayNo(organization.getParentId()) +1;
+
+        organization.setDisplayNo(maxDisplayNo);
+        // 插入组织部门数据
+        return   super.insert(organization);
+//        return result == 1 ? ResponseResultUtil.success(organization) :
+//                ResponseResultUtil.error(ResponseCodeEnum.INSERT_FAIL);
+    }
 }