From 1dc040a15692730e3e2a32992e48d3950fb61444 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 05 十一月 2025 18:03:38 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java | 79 +++++++++++++++++++++++++++++++--------
1 files changed, 63 insertions(+), 16 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 408e684..2c40db6 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
@@ -6,6 +6,7 @@
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.entity.SysUserDept;
import com.ruoyi.common.core.domain.entity.SysUserRole;
+import com.ruoyi.common.utils.DtoConversionUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.http.HttpUtils;
import com.smartor.domain.*;
@@ -16,6 +17,7 @@
import com.sun.org.apache.bcel.internal.generic.NEW;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
@@ -123,7 +125,8 @@
log.info("-----------dataList鎺ュ彛鍝嶅簲缁撴灉锛歿}", dataList.size());
for (Map<String, Object> dataItem : dataList) {
SysDept sysDept = new SysDept();
- sysDept.setOrgid("" + serviceSLTDDeptReqVO.getCampusIds().get(0));
+ sysDept.setOrgid("" + getLongValue(dataItem, "orgId"));
+ sysDept.setCampusid("" + getLongValue(dataItem, "campusId"));
sysDept.setHisDeptId("" + getLongValue(dataItem, "deptId"));
sysDept.setHisParentId(getStringValue(dataItem, "parentDeptId"));
//閫氳繃his鐨勭埗绉戝ID鍘绘壘鍒扮瀹D,濉厖parentId
@@ -222,27 +225,38 @@
sysUser.setUpdateBy("admin");
sysUser.setCreateBy("admin");
sysUser.setCreateBy("admin");
- sysUser.setOrgid(reqVO.getCampusId().toString());
+ sysUser.setOrgid("" + getLongValue(dataItem, "orgId"));
+// sysUser.setCampusid("" + getLongValue(dataItem, "cmpusId"));
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
sysUser.setPassword(passwordEncoder.encode(userPwd));
- sysUser2Mapper.insertUser(sysUser);
+ SysUser sysUser1 = sysUser2Mapper.selectUserByUserName(sysUser.getUserName());
+ if (ObjectUtils.isNotEmpty(sysUser1)) {
+ sysUser.setUserId(sysUser1.getUserId());
+ sysUser2Mapper.updateUser(sysUser);
+ } else {
+ sysUser2Mapper.insertUser(sysUser);
+ }
// 澶勭悊鐢ㄦ埛涓庨儴闂ㄧ殑鍏崇郴
- List personnelDepts = (List<?>) dataItem.get("personnelDepts");
- if (CollectionUtils.isEmpty(personnelDepts)) {
+ List businessDepts = (List<?>) dataItem.get("businessDepts");
+ if (CollectionUtils.isEmpty(businessDepts)) {
continue;
}
List<List<String>> deptInfoList = new ArrayList<>();
List<List<String>> hospInfoList = new ArrayList<>();
- for (Object personnelDept : personnelDepts) {
- if (personnelDept instanceof Map) {
- Map<String, Object> personnelDeptMap = (Map<String, Object>) personnelDept;
+ 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(personnelDeptMap, "deptId");
+ String hisDeptId = getStringValue(businessDeptMap, "deptId");
+ log.info("------hisDeptId鏄惁鏈夊�硷細{}, reqVO.getOrgId()鐨勫�间负:{}", hisDeptId, reqVO.getCampusId());
//鍦ㄨ繖閲岋紝hisDeptId灏辨槸deptCode
- SysDept sysDept = sysDeptMapper.selectDeptByCode(hisDeptId, reqVO.getCampusId().toString());
+ 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());
@@ -253,7 +267,21 @@
sysUserDept.setOrgid(sysDept.getOrgid());
sysUserDept.setCreateTime(new Date());
sysUserDept.setDelFlag(0L);
- sysUserDeptMapper.insertSysUserDept(sysUserDept);
+
+ //鍒ゆ柇涓�涓嬫槸涓嶆槸宸茬粡瀛樺湪浜�
+ if (ObjectUtils.isNotEmpty(sysUser1) && ObjectUtils.isNotEmpty(sysDept)) {
+ SysUserDept sud = new SysUserDept();
+ sud.setUserId(sysUser1.getUserId());
+ sud.setDeptId(sysDept.getDeptId());
+ 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")) {
@@ -273,9 +301,13 @@
sur.setUserId(sysUser.getUserId());
sur.setRoleId(3L);
sur.setOrgid(sysUser.getOrgid());
+
+ //鍏堟煡璇竴涓嬶紝鏄惁瀛樺湪
+ SysUserRole sysUserRole = sysUserRoleMapper.selectUserRoleByRoleIdAndUserId(sysUser.getUserId(), 3L);
+ if (ObjectUtils.isNotEmpty(sysUserRole)) continue;
+
userRoleList.add(sur);
sysUserRoleMapper.batchUserRole(userRoleList);
-
}
return true;
@@ -409,6 +441,10 @@
if (Objects.isNull(dto)) continue;
PatArchive patArchive = processPatientArchive(dto, orgid);
PatMedOuthosp patMedOuthosp = buildPatMedOuthosp(dto, patArchive, orgid);
+ //鏌ヨ褰撳墠鏂板鐨勯棬鎬ヨ瘖鏁版嵁锛屾槸鍚﹀湪杩囨浮琛ㄤ腑鏄惁瀛樺湪锛屽鏋滃瓨鍦紝灏变笉寰�闂ㄦ�ヨ瘖琛ㄩ噷鏂板浜�
+ PatMedOuthospProvisional pmop = DtoConversionUtils.sourceToTarget(patMedOuthosp, PatMedOuthospProvisional.class);
+
+
patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp);
}
return true;
@@ -432,7 +468,8 @@
patMedOuthosp.setMainsuit(dto.getDiagnosisName());
patMedOuthosp.setHpi(null);
patMedOuthosp.setCreateTime(new Date());
- patMedOuthosp.setOrgid("" + orgid);
+ patMedOuthosp.setOrgid(dto.getOrgId());
+ patMedOuthosp.setCampusid(dto.getCampusId());
return patMedOuthosp;
}
@@ -462,9 +499,16 @@
PatMedInhosp queryInhosp = new PatMedInhosp();
queryInhosp.setPatno(patArchive.getPatientno());
queryInhosp.setSerialnum(patMedInhosp.getSerialnum());
- queryInhosp.setOrgid("" + orgid);
+ queryInhosp.setOrgid(dto.getOrgId());
+ queryInhosp.setCampusid(dto.getCampusId());
+ queryInhosp.setInhospstate(cry);
log.info("----------------杩欓噷鐨勫叆鍙備负锛歿}", queryInhosp);
List<PatMedInhosp> existingInhosps = patMedInhospService.selectPatMedInhospList(queryInhosp);
+
+ if (cry.equals("0") && CollectionUtils.isNotEmpty(existingInhosps)) {
+ //鏂板杩囩殑鍏ラ櫌鏁版嵁锛屼笉鍐嶅鐞�
+ return;
+ }
log.info("----------------杩欓噷鐨勮繑鍙備负锛歿}", existingInhosps);
if (CollectionUtils.isNotEmpty(existingInhosps)) {
@@ -504,7 +548,8 @@
patMedInhosp.setDrcode("" + dto.getDoctorId());
patMedInhosp.setSchemestatus("0".equals(cry) ? 1L : 2L);
patMedInhosp.setDelFlag("0");
- patMedInhosp.setOrgid("" + orgid);
+ patMedInhosp.setOrgid(dto.getOrgId());
+ patMedInhosp.setCampusid(dto.getCampusId());
return patMedInhosp;
}
@@ -569,13 +614,15 @@
patArchive.setDelFlag("0");
patArchive.setCreateTime(new Date());
patArchive.setUpdateTime(new Date());
- patArchive.setOrgid("" + orgid);
+ patArchive.setOrgid("" + dto.getOrgId());
+ patArchive.setCampusid(dto.getCampusId());
return patArchive;
}
private ServiceSLTDInhospResDTO convertToDTO(Map<String, Object> dataItem) {
ServiceSLTDInhospResDTO dto = new ServiceSLTDInhospResDTO();
dto.setOrgId(getStringValue(dataItem, "orgId"));
+ dto.setCampusId(getStringValue(dataItem, "campusId"));
dto.setHealthcareRecordId(getLongValue(dataItem, "healthcareRecordId"));
dto.setHealthcareRecordNo(getStringValue(dataItem, "healthcareRecordNo"));
dto.setPatientId(getLongValue(dataItem, "patientId"));
--
Gitblit v1.9.3