From cf8712a9c0816559f50644f15672e7359028c4c4 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 11 十一月 2026 14:02:58 +0800
Subject: [PATCH] 妇幼-住院完成生成
---
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java | 235 ++++++++++++++++++++++++++++++++++------------------------
1 files changed, 137 insertions(+), 98 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 0ae7652..859bd9c 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1,5 +1,7 @@
package com.smartor.service.impl;
+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;
@@ -16,11 +18,9 @@
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.IPatChildArchiveService;
-import com.smartor.service.IPatMaternityArchiveService;
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;
@@ -41,6 +41,24 @@
import java.util.*;
import java.util.stream.Collectors;
+import com.ruoyi.outpatientvisit.domain.PatMedOuthospQueryReq;
+import com.ruoyi.othervisit.domain.PatMedOperationItem;
+import com.ruoyi.outpatientvisit.mapper.PatMedOuthospMapper;
+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涓氬姟灞傚鐞�
*
@@ -50,8 +68,19 @@
@Slf4j
@Service
public class ServiceExternalServiceImpl implements IServiceExternalService {
+ /**
+ * 榫欐硥浜烘皯鍖婚櫌鏈烘瀯ID
+ */
+ private static final String LONGQUAN_PEOPLE_HOSPITAL_ORG_ID = "47240004533118111A1001";
+
@Autowired
private SysDept2Mapper sysDeptMapper;
+
+ /**
+ * 鎵嬫湳鏁版嵁涓�寰嬬粡 ruoyi-othervisit 鐨勯棬闈㈠彇鐢紙璺ㄦā鍧楁暟鎹闂師鍒欙級銆�
+ */
+ @Autowired
+ private OtherVisitFacade otherVisitFacade;
@Autowired
private SysUser2Mapper sysUserMapper;
@Autowired
@@ -63,11 +92,7 @@
@Autowired
private PatArchivecontactMapper patArchivecontactMapper;
@Autowired
- private PatMedInhospMapper patMedInhospMapper;
- @Autowired
- private PatMedOperationMapper patMedOperationMapper;
- @Autowired
- private PatMedOperationItemMapper patMedOperationItemMapper;
+ private InhospVisitFacade inhospVisitFacade;
@Autowired
private PatMedInspectionMapper patMedInspectionMapper;
@Autowired
@@ -79,9 +104,7 @@
@Autowired
private ISysConfigService configService;
@Autowired
- private IPatMaternityArchiveService patMaternityArchiveService;
- @Autowired
- private IPatChildArchiveService patChildArchiveService;
+ private IPatSpecificArchiveGenerateService patSpecificArchiveGenerateService;
@Autowired
private PatMedOuthospMapper patMedOuthospMapper;
@Autowired
@@ -495,9 +518,9 @@
PatMedInhosp patMedInhosp = new PatMedInhosp();
patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+ String tagname = inhospVisitFacade.getTagnameBypatid(patMedInhosp1.getPatid());
patMedInhosp1.setTagname(tagname);
}
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
@@ -510,7 +533,7 @@
patMedInhosp1.setOperatorId(ObjectUtils.isNotEmpty(JiuZhenXX.get("CaoZuoRID")) ? JiuZhenXX.get("CaoZuoRID").toString() : null);
}
patMedInhosp1.setUpdateTime(new Date());
- int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
if (i != 1) return false;
}
return true;
@@ -589,9 +612,9 @@
PatMedInhosp patMedInhosp = new PatMedInhosp();
patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+ String tagname = inhospVisitFacade.getTagnameBypatid(patMedInhosp1.getPatid());
patMedInhosp1.setTagname(tagname);
}
PatMedInhosp patMedInhosp1 = new PatMedInhosp();
@@ -706,7 +729,7 @@
//涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
patMedInhosp1.setFuflag("0");
}
- int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
if (i != 1) return false;
} else {
if (ObjectUtils.isNotEmpty(BingRenXX)) {
@@ -730,7 +753,7 @@
patMedInhosp1.setFuflag("0");
}
- int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.insertPatMedInhosp(patMedInhosp1);
if (i != 1) return false;
}
return true;
@@ -788,9 +811,9 @@
PatMedInhosp patMedInhosp = new PatMedInhosp();
patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+ String tagname = inhospVisitFacade.getTagnameBypatid(patMedInhosp1.getPatid());
patMedInhosp1.setTagname(tagname);
}
PatMedInhosp patMedInhosp1 = new PatMedInhosp();
@@ -872,7 +895,7 @@
//涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
patMedInhosp1.setFuflag("0");
}
- int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
if (i != 1) return false;
} else {
if (ObjectUtils.isNotEmpty(BingRenXX)) {
@@ -895,7 +918,7 @@
//涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
patMedInhosp1.setFuflag("0");
}
- int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.insertPatMedInhosp(patMedInhosp1);
if (i != 1) return false;
}
return true;
@@ -910,9 +933,9 @@
PatMedInhosp patMedInhosp = new PatMedInhosp();
patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+ String tagname = inhospVisitFacade.getTagnameBypatid(patMedInhosp1.getPatid());
patMedInhosp1.setTagname(tagname);
}
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
@@ -926,7 +949,7 @@
patMedInhosp1.setOperatorId(ObjectUtils.isNotEmpty(JiuZhenXX.get("CaoZuoRXM")) ? JiuZhenXX.get("CaoZuoRID").toString() : null);
}
patMedInhosp1.setUpdateTime(new Date());
- int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
//鍙栨秷鍑洪櫌锛屽氨涓嶉渶瑕佹湇鍔′簡锛岄渶瑕侀�氳繃patid鍜宻endstate=2鎴栬�卻endstate=1鍘绘煡璇竴涓嬶紝service_subtask閲屾槸鍚︽湁姝e湪鎵ц鐨勪换鍔★紝鏈夌殑璇濓紝绔嬪嵆鍋滀簡
ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
@@ -1010,9 +1033,9 @@
PatMedInhosp patMedInhosp = new PatMedInhosp();
patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+ String tagname = inhospVisitFacade.getTagnameBypatid(patMedInhosp1.getPatid());
patMedInhosp1.setTagname(tagname);
}
Map<String, Object> JiuZhenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JiuZhenXX") : null;
@@ -1096,7 +1119,7 @@
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
patMedInhosp1.setUpdateTime(new Date());
patMedInhosp1.setOrgid(ObjectUtils.isNotEmpty(BingRenXX) && ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null);
- int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
if (i != 1) return false;
} else {
if (ObjectUtils.isNotEmpty(BingRenXX)) {
@@ -1115,7 +1138,7 @@
patMedInhosp1.setPatname(patArchive.getName());
patMedInhosp1.setCreateTime(new Date());
- int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.insertPatMedInhosp(patMedInhosp1);
if (i != 1) return false;
}
@@ -1150,7 +1173,7 @@
PatMedInhosp patMedInhosp = new PatMedInhosp();
patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
PatMedInhosp patMedInhosp1 = null;
if (CollectionUtils.isNotEmpty(patMedInhospList)) patMedInhosp1 = patMedInhospList.get(0);
if (ObjectUtils.isNotEmpty(patMedInhosp1)) {
@@ -1161,7 +1184,7 @@
patMedInhosp1.setUpdateTime(new Date());
//鏇存柊鍑洪櫌鐘舵��
patMedInhosp1.setInhospstate("1");
- int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
if (i != 1) return false;
} catch (ParseException e) {
e.printStackTrace();
@@ -1432,7 +1455,7 @@
patMedOperation.setPatid(patArchive.getId());
patMedOperation.setOpreqcode(externalOperationInfo.getShenQingDID());
//鏌ヨ涓�涓嬶紝璇ユ偅鑰呮槸鍚﹀凡缁忔湁杩欎簺鏁版嵁
- List<PatMedOperation> patMedOperations = patMedOperationMapper.selectPatMedOperationList(patMedOperation);
+ List<PatMedOperation> patMedOperations = otherVisitFacade.selectOperationList(patMedOperation);
patMedOperation.setOpsstatus(null);
if (ObjectUtils.isNotEmpty(externalOperationInfo)) {
@@ -1509,10 +1532,10 @@
//鍚屾椂鍘绘煡璇紝鏄惁鍦╯ubtask涓敓鎴愪换鍔★紝濡傛灉鐢熸垚鍑哄緱绔嬮┈鍒犻櫎
}
patMedOperation.setUpdateTime(new Date());
- patMedOperationMapper.updatePatMedOperation(patMedOperation);
+ otherVisitFacade.updateOperation(patMedOperation);
} else {
patMedOperation.setCreateTime(new Date());
- patMedOperationMapper.insertPatMedOperation(patMedOperation);
+ otherVisitFacade.insertOperation(patMedOperation);
}
log.info("-----patMedOperation鐨勪富閿甶d涓猴細{}", patMedOperation.getId());
@@ -1536,7 +1559,7 @@
}).collect(Collectors.toList()) : null;
if(ObjectUtils.isNotEmpty(patMedOperation.getId())){
- patMedOperationItemMapper.deleteHardPatMedOperationItemByOpId(patMedOperation.getId().toString());
+ otherVisitFacade.deleteHardOperationItemByOpId(patMedOperation.getId().toString());
}
//addMianTableFalg鏄惁闇�瑕佸皢涓绘墜鏈殑淇℃伅鏀惧埌PatMedOperation琛ㄤ腑锛堝彧鏈夌涓�涓富鎵嬫湳淇℃伅闇�瑕佹斁锛屽悗闈㈢殑閮戒笉闇�瑕佹斁浜嗭紝涔熷氨鏄锛岀涓�涓斁瀹屽悗锛屽氨瑕佹妸杩欎釜flag鏀规垚false锛�
@@ -1568,12 +1591,12 @@
}
patMedOperation.setUpdateTime(new Date());
- patMedOperationMapper.updatePatMedOperation(patMedOperation);
+ otherVisitFacade.updateOperation(patMedOperation);
addMianTableFalg = false;
}
patMedOperationItem.setCreateTime(new Date());
patMedOperationItem.setUpdateTime(new Date());
- patMedOperationItemMapper.insertPatMedOperationItem(patMedOperationItem);
+ otherVisitFacade.insertOperationItem(patMedOperationItem);
}
}
return true;
@@ -1597,7 +1620,7 @@
patMedOperation.setOrgid(patArchive.getOrgid());
patMedOperation.setOpreqcode(externalOperationInfo.getShenQingDID());
//鏌ヨ涓�涓嬶紝璇ユ偅鑰呮槸鍚﹀凡缁忔湁杩欎簺鏁版嵁
- List<PatMedOperation> patMedOperations = patMedOperationMapper.selectPatMedOperationList(patMedOperation);
+ List<PatMedOperation> patMedOperations = otherVisitFacade.selectOperationList(patMedOperation);
if (CollectionUtils.isNotEmpty(patMedOperations)) {
for(PatMedOperation operation : patMedOperations){
Long id = operation.getId();
@@ -1612,7 +1635,7 @@
//鑾峰彇闇�瑕佸嚭闄㈡墜鏈殢璁匡紝鏈鐞嗙殑鏁版嵁
pmoi.setOpid(operation.getId().toString());
List<PatMedOperationItem> patMedOperationItems
- = patMedOperationItemMapper.selectOperationItemList(pmoi);
+ = otherVisitFacade.selectOperationItemListByCondition(pmoi);
List<Long> operationItemIds = patMedOperationItems.stream()
.map(PatMedOperationItem::getId)
.filter(Objects::nonNull)
@@ -1646,8 +1669,8 @@
}
}
operation.setUpdateTime(new Date());
- patMedOperationMapper.updatePatMedOperation(operation);
- patMedOperationItemMapper.deleteSoftPatMedOperationItemByOpId(operation.getOpid());
+ otherVisitFacade.updateOperation(operation);
+ otherVisitFacade.deleteSoftOperationItemByOpId(operation.getOpid());
}
}
}
@@ -1766,7 +1789,7 @@
//鍖婚櫌閭h竟璇磋鐢ㄧ梾妗堝彿锛屼笉瑕佺敤浣忛櫌鍙�
patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
- patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
patMedInhosp.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC());
patMedInhosp.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID());
patMedInhosp.setStarttime(externalInHospPatientInfo.getRuYuanSJ());
@@ -1817,13 +1840,70 @@
int i = 1;
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
patMedInhosp.setInhospid(patMedInhospList.get(0).getInhospid());
- i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
+ i = inhospVisitFacade.updatePatMedInhosp(patMedInhosp);
} else {
patMedInhosp.setCreateTime(new Date());
- i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp);
+ 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);
+ }
}
//鏂板闅忚浠诲姟鍚屾
@@ -2459,61 +2539,20 @@
return 1;
}
- //鏂板鎮h�呬笓绉戞。妗堝熀鏈俊鎭�
+ /**
+ * 瀹屾垚鎺ヨ瘖鏃舵寜涓撶妗f鐢熸垚閰嶇疆鐢熸垚濡囩/鍎跨妗f銆�
+ *
+ * <p>鐢熸垚閫昏緫鍐呴儴鍙鎸囧畾鏈烘瀯鐢熸晥锛屾湭鍛戒腑閰嶇疆鎴栫敓鎴愬け璐ュ潎涓嶅奖鍝嶆帴璇婁富娴佺▼銆�</p>
+ */
private void genePatSpecificArchive(PatMedOuthosp patMedOuthosp, PatArchive patArchive) {
- String deptCategory = judgeDeptCategory(patMedOuthosp.getDeptcode(), patMedOuthosp.getOrgid());
-
- boolean isGynecology = "1".equals(deptCategory); // 鏄惁濡囩
- boolean isPediatrics = "2".equals(deptCategory); // 鏄惁鍎跨
-
- if (isGynecology) {
- // 璧板绉戞。妗堢敓鎴愰�昏緫
- PatMaternityArchiveDetail patMaternityArchiveDetail
- = DtoConversionUtils.sourceToTarget(patMedOuthosp, PatMaternityArchiveDetail.class);
- patMaternityArchiveDetail.setSourceType("1");
- patMaternityArchiveDetail.setPhone(patArchive.getTelcode());
- patMaternityArchiveDetail.setPatid(patArchive.getId());
- patMaternityArchiveDetail.setPatname(patArchive.getName());
- patMaternityArchiveDetail.setBirthdate(patArchive.getBirthdate());
- patMaternityArchiveDetail.setSex(patArchive.getSex());
- patMaternityArchiveDetail.setAddress(patArchive.getPlaceOfResidence());
- patMaternityArchiveDetail.setOuthospno(patMedOuthosp.getOuthospno());
- patMaternityArchiveDetail.setSerialnum(patMedOuthosp.getSerialnum());
- patMaternityArchiveDetail.setIcd10code(patMedOuthosp.getIcd10code());
- patMaternityArchiveDetail.setDeptcode(patMedOuthosp.getDeptcode());
- patMaternityArchiveDetail.setDeptname(patMedOuthosp.getDeptname());
- patMaternityArchiveDetail.setDoctorName(patMedOuthosp.getDrname());
- patMaternityArchiveDetail.setDoctorCode(patMedOuthosp.getDrcode());
- patMaternityArchiveDetail.setManagementDoctorName(patMedOuthosp.getDrname());
- patMaternityArchiveDetail.setManagementDoctorCode(patMedOuthosp.getDrcode());
- patMaternityArchiveDetail.setOrgid(patMedOuthosp.getOrgid());
- patMaternityArchiveDetail.setCampusid(patMedOuthosp.getCampusid());
- patMaternityArchiveService.insertOrUpdateMaternityArchive(patMaternityArchiveDetail);
- } else if (isPediatrics) {
- // 璧板効绉戞。妗堢敓鎴愰�昏緫
- PatChildArchiveDetail patChildArchiveDetail
- = DtoConversionUtils.sourceToTarget(patMedOuthosp, PatChildArchiveDetail.class);
- patChildArchiveDetail.setSourceType("1");
- patChildArchiveDetail.setPhone(patArchive.getTelcode());
- patChildArchiveDetail.setPatid(patArchive.getId());
- patChildArchiveDetail.setPatname(patArchive.getName());
- patChildArchiveDetail.setBirthdate(patArchive.getBirthdate());
- patChildArchiveDetail.setSex(patArchive.getSex());
-// patChildArchiveDetail.setAddress(patArchive.getPlaceOfResidence());
- patChildArchiveDetail.setOuthospno(patMedOuthosp.getOuthospno());
- patChildArchiveDetail.setSerialnum(patMedOuthosp.getSerialnum());
- patChildArchiveDetail.setIcd10code(patMedOuthosp.getIcd10code());
- patChildArchiveDetail.setDeptcode(patMedOuthosp.getDeptcode());
- patChildArchiveDetail.setDeptname(patMedOuthosp.getDeptname());
- patChildArchiveDetail.setDoctorName(patMedOuthosp.getDrname());
- patChildArchiveDetail.setDoctorCode(patMedOuthosp.getDrcode());
- patChildArchiveDetail.setManagementDoctorName(patMedOuthosp.getDrname());
- patChildArchiveDetail.setManagementDoctorCode(patMedOuthosp.getDrcode());
- patChildArchiveDetail.setOrgid(patMedOuthosp.getOrgid());
- patChildArchiveDetail.setCampusid(patMedOuthosp.getCampusid());
- patChildArchiveService.insertOrUpdateChildArchive(patChildArchiveDetail);
- } else {
- // 鏈懡涓厤缃紝涓嶇敓鎴愭。妗�
+ 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);
}
}
--
Gitblit v1.9.3