Explorar el Código

序列职层功能

lizhenhao hace 3 años
padre
commit
dc69fe7121
Se han modificado 20 ficheros con 763 adiciones y 0 borrados
  1. 99 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/controller/RankLevelController.java
  2. 129 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/controller/RankSequenceController.java
  3. 35 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/domain/RankLevel.java
  4. 33 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/domain/RankRsOffice.java
  5. 46 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/domain/RankSequence.java
  6. 9 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/RankLevelMapper.java
  7. 13 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/RankRsOfficeMapper.java
  8. 23 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/RankSequenceMapper.java
  9. 18 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/xml/RankLevelMapper.xml
  10. 25 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/xml/RankRsOfficeMapper.xml
  11. 87 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/xml/RankSequenceMapper.xml
  12. 12 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/RankLevelService.java
  13. 12 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/RankRsOfficeService.java
  14. 58 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/RankSequenceService.java
  15. 33 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/dto/RankLevelDTO.java
  16. 33 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/dto/RankRsOfficeDTO.java
  17. 49 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/dto/RankSequenceDTO.java
  18. 17 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/mapstruct/RankLevelWrapper.java
  19. 15 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/mapstruct/RankRsOfficeWrapper.java
  20. 17 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/mapstruct/RankSequenceWrapper.java

+ 99 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/controller/RankLevelController.java

@@ -0,0 +1,99 @@
+package com.jeeplus.test.rank.controller;
+
+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.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.test.rank.domain.RankLevel;
+import com.jeeplus.test.rank.domain.RankSequence;
+import com.jeeplus.test.rank.service.RankLevelService;
+import com.jeeplus.test.rank.service.RankSequenceService;
+import com.jeeplus.test.rank.service.dto.RankLevelDTO;
+import com.jeeplus.test.rank.service.dto.RankSequenceDTO;
+import com.jeeplus.test.rank.service.mapstruct.RankLevelWrapper;
+import com.jeeplus.test.rank.service.mapstruct.RankSequenceWrapper;
+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;
+
+@Api("职级体系-职层管理")
+@RestController
+@RequestMapping(value = "/rank/rank_level")
+public class RankLevelController {
+
+    @Autowired
+    private RankLevelService rankLevelService;
+
+    /**
+     * 查询职层列表
+     * @param rankLevelDTO
+     * @param page
+     * @return
+     * @throws Exception
+     */
+    @ApiLog("查询职层列表")
+    @PreAuthorize("hasAuthority('rank:rank_level:list')")
+    @GetMapping("list")
+    public ResponseEntity<IPage<RankLevel>> data(RankLevelDTO rankLevelDTO, Page<RankLevel> page) throws Exception {
+        RankLevel rankLevel = RankLevelWrapper.INSTANCE.toEntity(rankLevelDTO);
+        QueryWrapper<RankLevel> queryWrapper = QueryWrapperGenerator.buildQueryCondition ( rankLevel, RankLevel.class );
+        queryWrapper.orderByAsc("sort").orderByDesc("create_date");
+        IPage<RankLevel> result = rankLevelService.page (page,queryWrapper);
+        return ResponseEntity.ok (result);
+    }
+
+    /**
+     * 查询职层数据
+     * @param id
+     * @return
+     */
+    @ApiLog("查询职层详情")
+    @PreAuthorize ("hasAnyAuthority('rank:rank_level:view','rank:rank_level:add','rank:rank_level:edit')")
+    @GetMapping("queryById")
+    public ResponseEntity queryById(@RequestParam("id") String id) {
+        RankLevel rankLevel = rankLevelService.getById ( id );
+        return ResponseEntity.ok (rankLevel);
+    }
+
+    /**
+     * 添加职层
+     * @param rankLevelDTO
+     * @return
+     */
+    @ApiLog(value = "修改/新增职层", type = LogTypeEnum.SAVE)
+    @PreAuthorize("hasAnyAuthority('rank:rank_level:save','rank:rank_level:edit')")
+    @PostMapping("save")
+    public ResponseEntity save(@Valid @RequestBody RankLevelDTO rankLevelDTO, HttpServletRequest request) {
+        RankLevel rankLevel = RankLevelWrapper.INSTANCE.toEntity(rankLevelDTO);
+        rankLevelService.saveOrUpdate(rankLevel);
+        return ResponseEntity.ok ("保存职层成功");
+    }
+
+    /**
+     * 删除职层
+     * @param ids
+     * @return
+     */
+    @ApiLog(value = "删除职层", type = LogTypeEnum.SAVE)
+    @PreAuthorize ("hasAuthority('rank:rank_level:del')")
+    @DeleteMapping("delete")
+    public ResponseEntity delete(String ids,HttpServletRequest request) {
+        String idArray[] =ids.split(",");
+        rankLevelService.removeByIds (Lists.newArrayList (idArray));
+        return ResponseEntity.ok ("删除职层成功");
+    }
+
+
+
+
+}

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

@@ -0,0 +1,129 @@
+package com.jeeplus.test.rank.controller;
+
+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.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.jobPosion.service.mapstruct.JobPositionWrapper;
+import com.jeeplus.test.rank.domain.RankSequence;
+import com.jeeplus.test.rank.service.RankSequenceService;
+import com.jeeplus.test.rank.service.dto.RankSequenceDTO;
+import com.jeeplus.test.rank.service.mapstruct.RankSequenceWrapper;
+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;
+
+@Api("职级体系-序列管理")
+@RestController
+@RequestMapping(value = "/rank/rank_sequence")
+public class RankSequenceController {
+
+    @Autowired
+    private RankSequenceService rankSequenceService;
+
+    @Autowired
+    private OfficeService officeService;
+
+    /**
+     * 查询序列列表
+     * @param rankSequenceDTO
+     * @param page
+     * @return
+     * @throws Exception
+     */
+    @ApiLog("查询序列列表")
+    @PreAuthorize("hasAuthority('rank:rank_sequence:list')")
+    @GetMapping("list")
+    public ResponseEntity<IPage<RankSequenceDTO>> data(RankSequenceDTO rankSequenceDTO, Page<RankSequenceDTO> page) throws Exception {
+        RankSequence rankSequence = RankSequenceWrapper.INSTANCE.toEntity(rankSequenceDTO);
+        QueryWrapper<RankSequence> queryWrapper = QueryWrapperGenerator.buildQueryCondition ( rankSequence, RankSequence.class );
+        IPage<RankSequenceDTO> result = rankSequenceService.findList (page,queryWrapper);
+        return ResponseEntity.ok (result);
+    }
+
+    /**
+     * 查询序列数据
+     * @param id
+     * @return
+     */
+    @ApiLog("查询序列详情")
+    @PreAuthorize ("hasAnyAuthority('rank:rank_sequence:view','rank:rank_sequence:add','rank:rank_sequence:edit')")
+    @GetMapping("queryById")
+    public ResponseEntity queryById(@RequestParam("id") String id) {
+        RankSequenceDTO rankSequenceDTO = rankSequenceService.queryById ( id );
+        return ResponseEntity.ok (rankSequenceDTO);
+    }
+
+    /**
+     * 添加序列
+     * @param rankSequenceDTO
+     * @return
+     */
+    @ApiLog(value = "修改/新增序列", type = LogTypeEnum.SAVE)
+    @PreAuthorize("hasAnyAuthority('rank:rank_sequence:save','rank:rank_sequence:edit')")
+    @PostMapping("save")
+    public ResponseEntity save(@Valid @RequestBody RankSequenceDTO rankSequenceDTO, HttpServletRequest request) {
+        rankSequenceService.saveRankSequence(rankSequenceDTO);
+        return ResponseEntity.ok ("保存序列成功");
+    }
+
+    /**
+     * 删除序列
+     * @param ids
+     * @return
+     */
+    @ApiLog(value = "删除序列", type = LogTypeEnum.SAVE)
+    @PreAuthorize ("hasAuthority('rank:rank_sequence:del')")
+    @DeleteMapping("delete")
+    public ResponseEntity delete(String ids,HttpServletRequest request) {
+        String idArray[] =ids.split(",");
+        rankSequenceService.removeByIds (Lists.newArrayList (idArray));
+        return ResponseEntity.ok ("删除序列成功");
+    }
+
+    /**
+     * 修改序列启用状态
+     * @param ids
+     * @return
+     */
+    @ApiLog(value = "修改序列启用状态", type = LogTypeEnum.SAVE)
+    @PreAuthorize ("hasAnyAuthority('rank:rank_sequence:del','rank:rank_sequence:edit','rank:rank_sequence: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);
+        rankSequenceService.updateUseFlagById(strings,useFlag);
+        return ResponseEntity.ok ("修改职位状态成功");
+    }
+
+    /**
+     * 根据所有公司
+     * @return
+     */
+    @ApiLog("查询公司")
+    @GetMapping("queryAllFirm")
+    public ResponseEntity queryAllFirm() {
+        List<OfficeDTO> officeDTOList = new ArrayList<>();
+        List<Office> list = officeService.list(new QueryWrapper<Office>().eq("type","1").eq("useable","1"));
+        list.stream().forEach(item->{
+            OfficeDTO officeDTO = OfficeWrapper.INSTANCE.toDTO (item);
+            officeDTOList.add(officeDTO);
+        });
+        return ResponseEntity.ok (officeDTOList);
+    }
+}

+ 35 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/domain/RankLevel.java

@@ -0,0 +1,35 @@
+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 lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * rank_level
+ * @author 
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("rank_level")
+public class RankLevel extends BaseEntity {
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+    /**
+     * 职层名称
+     */
+    @Query
+    private String name;
+
+    private static final long serialVersionUID = 1L;
+}

+ 33 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/domain/RankRsOffice.java

@@ -0,0 +1,33 @@
+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_rs_office
+ * @author 
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("rank_rs_office")
+public class RankRsOffice extends BaseEntity {
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 职级序列id
+     */
+    private String rsId;
+
+    /**
+     * 公司id
+     */
+    private String officeId;
+
+    private static final long serialVersionUID = 1L;
+}

+ 46 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/domain/RankSequence.java

@@ -0,0 +1,46 @@
+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 com.jeeplus.sys.domain.Office;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+/**
+ * rank_sequence
+ * @author 
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("rank_sequence")
+public class RankSequence extends BaseEntity {
+
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+    /**
+     * 序列名称
+     */
+    @Query(tableColumn = "rs.name")
+    private String name;
+
+    /**
+     * 启用禁用 1启用 2禁用
+     */
+    @Query(type = QueryType.EQ, tableColumn = "rs.use_flag")
+    private String useFlag;
+
+    private static final long serialVersionUID = 1L;
+}

+ 9 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/RankLevelMapper.java

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

+ 13 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/RankRsOfficeMapper.java

@@ -0,0 +1,13 @@
+package com.jeeplus.test.rank.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.rank.domain.RankRsOffice;
+import com.jeeplus.test.rank.service.dto.RankSequenceDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+@Mapper
+public interface RankRsOfficeMapper extends BaseMapper<RankRsOffice> {
+
+    public void insertListById(@Param("rsId") String rsId,@Param("rankSequenceDTO") RankSequenceDTO rankSequenceDTO,@Param("createBy") String createBy);
+}

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

@@ -0,0 +1,23 @@
+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.test.rank.domain.RankSequence;
+import com.jeeplus.test.rank.service.dto.RankSequenceDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface RankSequenceMapper extends BaseMapper<RankSequence> {
+
+    public IPage<RankSequenceDTO> findList(Page<RankSequenceDTO> page, @Param(Constants.WRAPPER)QueryWrapper<RankSequence> queryWrapper);
+
+    public void updateUseFlagById(@Param("ids") List<String> ids, @Param("useFlag") String useFlag);
+
+    public RankSequenceDTO queryById(@Param("id") String id);
+}

+ 18 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/xml/RankLevelMapper.xml

@@ -0,0 +1,18 @@
+<?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.RankLevelMapper">
+  <resultMap id="BaseResultMap" type="com.jeeplus.test.rank.domain.RankLevel">
+    <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="sort" jdbcType="INTEGER" property="sort" />
+    <result column="name" jdbcType="VARCHAR" property="name" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    id, create_by, create_date, update_by, update_date, remarks, sort, `name`
+  </sql>
+
+</mapper>

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

@@ -0,0 +1,25 @@
+<?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.RankRsOfficeMapper">
+  <resultMap id="BaseResultMap" type="com.jeeplus.test.rank.domain.RankRsOffice">
+    <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="rs_id" jdbcType="VARCHAR" property="rsId" />
+    <result column="office_id" jdbcType="VARCHAR" property="officeId" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    id, create_by, create_date, update_by, update_date, remarks, del_flag, rs_id, office_id
+  </sql>
+
+  <insert id="insertListById">
+    <foreach collection="rankSequenceDTO.officeIdList" item="item" separator=";">
+      insert into rank_rs_office(id,create_by,create_date,del_flag,rs_id,office_id) values(uuid(),#{createBy},DATE_FORMAT(now(), '%Y-%m-%d %H:%i:%S'),'0',#{rsId},#{item})
+    </foreach>
+  </insert>
+
+</mapper>

+ 87 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/mapper/xml/RankSequenceMapper.xml

@@ -0,0 +1,87 @@
+<?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.RankSequenceMapper">
+  <resultMap id="BaseResultMap" type="com.jeeplus.test.rank.domain.RankSequence">
+    <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="sort" jdbcType="INTEGER" property="sort" />
+    <result column="name" jdbcType="VARCHAR" property="name" />
+    <result column="use_flag" jdbcType="VARCHAR" property="useFlag" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    rs.id,
+    rs.create_by,
+    rs.create_date,
+    rs.update_by,
+    rs.update_date,
+    rs.remarks,
+    rs.sort,
+    rs.`name`,
+    rs.use_flag
+  </sql>
+
+  <resultMap id="listMap" type="com.jeeplus.test.rank.service.dto.RankSequenceDTO">
+    <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="name" jdbcType="VARCHAR" property="name" />
+    <result column="use_flag" jdbcType="VARCHAR" property="useFlag" />
+    <collection property="officeList" ofType="com.jeeplus.sys.domain.Office">
+      <id property="id" column="so_id" jdbcType="VARCHAR"></id>
+      <result property="name" column="so_name" jdbcType="VARCHAR"></result>
+    </collection>
+  </resultMap>
+
+  <select id="findList" resultType="com.jeeplus.test.rank.domain.RankSequence" resultMap="listMap">
+    select
+    <include refid="Base_Column_List"></include>,
+    so.id so_id,
+    so.name so_name
+    from rank_sequence rs
+    left join rank_rs_office rro on rro.rs_id = rs.id and rro.del_flag = '0'
+    left join sys_office so on so.id = rro.office_id and so.del_flag = '0'
+    ${ew.customSqlSegment}
+  </select>
+
+  <update id="updateUseFlagById">
+    <foreach collection="ids" item="item" separator=";">
+      update rank_sequence rs
+      set rs.use_flag = #{useFlag}
+      where rs.id = #{item}
+    </foreach>
+  </update>
+
+  <select id="queryById" resultMap="queryByIdMap">
+    select
+    <include refid="Base_Column_List"></include>,
+    so.id so_id
+    from rank_sequence rs
+    left join rank_rs_office rro on rro.rs_id = rs.id and rro.del_flag = '0'
+    left join sys_office so on so.id = rro.office_id and so.del_flag = '0'
+    where rs.id = #{id} and rs.del_flag = '0'
+  </select>
+
+  <resultMap id="queryByIdMap" type="com.jeeplus.test.rank.service.dto.RankSequenceDTO">
+    <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="name" jdbcType="VARCHAR" property="name" />
+    <result column="use_flag" jdbcType="VARCHAR" property="useFlag" />
+    <collection property="officeIdList" ofType="string">
+      <id column="so_id" jdbcType="VARCHAR"></id>
+    </collection>
+  </resultMap>
+
+</mapper>

+ 12 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/RankLevelService.java

@@ -0,0 +1,12 @@
+package com.jeeplus.test.rank.service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.test.rank.domain.RankLevel;
+import com.jeeplus.test.rank.mapper.RankLevelMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional
+public class RankLevelService extends ServiceImpl<RankLevelMapper, RankLevel> {
+}

+ 12 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/RankRsOfficeService.java

@@ -0,0 +1,12 @@
+package com.jeeplus.test.rank.service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.test.rank.domain.RankRsOffice;
+import com.jeeplus.test.rank.mapper.RankRsOfficeMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional
+public class RankRsOfficeService extends ServiceImpl<RankRsOfficeMapper,RankRsOffice> {
+}

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

@@ -0,0 +1,58 @@
+package com.jeeplus.test.rank.service;
+
+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.RankRsOffice;
+import com.jeeplus.test.rank.domain.RankSequence;
+import com.jeeplus.test.rank.mapper.RankRsOfficeMapper;
+import com.jeeplus.test.rank.mapper.RankSequenceMapper;
+import com.jeeplus.test.rank.service.dto.RankSequenceDTO;
+import com.jeeplus.test.rank.service.mapstruct.RankSequenceWrapper;
+import org.checkerframework.checker.units.qual.A;
+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 RankSequenceService extends ServiceImpl<RankSequenceMapper,RankSequence> {
+
+    @Autowired
+    private RankSequenceMapper rankSequenceMapper;
+
+    @Autowired
+    private RankRsOfficeMapper rankRsOfficeMapper;
+
+    public void saveRankSequence(RankSequenceDTO rankSequenceDTO){
+        RankSequence rankSequence = RankSequenceWrapper.INSTANCE.toEntity(rankSequenceDTO);
+        this.saveOrUpdate(rankSequence);
+        if(ObjectUtil.isNotEmpty(rankSequenceDTO)){
+            if(StrUtil.isNotEmpty(rankSequenceDTO.getId())){
+                rankRsOfficeMapper.delete(new QueryWrapper<RankRsOffice>().eq("rs_id",rankSequenceDTO.getId()));
+                rankRsOfficeMapper.insertListById(rankSequenceDTO.getId(),rankSequenceDTO, UserUtils.getCurrentUserDTO().getId());
+            }
+        }
+    }
+
+    public IPage<RankSequenceDTO> findList(Page<RankSequenceDTO> page, QueryWrapper<RankSequence> queryWrapper){
+        queryWrapper.eq("rs.del_flag","0")
+                .orderByAsc("rs.sort")
+                .orderByDesc("rs.create_date");
+        return rankSequenceMapper.findList(page,queryWrapper);
+    }
+
+    public void updateUseFlagById(List<String> ids, String useFlag){
+        rankSequenceMapper.updateUseFlagById(ids,useFlag);
+    }
+
+    public RankSequenceDTO queryById(String id){
+        return rankSequenceMapper.queryById(id);
+    }
+}

+ 33 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/dto/RankLevelDTO.java

@@ -0,0 +1,33 @@
+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_level
+ * @author 
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class RankLevelDTO extends BaseDTO {
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+    /**
+     * 职层名称
+     */
+    private String name;
+
+    private static final long serialVersionUID = 1L;
+}

+ 33 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/dto/RankRsOfficeDTO.java

@@ -0,0 +1,33 @@
+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_rs_office
+ * @author 
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class RankRsOfficeDTO extends BaseDTO {
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 职级序列id
+     */
+    private String rsId;
+
+    /**
+     * 公司id
+     */
+    private String officeId;
+
+    private static final long serialVersionUID = 1L;
+}

+ 49 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/dto/RankSequenceDTO.java

@@ -0,0 +1,49 @@
+package com.jeeplus.test.rank.service.dto;
+
+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 com.jeeplus.core.service.dto.BaseDTO;
+import com.jeeplus.sys.domain.Office;
+import com.jeeplus.sys.service.dto.OfficeDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+/**
+ * rank_sequence
+ * @author 
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class RankSequenceDTO extends BaseDTO {
+
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+    /**
+     * 序列名称
+     */
+    private String name;
+
+    /**
+     * 启用禁用 1启用 2禁用
+     */
+    private String useFlag;
+
+    private List<String> officeIdList;
+
+    private List<Office> officeList;
+
+    private static final long serialVersionUID = 1L;
+}

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

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

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

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

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

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