From 2013ea208bc8fa12fb6f8d22497f2a8b5f69855f Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 11 九月 2026 11:18:30 +0800
Subject: [PATCH] 1.省立同德的满意度功能处理 2.省立同德、南华采集时间缩短 3.给保存问卷接口,加一下防止重复提前的注解@RepeatSubmit 4.省立同德新增“报备科室责任人”字段 5.登陆接口加“用户类型”字段,不影响当前登陆逻辑
---
smartor/src/main/java/com/smartor/domain/ServiceSubtask.java | 12
smartor/src/main/java/com/smartor/domain/VO/DetailTraceDealVO.java | 56 ++
smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailTrace.java | 57 ++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskAnswerController.java | 8
smartor/src/main/java/com/smartor/domain/DTO/QuestionResultDTO.java | 36 +
smartor/src/main/resources/mapper/smartor/IvrTaskTemplateScriptMapper.xml | 18
ruoyi-admin/src/main/resources/application-xh.yml | 2
smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml | 2
smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailTraceMapper.xml | 150 +++++++
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java | 4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java | 4
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 200 ++++++++-
smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml | 16
smartor/src/main/resources/mapper/smartor/SvyLibTemplateScriptMapper.xml | 25 +
smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java | 22
smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java | 14
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java | 12
smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScriptVO.java | 16
smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScript.java | 13
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java | 42 ++
smartor/src/main/java/com/smartor/mapper/SvyLibTemplateScriptMapper.java | 1
smartor/src/main/java/com/smartor/domain/VO/QuestionResultVO.java | 96 ++++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailTraceController.java | 2
smartor/src/main/java/com/smartor/domain/ServiceSubtaskExport.java | 8
smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScript.java | 17
smartor/src/main/java/com/smartor/domain/SvyLibTemplateScript.java | 14
smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java | 21
smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScriptVO.java | 14
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml | 81 +++
smartor/src/main/java/com/smartor/domain/SvyLibTemplateScriptVO.java | 16
smartor/src/main/java/com/smartor/domain/VO/ServiceSubtaskVO.java | 14
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 4
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 12
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java | 137 +++---
smartor/src/main/java/com/smartor/domain/PatMedInhosp.java | 4
smartor/src/main/java/com/smartor/domain/entity/ServiceSubtaskEntity.java | 13
smartor/src/main/resources/mapper/smartor/SvyTaskTemplateScriptMapper.xml | 15
smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java | 7
smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailRatioExport.java | 9
39 files changed, 1,021 insertions(+), 173 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskAnswerController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskAnswerController.java
index 423e59d..04fb42d 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskAnswerController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskAnswerController.java
@@ -1,6 +1,7 @@
package com.ruoyi.web.controller.smartor;
import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
@@ -120,8 +121,8 @@
@ApiOperation("鎮h�呴棶棰樼粨鏋滆褰� (澶栭摼)")
@PostMapping("/saveQuestionAnswer")
public AjaxResult saveQuestionAnswer(@RequestBody ServiceSubTaskAnswerReq serviceSubTaskAnswerReq) {
- log.info("銆恠aveQuestionAnswer銆戠殑鍏ュ弬涓� param1:{},param2:{},type:{},isabnormal:{}",
- serviceSubTaskAnswerReq.getParam1(), serviceSubTaskAnswerReq.getParam2(),
+ log.info("銆恠aveQuestionAnswer銆戠殑鍏ュ弬涓� param1:{},param2:{},type:{},isabnormal:{}",
+ serviceSubTaskAnswerReq.getParam1(), serviceSubTaskAnswerReq.getParam2(),
serviceSubTaskAnswerReq.getType(), serviceSubTaskAnswerReq.getIsabnormal());
// 寮傛澶勭悊淇濆瓨閫昏緫锛岀珛鍗宠繑鍥炴垚鍔熸秷鎭�
serviceSubtaskAnswerService.saveQuestionAnswer(serviceSubTaskAnswerReq, 0L);
@@ -130,6 +131,7 @@
@ApiOperation("鎮h�呴棶棰樼粨鏋滆褰曠紦瀛�(灏忕▼搴忓閾�)")
+ @RepeatSubmit
@PostMapping("/saveQuestionCacheXCH")
public AjaxResult saveQuestionCacheXCH(@RequestBody ServiceSubTaskCacheReq serviceSubTaskCacheReq) {
log.info("銆恠aveQuestionCache-----saveQuestionCacheXCH銆戠殑鍏ュ弬涓猴細{}", serviceSubTaskCacheReq);
@@ -137,6 +139,7 @@
}
@ApiOperation("鎮h�呴棶棰樼粨鏋滀繚瀛�")
+ @RepeatSubmit
@PostMapping("/savequestiondetail")
public AjaxResult saveQuestionDetail(@RequestBody ServiceSubTaskCacheReq serviceSubTaskCacheReq) {
log.info("銆恠aveQuestionDetail-----saveQuestionCache銆戠殑prarm1锛歿},prarm2锛歿},type锛歿},prarm6:{}", serviceSubTaskCacheReq.getParam1(), serviceSubTaskCacheReq.getParam2(), serviceSubTaskCacheReq.getType(), serviceSubTaskCacheReq.getParam6());
@@ -191,6 +194,7 @@
@ApiOperation("鎮h�呮弧鎰忓害缁撴灉璁板綍(澶栭摼)")
+ @RepeatSubmit
@PostMapping("/saveMYDQuestionAnswer")
public AjaxResult saveMYDQuestionAnswer(@RequestBody ServiceSubTaskMYDAnswerReq serviceSubTaskAnswerReq) {
log.info("銆恠aveQuestionCache-----saveMYDQuestionAnswer銆戠殑鍏ュ弬涓猴細{}", serviceSubTaskAnswerReq);
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
index 3db95ac..a4357cf 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
@@ -24,10 +24,8 @@
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysUserDeptService;
import com.smartor.domain.*;
-import com.smartor.domain.VO.HeLibraryCountVO;
-import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO;
-import com.smartor.domain.VO.ServiceSubtaskVO;
-import com.smartor.domain.VO.TransferDeptVO;
+import com.smartor.domain.DTO.QuestionResultDTO;
+import com.smartor.domain.VO.*;
import com.smartor.domain.entity.ServiceSubtaskEntity;
import com.smartor.service.IServiceSubtaskRecordService;
import com.smartor.service.IServiceSubtaskService;
@@ -191,59 +189,6 @@
}
/**
- * 甯edis缂撳瓨鐨勭粺璁℃煡璇紝渚沺atItem鍜宲atItemCount鍏辩敤锛屾潯浠朵笉鍙樻椂鐩存帴鍛戒腑缂撳瓨
- */
- private Map<String, Object> getPatItemCountWithCache(ServiceSubtaskEntity serviceSubtaskEntity) {
- Map<String, Object> map = new HashMap<>();
- LoginUser loginUser = getLoginUser();
- Long userId = null;
- if (ObjectUtils.isNotEmpty(loginUser) && ObjectUtils.isNotEmpty(loginUser.getUser())) {
- userId = loginUser.getUser().getUserId();
- }
- if (serviceSubtaskEntity.getSendstateView() != null) {
- // 1锛氬緟闅忚锛�1 琚鍙栥��2 寰呭彂閫併��3 宸插彂閫併��5 鍙戦�佸け璐ャ��7銆佽秴鏃讹級锛�2锛氬凡瀹屾垚锛� 6 宸插畬鎴愶級銆�3锛氭棤闇�闅忚锛�4 涓嶆墽琛岋級
- if (serviceSubtaskEntity.getSendstateView() == 1)
- serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(1L, 2L, 3L, 5L, 7L)));
- if (serviceSubtaskEntity.getSendstateView() == 2)
- serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(6L)));
- if (serviceSubtaskEntity.getSendstateView() == 3)
- serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(4L)));
- }
- if (ObjectUtils.isNotEmpty(userId)) {
- Map<String, Object> redisMap = redisCache.getCacheObject(userId + "patItemCount");
- Boolean redisFlag = false;
- if (MapUtils.isNotEmpty(redisMap)) {
- ServiceSubtaskEntity oldCondition = (ServiceSubtaskEntity) redisMap.get("searchCondition");
- if (ObjectUtils.isNotEmpty(oldCondition) && isSameCondition(oldCondition, serviceSubtaskEntity)) {
- redisFlag = true;
- map = redisMap;
- redisCache.setCacheObject(userId + "patItemCount", map, 60, TimeUnit.MINUTES);
- }
- }
- if (!redisFlag) {
- map = serviceSubtaskService.patItemCount(serviceSubtaskEntity);
- map.put("searchCondition", serviceSubtaskEntity);
- redisCache.setCacheObject(userId + "patItemCount", map, 120, TimeUnit.MINUTES);
- }
- } else {
- map = serviceSubtaskService.patItemCount(serviceSubtaskEntity);
- }
- return map;
- }
-
- /**
- * 姣旇緝涓や釜ServiceSubtaskVO鐨勬煡璇㈡潯浠舵槸鍚︿竴鑷�
- * 浣跨敤鍙嶅皠姣旇緝鎵�鏈夊瓧娈碉紝鎺掗櫎鍒嗛〉鍙傛暟鍜屾棤鍏冲瓧娈�
- */
- private boolean isSameCondition(ServiceSubtaskEntity oldCondition, ServiceSubtaskEntity newCondition) {
- // 浣跨敤ReflectUtils鐨勯�氱敤鏂规硶姣旇緝锛屾帓闄ゅ垎椤靛弬鏁扮瓑鏃犲叧瀛楁
- return ReflectUtils.equalsAllFields(oldCondition, newCondition,
- // 鎺掗櫎鐨勫瓧娈碉細鍒嗛〉鍙傛暟銆佸簭鍒楀寲ID銆佹椂闂存埑绛�
- "pageNum", "pageSize", "serialVersionUID", "createBy", "createTime", "updateBy", "updateTime", "searchValue", "params");
- }
-
-
- /**
* 瀵煎嚭鍗曚竴浠诲姟鍒楄〃
*/
//@PreAuthorize("@ss.hasPermi('system:taskcall:export')")
@@ -275,17 +220,11 @@
serviceSubtaskExport.setEndDay(endDay);
}
}
-
- if (StringUtils.isNotEmpty(serviceSubtaskVO.getServiceType()) && serviceSubtaskVO.getServiceType().equals("2")) {
- //鑾峰彇serviceSubtaskList涓殑鎵�鏈塼askid
- List<Long> taskIds = serviceSubtaskList.stream().map(ServiceSubtaskRes::getTaskid).filter(ObjectUtils::isNotEmpty).distinct().collect(Collectors.toList());
- serviceSubtaskDetailRatioExports = serviceSubtaskService.statQuestionOption(taskIds, serviceSubtaskVO.getStartOutHospTime(), serviceSubtaskVO.getEndOutHospTime());
- } else if (StringUtils.isNotEmpty(serviceSubtaskVO.getServiceType()) && serviceSubtaskVO.getServiceType().equals("6")) {
- //婊℃剰搴︾粺璁� 锛堥�氳繃 subtask 鐨� id 鍘荤粺璁★級
- List<Long> subtaskIds = serviceSubtaskList.stream().map(ServiceSubtaskRes::getId).collect(Collectors.toList());
- serviceSubtaskDetailRatioExports = serviceSubtaskService.statQuestionOptionBySubtaskIds(subtaskIds, serviceSubtaskVO.getStartOutHospTime(), serviceSubtaskVO.getEndOutHospTime());
- }
-
+ QuestionResultVO questionResultVO = new QuestionResultVO();
+ questionResultVO.setServiceType(serviceSubtaskVO.getServiceType());
+ questionResultVO.setEndOutHospTime(serviceSubtaskVO.getEndOutHospTime());
+ questionResultVO.setStartOutHospTime(serviceSubtaskVO.getStartOutHospTime());
+ serviceSubtaskDetailRatioExports = serviceSubtaskService.getDetailRatio(questionResultVO, serviceSubtaskList);
}
@@ -478,6 +417,8 @@
if (ObjectUtils.isNotEmpty(user)) serviceSubtask.setOrgid(user.getOrgid());
if (ObjectUtils.isNotEmpty(user)) serviceSubtask.setCampusid(user.getCampusid());
serviceSubtask.setCampusid(user.getCampusid());
+ serviceSubtask.setCreateBy(user.getNickName());
+ serviceSubtask.setUpdateBy(user.getNickName());
return success(serviceSubtaskService.insertServiceSubtask(serviceSubtask));
}
@@ -996,11 +937,12 @@
return AjaxResult.success("銆恈ollectHISDaysBefore銆戝悓姝ヤ换鍔″凡鍚姩锛屽ぉ鏁颁负" + day + "澶╋紝璇风◢鍚庢煡鐪嬬粨鏋�");
}
-
@PostMapping("/syncMedOperForShiyi")
public AjaxResult syncMedOperForShiyi(@RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime) {
// 绔嬪嵆杩斿洖锛屽悗鍙板紓姝ユ墽琛�
- collectHISService.syncOper(startTime, endTime);
+ CompletableFuture.runAsync(() -> {
+ collectHISService.syncOper(startTime, endTime);
+ });
return AjaxResult.success("鍚屾浠诲姟宸插惎鍔紝璇风◢鍚庢煡鐪嬬粨鏋�");
}
@@ -1010,4 +952,59 @@
ryTask.dealSubtaskDeadline(orgid, day);
return AjaxResult.success("銆恉ealSubtaskDeadline銆戝悓姝ヤ换鍔″凡鍚姩锛屽ぉ鏁颁负" + day + "澶╋紝璇风◢鍚庢煡鐪嬬粨鏋�");
}
+ /**
+ * 甯edis缂撳瓨鐨勭粺璁℃煡璇紝渚沺atItem鍜宲atItemCount鍏辩敤锛屾潯浠朵笉鍙樻椂鐩存帴鍛戒腑缂撳瓨
+ */
+ private Map<String, Object> getPatItemCountWithCache(ServiceSubtaskEntity serviceSubtaskEntity) {
+ Map<String, Object> map = new HashMap<>();
+ LoginUser loginUser = getLoginUser();
+ Long userId = null;
+ if (ObjectUtils.isNotEmpty(loginUser) && ObjectUtils.isNotEmpty(loginUser.getUser())) {
+ userId = loginUser.getUser().getUserId();
+ }
+ if (serviceSubtaskEntity.getSendstateView() != null) {
+ // 1锛氬緟闅忚锛�1 琚鍙栥��2 寰呭彂閫併��3 宸插彂閫併��5 鍙戦�佸け璐ャ��7銆佽秴鏃讹級锛�2锛氬凡瀹屾垚锛� 6 宸插畬鎴愶級銆�3锛氭棤闇�闅忚锛�4 涓嶆墽琛岋級
+ if (serviceSubtaskEntity.getSendstateView() == 1)
+ serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(1L, 2L, 3L, 5L, 7L)));
+ if (serviceSubtaskEntity.getSendstateView() == 2)
+ serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(6L)));
+ if (serviceSubtaskEntity.getSendstateView() == 3)
+ serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(4L)));
+ }
+ if (ObjectUtils.isNotEmpty(userId)) {
+ Map<String, Object> redisMap = redisCache.getCacheObject(userId + "patItemCount");
+ Boolean redisFlag = false;
+ if (MapUtils.isNotEmpty(redisMap)) {
+ ServiceSubtaskEntity oldCondition = (ServiceSubtaskEntity) redisMap.get("searchCondition");
+ if (ObjectUtils.isNotEmpty(oldCondition) && isSameCondition(oldCondition, serviceSubtaskEntity)) {
+ redisFlag = true;
+ map = redisMap;
+ redisCache.setCacheObject(userId + "patItemCount", map, 60, TimeUnit.MINUTES);
+ }
+ }
+ if (!redisFlag) {
+ map = serviceSubtaskService.patItemCount(serviceSubtaskEntity);
+ map.put("searchCondition", serviceSubtaskEntity);
+ redisCache.setCacheObject(userId + "patItemCount", map, 120, TimeUnit.MINUTES);
+ }
+ } else {
+ map = serviceSubtaskService.patItemCount(serviceSubtaskEntity);
+ }
+ return map;
+ }
+
+
+ /**
+ * 姣旇緝涓や釜ServiceSubtaskVO鐨勬煡璇㈡潯浠舵槸鍚︿竴鑷�
+ * 浣跨敤鍙嶅皠姣旇緝鎵�鏈夊瓧娈碉紝鎺掗櫎鍒嗛〉鍙傛暟鍜屾棤鍏冲瓧娈�
+ */
+ private boolean isSameCondition(ServiceSubtaskEntity oldCondition, ServiceSubtaskEntity newCondition) {
+ // 浣跨敤ReflectUtils鐨勯�氱敤鏂规硶姣旇緝锛屾帓闄ゅ垎椤靛弬鏁扮瓑鏃犲叧瀛楁
+ return ReflectUtils.equalsAllFields(oldCondition, newCondition,
+ // 鎺掗櫎鐨勫瓧娈碉細鍒嗛〉鍙傛暟銆佸簭鍒楀寲ID銆佹椂闂存埑绛�
+ "pageNum", "pageSize", "serialVersionUID", "createBy", "createTime", "updateBy", "updateTime", "searchValue", "params");
+ }
+
+
+
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java
index 86252e7..1141e12 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java
@@ -6,10 +6,14 @@
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.DtoConversionUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.service.ISysConfigService;
import com.smartor.domain.*;
+import com.smartor.domain.DTO.QuestionResultDTO;
import com.smartor.domain.DTO.ServiceSubtaskDetailDTO;
+import com.smartor.domain.VO.QuestionResultVO;
+import com.smartor.domain.entity.ServiceSubtaskEntity;
import com.smartor.service.IServiceSubtaskDetailService;
import com.smartor.service.IServiceSubtaskService;
import io.swagger.annotations.Api;
@@ -19,6 +23,7 @@
import org.springframework.web.bind.annotation.*;
import java.util.*;
+import java.util.stream.Collectors;
import static com.ruoyi.framework.datasource.DynamicDataSourceContextHolder.log;
@@ -192,4 +197,41 @@
map = ServiceSubtaskDetailService.getServiceSubtaskDetails(serviceSubtaskDetailVO);
return map;
}
+
+
+ /**
+ * 鏌ヨ鎮h�呴殢璁夸俊鎭�
+ */
+ @ApiOperation("鐪佺珛鍚屽痉婊℃剰搴︽暟鎹粺璁�")
+ @PostMapping("/sltaMydTotalByScore")
+ public Map<String, Object> sltaMydTotal(@RequestBody QuestionResultVO questionResultVO) {
+ List<ServiceSubtaskRes> serviceSubtaskResList = null;
+ ServiceSubtaskEntity serviceSubtaskEntity = new ServiceSubtaskEntity();
+ serviceSubtaskEntity.setServiceType(questionResultVO.getServiceType());
+ serviceSubtaskEntity.setEndOutHospTime(questionResultVO.getEndOutHospTime());
+ serviceSubtaskEntity.setStartOutHospTime(questionResultVO.getStartOutHospTime());
+ serviceSubtaskEntity.setDeptOrDistrict(questionResultVO.getDeptOrDistrict());
+ serviceSubtaskEntity.setLeavehospitaldistrictcodes(questionResultVO.getLeavehospitaldistrictcodes());
+ if (serviceSubtaskEntity != null) {
+ List<ServiceSubtask> serviceSubtasks = serviceSubtaskService.getServiceSubtasks(serviceSubtaskEntity);
+ serviceSubtaskResList = DtoConversionUtils.sourceToTarget(serviceSubtasks, ServiceSubtaskRes.class);
+ }
+ List<ServiceSubtaskDetailRatioExport> detailList = serviceSubtaskService.getDetailRatio(questionResultVO, serviceSubtaskResList);
+
+ // 鎸� questiontext 鍒嗙粍鍚庤浆鎹负 QuestionResultVO
+ List<QuestionResultDTO> result = new ArrayList<>();
+ if (!detailList.isEmpty()) {
+ Map<String, List<ServiceSubtaskDetailRatioExport>> groupedMap = detailList.stream()
+ .collect(Collectors.groupingBy(ServiceSubtaskDetailRatioExport::getQuestiontext));
+
+ groupedMap.forEach((questionText, exportList) -> {
+ QuestionResultDTO questionResultDTO = new QuestionResultDTO();
+ questionResultDTO.setQeustionText(questionText);
+ questionResultDTO.setSubtaskDetailRatioExportList(exportList);
+ result.add(questionResultDTO);
+ });
+ }
+
+ return success(result);
+ }
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailTraceController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailTraceController.java
index a72eda8..eda9ed5 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailTraceController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailTraceController.java
@@ -4,11 +4,9 @@
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.smartor.domain.DTO.DetailTraceDealDTO;
import com.smartor.domain.ServiceSubtaskDetailTrace;
import com.smartor.domain.VO.DetailTraceDealVO;
import com.smartor.domain.VO.SatisfactionExceptConfigQuestionReqVO;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
index 2553843..8db4d62 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -79,7 +79,7 @@
//閫氱敤瀵嗙爜锛欻rs#褰撳墠骞存湀鏃�*
token = loginService.getTokenWN(loginBody.getUsername());
} else {
- token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid(), loginBody.getOrgid(), loginBody.getCampusid());
+ token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid(), loginBody.getOrgid(), loginBody.getCampusid(), loginBody.getUserType());
}
ajax.put(Constants.TOKEN, token);
return ajax;
@@ -124,12 +124,14 @@
// @IpWhitelist
@GetMapping("/SSOLogin")
public RedirectView SSOLogin(@RequestParam(required = false) String campusid, @RequestParam(required = false) String deptId, @RequestParam(required = false) String systype, String orgid, String userName, String token) {
+ log.info("SSOLogin鐨勫叆鍙傦紝campusid锛歿}, deptId:{}, systype:{}, orgid:{}, userName:{}, token:{}",campusid,deptId,systype,orgid,userName,token);
if (StringUtils.isEmpty(userName) && StringUtils.isEmpty(token) && StringUtils.isEmpty(orgid)) {
throw new BaseException("鍙傛暟涓嶈兘涓虹┖");
}
String path = null;
if (StringUtils.isEmpty(systype)) path = sysConfigService.selectConfigByKey("sys.qddz");
else path = sysConfigService.selectConfigByKey("sys.qddz.yd");
+ log.info("qddz鐨勬煡璇㈠�间负锛宲ath锛歿}",path);
if (StringUtils.isEmpty(path)) {
throw new BaseException("璇烽厤缃墠绔湴鍧�");
diff --git a/ruoyi-admin/src/main/resources/application-xh.yml b/ruoyi-admin/src/main/resources/application-xh.yml
index 272f63c..49f9850 100644
--- a/ruoyi-admin/src/main/resources/application-xh.yml
+++ b/ruoyi-admin/src/main/resources/application-xh.yml
@@ -192,7 +192,7 @@
#鏈� 鍦� 鐭俊璇锋眰鍦板潃(杩欎釜鏈嶅姟鏄垜浠嚜宸卞啓鐨�)
#xhsmsPath: http://192.168.2.13:8092/sendSms
#鏂板崕鐭俊璇锋眰鍦板潃(杩欎釜鏈嶅姟鏄垜浠嚜宸卞啓鐨�)
-xhsmsPath: http://192.16.4.220:8092/sendSms
+xhsmsPath: http://192.16.4.220:8092/sms
#甯愬彿
xhsmsAccount: 911124
#鎺ュ彛瀵嗙爜
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
index e0c3750..1ac77fb 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
@@ -81,7 +81,7 @@
* @param uuid 鍞竴鏍囪瘑
* @return 缁撴灉
*/
- public String login(String username, String password, String code, String uuid, String orgid, String campusid) {
+ public String login(String username, String password, String code, String uuid, String orgid, String campusid, String userType) {
boolean captchaEnabled = configService.selectCaptchaEnabled();
// 楠岃瘉鐮佸紑鍏�
if (captchaEnabled) {
@@ -91,7 +91,7 @@
Authentication authentication = null;
try {
if (StringUtils.isEmpty(campusid)) campusid = "1";
- UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username + "&" + orgid + "&" + campusid, password);
+ UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username + "&" + orgid + "&" + campusid + "&" + userType, password);
AuthenticationContextHolder.setContext(authenticationToken);
// 璇ユ柟娉曚細鍘昏皟鐢║serDetailsServiceImpl.loadUserByUsername
authentication = authenticationManager.authenticate(authenticationToken);
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index 805cca7..2f047a7 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -395,7 +395,7 @@
iIcd10Service.queryAddIcd10();
}
- // nhfy/sltd鍥炴函30澶╁垎娈甸噰闆嗗垽鏂紙姣忔鏈�澶�7澶╋級
+ // nhfy/sltd鍥炴函30澶╁垎娈甸噰闆嗗垽鏂紙姣忔鏈�澶�4澶╋級
boolean isBackfill = (active.trim().equals("nhfy") || active.trim().equals("sltd")) && StringUtils.isNotBlank(todayZeroStr);
if (isBackfill) {
DateTimeFormatter dateFmt = DateTimeFormatter.ofPattern("yyyy-MM-dd");
@@ -403,7 +403,7 @@
LocalDate segEndDate = todayZero.toLocalDate();
int segCount = 0;
while (!segStart.isAfter(segEndDate)) {
- LocalDate segEnd = segStart.plusDays(6);
+ LocalDate segEnd = segStart.plusDays(3);
if (segEnd.isAfter(segEndDate)) {
segEnd = segEndDate;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 2308da0..dbb20cd 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -4,6 +4,7 @@
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.domain.entity.*;
import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DtoConversionUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
@@ -182,14 +183,16 @@
String[] split = userName.split("&");
SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1], null);
if (Objects.isNull(sysUser)) return sysUser;
+ //杩欓噷鍙崱鐢ㄦ埛绫诲瀷涓衡�滄偅鑰呪�濈殑
+ if (sysUser.getUserType().equals("鎮h��") && StringUtils.isNotEmpty(split[3]) && !split[3].equals("null") && !sysUser.getUserType().equals(split[3].trim()))
+ throw new BaseException("褰撳墠鐢ㄦ埛绫诲瀷涓庣櫥褰曠敤鎴风被鍨嬩笉涓�鑷�");
boolean isAdmin = StringUtils.isNotEmpty(split[0]) && "admin".equals(split[0]);
IUserExtInfoService userExtInfoService = SpringUtils.getBean(IUserExtInfoService.class);
Executor executor = SpringUtils.getBean("threadPoolTaskExecutor");
// === 骞惰鏌ヨ: 鐢ㄦ埛鏈烘瀯淇℃伅 + 閮ㄩ棬鍒楄〃 ===
- CompletableFuture<Map<String, String>> orgInfoFuture = CompletableFuture.supplyAsync(() ->
- userExtInfoService.getUserOrgInfo(sysUser.getUserId().toString(), split[1], split[2]), executor);
+ CompletableFuture<Map<String, String>> orgInfoFuture = CompletableFuture.supplyAsync(() -> userExtInfoService.getUserOrgInfo(sysUser.getUserId().toString(), split[1], split[2]), executor);
CompletableFuture<List<SysDept>> deptsFuture;
if (isAdmin) {
@@ -341,10 +344,7 @@
//鑾峰彇褰撳墠鐧婚檰浜虹殑鏈烘瀯鍜岄櫌锟�?
IUserExtInfoService userExtInfoService2 = SpringUtils.getBean(IUserExtInfoService.class);
- Map<String, String> userOrgInfo2 = userExtInfoService2.getUserOrgInfo(
- sysUser.getUserId().toString(),
- split[1],
- split[3]);
+ Map<String, String> userOrgInfo2 = userExtInfoService2.getUserOrgInfo(sysUser.getUserId().toString(), split[1], split[3]);
if (!userOrgInfo2.isEmpty()) {
sysUser.setOrgid(userOrgInfo2.get("orgid"));
sysUser.setCampusid(userOrgInfo2.get("campusid"));
diff --git a/smartor/src/main/java/com/smartor/domain/DTO/QuestionResultDTO.java b/smartor/src/main/java/com/smartor/domain/DTO/QuestionResultDTO.java
new file mode 100644
index 0000000..d352a44
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/DTO/QuestionResultDTO.java
@@ -0,0 +1,36 @@
+package com.smartor.domain.DTO;
+
+import com.ruoyi.common.core.domain.BaseEntity;
+import com.smartor.domain.ServiceSubtaskDetailRatioExport;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 闂嵎缁撴灉
+ *
+ * @author ruoyi
+ * @date 2024-02-02
+ */
+
+@ApiModel(value = "QuestionResultDTO", description = "闂嵎缁撴灉")
+@Data
+public class QuestionResultDTO extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 闂嵎棰樼洰
+ */
+ @ApiModelProperty(value = "闂嵎棰樼洰")
+ private String qeustionText;
+
+ /**
+ * 闂嵎缁撴灉闆嗗悎
+ */
+ @ApiModelProperty(value = "闂嵎缁撴灉闆嗗悎")
+ private List<ServiceSubtaskDetailRatioExport> subtaskDetailRatioExportList;
+
+
+}
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java
index 8f8b80c..47e2ca5 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java
@@ -372,6 +372,20 @@
@ApiModelProperty(value = "鎶ュ绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
private String reportDeptPersonCode;
+ /**
+ * 娴佽浆绉戝璐d换浜虹紪鐮� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonCode;
+
+ /**
+ * 娴佽浆绉戝璐d换浜哄悕绉� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonName;
+
// /**
// * 闂缁撴灉锛堢粰鈥滃�肩被鍨嬧�濇槸鏂囨湰鎴栬�呮暟鍊肩敤鐨勶級
// */
diff --git a/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScript.java b/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScript.java
index 4681c79..1f699af 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScript.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScript.java
@@ -359,6 +359,23 @@
@ApiModelProperty(value = "鎶ュ绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
private String reportDeptPersonCode;
+
+ /**
+ * 娴佽浆绉戝璐d换浜虹紪鐮� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonCode;
+
+ /**
+ * 娴佽浆绉戝璐d换浜哄悕绉� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonName;
+
+
+
/**
* 闂閫夐」
*/
diff --git a/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScriptVO.java b/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScriptVO.java
index e228248..cc39114 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScriptVO.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScriptVO.java
@@ -392,6 +392,20 @@
private String reportDeptPersonCode;
/**
+ * 娴佽浆绉戝璐d换浜虹紪鐮� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonCode;
+
+ /**
+ * 娴佽浆绉戝璐d换浜哄悕绉� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonName;
+
+ /**
* 璇濇湳閫夐」
*/
@ApiModelProperty(value = "璇濇湳閫夐」")
diff --git a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
index 74f2198..e76922f 100644
--- a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
+++ b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
@@ -331,7 +331,7 @@
*/
@ApiModelProperty(value = "鍏ラ櫌鐥呭尯闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0 鏈鐞� 1 澶勭悊鎴愬姛 2 澶勭悊澶辫触 ")
private String inWardcheckFlag;
-
+
/**
* 鑽搧瀹f暀闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0 鏈鐞� 1 澶勭悊
*/
@@ -396,7 +396,7 @@
/**
* 鍑哄叆闄㈡爣璇�
*/
- @ApiModelProperty("鍑哄叆闄㈡爣璇嗭細0鍏ラ櫌 1鍑洪櫌 2 杞 3 棰勫叆闄�")
+ @ApiModelProperty("鍑哄叆闄㈡爣璇嗭細0鍏ラ櫌 1鍑洪櫌 2 杞 3 棰勫叆闄� 4.婊℃剰搴�")
private Integer cry;
/**
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
index 477e214..d2801da 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
@@ -1,15 +1,13 @@
package com.smartor.domain;
-import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import com.ruoyi.common.annotation.Excel;
-import com.ruoyi.common.core.domain.BaseEntity;
+
+import java.util.Date;
+import java.util.List;
/**
* 鍗曚竴浠诲姟锛堥殢璁匡級瀵硅薄 ivr_tasksingle
@@ -595,7 +593,7 @@
/**
* 鎮h�呮潵婧�
*/
- @ApiModelProperty(value = "鎮h�呮潵婧愶細0鏈湴鎮h�呰〃 1澶栭儴鎮h�呰〃")
+ @ApiModelProperty(value = "浠诲姟鐥呬汉鐨勬潵婧愶細0锛氬尰闄㈡偅鑰咃紱1锛氬閮ㄦ偅鑰� 2:瀵煎叆鎮h��")
private String patfrom;
/**
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailRatioExport.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailRatioExport.java
index 57f2a47..aaaf228 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailRatioExport.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailRatioExport.java
@@ -35,6 +35,15 @@
@Excel(name = "姣斾緥")
private String ratio;
+ @Excel(name = "鍒嗘暟")
+ private String score;
+
+ @ApiModelProperty(value = "闂绫诲瀷锛�1.鍗曢�� 2澶氶�� 3闂瓟 4濉┖ 5鍏跺畠锛�")
+ private String valueType;
+
+ @Excel(name = "閫夐」")
+ private String targetvalue;
+
@Excel(name = "浠诲姟鍚嶇О")
private String taskname;
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailTrace.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailTrace.java
index 1f1ae20..fc3afb9 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailTrace.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailTrace.java
@@ -370,13 +370,68 @@
private String dutyDeptPersonCode;
@Excel(name = "鎶ュ绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
- @ApiModelProperty(value = "鎶ュ绉戝鍚嶇О锛堝鏋滃涓瀹ょ敤閫楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "鎶ュ绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
private String reportDeptPersonName;
@Excel(name = "鎶ュ绉戝缂栫爜锛堝鏋滃涓瀹ょ敤閫楀彿鍒嗗壊锛�")
@ApiModelProperty(value = "鎶ュ绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
private String reportDeptPersonCode;
+ /**
+ * 娴佽浆绉戝璐d换浜虹紪鐮� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonCode;
+ /**
+ * 娴佽浆绉戝璐d换浜哄悕绉� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonName;
+
+ /**
+ * 娴佽浆绉戝璐d换浜虹紪鐮� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝缂栫爜锛堝鏋滃涓瀹ょ敤閫楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝缂栫爜锛堝鏋滃涓瀹ょ敤閫楀彿鍒嗗壊锛�")
+ private String circulationDeptCode;
+
+ /**
+ * 娴佽浆绉戝璐d换浜哄悕绉� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝鍚嶇О锛堝鏋滃涓瀹ょ敤閫楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝鍚嶇О锛堝鏋滃涓瀹ょ敤閫楀彿鍒嗗壊锛�")
+ private String circulationDeptName;
+
+ /**
+ * 娴佽浆绉戝璐d换浜哄悕绉� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆璇存槑")
+ @ApiModelProperty(value = "娴佽浆璇存槑")
+ private String circulationExplain;
+ /**
+ * 娴佽浆绉戝璐d换浜哄悕绉� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆鏃堕棿")
+ @ApiModelProperty(value = "娴佽浆鏃堕棿")
+ private Date circulationTime;
+
+ /**
+ * 娴佽浆鐘舵�侊細0涓嶆祦杞紙榛樿锛� 1娴佽浆
+ */
+ @Excel(name = "娴佽浆鐘舵�侊細0涓嶆祦杞紙榛樿锛� 1娴佽浆")
+ @ApiModelProperty(value = "娴佽浆鐘舵�侊細0涓嶆祦杞紙榛樿锛� 1娴佽浆")
+ private String circulationStatus;
+
+
+ @Excel(name = "娴佽浆浜哄鍚�")
+ @ApiModelProperty(value = "娴佽浆浜哄鍚�")
+ private String circulationPersonName;
+
+ @Excel(name = "娴佽浆浜虹紪鐮�")
+ @ApiModelProperty(value = "娴佽浆浜虹紪鐮�")
+ private String circulationPersonCode;
}
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskExport.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskExport.java
index 7123091..fdb7c2d 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskExport.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskExport.java
@@ -19,6 +19,14 @@
@Data
public class ServiceSubtaskExport extends BaseEntity {
private static final long serialVersionUID = 1L;
+//
+// /**
+// * 绉戝鍚嶇О
+// */
+// @Excel(name = "涓婚敭")
+// @ApiModelProperty(value = "涓婚敭")
+// private Long id;
+
/**
* 绉戝鍚嶇О
diff --git a/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScript.java b/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScript.java
index 8eae615..ed891b3 100644
--- a/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScript.java
+++ b/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScript.java
@@ -315,6 +315,20 @@
private String reportDeptPersonCode;
/**
+ * 娴佽浆绉戝璐d换浜虹紪鐮� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonCode;
+
+ /**
+ * 娴佽浆绉戝璐d换浜哄悕绉� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonName;
+
+ /**
* 闂埜棰樼洰鍒嗙被ID闆嗗悎
*/
@ApiModelProperty("婊℃剰搴︽剰瑙佸紓甯革紙鍙拡瀵规枃鏈級")
diff --git a/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScriptVO.java b/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScriptVO.java
index 34861f5..2bdbe3b 100644
--- a/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScriptVO.java
+++ b/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScriptVO.java
@@ -331,6 +331,22 @@
@ApiModelProperty(value = "鎶ュ绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
private String reportDeptPersonCode;
+
+ /**
+ * 娴佽浆绉戝璐d换浜虹紪鐮� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonCode;
+
+ /**
+ * 娴佽浆绉戝璐d换浜哄悕绉� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonName;
+
+
@Excel(name = "鍒嗙被ID闆嗗悎")
@ApiModelProperty(value = "鍒嗙被ID闆嗗悎")
private List<Long> categoryids;
diff --git a/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScript.java b/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScript.java
index d76921d..076d5bf 100644
--- a/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScript.java
+++ b/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScript.java
@@ -279,6 +279,19 @@
private String reportDeptPersonCode;
/**
+ * 娴佽浆绉戝璐d换浜虹紪鐮� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonCode;
+
+ /**
+ * 娴佽浆绉戝璐d换浜哄悕绉� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonName;
+ /**
* 闂埜棰樼洰鍒嗙被ID闆嗗悎
*/
@ApiModelProperty("婊℃剰搴︽剰瑙佸紓甯革紙鍙拡瀵规枃鏈級")
diff --git a/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScriptVO.java b/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScriptVO.java
index 4fa5793..774b826 100644
--- a/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScriptVO.java
+++ b/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScriptVO.java
@@ -359,11 +359,25 @@
@ApiModelProperty(value = "鎶ュ绉戝鍚嶇О锛堝鏋滃涓瀹ょ敤閫楀彿鍒嗗壊锛�")
private String reportDeptPersonName;
- @Excel(name = "鎶ュ绉戝缂栫爜锛堝鏋滃涓瀹ょ敤閫楀彿鍒嗗壊锛�")
+ @Excel(name = "鎶ュ绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
@ApiModelProperty(value = "鎶ュ绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
private String reportDeptPersonCode;
/**
+ * 娴佽浆绉戝璐d换浜虹紪鐮� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonCode;
+
+ /**
+ * 娴佽浆绉戝璐d换浜哄悕绉� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonName;
+
+ /**
* 闂埜棰樼洰鍒嗙被ID闆嗗悎
*/
@ApiModelProperty("婊℃剰搴︽剰瑙佸紓甯革紙鍙拡瀵规枃鏈級")
diff --git a/smartor/src/main/java/com/smartor/domain/VO/DetailTraceDealVO.java b/smartor/src/main/java/com/smartor/domain/VO/DetailTraceDealVO.java
index 98ab898..8fa031d 100644
--- a/smartor/src/main/java/com/smartor/domain/VO/DetailTraceDealVO.java
+++ b/smartor/src/main/java/com/smartor/domain/VO/DetailTraceDealVO.java
@@ -99,5 +99,61 @@
@Excel(name = "鎶ュ绉戝缂栫爜锛堝鏋滃涓瀹ょ敤閫楀彿鍒嗗壊锛�")
@ApiModelProperty(value = "鎶ュ绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
private String reportDeptPersonCode;
+
+ /**
+ * 娴佽浆绉戝璐d换浜虹紪鐮� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜虹紪鐮侊紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonCode;
+
+ /**
+ * 娴佽浆绉戝璐d换浜哄悕绉� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝璐d换浜哄悕绉帮紙濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊锛�")
+ private String circulationDeptPersonName;
+
+ /**
+ * 娴佽浆绉戝璐d换浜虹紪鐮� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝缂栫爜锛堝鏋滃涓瀹ょ敤閫楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝缂栫爜锛堝鏋滃涓瀹ょ敤閫楀彿鍒嗗壊锛�")
+ private String circulationDeptCode;
+
+ /**
+ * 娴佽浆绉戝璐d换浜哄悕绉� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆绉戝鍚嶇О锛堝鏋滃涓瀹ょ敤閫楀彿鍒嗗壊锛�")
+ @ApiModelProperty(value = "娴佽浆绉戝鍚嶇О锛堝鏋滃涓瀹ょ敤閫楀彿鍒嗗壊锛�")
+ private String circulationDeptName;
+
+ /**
+ * 娴佽浆绉戝璐d换浜哄悕绉� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆璇存槑")
+ @ApiModelProperty(value = "娴佽浆璇存槑")
+ private String circulationExplain;
+ /**
+ * 娴佽浆绉戝璐d换浜哄悕绉� (濡傛灉澶氫釜绉戝鐢ㄩ�楀彿鍒嗗壊)
+ */
+ @Excel(name = "娴佽浆鏃堕棿")
+ @ApiModelProperty(value = "娴佽浆鏃堕棿")
+ private Date circulationTime;
+
+ /**
+ * 娴佽浆鐘舵�侊細0涓嶆祦杞紙榛樿锛� 1娴佽浆
+ */
+ @Excel(name = "娴佽浆鐘舵�侊細0涓嶆祦杞紙榛樿锛� 1娴佽浆")
+ @ApiModelProperty(value = "娴佽浆鐘舵�侊細0涓嶆祦杞紙榛樿锛� 1娴佽浆")
+ private Integer circulationStatus;
+
+ @Excel(name = "娴佽浆浜哄鍚�")
+ @ApiModelProperty(value = "娴佽浆浜哄鍚�")
+ private String circulationPersonName;
+
+ @Excel(name = "娴佽浆浜虹紪鐮�")
+ @ApiModelProperty(value = "娴佽浆浜虹紪鐮�")
+ private String circulationPersonCode;
}
diff --git a/smartor/src/main/java/com/smartor/domain/VO/QuestionResultVO.java b/smartor/src/main/java/com/smartor/domain/VO/QuestionResultVO.java
new file mode 100644
index 0000000..bd82a67
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/VO/QuestionResultVO.java
@@ -0,0 +1,96 @@
+package com.smartor.domain.VO;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 闂缁撴灉DTO
+ *
+ * @author ruoyi
+ * @date 2024-02-02
+ */
+
+@ApiModel(value = "QuestionResultVO", description = "闂缁撴灉VO")
+@Data
+public class QuestionResultVO extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 绉戝涓庣梾鍖虹殑鏌ヨ鏄痮r杩樻槸and: 1:and(榛樿)(绂婚櫌鐥呭尯涓庣闄㈢瀹ょ粍鍚�) 2:or(绂婚櫌鐥呭尯涓庣闄㈢瀹ょ粍鍚�) 3:and(绂婚櫌鐥呭尯涓庨殢璁跨瀹ょ粍鍚�) 4:or(绂婚櫌鐥呭尯涓庨殢璁跨瀹ょ粍鍚�)
+ */
+ @ApiModelProperty(value = "绉戝涓庣梾鍖虹殑鏌ヨ鏄痮r杩樻槸and: 1:and(榛樿)(绂婚櫌鐥呭尯涓庣闄㈢瀹ょ粍鍚�) 2:or(绂婚櫌鐥呭尯涓庣闄㈢瀹ょ粍鍚�) 3:and(绂婚櫌鐥呭尯涓庨殢璁跨瀹ょ粍鍚�) 4:or(绂婚櫌鐥呭尯涓庨殢璁跨瀹ょ粍鍚�)")
+ private String deptOrDistrict = "1";
+
+ /**
+ *
+ */
+ @ApiModelProperty(value = "涓婚敭id")
+ private Long subId;
+
+ /**
+ * 鍑洪櫌鐥呭尯缂栧彿
+ */
+ @ApiModelProperty(value = "鍑洪櫌鐥呭尯闆嗗悎(蹇呭~)")
+ private List<String> leavehospitaldistrictcodes;
+
+
+ /**
+ * 涓婚敭id闆嗗悎
+ */
+ @ApiModelProperty(value = "涓婚敭id闆嗗悎")
+ private List<Long> subIdList;
+
+
+ /**
+ * 寮�濮嬪嚭闄㈡棩鏈�
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @ApiModelProperty(value = "寮�濮嬪嚭闄㈡棩鏈�")
+ private Date startOutHospTime;
+
+ /**
+ * 缁撴潫鍑洪櫌鏃ユ湡
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @ApiModelProperty(value = "缁撴潫鍑洪櫌鏃ユ湡")
+ private Date endOutHospTime;
+
+
+ /**
+ * 闂鍐呭
+ */
+ @ApiModelProperty(value = "闂鍐呭")
+ private String questionContent;
+
+ /**
+ * 鍒嗘暟鏌ヨ寮�濮�
+ */
+ @ApiModelProperty(value = "鍒嗘暟鏌ヨ寮�濮�")
+ private Double startScore;
+
+ /**
+ * 鍒嗘暟鏌ヨ缁撴潫
+ */
+ @ApiModelProperty(value = "鍒嗘暟鏌ヨ缁撴潫")
+ private Double endScore;
+
+ /**
+ * 鏈嶅姟绫诲瀷(1銆佺洃娴嬭瘎浼帮紱2銆佸嚭闄㈤殢璁匡紱3銆侀棬璇婇殢璁匡紱4銆佸鏁欏叧鎬�锛�5銆佸璇婇�氱煡锛�6銆佹弧鎰忓害璋冩煡锛�7銆佹偅鑰呮姤鍛婏紱 8銆佸叾浠栭�氱煡)
+ */
+ @Excel(name = "鏈嶅姟绫诲瀷(1銆佺洃娴嬭瘎浼帮紱2銆佸嚭闄㈤殢璁匡紱3銆侀棬璇婇殢璁匡紱4銆佸鏁欏叧鎬�锛�5銆佸璇婄鐞嗭紱6銆佹弧鎰忓害璋冩煡锛�7銆佹偅鑰呮姤鍛婏紱 8銆佸叾浠栭�氱煡 9浣撴闅忚 10.鍖绘妧闅忚 11锛屽奖鍍忎笓绉戦殢璁� 12銆佸績鐢典笓绉戦殢璁匡紝 13涓撶闅忚)")
+ @ApiModelProperty(value = "鏈嶅姟绫诲瀷(1銆佺洃娴嬭瘎浼帮紱2銆佸嚭闄㈤殢璁匡紱3銆侀棬璇婇殢璁匡紱4銆佸鏁欏叧鎬�锛�5銆佸璇婄鐞嗭紱6銆佹弧鎰忓害璋冩煡锛�7銆佹偅鑰呮姤鍛婏紱 8銆佸叾浠栭�氱煡 9浣撴闅忚 10.鍖绘妧闅忚 11锛屽奖鍍忎笓绉戦殢璁� 12銆佸績鐢典笓绉戦殢璁匡紝 13涓撶闅忚)")
+ private String serviceType;
+
+ @ApiModelProperty(value = "闂绫诲瀷锛�1.鍗曢�� 2澶氶�� 3闂瓟 4濉┖ 5鍏跺畠锛�")
+ private String valueType;
+}
diff --git a/smartor/src/main/java/com/smartor/domain/VO/ServiceSubtaskVO.java b/smartor/src/main/java/com/smartor/domain/VO/ServiceSubtaskVO.java
index 82cd620..6946849 100644
--- a/smartor/src/main/java/com/smartor/domain/VO/ServiceSubtaskVO.java
+++ b/smartor/src/main/java/com/smartor/domain/VO/ServiceSubtaskVO.java
@@ -292,6 +292,20 @@
@ApiModelProperty(value = "瀹屾垚鏃堕棿")
private Date finishtime;
+ /**
+ * 瀹屾垚鏃堕棿
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @ApiModelProperty(value = "瀹屾垚鏃堕棿(寮�濮嬫煡璇�)")
+ private Date finishtimeStart;
+
+ /**
+ * 瀹屾垚鏃堕棿(缁撴潫鏌ヨ)
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @ApiModelProperty(value = "瀹屾垚鏃堕棿(缁撴潫鏌ヨ)")
+ private Date finishtimeEnd;
+
/**
* 灏辫瘖璁板綍缂栧彿
diff --git a/smartor/src/main/java/com/smartor/domain/entity/ServiceSubtaskEntity.java b/smartor/src/main/java/com/smartor/domain/entity/ServiceSubtaskEntity.java
index 0ff3281..90ca575 100644
--- a/smartor/src/main/java/com/smartor/domain/entity/ServiceSubtaskEntity.java
+++ b/smartor/src/main/java/com/smartor/domain/entity/ServiceSubtaskEntity.java
@@ -307,6 +307,19 @@
@ApiModelProperty(value = "瀹屾垚鏃堕棿")
private Date finishtime;
+ /**
+ * 瀹屾垚鏃堕棿
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @ApiModelProperty(value = "瀹屾垚鏃堕棿(寮�濮嬫煡璇�)")
+ private Date finishtimeStart;
+
+ /**
+ * 瀹屾垚鏃堕棿(缁撴潫鏌ヨ)
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @ApiModelProperty(value = "瀹屾垚鏃堕棿(缁撴潫鏌ヨ)")
+ private Date finishtimeEnd;
/**
* 灏辫瘖璁板綍缂栧彿
diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
index 3671f75..3ea8b6c 100644
--- a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
@@ -78,14 +78,12 @@
* @param scheduleId 璁″垝涓婚敭
* @param loopCount 杞锛�0=棣栬疆锛�
*/
- public int countActiveByScheduleIdAndLoop(@Param("scheduleId") Long scheduleId,
- @Param("loopCount") Long loopCount);
+ public int countActiveByScheduleIdAndLoop(@Param("scheduleId") Long scheduleId, @Param("loopCount") Long loopCount);
/**
* 浠诲姟缁勶紙appltype=5锛夛細鎷夊彇鏌愪竴杞鐨勫叏閮� subtask锛堢敤浜庡厠闅嗗埌涓嬩竴杞級銆�
*/
- public List<ServiceSubtask> selectByScheduleIdAndLoop(@Param("scheduleId") Long scheduleId,
- @Param("loopCount") Long loopCount);
+ public List<ServiceSubtask> selectByScheduleIdAndLoop(@Param("scheduleId") Long scheduleId, @Param("loopCount") Long loopCount);
/**
* 闅忚鍙婃椂鐜囷細搴旈殢璁挎椂闂�<瀹為檯闅忚鏃堕棿
@@ -259,21 +257,21 @@
/**
* 缁熻闂鐨勯�夐」鐨勭櫨鍒嗘瘮
*
- * @param taskIds 浠诲姟 ID 鍒楄〃 (鐢ㄤ簬鏈嶅姟绫诲瀷 2)
- * @param startOutHospTime
- * @param endOutHospTime
+ * @param taskIds 浠诲姟 ID 鍒楄〃 (鐢ㄤ簬鏈嶅姟绫诲瀷 2)
+ * @param startOutHospTime
+ * @param endOutHospTime
* @return
*/
- List<ServiceSubtaskDetailRatioExport> statQuestionOption(@Param("taskIds") List<Long> taskIds, @Param("startOutHospTime") Date startOutHospTime, @Param("endOutHospTime") Date endOutHospTime);
+ List<ServiceSubtaskDetailRatioExport> statQuestionOption(@Param("taskIds") List<Long> taskIds, @Param("startOutHospTime") Date startOutHospTime, @Param("endOutHospTime") Date endOutHospTime, @Param("scoreStart") Double scoreStart, @Param("scoreEnd") Double scoreEnd, @Param("questiontext") String questiontext, @Param("valueType") String valueType);
/**
* 鏍规嵁瀛愪换鍔� ID 缁熻闂鐨勯�夐」鐨勭櫨鍒嗘瘮锛堢敤浜庢弧鎰忓害缁熻 serviceType=6锛�
*
- * @param subtaskIds 瀛愪换鍔� ID 鍒楄〃 (鍙兘鍗曚釜 taskid 涓嬬殑鎵�鏈夊瓙浠诲姟 id)
- * @param startOutHospTime
- * @param endOutHospTime
+ * @param subtaskIds 瀛愪换鍔� ID 鍒楄〃 (鍙兘鍗曚釜 taskid 涓嬬殑鎵�鏈夊瓙浠诲姟 id)
+ * @param startOutHospTime
+ * @param endOutHospTime
* @return
*/
- List<ServiceSubtaskDetailRatioExport> statQuestionOptionBySubtaskIds(@Param("subtaskIds") List<Long> subtaskIds, @Param("startOutHospTime") Date startOutHospTime, @Param("endOutHospTime") Date endOutHospTime);
+ List<ServiceSubtaskDetailRatioExport> statQuestionOptionBySubtaskIds(@Param("subtaskIds") List<Long> subtaskIds, @Param("startOutHospTime") Date startOutHospTime, @Param("endOutHospTime") Date endOutHospTime, @Param("scoreStart") Double scoreStart, @Param("scoreEnd") Double scoreEnd, @Param("questiontext") String questiontext, @Param("valueType") String valueType);
}
diff --git a/smartor/src/main/java/com/smartor/mapper/SvyLibTemplateScriptMapper.java b/smartor/src/main/java/com/smartor/mapper/SvyLibTemplateScriptMapper.java
index 301ab01..f78ef51 100644
--- a/smartor/src/main/java/com/smartor/mapper/SvyLibTemplateScriptMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/SvyLibTemplateScriptMapper.java
@@ -1,6 +1,5 @@
package com.smartor.mapper;
-import com.smartor.domain.IvrLibaTemplateScript;
import com.smartor.domain.SvyLibTemplateScript;
import com.smartor.domain.SvyLibTemplateScriptVO;
import org.apache.ibatis.annotations.Mapper;
diff --git a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
index 8662f84..d1d22e1 100644
--- a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
+++ b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
@@ -2,8 +2,10 @@
import com.ruoyi.common.core.domain.AjaxResult;
import com.smartor.domain.*;
+import com.smartor.domain.DTO.QuestionResultDTO;
import com.smartor.domain.ServiceSubtask;
import com.smartor.domain.VO.HeLibraryCountVO;
+import com.smartor.domain.VO.QuestionResultVO;
import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO;
import com.smartor.domain.VO.TransferDeptVO;
import com.smartor.domain.entity.ServiceSubtaskEntity;
@@ -53,8 +55,11 @@
*/
public List<ServiceSubtaskRes> patItem(ServiceSubtaskEntity serviceSubtaskEntity);
+ public List<ServiceSubtask> getServiceSubtasks(ServiceSubtaskEntity serviceSubtaskEntity);
+
/**
* 杞Щ绉戝鐥呭尯
+ *
* @param transferDeptVO
* @return
*/
@@ -134,6 +139,16 @@
public PhoneCallBackSHVO processResust(PhoneCallResultYQVO phoneCallReqYQVO);
/**
+ * 闂缁撴灉鍗犳瘮
+ *
+ * @param QuestionResultVO
+ * @param serviceSubtaskRes
+ * @return
+ */
+ public List<ServiceSubtaskDetailRatioExport> getDetailRatio(QuestionResultVO questionResultVO, List<ServiceSubtaskRes> serviceSubtaskRes);
+
+
+ /**
* 闆ㄧ划浠诲姟鎷夊彇
*
* @return
@@ -211,15 +226,15 @@
* @param taskIds
* @return
*/
- public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds, Date startOutHospTime, Date endOutHospTime);
+ public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds, Date startOutHospTime, Date endOutHospTime, String scriptContent, Double scoreStart, Double scoreEnd, String valueType);
/**
* 鏍规嵁瀛愪换鍔� ID 缁熻闂鐨勯�夐」鐨勭櫨鍒嗘瘮锛堢敤浜庢弧鎰忓害缁熻 serviceType=6锛�
*
- * @param subtaskIds 瀛愪换鍔� ID 鍒楄〃
+ * @param subtaskIds 瀛愪换鍔� ID 鍒楄〃
* @return
*/
- public List<ServiceSubtaskDetailRatioExport> statQuestionOptionBySubtaskIds(List<Long> subtaskIds, Date startOutHospTime, Date endOutHospTime);
+ public List<ServiceSubtaskDetailRatioExport> statQuestionOptionBySubtaskIds(List<Long> subtaskIds, Date startOutHospTime, Date endOutHospTime, String scriptContent, Double scoreStart, Double scoreEnd, String valueType);
public String scanGenerateSubtask(ServiceTask serviceTaskVo);
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java
index bab045e..a778218 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java
@@ -199,8 +199,11 @@
int start = patArchiveImport.getIdcardno().length() - 6;
String lastSixDigits = patArchiveImport.getIdcardno().substring(start, start + 6);
sysUser.setUserName(lastSixDigits);
- //瀵嗙爜锛歺h@123456
- sysUser.setPassword("$2a$10$zja67LEWTESHutljd8bqEeRy.VgWb./8iJPpFR6VjTUa7ZYNfRRrO");
+ //鍘熷瘑鐮侊細xh@123456
+ //sysUser.setPassword("$2a$10$zja67LEWTESHutljd8bqEeRy.VgWb./8iJPpFR6VjTUa7ZYNfRRrO");
+ //鏂板瘑鐮侊細123456
+ sysUser.setPassword("$2a$10$1CRhRCwPEqhEI4bkXYFOLu.ga0PLfDhI3pnvVQ1GX0sbHY3N/UJky");
+
sysUser.setPhonenumber(patArchiveImport.getTelcode());
sysUser.setUserType("鎮h��");
sysUser.setDeptId(395L);
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
index eb920d8..bd62a45 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
@@ -377,16 +377,6 @@
log.error("灏嗚key鍜寁alue浠巖edis涓�,serviceSubtask鐨勫�间负--------锛歿}", serviceSubtask);
if (score != null && !score.isEmpty()) serviceSubtask.setScore(score);
serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask);
- //淇敼浣忛櫌婊℃剰搴︾姸鎬侊紙閬垮厤閲嶅鏌ヨ锛�
- if (serviceSubtask.getServiceType() != null && "6".equals(serviceSubtask.getServiceType())) {
- Long inhospid = serviceSubtask.getInhospid();
- if (inhospid != null) {
- PatMedInhosp patMedInhosp = new PatMedInhosp();
- patMedInhosp.setInhospMydFlag("1");
- patMedInhosp.setInhospid(inhospid);
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
- }
- }
//灏嗗綋鍓嶅彂閫佺姸鎬佹敼鎴� 9 瀹屾垚锛堢紦瀛� preachform 鏌ヨ锛�
String currentPreachform = serviceSubtask.getCurrentPreachform();
@@ -1123,6 +1113,8 @@
subtaskDetailTrace.setDutyDeptPersonName(svyTaskTemplateScriptVO.getDutyDeptPersonName());
subtaskDetailTrace.setReportDeptPersonCode(svyTaskTemplateScriptVO.getReportDeptPersonCode());
subtaskDetailTrace.setReportDeptPersonName(svyTaskTemplateScriptVO.getReportDeptPersonName());
+ subtaskDetailTrace.setCirculationDeptPersonCode(svyTaskTemplateScriptVO.getCirculationDeptPersonCode());
+ subtaskDetailTrace.setCirculationDeptPersonName(svyTaskTemplateScriptVO.getCirculationDeptPersonName());
Long existTraceId = existingTraceIdMap.get(subtaskDetailTrace.getScriptid());
if (existTraceId != null) {
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 06ffc4c..ad85650 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -22,9 +22,11 @@
import com.smartor.common.MtSubmitSmUtil;
import com.smartor.common.ScheduleSubtaskBuilder;
import com.smartor.config.PhoneUtils;
+import com.smartor.domain.DTO.QuestionResultDTO;
import com.smartor.domain.DTO.ServiceSubtaskDetailDTO;
import com.smartor.domain.*;
import com.smartor.domain.VO.HeLibraryCountVO;
+import com.smartor.domain.VO.QuestionResultVO;
import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO;
import com.smartor.domain.VO.TransferDeptVO;
import com.smartor.domain.entity.ServiceSubtaskEntity;
@@ -36,6 +38,7 @@
import org.apache.commons.lang3.ObjectUtils;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.junit.Test;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.annotation.Cacheable;
@@ -414,26 +417,7 @@
@Override
public List<ServiceSubtaskRes> patItem(ServiceSubtaskEntity serviceSubtaskEntity) {
- if (serviceSubtaskEntity.getSendstateView() != null) {
- // 1锛氬緟闅忚锛�1 琚鍙栥��2 寰呭彂閫併��3 宸插彂閫併��5 鍙戦�佸け璐ャ��7銆佽秴鏃讹級锛�2锛氬凡瀹屾垚锛� 6 宸插畬鎴愶級銆�3锛氭棤闇�闅忚锛�4 涓嶆墽琛岋級
- if (serviceSubtaskEntity.getSendstateView() == 1)
- serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(1L, 2L, 3L, 5L, 7L)));
- if (serviceSubtaskEntity.getSendstateView() == 2)
- serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(6L)));
- if (serviceSubtaskEntity.getSendstateView() == 3)
- serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(4L)));
- }
- //鎮h�呰幏鍙栭殢璁夸换鍔�-闇�瑕佹煡璇㈠悓涓偅鑰咃紙韬唤璇侊級鎵�鏈夌殑浠诲姟 鏅畞
- if (StringUtils.isNotEmpty(serviceSubtaskEntity.getOrgid()) && serviceSubtaskEntity.getOrgid().equals("47255004333112711A1001")) {
- if (ObjectUtils.isNotEmpty(serviceSubtaskEntity.getPatid())) {
- PatArchive patArchive = patArchiveService.selectPatArchiveByPatid(serviceSubtaskEntity.getPatid());
- if (ObjectUtils.isNotEmpty(patArchive) && StringUtils.isNotEmpty(patArchive.getIdcardno())) {
- serviceSubtaskEntity.setPatid(null);
- serviceSubtaskEntity.setSfzh(patArchive.getIdcardno());
- }
- }
- }
- List<ServiceSubtask> selectServiceSubtaskList = this.selectServiceSubtaskList(serviceSubtaskEntity);
+ List<ServiceSubtask> selectServiceSubtaskList = getServiceSubtasks(serviceSubtaskEntity);
List<ServiceSubtaskRes> serviceSubtaskResList = new ArrayList<>();
for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
@@ -469,6 +453,30 @@
serviceSubtaskResList.add(serviceSubtaskRes);
}
return serviceSubtaskResList;
+ }
+
+ public List<ServiceSubtask> getServiceSubtasks(ServiceSubtaskEntity serviceSubtaskEntity) {
+ if (serviceSubtaskEntity.getSendstateView() != null) {
+ // 1锛氬緟闅忚锛�1 琚鍙栥��2 寰呭彂閫併��3 宸插彂閫併��5 鍙戦�佸け璐ャ��7銆佽秴鏃讹級锛�2锛氬凡瀹屾垚锛� 6 宸插畬鎴愶級銆�3锛氭棤闇�闅忚锛�4 涓嶆墽琛岋級
+ if (serviceSubtaskEntity.getSendstateView() == 1)
+ serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(1L, 2L, 3L, 5L, 7L)));
+ if (serviceSubtaskEntity.getSendstateView() == 2)
+ serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(6L)));
+ if (serviceSubtaskEntity.getSendstateView() == 3)
+ serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(4L)));
+ }
+ //鎮h�呰幏鍙栭殢璁夸换鍔�-闇�瑕佹煡璇㈠悓涓偅鑰咃紙韬唤璇侊級鎵�鏈夌殑浠诲姟 鏅畞
+ if (StringUtils.isNotEmpty(serviceSubtaskEntity.getOrgid()) && serviceSubtaskEntity.getOrgid().equals("47255004333112711A1001")) {
+ if (ObjectUtils.isNotEmpty(serviceSubtaskEntity.getPatid())) {
+ PatArchive patArchive = patArchiveService.selectPatArchiveByPatid(serviceSubtaskEntity.getPatid());
+ if (ObjectUtils.isNotEmpty(patArchive) && StringUtils.isNotEmpty(patArchive.getIdcardno())) {
+ serviceSubtaskEntity.setPatid(null);
+ serviceSubtaskEntity.setSfzh(patArchive.getIdcardno());
+ }
+ }
+ }
+ List<ServiceSubtask> selectServiceSubtaskList = this.selectServiceSubtaskList(serviceSubtaskEntity);
+ return selectServiceSubtaskList;
}
@Override
@@ -636,14 +644,19 @@
*/
@Override
public Map<String, Object> insertServiceSubtask(ServiceSubtask serviceSubtask) {
+ List<ServiceSubtask> serviceSubtasks = null;
//鍏堟煡璇竴涓嬭鎮h�呮槸鍚﹀凡缁忓垱寤烘牴鎹畇erviceType,sendstate,inhospid,patid,orgid
- ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
- serviceSubtaskVO.setServiceType(serviceSubtask.getServiceType());
- serviceSubtaskVO.setSendstates(new ArrayList<>(Arrays.asList(1L, 2L, 3L, 5L, 7L)));
- serviceSubtaskVO.setPatid(serviceSubtask.getPatid());
- serviceSubtaskVO.setOrgid(serviceSubtask.getOrgid());
- serviceSubtaskVO.setCampusid(serviceSubtask.getCampusid());
- List<ServiceSubtask> serviceSubtasks = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ //杩欐牱鍒ゆ柇涓昏鏄负浜嗘兂璁╂柊鍗庡尰闄㈢殑澶栭儴瀵煎叆鎮h�呭垱寤轰换鍔★紝涔熻兘鐢ㄨ繖涓帴鍙�
+ if (StringUtils.isEmpty(serviceSubtask.getPatfrom()) || !serviceSubtask.getPatfrom().equals("2")) {
+ ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
+ serviceSubtaskVO.setServiceType(serviceSubtask.getServiceType());
+ serviceSubtaskVO.setInhospid(serviceSubtask.getInhospid());
+ serviceSubtaskVO.setSendstates(new ArrayList<>(Arrays.asList(1L, 2L, 3L, 5L, 7L)));
+ serviceSubtaskVO.setPatid(serviceSubtask.getPatid());
+ serviceSubtaskVO.setOrgid(serviceSubtask.getOrgid());
+ serviceSubtaskVO.setCampusid(serviceSubtask.getCampusid());
+ serviceSubtasks = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ }
RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
String format = null;
if (CollectionUtils.isNotEmpty(serviceSubtasks)) {
@@ -657,8 +670,27 @@
serviceSubtask = serviceSubtask1;
} else {
//濡傛灉涓嶅瓨鍦紝鍒欐柊澧�
+ ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
+ if (ObjectUtils.isNotEmpty(serviceTask)) {
+ serviceSubtask.setDeptcode(serviceTask.getDeptcode());
+ serviceSubtask.setTaskDesc(serviceTask.getTaskDesc());
+ serviceSubtask.setTaskName(serviceTask.getTaskName());
+ serviceSubtask.setDeptname(serviceTask.getDeptname());
+ serviceSubtask.setTemplatename(serviceTask.getTemplatename());
+ }
+
serviceSubtask.setCreateTime(DateUtils.getNowDate());
serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
+ //淇敼浣忛櫌婊℃剰搴︾姸鎬侊紙閬垮厤閲嶅鏌ヨ锛�
+ if (serviceSubtask.getServiceType() != null && "6".equals(serviceSubtask.getServiceType())) {
+ Long inhospid = serviceSubtask.getInhospid();
+ if (inhospid != null) {
+ PatMedInhosp patMedInhosp = new PatMedInhosp();
+ patMedInhosp.setInhospMydFlag("1");
+ patMedInhosp.setInhospid(inhospid);
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
+ }
+ }
format = getOutPath(serviceSubtask, rsaPublicKeyExample);
}
@@ -4980,23 +5012,107 @@
}
@Override
- public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds, Date startOutHospTime, Date endOutHospTime) {
+ public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds, Date startOutHospTime, Date endOutHospTime, String scriptContent, Double scoreStart, Double scoreEnd,String valueType) {
//鍏堟竻鐞嗕竴涓嬮噸澶嶆暟鎹�
List<Long> repeatIds = serviceSubtaskDetailMapper.selectRepeatDetailIds();
if (!CollectionUtils.isEmpty(repeatIds)) {
serviceSubtaskDetailMapper.deleteRepeatDetailByIds(repeatIds);
}
- return serviceSubtaskMapper.statQuestionOption(taskIds, startOutHospTime, endOutHospTime);
+ List<ServiceSubtaskDetailRatioExport> serviceSubtaskDetailRatioExports = serviceSubtaskMapper.statQuestionOption(taskIds, startOutHospTime, endOutHospTime, scoreStart, scoreEnd, scriptContent, valueType);
+
+ // 澶勭悊 targetvalue锛氭寜 & 鍒嗗壊鎴愬鏉¤褰�
+ List<ServiceSubtaskDetailRatioExport> result = new ArrayList<>();
+ for (ServiceSubtaskDetailRatioExport export : serviceSubtaskDetailRatioExports) {
+ if (StringUtils.isNotEmpty(export.getTargetvalue()) && export.getTargetvalue().contains("&")) {
+ String[] values = export.getTargetvalue().split("&");
+ // 濡傛灉鏈夊鏉$洰鏍囧�硷紝鎷嗗垎鎴愬琛�
+ for (String value : values) {
+ //鍏堝幓 result 涓煡涓�涓嬶紝鏈夋病鏈夎繖涓� questiontext 鍜屽搴旂殑 targetvalue
+ ServiceSubtaskDetailRatioExport existingExport = result.stream()
+ .filter(e -> e.getQuestiontext().equals(export.getQuestiontext())
+ && value.trim().equals(e.getTargetvalue()))
+ .findFirst()
+ .orElse(null);
+ if (existingExport != null && existingExport.getRatio().equals("0") && existingExport.getCount().equals("0")) {
+ //濡傛灉瀛樺湪锛屽垯灏� result 閲岀殑杩欎釜闂鎵�瀵瑰簲鐨� Targetvalue=value 杩欐潯鏁版嵁鏇存柊鎴愬綋鍓嶈繖鏉℃暟鎹�
+ if(value.equals(export.getOptionresult())) {
+ existingExport.setRatio(export.getRatio());
+ existingExport.setScore(export.getScore());
+ existingExport.setCount(export.getCount());
+ existingExport.setOptionresult(export.getOptionresult());
+ }
+ } else if (existingExport != null && !existingExport.getRatio().equals("0")) {
+ continue;
+ } else {
+ ServiceSubtaskDetailRatioExport newExport = DtoConversionUtils.sourceToTarget(export, ServiceSubtaskDetailRatioExport.class);
+ newExport.setTargetvalue(value.trim()); // targetvalue 鏄剧ず鍗曚釜閫夐」
+ if (!value.equals(export.getOptionresult())) {
+ newExport.setOptionresult(null);
+ newExport.setCount("0");
+ newExport.setRatio("0");
+ }
+ result.add(newExport);
+ }
+ }
+ } else {
+ // targetvalue 涓嶅寘鍚� &锛岀洿鎺ユ坊鍔犲埌缁撴灉
+ result.add(export);
+ }
+ }
+
+ return result;
}
@Override
- public List<ServiceSubtaskDetailRatioExport> statQuestionOptionBySubtaskIds(List<Long> subtaskIds, Date startOutHospTime, Date endOutHospTime) {
+ public List<ServiceSubtaskDetailRatioExport> statQuestionOptionBySubtaskIds(List<Long> subtaskIds, Date startOutHospTime, Date endOutHospTime, String scriptContent, Double scoreStart, Double scoreEnd,String valueType) {
//鍏堟竻鐞嗕竴涓嬮噸澶嶆暟鎹�
List<Long> repeatIds = serviceSubtaskDetailMapper.selectRepeatDetailIds();
if (!CollectionUtils.isEmpty(repeatIds)) {
serviceSubtaskDetailMapper.deleteRepeatDetailByIds(repeatIds);
}
- return serviceSubtaskMapper.statQuestionOptionBySubtaskIds(subtaskIds, startOutHospTime, endOutHospTime);
+
+ List<ServiceSubtaskDetailRatioExport> serviceSubtaskDetailRatioExports = serviceSubtaskMapper.statQuestionOptionBySubtaskIds(subtaskIds, startOutHospTime, endOutHospTime, scoreStart, scoreEnd, scriptContent,valueType);
+ // 澶勭悊 targetvalue锛氭寜 & 鍒嗗壊鎴愬鏉¤褰�
+ List<ServiceSubtaskDetailRatioExport> result = new ArrayList<>();
+ for (ServiceSubtaskDetailRatioExport export : serviceSubtaskDetailRatioExports) {
+ if (StringUtils.isNotEmpty(export.getTargetvalue()) && export.getTargetvalue().contains("&")) {
+ String[] values = export.getTargetvalue().split("&");
+ // 濡傛灉鏈夊鏉$洰鏍囧�硷紝鎷嗗垎鎴愬琛�
+ for (String value : values) {
+ //鍏堝幓 result 涓煡涓�涓嬶紝鏈夋病鏈夎繖涓� questiontext 鍜屽搴旂殑 targetvalue
+ ServiceSubtaskDetailRatioExport existingExport = result.stream()
+ .filter(e -> e.getQuestiontext().equals(export.getQuestiontext())
+ && value.trim().equals(e.getTargetvalue()))
+ .findFirst()
+ .orElse(null);
+ if (existingExport != null && existingExport.getRatio().equals("0") && existingExport.getCount().equals("0")) {
+ //濡傛灉瀛樺湪锛屽垯灏� result 閲岀殑杩欎釜闂鎵�瀵瑰簲鐨� Targetvalue=value 杩欐潯鏁版嵁鏇存柊鎴愬綋鍓嶈繖鏉℃暟鎹�
+ if(value.equals(export.getOptionresult())) {
+ existingExport.setRatio(export.getRatio());
+ existingExport.setScore(export.getScore());
+ existingExport.setCount(export.getCount());
+ existingExport.setOptionresult(export.getOptionresult());
+ }
+ } else if (existingExport != null && !existingExport.getRatio().equals("0")) {
+ continue;
+ } else {
+ ServiceSubtaskDetailRatioExport newExport = DtoConversionUtils.sourceToTarget(export, ServiceSubtaskDetailRatioExport.class);
+ newExport.setTargetvalue(value.trim()); // targetvalue 鏄剧ず鍗曚釜閫夐」
+ if (!value.equals(export.getOptionresult())) {
+ newExport.setOptionresult(null);
+ newExport.setCount("0");
+ newExport.setRatio("0");
+ }
+ result.add(newExport);
+ }
+ }
+ } else {
+ // targetvalue 涓嶅寘鍚� &锛岀洿鎺ユ坊鍔犲埌缁撴灉
+ result.add(export);
+ }
+ }
+
+ return result;
}
/**
@@ -5684,6 +5800,28 @@
return back;
}
+
+ /**
+ * 闂缁撴灉鍗犳瘮
+ *
+ * @param serviceSubtaskEntity
+ * @param serviceSubtaskRes
+ * @return
+ */
+ public List<ServiceSubtaskDetailRatioExport> getDetailRatio(QuestionResultVO questionResultVO, List<ServiceSubtaskRes> serviceSubtaskRes) {
+ List<ServiceSubtaskDetailRatioExport> serviceSubtaskDetailRatioExports = null;
+ if (StringUtils.isNotEmpty(questionResultVO.getServiceType()) && questionResultVO.getServiceType().equals("2")) {
+ //鑾峰彇serviceSubtaskList涓殑鎵�鏈塼askid
+ List<Long> taskIds = serviceSubtaskRes.stream().map(ServiceSubtaskRes::getTaskid).filter(ObjectUtils::isNotEmpty).distinct().collect(Collectors.toList());
+ serviceSubtaskDetailRatioExports = statQuestionOption(taskIds, questionResultVO.getStartOutHospTime(), questionResultVO.getEndOutHospTime(), questionResultVO.getQuestionContent(), questionResultVO.getStartScore(), questionResultVO.getEndScore(),questionResultVO.getValueType());
+ } else if (StringUtils.isNotEmpty(questionResultVO.getServiceType()) && questionResultVO.getServiceType().equals("6")) {
+ //婊℃剰搴︾粺璁� 锛堥�氳繃 subtask 鐨� id 鍘荤粺璁★級
+ List<Long> subtaskIds = serviceSubtaskRes.stream().map(ServiceSubtaskRes::getId).collect(Collectors.toList());
+ serviceSubtaskDetailRatioExports = statQuestionOptionBySubtaskIds(subtaskIds, questionResultVO.getStartOutHospTime(), questionResultVO.getEndOutHospTime(), questionResultVO.getQuestionContent(), questionResultVO.getStartScore(), questionResultVO.getEndScore(),questionResultVO.getValueType());
+ }
+ return serviceSubtaskDetailRatioExports;
+ }
+
//鑾峰彇浠诲姟缁勪俊鎭�
private void findServiceTaskScheduleVO(ServiceTaskVO serviceTaskVO) {
if (StringUtils.isNotEmpty(serviceTaskVO.getAppltype()) && serviceTaskVO.getAppltype().equals("5")) {
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml
index 7a91b76..935c7f2 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml
@@ -59,6 +59,8 @@
<result property="dutyDeptPersonCode" column="duty_dept_person_code"/>
<result property="reportDeptPersonCode" column="report_dept_person_name"/>
<result property="reportDeptPersonName" column="report_dept_person_code"/>
+ <result property="circulationDeptPersonCode" column="circulation_dept_person_code"/>
+ <result property="circulationDeptPersonName" column="circulation_dept_person_name"/>
</resultMap>
<sql id="selectIvrLibaTemplateScriptVo">
@@ -69,6 +71,8 @@
duty_dept_person_code,
report_dept_person_name,
report_dept_person_code,
+ circulation_dept_person_code,
+ circulation_dept_person_name,
dimension,
sort,
script_assortname,
@@ -193,6 +197,12 @@
<if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">and report_dept_person_code like concat('%', #{reportDeptPersonCode},
'%')
</if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">and circulation_dept_person_code like concat('%', #{circulationDeptPersonCode},
+ '%')
+ </if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">and circulation_dept_person_name like concat('%', #{circulationDeptPersonName},
+ '%')
+ </if>
</select>
@@ -283,6 +293,8 @@
<if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">duty_dept_person_code,</if>
<if test="reportDeptPersonName != null and reportDeptPersonName != ''">report_dept_person_name,</if>
<if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">report_dept_person_code,</if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">circulation_dept_person_code,</if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">circulation_dept_person_name,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="scriptno != null">#{scriptno},</if>
@@ -337,6 +349,8 @@
<if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">#{dutyDeptPersonCode},</if>
<if test="reportDeptPersonName != null and reportDeptPersonName != ''">#{reportDeptPersonName},</if>
<if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">#{reportDeptPersonCode},</if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">#{circulationDeptPersonCode},</if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">#{circulationDeptPersonName},</if>
</trim>
</insert>
@@ -374,6 +388,8 @@
<if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">duty_dept_person_code = #{dutyDeptPersonCode},</if>
<if test="reportDeptPersonName != null and reportDeptPersonName != ''">report_dept_person_name = #{reportDeptPersonName},</if>
<if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">report_dept_person_code = #{reportDeptPersonCode},</if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">circulation_dept_person_name = #{circulationDeptPersonName},</if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">circulation_dept_person_code = #{circulationDeptPersonCode},</if>
<if test="targetid != null">targetid = #{targetid},</if>
<if test="scriptTopic != null">script_topic = #{scriptTopic},</if>
<if test="nextScriptno != null">next_scriptno = #{nextScriptno},</if>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrTaskTemplateScriptMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrTaskTemplateScriptMapper.xml
index 5643206..1daca12 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrTaskTemplateScriptMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrTaskTemplateScriptMapper.xml
@@ -59,6 +59,8 @@
<result property="dutyDeptPersonCode" column="duty_dept_person_code"/>
<result property="reportDeptPersonCode" column="report_dept_person_name"/>
<result property="reportDeptPersonName" column="report_dept_person_code"/>
+ <result property="circulationDeptPersonCode" column="circulation_dept_person_code"/>
+ <result property="circulationDeptPersonName" column="circulation_dept_person_name"/>
</resultMap>
<sql id="selectIvrTaskTemplateScriptVo">
@@ -75,6 +77,8 @@
duty_dept_person_code,
report_dept_person_name,
report_dept_person_code,
+ circulation_dept_person_code,
+ circulation_dept_person_name,
sort,
ivrtext,
script_type,
@@ -178,6 +182,14 @@
#{reportDeptPersonCode},
'%')
</if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">and circulation_dept_person_code like concat('%',
+ #{circulationDeptPersonCode},
+ '%')
+ </if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">and circulation_dept_person_name like concat('%',
+ #{circulationDeptPersonName},
+ '%')
+ </if>
</select>
<select id="selectIvrTaskTemplateScriptByID" parameterType="Long" resultMap="IvrTaskTemplateScriptResult">
@@ -241,6 +253,8 @@
<if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">duty_dept_person_code,</if>
<if test="reportDeptPersonName != null and reportDeptPersonName != ''">report_dept_person_name,</if>
<if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">report_dept_person_code,</if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">circulation_dept_person_code,</if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">circulation_dept_person_name,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="taskid != null">#{taskid},</if>
@@ -295,6 +309,8 @@
<if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">#{dutyDeptPersonCode},</if>
<if test="reportDeptPersonName != null and reportDeptPersonName != ''">#{reportDeptPersonName},</if>
<if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">#{reportDeptPersonCode},</if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">#{circulationDeptPersonCode},</if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">#{circulationDeptPersonName},</if>
</trim>
</insert>
@@ -355,6 +371,8 @@
<if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">duty_dept_person_code = #{dutyDeptPersonCode},</if>
<if test="reportDeptPersonName != null and reportDeptPersonName != ''">report_dept_person_name = #{reportDeptPersonName},</if>
<if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">report_dept_person_code = #{reportDeptPersonCode},</if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">circulation_dept_person_name = #{circulationDeptPersonName},</if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">circulation_dept_person_code = #{circulationDeptPersonCode},</if>
</trim>
where id = #{id}
</update>
diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
index 8344a5f..e9f230f 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -370,7 +370,7 @@
order by b.endtime desc
</if>
<if test="cry != null and cry==0">
- order by b.starttime desc
+ order by b.starttime desc , b.bed_no asc
</if>
</select>
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailTraceMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailTraceMapper.xml
index 05dc624..79943e7 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailTraceMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailTraceMapper.xml
@@ -59,14 +59,33 @@
<result property="dutyDeptPersonCode" column="duty_dept_person_code"/>
<result property="reportDeptPersonCode" column="report_dept_person_name"/>
<result property="reportDeptPersonName" column="report_dept_person_code"/>
+ <result property="circulationDeptPersonCode" column="circulation_dept_person_code"/>
+ <result property="circulationDeptPersonName" column="circulation_dept_person_name"/>
+ <result property="circulationDeptCode" column="circulation_dept_code"/>
+ <result property="circulationDeptName" column="circulation_dept_name"/>
+ <result property="circulationExplain" column="circulation_explain"/>
+ <result property="circulationTime" column="circulation_time"/>
+ <result property="circulationStatus" column="circulation_status"/>
+ <result property="circulationPersonName" column="circulation_person_name"/>
+ <result property="circulationPersonCode" column="circulation_person_code"/>
+
</resultMap>
<sql id="selectServiceSubtaskDetailTtraceVo">
select id,
+ circulation_status,
+ circulation_person_name,
+ circulation_person_code,
duty_dept_person_name,
duty_dept_person_code,
report_dept_person_name,
report_dept_person_code,
+ circulation_dept_person_code,
+ circulation_dept_person_name,
+ circulation_dept_code,
+ circulation_dept_name,
+ circulation_explain,
+ circulation_time,
detail_id,
is_myd_exception,
dimension,
@@ -277,6 +296,33 @@
<if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">
and report_dept_person_code like concat('%', #{reportDeptPersonCode}, '%')
</if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">
+ and circulation_dept_person_code like concat('%', #{circulationDeptPersonCode}, '%')
+ </if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">
+ and circulation_dept_person_name like concat('%', #{circulationDeptPersonName}, '%')
+ </if>
+ <if test="circulationDeptCode != null and circulationDeptCode != ''">
+ and circulation_dept_code like concat('%', #{circulationDeptCode}, '%')
+ </if>
+ <if test="circulationDeptName != null and circulationDeptName != ''">
+ and circulation_dept_name like concat('%', #{circulationDeptName}, '%')
+ </if>
+ <if test="circulationExplain != null and circulationExplain != ''">
+ and circulation_explain like concat('%', #{circulationExplain}, '%')
+ </if>
+ <if test="circulationTime != null ">
+ and circulation_time = #{circulationTime}
+ </if>
+ <if test="circulationStatus != null ">
+ and circulation_status = #{circulationStatus}
+ </if>
+ <if test="circulationPersonName != null and circulationPersonName != ''">
+ and circulation_person_name like concat('%', #{circulationPersonName}, '%')
+ </if>
+ <if test="circulationPersonCode != null and circulationPersonCode != ''">
+ and circulation_person_code =#{circulationPersonCode}
+ </if>
<if test="pageSize != null and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if>
</select>
@@ -325,6 +371,33 @@
</if>
<if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">
and report_dept_person_code like concat('%', #{reportDeptPersonCode}, '%')
+ </if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">
+ and circulation_dept_person_code like concat('%', #{circulationDeptPersonCode}, '%')
+ </if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">
+ and circulation_dept_person_name like concat('%', #{circulationDeptPersonName}, '%')
+ </if>
+ <if test="circulationDeptCode != null and circulationDeptCode != ''">
+ and circulation_dept_code like concat('%', #{circulationDeptCode}, '%')
+ </if>
+ <if test="circulationDeptName != null and circulationDeptName != ''">
+ and circulation_dept_name like concat('%', #{circulationDeptName}, '%')
+ </if>
+ <if test="circulationExplain != null and circulationExplain != ''">
+ and circulation_explain like concat('%', #{circulationExplain}, '%')
+ </if>
+ <if test="circulationTime != null ">
+ and circulation_time = #{circulationTime}
+ </if>
+ <if test="circulationStatus != null ">
+ and circulation_status = #{circulationStatus}
+ </if>
+ <if test="circulationPersonName != null and circulationPersonName != ''">
+ and circulation_person_name like concat('%', #{circulationPersonName}, '%')
+ </if>
+ <if test="circulationPersonCode != null and circulationPersonCode != ''">
+ and circulation_person_code =#{circulationPersonCode}
</if>
</select>
@@ -447,6 +520,31 @@
</if>
<if test="reportDeptPersonCode != null">report_dept_person_code,
</if>
+ <if test="circulationDeptPersonCode != null">circulation_dept_person_code,
+ </if>
+ <if test="circulationDeptPersonName != null">circulation_dept_person_name,
+ </if>
+ <if test="circulationDeptCode != null ">
+ circulation_dept_code,
+ </if>
+ <if test="circulationDeptName != null">
+ circulation_dept_name,
+ </if>
+ <if test="circulationExplain != null ">
+ circulation_explain,
+ </if>
+ <if test="circulationTime != null ">
+ circulation_time,
+ </if>
+ <if test="circulationStatus != null ">
+ circulation_status,
+ </if>
+ <if test="circulationPersonName != null and circulationPersonName != ''">
+ circulation_person_name,
+ </if>
+ <if test="circulationPersonCode != null and circulationPersonCode != ''">
+ circulation_person_code,
+ </if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="detailId != null">#{detailId},
@@ -556,6 +654,31 @@
<if test="reportDeptPersonName != null">#{reportDeptPersonName},
</if>
<if test="reportDeptPersonCode != null">#{reportDeptPersonCode},
+ </if>
+ <if test="circulationDeptPersonCode != null">#{circulationDeptPersonCode},
+ </if>
+ <if test="circulationDeptPersonName != null">#{circulationDeptPersonName},
+ </if>
+ <if test="circulationDeptCode != null">
+ #{circulationDeptCode},
+ </if>
+ <if test="circulationDeptName != null">
+ #{circulationDeptName},
+ </if>
+ <if test="circulationExplain != null">
+ #{circulationExplain},
+ </if>
+ <if test="circulationTime != null ">
+ #{circulationTime},
+ </if>
+ <if test="circulationStatus != null ">
+ #{circulationStatus},
+ </if>
+ <if test="circulationPersonName != null and circulationPersonName != ''">
+ #{circulationPersonName},
+ </if>
+ <if test="circulationPersonCode != null and circulationPersonCode != ''">
+ #{circulationPersonCode},
</if>
</trim>
</insert>
@@ -725,6 +848,33 @@
<if test="reportDeptPersonCode != null">report_dept_person_code =
#{reportDeptPersonCode},
</if>
+ <if test="circulationDeptPersonCode != null">circulation_dept_person_code =
+ #{circulationDeptPersonCode},
+ </if>
+ <if test="circulationDeptPersonName != null">circulation_dept_person_name =
+ #{circulationDeptPersonName},
+ </if>
+ <if test="circulationDeptCode != null">circulation_dept_code =
+ #{circulationDeptCode},
+ </if>
+ <if test="circulationDeptName != null">circulation_dept_name =
+ #{circulationDeptName},
+ </if>
+ <if test="circulationExplain != null">circulation_explain =
+ #{circulationExplain},
+ </if>
+ <if test="circulationTime != null">circulation_time =
+ #{circulationTime},
+ </if>
+ <if test="circulationStatus != null ">
+ circulation_status = #{circulationStatus},
+ </if>
+ <if test="circulationPersonName != null and circulationPersonName != ''">
+ circulation_person_name =#{circulationPersonName},
+ </if>
+ <if test="circulationPersonCode != null and circulationPersonCode != ''">
+ circulation_person_code =#{circulationPersonCode},
+ </if>
</trim>
where id = #{id}
</update>
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index 4910e68..31c1134 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -380,6 +380,12 @@
<if test="endSendDateTime != null">
AND date_format(visit_time,'%y%m%d') <= date_format(#{endSendDateTime},'%y%m%d')
</if>
+ <if test="finishtimeStart != null">
+ AND date_format(finishtime,'%y%m%d') >= date_format(#{finishtimeStart},'%y%m%d')
+ </if>
+ <if test="finishtimeEnd != null">
+ AND date_format(finishtime,'%y%m%d') <= date_format(#{finishtimeEnd},'%y%m%d')
+ </if>
<if test="longSendTime != null">
AND date_format(long_send_time,'%y%m%d') <= date_format(#{longSendTime},'%y%m%d')
</if>
@@ -3050,6 +3056,9 @@
t.taskid AS taskid,
t.task_name AS taskName,
d.asrtext AS optionresult,
+ d.score AS score,
+ d.targetvalue AS targetvalue,
+ d.value_type AS valueType,
COUNT(*) AS count,
CONCAT(ROUND(COUNT(*) * 100.0 / t2.total_count, 2), '%') AS ratio
FROM
@@ -3065,32 +3074,53 @@
service_task t
INNER JOIN service_subtask s ON s.taskid = t.taskid
INNER JOIN service_subtask_detail d ON d.sub_id = s.id
- WHERE t.taskid IN
- <foreach collection="taskIds" item="taskId" open="(" separator="," close=")">
- #{taskId}
- </foreach>
+ WHERE 1=1
+ <if test="taskIds != null and taskIds.size() > 0">
+ AND t.taskid IN
+ <foreach collection="taskIds" item="taskId" open="(" separator="," close=")">
+ #{taskId}
+ </foreach>
+ </if>
+ <if test="valueType != null">AND d.value_type = #{valueType}</if>
+ <if test="scoreStart != null">AND d.score >= #{scoreStart}</if>
+ <if test="scoreEnd != null">AND d.score <= #{scoreEnd}</if>
+ <if test="questiontext != null and questiontext != ''">and d.questiontext like concat('%', #{questiontext},
+ '%')
+ </if>
and s.sendstate=6
and d.del_flag=0
GROUP BY
t.taskid,
d.questiontext
) t2 ON t2.taskid = t.taskid AND t2.questiontext = d.questiontext
- WHERE t.taskid IN
- <foreach collection="taskIds" item="taskId" open="(" separator="," close=")">
- #{taskId}
- </foreach>
+ WHERE 1=1
+ <if test="taskIds != null and taskIds.size() > 0">
+ AND t.taskid IN
+ <foreach collection="taskIds" item="taskId" open="(" separator="," close=")">
+ #{taskId}
+ </foreach>
+ </if>
+ <if test="valueType != null">AND d.value_type = #{valueType}</if>
+ <if test="scoreStart != null">AND d.score >= #{scoreStart}</if>
+ <if test="scoreEnd != null">AND d.score <= #{scoreEnd}</if>
+ <if test="questiontext != null and questiontext != ''">and d.questiontext like concat('%', #{questiontext},
+ '%')
+ </if>
AND s.sendstate = 6
and d.del_flag=0
- <if test="startOutHospTime != null">
- AND date_format(s.endtime,'%y%m%d') >= date_format(#{startOutHospTime},'%y%m%d')
- </if>
+ <if test="startOutHospTime != null">
+ AND date_format(s.endtime,'%y%m%d') >= date_format(#{startOutHospTime},'%y%m%d')
+ </if>
<if test="endOutHospTime != null">
AND date_format(s.endtime,'%y%m%d') <= date_format(#{endOutHospTime},'%y%m%d')
</if>
GROUP BY
t.taskid,
d.questiontext,
- d.asrtext
+ d.score,
+ d.targetvalue,
+ d.asrtext,
+ d.value_type
ORDER BY
d.questiontext,
t.taskid
@@ -3103,6 +3133,9 @@
t.taskid AS taskid,
t.task_name AS taskName,
d.asrtext AS optionresult,
+ d.score AS score,
+ d.targetvalue AS targetvalue,
+ d.value_type AS valueType,
COUNT(*) AS count,
CONCAT(ROUND(COUNT(*) * 100.0 / t2.total_count, 2), '%') AS ratio
FROM
@@ -3117,20 +3150,34 @@
service_task t
INNER JOIN service_subtask s ON s.taskid = t.taskid
INNER JOIN service_subtask_detail d ON d.sub_id = s.id
- WHERE s.id IN
+ WHERE 1=1
+ <if test="subtaskIds != null and subtaskIds.size() > 0">
+ AND s.id IN
<foreach collection="subtaskIds" item="subtaskId" open="(" separator="," close=")">
#{subtaskId}
</foreach>
+ </if>
+ <if test="valueType != null">AND d.value_type >= #{valueType}</if>
+ <if test="scoreStart != null">AND d.score = #{scoreStart}</if>
+ <if test="scoreEnd != null">AND d.score <= #{scoreEnd}</if>
+ <if test="questiontext != null and questiontext != ''">and d.questiontext like concat('%', #{questiontext}, '%')</if>
AND s.sendstate = 6
AND d.del_flag=0
- GROUP BY d.questiontext -- 鈫� 鍏抽敭淇敼锛氭寜棰樼洰鍒嗙粍缁熻姣忎釜棰樼洰鐨勬�绘暟
- ) t2 ON t2.questiontext = d.questiontext -- 鈫� 鍏宠仈鍒板綋鍓嶉鐩�
- WHERE s.id IN
+ GROUP BY d.questiontext
+ ) t2 ON t2.questiontext = d.questiontext
+ WHERE 1=1
+ <if test="subtaskIds != null and subtaskIds.size() > 0">
+ AND s.id IN
<foreach collection="subtaskIds" item="subtaskId" open="(" separator="," close=")">
#{subtaskId}
</foreach>
+ </if>
AND s.sendstate = 6
AND d.del_flag=0
+ <if test="valueType != null">AND d.value_type >= #{valueType}</if>
+ <if test="scoreStart != null">AND d.score >= #{scoreStart}</if>
+ <if test="scoreEnd != null">AND d.score <= #{scoreEnd}</if>
+ <if test="questiontext != null and questiontext != ''">and d.questiontext like concat('%', #{questiontext}, '%')</if>
<if test="startOutHospTime != null">
AND date_format(s.endtime,'%y%m%d') >= date_format(#{startOutHospTime},'%y%m%d')
</if>
@@ -3140,6 +3187,8 @@
GROUP BY
t.taskid,
d.questiontext,
+ d.score,
+ d.targetvalue,
d.asrtext
ORDER BY
d.questiontext,
diff --git a/smartor/src/main/resources/mapper/smartor/SvyLibTemplateScriptMapper.xml b/smartor/src/main/resources/mapper/smartor/SvyLibTemplateScriptMapper.xml
index 6698f3f..416c42d 100644
--- a/smartor/src/main/resources/mapper/smartor/SvyLibTemplateScriptMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/SvyLibTemplateScriptMapper.xml
@@ -56,6 +56,8 @@
<result property="reportDeptPersonName" column="report_dept_person_code"/>
<result property="isMydException" column="is_myd_exception"/>
<result property="dimension" column="dimension"/>
+ <result property="circulationDeptPersonCode" column="circulation_dept_person_code"/>
+ <result property="circulationDeptPersonName" column="circulation_dept_person_name"/>
</resultMap>
@@ -108,6 +110,7 @@
script_picture,
script_topic,
isavailable, language, otherdata, value_type, reply, scoretype
+ , circulation_dept_person_code, circulation_dept_person_name
from svy_lib_template_script
</sql>
@@ -192,6 +195,14 @@
#{reportDeptPersonCode},
'%')
</if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">and circulation_dept_person_code like concat('%',
+ #{circulationDeptPersonCode},
+ '%')
+ </if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">and circulation_dept_person_name like concat('%',
+ #{circulationDeptPersonName},
+ '%')
+ </if>
<if test="pageSize != null and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if>
</select>
@@ -218,6 +229,14 @@
</if>
<if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">and report_dept_person_code like concat('%',
#{reportDeptPersonCode},
+ '%')
+ </if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">and circulation_dept_person_code like concat('%',
+ #{circulationDeptPersonCode},
+ '%')
+ </if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">and circulation_dept_person_name like concat('%',
+ #{circulationDeptPersonName},
'%')
</if>
<if test="dimensionList == null ">and dimension IS NOT NULL </if>
@@ -284,6 +303,8 @@
<if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">duty_dept_person_code,</if>
<if test="reportDeptPersonName != null and reportDeptPersonName != ''">report_dept_person_name,</if>
<if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">report_dept_person_code,</if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">circulation_dept_person_code,</if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">circulation_dept_person_name,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="nextScriptno != null">#{nextScriptno},</if>
@@ -337,6 +358,8 @@
<if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">#{dutyDeptPersonCode},</if>
<if test="reportDeptPersonName != null and reportDeptPersonName != ''">#{reportDeptPersonName},</if>
<if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">#{reportDeptPersonCode},</if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">#{circulationDeptPersonCode},</if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">#{circulationDeptPersonName},</if>
</trim>
</insert>
@@ -396,6 +419,8 @@
<if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">duty_dept_person_code = #{dutyDeptPersonCode},</if>
<if test="reportDeptPersonName != null and reportDeptPersonName != ''">report_dept_person_name = #{reportDeptPersonName},</if>
<if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">report_dept_person_code = #{reportDeptPersonCode},</if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">circulation_dept_person_name = #{circulationDeptPersonName},</if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">circulation_dept_person_code = #{circulationDeptPersonCode},</if>
</trim>
where id = #{id}
</update>
diff --git a/smartor/src/main/resources/mapper/smartor/SvyTaskTemplateScriptMapper.xml b/smartor/src/main/resources/mapper/smartor/SvyTaskTemplateScriptMapper.xml
index 64ed434..cdfa059 100644
--- a/smartor/src/main/resources/mapper/smartor/SvyTaskTemplateScriptMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/SvyTaskTemplateScriptMapper.xml
@@ -55,6 +55,8 @@
<result property="reportDeptPersonName" column="report_dept_person_code"/>
<result property="isMydException" column="is_myd_exception"/>
<result property="dimension" column="dimension"/>
+ <result property="circulationDeptPersonCode" column="circulation_dept_person_code"/>
+ <result property="circulationDeptPersonName" column="circulation_dept_person_name"/>
</resultMap>
<sql id="selectSvyTaskTemplateScriptVo">
@@ -82,6 +84,7 @@
scriptid,
script_topic, language, categoryName, script_content, is_must, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, orgid, pid, guid, value_type, targetoptions, script_type, targetid, targetvalue, next_scriptno, script_result, otherdata, picture_path
, duty_dept_person_name, duty_dept_person_code, report_dept_person_name, report_dept_person_code
+ , circulation_dept_person_code, circulation_dept_person_name
from svy_task_template_script
</sql>
@@ -152,6 +155,12 @@
<if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">and report_dept_person_code like concat('%', #{reportDeptPersonCode},
'%')
</if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">and circulation_dept_person_code like concat('%', #{circulationDeptPersonCode},
+ '%')
+ </if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">and circulation_dept_person_name like concat('%', #{circulationDeptPersonName},
+ '%')
+ </if>
</select>
<select id="selectSvyTaskTemplateScriptByID" parameterType="Long" resultMap="SvyTaskTemplateScriptResult">
@@ -212,6 +221,8 @@
<if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">duty_dept_person_code,</if>
<if test="reportDeptPersonName != null and reportDeptPersonName != ''">report_dept_person_name,</if>
<if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">report_dept_person_code,</if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">circulation_dept_person_code,</if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">circulation_dept_person_name,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="taskid != null">#{taskid},</if>
@@ -263,6 +274,8 @@
<if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">#{dutyDeptPersonCode},</if>
<if test="reportDeptPersonName != null and reportDeptPersonName != ''">#{reportDeptPersonName},</if>
<if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">#{reportDeptPersonCode},</if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">#{circulationDeptPersonCode},</if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">#{circulationDeptPersonName},</if>
</trim>
</insert>
@@ -320,6 +333,8 @@
<if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">duty_dept_person_code = #{dutyDeptPersonCode},</if>
<if test="reportDeptPersonName != null and reportDeptPersonName != ''">report_dept_person_name = #{reportDeptPersonName},</if>
<if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">report_dept_person_code = #{reportDeptPersonCode},</if>
+ <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">circulation_dept_person_name = #{circulationDeptPersonName},</if>
+ <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">circulation_dept_person_code = #{circulationDeptPersonCode},</if>
</trim>
where id = #{d}
</update>
--
Gitblit v1.9.3