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

[task-4878] 管理体系岗位说明书关联到人员档案卡

xiexh 8 месяцев назад
Родитель
Сommit
3f15aac2f1

+ 44 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/hrm/control/PersonnelManagementController.java

@@ -0,0 +1,44 @@
+package com.lc.ibps.hrm.control;
+
+import com.lc.ibps.api.base.constants.StateEnum;
+import com.lc.ibps.base.core.util.I18nUtil;
+import com.lc.ibps.cloud.entity.APIResult;
+import com.lc.ibps.cloud.provider.GenericProvider;
+import com.lc.ibps.hrm.service.PersonnelManagementService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * @title: xiexh
+ * @date 2025/08/11 14:37
+ */
+@Slf4j
+@Api(tags = "人员管理模块")
+@RequestMapping("/PersonnelManagement")
+@RestController
+public class PersonnelManagementController extends GenericProvider {
+    @Autowired
+    PersonnelManagementService personnelManagementService;
+
+
+    @ApiOperation("人员档案卡岗位快照")
+    @PostMapping("/dept/snapshot")
+    APIResult queryData(@RequestBody(required = true) Map<String,Object> map) throws Exception{
+        APIResult result = new APIResult<>();
+        try {
+            result = personnelManagementService.queryDeptSnapshot(map);
+        } catch (Exception e) {
+            setExceptionResult(result, StateEnum.ILLEGAL_REQUEST.getCode(), I18nUtil.getMessage(StateEnum.ILLEGAL_REQUEST.getCode() + ""), e);
+        }
+        return result;
+
+    }
+}

+ 18 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/hrm/dao/PersonnelManagementDao.java

@@ -0,0 +1,18 @@
+package com.lc.ibps.hrm.dao;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @title: 人员管理
+ * @date 2025/08/11 14:37
+ */
+@Mapper
+public interface PersonnelManagementDao {
+
+    List<Map<String, Object>> querySnapshoot(@Param("map") Map<String, Object> map);
+
+}

+ 19 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/hrm/service/PersonnelManagementService.java

@@ -0,0 +1,19 @@
+package com.lc.ibps.hrm.service;
+
+import com.lc.ibps.cloud.entity.APIResult;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.Map;
+
+/**
+ * @title: xiexh
+ * @date 2025/08/11 14:37
+ */
+public interface PersonnelManagementService {
+
+    /**
+     * 分页查询接口
+     */
+    APIResult<Object> queryDeptSnapshot(@RequestBody(required = true) Map<String,Object> map)throws Exception ;
+
+}

+ 102 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/hrm/service/imple/PersonnelManagementServiceImpl.java

@@ -0,0 +1,102 @@
+package com.lc.ibps.hrm.service.imple;
+
+import com.lc.ibps.api.base.constants.StateEnum;
+import com.lc.ibps.base.core.constants.StringPool;
+import com.lc.ibps.base.core.util.AppUtil;
+import com.lc.ibps.base.core.util.BeanUtils;
+import com.lc.ibps.base.core.util.I18nUtil;
+import com.lc.ibps.base.framework.table.ICommonDao;
+import com.lc.ibps.base.web.context.ContextUtil;
+import com.lc.ibps.cloud.entity.APIPageList;
+import com.lc.ibps.cloud.entity.APIPageResult;
+import com.lc.ibps.cloud.entity.APIResult;
+import com.lc.ibps.cloud.provider.GenericProvider;
+import com.lc.ibps.hrm.dao.PersonnelManagementDao;
+import com.lc.ibps.hrm.service.PersonnelManagementService;
+import com.lc.ibps.org.api.IPartyPositionService;
+import com.lc.ibps.org.party.persistence.entity.PartyPositionPo;
+import com.lc.ibps.sysdata.dao.UpdateDataTableDao;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @title: xiexh
+ * @date 2025/08/11 14:37
+ */
+@Service
+@Slf4j
+public class PersonnelManagementServiceImpl extends GenericProvider implements PersonnelManagementService {
+
+    @Autowired
+    PersonnelManagementDao personnelManagementDao;
+    @Autowired
+    UpdateDataTableDao updateDataTableDao;
+    @Resource
+    private ICommonDao<?> commonDao;
+
+    @Override
+    public APIResult<Object> queryDeptSnapshot(Map<String, Object> map) throws Exception {
+        APIResult<Object> result = new APIResult<>();
+        try {
+            int pageNo = Integer.parseInt(map.get("pageNo").toString());
+            int limit = Integer.parseInt(map.get("limit").toString());
+            int startPage = limit*(pageNo-1);
+            map.put("startPage",startPage);
+            Map mapDeal = getMapV2(map);
+            List<Map<String,Object>> list = personnelManagementDao.querySnapshoot(mapDeal);
+            APIPageList<Map<String,Object>> pageList = getAPIPageList(list);
+            APIPageResult pageResult = new APIPageResult();
+            pageResult.setTotalCount(1);
+            pageResult.setLimit(limit);
+            pageResult.setPage(pageNo);
+            pageList.setPageResult(pageResult);
+            result.setData(pageList);
+        } catch (Exception e) {
+            setExceptionResult(result, StateEnum.ERROR_FORM_BO.getCode(), I18nUtil.getMessage(StateEnum.ERROR_FORM_BO.getCode()+""), e);
+        }
+        return result;
+    }
+
+    private Map getMapV2(Map<String, Object> map) {
+            HashMap<String, Object> stringObjectHashMap = new HashMap<>();
+
+            if (BeanUtils.isNotEmpty(map)) {
+                stringObjectHashMap.put("pageNo", map.get("pageNo"));
+                stringObjectHashMap.put("limit", map.get("limit"));
+                stringObjectHashMap.put("startPage", map.get("startPage"));
+                stringObjectHashMap.put("locationId", getDiDian());
+                if(BeanUtils.isNotEmpty(map.get("param"))){
+                    Map param = (Map) map.get("param");
+                    if(BeanUtils.isNotEmpty(param.get("gangWei"))){
+                        // 将逗号分隔的字符串拆分为List
+                        String gangweiStr= (String) param.get("gangWei");
+                        List<String> gangweiList = Arrays.asList(gangweiStr.trim().split("\\s*,\\s*"));
+                        stringObjectHashMap.put("gangWei",gangweiList);
+                    }
+                }
+            }
+            return stringObjectHashMap;
+
+    }
+
+    //获取当前用户地点,前端可以不用传
+    private String getDiDian() {
+        IPartyPositionService partyPositionService = AppUtil.getBean(IPartyPositionService.class);
+        APIResult<List<PartyPositionPo>> result = partyPositionService.findByUserId(ContextUtil.getCurrentUserId());
+        String diDian ="";
+        try {
+            diDian = result.getData().get(0).getPath().split(StringPool.BACK_SLASH + StringPool.DOT)[1];
+        }catch (Exception ex){
+            log.error("Can't get didian information",ex);
+            return null;
+        }
+        return diDian;
+    }
+}

+ 17 - 0
ibps-provider-root/modules/provider-business/src/main/resources/com/lc/ibps/klimsibps/mapping/PersonnelManagementMapper.xml

@@ -0,0 +1,17 @@
+<?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.lc.ibps.hrm.dao.PersonnelManagementDao">
+
+    <select id="querySnapshoot" parameterType="java.util.Map" resultType="java.util.Map">
+      select  id_,
+              gang_wei_,
+              kuai_zhao_
+             from  t_gltxgwsms
+             where
+        <foreach item="id" index="index" collection="map.gangWei" open="(" separator="OR" close=")">
+            gang_wei_ LIKE CONCAT('%', #{id}, '%')
+        </foreach>
+        ORDER BY CREATE_TIME_ DESC
+    </select>
+
+</mapper>