From 60ade5154522a042c816abaa1840751011ae0371 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 29 九月 2026 19:15:03 +0800
Subject: [PATCH] 1.省立同德满度问题处理 2.门急诊数据采集优化
---
smartor/src/main/java/com/smartor/mapper/ServiceSubtaskDetailMapper.java | 88 +++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 86 insertions(+), 2 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskDetailMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskDetailMapper.java
index 905c1ef..7161470 100644
--- a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskDetailMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskDetailMapper.java
@@ -1,9 +1,15 @@
package com.smartor.mapper;
+import com.smartor.domain.DTO.ServiceSubtaskDetailDTO;
import com.smartor.domain.ServiceSubtaskDetail;
+import com.smartor.domain.ServiceSubtaskDetailTarget;
+import com.smartor.domain.ServiceSubtaskDetailVO;
+import com.smartor.domain.entity.SatisfactionStatQuery;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
+import java.util.Map;
/**
* 璇煶浠诲姟鍛煎彨鏄庣粏Mapper鎺ュ彛
@@ -12,8 +18,7 @@
* @date 2023-03-24
*/
@Mapper
-public interface ServiceSubtaskDetailMapper
-{
+public interface ServiceSubtaskDetailMapper {
/**
* 鏌ヨ璇煶浠诲姟鍛煎彨鏄庣粏
*
@@ -22,6 +27,55 @@
*/
public ServiceSubtaskDetail selectServiceSubtaskDetailByCalldetailid(String calldetailid);
+ public List<ServiceSubtaskDetailDTO> queryFillCount(@Param("subids") List<Long> subids, @Param("questiontext") String questiontext);
+
+ /**
+ * 婊℃剰搴︽煴鐘跺浘锛氫竴娆℃�х粺璁℃湰娆¤姹傚叏閮ㄦā鏉跨殑濉姤閲�
+ * 锛堟寜 libtemplateid + questiontext + score 鍒嗙粍锛屽彧鍥炰紶鍒嗗�间笌鏉℃暟锛屼笉鍥炰紶鏄庣粏琛岋級
+ * <p>
+ * 鏇夸唬 queryFillCount 鐨� N+1 鍐欐硶锛岃 PatSatisfactionServiceImpl#satisfactionGraph
+ *
+ * @param query 鑱氬悎鏌ヨ鏉′欢
+ * @return 姣忚鍚� libtemplateid銆乹uestiontext銆乻core銆乧nt
+ */
+ public List<Map<String, Object>> selectSatisfactionFillStat(SatisfactionStatQuery query);
+
+ /**
+ * 婊℃剰搴︾粺璁★細涓�娆℃�х粺璁℃湰娆¤姹傚叏閮ㄩ棶棰樼殑濉姤閲忥紙鎸� 妯℃澘+闂+matchedtext+score 鍒嗙粍锛�
+ * <p>
+ * 鐢ㄤ簬 statistics / statisticsByDimension 鐨勩�屽悇閫夐」鏁伴噺鍙婂崰姣斻�嶏紝鏇夸唬閫愪釜闂鎵ц鐨�
+ * queryFillCount锛堥偅涓�姝ヤ細鍏堟煡鍑哄嚑涓囦釜 sub_id 鍐嶆嫾杩� IN(...)锛屽苟鎶婄害鍗佷竾琛屾槑缁嗕紶鍥� Java锛夈��
+ *
+ * @param query 鑱氬悎鏌ヨ鏉′欢
+ * @return 姣忚鍚� libtemplateid銆乹uestiontext銆乵atchedtext銆乻core銆乧nt銆乼argetvalue
+ */
+ public List<Map<String, Object>> selectSatisfactionFillStatByMatchedtext(SatisfactionStatQuery query);
+
+ /**
+ * 婊℃剰搴︽煴鐘跺浘锛氫竴娆℃�х粺璁℃湰娆¤姹傚叏閮ㄦā鏉跨殑銆屽洖鏀朵汉鏁般��
+ * 锛堟寜 libtemplateid 鍒嗙粍锛宑ount(distinct sub_id)锛氬悓涓�涓汉绛斾簡澶氶亾棰樺彧绠椾竴浜猴級
+ * <p>
+ * satisfactionGraph / satisfactionGraphDimension 鐨勫洖鏀朵汉鏁板繀椤绘槸浜烘暟鍙e緞锛�
+ * 涓嶈兘鍍� selectSatisfactionFillStat 閭f牱鎸夐鐩眹鎬荤瓟妗堣鏁帮紙閭f槸棰橀噺鍙e緞锛�
+ *
+ * @param query 鑱氬悎鏌ヨ鏉′欢
+ * @return 姣忚鍚� libtemplateid銆乧nt锛堣妯℃澘宸插洖鏀剁殑浠芥暟/浜烘暟锛�
+ */
+ public List<Map<String, Object>> selectSatisfactionFillPersonCount(SatisfactionStatQuery query);
+
+ /**
+ * 鎸� scriptid 鎵归噺缁熻濉啓璁板綍鏁帮紙涓�娆� SQL 鏇夸唬閫愪釜 scriptid 鏌ユ槑缁嗭級
+ * <p>
+ * 鍙e緞涓庡師鏉ャ�宷uery.setScriptid(scriptId) 鍚� selectServiceSubtaskDetailList(...).size()銆嶄竴鑷达細
+ * 鍙寜 scriptid 杩囨护锛屼笉甯� del_flag锛堝師 SQL 閲屽苟娌℃湁 del_flag 鏉′欢锛夈��
+ *
+ * @param scriptIds 闂ID闆嗗悎
+ * @return 姣忚鍚� scriptid銆乧nt
+ */
+ public List<Map<String, Object>> countDetailByScriptIds(@Param("scriptIds") List<Long> scriptIds);
+
+ public ServiceSubtaskDetailDTO isExistServiceSubtaskDetail(@Param("subid") Long subid, @Param("scriptid") Long scriptid);
+
/**
* 鏌ヨ璇煶浠诲姟鍛煎彨鏄庣粏鍒楄〃
*
@@ -29,6 +83,11 @@
* @return 璇煶浠诲姟鍛煎彨鏄庣粏闆嗗悎
*/
public List<ServiceSubtaskDetail> selectServiceSubtaskDetailList(ServiceSubtaskDetail serviceSubtaskDetail);
+
+ /**
+ * 鏌ヨ闅忚璇︽儏-鎸囨爣璁板綍
+ */
+ public List<Map<String, Object>> getServiceSubtaskDetails(ServiceSubtaskDetailVO serviceSubtaskDetailVo);
/**
* 鏂板璇煶浠诲姟鍛煎彨鏄庣粏
@@ -45,6 +104,7 @@
* @return 缁撴灉
*/
public int updateServiceSubtaskDetail(ServiceSubtaskDetail serviceSubtaskDetail);
+
public int updateSSDByCondition(ServiceSubtaskDetail serviceSubtaskDetail);
/**
@@ -62,4 +122,28 @@
* @return 缁撴灉
*/
public int deleteServiceSubtaskDetailByCalldetailids(String[] calldetailids);
+
+
+ /**
+ * 鎸囨爣缁熻
+ *
+ * @param targetid 鎸囨爣缁熻
+ * @return 鎸囨爣缁熻
+ */
+ public List<ServiceSubtaskDetailTarget> countPatByTarget(Long targetid);
+
+ /**
+ * 鏌ヨ鍚屼釜subid閲嶅鐨刣etail鏁版嵁ID鍒楄〃
+ *
+ * @return 閲嶅璁板綍ID鍒楄〃
+ */
+ public List<Long> selectRepeatDetailIds();
+
+ /**
+ * 鏍规嵁ID鍒楄〃鎵归噺鏍囪閲嶅detail鏁版嵁涓哄垹闄�
+ *
+ * @param ids 閲嶅璁板綍ID鍒楄〃
+ * @return 鏇存柊琛屾暟
+ */
+ public Integer deleteRepeatDetailByIds(@Param("ids") List<Long> ids);
}
--
Gitblit v1.9.3