From 336d113220f675976f864ad3eab7df7cd432808d Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 01 五月 2026 08:35:43 +0800
Subject: [PATCH] Merge branch 'master' of http://116.62.18.175:6699/r/smartor
---
smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java | 149 +++++++++++++++++++++++++++++--------------------
1 files changed, 87 insertions(+), 62 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
index e400628..9644504 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
@@ -79,7 +79,8 @@
try {
Map<String, Object> requestParams = buildRequestParams(reqVO);
Map<String, String> headers = buildRequestHeaders();
- String result = HttpUtils.sendPostByHeader(sltdPubPath + "osj/hbos-thirdparty-integration/standard/common/healthcareRecord/dtcQueryHealthcareRecordList", new Gson().toJson(requestParams), headers);
+ log.info("璇锋眰鍙傛暟鍑洪櫌鏁版嵁鍦板潃锛歿},appKey:{}", sltdPubPath + "/osj/hbos-thirdparty-integration/standard/common/healthcareRecord/dtcQueryHealthcareRecordList", APP_KEY);
+ String result = HttpUtils.sendPostByHeader(sltdPubPath + "/osj/hbos-thirdparty-integration/standard/common/healthcareRecord/dtcQueryHealthcareRecordList", new Gson().toJson(requestParams), headers);
String cry = determineCry(reqVO);
log.info("cry鐨勫�间负锛歿}", cry);
@@ -88,7 +89,7 @@
return serviceSLTDInhospResDTOS;
} catch (Exception e) {
log.error("銆恞ueryHealthcareRecordList銆戣皟鐢ㄧ渷绔嬪悓寰峰仴搴疯褰曟煡璇㈡帴鍙e紓甯革紝璇锋眰鍙傛暟锛歿}", reqVO, e);
- throw new RuntimeException("璋冪敤鐪佺珛鍚屽痉鍋ュ悍璁板綍鏌ヨ鎺ュ彛澶辫触", e);
+ throw new RuntimeException("璋冪敤鐪佺珛鍚屽痉鍋ュ悍璁板綍鏌ヨ鎺ュ彛澶辫触:" + e.getMessage());
}
}
@@ -264,70 +265,67 @@
// 澶勭悊鐢ㄦ埛涓庨儴闂ㄧ殑鍏崇郴
List businessDepts = (List<?>) dataItem.get("businessDepts");
- if (CollectionUtils.isEmpty(businessDepts)) {
- continue;
- }
+ if (CollectionUtils.isNotEmpty(businessDepts)) {
+ List<List<String>> deptInfoList = new ArrayList<>();
+ List<List<String>> hospInfoList = new ArrayList<>();
+ log.info("------businessDepts鏄惁鏈夊�硷細{}", businessDepts.size());
+ for (Object businessDept : businessDepts) {
+ if (businessDept instanceof Map) {
+ Map<String, Object> businessDeptMap = (Map<String, Object>) businessDept;
+ log.info("------businessDeptMap鏄惁鏈夊�硷細{}", businessDeptMap);
+ String hisDeptId = getStringValue(businessDeptMap, "deptId");
+ log.info("------hisDeptId鏄惁鏈夊�硷細{}, reqVO.getOrgId()鐨勫�间负:{}", hisDeptId, reqVO.getCampusId());
+ //鍦ㄨ繖閲岋紝hisDeptId灏辨槸deptCode
+ SysDept sysDept = sysDeptMapper.selectDeptByCode(hisDeptId, reqVO.getOrgId());
+ log.info("------hisDeptId鏄惁鏈夊�硷細{}, reqVO.getCampusId()鐨勫�间负:{}", hisDeptId, reqVO.getCampusId());
+ if (Objects.isNull(sysDept)) continue;
+ SysUserDept sysUserDept = new SysUserDept();
+ sysUserDept.setUserId(sysUser.getUserId());
+ sysUserDept.setDeptType(sysDept.getDeptType());
+ sysUserDept.setDeptId(sysDept.getDeptId());
+ sysUserDept.setDeptCode(sysDept.getDeptCode());
+ sysUserDept.setDeptName(sysDept.getDeptName());
+ sysUserDept.setOrgid(sysDept.getOrgid());
+ sysUserDept.setCreateTime(new Date());
+ sysUserDept.setDelFlag(0L);
- List<List<String>> deptInfoList = new ArrayList<>();
- List<List<String>> hospInfoList = new ArrayList<>();
- log.info("------businessDepts鏄惁鏈夊�硷細{}", businessDepts.size());
- for (Object businessDept : businessDepts) {
- if (businessDept instanceof Map) {
- Map<String, Object> businessDeptMap = (Map<String, Object>) businessDept;
- log.info("------businessDeptMap鏄惁鏈夊�硷細{}", businessDeptMap);
-// Long hisDeptId = (Long) personnelDeptMap.get("deptId");
- String hisDeptId = getStringValue(businessDeptMap, "deptId");
- log.info("------hisDeptId鏄惁鏈夊�硷細{}, reqVO.getOrgId()鐨勫�间负:{}", hisDeptId, reqVO.getCampusId());
- //鍦ㄨ繖閲岋紝hisDeptId灏辨槸deptCode
- SysDept sysDept = sysDeptMapper.selectDeptByCode(hisDeptId, reqVO.getOrgId());
- log.info("------hisDeptId鏄惁鏈夊�硷細{}, reqVO.getCampusId()鐨勫�间负:{}", hisDeptId, reqVO.getCampusId());
- if (Objects.isNull(sysDept)) continue;
- SysUserDept sysUserDept = new SysUserDept();
- sysUserDept.setUserId(sysUser.getUserId());
- sysUserDept.setDeptType(sysDept.getDeptType());
- sysUserDept.setDeptId(sysDept.getDeptId());
- sysUserDept.setDeptCode(sysDept.getDeptCode());
- sysUserDept.setDeptName(sysDept.getDeptName());
- sysUserDept.setOrgid(sysDept.getOrgid());
- sysUserDept.setCreateTime(new Date());
- sysUserDept.setDelFlag(0L);
-
- //鍒ゆ柇涓�涓嬬敤鎴�-閮ㄩ棬鍏崇郴鏄笉鏄凡缁忓瓨鍦ㄤ簡锛堟棤璁烘柊鐢ㄦ埛杩樻槸鑰佺敤鎴烽兘闇�瑕佸幓閲嶏級
- if (ObjectUtils.isNotEmpty(sysUser.getUserId()) && ObjectUtils.isNotEmpty(sysDept)) {
- SysUserDept sud = new SysUserDept();
- sud.setUserId(sysUser.getUserId());
- sud.setDeptId(sysDept.getDeptId());
- sud.setOrgid(sysDept.getOrgid());
- List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sud);
- if (CollectionUtils.isNotEmpty(sysUserDepts)) {
- sysUserDept.setId(sysUserDepts.get(0).getId());
- sysUserDeptMapper.updateSysUserDept(sysUserDept);
- } else {
- sysUserDeptMapper.insertSysUserDept(sysUserDept);
+ //鍒ゆ柇涓�涓嬬敤鎴�-閮ㄩ棬鍏崇郴鏄笉鏄凡缁忓瓨鍦ㄤ簡锛堟棤璁烘柊鐢ㄦ埛杩樻槸鑰佺敤鎴烽兘闇�瑕佸幓閲嶏級
+ if (ObjectUtils.isNotEmpty(sysUser.getUserId()) && ObjectUtils.isNotEmpty(sysDept)) {
+ SysUserDept sud = new SysUserDept();
+ sud.setUserId(sysUser.getUserId());
+ sud.setDeptId(sysDept.getDeptId());
+ sud.setOrgid(sysDept.getOrgid());
+ List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sud);
+ if (CollectionUtils.isNotEmpty(sysUserDepts)) {
+ sysUserDept.setId(sysUserDepts.get(0).getId());
+ sysUserDeptMapper.updateSysUserDept(sysUserDept);
+ } else {
+ sysUserDeptMapper.insertSysUserDept(sysUserDept);
+ }
+ }
+ if (StringUtils.isNotEmpty(sysDept.getDeptType()) && sysDept.getDeptType().equals("1")) {
+ hospInfoList.add(Arrays.asList(sysDept.getDeptCode()));
+ } else if (StringUtils.isNotEmpty(sysDept.getDeptType()) && sysDept.getDeptType().equals("2")) {
+ deptInfoList.add(Arrays.asList(sysDept.getDeptCode()));
}
}
- if (StringUtils.isNotEmpty(sysDept.getDeptType()) && sysDept.getDeptType().equals("1")) {
- hospInfoList.add(Arrays.asList(sysDept.getDeptCode()));
- } else if (StringUtils.isNotEmpty(sysDept.getDeptType()) && sysDept.getDeptType().equals("2")) {
- deptInfoList.add(Arrays.asList(sysDept.getDeptCode()));
- }
}
+ //灏嗛儴闂ㄦ垜鐥呭尯鏀惧埌鎸囧畾瀛楁涓�
+ Gson gson = new Gson();
+ sysUser.setHospInfo(gson.toJson(hospInfoList));
+ sysUser.setDeptInfo(gson.toJson(deptInfoList));
+ sysUser2Mapper.updateUser(sysUser);
}
- //灏嗛儴闂ㄦ垜鐥呭尯鏀惧埌鎸囧畾瀛楁涓�
- Gson gson = new Gson();
- sysUser.setHospInfo(gson.toJson(hospInfoList));
- sysUser.setDeptInfo(gson.toJson(deptInfoList));
- sysUser2Mapper.updateUser(sysUser);
//璁剧疆涓�涓粯璁よ鑹诧紙鍖荤敓瑙掕壊锛�
List<SysUserRole> userRoleList = new ArrayList();
SysUserRole sur = new SysUserRole();
sur.setUserId(sysUser.getUserId());
- sur.setRoleId(3L);
+ sur.setRoleId(4L);
sur.setOrgid(sysUser.getOrgid());
//鍏堟煡璇竴涓嬶紝鏄惁瀛樺湪
- SysUserRole sysUserRole = sysUserRoleMapper.selectUserRoleByRoleIdAndUserId(3L, sysUser.getUserId());
+ SysUserRole sysUserRole = sysUserRoleMapper.selectUserRoleByRoleIdAndUserId(4L, sysUser.getUserId());
if (ObjectUtils.isNotEmpty(sysUserRole)) continue;
userRoleList.add(sur);
@@ -587,6 +585,7 @@
queryInhosp.setSerialnum(StringUtils.trim(patMedInhosp.getSerialnum()));
queryInhosp.setOrgid(StringUtils.trim(dto.getOrgId()));
queryInhosp.setInhospstate(cry);
+ queryInhosp.setSchemestatus(0L);
log.info("----------------杩欓噷鐨勫叆鍙備负锛歿},{}", queryInhosp.getPatno(), queryInhosp.getSerialnum());
List<PatMedInhosp> existingInhosps = patMedInhospService.selectPatMedInhosp(queryInhosp);
@@ -710,11 +709,43 @@
patMedInhosp.setSerialnum(dto.getHealthcareRecordNo());
patMedInhosp.setInhospno(dto.getHealthcareRecordNo());
patMedInhosp.setFuflag("1");
+
+
if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1"))
patMedInhosp.setFuflag("0");
- if ("0".equals(cry)) patMedInhosp.setInhospstate("0");
- if ("1".equals(cry)) patMedInhosp.setInhospstate("1");
- if ("3".equals(cry)) patMedInhosp.setInhospstate("3");
+ if ("0".equals(cry)) {
+ patMedInhosp.setInhospstate("0");
+ if (CollectionUtils.isNotEmpty(dto.getDiagnosisList()) && dto.getDiagnosisList().size() > 0) {
+ for (ServiceSLTDDiagnosisResDTO diagnosis : dto.getDiagnosisList()) {
+ if (diagnosis.getIsMainDiagnosis() == 1) {
+ patMedInhosp.setDiagname(diagnosis.getDiagnosisDictName() == null ? "" : diagnosis.getDiagnosisDictName());
+ patMedInhosp.setIcd10code(diagnosis.getDiagnosisDictCode() == null ? "" : diagnosis.getDiagnosisDictCode());
+ }
+ }
+ }
+ }
+ if ("1".equals(cry)) {
+ patMedInhosp.setInhospstate("1");
+ if (CollectionUtils.isNotEmpty(dto.getDiagnosisList()) && dto.getDiagnosisList().size() > 0) {
+ for (ServiceSLTDDiagnosisResDTO diagnosis : dto.getDiagnosisList()) {
+ if (diagnosis.getIsMainDiagnosis() == 1) {
+ patMedInhosp.setLeavediagname(diagnosis.getDiagnosisDictName() == null ? "" : diagnosis.getDiagnosisDictName());
+ patMedInhosp.setLeaveicd10code(diagnosis.getDiagnosisDictCode() == null ? "" : diagnosis.getDiagnosisDictCode());
+ }
+ }
+ }
+ }
+ if ("3".equals(cry)) {
+ patMedInhosp.setInhospstate("3");
+ if (CollectionUtils.isNotEmpty(dto.getDiagnosisList()) && dto.getDiagnosisList().size() > 0) {
+ for (ServiceSLTDDiagnosisResDTO diagnosis : dto.getDiagnosisList()) {
+ if (diagnosis.getIsMainDiagnosis() == 1) {
+ patMedInhosp.setDiagname(diagnosis.getDiagnosisDictName() == null ? "" : diagnosis.getDiagnosisDictName());
+ patMedInhosp.setIcd10code(diagnosis.getDiagnosisDictCode() == null ? "" : diagnosis.getDiagnosisDictCode());
+ }
+ }
+ }
+ }
patMedInhosp.setHospitalcode(dto.getOrgId());
patMedInhosp.setBedNo(dto.getBedNumber());
patMedInhosp.setStarttime(parseDate(dto.getStartTime()));
@@ -768,12 +799,6 @@
queryByPatientNo.setIdcardno(StringUtils.isNotEmpty(dto.getIdCardNo()) ? dto.getIdCardNo().trim() : null);
existingArchives = patArchiveService.selectPatArchiveList(queryByPatientNo);
}
-// if (CollectionUtils.isEmpty(existingArchives) && !StringUtils.isEmpty(dto.getIdCardNo())) {
-// PatArchive queryByIdCard = new PatArchive();
-// queryByIdCard.setIdcardno(dto.getIdCardNo().trim());
-// existingArchives = patArchiveService.selectPatArchiveList(queryByIdCard);
-// }
-
PatArchive patArchive = buildPatientArchive(dto);
if (CollectionUtils.isEmpty(existingArchives)) {
--
Gitblit v1.9.3