Commit 8b49e6d2 by 墨竹

feat:企微同步通讯录处理部门

parent a94d9250
...@@ -83,6 +83,8 @@ public class MessageApiServiceImpl implements MessageApiService { ...@@ -83,6 +83,8 @@ public class MessageApiServiceImpl implements MessageApiService {
private SecretSettingService secretSettingService; private SecretSettingService secretSettingService;
@Autowired @Autowired
private DepartmentApiService departmentApiService; private DepartmentApiService departmentApiService;
@Autowired
private WxApplicationApiService wxApplicationApiService;
@Override @Override
public void gicMessageReceive(GicMessageDTO gicMessageDTO) { public void gicMessageReceive(GicMessageDTO gicMessageDTO) {
...@@ -277,15 +279,38 @@ public class MessageApiServiceImpl implements MessageApiService { ...@@ -277,15 +279,38 @@ public class MessageApiServiceImpl implements MessageApiService {
*/ */
private void dealDepartment(QywxCallBackDTO qywxCallBackDTO) { private void dealDepartment(QywxCallBackDTO qywxCallBackDTO) {
log.info("处理部门:{}", qywxCallBackDTO); log.info("处理部门:{}", qywxCallBackDTO);
Integer wxDeptId = qywxCallBackDTO.getId();
String authCorpId = qywxCallBackDTO.getAuthCorpId();
DepartmentDTO departmentDTO = new DepartmentDTO(); DepartmentDTO departmentDTO = new DepartmentDTO();
departmentDTO.setDepartmentName(qywxCallBackDTO.getDepartmentName());
departmentDTO.setIsStore(0); departmentDTO.setIsStore(0);
TabHaobanWxEnterprise enterprise = this.enterpriseService.getEnterpriseBycorpId(qywxCallBackDTO.getAuthCorpId()); TabHaobanWxEnterprise enterprise = this.enterpriseService.getEnterpriseBycorpId(authCorpId);
if (enterprise == null) {
log.info("为查询到企业:authCorpId:{}", authCorpId);
return;
}
String wxEnterpriseId = enterprise.getWxEnterpriseId();
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.HAOBAN_HELP.getVal());
if (null == secretSetting || secretSetting.getCheckFlag() == 0) {
log.info("没有配置secret:{}", wxEnterpriseId);
return;
}
String corpid = "";
String secret = secretSetting.getSecretVal();
if (authCorpId.length() > 20) {
WxApplicationDTO application = wxApplicationApiService.selectByWxEnterpriseIdAndApplicationType(wxEnterpriseId, 3);
if (application != null) {
corpid = application.getCorpid();
}
} else {
corpid = authCorpId;
}
com.gic.wechat.api.dto.qywx.DepartmentDTO deptDetail = qywxDepartmentApiService.getSelfDepartmentById(corpid, secret, wxDeptId);
departmentDTO.setDepartmentName(deptDetail.getName());
TabHaobanDepartment parentDepartment = new TabHaobanDepartment(); TabHaobanDepartment parentDepartment = new TabHaobanDepartment();
if (qywxCallBackDTO.getParentId() != null) { if (qywxCallBackDTO.getParentId() != null) {
parentDepartment = this.departmentService.getByWxId(qywxCallBackDTO.getParentId() + "", enterprise.getWxEnterpriseId()); parentDepartment = this.departmentService.getByWxId(qywxCallBackDTO.getParentId() + "", wxEnterpriseId);
} else { } else {
TabHaobanDepartment oldDepartment = this.departmentService.getByWxId(qywxCallBackDTO.getId() + "", enterprise.getWxEnterpriseId()); TabHaobanDepartment oldDepartment = this.departmentService.getByWxId(wxDeptId + "", wxEnterpriseId);
if (oldDepartment != null) { if (oldDepartment != null) {
parentDepartment = departmentService.selectById(oldDepartment.getParentDepartmentId()); parentDepartment = departmentService.selectById(oldDepartment.getParentDepartmentId());
} }
...@@ -293,7 +318,7 @@ public class MessageApiServiceImpl implements MessageApiService { ...@@ -293,7 +318,7 @@ public class MessageApiServiceImpl implements MessageApiService {
String changeType = qywxCallBackDTO.getChangeType(); String changeType = qywxCallBackDTO.getChangeType();
if (!changeType.equals(WxEditType.DELETE_DEPART.getCode())) { if (!changeType.equals(WxEditType.DELETE_DEPART.getCode())) {
if (parentDepartment == null) { if (parentDepartment == null) {
log.info("微信同步父部门不存在"); log.info("企微同步父部门不存在");
return; return;
} }
departmentDTO.setParentDepartmentId(parentDepartment.getDepartmentId()); departmentDTO.setParentDepartmentId(parentDepartment.getDepartmentId());
...@@ -301,16 +326,16 @@ public class MessageApiServiceImpl implements MessageApiService { ...@@ -301,16 +326,16 @@ public class MessageApiServiceImpl implements MessageApiService {
departmentDTO.setChainName(parentDepartment.getChainName() + Constant.NAME_SEPARATOR + parentDepartment.getChainName()); departmentDTO.setChainName(parentDepartment.getChainName() + Constant.NAME_SEPARATOR + parentDepartment.getChainName());
departmentDTO.setLevel(parentDepartment.getLevel() + 1); departmentDTO.setLevel(parentDepartment.getLevel() + 1);
} }
departmentDTO.setWxEnterpriseId(enterprise.getWxEnterpriseId()); departmentDTO.setWxEnterpriseId(wxEnterpriseId);
departmentDTO.setWxDepartmentId(qywxCallBackDTO.getId() + ""); departmentDTO.setWxDepartmentId(wxDeptId + "");
if (qywxCallBackDTO.getParentId() != null) { if (qywxCallBackDTO.getParentId() != null) {
List<com.gic.wechat.api.dto.qywx.DepartmentDTO> list = this.qywxDepartmentApiService.listDepartment(qywxCallBackDTO.getAuthCorpId(), qywxCallBackDTO.getSuiteId(), qywxCallBackDTO.getParentId()); List<com.gic.wechat.api.dto.qywx.DepartmentDTO> list = this.qywxDepartmentApiService.listSelfDepartment(corpid, secret, qywxCallBackDTO.getParentId());
if (list != null) { if (list != null) {
for (com.gic.wechat.api.dto.qywx.DepartmentDTO wxDepartmentDTO : list) { for (com.gic.wechat.api.dto.qywx.DepartmentDTO wxDepartmentDTO : list) {
if (Convert.toStr(wxDepartmentDTO.getId()).equals(departmentDTO.getDepartmentId())) { if (Convert.toStr(wxDepartmentDTO.getId()).equals(departmentDTO.getDepartmentId())) {
departmentDTO.setSort(qywxCallBackDTO.getOrder()); departmentDTO.setSort(qywxCallBackDTO.getOrder());
} else { } else {
TabHaobanDepartment tab = this.departmentService.getByWxId(wxDepartmentDTO.getId() + "", enterprise.getWxEnterpriseId()); TabHaobanDepartment tab = this.departmentService.getByWxId(wxDepartmentDTO.getId() + "", wxEnterpriseId);
if (tab != null) { if (tab != null) {
tab.setSort(wxDepartmentDTO.getOrder()); tab.setSort(wxDepartmentDTO.getOrder());
this.departmentService.edit(EntityUtil.changeEntityByJSON(DepartmentDTO.class, tab)); this.departmentService.edit(EntityUtil.changeEntityByJSON(DepartmentDTO.class, tab));
...@@ -324,7 +349,7 @@ public class MessageApiServiceImpl implements MessageApiService { ...@@ -324,7 +349,7 @@ public class MessageApiServiceImpl implements MessageApiService {
this.departmentService.add(departmentDTO); this.departmentService.add(departmentDTO);
} else if (changeType.equals(WxEditType.UPDATE_DEPART.getCode())) { } else if (changeType.equals(WxEditType.UPDATE_DEPART.getCode())) {
log.info("企微修改部门同步"); log.info("企微修改部门同步");
TabHaobanDepartment department = this.departmentService.getByWxId(qywxCallBackDTO.getId() + "", enterprise.getWxEnterpriseId()); TabHaobanDepartment department = this.departmentService.getByWxId(wxDeptId + "", wxEnterpriseId);
if (department == null) { if (department == null) {
String response = this.departmentService.add(departmentDTO); String response = this.departmentService.add(departmentDTO);
log.info("企微同步新增部门:{}", JSON.toJSONString(response)); log.info("企微同步新增部门:{}", JSON.toJSONString(response));
...@@ -336,7 +361,7 @@ public class MessageApiServiceImpl implements MessageApiService { ...@@ -336,7 +361,7 @@ public class MessageApiServiceImpl implements MessageApiService {
} }
} else if (changeType.equals(WxEditType.DELETE_DEPART.getCode())) { } else if (changeType.equals(WxEditType.DELETE_DEPART.getCode())) {
log.info("企微删除部门同步"); log.info("企微删除部门同步");
TabHaobanDepartment department = this.departmentService.getByWxId(qywxCallBackDTO.getId() + "", enterprise.getWxEnterpriseId()); TabHaobanDepartment department = this.departmentService.getByWxId(wxDeptId + "", wxEnterpriseId);
if (department == null) { if (department == null) {
log.info("企微同步删除部门不存在"); log.info("企微同步删除部门不存在");
} else { } else {
......
<?xml version="1.0" encoding="UTF-8" ?> <?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" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.gic.haoban.manage.service.dao.mapper.StaffDepartmentRelatedMapper" > <mapper namespace="com.gic.haoban.manage.service.dao.mapper.StaffDepartmentRelatedMapper">
<resultMap id="BaseResultMap" type="com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated" > <resultMap id="BaseResultMap" type="com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated">
<id column="staff_department_related_id" property="staffDepartmentRelatedId" jdbcType="VARCHAR" /> <id column="staff_department_related_id" property="staffDepartmentRelatedId" jdbcType="VARCHAR"/>
<result column="staff_id" property="staffId" jdbcType="VARCHAR" /> <result column="staff_id" property="staffId" jdbcType="VARCHAR"/>
<result column="phone_number" property="phoneNumber" jdbcType="VARCHAR" /> <result column="phone_number" property="phoneNumber" jdbcType="VARCHAR"/>
<result column="nation_code" property="nationCode" jdbcType="VARCHAR" /> <result column="nation_code" property="nationCode" jdbcType="VARCHAR"/>
<result column="wx_user_id" property="wxUserId" jdbcType="VARCHAR" /> <result column="wx_user_id" property="wxUserId" jdbcType="VARCHAR"/>
<result column="wx_enterprise_id" property="wxEnterpriseId" jdbcType="VARCHAR" /> <result column="wx_enterprise_id" property="wxEnterpriseId" jdbcType="VARCHAR"/>
<result column="department_id" property="departmentId" jdbcType="VARCHAR" /> <result column="department_id" property="departmentId" jdbcType="VARCHAR"/>
<result column="status_flag" property="statusFlag" jdbcType="INTEGER" /> <result column="status_flag" property="statusFlag" jdbcType="INTEGER"/>
<result column="clerk_code" property="clerkCode" jdbcType="VARCHAR" /> <result column="clerk_code" property="clerkCode" jdbcType="VARCHAR"/>
<result column="staff_name" property="staffName" jdbcType="VARCHAR" /> <result column="staff_name" property="staffName" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" /> <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
</resultMap> </resultMap>
<sql id="Base_Column_List" > <sql id="Base_Column_List">
staff_department_related_id, staff_id, phone_number, nation_code, wx_user_id, department_id, staff_department_related_id, staff_id, phone_number, nation_code, wx_user_id, department_id,
status_flag, clerk_code, create_time, update_time,wx_enterprise_id,staff_name status_flag, clerk_code, create_time, update_time,wx_enterprise_id,staff_name
</sql> </sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" > <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from tab_haoban_staff_department_related from tab_haoban_staff_department_related
where staff_department_related_id = #{staffDepartmentRelatedId,jdbcType=VARCHAR} where staff_department_related_id = #{staffDepartmentRelatedId,jdbcType=VARCHAR}
</select> </select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String" > <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from tab_haoban_staff_department_related delete
from tab_haoban_staff_department_related
where staff_department_related_id = #{staffDepartmentRelatedId,jdbcType=VARCHAR} where staff_department_related_id = #{staffDepartmentRelatedId,jdbcType=VARCHAR}
</delete> </delete>
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated" > <insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated">
insert into tab_haoban_staff_department_related (staff_department_related_id, staff_id, insert into tab_haoban_staff_department_related (staff_department_related_id, staff_id,
phone_number, nation_code, wx_user_id, phone_number, nation_code, wx_user_id,
department_id, status_flag, clerk_code, department_id, status_flag, clerk_code,
create_time, update_time,wx_enterprise_id,staff_name) create_time, update_time, wx_enterprise_id, staff_name)
values (#{staffDepartmentRelatedId,jdbcType=VARCHAR}, #{staffId,jdbcType=VARCHAR}, values (#{staffDepartmentRelatedId,jdbcType=VARCHAR}, #{staffId,jdbcType=VARCHAR},
#{phoneNumber,jdbcType=VARCHAR}, #{nationCode,jdbcType=VARCHAR}, #{wxUserId,jdbcType=VARCHAR}, #{phoneNumber,jdbcType=VARCHAR}, #{nationCode,jdbcType=VARCHAR}, #{wxUserId,jdbcType=VARCHAR},
#{departmentId,jdbcType=VARCHAR}, #{statusFlag,jdbcType=INTEGER}, #{clerkCode,jdbcType=VARCHAR}, #{departmentId,jdbcType=VARCHAR}, #{statusFlag,jdbcType=INTEGER}, #{clerkCode,jdbcType=VARCHAR},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},#{wxEnterpriseId},#{staffName}) #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{wxEnterpriseId}, #{staffName})
</insert> </insert>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated" > <insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated">
insert into tab_haoban_staff_department_related insert into tab_haoban_staff_department_related
<trim prefix="(" suffix=")" suffixOverrides="," > <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="staffDepartmentRelatedId != null" > <if test="staffDepartmentRelatedId != null">
staff_department_related_id, staff_department_related_id,
</if> </if>
<if test="staffId != null" > <if test="staffId != null">
staff_id, staff_id,
</if> </if>
<if test="phoneNumber != null" > <if test="phoneNumber != null">
phone_number, phone_number,
</if> </if>
<if test="nationCode != null" > <if test="nationCode != null">
nation_code, nation_code,
</if> </if>
<if test="wxUserId != null" > <if test="wxUserId != null">
wx_user_id, wx_user_id,
</if> </if>
<if test="wxEnterpriseId != null" > <if test="wxEnterpriseId != null">
wx_enterprise_id, wx_enterprise_id,
</if> </if>
<if test="departmentId != null" > <if test="departmentId != null">
department_id, department_id,
</if> </if>
<if test="statusFlag != null" > <if test="statusFlag != null">
status_flag, status_flag,
</if> </if>
<if test="clerkCode != null" > <if test="clerkCode != null">
clerk_code, clerk_code,
</if> </if>
<if test="staffName != null" > <if test="staffName != null">
staff_name, staff_name,
</if> </if>
<if test="createTime != null" > <if test="createTime != null">
create_time, create_time,
</if> </if>
<if test="updateTime != null" > <if test="updateTime != null">
update_time, update_time,
</if> </if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides="," > <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="staffDepartmentRelatedId != null" > <if test="staffDepartmentRelatedId != null">
#{staffDepartmentRelatedId,jdbcType=VARCHAR}, #{staffDepartmentRelatedId,jdbcType=VARCHAR},
</if> </if>
<if test="staffId != null" > <if test="staffId != null">
#{staffId,jdbcType=VARCHAR}, #{staffId,jdbcType=VARCHAR},
</if> </if>
<if test="phoneNumber != null" > <if test="phoneNumber != null">
#{phoneNumber,jdbcType=VARCHAR}, #{phoneNumber,jdbcType=VARCHAR},
</if> </if>
<if test="nationCode != null" > <if test="nationCode != null">
#{nationCode,jdbcType=VARCHAR}, #{nationCode,jdbcType=VARCHAR},
</if> </if>
<if test="wxUserId != null" > <if test="wxUserId != null">
#{wxUserId,jdbcType=VARCHAR}, #{wxUserId,jdbcType=VARCHAR},
</if> </if>
<if test="wxEnterpriseId != null" > <if test="wxEnterpriseId != null">
#{wxEnterpriseId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR},
</if> </if>
<if test="departmentId != null" > <if test="departmentId != null">
#{departmentId,jdbcType=VARCHAR}, #{departmentId,jdbcType=VARCHAR},
</if> </if>
<if test="statusFlag != null" > <if test="statusFlag != null">
#{statusFlag,jdbcType=INTEGER}, #{statusFlag,jdbcType=INTEGER},
</if> </if>
<if test="clerkCode != null" > <if test="clerkCode != null">
#{clerkCode,jdbcType=VARCHAR}, #{clerkCode,jdbcType=VARCHAR},
</if> </if>
<if test="staffName != null" > <if test="staffName != null">
#{staffName,jdbcType=VARCHAR}, #{staffName,jdbcType=VARCHAR},
</if> </if>
<if test="createTime != null" > <if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP},
</if> </if>
<if test="updateTime != null" > <if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
</if> </if>
</trim> </trim>
</insert> </insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated" > <update id="updateByPrimaryKeySelective"
parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated">
update tab_haoban_staff_department_related update tab_haoban_staff_department_related
<set > <set>
<if test="staffId != null" > <if test="staffId != null">
staff_id = #{staffId,jdbcType=VARCHAR}, staff_id = #{staffId,jdbcType=VARCHAR},
</if> </if>
<if test="phoneNumber != null" > <if test="phoneNumber != null">
phone_number = #{phoneNumber,jdbcType=VARCHAR}, phone_number = #{phoneNumber,jdbcType=VARCHAR},
</if> </if>
<if test="nationCode != null" > <if test="nationCode != null">
nation_code = #{nationCode,jdbcType=VARCHAR}, nation_code = #{nationCode,jdbcType=VARCHAR},
</if> </if>
<if test="wxUserId != null" > <if test="wxUserId != null">
wx_user_id = #{wxUserId,jdbcType=VARCHAR}, wx_user_id = #{wxUserId,jdbcType=VARCHAR},
</if> </if>
<if test="wxEnterpriseId != null" > <if test="wxEnterpriseId != null">
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}, wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
</if> </if>
<if test="departmentId != null" > <if test="departmentId != null">
department_id = #{departmentId,jdbcType=VARCHAR}, department_id = #{departmentId,jdbcType=VARCHAR},
</if> </if>
<if test="statusFlag != null" > <if test="statusFlag != null">
status_flag = #{statusFlag,jdbcType=INTEGER}, status_flag = #{statusFlag,jdbcType=INTEGER},
</if> </if>
<if test="clerkCode != null" > <if test="clerkCode != null">
clerk_code = #{clerkCode,jdbcType=VARCHAR}, clerk_code = #{clerkCode,jdbcType=VARCHAR},
</if> </if>
<if test="staffName != null" > <if test="staffName != null">
staff_name = #{staffName,jdbcType=VARCHAR}, staff_name = #{staffName,jdbcType=VARCHAR},
</if> </if>
<if test="createTime != null" > <if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP}, create_time = #{createTime,jdbcType=TIMESTAMP},
</if> </if>
<if test="updateTime != null" > <if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP}, update_time = #{updateTime,jdbcType=TIMESTAMP},
</if> </if>
</set> </set>
where staff_department_related_id = #{staffDepartmentRelatedId,jdbcType=VARCHAR} where staff_department_related_id = #{staffDepartmentRelatedId,jdbcType=VARCHAR}
</update> </update>
<update id="updateByPrimaryKey" parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated" > <update id="updateByPrimaryKey"
parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated">
update tab_haoban_staff_department_related update tab_haoban_staff_department_related
set staff_id = #{staffId,jdbcType=VARCHAR}, set staff_id = #{staffId,jdbcType=VARCHAR},
phone_number = #{phoneNumber,jdbcType=VARCHAR}, phone_number = #{phoneNumber,jdbcType=VARCHAR},
...@@ -174,59 +177,58 @@ ...@@ -174,59 +177,58 @@
</update> </update>
<select id="listByDepartmentId" resultMap="BaseResultMap" parameterType="java.lang.String" > <select id="listByDepartmentId" resultMap="BaseResultMap" parameterType="java.lang.String">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from tab_haoban_staff_department_related from tab_haoban_staff_department_related
where department_id = #{departmentId,jdbcType=VARCHAR} where department_id = #{departmentId,jdbcType=VARCHAR}
and status_flag = 1 and status_flag = 1
</select> </select>
<select id="getOneByClerkCode" resultMap="BaseResultMap" parameterType="java.lang.String" > <select id="getOneByClerkCode" resultMap="BaseResultMap" parameterType="java.lang.String">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from tab_haoban_staff_department_related from tab_haoban_staff_department_related
where clerk_code = #{clerkCode,jdbcType=VARCHAR} where clerk_code = #{clerkCode,jdbcType=VARCHAR}
and status_flag = 1 and status_flag = 1
</select> </select>
<select id="getById" resultMap="BaseResultMap" parameterType="java.lang.String" > <select id="getById" resultMap="BaseResultMap" parameterType="java.lang.String">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from tab_haoban_staff_department_related from tab_haoban_staff_department_related
where staff_department_related_id = #{staffDepartmentRelatedId,jdbcType=VARCHAR} where staff_department_related_id = #{staffDepartmentRelatedId,jdbcType=VARCHAR}
and status_flag = 1 and status_flag = 1
</select> </select>
<update id="deleteCode" parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated" > <update id="deleteCode" parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated">
update tab_haoban_staff_department_related update tab_haoban_staff_department_related
set set clerk_code = '',
clerk_code = '',
update_time = #{updateTime,jdbcType=TIMESTAMP} update_time = #{updateTime,jdbcType=TIMESTAMP}
where staff_department_related_id = #{staffDepartmentRelatedId,jdbcType=VARCHAR} where staff_department_related_id = #{staffDepartmentRelatedId,jdbcType=VARCHAR}
</update> </update>
<select id="listStaffDepartmentByStaffId" resultMap="BaseResultMap" parameterType="java.lang.String" > <select id="listStaffDepartmentByStaffId" resultMap="BaseResultMap" parameterType="java.lang.String">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from tab_haoban_staff_department_related from tab_haoban_staff_department_related
where staff_id = #{staffId,jdbcType=VARCHAR} where staff_id = #{staffId,jdbcType=VARCHAR}
and status_flag = 1 and status_flag = 1
group by department_id group by department_id
</select> </select>
<update id="delByUserid" > <update id="delByUserid">
update tab_haoban_staff_department_related update tab_haoban_staff_department_related
set set status_flag = 0,
status_flag = 0,update_time = now() update_time = now()
where wx_user_id = #{userid,jdbcType=VARCHAR} where wx_user_id = #{userid,jdbcType=VARCHAR}
</update> </update>
<select id="getDepartmentIdAndStaffId" resultMap="BaseResultMap" parameterType="java.lang.String" > <select id="getDepartmentIdAndStaffId" resultMap="BaseResultMap" parameterType="java.lang.String">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from tab_haoban_staff_department_related from tab_haoban_staff_department_related
where staff_id = #{staffId,jdbcType=VARCHAR} where staff_id = #{staffId,jdbcType=VARCHAR}
and department_id = #{departmentId} and department_id = #{departmentId}
...@@ -234,56 +236,55 @@ ...@@ -234,56 +236,55 @@
limit 1 limit 1
</select> </select>
<select id="listByWxUserId" resultMap="BaseResultMap" parameterType="java.lang.String" > <select id="listByWxUserId" resultMap="BaseResultMap" parameterType="java.lang.String">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from tab_haoban_staff_department_related from tab_haoban_staff_department_related
where wx_user_id = #{wxUserId} where wx_user_id = #{wxUserId}
and status_flag = 1 and status_flag = 1
</select> </select>
<select id="listByClerkCode" resultMap="BaseResultMap" parameterType="java.lang.String" > <select id="listByClerkCode" resultMap="BaseResultMap" parameterType="java.lang.String">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from tab_haoban_staff_department_related from tab_haoban_staff_department_related
where clerk_code = #{clerkCode} where clerk_code = #{clerkCode}
and status_flag = 1 and status_flag = 1
</select> </select>
<select id="listByWxEnterpriseIdAndClerkCode" resultMap="BaseResultMap" parameterType="java.lang.String" > <select id="listByWxEnterpriseIdAndClerkCode" resultMap="BaseResultMap" parameterType="java.lang.String">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from tab_haoban_staff_department_related from tab_haoban_staff_department_related
where clerk_code = #{clerkCode} where clerk_code = #{clerkCode}
and wx_enterprise_id = #{wxEnterpriseId} and wx_enterprise_id = #{wxEnterpriseId}
and status_flag = 1 and status_flag = 1
</select> </select>
<select id="countByDepartmentId" resultType="java.lang.Integer" parameterType="java.lang.String" > <select id="countByDepartmentId" resultType="java.lang.Integer" parameterType="java.lang.String">
select select count(1)
count(1)
from tab_haoban_staff_department_related from tab_haoban_staff_department_related
where department_id = #{departmentId,jdbcType=VARCHAR} where department_id = #{departmentId,jdbcType=VARCHAR}
and status_flag = 1 and status_flag = 1
</select> </select>
<select id="getDepartmentIdAndCode" resultMap="BaseResultMap" parameterType="java.lang.String" > <select id="getDepartmentIdAndCode" resultMap="BaseResultMap" parameterType="java.lang.String">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from tab_haoban_staff_department_related from tab_haoban_staff_department_related
where clerk_code = #{clerkCode,jdbcType=VARCHAR} where clerk_code = #{clerkCode,jdbcType=VARCHAR}
and department_id = #{departmentId} and department_id = #{departmentId}
and status_flag = 1 and status_flag = 1
</select> </select>
<select id="listByDepartmentIdByKeyword" resultMap="BaseResultMap" parameterType="java.lang.String" > <select id="listByDepartmentIdByKeyword" resultMap="BaseResultMap" parameterType="java.lang.String">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from tab_haoban_staff_department_related from tab_haoban_staff_department_related
where 1 where status_flag = 1
and status_flag = 1
<if test="keyword != null and keyword != ''"> <if test="keyword != null and keyword != ''">
and (clerk_code like CONCAT('%',#{keyword},'%') or phone_number like CONCAT('%',#{keyword},'%') or staff_name like CONCAT('%',#{keyword},'%')) and (clerk_code like CONCAT('%',#{keyword},'%') or phone_number like CONCAT('%',#{keyword},'%') or
staff_name like CONCAT('%',#{keyword},'%'))
</if> </if>
<if test="departmentIds != null and departmentIds.size() > 0"> <if test="departmentIds != null and departmentIds.size() > 0">
and department_id in and department_id in
...@@ -293,9 +294,9 @@ ...@@ -293,9 +294,9 @@
</if> </if>
</select> </select>
<select id="countByDepartmentIds" resultType="java.lang.Integer" > <select id="countByDepartmentIds" resultType="java.lang.Integer">
select select
count(1) count(*)
from tab_haoban_staff_department_related from tab_haoban_staff_department_related
where department_id in where department_id in
<foreach collection="departmentIds" item="id" index="index" open="(" close=")" separator=","> <foreach collection="departmentIds" item="id" index="index" open="(" close=")" separator=",">
...@@ -304,9 +305,9 @@ ...@@ -304,9 +305,9 @@
and status_flag = 1 and status_flag = 1
</select> </select>
<select id="listStaffDepartmentByStaffIds" resultMap="BaseResultMap" > <select id="listStaffDepartmentByStaffIds" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from tab_haoban_staff_department_related from tab_haoban_staff_department_related
where staff_id in where staff_id in
<foreach collection="staffIds" item="id" index="index" open="(" close=")" separator=","> <foreach collection="staffIds" item="id" index="index" open="(" close=")" separator=",">
...@@ -315,9 +316,9 @@ ...@@ -315,9 +316,9 @@
and status_flag = 1 and status_flag = 1
</select> </select>
<select id="listByDepartmentIds" resultMap="BaseResultMap" > <select id="listByDepartmentIds" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from tab_haoban_staff_department_related from tab_haoban_staff_department_related
where department_id in where department_id in
<foreach collection="departmentIds" item="id" index="index" open="(" close=")" separator=","> <foreach collection="departmentIds" item="id" index="index" open="(" close=")" separator=",">
...@@ -326,7 +327,7 @@ ...@@ -326,7 +327,7 @@
and status_flag = 1 and status_flag = 1
</select> </select>
<update id="cleanStaffDepartment" > <update id="cleanStaffDepartment">
update tab_haoban_staff_department_related update tab_haoban_staff_department_related
set set
status_flag = 0, status_flag = 0,
...@@ -341,7 +342,7 @@ ...@@ -341,7 +342,7 @@
<select id="listByWxEnterpriseIdAndStaffId" resultMap="BaseResultMap"> <select id="listByWxEnterpriseIdAndStaffId" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from tab_haoban_staff_department_related from tab_haoban_staff_department_related
where status_flag = 1 where status_flag = 1
and wx_enterprise_id = #{wxEnterpriseId} and staff_id = #{staffId} and wx_enterprise_id = #{wxEnterpriseId} and staff_id = #{staffId}
......
...@@ -138,7 +138,7 @@ public class StaffController extends WebBaseController { ...@@ -138,7 +138,7 @@ public class StaffController extends WebBaseController {
// 部门 // 部门
List<DepartmentDTO> sonDepartmentList = departmentApiService.listSonByDepartmentIds(Lists.newArrayList(departmentId), login.getWxEnterpriseId()); List<DepartmentDTO> sonDepartmentList = departmentApiService.listSonByDepartmentIds(Lists.newArrayList(departmentId), login.getWxEnterpriseId());
List<String> departmentIds = sonDepartmentList.stream().map(DepartmentDTO::getDepartmentId).collect(Collectors.toList()); List<String> departmentIds = sonDepartmentList.stream().map(DepartmentDTO::getDepartmentId).collect(Collectors.toList());
// 员工 //员工
Page<StaffDTO> page = staffApiService.pageStaff(departmentIds, activeFlag, keyWord, pageInfo, relationFlag); Page<StaffDTO> page = staffApiService.pageStaff(departmentIds, activeFlag, keyWord, pageInfo, relationFlag);
logger.info("pages={},totalPage={}", page.getCurrentPage(), page.getTotalPage()); logger.info("pages={},totalPage={}", page.getCurrentPage(), page.getTotalPage());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment