From 2867cf7076a584a34e63174cec0a8b89cdd03e4c Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 06 十一月 2026 13:42:55 +0800
Subject: [PATCH] Merge branch 'master' into smartor_ls_261103
---
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java | 334 +++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 295 insertions(+), 39 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
index 875f47e..859bd9c 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -3,6 +3,9 @@
import com.ruoyi.othervisit.api.OtherVisitFacade;
import com.ruoyi.inhospvisit.api.InhospVisitFacade;
import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.ruoyi.common.core.domain.entity.SysDept;
@@ -13,10 +16,11 @@
import com.ruoyi.common.utils.DtoConversionUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.http.HttpUtils;
+import com.ruoyi.system.service.ISysConfigService;
import com.smartor.domain.*;
-import com.smartor.domain.entity.ServiceSubtaskEntity;
import com.smartor.mapper.*;
import com.smartor.service.IPatMedOuthospService;
+import com.smartor.service.IPatSpecificArchiveGenerateService;
import com.smartor.service.IServiceExternalService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@@ -43,6 +47,18 @@
import com.ruoyi.othervisit.domain.PatMedOperation;
import com.ruoyi.outpatientvisit.domain.PatMedOuthosp;
import com.ruoyi.inhospvisit.domain.PatMedInhosp;
+import com.ruoyi.common.core.domain.entity.PatArchive;
+import com.ruoyi.common.core.domain.entity.PatArchivecontact;
+import com.ruoyi.task.domain.entity.ServiceSubtaskEntity;
+import com.ruoyi.task.domain.ServiceSubtask;
+import com.ruoyi.task.mapper.ServiceSubtaskMapper;
+import com.ruoyi.patarchive.mapper.PatArchiveMapper;
+import com.ruoyi.patarchive.mapper.PatArchivecontactMapper;
+import com.ruoyi.common.core.domain.entity.Icd10;
+import com.ruoyi.common.mapper.Icd10Mapper;
+import com.ruoyi.system.mapper.ext.SysUser2Mapper;
+import com.ruoyi.system.mapper.ext.SysDept2Mapper;
+import com.ruoyi.system.mapper.ext.SysUserDeptMapper;
/**
* 涓婚敭Service涓氬姟灞傚鐞�
*
@@ -52,6 +68,11 @@
@Slf4j
@Service
public class ServiceExternalServiceImpl implements IServiceExternalService {
+ /**
+ * 榫欐硥浜烘皯鍖婚櫌鏈烘瀯ID
+ */
+ private static final String LONGQUAN_PEOPLE_HOSPITAL_ORG_ID = "47240004533118111A1001";
+
@Autowired
private SysDept2Mapper sysDeptMapper;
@@ -80,6 +101,10 @@
private Icd10Mapper icd10Mapper;
@Autowired
private IPatMedOuthospService patMedOuthospService;
+ @Autowired
+ private ISysConfigService configService;
+ @Autowired
+ private IPatSpecificArchiveGenerateService patSpecificArchiveGenerateService;
@Autowired
private PatMedOuthospMapper patMedOuthospMapper;
@Autowired
@@ -1322,6 +1347,8 @@
patMedOuthospService.dealPatMedOuthosp(patMedOuthosp, visitTimeNum);
}
+ genePatSpecificArchive(patMedOuthosp, patArchive);
+
if (i > 0) {
return true;
}
@@ -1817,9 +1844,66 @@
} else {
patMedInhosp.setCreateTime(new Date());
i = inhospVisitFacade.insertPatMedInhosp(patMedInhosp);
+ if (i == 1) {
+ //榫欐硥浜烘皯鍖婚櫌锛氭柊澧炰綇闄俊鎭椂澶勭悊鎮h�呭啀鍏ラ櫌
+ stopReadmissionFollowUpTasks(patMedInhosp);
+ }
}
if (i == 1) return true;
return false;
+ }
+
+ /**
+ * 鎮h�呭啀鍏ラ櫌澶勭悊锛氭偅鑰呭啀娆″叆闄㈠悗锛屼笂涓�娆″嚭闄㈢敓鎴愮殑寰呮墽琛岄暱鏈熼殢璁夸换鍔′笉鍐嶆墽琛屻��
+ * 鐩墠浠呭榫欐硥浜烘皯鍖婚櫌鐢熸晥锛岄伩鍏嶅奖鍝嶅叾浠栨満鏋勩��
+ *
+ * @param patMedInhosp 鏈鏂板鐨勪綇闄俊鎭�
+ */
+ private void stopReadmissionFollowUpTasks(PatMedInhosp patMedInhosp) {
+ if (!LONGQUAN_PEOPLE_HOSPITAL_ORG_ID.equals(patMedInhosp.getOrgid())) {
+ return;
+ }
+ if (Objects.isNull(patMedInhosp.getPatid()) || Objects.isNull(patMedInhosp.getStarttime())) {
+ log.warn("榫欐硥浜烘皯鍖婚櫌鎮h�呭啀鍏ラ櫌澶勭悊璺宠繃锛宲atid鎴栧叆闄㈡椂闂翠负绌猴紝inhospno={}", patMedInhosp.getInhospno());
+ return;
+ }
+ try {
+ ServiceSubtaskEntity subtask = new ServiceSubtaskEntity();
+ subtask.setPatid(patMedInhosp.getPatid());
+ subtask.setOrgid(LONGQUAN_PEOPLE_HOSPITAL_ORG_ID);
+ subtask.setSendstate(2L);
+ List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(subtask);
+ if (CollectionUtils.isEmpty(serviceSubtaskList)) {
+ return;
+ }
+ int stopCount = 0;
+ for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+ //涓嶆槸闀挎湡浠诲姟锛屼笉澶勭悊
+ if (Objects.isNull(serviceSubtask.getLongSendTime())) {
+ continue;
+ }
+ //鍑洪櫌鏃堕棿鏅氫簬鎴栫瓑浜庢湰娆″叆闄㈡椂闂寸殑浠诲姟锛屼笉灞炰簬鏈鍏ラ櫌鍓嶇殑寰呴殢璁夸换鍔�
+ if (Objects.isNull(serviceSubtask.getEndtime())
+ || !serviceSubtask.getEndtime().before(patMedInhosp.getStarttime())) {
+ continue;
+ }
+ serviceSubtask.setSendstate(4L);
+ serviceSubtask.setIsVisitAgain(2);
+ serviceSubtask.setResult("error");
+ serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark())
+ ? serviceSubtask.getRemark() + ";鎮h�呭啀鍏ラ櫌" : "鎮h�呭啀鍏ラ櫌");
+ serviceSubtask.setUpdateTime(new Date());
+ if (Boolean.TRUE.equals(serviceSubtaskMapper.updateServiceSubtask(serviceSubtask))) {
+ stopCount++;
+ }
+ }
+ log.info("榫欐硥浜烘皯鍖婚櫌鎮h�呭啀鍏ラ櫌澶勭悊瀹屾垚锛宲atid={}锛屾湰娆″叆闄㈡椂闂�={}锛屽仠姝㈠緟鎵ц闀挎湡浠诲姟{}鏉�",
+ patMedInhosp.getPatid(), patMedInhosp.getStarttime(), stopCount);
+ } catch (Exception e) {
+ //鍐嶅叆闄换鍔″鐞嗗け璐ヤ笉褰卞搷鏈浣忛櫌淇℃伅鍏ュ簱
+ log.error("榫欐硥浜烘皯鍖婚櫌鎮h�呭啀鍏ラ櫌澶勭悊寮傚父锛宲atid={}锛宨nhospno={}",
+ patMedInhosp.getPatid(), patMedInhosp.getInhospno(), e);
+ }
}
//鏂板闅忚浠诲姟鍚屾
@@ -1995,75 +2079,192 @@
}
//妫�鏌ヨ鎯呮坊鍔�
+ @SuppressWarnings("unchecked")
@Override
+ @Transactional(rollbackFor = Exception.class)
public Boolean addInspectBGService(Map dataMap) {
log.info("ServiceExternalServiceImpl---addInspectBGService鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
Map xiaoXiTou = (Map) dataMap.get("XiaoXiTou");
Map yeWuXX = (Map) dataMap.get("YeWuXX");
Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null;
Map<String, Object> JianChaBG = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JianChaBG") : null;
- List<HashMap<String, Object>> JianChaBWList = ObjectUtils.isNotEmpty(JianChaBG) ? (List<HashMap<String, Object>>) JianChaBG.get("JianChaBWList") : null;
+ if (ObjectUtils.isEmpty(BingRenXX)) {
+ throw new BaseException("妫�鏌ユ姤鍛婂悓姝ュけ璐ワ細BingRenXX涓嶈兘涓虹┖");
+ }
+ if (ObjectUtils.isEmpty(JianChaBG)) {
+ throw new BaseException("妫�鏌ユ姤鍛婂悓姝ュけ璐ワ細JianChaBG涓嶈兘涓虹┖");
+ }
+
+ // 鏈烘瀯浼樺厛鍙栨秷鎭ご锛屽叾娆″彇鎮h�呬俊鎭紝鍜屾鏌ョ敵璇疯ˉ寤洪�昏緫淇濇寔涓�鑷�
+ String orgid = ObjectUtils.isNotEmpty(xiaoXiTou) ? getMapValue(xiaoXiTou, "FaSongJGID") : null;
+ if (StringUtils.isBlank(orgid)) {
+ orgid = getMapValue(BingRenXX, "ZuZhiJGID");
+ }
+ String bingAnHao = getMapValue(BingRenXX, "BingAnHao");
+ String bingRenID = getMapValue(BingRenXX, "BingRenID");
+ String xingMing = getMapValue(BingRenXX, "XingMing");
+ String shenQingDID = getMapValue(JianChaBG, "ShenQingDID");
+ if (StringUtils.isBlank(orgid) || StringUtils.isBlank(bingAnHao) || StringUtils.isBlank(bingRenID)
+ || StringUtils.isBlank(xingMing) || StringUtils.isBlank(shenQingDID)) {
+ throw new BaseException("妫�鏌ユ姤鍛婂悓姝ュけ璐ワ細BingRenXX.ZuZhiJGID/BingAnHao/BingRenID/XingMing銆丣ianChaBG.ShenQingDID涓嶈兘涓虹┖");
+ }
+
PatMedInspection patMedInspection = new PatMedInspection();
PatMedInspectionItem patMedInspectionItem = new PatMedInspectionItem();
- patMedInspection.setOrgid(BingRenXX.get("ZuZhiJGID").toString());
+ patMedInspection.setOrgid(orgid);
//涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
patMedInspection.setCampusid("1");
- patMedInspection.setInhospno(BingRenXX.get("BingAnHao").toString());
- patMedInspection.setPatidHis(BingRenXX.get("BingRenID").toString());
- patMedInspection.setPatname(BingRenXX.get("XingMing").toString());
- patMedInspection.setAppliyid(JianChaBG.get("ShenQingDID").toString());
+ patMedInspection.setInhospno(bingAnHao);
+ patMedInspection.setPatidHis(bingRenID);
+ patMedInspection.setPatname(xingMing);
+ patMedInspection.setAppliyid(shenQingDID);
//鏌ユ壘鎮h�呮鏌ユ楠屼俊鎭紝濡傛灉鏃狅紝杩涜鏂板姞
List<PatMedInspection> patMedInspections = patMedInspectionMapper.selectPatMedInspectionList(patMedInspection);
- if (CollectionUtils.isNotEmpty(patMedInspections)) {
- patMedInspectionItem.setInspectionid(patMedInspections.get(0).getId().intValue());
- } else {
+ if (CollectionUtils.isEmpty(patMedInspections)) {
addInspectService(dataMap);
- List<PatMedInspection> patMedInspections2 = patMedInspectionMapper.selectPatMedInspectionList(patMedInspection);
- patMedInspectionItem.setInspectionid(patMedInspections2.get(0).getId().intValue());
+ patMedInspections = patMedInspectionMapper.selectPatMedInspectionList(patMedInspection);
+ if (CollectionUtils.isEmpty(patMedInspections)) {
+ throw new BaseException("妫�鏌ユ姤鍛婂悓姝ュけ璐ワ細鏈壘鍒版垨鍒涘缓妫�鏌ヤ富璁板綍锛孲henQingDID=" + shenQingDID);
+ }
}
+ patMedInspectionItem.setInspectionid(patMedInspections.get(0).getId().intValue());
//妫�鏌ユ楠屾姤鍛婃暟鎹鐞�
- patMedInspectionItem.setOrgid(BingRenXX.get("ZuZhiJGID").toString());
+ patMedInspectionItem.setOrgid(orgid);
//涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
patMedInspectionItem.setCampusid("1");
List<PatMedInspectionItem> patMedInspectionItems = patMedInspectionItemMapper.selectPatMedInspectionItemList(patMedInspectionItem);
- if (ObjectUtils.isNotEmpty(JianChaBG)) {
- patMedInspectionItem.setInspectionName(JianChaBG.get("JianChaHao").toString());
- patMedInspectionItem.setReportid(JianChaBG.get("JianChaHao").toString());
- patMedInspectionItem.setStatuscode(JianChaBG.get("DangQianZTDM").toString());
- patMedInspectionItem.setStatusname(JianChaBG.get("DangQianZTMC").toString());
- patMedInspectionItem.setReportid(JianChaBG.get("BaoGaoRID").toString());
- patMedInspectionItem.setReportername(JianChaBG.get("BaoGaoRXM").toString());
- patMedInspectionItem.setDiagimpression(JianChaBG.get("ZhenDuanYX").toString());
- patMedInspectionItem.setDiagfindings(JianChaBG.get("ZhenDuanSJ").toString());
- patMedInspectionItem.setDiagsuggestion(JianChaBG.get("ZhenDuanJY").toString());
- patMedInspectionItem.setReporturl(JianChaBG.get("BaoGaoYXDZ").toString());
- patMedInspectionItem.setCriticalFlag(Integer.valueOf(JianChaBG.get("WeiJiZBZ").toString()));
- patMedInspectionItem.setCriticalContent(JianChaBG.get("WeiJiZNR").toString());
- patMedInspectionItem.setReportdeptid(JianChaBG.get("BaoGaoKSID").toString());
- patMedInspectionItem.setReportdeptname(JianChaBG.get("BaoGaoKSMC").toString());
- patMedInspectionItem.setResultcode(JianChaBG.get("JianChaJGDM").toString());
- patMedInspectionItem.setResultname(JianChaBG.get("JianChaJGMC").toString());
- if (ObjectUtils.isNotEmpty(JianChaBG.get("BaoGaoSJ"))) {
- try {
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- patMedInspection.setOpendate(simpleDateFormat.parse(JianChaBG.get("BaoGaoSJ").toString()));
- } catch (ParseException e) {
- e.printStackTrace();
+
+ // 鍏煎 PACS 瀹為檯鎶ユ枃锛氭姤鍛婁汉銆佹姤鍛婃椂闂淬�佹姤鍛婂湴鍧�绛夊瓧娈靛悕涓庢爣鍑嗘姤鏂囧瓨鍦ㄥ樊寮�
+ String jianChaHao = getMapValue(JianChaBG, "JianChaHao");
+ String reportId = getMapValue(JianChaBG, "BaoGaoID");
+ if (StringUtils.isBlank(reportId)) {
+ reportId = getMapValue(JianChaBG, "BaoGaoRID");
+ }
+ if (StringUtils.isBlank(reportId)) {
+ reportId = jianChaHao;
+ }
+ String inspectionName = StringUtils.isNotBlank(jianChaHao) ? jianChaHao : reportId;
+ if (StringUtils.isBlank(inspectionName)) {
+ inspectionName = shenQingDID;
+ }
+ String reporterId = getMapValue(JianChaBG, "BaoGaoRID", "ZhiXingRID", "KaiDanRID");
+ String reporterName = getMapValue(JianChaBG, "BaoGaoRXM", "ZhiXingRXM", "KaiDanRXM");
+ String reportUrl = getMapValue(JianChaBG, "BaoGaoYXDZ", "TuWenBGXZDZ", "PDFurl");
+ String reportDateStr = getMapValue(JianChaBG, "BaoGaoSJ", "ZhiXingSJ");
+
+ patMedInspectionItem.setInspectionName(inspectionName);
+ patMedInspectionItem.setReportid(reportId);
+ patMedInspectionItem.setStatuscode(getMapValue(JianChaBG, "DangQianZTDM"));
+ patMedInspectionItem.setStatusname(getMapValue(JianChaBG, "DangQianZTMC"));
+ patMedInspectionItem.setReporterid(reporterId);
+ patMedInspectionItem.setReportername(reporterName);
+ patMedInspectionItem.setDiagimpression(getMapValue(JianChaBG, "ZhenDuanYX"));
+ patMedInspectionItem.setDiagfindings(getMapValue(JianChaBG, "ZhenDuanSJ"));
+ patMedInspectionItem.setDiagsuggestion(getMapValue(JianChaBG, "ZhenDuanJY"));
+ patMedInspectionItem.setReporturl(reportUrl);
+ patMedInspectionItem.setCriticalFlag(parseInteger(getMapValue(JianChaBG, "WeiJiZBZ")));
+ patMedInspectionItem.setCriticalContent(getMapValue(JianChaBG, "WeiJiZNR"));
+ patMedInspectionItem.setReportdeptid(getMapValue(JianChaBG, "BaoGaoKSID"));
+ patMedInspectionItem.setReportdeptname(getMapValue(JianChaBG, "BaoGaoKSMC"));
+ patMedInspectionItem.setResultcode(getMapValue(JianChaBG, "JianChaJGDM"));
+ patMedInspectionItem.setResultname(getMapValue(JianChaBG, "JianChaJGMC"));
+ Date reportDate = parseDateTime(reportDateStr);
+ if (reportDate != null) {
+ patMedInspectionItem.setReportdate(reportDate);
+ }
+
+ // 鍚屼竴妫�鏌ヤ笅鍙兘瀛樺湪澶氭潯鎶ュ憡鏄庣粏锛屼紭鍏堟寜鎶ュ憡ID銆佹鏌ュ彿鍖归厤锛岄伩鍏嶆洿鏂伴敊琛�
+ PatMedInspectionItem existingItem = null;
+ if (CollectionUtils.isNotEmpty(patMedInspectionItems)) {
+ for (PatMedInspectionItem item : patMedInspectionItems) {
+ if (StringUtils.isNotBlank(reportId) && reportId.equals(item.getReportid())) {
+ existingItem = item;
+ break;
}
}
+ if (existingItem == null) {
+ for (PatMedInspectionItem item : patMedInspectionItems) {
+ if (StringUtils.isNotBlank(inspectionName) && inspectionName.equals(item.getInspectionName())) {
+ existingItem = item;
+ break;
+ }
+ }
+ }
+ if (existingItem == null) {
+ existingItem = patMedInspectionItems.get(0);
+ }
}
- if (ObjectUtils.isNotEmpty(patMedInspectionItems)) {
+
+ if (existingItem != null) {
+ // 鏇存柊蹇呴』甯︿笂涓婚敭锛屽惁鍒� update ... where id = null 浼氬奖鍝� 0 琛岋紝鎺ュ彛杩斿洖澶辫触
+ patMedInspectionItem.setId(existingItem.getId());
patMedInspectionItem.setUpdateTime(new Date());
int i = patMedInspectionItemMapper.updatePatMedInspectionItem(patMedInspectionItem);
- if (i != 1) return false;
+ if (i < 1) {
+ throw new BaseException("妫�鏌ユ姤鍛婃槑缁嗘洿鏂板け璐ワ紝id=" + existingItem.getId());
+ }
} else {
patMedInspectionItem.setDelFlag("0");
patMedInspectionItem.setCreateTime(new Date());
int i = patMedInspectionItemMapper.insertPatMedInspectionItem(patMedInspectionItem);
- if (i != 1) return false;
+ if (i != 1) {
+ throw new BaseException("妫�鏌ユ姤鍛婃槑缁嗘柊澧炲け璐ワ紝ShenQingDID=" + shenQingDID);
+ }
}
return true;
+ }
+
+ /**
+ * 浠庢姤鏂囦腑鎸夐『搴忚幏鍙栫涓�涓潪绌哄瓧娈碉紝鍏煎涓嶅悓鍘傚晢鐨勫瓧娈靛懡鍚�
+ */
+ private String getMapValue(Map<String, Object> source, String... keys) {
+ if (source == null || keys == null) {
+ return null;
+ }
+ for (String key : keys) {
+ Object value = source.get(key);
+ if (value != null && StringUtils.isNotBlank(String.valueOf(value))) {
+ return String.valueOf(value);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 瑙f瀽妫�鏌ユ姤鍛婃椂闂达紝鍏煎甯歌鏃ユ湡鏃堕棿鏍煎紡
+ */
+ private Date parseDateTime(String dateTime) {
+ if (StringUtils.isBlank(dateTime)) {
+ return null;
+ }
+ String[] patterns = {"yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd'T'HH:mm:ss", "yyyy-MM-dd"};
+ for (String pattern : patterns) {
+ try {
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
+ simpleDateFormat.setLenient(false);
+ return simpleDateFormat.parse(dateTime);
+ } catch (ParseException ignored) {
+ // 灏濊瘯涓嬩竴绉嶆牸寮�
+ }
+ }
+ log.warn("妫�鏌ユ姤鍛婃椂闂存牸寮忔棤娉曡В鏋愶細{}", dateTime);
+ return null;
+ }
+
+ /**
+ * 瑙f瀽妫�鏌ユ姤鍛婃暟瀛楀瓧娈碉紝閬垮厤闈炴暟瀛楀唴瀹瑰鑷存帴鍙f姤閿�
+ */
+ private Integer parseInteger(String value) {
+ if (StringUtils.isBlank(value)) {
+ return null;
+ }
+ try {
+ return Integer.valueOf(value.trim());
+ } catch (NumberFormatException e) {
+ log.warn("妫�鏌ユ姤鍛婃暟瀛楀瓧娈垫棤娉曡浆鎹細{}", value);
+ return null;
+ }
}
@Override
@@ -2337,4 +2538,59 @@
}
return 1;
}
+
+ /**
+ * 瀹屾垚鎺ヨ瘖鏃舵寜涓撶妗f鐢熸垚閰嶇疆鐢熸垚濡囩/鍎跨妗f銆�
+ *
+ * <p>鐢熸垚閫昏緫鍐呴儴鍙鎸囧畾鏈烘瀯鐢熸晥锛屾湭鍛戒腑閰嶇疆鎴栫敓鎴愬け璐ュ潎涓嶅奖鍝嶆帴璇婁富娴佺▼銆�</p>
+ */
+ private void genePatSpecificArchive(PatMedOuthosp patMedOuthosp, PatArchive patArchive) {
+ try {
+ int generated = patSpecificArchiveGenerateService.generateByOuthosp(patMedOuthosp, patArchive);
+ if (generated > 0) {
+ log.info("瀹屾垚鎺ヨ瘖鑷姩鐢熸垚涓撶妗f鎴愬姛锛宱uthospno={}锛岀敓鎴愭暟閲�={}",
+ patMedOuthosp.getOuthospno(), generated);
+ }
+ } catch (Exception e) {
+ log.error("瀹屾垚鎺ヨ瘖鑷姩鐢熸垚涓撶妗f澶辫触锛宱uthospno={}", patMedOuthosp.getOuthospno(), e);
+ }
+ }
+
+ /**
+ * 鍒ゆ柇褰撳墠绉戝灞炰簬濡囩杩樻槸鍎跨
+ *
+ * @param deptCode 褰撳墠绉戝/鐥呭尯 Code锛屽 "D004"
+ * @param orgid 鍖婚櫌鏈烘瀯ID
+ * @return deptCategory锛�1-濡囩 2-鍎跨锛沶ull-鏈厤缃垨鏈懡涓�
+ */
+ public String judgeDeptCategory(String deptCode, String orgid) {
+ if (StringUtils.isEmpty(deptCode)) {
+ return null;
+ }
+
+ // 浼樺厛鍙栨満鏋勭骇閰嶇疆锛屽彇涓嶅埌鍐嶅彇鍏ㄥ眬閰嶇疆
+ String configValue = configService.selectConfigByKey("sys.dept.category",
+ orgid);
+ if (StringUtils.isEmpty(configValue)) {
+ configValue = configService.selectConfigByKey("sys.dept.category");
+ }
+ if (StringUtils.isEmpty(configValue)) {
+ return null;
+ }
+
+ JSONArray configs = JSON.parseArray(configValue);
+ if (configs == null || configs.isEmpty()) {
+ return null;
+ }
+
+ for (int i = 0; i < configs.size(); i++) {
+ JSONObject cfg = configs.getJSONObject(i);
+ JSONArray deptCodes = cfg.getJSONArray("deptCodes");
+ if (deptCodes != null && deptCodes.contains(deptCode)) {
+ return cfg.getString("deptCategory");
+ }
+ }
+ return null;
+ }
+
}
--
Gitblit v1.9.3