From f2cc333b963cb0de81aebc5ae3a8c247e99243d8 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 02 六月 2026 18:21:27 +0800
Subject: [PATCH] 【市一】同步手术视图
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java | 111 +++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 90 insertions(+), 21 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 6685d7f..d458f35 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
@@ -13,6 +13,7 @@
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.enums.PreachFormEnum;
+import com.ruoyi.common.enums.SendStateEnum;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DtoConversionUtils;
@@ -20,6 +21,7 @@
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.utils.reflect.ReflectUtils;
+import com.ruoyi.quartz.service.ICollectHISService;
import com.ruoyi.quartz.task.RyTask;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysUserDeptService;
@@ -81,6 +83,9 @@
@Autowired
private RyTask ryTask;
+
+ @Autowired
+ private ICollectHISService collectHISService;
@Value("${spring.profiles.active}")
private String active;
@@ -226,6 +231,10 @@
for (ServiceSubtaskExport serviceSubtaskExport : serviceSubtaskExports) {
String pf = PreachFormEnum.getDescByCode(serviceSubtaskExport.getPreachform());
serviceSubtaskExport.setPreachform(pf);
+ if(serviceSubtaskExport.getSendstate() != null) {
+ String stName = SendStateEnum.getDescByCode("" + serviceSubtaskExport.getSendstate());
+ serviceSubtaskExport.setStName(stName);
+ }
//璁$畻鍑洪櫌澶╂暟
if (!Objects.isNull(serviceSubtaskExport.getEndtime())) {
@@ -397,6 +406,7 @@
ivrTaskVO.setCreateBy(user.getNickName());
ivrTaskVO.setUpdateBy(user.getNickName());
ivrTaskVO.setOrgid(user.getOrgid());
+ ivrTaskVO.setCampusid(user.getCampusid());
return success(serviceSubtaskService.insertOrUpdateTask(ivrTaskVO));
}
@@ -408,12 +418,21 @@
return toAjax(serviceSubtaskService.updateServiceSubtask(serviceSubtask));
}
+ @ApiOperation("淇敼瀛愪换鍔℃ā鏉�")
+ @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+ @PostMapping("/updateTemplate")
+ public AjaxResult updateTemplate(@RequestBody ServiceSubtaskTemplateVO serviceSubtaskTemplateVO) {
+ serviceSubtaskTemplateVO.setUpdateBy(getLoginUser().getUser().getNickName());
+ return toAjax(serviceSubtaskService.updateTemplate(serviceSubtaskTemplateVO));
+ }
+
@ApiOperation("鏂板瀛愪换鍔�")
@AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
@PostMapping("/addSubTask")
public AjaxResult addSubTask(@RequestBody ServiceSubtask serviceSubtask) {
SysUser user = getLoginUser().getUser();
if (ObjectUtils.isNotEmpty(user)) serviceSubtask.setOrgid(user.getOrgid());
+ if (ObjectUtils.isNotEmpty(user)) serviceSubtask.setCampusid(user.getCampusid());
return toAjax(serviceSubtaskService.insertServiceSubtask(serviceSubtask));
}
@@ -423,6 +442,7 @@
public AjaxResult addSubTaskAgain(@RequestBody ServiceSubtask serviceSubtask) {
SysUser user = getLoginUser().getUser();
if (ObjectUtils.isNotEmpty(user)) serviceSubtask.setOrgid(user.getOrgid());
+ if (ObjectUtils.isNotEmpty(user)) serviceSubtask.setCampusid(user.getCampusid());
return success(serviceSubtaskService.addSubTaskAgain(serviceSubtask));
}
@@ -584,25 +604,6 @@
return success(serviceStatistics);
}
- /**
- * 闅忚寮傚父缁熻瀵煎嚭
- */
- //@PreAuthorize("@ss.hasPermi('system:taskcall:export')")
- @Log(title = "闅忚缁熻瀵煎嚭", businessType = BusinessType.EXPORT)
- @PostMapping("/getSfStatisticsIsAbnormalExport")
- public void getSfStatisticsIsAbnormalExport(HttpServletResponse response, ServiceSubtaskCountReq serviceSubtaskCountReq) {
- List<ServiceSubtaskIsAbnormalStatistic> sfStatistics = serviceSubtaskService.getSfStatisticsIsAbnormalExport(serviceSubtaskCountReq);
- ExcelUtil<ServiceSubtaskIsAbnormalStatistic> util = new ExcelUtil<ServiceSubtaskIsAbnormalStatistic>(ServiceSubtaskIsAbnormalStatistic.class);
- String sheetName = "";
- String fileName = "";
- if (active.equals("ls") || active.equals("druid")) {
- fileName = sheetName = LocalDate.now().getMonthValue() + "鏈堝嚭闄㈤殢璁垮紓甯哥粺璁¤〃";
- util.exportExcelWithFileName(response, sfStatistics, sheetName, fileName);
- } else {
- sheetName = "闅忚寮傚父缁熻瀵煎嚭";
- util.exportExcel(response, sfStatistics, sheetName);
- }
- }
/**
* 鑾峰彇闅忚缁熻姣斾緥
@@ -617,6 +618,63 @@
return success(serviceSubtaskService.getSfStatisticsJoydetails(serviceSubtaskCountReq));
}
+ /**
+ * 鑾峰彇闅忚缁熻瓒呴摼鎺�
+ * dischargeCountInfo
+ * followUpNeededAllInfo - sendstate != 4 (1,2,3,5,6,7)
+ * nonFollowUpInfo - sendstate = 4
+ * needFollowUpInfo - visitCount = 1 && sendstate != 4
+ * pendingFollowUpInfo - visitCount = 1 && sendstate = 2
+ * followUpSuccessInfo - visitCount = 1 && sendstate = 6
+ * followUpFailInfo - visitCount = 1 && (sendstate = 5 || sendstate = 7)
+ * manualInfo - visitCount = 1 && currentPreachForm = "1"
+ * voiceInfo - visitCount = 1 && currentPreachForm = "3"
+ * smsInfo - visitCount = 1 && currentPreachForm = "4"
+ * wechatInfo - visitCount = 1 && currentPreachForm = "5"
+ * abnormalInfo - visitCount = 1 && excep = "1"
+ * needFollowUpAgainInfo - visitCount > 1 && sendstate != 4
+ * pendingFollowUpAgainInfo - visitCount > 1 && sendstate = 2
+ * followUpSuccessAgainInfo - visitCount > 1 && sendstate =6
+ * followUpFailAgainInfo - visitCount > 1 && (sendstate = 5 || sendstate = 7)
+ * manualAgainInfo - visitCount > 1 && currentPreachForm = "1"
+ * voiceAgainInfo - visitCount > 1 && currentPreachForm = "3"
+ * smsAgainInfo - visitCount > 1 && currentPreachForm = "4"
+ * wechatAgainInfo - visitCount > 1 && currentPreachForm = "5"
+ * abnormalAgainInfo- visitCount > 1 && excep = "1"
+ * taskSituation1Info - taskSituation = 1
+ * taskSituation2Info - taskSituation = 2
+ * taskSituation3Info - taskSituation = 3
+ * taskSituation4Info - taskSituation = 4
+ * taskSituation5Info - taskSituation = 5
+ * taskSituation6Info - taskSituation = 7
+ * filterCountList - taskSituation = 6 && sendstate = 4
+ *
+ */
+ @ApiOperation("鑾峰彇闅忚缁熻瓒呴摼鎺�")
+ @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+ @PostMapping("/getSfStatisticsHyperlink")
+ public AjaxResult getSfStatisticsHyperlink(@RequestBody ServiceSubtaskCountReq serviceSubtaskCountReq) {
+ LoginUser loginUser = getLoginUser();
+ String orgid = loginUser.getUser().getOrgid();
+ String configKey = serviceSubtaskCountReq.getConfigKey();
+ if (StringUtils.isNotEmpty(configKey)) {
+ String configValue = configService.selectConfigByKey(configKey, orgid);
+ serviceSubtaskCountReq.setConfigValue(configValue);
+ if (StringUtils.isEmpty(configValue)) {
+ String logInfo = "getSfStatisticsCount-鍙傛暟 " + configKey + " 鏈厤缃�, 璇烽厤缃ソ鍚庨噸璇�";
+ log.error(logInfo);
+ return error(logInfo);
+ }
+ }
+
+ String followUpCountStyle = configService.selectConfigByKey("followUpCountStyle", orgid);
+ if (ObjectUtils.isNotEmpty(followUpCountStyle)) {
+ serviceSubtaskCountReq.setFollowUpCountStyle(followUpCountStyle);
+ } else {
+ serviceSubtaskCountReq.setFollowUpCountStyle("1");
+ }
+ return success(serviceSubtaskService.getSfStatisticsHyperlink(serviceSubtaskCountReq));
+ }
/**
* 寤剁画鎶ょ悊缁熻
@@ -661,7 +719,8 @@
log.error(logInfo);
return error(logInfo);
}
- return success(serviceSubtaskService.getSfStatisticsScript(serviceSubtaskCountReq));
+ List<ServiceSubtaskStatistic> serviceSubtaskStatistics = serviceSubtaskService.getSfStatisticsScript(serviceSubtaskCountReq);
+ return success(serviceSubtaskStatistics);
}
@ApiOperation("鑾峰彇闅忚鍒嗙被缁熻鏄庣粏璇︽儏")
@@ -763,6 +822,16 @@
@PostMapping("/test")
public void test() {
- ryTask.longTaskSend();
+ ryTask.dealOutHospInfo();
+ }
+
+ @PostMapping("/syncMedInhospForShiyi")
+ public void syncMedInhospForShiyi(@RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime) {
+ collectHISService.syncMedInhosp(startTime, endTime);
+ }
+
+ @PostMapping("/syncMedOperForShiyi")
+ public void syncMedOperForShiyi(@RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime) {
+ collectHISService.syncOper(startTime, endTime);
}
}
--
Gitblit v1.9.3