From eb845e8be695ed1280a7cbf854a4d1dedf9db30d Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 30 十月 2026 15:02:55 +0800
Subject: [PATCH] 【丽水】/smartor/serviceSubtask/getSfStatisticsHyperlink 和 /smartor/serviceSubtask/getSfStatistics 统计的时候,对于 service_subtask.current_preachForm 为空的数据 当成 service_subtask.preachform 字符串的第一个执行方式、首次待随访全部(visitCount = 1 && sendstate in (1、2、3、7)) 区别于原先的待随访,这个是给市一使用的 再次待随访全部(visitCount > 1 && sendstate in (1、2、3、7)) 区别于原先的待随访,这个是给市一使用的 首次待随访待发送(visitCount = 1 && sendstate in (1、2)) 再次待随访待发送(visitCount > 1 && sendstate in (1、2)) 首次待随访已发送(visitCount = 1 && sendstate = in (3、7)) 再次待随访已发送(visitCount > 1 && sendstate = in (3、7)) 首次已发送(visitCount = 1 && sendstate = 3) 再次已发送(visitCount > 1 && sendstate = 3)
---
smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 52 insertions(+), 6 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java
index f42c794..4dd9148 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java
@@ -66,6 +66,16 @@
}
@Override
+ @Transactional(rollbackFor = Exception.class)
+ public int batchDeletePatChildArchiveByIds(Long[] ids)
+ {
+ // 鍏堝垹闄ゅ搴旂殑璇︽儏琛ㄦ暟鎹�
+ patChildArchiveDetailService.deletePatChildArchiveDetailByArchiveIds(ids);
+ // 鍐嶅垹闄や富琛ㄦ暟鎹�
+ return patChildArchiveMapper.deletePatChildArchiveByIds(ids);
+ }
+
+ @Override
public int deletePatChildArchiveById(Long id)
{
return patChildArchiveMapper.deletePatChildArchiveById(id);
@@ -78,14 +88,50 @@
log.error("insertOrUpdateChildArchive鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
throw new BaseException("鍎跨妗f鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
}
+ if (StringUtils.isEmpty(patChildArchiveDetail.getOuthospno())) {
+ throw new BaseException("鍎跨妗f鍏ュ弬闂ㄨ瘖缂栧彿outhospno涓虹┖锛岃妫�鏌ュ叆鍙傞棬璇婄紪鍙�");
+ }
+ if (StringUtils.isEmpty(patChildArchiveDetail.getArchiveType())) {
+ throw new BaseException("鍎跨妗f鍏ュ弬妗f绫诲瀷archiveType涓虹┖锛岃妫�鏌ュ叆鍙傛。妗堢被鍨�");
+ }
- // 鍙紶浜嗚鎯卛d鏃讹紝鍙嶆煡鍑哄搴旂殑妗f涓婚敭id锛屼繚璇佸悗缁兘姝g‘鏇存柊涓昏〃
- if (patChildArchiveDetail.getId() != null && patChildArchiveDetail.getArchiveid() == null) {
- PatChildArchiveDetail existDetail = patChildArchiveDetailService.selectPatChildArchiveDetailById(patChildArchiveDetail.getId());
- if (existDetail != null) {
- patChildArchiveDetail.setArchiveid(existDetail.getArchiveid());
+ // 鎸変笟鍔¢敭鏌ヨ鎯�
+ PatChildArchiveDetail key = new PatChildArchiveDetail();
+ key.setOrgid(patChildArchiveDetail.getOrgid());
+ key.setPatid(patChildArchiveDetail.getPatid());
+ key.setOuthospno(patChildArchiveDetail.getOuthospno());
+ key.setArchiveType(patChildArchiveDetail.getArchiveType());
+ List<PatChildArchiveDetail> olds =
+ patChildArchiveDetailService.selectPatChildArchiveDetailList(key);
+
+ Long existArchiveId = null;
+ Long existDetailId = null;
+ if (CollectionUtils.isNotEmpty(olds)) {
+ existArchiveId = olds.get(0).getArchiveid();
+ existDetailId = olds.get(0).getId();
+ }
+
+ // 璇︽儏娌℃煡鍒帮紝鍐嶅厹搴曟寜鍚屾牱閿煡涓昏〃锛岄伩鍏嶄富琛ㄩ噸澶�
+ if (existArchiveId == null) {
+ PatChildArchive mainKey = new PatChildArchive();
+ mainKey.setOrgid(patChildArchiveDetail.getOrgid());
+ mainKey.setPatid(patChildArchiveDetail.getPatid());
+ mainKey.setOuthospno(patChildArchiveDetail.getOuthospno());
+ mainKey.setArchiveType(patChildArchiveDetail.getArchiveType());
+ List<PatChildArchive> mainOlds =
+ patChildArchiveMapper.selectPatChildArchiveList(mainKey);
+ if (CollectionUtils.isNotEmpty(mainOlds)) {
+ existArchiveId = mainOlds.get(0).getId();
}
}
+ patChildArchiveDetail.setArchiveid(existArchiveId);
+
+ // 鍚庨潰鏇存柊璇︽儏鏃讹紝浼樺厛鐢ㄤ笟鍔¢敭鍖归厤鍒扮殑 detail id
+ Long detailId = patChildArchiveDetail.getId();
+ if (detailId == null) {
+ detailId = existDetailId;
+ }
+
// 灏嗚鎯呬腑鐨勫叕鍏卞瓧娈靛鍒跺埌涓昏〃瀵硅薄
PatChildArchive patChildArchive = DtoConversionUtils.sourceToTarget(patChildArchiveDetail, PatChildArchive.class);
@@ -111,7 +157,7 @@
// 鍥炲~涓昏〃id鍒拌鎯咃紝鍚屾鐢熸垚/鏇存柊璇︽儏琛�
patChildArchiveDetail.setArchiveid(patChildArchive.getId());
- Long detailId = patChildArchiveDetail.getId();
+// Long detailId = patChildArchiveDetail.getId();
if (detailId == null && patChildArchiveDetail.getArchiveid() != null) {
PatChildArchiveDetail query = new PatChildArchiveDetail();
query.setArchiveid(patChildArchiveDetail.getArchiveid());
--
Gitblit v1.9.3