瀏覽代碼

Merge branch 'master' of http://47.92.104.23:3000/project/hongtaiyang

wanyong 6 月之前
父節點
當前提交
f5b5a207bc

+ 2 - 2
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/config/Swagger2Config.java

@@ -23,7 +23,7 @@ import static com.google.common.collect.Lists.newArrayList;
  * @author HE
  * @date 2022/2/27
  * @description Swagger2配置类
- * 访问路径:http://localhost:8080/swagger-ui.html
+ * 访问路径:http://localhost:9092/swagger-ui.html
  */
 @Configuration
 @EnableSwagger2
@@ -73,4 +73,4 @@ public class Swagger2Config extends WebMvcConfigurationSupport {
                 new ApiKey("token", "token", "header")
         );
     }
-}
+}

+ 114 - 27
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/ProjectController.java

@@ -1,6 +1,7 @@
 package com.qy.worksheetsystem.controller;
 
 import com.qy.worksheetsystem.model.MessageResult;
+import com.qy.worksheetsystem.service.ProjectPersonService;
 import com.qy.worksheetsystem.util.JWTUtil;
 import com.qy.worksheetsystem.vo.InsertJobWorkingVO;
 import io.swagger.annotations.Api;
@@ -10,44 +11,82 @@ import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 @RestController
 @RequestMapping("/work/project/")
-@Api(value = "项目管理、项目人员管理",tags="项目管理、项目人员管理")
+@Api(value = "项目管理、项目人员管理", tags = "项目管理、项目人员管理")
 public class ProjectController {
+    //项目管理 项目人员管理
+    @Resource
+    ProjectPersonService projectPersonService;
 
     @ApiOperation(value = "获取员工有效项目列表", notes = "获取员工有效项目列表")
     @RequestMapping(value = "/getProjectList", method = RequestMethod.GET)
     @ApiImplicitParams({
             @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-            @ApiImplicitParam(name = "projectName", value = "项目名称", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "state", value = "项目状态",  paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "state", value = "项目状态", paramType = "query", dataType = "String"),
     })
-    public MessageResult getProjectList(@RequestHeader("token") String token, String beginTime,String endTime) {
+    public MessageResult getProjectList(@RequestHeader("token") String token, String state) {
+        Map result = new HashMap();
 
         String number = JWTUtil.getCacheNumber(token);
         if (StringUtils.isEmpty(number)) {
             return MessageResult.error("token异常");
         }
-
-        return MessageResult.success().add("beginTime",beginTime).add("endTime",endTime);
+        //获取当前时间
+        Date currentDate = new Date();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        String dateTime = sdf.format(currentDate);
+        List<Map<String, String>> projectManagementByState = projectPersonService.getProjectListByState(state, dateTime);
+        if (projectManagementByState.size() > 0) {
+            result.put("code", 200);
+            result.put("data", projectManagementByState);
+            result.put("msg", "查询成功");
+
+        } else {
+            result.put("code", 500);
+            result.put("data", projectManagementByState);
+            result.put("msg", "未查询到数据!");
+        }
+        return MessageResult.success().add("data", result);
     }
 
     @ApiOperation(value = "获取员工时间范围内项目列表", notes = "获取员工时间范围内项目列表")
     @RequestMapping(value = "/getProjectByTimeList", method = RequestMethod.GET)
     @ApiImplicitParams({
             @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-            @ApiImplicitParam(name = "beginTime", value = "开始时间yyyy-MM-dd", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "endTime", value = "结束时间yyyy-MM-dd", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "state", value = "项目状态",  paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "state", value = "项目状态", paramType = "query", dataType = "String"),
     })
-    public MessageResult getProjectByTimeList(@RequestHeader("token") String token, String beginTime,String endTime,String state) {
-
+    public MessageResult getProjectByTimeList(@RequestHeader("token") String token, String state) {
+        Map result = new HashMap();
         String number = JWTUtil.getCacheNumber(token);
         if (StringUtils.isEmpty(number)) {
             return MessageResult.error("token异常");
         }
-
-        return MessageResult.success().add("beginTime",beginTime).add("endTime",endTime).add("state",state);
+        //获取当前时间
+        Date currentDate = new Date();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        String dateTime = sdf.format(currentDate);
+        List<Map<String, String>> projectManagementByState = projectPersonService.getProjectManagementByState(state, dateTime);
+        if (projectManagementByState.size() > 0) {
+            result.put("code", 200);
+            result.put("data", projectManagementByState);
+            result.put("msg", "查询成功");
+
+        } else {
+            result.put("code", 500);
+            result.put("data", projectManagementByState);
+            result.put("msg", "未查询到数据!");
+        }
+        return MessageResult.success().add("data", result);
     }
 
     @ApiOperation(value = "获取项目里面员工详情", notes = "获取项目里面员工详情")
@@ -62,7 +101,8 @@ public class ProjectController {
         if (StringUtils.isEmpty(number)) {
             return MessageResult.error("token异常");
         }
-        return MessageResult.success().add("id",id);
+        List<Map<String, String>> memberManagementcoll = projectPersonService.getMemberManagementInfoByPerobjectId(id);
+        return MessageResult.success().add("list", memberManagementcoll);
     }
 
     @ApiOperation(value = "获取项目里员工启用或禁用", notes = "获取项目里员工启用或禁用")
@@ -74,12 +114,22 @@ public class ProjectController {
             @ApiImplicitParam(name = "state", value = "true启用,false禁用", required = true, paramType = "query", dataType = "Boolean"),
     })
     public MessageResult enableDisablePerson(@RequestHeader("token") String token, String personID, String projectID, Boolean state) {
-
+        Map resultMap = new HashMap();
         String number = JWTUtil.getCacheNumber(token);
         if (StringUtils.isEmpty(number)) {
             return MessageResult.error("token异常");
         }
-        return MessageResult.success().add("personID",personID).add("projectID",projectID).add("state",state);
+        int updateNum = projectPersonService.updateStateByPersonIdAndPerobject(state, personID, projectID);
+        if (updateNum > 0) {
+            resultMap.put("code", 200);
+            resultMap.put("data", "修改条数:" + updateNum);
+            resultMap.put("msg", "修改成功");
+        } else {
+            resultMap.put("code", 500);
+            resultMap.put("data", "修改条数:" + updateNum);
+            resultMap.put("code", "修改失败");
+        }
+        return MessageResult.success().add("resultMap", resultMap);
     }
 
     @ApiOperation(value = "项目里员工添加员工", notes = "项目里员工添加员工")
@@ -91,42 +141,79 @@ public class ProjectController {
             @ApiImplicitParam(name = "projectRoleID", value = "项目角色", required = true, paramType = "query", dataType = "String"),
     })
     public MessageResult addProjectPerson(@RequestHeader("token") String token, String personID, String projectID, String projectRoleID) {
-
+        Map mapParam = new HashMap();
         String number = JWTUtil.getCacheNumber(token);
         if (StringUtils.isEmpty(number)) {
             return MessageResult.error("token异常");
         }
-        return MessageResult.success().add("personID",personID).add("projectID",projectID).add("String",projectRoleID);
+        //获取当前登录人
+        String currentUser = projectPersonService.getPersonIdBYNumber(number);
+        mapParam.put("personID", personID);
+        mapParam.put("currentUser", currentUser);
+        mapParam.put("projectID", projectID);
+        mapParam.put("projectRoleID", projectRoleID);
+        // 获取当前时间
+        LocalDateTime now = LocalDateTime.now();
+        // 定义时间格式化的模式
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        // 按照指定格式进行格式化
+        String formattedDateTime = now.format(formatter);
+        mapParam.put("dateTime", formattedDateTime);
+        mapParam.put("state", "1");
+        mapParam.put("controUnit", "00000000-0000-0000-0000-000000000000CCE7AED4");
+        mapParam.put("hrOrgUnit", "00000000-0000-0000-0000-000000000000CCE7AED4");
+        String id = projectPersonService.getMemberManagementID();
+        mapParam.put("id", id);
+        //获取项目名称和编码
+        Map<String, String> projectManagementMap = projectPersonService.getProjectManagementInfoBYId(projectID);
+        String projectName = projectManagementMap.get("projectName");
+        String projectNumber = projectManagementMap.get("number");
+        mapParam.put("projectName", projectName);
+        mapParam.put("projectNumber", projectNumber);
+
+        Map map = projectPersonService.addProjectPerson(mapParam);
+        return MessageResult.success().add("result", map);
     }
 
-    @ApiOperation(value = "选择员工列表", notes = "选择员工列表")
+    @ApiOperation(value = "获取所有人员信息", notes = "获取所有人员信息")
     @RequestMapping(value = "/getPersonList", method = RequestMethod.GET)
     @ApiImplicitParams({
             @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-            @ApiImplicitParam(name = "projectID", value = "项目ID", required = true, paramType = "query", dataType = "String"),
+            //@ApiImplicitParam(name = "projectID", value = "项目ID", required = true, paramType = "query", dataType = "String"),
     })
-    public MessageResult getPersonList(@RequestHeader("token") String token, String projectID) {
+    public MessageResult getPersonList(@RequestHeader("token") String token) {
 
         String number = JWTUtil.getCacheNumber(token);
         if (StringUtils.isEmpty(number)) {
             return MessageResult.error("token异常");
         }
-        return MessageResult.success().add("projectID",projectID);
+        List<Map<String, String>> personAll = projectPersonService.getPersonAll();
+        return MessageResult.success().add("persons", personAll);
     }
 
     @ApiOperation(value = "选择项目角色列表", notes = "选择项目角色列表")
     @RequestMapping(value = "/getProjectRoleList", method = RequestMethod.GET)
     @ApiImplicitParams({
             @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-            @ApiImplicitParam(name = "projectID", value = "项目ID", required = true, paramType = "query", dataType = "String"),
     })
-    public MessageResult getProjectRoleList(@RequestHeader("token") String token, String projectID) {
-
+    public MessageResult getProjectRoleList(@RequestHeader("token") String token) {
+        Map result = new HashMap();
         String number = JWTUtil.getCacheNumber(token);
         if (StringUtils.isEmpty(number)) {
             return MessageResult.error("token异常");
         }
-        return MessageResult.success().add("projectID",projectID);
+        List<Map<String, String>> data = projectPersonService.getProjectRoleList();
+        if (data.size() > 0) {
+            result.put("code", 200);
+            result.put("data", data);
+            result.put("msg", "查询成功");
+
+        } else {
+            result.put("code", 500);
+            result.put("data", data);
+            result.put("msg", "未查询到数据!");
+        }
+        return MessageResult.success().add("data", result);
     }
 
-}
+}

+ 160 - 25
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/ProjectMapper.java

@@ -1,6 +1,9 @@
 package com.qy.worksheetsystem.model.mapper;
 
+import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -15,30 +18,162 @@ import java.util.Map;
 @Repository
 public interface ProjectMapper {
 
-     Map<String,String> getProjectListSingle(@Param("number")String number, @Param("id")String id);
-     List<Map<String,String>> getProjectList(@Param("number")String number,
-                                             @Param("id")String id,@Param("OrgNumber")String OrgNumber);
-     List<Map<String,String>> getProjectListV2(@Param("number")String number,
-                                             @Param("id")String id,@Param("OrgNumber")String OrgNumber);
-     List<Map<String,Object>> getProjectByPNumber(@Param("number")String number);
-     List<Map<String,Object>> getProjectByPNumberV2(@Param("number")String number,@Param("OrgNumber")String OrgNumber);
-     List<Map<String,Object>> getProjectByPNumberV3(@Param("number")String number,@Param("OrgNumber")String OrgNumber);
-
-     List<Map<String,Object>> getProjectListToChild(@Param("number")String number,
-                                                    @Param("id")String id,@Param("OrgNumber")String OrgNumber);
-     List<Map<String,Object>> getProjectListToChildV2(@Param("number")String number,
-                                                    @Param("id")String id,@Param("OrgNumber")String OrgNumber);
-     String getProjectListToChildV3(@Param("number")String number,
-                                                      @Param("id")String id,@Param("OrgNumber")String OrgNumber);
-
-     /**
-      * 获取领导下属员工
-      * @param number
-      * @param id
-      * @param OrgNumber
-      * @return
-      */
-     List<String> getProjectListToChildV2ByPid(@Param("number")String number,
-                                                      @Param("id")String id,@Param("OrgNumber")String OrgNumber);
+    Map<String, String> getProjectListSingle(@Param("number") String number, @Param("id") String id);
+
+    List<Map<String, String>> getProjectList(@Param("number") String number,
+                                             @Param("id") String id, @Param("OrgNumber") String OrgNumber);
+
+    List<Map<String, String>> getProjectListV2(@Param("number") String number,
+                                               @Param("id") String id, @Param("OrgNumber") String OrgNumber);
+
+    List<Map<String, Object>> getProjectByPNumber(@Param("number") String number);
+
+    List<Map<String, Object>> getProjectByPNumberV2(@Param("number") String number, @Param("OrgNumber") String OrgNumber);
+
+    List<Map<String, Object>> getProjectByPNumberV3(@Param("number") String number, @Param("OrgNumber") String OrgNumber);
+
+    List<Map<String, Object>> getProjectListToChild(@Param("number") String number,
+                                                    @Param("id") String id, @Param("OrgNumber") String OrgNumber);
+
+    List<Map<String, Object>> getProjectListToChildV2(@Param("number") String number,
+                                                      @Param("id") String id, @Param("OrgNumber") String OrgNumber);
+
+    String getProjectListToChildV3(@Param("number") String number,
+                                   @Param("id") String id, @Param("OrgNumber") String OrgNumber);
+
+    /**
+     * 获取领导下属员工
+     *
+     * @param number
+     * @param id
+     * @param OrgNumber
+     * @return
+     */
+    List<String> getProjectListToChildV2ByPid(@Param("number") String number,
+                                              @Param("id") String id, @Param("OrgNumber") String OrgNumber);
+
+
+    //qingwux项目管理
+
+    /**
+     * 项目里员工添加员工
+     * personID      人员id
+     * projectID     项目id
+     * projectRoleID 项目角色id
+     *
+     * @return
+     */
+    //@Insert("insert CT_PRO_MemberManagement(CFEmployeeID,CFProjectManagementID,CFProjectRoleID) values (#{personID},#{projectID},#{projectRoleID})")
+    int addProjectPerson(Map<String, Object> mapParam);
+
+    /**
+     * 通过员工编码获取员工ID
+     *
+     * @param number
+     * @return
+     */
+    @Select("select  fid as id from t_bd_person where  fnumber = #{number} ")
+    String getPersonIdBYNumber(@Param("number") String number);
+
+
+    /**
+     * 获取项目管理名称和编码
+     *
+     * @param id
+     * @return
+     */
+    @Select("select CFProjectName as projectName ,FNumber as number  from CT_PRO_ProjectManagement where fid =#{id}")
+    Map getProjectManagementInfoBYId(@Param("id") String id);
+
+    /**
+     * 获取项目成员表id
+     *
+     * @return
+     */
+    @Select("select dbo.newbosid('B49500FE') as id")
+    String getMemberManagementID();
+
+    /**
+     * 启动禁用
+     *
+     * @param state
+     * @param personID
+     * @param projectID
+     * @return
+     */
+    @Update("update  CT_PRO_MemberManagement set CFState=#{state}  where CFEmployeeID = #{personID}  and CFProjectManagemen= #{projectID}")
+    int updateStateByPersonIdAndPerobject(@Param("state") String state, @Param("personID") String personID, @Param("projectID") String projectID);
+
+    /**
+     * 获取所有人员信息数据  Id 工号 名称 组织 职位
+     *
+     * @return
+     */
+    @Select("select\n" +
+            " person.fid as personId,\n" +
+            " person.Fname_l2 as personName,\n" +
+            " person.fnumber as personNumber,\n" +
+            " adminOrg.fid as adminOrgId,\n" +
+            " adminOrg.fnumber as adminOrgNumber,\n" +
+            "adminOrg.fname_l2 as adminOrgName,\n" +
+            "position.fid  as positionId,\n" +
+            "position.fnumber as positionNumber,\n" +
+            "position.fname_l2 as positionName\n" +
+            " from T_HR_PERSONPOSITION personPosition \n" +
+            "left join T_BD_person person on person.fid = personPosition.fpersonId\n" +
+            "left join T_org_admin adminOrg on adminOrg.fid = personPosition.FPersonDep\n" +
+            "left join T_ORG_Position  position on position.fid = personPosition.FPrimaryPositionID\n")
+    List<Map<String, String>> getPersonAll();
+
+    /**
+     * 通过项目id获取项目角色名称,角色  id,  人员id  人员名称
+     *
+     * @param perobjectId
+     * @return
+     */
+    @Select("\n" +
+            "select \n" +
+            "projectRole.fid as projectRoleId,\n" +
+            "projectRole.fname_l2 as projectRoleName,\n" +
+            "person.fid as personId,\n" +
+            "person.Fname_l2 as persnName,\n" +
+            "projectManagement.CFProjectName as projectName\n" +
+            " from CT_PRO_MemberManagement memberManagement\n" +
+            "left join  CT_PRO_ProjectRole projectRole on projectRole.fid = memberManagement.CFProjectRoleID\n" +
+            "left join T_BD_person person on person.fid = memberManagement.CFEmployeeID\n" +
+            "left join CT_PRO_ProjectManagement projectManagement on projectManagement.fid =memberManagement.CFProjectManagementID\n" +
+            "where CFProjectManagementID = #{perobjectId}\n")
+    List<Map<String, String>> getMemberManagementInfoByPerobjectId(@Param("perobjectId") String perobjectId);
+
+    /**
+     * 获取员工时间范围内项目列表
+     *
+     * @param state
+     * @return
+     */
+    List<Map<String, String>> getProjectManagementByState(String state, String dateTime);
+
+    /**
+     * 获取员工有效项目列表
+     *
+     * @param state
+     * @param dateTime
+     * @return
+     */
+    List<Map<String, String>> getProjectListByState(String state, String dateTime);
+
+    /**
+     * 选择项目角色列表
+     * @return
+     */
+    @Select("select\n" +
+            " projectRole.fid as id ,\n" +
+            " projectRole.fname_l2 as name ,\n" +
+            "projectType.fid as projectTypeId ,\n" +
+            "projectType.fname_l2 as projectTypeName \n" +
+            "from CT_PRO_ProjectRole projectRole\n" +
+            "left join CT_PRO_ProjectType projectType on projectType.fid = projectRole.CFTypeID\n" +
+            "\n")
+    List<Map<String, String>> getProjectRoleList();
 
 }

+ 43 - 562
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/ProjectMapper.xml

@@ -2,565 +2,46 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.qy.worksheetsystem.model.mapper.ProjectMapper">
 
-    <select id="getProjectListSingle" resultType="java.util.Map">
-        select top 1 p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-               org.FID orgId,org.FName_L2 orgName,org.FNumber orgNumber,
-               CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-               CONVERT(varchar(10) , org.FLEFFDT, 120 ) endDate,
-               isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-               p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber
-        from t_bd_person p
-                 left join T_HR_PERSONPOSITION pp on pp.fpersonid=p.fid
-                 left join T_ORG_Admin org on org.fid=pp.FPersonDep
-                 left join T_ORG_POSITION post on post.fid=pp.FPrimaryPositionID
-                 left join T_ORG_POSITION post2 on post2.FAdminOrgUnitID = org.FParentID and post2.FIsRespPosition=1
-                 left join T_HR_PERSONPOSITION pp2 on pp2.FPrimaryPositionID=isnull(org.FResponPositionID,post2.fid)
-                 left join t_bd_person p2 on p2.fid=pp2.fpersonid
-        where p.fnumber=#{number}
-        <if test='id != null and id != ""'>
-            and pp.FPersonDep=#{id}
-        </if>
-    </select>
-    <select id="getProjectList" resultType="java.util.Map">
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=1
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=1
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-        union
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=1
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=0
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-        union
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate,
-        post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=0
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=0
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-        union
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,
-        wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=0
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=1
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-    </select>
-    <select id="getProjectListV2" resultType="java.util.Map">
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=0
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        INNER join CT_WK_ManagerInfo mg on mg.CFPersonID=p.fid
-        left join t_bd_person p2 on p2.fid=mg.CFManagerID
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-        union
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=1
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        INNER join CT_WK_ManagerInfo mg on mg.CFPersonID=p.fid
-        left join t_bd_person p2 on p2.fid=mg.CFManagerID
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-    </select>
-    <select id="getProjectListToChildV2" resultType="java.util.Map">
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=1
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        INNER join CT_WK_ManagerInfo mg on mg.CFPersonID=p.fid
-        INNER join t_bd_person p2 on p2.fid=mg.CFManagerID
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p2.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-        union
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=0
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        INNER join CT_WK_ManagerInfo mg on mg.CFPersonID=p.fid
-        INNER join t_bd_person p2 on p2.fid=mg.CFManagerID
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p2.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-
-    </select>
-    <select id="getProjectListToChildV2ByPid" resultType="java.lang.String">
-        select p.fid pid
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=1
-
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        INNER join CT_WK_ManagerInfo mg on mg.CFPersonID=p.fid
-        INNER join t_bd_person p2 on p2.fid=mg.CFManagerID
-
-        where p2.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp.FADMINORGID=#{id}
-        </if>
-        union
-        select p.fid pid
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=0
-
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        INNER join CT_WK_ManagerInfo mg on mg.CFPersonID=p.fid
-        INNER join t_bd_person p2 on p2.fid=mg.CFManagerID
-
-        where p2.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp.FADMINORGID=#{id}
-        </if>
-
-    </select>
-    <select id="getProjectListToChild" resultType="java.util.Map">
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=1
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=1
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p2.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-        union
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=1
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=0
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p2.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-        union
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate,
-        post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=0
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=0
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p2.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-        union
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,
-        wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=0
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=1
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p2.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-    </select>
-
-    <select id="getProjectByPNumber" resultType="java.util.Map" parameterType="String">
-        select child.* from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex((adcount.flongnumber+'!'),child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-        where  adcount.fid in(
-            select pp.FADMINORGID from t_bd_person p
-            inner join T_HR_EmpOrgRelation pp on  pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31'
-            where p.fnumber=#{number}
-            )
-    </select>
-    <select id="getProjectByPNumberV2" resultType="java.util.Map">
-        select
-        org.FID FID,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        org.FParentID,
-        p.fid managerId,p.fname_l2 managerName,p.fnumber managerNumber,
-        post.fid, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        left join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31'  and pp.FASSIGNTYPE=1
-        left join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on  post.fid=post2.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=1
-        left join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        left join T_ORG_Admin org2 on org.FParentID=org2.fid
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp.FADMINORGID in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-        union
-        select
-        org.FID FID,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        org.FParentID,
-        p.fid managerId,p.fname_l2 managerName,p.fnumber managerNumber,
-        post.fid, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        left join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31'  and pp.FASSIGNTYPE=0
-        left join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on  post.fid=post2.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=0
-        left join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        left join T_ORG_Admin org2 on org.FParentID=org2.fid
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp.FADMINORGID in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-        union
-        select
-        org.FID FID,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        org.FParentID,
-        p.fid managerId,p.fname_l2 managerName,p.fnumber managerNumber,
-        post.fid, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        left join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31'  and pp.FASSIGNTYPE=1
-        left join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on  post.fid=post2.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=0
-        left join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        left join T_ORG_Admin org2 on org.FParentID=org2.fid
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp.FADMINORGID in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-        union
-        select
-        org.FID FID,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        org.FParentID,
-        p.fid managerId,p.fname_l2 managerName,p.fnumber managerNumber,
-        post.fid, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        left join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31'  and pp.FASSIGNTYPE=0
-        left join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on  post.fid=post2.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=1
-        left join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        left join T_ORG_Admin org2 on org.FParentID=org2.fid
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp.FADMINORGID in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-    </select>
-    <select id="getProjectByPNumberV3" resultType="java.util.Map">
-        select
-        org.FID FID,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        org.FParentID,
-        p.fid managerId,p.fname_l2 managerName,p.fnumber managerNumber,
-        post.fid, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        left join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31'  and pp.FASSIGNTYPE=1
-        left join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        left join T_ORG_Admin org2 on org.FParentID=org2.fid
-        left join CT_WK_ManagerInfo mg on mg.CFPersonID=p.fid
-        left join t_bd_person p2 on p2.fid=mg.CFManagerID
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp.FADMINORGID in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-        union
-        select
-        org.FID FID,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        org.FParentID,
-        p.fid managerId,p.fname_l2 managerName,p.fnumber managerNumber,
-        post.fid, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        left join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31'  and pp.FASSIGNTYPE=0
-        left join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        left join T_ORG_Admin org2 on org.FParentID=org2.fid
-        left join CT_WK_ManagerInfo mg on mg.CFPersonID=p.fid
-        left join t_bd_person p2 on p2.fid=mg.CFManagerID
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp.FADMINORGID in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-    </select>
-</mapper>
+    <insert id="addProjectPerson">
+        insert
+        CT_PRO_MemberManagement(fid,CFEmployeeID,CFProjectManagementID,CFProjectRoleID,FCreatorID,FLastUpdateUserID,
+               FCreateTime,FLastUpdateTime,FControlUnitID,CFState,CFProjectCode,CFProjectName,CFProjectManagemen,FHROrgUnitID)
+               values (
+        #{id},
+        #{personID},
+        #{projectID},
+        #{projectRoleID},
+        #{currentUser},
+        #{currentUser},
+        #{dateTime},
+        #{dateTime},
+        #{controUnit},
+        #{state},
+        #{projectName},
+        #{projectNumber},
+        #{projectID},
+        #{hrOrgUnit}
+        )
+    </insert>
+
+    <select id="getProjectManagementByState"  resultType="java.util.Map">
+        select * from CT_PRO_ProjectManagement where CFExpectedEndTime
+        <if test="state==1">
+            &gt;=
+        </if>
+        <if test="state==2">
+            &lt;=
+        </if>
+        #{dateTime}
+    </select>
+    <select id="getProjectListByState"  resultType="java.util.Map">
+        select fid as id ,fnumber as number ,CFProjectName as name from CT_PRO_ProjectManagement where CFExpectedEndTime
+        <if test="state==1">
+            &gt;=
+        </if>
+        <if test="state==2">
+            &lt;=
+        </if>
+        #{dateTime}
+    </select>
+</mapper>

+ 91 - 0
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/ProjectPersonService.java

@@ -0,0 +1,91 @@
+package com.qy.worksheetsystem.service;
+
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author qingwu
+ * @date 2024/12/5
+ * @apiNote
+ */
+public interface ProjectPersonService {
+    /**
+     * 项目里员工添加员工
+     *
+     * @return
+     */
+    public Map addProjectPerson(Map<String, Object> mapParam);
+
+    /**
+     * 通过人员编码获取员工ID
+     *
+     * @param number
+     * @return
+     */
+    public String getPersonIdBYNumber(String number);
+
+    /**
+     * 通过id获取项目管理名称和编码
+     *
+     * @param id
+     * @return
+     */
+    public Map getProjectManagementInfoBYId(String id);
+
+    /**
+     * 获取项目成员表id
+     *
+     * @return
+     */
+    public String getMemberManagementID();
+
+    /**
+     * 启用禁用
+     *
+     * @param state
+     * @param personID
+     * @param projectID
+     * @return
+     */
+    public int updateStateByPersonIdAndPerobject(boolean state, String personID, String projectID);
+
+    /**
+     * 获取所有人员信息数据  Id 工号 名称 组织 职位
+     *
+     * @return
+     */
+    List<Map<String, String>> getPersonAll();
+
+    /**
+     * 通过项目id获取项目角色名称,角色  id,  人员id  人员名称
+     *
+     * @param perobjectId
+     * @return
+     */
+    List<Map<String, String>> getMemberManagementInfoByPerobjectId(String perobjectId);
+
+
+    /**
+     * 获取员工时间范围内项目列表
+     *
+     * @param state
+     * @return
+     */
+    List<Map<String, String>> getProjectManagementByState(String state,String dateTime);
+    /**
+     * 获取员工有效项目列表
+     * @param state
+     * @param dateTime
+     * @return
+     */
+    List<Map<String, String>> getProjectListByState(String state,String dateTime);
+    /**
+     * 选择项目角色列表
+     * @return
+     */
+
+    List<Map<String, String>> getProjectRoleList();
+}

+ 90 - 0
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/ProjectPersonServiceImpl.java

@@ -0,0 +1,90 @@
+package com.qy.worksheetsystem.service.impl;
+
+import com.qy.worksheetsystem.model.mapper.ProjectMapper;
+import com.qy.worksheetsystem.service.ProjectPersonService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author qingwu
+ * @date 2024/12/5
+ * @apiNote
+ */
+@Slf4j
+@Service
+public class ProjectPersonServiceImpl implements ProjectPersonService {
+
+    @Resource
+    private ProjectMapper projectMapper;
+
+    @Override
+    public List<Map<String, String>> getProjectRoleList() {
+        return projectMapper.getProjectRoleList();
+    }
+
+    @Override
+    public List<Map<String, String>> getProjectListByState(String state, String dateTime) {
+        return projectMapper.getProjectListByState(state, dateTime);
+    }
+
+    @Override
+    public List<Map<String, String>> getProjectManagementByState(String state, String dateTime) {
+        return projectMapper.getProjectManagementByState(state, dateTime);
+    }
+
+    @Override
+    public List<Map<String, String>> getMemberManagementInfoByPerobjectId(String perobjectId) {
+        return projectMapper.getMemberManagementInfoByPerobjectId(perobjectId);
+    }
+
+    @Override
+    public List<Map<String, String>> getPersonAll() {
+        return projectMapper.getPersonAll();
+    }
+
+    @Override
+    public int updateStateByPersonIdAndPerobject(boolean state, String personID, String projectID) {
+        String status = "1";
+        if (!state) {
+            status = "0";
+        }
+        return projectMapper.updateStateByPersonIdAndPerobject(status, personID, projectID);
+    }
+
+    @Override
+    public String getMemberManagementID() {
+        return projectMapper.getMemberManagementID();
+    }
+
+    @Override
+    public String getPersonIdBYNumber(String number) {
+        return projectMapper.getPersonIdBYNumber(number);
+    }
+
+    @Override
+    public Map getProjectManagementInfoBYId(String id) {
+        return projectMapper.getProjectManagementInfoBYId(id);
+    }
+
+    @Override
+    public Map addProjectPerson(Map<String, Object> mapParam) {
+        Map map = new HashMap();
+        int insertNum = projectMapper.addProjectPerson(mapParam);
+        if (insertNum != 1) {
+            map.put("code", "500");
+            map.put("status", insertNum);
+            map.put("msg", "新增失败");
+        } else {
+            map.put("code", "200");
+            map.put("status", insertNum);
+            map.put("msg", "新增成功");
+        }
+        return map;
+    }
+
+}