feat:梅州三院,添加用户电话同步

master
wyb 9 months ago
parent f56298d979
commit d242427d40

@ -9,8 +9,10 @@ import com.docus.server.archive.entity.PowerUser;
import com.docus.server.archive.mapper.PowerUserMapper;
import com.docus.server.archive.service.UserInfoSyncService;
import com.docus.server.mzsy.entity.MzsyDeptInfoView;
import com.docus.server.mzsy.entity.MzsyHisUserInfo;
import com.docus.server.mzsy.entity.MzsyUserInfoView;
import com.docus.server.mzsy.mapper.MzsyDeptInfoViewMapper;
import com.docus.server.mzsy.mapper.MzsyHisUserInfoMapper;
import com.docus.server.mzsy.mapper.MzsyUserInfoViewMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -33,6 +35,8 @@ public class MzsyUserInfoSyncServiceImpl implements UserInfoSyncService {
@Resource
private MzsyUserInfoViewMapper userInfoViewMapper;
@Resource
private MzsyHisUserInfoMapper hisUserInfoMapper;
@Resource
private MzsyDeptInfoViewMapper deptInfoViewMapper;
@Resource
private IdService idService;
@ -55,6 +59,13 @@ public class MzsyUserInfoSyncServiceImpl implements UserInfoSyncService {
List<PowerUser> powerUsers = userInfoViews.stream()
.map(MzsyUserInfoConverter::convertUserInfo)
.collect(Collectors.toList());
// 360his查询用户电话信息并设置
List<String> userNames = powerUsers.stream().map(PowerUser::getUserName).collect(Collectors.toList());
List<MzsyHisUserInfo> hisUserInfoList = hisUserInfoMapper.findByYgDms(userNames);
Map<String, String> userTelMap = hisUserInfoList.stream().collect(Collectors.toMap(MzsyHisUserInfo::getYGDM, MzsyHisUserInfo::getYGDH));
for (PowerUser powerUser : powerUsers) {
powerUser.setUserTel(userTelMap.get(powerUser.getUserName()));
}
saveOrUpdate(powerUsers);
}
if (Func.isEmpty(userInfoViews) || userInfoViews.size() < size) {
@ -103,6 +114,7 @@ public class MzsyUserInfoSyncServiceImpl implements UserInfoSyncService {
powerAttendings.add(iuPowerUser.getPowerAttending());
powerAttending = String.join(delimiter, powerAttendings);
}
powerUser.setUserTel(iuPowerUser.getUserTel());
powerUser.setName(iuPowerUser.getName());
powerUser.setEnabled(iuPowerUser.getEnabled());
powerUser.setEffective(iuPowerUser.getEffective());

@ -0,0 +1,14 @@
package com.docus.server.mzsy.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel("梅州三院360His员工信息")
@Data
public class MzsyHisUserInfo {
@ApiModelProperty("员工工号")
private String YGDM;
@ApiModelProperty("员工电话")
private String YGDH;
}

@ -0,0 +1,14 @@
package com.docus.server.mzsy.mapper;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.docus.server.mzsy.entity.MzsyHisUserInfo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@DS("mzsy-360his")
public interface MzsyHisUserInfoMapper {
List<MzsyHisUserInfo> findByYgDms(@Param("ygDms") List<String> ygDms);
}

@ -59,6 +59,28 @@ spring:
test-on-borrow: false
test-on-return: false
validation-query: select 1
mzsy-360his:
url: jdbc:sqlserver://192.168.0.247:1433;DatabaseName=360his
username: sa
password: zaq12wsx@@
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
type: com.alibaba.druid.pool.DruidDataSource
# 初始化配置
initial-size: 3
# 最小连接数
min-idle: 3
# 最大连接数
max-active: 10
# 获取连接超 时时间
max-wait: 5000
# 连接有效性检测时间
time-between-eviction-runs-millis: 90000
# 最大空闲时间
min-evictable-idle-time-millis: 1800000
test-while-idle: true
test-on-borrow: false
test-on-return: false
validation-query: select 1
# zqdyry:
# url: jdbc:oracle:thin:@10.20.28.15:1521:cdrdb
# username: zqry_blgd

@ -0,0 +1,32 @@
<?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.docus.server.mzsy.mapper.MzsyHisUserInfoMapper">
<select id="page" resultType="com.docus.server.mzsy.entity.MzsyUserInfoView">
SELECT YGDM,
YGDH,
FROM (SELECT ROW_NUMBER() OVER (ORDER BY ID) AS RowNumber,
ID,
FEMPCODE,
FEMPNAME,
FIP_DEPTID,
FISAVAILABLE,
FL
FROM dbo.ZD_EMR_EMPLOYEE
) AS paging
WHERE paging.RowNumber BETWEEN ${startRow} AND ${endRow}
</select>
<select id="findByYgDms" resultType="com.docus.server.mzsy.entity.MzsyHisUserInfo">
SELECT YGDM,
YGDH
FROM dbo.GY_YGDM
WHERE YGDM IN
<foreach collection="ygDms" open="(" separator="," close=")" item="ygDm">
#{ygDm}
</foreach>
</select>
</mapper>
Loading…
Cancel
Save