From 665cb08f5e74996d417f26ab2bad6d7fe210ea2b Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 22 九月 2026 14:05:16 +0800
Subject: [PATCH] 1.修改省立同德满意度统计接口
---
smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java | 63 ++++++++++++++++++++++---------
1 files changed, 44 insertions(+), 19 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 1ad6fc5..00b3a3f 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
@@ -8,6 +8,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.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.smartor.common.enums.EmergencyLevelEnum;
import com.smartor.common.enums.ImportFlagEnum;
@@ -85,6 +86,10 @@
@Value("${spring.profiles.active}")
private String active;
+ @Autowired
+ private ServiceSubtaskServiceImpl serviceSubtaskServiceImpl;
+ @Autowired
+ private ServiceSubtaskMapper serviceSubtaskMapper;
@Override
public List<ServiceSLTDInhospResDTO> queryHealthcareRecordList(ServiceSLTDInhospReqVO reqVO) {
@@ -690,7 +695,7 @@
queryInhosp.setSerialnum(StringUtils.trim(patMedInhosp.getSerialnum()));
queryInhosp.setOrgid(StringUtils.trim(dto.getOrgId()));
queryInhosp.setInhospstate(cry);
- log.info("----------------杩欓噷鐨勫叆鍙備负锛歿},{}", queryInhosp.getPatno(), queryInhosp.getSerialnum());
+// log.info("----------------杩欓噷鐨勫叆鍙備负锛歿},{}", queryInhosp.getPatno(), queryInhosp.getSerialnum());
List<PatMedInhosp> existingInhosps = patMedInhospService.selectPatMedInhosp(queryInhosp);
if (cry.equals("0")) {
@@ -709,6 +714,23 @@
queryInhosp.setInhospstate("1");
patMedInhospList = patMedInhospService.selectPatMedInhosp(queryInhosp);
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
+ //濡傛灉涓嶄负绌猴紝鍒欏皢鍏ラ櫌鏃堕棿杩涜鏇存柊
+ PatMedInhosp pmOut = patMedInhospList.get(0);
+ PatMedInhosp pmIn = existingInhosps.get(0);
+ pmOut.setStarttime(pmIn.getStarttime());
+ pmOut.setUpdateTime(new Date());
+ patMedInhospService.updatePatMedInhosp(pmOut);
+ //鐪佺珛鍚屽痉闇�瑕佸皢寮�濮嬫棩鏈熶笌鍏ラ櫌鏃ユ湡鐩哥瓑鐨勪换鍔★紝鏀规垚涓嶆墽琛�
+ try {
+ if ("sltd".equals(active) && DateUtils.isSameDay(pmOut.getStarttime(), pmIn.getEndtime())) {
+ ServiceSubtask serviceSubtask = new ServiceSubtask();
+ serviceSubtask.setInhospid(pmOut.getInhospid());
+ serviceSubtask.setSendstate(4L);
+ serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask);
+ }
+ } catch (Exception e) {
+ log.error("灏嗗嚭闄㈡椂闂寸瓑浜庡叆闄㈡椂闂寸殑inhospid鐨勪换鍔℃洿鏂板け璐ヤ簡, inhospid={}", pmOut.getInhospid(), e);
+ }
return;
}
}
@@ -733,7 +755,7 @@
} else {
// 涓嶅瓨鍦ㄥ嚭闄㈣褰曪紝鍏堟煡棰勫叆闄紙state=3锛夛紝鍐嶆煡鍏ラ櫌锛坰tate=0锛�
queryInhosp.setInhospstate("3");
- log.info("-----鏌ヨ棰勫叆闄㈣褰曪紝鍏ュ弬涓猴細{}", queryInhosp);
+// log.info("-----鏌ヨ棰勫叆闄㈣褰曪紝鍏ュ弬涓猴細{}", queryInhosp);
List<PatMedInhosp> patMedInhospList = patMedInhospService.selectPatMedInhosp(queryInhosp);
log.info("----棰勫叆闄㈡煡璇㈢粨鏋滐細{}", CollectionUtils.isEmpty(patMedInhospList) ? "绌�" : patMedInhospList.get(0).getSerialnum());
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
@@ -786,13 +808,14 @@
if (CollectionUtils.isEmpty(patMedInhospList3)) {
try {
//鑾峰彇涓�涓嬪叆闄㈢敵璇峰崟
- Map<String, String> headers = buildRequestHeaders();
- Map<String, Object> requestParams = new HashMap<>();
- requestParams.put("orgId", "20001001");
- requestParams.put("20001001", patArchive.getPatidHis());
- String result = HttpUtils.sendPostByHeader(sltdPubPath + "/hospitalizedApply/query", new Gson().toJson(requestParams), headers);
-
-
+ //鏍规嵁 encounterSourceId 鑾峰彇 importanceFlagCode emergencyLevelCode
+ if (active.equals("sltd")) {
+ Map<String, String> applyInfo = hospitalizedApply(dto.getEncounterSourceId(), dto.getOrgId());
+ if (ObjectUtils.isNotEmpty(applyInfo)) {
+ patMedInhosp.setImportanceFlagCode(applyInfo.get("importanceFlagCode"));
+ patMedInhosp.setEmergencyLevelCode(applyInfo.get("emergencyLevelCode"));
+ }
+ }
patMedInhospService.insertPatMedInhosp(patMedInhosp);
log.debug("鎴愬姛鎻掑叆棰勫叆闄㈣褰曪細serialnum={}", patMedInhosp.getSerialnum());
} catch (Exception e) {
@@ -842,7 +865,7 @@
if ("1".equals(cry)) {
patMedInhosp.setInhospstate("1");
ServiceSLTDDiagnosisResDTO mainDischargeDiagnosis = dto.getMainDischargeDiagnosis();
- log.info("-----------mainDischargeDiagnosis鐨勫�兼湁浜嗗悧?{}", mainDischargeDiagnosis);
+// log.info("-----------mainDischargeDiagnosis鐨勫�兼湁浜嗗悧?{}", mainDischargeDiagnosis);
if (!Objects.isNull(mainDischargeDiagnosis)) {
if (mainDischargeDiagnosis.getIsMainDiagnosis() == 1) {
patMedInhosp.setLeavediagname(StringUtils.defaultString(mainDischargeDiagnosis.getDiagnosisDictName(), ""));
@@ -871,11 +894,13 @@
} else {
setAdmissionInfo(patMedInhosp, dto);
patMedInhosp.setEncounterSourceId(dto.getEncounterSourceId() == null ? "" : dto.getEncounterSourceId());
- if (StringUtils.isNotEmpty(dto.getEncounterSourceId())) {
+ if (StringUtils.isNotEmpty(dto.getEncounterSourceId()) && active.equals("sltd")) {
//鏍规嵁 encounterSourceId 鑾峰彇 importanceFlagCode emergencyLevelCode
Map<String, String> applyInfo = hospitalizedApply(dto.getEncounterSourceId(), dto.getOrgId());
- patMedInhosp.setImportanceFlagCode(applyInfo.get("importanceFlagCode"));
- patMedInhosp.setEmergencyLevelCode(applyInfo.get("emergencyLevelCode"));
+ if (!Objects.isNull(applyInfo)) {
+ patMedInhosp.setImportanceFlagCode(applyInfo.get("importanceFlagCode"));
+ patMedInhosp.setEmergencyLevelCode(applyInfo.get("emergencyLevelCode"));
+ }
}
}
@@ -897,13 +922,13 @@
}
}
- if (active.equals("nhfy") || active.equals("sltd")) {
+ //鐩墠鍙湁鐪佺珛鍚屽痉
+ if (active.equals("sltd")) {
Map<String, String> drugInfoMap = queryMedicalOrders(dto);
if (drugInfoMap != null && !drugInfoMap.isEmpty()) {
patMedInhosp.setMedicalName(drugInfoMap.get("drugItemNames"));
patMedInhosp.setMedicalCode(drugInfoMap.get("drugItemIds"));
patMedInhosp.setMedicalCompany(drugInfoMap.get("drugManufacturerNames"));
-
log.info("鑾峰彇鑽搧淇℃伅鎴愬姛锛氬悕绉�={}, 缂栫爜={}, 鍘傚={}", drugInfoMap.get("drugItemNames"), drugInfoMap.get("drugItemIds"), drugInfoMap.get("drugManufacturerNames"));
}
}
@@ -958,7 +983,7 @@
String code = BigDecimal.valueOf(((Number) codeObj).longValue()).toPlainString();
if (!"200".equals(code)) {
log.error("銆恞ueryMedicalOrders銆戞帴鍙h繑鍥炲け璐ワ紝code={}, message={}", code, responseMap.get("message"));
- return result;
+ return null;
}
}
@@ -969,7 +994,7 @@
// 閬嶅巻鍖诲槺鍒楄〃锛屾彁鍙栬嵂鍝佷俊鎭�
Set<String> processedItemIds = new HashSet<>(); // 鐢ㄤ簬鍘婚噸锛堝彧鏍规嵁 itemId 鍘婚噸锛�
-
+
for (Object item : dataList) {
if (item instanceof Map) {
Map<String, Object> itemMap = (Map<String, Object>) item;
@@ -995,7 +1020,7 @@
// 鑷冲皯鏈変竴涓湁鍊硷紝澶勭悊姣忎釜瀛楁
String itemName = (itemNameObj != null && StringUtils.isNotEmpty(itemNameObj.toString())) ? itemNameObj.toString() : "";
-
+
// itemId 鐗规畩澶勭悊锛氶伩鍏嶇瀛﹁鏁版硶锛圙son 鍙兘灏嗘暟瀛楄В鏋愪负 Double锛�
String itemId = "";
if (itemIdObj != null && StringUtils.isNotEmpty(itemIdObj.toString())) {
@@ -1006,7 +1031,7 @@
itemId = itemIdObj.toString();
}
}
-
+
String manufacturerName = (manufacturerNameObj != null && StringUtils.isNotEmpty(manufacturerNameObj.toString())) ? manufacturerNameObj.toString() : "";
// 鍙牴鎹� itemId 鍘婚噸锛堝悓涓�缂栫爜鐨勮嵂鍝佸彧淇濈暀涓�涓級
--
Gitblit v1.9.3