From b49c70c66349a793e9898be7077588cb5d7d0488 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 23 六月 2026 16:29:41 +0800
Subject: [PATCH] 【市一】外链开放机构号生成
---
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java | 85 ++++++++++++++++++++++++------------------
1 files changed, 49 insertions(+), 36 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
index 778fee9..8db8f65 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -782,22 +782,18 @@
} else {
serviceTask = serviceTasks.get(0);
}
- if (Objects.isNull(patMedOperationItem.getOpid())) {
- return;
- }
if (Objects.isNull(patMedOperationItem.getOplevelcode())) {
return;
}
- PatMedOperation patMedOperation = patMedOperationMapper.selectPatMedOperationById(patMedOperationItem.getOpid());
- if (Objects.isNull(patMedOperation)) {
+ if (Objects.isNull(patMedOperationItem.getPatid())) {
return;
}
- PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOperation.getPatid());
+ PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOperationItem.getPatid());
if (Objects.isNull(patArchive)) {
return;
}
PatMedInhosp patMedInhosp = new PatMedInhosp();
- patMedInhosp.setPatid(patMedOperation.getPatid());
+ patMedInhosp.setPatid((patMedOperationItem.getPatid()));
patMedInhosp.setInhospstate("1");
patMedInhosp.setFuflag("1");
List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
@@ -807,12 +803,17 @@
}
//灏佽serviceSubtask
- ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedInhospList.get(0), patMedOperation, patMedOperationItem, patArchive, config);
+ ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedInhospList.get(0), patMedOperationItem, patArchive, config);
if (ObjectUtils.isEmpty(serviceSubtask)) {
return;
}
- serviceSubtask.setVisitDeptCode(patMedOperation.getReqdeptcode());
- serviceSubtask.setVisitDeptName(patMedOperation.getReqdeptname());
+ if(StringUtils.isNotEmpty(patMedOperationItem.getDeptcode())){
+ serviceSubtask.setVisitDeptCode(patMedOperationItem.getDeptcode());
+ serviceSubtask.setVisitDeptName(patMedOperationItem.getDeptname());
+ }else {
+ serviceSubtask.setVisitDeptCode(patMedOperationItem.getHospitaldistrictcode());
+ serviceSubtask.setVisitDeptName(patMedOperationItem.getHospitaldistrictname());
+ }
//璁板綍insertServiceSubtask璇彞杩斿洖鐘舵��
Integer i = 0;
try {
@@ -956,7 +957,8 @@
serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getHospitaldistrictname());
}
serviceSubtask.setLeaveicd10code(patMedInhosp1.getLeaveicd10code());
- serviceSubtask.setLeavediagname(patMedInhosp1.getDiagname());
+ serviceSubtask.setLeavediagname(patMedInhosp1.getLeavediagname());
+ serviceSubtask.setDiagname(patMedInhosp1.getDiagname());
serviceSubtask.setTemplateid(serviceTask.getTemplateid());
serviceSubtask.setTemplatename(serviceTask.getTemplatename());
serviceSubtask.setPatid(patArchive.getId());
@@ -1022,6 +1024,13 @@
}
}
+ //濡傛灉鎮h�呯殑鍏ラ櫌鍜屽嚭闄㈡椂闂翠竴鑷达紝鍙互涓嶇敤闅忚锛堝崡鍗庨檮涓�鑲跨槫涓�鐥呭尯鎻愬嚭锛�
+ if (active.equals("nhfy") && patMedInhosp1.getStarttime() != null && patMedInhosp1.getEndtime() != null && DateUtils.differentDaysByMillisecond(patMedInhosp1.getStarttime(), patMedInhosp1.getEndtime()) == 0) {
+ serviceSubtask.setRemark("鎮h�呭綋澶╁嚭闄紝涓嶇敤闅忚");
+ serviceSubtask.setResult("error");
+ //涓嶆墽琛�
+ serviceSubtask.setSendstate(4L);
+ }
//鎮h�呭彂閫佹椂闂�
if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1")) {
@@ -1036,18 +1045,18 @@
}
//灏佽serviceSubtask
- private ServiceSubtask boxedServiceSubtaskForOp(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatMedOperation patMedOperation, PatMedOperationItem patMedOperationItem, PatArchive patArchive, String config) {
+ private ServiceSubtask boxedServiceSubtaskForOp(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatMedOperationItem patMedOperationItem, PatArchive patArchive, String config) {
ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class);
serviceSubtask.setTaskid(serviceTask.getTaskid());
if (StringUtils.isNotEmpty(serviceTask.getLibtemplateid()))
serviceSubtask.setLibtemplateid(Long.valueOf(serviceTask.getLibtemplateid()));
- serviceSubtask.setNurseId(patMedOperation.getNurseId());
- serviceSubtask.setNurseName(patMedOperation.getNurseName());
+ serviceSubtask.setNurseId(patMedOperationItem.getNurseId());
+ serviceSubtask.setNurseName(patMedOperationItem.getNurseName());
// serviceSubtask.setInhospid(patMedInhosp.getInhospid());
- serviceSubtask.setDrcode(patMedOperation.getDrcode());
- serviceSubtask.setDrname(patMedOperation.getDrname());
- serviceSubtask.setDeptcode(patMedOperation.getDeptcode());
- serviceSubtask.setDeptname(patMedOperation.getDeptname());
+ serviceSubtask.setDrcode(patMedOperationItem.getDrcode());
+ serviceSubtask.setDrname(patMedOperationItem.getDrname());
+ serviceSubtask.setDeptcode(patMedOperationItem.getDeptcode());
+ serviceSubtask.setDeptname(patMedOperationItem.getDeptname());
serviceSubtask.setTemplateid(serviceTask.getTemplateid());
serviceSubtask.setTemplatename(serviceTask.getTemplatename());
@@ -1059,8 +1068,8 @@
serviceSubtask.setSex(patArchive.getSex());
serviceSubtask.setAge(patArchive.getAge());
serviceSubtask.setSendstate(2L);
- serviceSubtask.setManagementDoctor(patMedOperation.getDrname());
- serviceSubtask.setManagementDoctorCode(patMedOperation.getDrcode());
+ serviceSubtask.setManagementDoctor(patMedOperationItem.getDrname());
+ serviceSubtask.setManagementDoctorCode(patMedOperationItem.getDrcode());
// serviceSubtask.setStarttime(patMedInhosp.getStarttime());
// serviceSubtask.setEndtime(patMedInhosp.getEndtime());
@@ -1069,14 +1078,13 @@
serviceSubtask.setHospType("2");
serviceSubtask.setCreateTime(new Date());
serviceSubtask.setUpdateTime(new Date());
- serviceSubtask.setCreateBy(patMedOperation.getNurseName());
+ serviceSubtask.setCreateBy(patMedOperationItem.getNurseName());
// serviceSubtask.setLeavehospitaldistrictcode(patArchive.getLeavehospitaldistrictcode());
// serviceSubtask.setLeavehospitaldistrictname(patArchive.getLeavehospitaldistrictname());
serviceSubtask.setOperationItemId(patMedOperationItem.getId());
serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
serviceSubtask.setUpdateTime(new Date());
- //todo
//璁剧疆鍙戦�佹椂闂�
if (serviceTask.getSendDay() == null) serviceTask.setSendDay(1L);
Date newDate = null;
@@ -1167,14 +1175,15 @@
}
}
- private void addOperationSubTask(String config) {
+ @Override
+ public void addOperationSubTask(String config) {
// 鎵嬫湳闅忚
PatMedOperationItem pmoi = new PatMedOperationItem();
//鑾峰彇闇�瑕佸嚭闄㈢柧鐥呴殢璁匡紝鏈鐞嗙殑鏁版嵁
pmoi.setOpercheckFlag("0");
pmoi.setMainFlag("1");
- List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectPatMedOperationItemList(pmoi);
+ List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemList(pmoi);
log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鎵嬫湳鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedOperationItems) ? patMedOperationItems.size() : null);
for (PatMedOperationItem opItem : patMedOperationItems) {
@@ -1188,6 +1197,10 @@
serviceTaskoper.setLongtask(1L);
serviceTaskoper.setOrgid(opItem.getOrgid());
serviceTaskoper.setOplevelcode(opItem.getOplevelcode());
+
+ //鏍规嵁绉戝銆佺梾鍖鸿繃婊�
+ serviceTaskoper.setDeptCode(opItem.getDeptcode());
+ serviceTaskoper.setWardCode(opItem.getHospitaldistrictcode());
List<ServiceTaskoper> serviceTaskopers = serviceTaskoperMapper.selectServiceTaskoperList(serviceTaskoper);
//濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
@@ -1551,52 +1564,52 @@
// 鈥斺�� 灏�=2鐨勬瑕佽鍒欏搴攆lag璁句负"2"锛堣烦杩囷級
log.info("銆愬熀浜庤鍒欍�戦瑕佽鍒欐湁鎴愬姛(count={})锛屽皢娆¤瑙勫垯瀵瑰簲flag璁句负2", primaryGeneratedCount);
if (deptIsSecondary) {
- updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark)?remark+";棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃":"棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃");
+ updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark) ? remark + ";棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃" : "棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃");
}
if (!active.equals("xh")) {
if (wardIsSecondary) {
- updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark)?remark+";棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃":"棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃");
+ updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark) ? remark + ";棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃" : "棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃");
}
if (diagIsSecondary) {
- updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark)?remark+";棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃":"棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃");
+ updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark) ? remark + ";棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃" : "棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃");
}
}
// 鈥斺�� 瀵逛簬=1涓旂敓鎴愭垚鍔熺殑锛屽皢鍏跺搴攆lag璁句负"1"
if (deptIsPrimary && deptGenCount > 0) {
- updateCheckFlag(patMedInhosp1, 1, "1", StringUtils.isNotEmpty(remark)?remark+";绉戝棣栬瑙勫垯鐢熸垚鎴愬姛":"绉戝棣栬瑙勫垯鐢熸垚鎴愬姛");
+ updateCheckFlag(patMedInhosp1, 1, "1", StringUtils.isNotEmpty(remark) ? remark + ";绉戝棣栬瑙勫垯鐢熸垚鎴愬姛" : "绉戝棣栬瑙勫垯鐢熸垚鎴愬姛");
}
if (!active.equals("xh")) {
if (wardIsPrimary && wardGenCount > 0) {
- updateCheckFlag(patMedInhosp1, 2, "1", StringUtils.isNotEmpty(remark)?remark+";鐥呭尯棣栬瑙勫垯鐢熸垚鎴愬姛":"鐥呭尯棣栬瑙勫垯鐢熸垚鎴愬姛");
+ updateCheckFlag(patMedInhosp1, 2, "1", StringUtils.isNotEmpty(remark) ? remark + ";鐥呭尯棣栬瑙勫垯鐢熸垚鎴愬姛" : "鐥呭尯棣栬瑙勫垯鐢熸垚鎴愬姛");
}
if (diagIsPrimary && diagGenCount > 0) {
- updateCheckFlag(patMedInhosp1, 3, "1", StringUtils.isNotEmpty(remark)?remark+";鐤剧梾棣栬瑙勫垯鐢熸垚鎴愬姛":"鐤剧梾棣栬瑙勫垯鐢熸垚鎴愬姛");
+ updateCheckFlag(patMedInhosp1, 3, "1", StringUtils.isNotEmpty(remark) ? remark + ";鐤剧梾棣栬瑙勫垯鐢熸垚鎴愬姛" : "鐤剧梾棣栬瑙勫垯鐢熸垚鎴愬姛");
}
}
// 鈥斺�� 瀵逛簬=1浣嗙敓鎴愬け璐ョ殑锛屽皢鍏跺搴攆lag璁句负"2"
if (deptIsPrimary && deptGenCount == 0) {
- updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark)?remark+";绉戝棣栬瑙勫垯鐢熸垚澶辫触":"绉戝棣栬瑙勫垯鐢熸垚澶辫触");
+ updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark) ? remark + ";绉戝棣栬瑙勫垯鐢熸垚澶辫触" : "绉戝棣栬瑙勫垯鐢熸垚澶辫触");
}
if (!active.equals("xh")) {
if (wardIsPrimary && wardGenCount == 0) {
- updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark)?remark+";鐥呭尯棣栬瑙勫垯鐢熸垚澶辫触":"鐥呭尯棣栬瑙勫垯鐢熸垚澶辫触");
+ updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark) ? remark + ";鐥呭尯棣栬瑙勫垯鐢熸垚澶辫触" : "鐥呭尯棣栬瑙勫垯鐢熸垚澶辫触");
}
if (diagIsPrimary && diagGenCount == 0) {
- updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark)?remark+";鐤剧梾棣栬瑙勫垯鐢熸垚澶辫触":"鐤剧梾棣栬瑙勫垯鐢熸垚澶辫触");
+ updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark) ? remark + ";鐤剧梾棣栬瑙勫垯鐢熸垚澶辫触" : "鐤剧梾棣栬瑙勫垯鐢熸垚澶辫触");
}
}
} else {
// 鎵�鏈夐瑕佽鍒欏叏閮ㄥけ璐ワ紝灏�=1鐨刦lag璁句负"2"锛岀劧鍚庢墽琛�=2鐨勬柟娉�
log.info("銆愬熀浜庤鍒欍�戦瑕佽鍒欏叏閮ㄥけ璐ワ紝灏�=1鐨刦lag璁句负2锛屽紑濮嬫墽琛屾瑕佽鍒�");
if (deptIsPrimary) {
- updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark)?remark+";绉戝棣栬瑙勫垯鍏ㄩ儴澶辫触":"绉戝棣栬瑙勫垯鍏ㄩ儴澶辫触");
+ updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark) ? remark + ";绉戝棣栬瑙勫垯鍏ㄩ儴澶辫触" : "绉戝棣栬瑙勫垯鍏ㄩ儴澶辫触");
}
if (!active.equals("xh")) {
if (wardIsPrimary) {
- updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark)?remark+";鐥呭尯棣栬瑙勫垯鍏ㄩ儴澶辫触":"鐥呭尯棣栬瑙勫垯鍏ㄩ儴澶辫触");
+ updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark) ? remark + ";鐥呭尯棣栬瑙勫垯鍏ㄩ儴澶辫触" : "鐥呭尯棣栬瑙勫垯鍏ㄩ儴澶辫触");
}
if (diagIsPrimary) {
- updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark)?remark+";鐤剧梾棣栬瑙勫垯鍏ㄩ儴澶辫触":"鐤剧梾棣栬瑙勫垯鍏ㄩ儴澶辫触");
+ updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark) ? remark + ";鐤剧梾棣栬瑙勫垯鍏ㄩ儴澶辫触" : "鐤剧梾棣栬瑙勫垯鍏ㄩ儴澶辫触");
}
}
// 鎵ц娆¤瑙勫垯(=2)鐨勬柟娉�
--
Gitblit v1.9.3