From 25c9ca5313fbed298f1faf3893b7b0c780b6e1b2 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 03 九月 2026 16:33:02 +0800
Subject: [PATCH] 【丽水】手术撤销
---
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java | 76 ++++++++++++++++++++++++++++++++++++++
1 files changed, 76 insertions(+), 0 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 e4fa9a8..e7c2dc4 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1520,6 +1520,81 @@
return true;
}
+ @Override
+ public Boolean cancelOperationInfo(Map dataMap) {
+ log.info("ServiceExternalServiceImpl---cancelOperationInfo鐨勬挙閿�鐨勫�间负锛歿}", dataMap);
+
+ Map yeWuXX = (Map) dataMap.get("YeWuXX");
+ Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null;
+ ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
+ PatArchive patArchive = addPatArchive(externalInHospPatientInfo, null, null);
+ //鎵嬫湳鎾ら攢
+ Map<String, Object> sscx = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("ShouShuCX") : null;
+ ExternalOperationInfo externalOperationInfo = null;
+ if (ObjectUtils.isNotEmpty(sscx))
+ externalOperationInfo = BeanUtil.mapToBean(sscx, ExternalOperationInfo.class, true);
+ PatMedOperation patMedOperation = new PatMedOperation();
+ patMedOperation.setPatid(patArchive.getId());
+ patMedOperation.setOrgid(patArchive.getOrgid());
+ patMedOperation.setOpreqcode(externalOperationInfo.getShenQingDID());
+ //鏌ヨ涓�涓嬶紝璇ユ偅鑰呮槸鍚﹀凡缁忔湁杩欎簺鏁版嵁
+ List<PatMedOperation> patMedOperations = patMedOperationMapper.selectPatMedOperationList(patMedOperation);
+ if (CollectionUtils.isNotEmpty(patMedOperations)) {
+ for(PatMedOperation operation : patMedOperations){
+ Long id = operation.getId();
+ //濡傛灉鎵嬫湳鎾ら攢锛岀洿鎺ュ垹闄よ鏉℃墜鏈俊鎭�
+ if (ObjectUtils.isNotEmpty(sscx)) {
+ operation.setId(id);
+ operation.setCheckFlag("1");
+ operation.setDelFlag("1");
+ //鍚屾椂鍘绘煡璇紝鏄惁鍦╯ubtask涓敓鎴愪换鍔★紝濡傛灉鐢熸垚鍑哄緱绔嬮┈鍒犻櫎
+ // 鎵嬫湳闅忚
+ PatMedOperationItem pmoi = new PatMedOperationItem();
+ //鑾峰彇闇�瑕佸嚭闄㈡墜鏈殢璁匡紝鏈鐞嗙殑鏁版嵁
+ pmoi.setOpid(operation.getId().toString());
+ List<PatMedOperationItem> patMedOperationItems
+ = patMedOperationItemMapper.selectOperationItemList(pmoi);
+ List<Long> operationItemIds = patMedOperationItems.stream()
+ .map(PatMedOperationItem::getId)
+ .filter(Objects::nonNull)
+ .distinct()
+ .collect(Collectors.toList());
+
+
+ //涓嶉渶瑕佹湇鍔′簡锛岄渶瑕侀�氳繃patid鍜宻endstate=1,2,3,5,7鍘绘煡璇竴涓嬶紝service_subtask閲屾槸鍚︽湁姝e湪鎵ц鐨勪换鍔★紝
+ //鏈夌殑璇濓紝绔嬪嵆鍋滀簡
+ List<Long> sendstates = Arrays.asList(1L, 2L, 3L, 5L, 7L);
+ List<ServiceSubtask> serviceSubtaskList = new ArrayList<>();
+ ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
+ serviceSubtaskVO.setOrgid(patArchive.getOrgid());
+ serviceSubtaskVO.setPatid(patArchive.getId());
+ serviceSubtaskVO.setSendstates(sendstates);
+ serviceSubtaskVO.setOperationItemIds(operationItemIds);
+ serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ //鍘籸edis涓紝鏌ヨ鏄惁鏈塻ubid锛屾湁鐨勮瘽绉婚櫎cache-exist
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+ for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+ log.info("闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
+ serviceSubtask.setSendstate(4L);
+ serviceSubtask.setRemark("鎵嬫湳鎾ら攢");
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-1", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-2", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
+ }
+ }
+ operation.setUpdateTime(new Date());
+ patMedOperationMapper.updatePatMedOperation(operation);
+ patMedOperationItemMapper.deleteSoftPatMedOperationItemByOpId(operation.getOpid());
+ }
+ }
+ }
+ return true;
+ }
+
//鏂板鎮h�呭熀鏈俊鎭�
private PatArchive addPatArchive(ExternalInHospPatientInfo externalInHospPatientInfo, ExternalInHospPatientAddrInfo externalInHospPatientAddrInfo, ExternalInHospPatientLiaisonInfo externalInHospPatientLiaisonInfo) {
Date parse = null;
@@ -2013,6 +2088,7 @@
return true;
case "SM_SQ_CheXiao":
log.info("鎵嬫湳鎾ら攢鍏ュ弬绫诲瀷涓猴細{}", type);
+ cancelOperationInfo(dataMap);
return true;
case "TJ_YW_BaoGaoXX":
log.info("浣撴鎶ュ憡鍏ュ弬绫诲瀷涓猴細{}", type);
--
Gitblit v1.9.3