姜永辉 2 лет назад
Родитель
Сommit
728ae85948

+ 11 - 0
src/main/java/com/dk/mdm/controller/mst/StaffController.java

@@ -59,6 +59,17 @@ public class StaffController{
         return staffService.selectById(id);
     }
 
+    /**
+     * @desc : 新建员工--权限
+     * @author : 姜永辉
+     * @date : 2023/1/9 10:48
+     */
+    @ApiOperation(value = "新建员工--权限", notes = "新建员工--权限")
+    @PostMapping({"save_staff_right"})
+    public ResponseResultVO<?> saveStaffRight(@RequestBody StaffVO staffVO) {
+        return staffService.saveStaffRight(staffVO);
+    }
+
 
     /**
      * @desc : 新建员工

+ 37 - 1
src/main/java/com/dk/mdm/controller/mst/StaffRightController.java

@@ -1,14 +1,22 @@
 package com.dk.mdm.controller.mst;
 
+import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.model.pojo.mst.StaffRight;
 import com.dk.common.controller.BaseController;
 import com.dk.common.service.BaseService;
+import com.dk.mdm.model.vo.mst.StaffVO;
+import com.dk.mdm.service.mst.StaffService;
+import io.swagger.annotations.ApiOperation;
+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;
 import io.swagger.annotations.Api;
 import com.dk.mdm.service.mst.StaffRightService;
 
+import java.util.Map;
+
 /**
  * @desc   : 员工权限API接口
  * @author : 姜永辉
@@ -16,7 +24,7 @@ import com.dk.mdm.service.mst.StaffRightService;
  */
 @Api(tags = "员工权限API接口")
 @RestController
-@RequestMapping("/mst/staffRight")
+@RequestMapping("/mst/staff_right")
 public class StaffRightController{
 
     public BaseService<StaffRight> getService() {
@@ -26,4 +34,32 @@ public class StaffRightController{
     @Autowired
     private StaffRightService staffRightService;
 
+    @Autowired
+    private StaffService staffService;
+
+    /**
+     * @desc : 获取员工权限
+     * @author : 姜永辉
+     * @date : 2024/2/26 10:36
+     */
+    @ApiOperation(
+            value = "获取员工权限",
+            notes = "获取员工权限"
+    )
+    @PostMapping("get_staff_right")
+    public ResponseResultVO<Map<String, Object>> getStaffRight(@RequestBody Map<String, Object> param) {
+        return staffRightService.getStaffRight(param);
+    }
+
+    /**
+     * @desc : 新建员工--权限
+     * @author : 姜永辉
+     * @date : 2023/1/9 10:48
+     */
+    @ApiOperation(value = "新建员工--权限", notes = "新建员工--权限")
+    @PostMapping({"save_staff_right"})
+    public ResponseResultVO<?> saveStaffRight(@RequestBody StaffVO staffVO) {
+        return staffService.saveStaffRight(staffVO);
+    }
+
 }

+ 9 - 1
src/main/java/com/dk/mdm/mapper/mst/StaffRightMapper.java

@@ -4,11 +4,19 @@ import com.dk.mdm.model.pojo.mst.StaffRight;
 import com.dk.common.mapper.BaseMapper;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+import java.util.Map;
+
 /**
 *  员工权限 Mapper
 */
 @Repository
 public interface StaffRightMapper extends BaseMapper<StaffRight>{
-	
+    /**
+     * @desc   : 获取员工权限
+     * @author : 姜永辉
+     * @date : 2024/2/26 10:36
+     */
+    List<Map<String, Object>> getStaffRight(Map param);
 }
 

+ 30 - 2
src/main/java/com/dk/mdm/mapper/mst/StaffRightMapper.xml

@@ -120,7 +120,7 @@
             fun_uuid,
             right_type,
             cp_id,
-            op_app_code,
+            staff_id,
         </trim>
         )
         values
@@ -130,9 +130,37 @@
                 #{item.funUuid}::uuid,
                 #{item.rightType},
                 #{item.cpId},
-                #{item.opAppCode},
+                #{item.staffId}::uuid,
             </trim>
             )
         </foreach>
     </insert>
+
+    <!-- 删除功能权限 -->
+    <delete id="deleteById" >
+        DELETE FROM dkic_b.t_mst_staff_right   WHERE staff_id = #{staffId}::uuid;
+    </delete>
+
+
+    <!-- 获取功能权限 -->
+    <select id="getStaffRight" resultType="java.util.Map">
+        SELECT menu.menu_uuid    AS "menuUuid",
+               menu.menu_uuid    AS "id",
+               menu.menu_name    AS "menuName",
+               menu.app_code     AS "appCode",
+               menu.parent_uuid  AS "parentId",
+               menu.flg_menu     AS "flgMenu",
+               staffRight.staff_id   AS "staffId",
+               menu.fun_uuid     AS "funUuid",
+               CASE WHEN staffRight.staff_id IS NULL THEN FALSE ELSE TRUE END    AS "checked"
+        FROM sys.t_app_menu menu
+             inner JOIN dkic_b.t_mst_role_fun roleFun ON menu.fun_uuid = roleFun.fun_uuid  and roleFun.role_id::uuid =  any ( (
+                 select  role_ids from dkic_b.t_mst_staff where staff_id = #{staffId}::uuid)::uuid[])
+             left JOIN   dkic_b.t_mst_staff_right staffRight ON menu.fun_uuid = staffRight.fun_uuid  and staffRight.staff_id = #{staffId}::uuid
+
+        WHERE menu.flg_valid
+          AND menu.flg_right
+          AND menu.object_code != 'home'
+        ORDER BY menu.level_code;
+    </select>
 </mapper>

+ 5 - 0
src/main/java/com/dk/mdm/model/vo/mst/StaffVO.java

@@ -9,6 +9,8 @@ import com.dk.common.infrastructure.annotaiton.ExportTitle;
 import com.dk.common.infrastructure.handler.UuidListTypeHandler;
 import com.dk.common.infrastructure.handler.UuidTypeHandler;
 import com.dk.common.model.pojo.PageInfo;
+import com.dk.mdm.model.pojo.mst.RoleFun;
+import com.dk.mdm.model.pojo.mst.StaffRight;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
@@ -18,6 +20,7 @@ import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
+import java.util.List;
 
 /**
  *  员工
@@ -118,6 +121,8 @@ public class StaffVO extends PageInfo<StaffVO> implements Serializable {
     @ApiModelProperty(value = "部门")
     private String orgName;
 
+    private List<StaffRight> staffRightList;
+
 
 
     private static final long serialVersionUID = 1L;

+ 47 - 6
src/main/java/com/dk/mdm/service/mst/StaffRightService.java

@@ -1,5 +1,8 @@
 package com.dk.mdm.service.mst;
 
+import com.dk.common.response.ResponseResultUtil;
+import com.dk.common.response.ResponseResultVO;
+import com.dk.mdm.model.pojo.mst.RoleFun;
 import com.dk.mdm.model.pojo.mst.StaffRight;
 import com.dk.mdm.mapper.mst.StaffRightMapper;
 import com.dk.common.service.BaseService;
@@ -8,16 +11,54 @@ import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author : 姜永辉
+ * @desc : 获取员工权限
+ * @date : 2024/2/26 10:36
+ */
 @Service
 @Transactional
 public class StaffRightService extends BaseService<StaffRight> {
 
-	@Override
-	public BaseMapper<StaffRight> getRepository() {
-		return staffRightMapper;
-	}
+    @Override
+    public BaseMapper<StaffRight> getRepository() {
+        return staffRightMapper;
+    }
+
+    @Autowired
+    private StaffRightMapper staffRightMapper;
+
+    /**
+     * @desc : 获取员工权限
+     * @author : 姜永辉
+     * @date : 2024/2/26 10:36
+     */
+    public ResponseResultVO<Map<String, Object>> getStaffRight(Map<String, Object> param) {
+        // 获取系统基础数据
+        List<Map<String, Object>> list = staffRightMapper.getStaffRight(param);
+        Map<String, Object> objectObjectHashMap = new HashMap<>();
+        objectObjectHashMap.put("list", list);
+        return ResponseResultUtil.success(objectObjectHashMap);
+    }
+
+
+    /**
+     * @desc : 保存员工权限
+     * @author : 姜永辉
+     * @date : 2024/2/26 10:36
+     */
+    @Transactional(rollbackFor = {Exception.class})
+    public ResponseResultVO<?> saveStaffRight(List<StaffRight> roleFun) {
+        staffRightMapper.insertBatch(roleFun);
+        return ResponseResultUtil.success();
+    }
 
-	@Autowired
-	private StaffRightMapper staffRightMapper;
+    public ResponseResultVO<Boolean> delete(String id) {
+        return  ResponseResultUtil.success(staffRightMapper.deleteById(new StaffRight().setStaffId(id)) > 0) ;
+    }
 
 }

+ 124 - 95
src/main/java/com/dk/mdm/service/mst/StaffService.java

@@ -7,12 +7,17 @@ import com.dk.common.response.ResponseCodeEnum;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.infrastructure.convert.mst.StaffConvert;
+import com.dk.mdm.model.pojo.mst.Role;
+import com.dk.mdm.model.pojo.mst.RoleFun;
 import com.dk.mdm.model.pojo.mst.Staff;
 import com.dk.mdm.mapper.mst.StaffMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.pojo.mst.StaffRight;
 import com.dk.mdm.model.query.core.StaffQuery;
+import com.dk.mdm.model.query.mst.RoleQuery;
 import com.dk.mdm.model.response.mst.StaffResponse;
+import com.dk.mdm.model.vo.mst.RoleVo;
 import com.dk.mdm.model.vo.mst.StaffVO;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -23,105 +28,129 @@ import java.util.List;
 import java.util.UUID;
 
 /**
- * @desc   : 员工API接口
  * @author : 姜永辉
- * @date   : 2023/1/4 9:25
+ * @desc : 员工API接口
+ * @date : 2023/1/4 9:25
  */
 @Service
 public class StaffService extends BaseService<Staff> {
 
-	@Override
-	public BaseMapper<Staff> getRepository() {
-		return staffMapper;
-	}
-
-	/**
-	 * @desc   : 重写主键
-	 * @author : 姜永辉
-	 * @date   : 2023/1/9 10:39
-	 */
-	@Override
-	public String getPrimaryKey() {
-		return "staff_id";
-	}
-
-	@Autowired
-	private StaffMapper staffMapper;
-
-	@Autowired
-	private StaffConvert staffConvert;
-
-	/**
-	 * @desc   : 条件查询
-	 * @author : 姜永辉
-	 * @date   : 2023/1/9 10:40
-	 */
-	@Pagination
-	public ResponseResultVO<PageList<StaffResponse>> selectByCond(StaffQuery staffQuery) {
-		return super.mergeListWithCount(staffQuery, staffMapper.selectByCond(staffQuery),
-				staffMapper.countByCond(staffQuery));
-	}
-
-	/**
-	 * @desc   : 保存方法
-	 * @author : 姜永辉
-	 * @date   : 2023/1/9 10:49
-	 */
-	@Transactional(
-			rollbackFor = {Exception.class}
-	)
-	public ResponseResultVO<?> insert(StaffVO staffVO) {
-		// 转化实体
-		Staff staff = staffConvert.convertToPo(staffVO);
-
-		return super.insert(staff);
-	}
-
-	/**
-	 * @desc   : 编辑方法
-	 * @author : 姜永辉
-	 * @date   : 2023/1/9 10:49
-	 */
-	@Transactional(
-			rollbackFor = {Exception.class}
-	)
-	public ResponseResultVO<Boolean> update(StaffVO staffVO) {
-		// 转化实体
-		Staff staff = staffConvert.convertToPo(staffVO);
-		return ResponseResultUtil.success(super.update(staff,new UpdateWrapper<Staff>().lambda().eq(Staff::getStaffId,
-				UUID.fromString(staff.getStaffId())))) ;
-	}
-
-	/**
-	 * @desc   : 员工离职
-	 * @author : 姜永辉
-	 * @date   : 2023/2/13 13:45
-	 */
-	@Transactional(
-			rollbackFor = {Exception.class}
-	)
-	public ResponseResultVO<Boolean> dimission(StaffVO staffVO) {
-
-
-
-		return ResponseResultUtil.success();
-	}
-
-	/**
-	 * @desc   : 导入员工
-	 * @author : 姜永辉
-	 * @date   : 2023/3/1 14:40
-	 */
-	@Transactional(
-			rollbackFor = {Exception.class}
-	)
-	public ResponseResultVO<Boolean> importStaffList(List<StaffVO> list) {
-		if (CollectionUtils.isEmpty(list) || list.size() == 0) {
-			return ResponseResultUtil.error(ResponseCodeEnum.INSERT_FAIL);
-		}
-
-
-		return ResponseResultUtil.success();
-	}
+    @Override
+    public BaseMapper<Staff> getRepository() {
+        return staffMapper;
+    }
+
+    /**
+     * @desc : 重写主键
+     * @author : 姜永辉
+     * @date : 2023/1/9 10:39
+     */
+    @Override
+    public String getPrimaryKey() {
+        return "staff_id";
+    }
+
+    @Autowired
+    private StaffMapper staffMapper;
+
+    @Autowired
+    private StaffConvert staffConvert;
+
+    @Autowired
+    private StaffRightService staffRightService;
+
+    /**
+     * @desc : 条件查询
+     * @author : 姜永辉
+     * @date : 2023/1/9 10:40
+     */
+    @Pagination
+    public ResponseResultVO<PageList<StaffResponse>> selectByCond(StaffQuery staffQuery) {
+        return super.mergeListWithCount(staffQuery, staffMapper.selectByCond(staffQuery),
+                staffMapper.countByCond(staffQuery));
+    }
+
+    /**
+     * @desc : 保存方法
+     * @author : 姜永辉
+     * @date : 2023/1/9 10:49
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<?> insert(StaffVO staffVO) {
+        // 转化实体
+        Staff staff = staffConvert.convertToPo(staffVO);
+
+        return super.insert(staff);
+    }
+
+    /**
+     * @desc : 编辑方法
+     * @author : 姜永辉
+     * @date : 2023/1/9 10:49
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<Boolean> update(StaffVO staffVO) {
+        // 转化实体
+        Staff staff = staffConvert.convertToPo(staffVO);
+        return ResponseResultUtil.success(super.update(staff, new UpdateWrapper<Staff>().lambda().eq(Staff::getStaffId,
+                UUID.fromString(staff.getStaffId()))));
+    }
+
+    /**
+     * @desc : 保存权限方法
+     * @author : 姜永辉
+     * @date : 2023/1/9 10:49
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<?> saveStaffRight(StaffVO staffVO) {
+        // 转化实体
+        Staff staff = staffConvert.convertToPo(staffVO);
+        staffRightService.delete(staffVO.getStaffId());
+        for (StaffRight staffRight : staffVO.getStaffRightList()) {
+            staffRight.setStaffId(staff.getStaffId());
+            staffRight.setRightType(1);
+            staffRight.setCpId(staff.getCpId());
+        }
+        staffRightService.saveStaffRight(staffVO.getStaffRightList());
+        return ResponseResultUtil.success();
+    }
+
+
+    /**
+     * @desc : 员工离职
+     * @author : 姜永辉
+     * @date : 2023/2/13 13:45
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<Boolean> dimission(StaffVO staffVO) {
+
+
+        return ResponseResultUtil.success();
+    }
+
+    /**
+     * @desc : 导入员工
+     * @author : 姜永辉
+     * @date : 2023/3/1 14:40
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<Boolean> importStaffList(List<StaffVO> list) {
+        if (CollectionUtils.isEmpty(list) || list.size() == 0) {
+            return ResponseResultUtil.error(ResponseCodeEnum.INSERT_FAIL);
+        }
+
+
+        return ResponseResultUtil.success();
+    }
 
 }