Selaa lähdekoodia

职级模块开发

lizhenhao 2 vuotta sitten
vanhempi
commit
43da44a68c
18 muutettua tiedostoa jossa 680 lisäystä ja 1 poistoa
  1. 148 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/controller/RankController.java
  2. 1 1
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/controller/RankSequenceController.java
  3. 42 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/domain/Rank.java
  4. 48 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/domain/RankChildren.java
  5. 38 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/domain/RankRRs.java
  6. 10 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/RankChildrenMapper.java
  7. 25 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/RankMapper.java
  8. 14 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/RankRRsMapper.java
  9. 23 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/xml/RankChildrenMapper.xml
  10. 82 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/xml/RankMapper.xml
  11. 27 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/xml/RankRRsMapper.xml
  12. 27 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/RankRRSService.java
  13. 2 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/RankSequenceService.java
  14. 63 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/RankService.java
  15. 48 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/dto/RankChildrenDTO.java
  16. 50 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/dto/RankDTO.java
  17. 17 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/mapstruct/RankChildrenWrapper.java
  18. 15 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/mapstruct/RankWrapper.java

+ 148 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/controller/RankController.java

@@ -0,0 +1,148 @@
+package com.jeeplus.test.rank.controller;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.google.common.collect.Lists;
+import com.jeeplus.aop.logging.annotation.ApiLog;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.sys.constant.enums.LogTypeEnum;
+import com.jeeplus.sys.domain.Office;
+import com.jeeplus.sys.service.OfficeService;
+import com.jeeplus.sys.service.dto.OfficeDTO;
+import com.jeeplus.sys.service.mapstruct.OfficeWrapper;
+import com.jeeplus.test.rank.domain.Rank;
+import com.jeeplus.test.rank.domain.RankRRs;
+import com.jeeplus.test.rank.domain.RankRsOffice;
+import com.jeeplus.test.rank.domain.RankSequence;
+import com.jeeplus.test.rank.service.RankRRSService;
+import com.jeeplus.test.rank.service.RankRsOfficeService;
+import com.jeeplus.test.rank.service.RankSequenceService;
+import com.jeeplus.test.rank.service.RankService;
+import com.jeeplus.test.rank.service.dto.RankDTO;
+import com.jeeplus.test.rank.service.dto.RankSequenceDTO;
+import com.jeeplus.test.rank.service.mapstruct.RankSequenceWrapper;
+import com.jeeplus.test.rank.service.mapstruct.RankWrapper;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.validation.Valid;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Api("职级体系-职级管理")
+@RestController
+@RequestMapping(value = "/rank/rank")
+public class RankController {
+
+    @Autowired
+    private RankSequenceService rankSequenceService;
+
+    @Autowired
+    private RankService rankService;
+
+    @Autowired
+    private RankRRSService rankRRSService;
+
+    /**
+     * 查询序列列表
+     * @param rankDTO
+     * @param page
+     * @return
+     * @throws Exception
+     */
+    @ApiLog("查询职级列表")
+    @PreAuthorize("hasAuthority('rank:rank:list')")
+    @GetMapping("list")
+    public ResponseEntity<IPage<RankDTO>> data(RankDTO rankDTO, Page<RankDTO> page) throws Exception {
+        Rank rank = RankWrapper.INSTANCE.toEntity(rankDTO);
+        QueryWrapper<Rank> queryWrapper = QueryWrapperGenerator.buildQueryCondition ( rank, Rank.class );
+        if(ObjectUtil.isNotEmpty(rankDTO)){
+            if(CollectionUtil.isNotEmpty(rankDTO.getSequenceIdList())){
+                List<RankRRs> rankRRs = rankRRSService.list(new QueryWrapper<RankRRs>().in("rs_id", rankDTO.getSequenceIdList()));
+                List<String> collect = rankRRs.stream().distinct().map(RankRRs::getRankId).collect(Collectors.toList());
+                queryWrapper.in("r.id",collect);
+            }
+        }
+        IPage<RankDTO> result = rankService.findList (page,queryWrapper);
+        return ResponseEntity.ok (result);
+    }
+
+    /**
+     * 查询职级数据
+     * @param id
+     * @return
+     */
+    @ApiLog("查询职级详情")
+    @PreAuthorize ("hasAnyAuthority('rank:rank:view','rank:rank:add','rank:rank:edit')")
+    @GetMapping("queryById")
+    public ResponseEntity queryById(@RequestParam("id") String id) {
+        RankDTO rankDTO = rankService.queryById ( id );
+        return ResponseEntity.ok (rankDTO);
+    }
+
+    /**
+     * 添加职级
+     * @param rankDTO
+     * @return
+     */
+    @ApiLog(value = "修改/新增职级", type = LogTypeEnum.SAVE)
+    @PreAuthorize("hasAnyAuthority('rank:rank:save','rank:rank:edit')")
+    @PostMapping("save")
+    public ResponseEntity save(@Valid @RequestBody RankDTO rankDTO, HttpServletRequest request) {
+        rankService.saveRank(rankDTO);
+        return ResponseEntity.ok ("保存职级成功");
+    }
+
+    /**
+     * 删除职级
+     * @param ids
+     * @return
+     */
+    @ApiLog(value = "删除职级", type = LogTypeEnum.SAVE)
+    @PreAuthorize ("hasAuthority('rank:rank:del')")
+    @DeleteMapping("delete")
+    public ResponseEntity delete(String ids,HttpServletRequest request) {
+        String idArray[] =ids.split(",");
+        rankService.removeByIds (Lists.newArrayList (idArray));
+        return ResponseEntity.ok ("删除职级成功");
+    }
+
+    /**
+     * 修改职级启用状态
+     * @param ids
+     * @return
+     */
+    @ApiLog(value = "修改职级启用状态", type = LogTypeEnum.SAVE)
+    @PreAuthorize ("hasAnyAuthority('rank:rank:del','rank:rank:edit','rank:rank:add')")
+    @PostMapping("changeUseFlag/{useFlag}")
+    public ResponseEntity changeUseFlag(String ids,@PathVariable("useFlag") String useFlag,HttpServletRequest request) {
+        String idArray[] =ids.split(",");
+        ArrayList<String> strings = Lists.newArrayList(idArray);
+        rankService.updateUseFlagById(strings,useFlag);
+        return ResponseEntity.ok ("修改职级状态成功");
+    }
+
+    /**
+     * 根据所有序列
+     * @return
+     */
+    @ApiLog("查询序列")
+    @GetMapping("queryAllSequence")
+    public ResponseEntity queryAllFirm() {
+        List<RankSequenceDTO> rankSequenceDTOS = new ArrayList<>();
+        List<RankSequence> list = rankSequenceService.list();
+        list.stream().forEach(item->{
+            RankSequenceDTO rankSequenceDTO = RankSequenceWrapper.INSTANCE.toDTO (item);
+            rankSequenceDTOS.add(rankSequenceDTO);
+        });
+        return ResponseEntity.ok (rankSequenceDTOS);
+    }
+}

+ 1 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/controller/RankSequenceController.java

@@ -63,7 +63,7 @@ public class RankSequenceController {
         if(ObjectUtil.isNotEmpty(rankSequenceDTO)){
             if(CollectionUtil.isNotEmpty(rankSequenceDTO.getOfficeIdList())){
                 List<RankRsOffice> rankRsOffices = rankRsOfficeService.list(new QueryWrapper<RankRsOffice>().in("office_id", rankSequenceDTO.getOfficeIdList()));
-                List<String> collect = rankRsOffices.stream().distinct().collect(Collectors.toList()).stream().map(RankRsOffice::getRsId).collect(Collectors.toList());
+                List<String> collect = rankRsOffices.stream().distinct().map(RankRsOffice::getRsId).collect(Collectors.toList());
                 queryWrapper.in("rs.id",collect);
             }
         }

+ 42 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/domain/Rank.java

@@ -0,0 +1,42 @@
+package com.jeeplus.test.rank.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import com.jeeplus.core.query.Query;
+import com.jeeplus.core.query.QueryType;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * rank
+ * @author 
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("rank")
+public class Rank extends BaseEntity {
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+    /**
+     * 分组名称
+     */
+    @Query
+    private String groupName;
+
+    /**
+     * 是否启用
+     */
+    @Query(type = QueryType.EQ,tableColumn = "r.use_flag")
+    private String useFlag;
+
+    private static final long serialVersionUID = 1L;
+}

+ 48 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/domain/RankChildren.java

@@ -0,0 +1,48 @@
+package com.jeeplus.test.rank.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * rank_children
+ * @author 
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("rank_children")
+public class RankChildren extends BaseEntity {
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+    /**
+     * 子职级层数   1:一级职级  2:二级职级
+     */
+    private String rankLevel;
+
+    /**
+     * 职级id
+     */
+    private String rankId;
+
+    /**
+     * 父职级id   0:一级职级  other:二级职级
+     */
+    private String rankParent;
+
+    /**
+     * 子职级名称
+     */
+    private String name;
+
+    private static final long serialVersionUID = 1L;
+}

+ 38 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/domain/RankRRs.java

@@ -0,0 +1,38 @@
+package com.jeeplus.test.rank.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * rank_r_rs
+ * @author 
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("rank_r_rs")
+public class RankRRs extends BaseEntity {
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+    /**
+     * 职级id
+     */
+    private String rankId;
+
+    /**
+     * 序列id
+     */
+    private String rsId;
+
+    private static final long serialVersionUID = 1L;
+}

+ 10 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/RankChildrenMapper.java

@@ -0,0 +1,10 @@
+package com.jeeplus.test.rank.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.rank.domain.RankChildren;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface RankChildrenMapper extends BaseMapper<RankChildren> {
+}

+ 25 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/RankMapper.java

@@ -0,0 +1,25 @@
+package com.jeeplus.test.rank.mapper;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.core.query.Query;
+import com.jeeplus.test.rank.domain.Rank;
+import com.jeeplus.test.rank.service.dto.RankDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface RankMapper extends BaseMapper<Rank> {
+
+    public IPage<RankDTO> findList(Page<RankDTO> page,@Param(Constants.WRAPPER) QueryWrapper<Rank> queryWrapper);
+
+    public RankDTO getById(@Param("id") String id);
+
+    public void updateUseFlagById(@Param("ids") List<String> ids, @Param("useFlag") String useFlag);
+}

+ 14 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/RankRRsMapper.java

@@ -0,0 +1,14 @@
+package com.jeeplus.test.rank.mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.rank.domain.RankRRs;
+import com.jeeplus.test.rank.service.dto.RankDTO;
+import com.jeeplus.test.rank.service.dto.RankSequenceDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+@Mapper
+public interface RankRRsMapper extends BaseMapper<RankRRs> {
+
+    public void insertListById(@Param("rankId") String rankId, @Param("rankDTO") RankDTO rankDTO, @Param("createBy") String createBy);
+
+}

+ 23 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/xml/RankChildrenMapper.xml

@@ -0,0 +1,23 @@
+<?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.jeeplus.test.rank.mapper.RankChildrenMapper">
+  <resultMap id="BaseResultMap" type="com.jeeplus.test.rank.domain.RankChildren">
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="create_by" jdbcType="VARCHAR" property="createBy" />
+    <result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
+    <result column="update_by" jdbcType="VARCHAR" property="updateBy" />
+    <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
+    <result column="remarks" jdbcType="VARCHAR" property="remarks" />
+    <result column="del_flag" jdbcType="INTEGER" property="delFlag" />
+    <result column="sort" jdbcType="INTEGER" property="sort" />
+    <result column="rank_level" jdbcType="VARCHAR" property="rankLevel" />
+    <result column="rank_id" jdbcType="VARCHAR" property="rankId" />
+    <result column="rank_parent" jdbcType="VARCHAR" property="rankParent" />
+    <result column="name" jdbcType="VARCHAR" property="name" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    id, create_by, create_date, update_by, update_date, remarks, del_flag, sort, rank_level, 
+    rank_id, rank_parent, `name`
+  </sql>
+
+</mapper>

+ 82 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/xml/RankMapper.xml

@@ -0,0 +1,82 @@
+<?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.jeeplus.test.rank.mapper.RankMapper">
+  <resultMap id="BaseResultMap" type="com.jeeplus.test.rank.domain.Rank">
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="create_by" jdbcType="VARCHAR" property="createBy" />
+    <result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
+    <result column="update_by" jdbcType="VARCHAR" property="updateBy" />
+    <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
+    <result column="remarks" jdbcType="VARCHAR" property="remarks" />
+    <result column="del_flag" jdbcType="INTEGER" property="delFlag" />
+    <result column="sort" jdbcType="INTEGER" property="sort" />
+    <result column="group_name" jdbcType="VARCHAR" property="groupName" />
+    <result column="use_flag" jdbcType="VARCHAR" property="useFlag" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    r.id, r.create_by, r.create_date, r.update_by, r.update_date, r.remarks, r.del_flag, r.sort, r.group_name,
+    r.use_flag
+  </sql>
+
+  <resultMap id="listMap" type="com.jeeplus.test.rank.service.dto.RankDTO">
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="create_by" jdbcType="VARCHAR" property="createBy.id" />
+    <result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
+    <result column="update_by" jdbcType="VARCHAR" property="updateBy.id" />
+    <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
+    <result column="remarks" jdbcType="VARCHAR" property="remarks" />
+    <result column="del_flag" jdbcType="INTEGER" property="delFlag" />
+    <result column="sort" jdbcType="INTEGER" property="sort" />
+    <result column="group_name" jdbcType="VARCHAR" property="groupName" />
+    <result column="use_flag" jdbcType="VARCHAR" property="useFlag" />
+    <collection property="sequenceDTOList" ofType="com.jeeplus.test.rank.service.dto.RankSequenceDTO">
+      <id property="id" column="rs_id" jdbcType="VARCHAR"></id>
+      <result property="name" column="rs_name" jdbcType="VARCHAR"></result>
+    </collection>
+  </resultMap>
+
+  <select id="findList" resultType="com.jeeplus.test.rank.service.dto.RankDTO" resultMap="listMap">
+    select
+    <include refid="Base_Column_List"></include>,
+    rs.id rs_id,
+    rs.name rs_name
+    from rank r
+    left join rank_r_rs rrr on rrr.rank_id = r.id and rrr.del_flag = '0'
+    left join rank_sequence rs on rrr.rs_id = rs.id and rs.del_flag = '0'
+    ${ew.customSqlSegment}
+  </select>
+
+  <select id="getById" resultMap="queryByIdMap">
+    select
+    <include refid="Base_Column_List"></include>,
+    rs.id rs_id
+    from rank r
+    left join rank_r_rs rrr on rrr.rank_id = r.id and rrr.del_flag = '0'
+    left join rank_sequence rs on rrr.rs_id = rs.id and rs.del_flag = '0'
+    where r.id = #{id} and r.del_flag = '0'
+  </select>
+
+  <resultMap id="queryByIdMap" type="com.jeeplus.test.rank.service.dto.RankDTO">
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="create_by" jdbcType="VARCHAR" property="createBy.id" />
+    <result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
+    <result column="update_by" jdbcType="VARCHAR" property="updateBy.id" />
+    <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
+    <result column="remarks" jdbcType="VARCHAR" property="remarks" />
+    <result column="sort" jdbcType="INTEGER" property="sort" />
+    <result column="group_name" jdbcType="VARCHAR" property="groupName" />
+    <result column="use_flag" jdbcType="VARCHAR" property="useFlag" />
+    <collection property="sequenceIdList" ofType="string">
+      <id column="rs_id" jdbcType="VARCHAR"></id>
+    </collection>
+  </resultMap>
+
+  <update id="updateUseFlagById">
+    <foreach collection="ids" item="item" separator=";">
+      update rank r
+      set r.use_flag = #{useFlag}
+      where r.id = #{item}
+    </foreach>
+  </update>
+
+</mapper>

+ 27 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/xml/RankRRsMapper.xml

@@ -0,0 +1,27 @@
+<?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.jeeplus.test.rank.mapper.RankRRsMapper">
+  <resultMap id="BaseResultMap" type="com.jeeplus.test.rank.domain.RankRRs">
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="create_by" jdbcType="VARCHAR" property="createBy" />
+    <result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
+    <result column="update_by" jdbcType="VARCHAR" property="updateBy" />
+    <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
+    <result column="remarks" jdbcType="VARCHAR" property="remarks" />
+    <result column="del_flag" jdbcType="INTEGER" property="delFlag" />
+    <result column="sort" jdbcType="INTEGER" property="sort" />
+    <result column="rank_id" jdbcType="VARCHAR" property="rankId" />
+    <result column="rs_id" jdbcType="VARCHAR" property="rsId" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    id, create_by, create_date, update_by, update_date, remarks, del_flag, sort, rank_id, 
+    rs_id
+  </sql>
+
+  <insert id="insertListById">
+    <foreach collection="rankDTO.sequenceIdList" item="item" separator=";">
+      insert into rank_r_rs(id,create_by,create_date,del_flag,rank_id,rs_id) values(uuid(),#{createBy},DATE_FORMAT(now(), '%Y-%m-%d %H:%i:%S'),'0',#{rankId},#{item})
+    </foreach>
+  </insert>
+
+</mapper>

+ 27 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/RankRRSService.java

@@ -0,0 +1,27 @@
+package com.jeeplus.test.rank.service;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.sys.utils.UserUtils;
+import com.jeeplus.test.rank.domain.Rank;
+import com.jeeplus.test.rank.domain.RankRRs;
+import com.jeeplus.test.rank.mapper.RankMapper;
+import com.jeeplus.test.rank.mapper.RankRRsMapper;
+import com.jeeplus.test.rank.service.dto.RankDTO;
+import com.jeeplus.test.rank.service.mapstruct.RankWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Service
+@Transactional
+public class RankRRSService extends ServiceImpl<RankRRsMapper, RankRRs> {
+
+}

+ 2 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/RankSequenceService.java

@@ -40,6 +40,8 @@ public class RankSequenceService extends ServiceImpl<RankSequenceMapper,RankSequ
                 if(CollectionUtil.isNotEmpty(rankSequenceDTO.getOfficeIdList())){
                     rankRsOfficeMapper.insertListById(rankSequenceDTO.getId(),rankSequenceDTO, UserUtils.getCurrentUserDTO().getId());
                 }
+            }else{
+                rankRsOfficeMapper.insertListById(rankSequence.getId(),rankSequenceDTO, UserUtils.getCurrentUserDTO().getId());
             }
         }
     }

+ 63 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/RankService.java

@@ -0,0 +1,63 @@
+package com.jeeplus.test.rank.service;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.sys.utils.UserUtils;
+import com.jeeplus.test.rank.domain.*;
+import com.jeeplus.test.rank.mapper.RankLevelMapper;
+import com.jeeplus.test.rank.mapper.RankMapper;
+import com.jeeplus.test.rank.mapper.RankRRsMapper;
+import com.jeeplus.test.rank.service.dto.RankDTO;
+import com.jeeplus.test.rank.service.dto.RankSequenceDTO;
+import com.jeeplus.test.rank.service.mapstruct.RankSequenceWrapper;
+import com.jeeplus.test.rank.service.mapstruct.RankWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+@Transactional
+public class RankService extends ServiceImpl<RankMapper, Rank> {
+
+    @Autowired
+    private RankMapper rankMapper;
+
+    @Autowired
+    private RankRRsMapper rankRRsMapper;
+
+    public IPage<RankDTO> findList(Page<RankDTO> page, QueryWrapper<Rank> queryWrapper){
+        queryWrapper.eq("r.del_flag","0");
+        return rankMapper.findList(page,queryWrapper);
+    }
+
+    public RankDTO queryById(String id){
+        return rankMapper.getById(id);
+    }
+
+    public void saveRank(RankDTO rankDTO){
+        Rank rank = RankWrapper.INSTANCE.toEntity(rankDTO);
+        this.saveOrUpdate(rank);
+        if(ObjectUtil.isNotEmpty(rankDTO)){
+            if(StrUtil.isNotEmpty(rankDTO.getId())){
+                rankRRsMapper.delete(new QueryWrapper<RankRRs>().eq("rank_id",rankDTO.getId()));
+                if(CollectionUtil.isNotEmpty(rankDTO.getSequenceIdList())){
+                    rankRRsMapper.insertListById(rankDTO.getId(),rankDTO, UserUtils.getCurrentUserDTO().getId());
+                }
+            }{
+                rankRRsMapper.insertListById(rank.getId(),rankDTO, UserUtils.getCurrentUserDTO().getId());
+            }
+        }
+    }
+
+    public void updateUseFlagById(List<String> ids, String useFlag){
+        rankMapper.updateUseFlagById(ids,useFlag);
+    }
+}

+ 48 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/dto/RankChildrenDTO.java

@@ -0,0 +1,48 @@
+package com.jeeplus.test.rank.service.dto;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * rank_children
+ * @author 
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class RankChildrenDTO extends BaseDTO {
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+    /**
+     * 子职级层数   1:一级职级  2:二级职级
+     */
+    private String rankLevel;
+
+    /**
+     * 职级id
+     */
+    private String rankId;
+
+    /**
+     * 父职级id   0:一级职级  other:二级职级
+     */
+    private String rankParent;
+
+    /**
+     * 子职级名称
+     */
+    private String name;
+
+    private static final long serialVersionUID = 1L;
+}

+ 50 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/dto/RankDTO.java

@@ -0,0 +1,50 @@
+package com.jeeplus.test.rank.service.dto;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+/**
+ * rank
+ * @author 
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class RankDTO extends BaseDTO {
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+    /**
+     * 分组名称
+     */
+    private String groupName;
+
+    /**
+     * 是否启用
+     */
+    private String useFlag;
+
+    /**
+     * 适用序列IdList
+     */
+    private List<String> sequenceIdList;
+
+    /**
+     * 适用序列List
+     */
+    private List<RankSequenceDTO> sequenceDTOList;
+
+    private static final long serialVersionUID = 1L;
+}

+ 17 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/mapstruct/RankChildrenWrapper.java

@@ -0,0 +1,17 @@
+package com.jeeplus.test.rank.service.mapstruct;
+
+import com.jeeplus.core.mapstruct.EntityWrapper;
+import com.jeeplus.test.rank.domain.Rank;
+import com.jeeplus.test.rank.domain.RankChildren;
+import com.jeeplus.test.rank.service.dto.RankChildrenDTO;
+import com.jeeplus.test.rank.service.dto.RankDTO;
+import org.mapstruct.Mapper;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {})
+public interface RankChildrenWrapper extends EntityWrapper<RankChildrenDTO, RankChildren> {
+
+    RankChildrenWrapper INSTANCE = Mappers.getMapper(RankChildrenWrapper.class);
+
+}

+ 15 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/mapstruct/RankWrapper.java

@@ -0,0 +1,15 @@
+package com.jeeplus.test.rank.service.mapstruct;
+
+import com.jeeplus.core.mapstruct.EntityWrapper;
+import com.jeeplus.test.rank.domain.Rank;
+import com.jeeplus.test.rank.service.dto.RankDTO;
+import org.mapstruct.Mapper;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {})
+public interface RankWrapper extends EntityWrapper<RankDTO, Rank> {
+
+    RankWrapper INSTANCE = Mappers.getMapper(RankWrapper.class);
+
+}