From f733ee85f867ffa97e6cb01407e185247d2fc600 Mon Sep 17 00:00:00 2001 From: wyb <1977763549@qq.com> Date: Thu, 28 Mar 2024 13:15:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BD=9B=E5=B1=B1?= =?UTF-8?q?=E4=B8=89=E9=99=A2=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=87=87=E9=9B=86=E8=BD=AC=E6=8D=A2=E7=A7=91=E5=AE=A4?= =?UTF-8?q?=E5=92=8C=E4=B8=BB=E7=AE=A1=E5=8C=BB=E7=94=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FoShanSyPatientInfoSyncJob.json | 1 + .../converter/PatientInfoConverter.java | 10 +- .../server/archive/entity/PowerDept.java | 62 ++++++++++ .../server/archive/entity/PowerUser.java | 113 ++++++++++++++++++ .../archive/job/PatientInfoSyncJob.java | 2 + .../archive/mapper/PowerDeptMapper.java | 14 +++ .../archive/mapper/PowerUserMapper.java | 14 +++ .../impl/PatientInfoSyncServiceImpl.java | 15 ++- .../server/archive/utils/PingYinUtil.java | 5 + .../mapper/JswzhPatientInfoViewMapper.xml | 4 +- src/main/resources/mapper/PowerDeptMapper.xml | 13 ++ src/main/resources/mapper/PowerUser.xml | 13 ++ 12 files changed, 260 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/docus/server/archive/entity/PowerDept.java create mode 100644 src/main/java/com/docus/server/archive/entity/PowerUser.java create mode 100644 src/main/java/com/docus/server/archive/mapper/PowerDeptMapper.java create mode 100644 src/main/java/com/docus/server/archive/mapper/PowerUserMapper.java create mode 100644 src/main/resources/mapper/PowerDeptMapper.xml create mode 100644 src/main/resources/mapper/PowerUser.xml diff --git a/data-config/job-config/FoShanSyPatientInfoSyncJob.json b/data-config/job-config/FoShanSyPatientInfoSyncJob.json index e69de29..0aad88c 100644 --- a/data-config/job-config/FoShanSyPatientInfoSyncJob.json +++ b/data-config/job-config/FoShanSyPatientInfoSyncJob.json @@ -0,0 +1 @@ +{"startDate": "2024-01-01", "pageNumber": 1, "pageSize": 100} \ No newline at end of file diff --git a/src/main/java/com/docus/server/archive/converter/PatientInfoConverter.java b/src/main/java/com/docus/server/archive/converter/PatientInfoConverter.java index 1690bd3..5eb186e 100644 --- a/src/main/java/com/docus/server/archive/converter/PatientInfoConverter.java +++ b/src/main/java/com/docus/server/archive/converter/PatientInfoConverter.java @@ -35,7 +35,7 @@ public class PatientInfoConverter { tBasic.setInpatientNo(view.getZY()); tBasic.setAdmissTimes(view.getZYCS()); tBasic.setName(view.getXM()); - tBasic.setNameSpell(PingYinUtil.getFirstSpell(view.getXM())); + tBasic.setNameSpell(getPinyinFirstSpell(view.getXM())); tBasic.setSex(sex(view.getXB())); tBasic.setSexName(sexName(view.getXB())); tBasic.setAdmissDate(view.getRYRQ()); @@ -59,6 +59,14 @@ public class PatientInfoConverter { return tBasic; } + public static String getPinyinFirstSpell(String str) { + try { + return PingYinUtil.getFirstSpell(str); + }catch (Exception ex){ + return null; + } + } + /** * age * ageMonth diff --git a/src/main/java/com/docus/server/archive/entity/PowerDept.java b/src/main/java/com/docus/server/archive/entity/PowerDept.java new file mode 100644 index 0000000..0f5dd4f --- /dev/null +++ b/src/main/java/com/docus/server/archive/entity/PowerDept.java @@ -0,0 +1,62 @@ +package com.docus.server.archive.entity; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 科室 + *

+ * + * @author jiashi + * @since 2021-04-15 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "PowerDept对象", description = "科室") +public class PowerDept implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "科室id") + private Long deptId; + + @ApiModelProperty(value = "科室代码") + private String deptCode; + + @ApiModelProperty(value = "科室名称") + private String deptName; + + @ApiModelProperty(value = "字典id") + private Integer dictId; + + @ApiModelProperty(value = "是否有效") + private Integer effective; + + @ApiModelProperty(value = "创建时间") + private Date createDate; + + @ApiModelProperty(value = "创建人") + private String creater; + + @ApiModelProperty(value = "更新时间") + private Date updateDate; + + @ApiModelProperty(value = "更新人") + private String updater; + + @ApiModelProperty(value = "备注") + private String remark; + + @ApiModelProperty(value = "临床科室排序") + private Integer sort; + + @ApiModelProperty(value = "0:非临床科室,1:临床科室") + private Integer type; + +} diff --git a/src/main/java/com/docus/server/archive/entity/PowerUser.java b/src/main/java/com/docus/server/archive/entity/PowerUser.java new file mode 100644 index 0000000..44227b5 --- /dev/null +++ b/src/main/java/com/docus/server/archive/entity/PowerUser.java @@ -0,0 +1,113 @@ +package com.docus.server.archive.entity; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 用户表 + *

+ * + * @author jiashi + * @since 2021-04-14 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "PowerUser对象", description = "用户表") +public class PowerUser implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "用户id") + private Long userId; + + @ApiModelProperty(value = "登陆名") + private String userName; + + @ApiModelProperty(value = "用户密码") + private String userPwd; + + @ApiModelProperty(value = "密码修改(0:未修改,1:已修改)") + private Integer pwdChange; + + @ApiModelProperty(value = "性别 0 男 1 女") + private Integer userSex; + + @ApiModelProperty(value = "年龄") + private Integer userAge; + + @ApiModelProperty(value = "电话") + private String userTel; + + @ApiModelProperty(value = "邮箱") + private String userEmail; + + @ApiModelProperty(value = "微信信息") + private String wxBank; + + @ApiModelProperty(value = "职位") + private String userPosition; + + @ApiModelProperty(value = "角色") + private Long roleId; + + @ApiModelProperty(value = "部门id") + private String deptId; + + + @ApiModelProperty("头像路径") + private String userHead; + + @ApiModelProperty(value = "是否有效") + private Integer effective; + + @ApiModelProperty(value = "创建时间") + private Date createDate; + + @ApiModelProperty(value = "创建人") + private String creater; + + @ApiModelProperty(value = "更新时间") + private Date updateDate; + + @ApiModelProperty(value = "更新人") + private String updater; + + @ApiModelProperty(value = "备注") + private String remark; + + @ApiModelProperty(value = "登录标志 默认为0为未登录 1登录") + private Integer loginFlag; + + @ApiModelProperty(value = "用户名称") + private String name; + + @ApiModelProperty(value = "权限科室 拥有对科室查阅权限") + private String powerDept; + + @ApiModelProperty(value = "权限 拥有对主管医生查阅权限") + private String powerAttending; + + + @ApiModelProperty("是否可用") + private Integer enabled; + + + @ApiModelProperty("账号状态 0:正常 1:锁定 2:冻结") + private Integer accountState; + + @ApiModelProperty("其他角色选择") + private String attRoleId; + + + @ApiModelProperty("微信公众号openid") + private String openId; + + @ApiModelProperty("是否第三方账号 0否 1是") + private Integer isThird; +} diff --git a/src/main/java/com/docus/server/archive/job/PatientInfoSyncJob.java b/src/main/java/com/docus/server/archive/job/PatientInfoSyncJob.java index ae147e3..bf2d0a9 100644 --- a/src/main/java/com/docus/server/archive/job/PatientInfoSyncJob.java +++ b/src/main/java/com/docus/server/archive/job/PatientInfoSyncJob.java @@ -29,6 +29,7 @@ public class PatientInfoSyncJob { */ @XxlJob("FoShanSyPatientInfoSyncJob") public void foShanSyPatientInfoSyncJob() { + log.info("====================> 佛山三院基础数据同步任务开始 ==================="); String jobConfigPath = "data-config\\job-config"; String jobConfigName = "FoShanSyPatientInfoSyncJob.json"; TableJsonRead jsonReader = new TableJsonRead(); @@ -50,6 +51,7 @@ public class PatientInfoSyncJob { syncJobConfig.setPageNumber(1); syncJobConfig.setStartDate(runJobDate); jsonReader.Save(jobConfigPath, jobConfigName, Func.toJson(syncJobConfig)); + log.info("====================> 佛山三院基础数据同步任务结束 ==================="); } private static class FoShanSyPatientInfoSyncJobConfig { diff --git a/src/main/java/com/docus/server/archive/mapper/PowerDeptMapper.java b/src/main/java/com/docus/server/archive/mapper/PowerDeptMapper.java new file mode 100644 index 0000000..d52678b --- /dev/null +++ b/src/main/java/com/docus/server/archive/mapper/PowerDeptMapper.java @@ -0,0 +1,14 @@ +package com.docus.server.archive.mapper; + + +import com.docus.server.archive.entity.PowerDept; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface PowerDeptMapper { + + + List list(); +} diff --git a/src/main/java/com/docus/server/archive/mapper/PowerUserMapper.java b/src/main/java/com/docus/server/archive/mapper/PowerUserMapper.java new file mode 100644 index 0000000..66925b8 --- /dev/null +++ b/src/main/java/com/docus/server/archive/mapper/PowerUserMapper.java @@ -0,0 +1,14 @@ +package com.docus.server.archive.mapper; + + +import com.docus.server.archive.entity.PowerUser; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface PowerUserMapper { + + + List list(); +} diff --git a/src/main/java/com/docus/server/archive/service/impl/PatientInfoSyncServiceImpl.java b/src/main/java/com/docus/server/archive/service/impl/PatientInfoSyncServiceImpl.java index 1692268..5450324 100644 --- a/src/main/java/com/docus/server/archive/service/impl/PatientInfoSyncServiceImpl.java +++ b/src/main/java/com/docus/server/archive/service/impl/PatientInfoSyncServiceImpl.java @@ -3,7 +3,11 @@ package com.docus.server.archive.service.impl; import com.docus.core.util.Func; import com.docus.infrastructure.redis.service.IdService; import com.docus.server.archive.converter.PatientInfoConverter; +import com.docus.server.archive.entity.PowerDept; +import com.docus.server.archive.entity.PowerUser; import com.docus.server.archive.entity.TBasic; +import com.docus.server.archive.mapper.PowerDeptMapper; +import com.docus.server.archive.mapper.PowerUserMapper; import com.docus.server.archive.mapper.TBasicMapper; import com.docus.server.archive.service.PatientInfoSyncService; import com.docus.server.fsy.entity.JswzhPatientInfoView; @@ -29,7 +33,10 @@ public class PatientInfoSyncServiceImpl implements PatientInfoSyncService { private JswzhPatientInfoViewMapper jswzhPatientInfoViewMapper; @Resource private IdService idService; - + @Resource + private PowerUserMapper powerUserMapper; + @Resource + private PowerDeptMapper powerDeptMapper; @Override public void syncInHospitalData() { @@ -103,8 +110,10 @@ public class PatientInfoSyncServiceImpl implements PatientInfoSyncService { if (Func.isEmpty(jswzhPatientInfoViews)) { return; } - Map userNameMap = new HashMap<>(); - Map deptCodeNameMap = new HashMap<>(); + List powerUserList = powerUserMapper.list(); + List powerDeptList = powerDeptMapper.list(); + Map userNameMap = powerUserList.stream().collect(Collectors.toMap(PowerUser::getUserName, PowerUser::getName)); + Map deptCodeNameMap = powerDeptList.stream().collect(Collectors.toMap(PowerDept::getDeptCode, PowerDept::getDeptName)); PatientInfoConverter converter = new PatientInfoConverter(userNameMap, deptCodeNameMap); List basicList = jswzhPatientInfoViews.stream().map(converter::convertArchiveBasicInfo).collect(Collectors.toList()); insertOrUpdate(basicList); diff --git a/src/main/java/com/docus/server/archive/utils/PingYinUtil.java b/src/main/java/com/docus/server/archive/utils/PingYinUtil.java index 02a01b8..25d350c 100644 --- a/src/main/java/com/docus/server/archive/utils/PingYinUtil.java +++ b/src/main/java/com/docus/server/archive/utils/PingYinUtil.java @@ -69,6 +69,11 @@ public class PingYinUtil { } return pybf.toString().replaceAll("\\W", "").trim(); } + + public static void main(String[] args) { + String spell = getFirstSpell("牛的"); + System.out.println(spell); + } /** * 获取汉字串拼音,英文字符不变 * @param chinese 汉字串 diff --git a/src/main/resources/mapper/JswzhPatientInfoViewMapper.xml b/src/main/resources/mapper/JswzhPatientInfoViewMapper.xml index dad3949..01dbae6 100644 --- a/src/main/resources/mapper/JswzhPatientInfoViewMapper.xml +++ b/src/main/resources/mapper/JswzhPatientInfoViewMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - JZH,ZY,ZYCS,XM,XB,RYRQ,RYKSBQ,RYKSMC,CWDM,DQYS,NL,SFZH,LXDH,CYRQ,DQBQ,DQKS,ZJINE,ZYZT,CYQK,SFSW,BRBZ,JZKH + JZH,ZY,ZYCS,XM,XB,RYRQ,RYKSBQ,RYKSMC,CWDM,DQYS,NL,SFZH,LXDH,CYRQ,DQBQ,DQKS,ZJINE,ZYZT,CYQK,SFSW,JZKH diff --git a/src/main/resources/mapper/PowerDeptMapper.xml b/src/main/resources/mapper/PowerDeptMapper.xml new file mode 100644 index 0000000..d1c10dd --- /dev/null +++ b/src/main/resources/mapper/PowerDeptMapper.xml @@ -0,0 +1,13 @@ + + + + + + diff --git a/src/main/resources/mapper/PowerUser.xml b/src/main/resources/mapper/PowerUser.xml new file mode 100644 index 0000000..7c9eb1c --- /dev/null +++ b/src/main/resources/mapper/PowerUser.xml @@ -0,0 +1,13 @@ + + + + + +