From 0c1f8c479065739f3c7a5126de8e667035d00b58 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 12 十月 2026 14:21:52 +0800
Subject: [PATCH] 【丽水】满意度模块化:新增 ruoyi-satisfaction 独立模块
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java | 65 ++++++++++++++++++++++++++------
1 files changed, 53 insertions(+), 12 deletions(-)
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 a4357cf..c9f4cbe 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
@@ -23,8 +23,9 @@
import com.ruoyi.quartz.task.RyTask;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysUserDeptService;
+import com.ruoyi.satisfaction.api.SatisfactionExportBundle;
+import com.ruoyi.satisfaction.api.SatisfactionFacade;
import com.smartor.domain.*;
-import com.smartor.domain.DTO.QuestionResultDTO;
import com.smartor.domain.VO.*;
import com.smartor.domain.entity.ServiceSubtaskEntity;
import com.smartor.service.IServiceSubtaskRecordService;
@@ -68,6 +69,15 @@
@Autowired
private IServiceSubtaskService serviceSubtaskService;
+
+ /**
+ * 婊℃剰搴︽ā鍧楀澶栭棬闈紙甯搁┗ Bean锛夈��
+ * <p>
+ * 婊℃剰搴︾浉鍏虫暟鎹紙闂璇︽儏鍗犳瘮锛夊彧鑳介�氳繃瀹冭幏鍙栵紱婊℃剰搴︽ā鍧楀叧闂椂
+ * 闂ㄩ潰杩斿洖绌虹粨鏋滃苟鎵� WARN锛�<b>涓嶄細</b>褰卞搷闅忚瀵煎嚭鐨勫叾瀹冨唴瀹广��
+ */
+ @Autowired
+ private SatisfactionFacade satisfactionFacade;
@Autowired
private IServiceTaskService serviceTaskService;
@@ -194,16 +204,18 @@
//@PreAuthorize("@ss.hasPermi('system:taskcall:export')")
@Log(title = "鍗曚竴浠诲姟", businessType = BusinessType.EXPORT)
@PostMapping("/patItemExport")
- public void patItemExport(HttpServletResponse response, ServiceSubtaskEntity serviceSubtaskVO) {
+ public void patItemExport(HttpServletResponse response, ServiceSubtaskVO serviceSubtaskVO) {
LoginUser loginUser = getLoginUser();
SysUser user = loginUser.getUser();
serviceSubtaskVO.setOrgid(user.getOrgid());
List<ServiceSubtaskRes> serviceSubtaskList = null;
if (serviceSubtaskVO != null) {
- serviceSubtaskList = serviceSubtaskService.patItem(serviceSubtaskVO);
+ ServiceSubtaskEntity serviceSubtaskEntity = DtoConversionUtils.sourceToTarget(serviceSubtaskVO, ServiceSubtaskEntity.class);
+ serviceSubtaskList = serviceSubtaskService.patItem(serviceSubtaskEntity);
}
List<ServiceSubtaskExport> serviceSubtaskExports = null;
- List<ServiceSubtaskDetailRatioExport> serviceSubtaskDetailRatioExports = null;
+ //婊℃剰搴﹀崰姣斿鍑哄寘锛氶粯璁ょ┖鍖咃紙娌℃湁鍙鍑虹殑鎮h�呮椂淇濇寔涓虹┖锛夛紝鏈夋暟鎹椂鐢辨弧鎰忓害闂ㄩ潰濉厖
+ SatisfactionExportBundle ratioBundle = SatisfactionExportBundle.empty();
if (!CollectionUtils.isEmpty(serviceSubtaskList)) {
serviceSubtaskExports = DtoConversionUtils.sourceToTarget(serviceSubtaskList, ServiceSubtaskExport.class);
for (ServiceSubtaskExport serviceSubtaskExport : serviceSubtaskExports) {
@@ -220,16 +232,24 @@
serviceSubtaskExport.setEndDay(endDay);
}
}
- QuestionResultVO questionResultVO = new QuestionResultVO();
- questionResultVO.setServiceType(serviceSubtaskVO.getServiceType());
- questionResultVO.setEndOutHospTime(serviceSubtaskVO.getEndOutHospTime());
- questionResultVO.setStartOutHospTime(serviceSubtaskVO.getStartOutHospTime());
- serviceSubtaskDetailRatioExports = serviceSubtaskService.getDetailRatio(questionResultVO, serviceSubtaskList);
+ //闂璇︽儏鍗犳瘮锛氬彧缁熻鏈瀵煎嚭鐨勮繖鎵规偅鑰咃紝鏁伴噺=閫夎閫夐」鐨勬偅鑰呮暟锛屾瘮渚�=鍗犺棰樹綔绛斾汉鏁�
+ //婊℃剰搴︽ā鍧楀寲鍚庯細鍙�氳繃婊℃剰搴︽ā鍧楁毚闇茬殑 api 鍖呭彇鏁帮紙瀵煎嚭鍖� = 琛� + 琛岀被鍨� + 鍥捐〃鏋勫缓鍣級锛�
+ //妯″潡鍏抽棴锛坰atisfaction.enabled=false锛夋椂闂ㄩ潰杩斿洖绌哄鍑哄寘锛屽鍑虹収甯稿畬鎴愶紙鍙槸娌℃湁鍗犳瘮 Sheet锛夈��
+ List<Long> subtaskIds = new ArrayList<>();
+ for (ServiceSubtaskRes serviceSubtaskRes : serviceSubtaskList) {
+ if (serviceSubtaskRes.getId() != null) {
+ subtaskIds.add(serviceSubtaskRes.getId());
+ }
+ }
+ ratioBundle = satisfactionFacade.getQuestionOptionRatioExport(subtaskIds, null);
}
ExcelUtil<ServiceSubtaskExport> util = new ExcelUtil<ServiceSubtaskExport>(ServiceSubtaskExport.class);
- util.exportExcelTwoSheet(response, serviceSubtaskExports, "鎮h�呴殢璁夸俊鎭〃鍗�", serviceSubtaskDetailRatioExports, "闂璇︽儏鍗犳瘮", ServiceSubtaskDetailRatioExport.class);
+ //绗笁涓猄heet锛氶棶棰樿鎯呭崰姣斿浘琛紙鎸変换鍔″悕绉板垎缁勶紝涓�涓换鍔′竴寮犳煴鐘跺浘锛�
+ util.exportExcelTwoSheetWithChart(response, serviceSubtaskExports, "鎮h�呴殢璁夸俊鎭〃鍗�",
+ ratioBundle.getRows(), "闂璇︽儏鍗犳瘮", ratioBundle.getRowClass(),
+ ratioBundle.getChartBuilder());
}
/**
@@ -389,7 +409,11 @@
ivrTaskVO.setCreateBy(user.getNickName());
ivrTaskVO.setUpdateBy(user.getNickName());
ivrTaskVO.setOrgid(user.getOrgid());
- ivrTaskVO.setCampusid(user.getCampusid());
+ if(StringUtils.isNotEmpty(user.getCampusid())){
+ ivrTaskVO.setCampusid(user.getCampusid());
+ }else {
+ ivrTaskVO.setCampusid("1");
+ }
return success(serviceSubtaskService.insertOrUpdateTask(ivrTaskVO));
}
@@ -544,6 +568,7 @@
SysUserDept sysUserWard = new SysUserDept();
sysUserWard.setUserId(user.getUserId());
sysUserWard.setOrgid(user.getOrgid());
+ sysUserWard.setCampusid(user.getCampusid());
sysUserWard.setDeptType("2");
List<SysUserDept> wardList = sysUserDeptService.selectSysUserDeptList(sysUserWard);
if (CollectionUtils.isNotEmpty(wardList)) {
@@ -558,6 +583,7 @@
SysUserDept sysUserDept = new SysUserDept();
sysUserDept.setUserId(user.getUserId());
sysUserDept.setOrgid(user.getOrgid());
+ sysUserDept.setCampusid(user.getCampusid());
sysUserDept.setDeptType("1");
List<SysUserDept> deptList = sysUserDeptService.selectSysUserDeptList(sysUserDept);
if (CollectionUtils.isNotEmpty(deptList)) {
@@ -835,11 +861,13 @@
SysUserDept sysUserDept = new SysUserDept();
sysUserDept.setUserId(sysUser.getUserId());
sysUserDept.setOrgid(sysUser.getOrgid());
+ sysUserDept.setCampusid(sysUser.getCampusid());
sysUserDept.setDeptType("1");
List<SysUserDept> sysUserDepts = sysUserDeptService.selectSysUserDeptList(sysUserDept);
SysUserDept sysUserWard = new SysUserDept();
sysUserWard.setUserId(sysUser.getUserId());
sysUserWard.setOrgid(sysUser.getOrgid());
+ sysUserWard.setCampusid(sysUser.getCampusid());
sysUserWard.setDeptType("2");
List<SysUserDept> sysUserWards = sysUserDeptService.selectSysUserDeptList(sysUserWard);
List<String> deptCodes = sysUserDepts.stream().map(SysUserDept::getDeptCode).collect(Collectors.toList());
@@ -952,6 +980,13 @@
ryTask.dealSubtaskDeadline(orgid, day);
return AjaxResult.success("銆恉ealSubtaskDeadline銆戝悓姝ヤ换鍔″凡鍚姩锛屽ぉ鏁颁负" + day + "澶╋紝璇风◢鍚庢煡鐪嬬粨鏋�");
}
+
+ @PostMapping("/sendExceptInfo")
+ public AjaxResult sendExceptInfo() throws Exception {
+ ryTask.sendExceptInfo();
+ return AjaxResult.success("sendExceptInfo");
+ }
+
/**
* 甯edis缂撳瓨鐨勭粺璁℃煡璇紝渚沺atItem鍜宲atItemCount鍏辩敤锛屾潯浠朵笉鍙樻椂鐩存帴鍛戒腑缂撳瓨
*/
@@ -1006,5 +1041,11 @@
}
-
+ @ApiOperation("鑾峰彇缁熻鏁�")
+ @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+ @PostMapping("/countByCondition")
+ public Map<String, Object> countByCondition(@RequestBody ServiceSubtaskEntity condition) {
+ Map<String, Object> map = serviceSubtaskService.countByCondition(condition);
+ return map;
+ }
}
--
Gitblit v1.9.3