From 10aaa035f5be0312304d20f022bdb714a8f4900a Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 11 十二月 2024 22:16:23 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/domain/ServiceSubtask.java | 2 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 6 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java | 33 ++ smartor/src/main/java/com/smartor/domain/ServiceSubtaskExportVO.java | 528 +++++++++++++++++++++++++++++++++++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchivecontactController.java | 8 smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java | 80 +++++ smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 96 ++++++ smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java | 6 smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java | 2 smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java | 7 smartor/src/main/java/com/smartor/domain/PatArchivecontact.java | 4 smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml | 26 + 12 files changed, 781 insertions(+), 17 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchivecontactController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchivecontactController.java index 144760f..4a490e7 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchivecontactController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchivecontactController.java @@ -5,6 +5,7 @@ import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.smartor.domain.PatArchivecontact; @@ -37,10 +38,13 @@ @ApiOperation("鏌ヨ鎮h�呰仈绯绘柟寮忓垪琛�") //@PreAuthorize("@ss.hasPermi('system:archivecontact:list')") @PostMapping("/selectPatArchivecontactList") - public TableDataInfo selectPatArchivecontactlist(@RequestBody PatArchivecontact patArchivecontact) { + public AjaxResult selectPatArchivecontactlist(@RequestBody PatArchivecontact patArchivecontact) { PageUtils.startPageByPost(patArchivecontact.getPageNum(), patArchivecontact.getPageSize()); + if (patArchivecontact.getPatid() == null) { + return error("鎮h�匢D涓嶈兘涓虹┖"); + } List<PatArchivecontact> list = patArchivecontactService.selectPatArchivecontactList(patArchivecontact); - return getDataTable(list); + return success(list); } /** 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 5b3aa1e..ec2f820 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 @@ -8,6 +8,7 @@ import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.DtoConversionUtils; import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.poi.ExcelUtil; @@ -17,6 +18,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -83,11 +85,13 @@ //@PreAuthorize("@ss.hasPermi('system:taskcall:export')") @Log(title = "鍗曚竴浠诲姟锛堥殢璁垮鏁欙級", businessType = BusinessType.EXPORT) @PostMapping("/export") - public void export(HttpServletResponse response, ServiceSubtask serviceSubtask) { - ServiceSubtaskVO serviceSubtaskVO = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtaskVO.class); - List<ServiceSubtask> list = serviceSubtaskService.selectServiceSubtaskList(serviceSubtaskVO); - ExcelUtil<ServiceSubtask> util = new ExcelUtil<ServiceSubtask>(ServiceSubtask.class); - util.exportExcel(response, list, "鍗曚竴浠诲姟锛堥殢璁匡級鏁版嵁"); + public void export(HttpServletResponse response, ServiceSubtaskVO serviceSubtaskVO) { + List<ServiceSubtask> serviceSubtaskList = serviceSubtaskService.patItem(serviceSubtaskVO); + if (CollectionUtils.isNotEmpty(serviceSubtaskList)) { + List<ServiceSubtaskExportVO> serviceSubtaskExportVOS = DtoConversionUtils.sourceToTarget(serviceSubtaskList, ServiceSubtaskExportVO.class); + ExcelUtil<ServiceSubtaskExportVO> util = new ExcelUtil<ServiceSubtaskExportVO>(ServiceSubtaskExportVO.class); + util.exportExcel(response, serviceSubtaskExportVOS, "闅忚瀵煎嚭鏁版嵁"); + } } /** @@ -118,6 +122,12 @@ @PostMapping("/update") public AjaxResult update(@RequestBody ServiceSubtask serviceSubtask) { return toAjax(serviceSubtaskService.updateServiceSubtask(serviceSubtask)); + } + + @ApiOperation("鏂板瀛愪换鍔�") + @PostMapping("/addSubTask") + public AjaxResult addSubTask(@RequestBody ServiceSubtask serviceSubtask) { + return toAjax(serviceSubtaskService.insertServiceSubtask(serviceSubtask)); } /** @@ -201,4 +211,17 @@ return getDataTable(serviceSubtaskService.getSfFzInfoEveryMonth(serviceSubtaskCountReq)); } + + /** + * 鑾峰彇闅忚缁熻姣斾緥 + */ + @ApiOperation("鑾峰彇闅忚缁熻姣斾緥") + @PostMapping("/getSfStatistics") + public AjaxResult getSfStatistics(@RequestBody ServiceSubtaskCountReq serviceSubtaskCountReq) { + if (CollectionUtils.isEmpty(serviceSubtaskCountReq.getServiceType())) { + return error("鏈嶅姟绫诲瀷涓嶈兘涓虹┖"); + } + return success(serviceSubtaskService.getSfStatistics(serviceSubtaskCountReq)); + } + } 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 f126715..dd4509f 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 @@ -608,7 +608,7 @@ patArchive.setNotrequiredreason(thiedInhospInfo.getOutWayName()); } if (cry.equals("1") && StringUtils.isEmpty(thiedInhospInfo.getOutWayId())) { - //濡傛灉涓�4灏辨槸姝讳骸 + //鍑洪櫌鏂瑰紡涓虹┖ patArchive.setNotrequiredFlag("1"); patArchive.setNotrequiredreason("鍑洪櫌鏂瑰紡涓虹┖"); } @@ -636,7 +636,9 @@ patArchive.setName(thiedInhospInfo.getPatiRecordName()); patArchiveService.insertPatArchive(patArchive); } else { - patArchive = patArchives.get(0); + patArchive.setId(patArchives.get(0).getId()); + patArchiveService.update(patArchive); +// patArchive = patArchives.get(0); } log.error("鍏ュ弬鐨刾atArchive锛歿}", patArchive); diff --git a/smartor/src/main/java/com/smartor/domain/PatArchivecontact.java b/smartor/src/main/java/com/smartor/domain/PatArchivecontact.java index a82eab5..eb53f3e 100644 --- a/smartor/src/main/java/com/smartor/domain/PatArchivecontact.java +++ b/smartor/src/main/java/com/smartor/domain/PatArchivecontact.java @@ -30,8 +30,8 @@ /** * 鑱旂郴鏂瑰紡ID */ - @Excel(name = " 鑱旂郴鏂瑰紡ID ") - @ApiModelProperty(value = "鑱旂郴鏂瑰紡ID") + @Excel(name = " 鎮h�匢D ") + @ApiModelProperty(value = "鎮h�匢D") private Long patid; /** diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java index 2ee55de..a851f20 100644 --- a/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java +++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java @@ -216,7 +216,7 @@ * 鍙戦�佺姸鎬� */ @Excel(name = " 鍙戦�佺姸鎬� ") - @ApiModelProperty(value = "鍙戦�佺姸鎬� 1 琚鍙� 2 寰呭彂閫� 3 宸插彂閫� 4 涓嶆墽琛� 5 鍙戦�佸け璐� 6 宸插畬鎴�") + @ApiModelProperty(value = "鍙戦�佺姸鎬� 1 鏂板缓 2 寰呭彂閫� 3 宸插彂閫� 4 涓嶆墽琛� 5 鍙戦�佸け璐� 6 宸插畬鎴�") private Long sendstate; /** diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java index fd6127e..91336a7 100644 --- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java +++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java @@ -1,5 +1,6 @@ package com.smartor.domain; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -21,13 +22,18 @@ @ApiModelProperty(value = "鐢ㄦ埛ID") private Long userId; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "寮�濮嬫椂闂�") private Date startTime; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "缁撴潫鏃堕棿") private Date endTime; @ApiModelProperty(value = "鏈嶅姟绫诲瀷") private List<Long> serviceType; + @ApiModelProperty(value = "鐥呭尯Code闆嗗悎") + private List<String> leavehospitaldistrictcodes; + } diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskExportVO.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskExportVO.java new file mode 100644 index 0000000..cd7c88d --- /dev/null +++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskExportVO.java @@ -0,0 +1,528 @@ +package com.smartor.domain; + +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 java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 鍗曚竴浠诲姟锛堥殢璁匡級瀵硅薄 ivr_tasksingle + * + * @author ruoyi + * @date 2024-02-02 + */ +@ApiModel(value = "ServiceSubtask", description = "鍗曚竴闅忚浠诲姟") +@Data +public class ServiceSubtaskExportVO { + private static final long serialVersionUID = 1L; + + /** + * 涓婚敭 + */ + @ApiModelProperty(value = "涓婚敭") + private Long id; + + /** + * 浠诲姟ID + */ + @ApiModelProperty(value = "浠诲姟ID") + private Long taskid; + + /** + * 澶囨敞 + */ + @ApiModelProperty(value = "澶囨敞") + private String remark; + + /** + * 澶囨敞 + */ + @ApiModelProperty(value = "澶囨敞") + private String guid; + + /** + * 寮傚父鏍囪瘑 + */ + @ApiModelProperty(value = "寮傚父鏍囪瘑") + @Excel(name = " 寮傚父鏍囪瘑 ") + private String excep; + + /** + * 鍑洪櫌鏃堕棿 + */ + @ApiModelProperty(value = "鍑洪櫌鏃堕棿") + @Excel(name = " 鍑洪櫌鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date endtime; + + /** + * 鍏ラ櫌鏃堕棿 + */ + @ApiModelProperty(value = "鍏ラ櫌鏃堕棿") + @Excel(name = " 鍏ラ櫌鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date starttime; + + /** + * 鏄惁鎻愪氦 + */ + @ApiModelProperty(value = "鏄惁鎻愪氦锛�0鏈彁浜� 1宸叉彁浜�") + private Long submit; + + /** + * 鍙戦�佷汉 + */ + @Excel(name = " 鍙戦�佷汉锛堟偅鑰咃級 ") + @ApiModelProperty(value = "鍙戦�佷汉锛堟偅鑰咃級") + private String sendname; + + /** + * 鎵嬫満鍙� + */ + @Excel(name = " 鎵嬫満鍙� ") + @ApiModelProperty(value = "鎵嬫満鍙�") + private String phone; + + /** + * 鎵嬫満鍙� + */ + @Excel(name = " 鎵嬫満鍙� ") + @ApiModelProperty(value = "鎵嬫満鍙�") + private String openid; + + /** + * 鎬у埆 + */ + @Excel(name = " 鎬у埆") + @ApiModelProperty(value = "鎬у埆") + private Long sex; + + /** + * 骞撮緞 + */ + @Excel(name = " 骞撮緞 ") + @ApiModelProperty(value = "骞撮緞") + private Long age; + + /** + * 韬唤璇佸彿 + */ + @Excel(name = " 韬唤璇佸彿 ") + @ApiModelProperty(value = "韬唤璇佸彿") + private String sfzh; + + /** + * 鍦板潃 + */ + @Excel(name = " 鍦板潃 ") + @ApiModelProperty(value = "鍦板潃") + private String addr; + + /** + * 鍙戦�佷汉璇︽儏 + */ + @Excel(name = " 鍙戦�佷汉璇︽儏") + @ApiModelProperty(value = "鍙戦�佷汉璇︽儏") + private String senderdetail; + + /** + * 浠诲姟绫诲瀷(闂ㄨ瘖锛屼綇闄紝澶嶈瘖鈥�) + */ + @Excel(name = "浠诲姟绫诲瀷(0閫氱煡銆�1瀹f暀銆�2闂ㄨ瘖銆�3鍑洪櫌銆�4澶嶈瘖銆�5浣撴銆�6闂嵎銆�7鍖绘妧鈥︹��)") + @ApiModelProperty(value = "浠诲姟绫诲瀷(0閫氱煡銆�1瀹f暀銆�2闂ㄨ瘖銆�3鍑洪櫌銆�4澶嶈瘖銆�5浣撴銆�6闂嵎銆�7鍖绘妧鈥︹��)") + private String type; + + /** + * 鏈嶅姟绫诲瀷(1銆佺洃娴嬭瘎浼帮紱2銆佸嚭闄㈤殢璁匡紱3銆侀棬璇婇殢璁匡紱4銆佸鏁欏叧鎬�锛�5銆佸璇婇�氱煡锛�6銆佹弧鎰忓害璋冩煡锛�7銆佹偅鑰呮姤鍛婏紱 8銆佸叾浠栭�氱煡) + */ + @Excel(name = "鏈嶅姟绫诲瀷(1銆佺洃娴嬭瘎浼帮紱2銆佸嚭闄㈤殢璁匡紱3銆侀棬璇婇殢璁匡紱4銆佸鏁欏叧鎬�锛�5銆佸璇婇�氱煡锛�6銆佹弧鎰忓害璋冩煡锛�7銆佹偅鑰呮姤鍛婏紱 8銆佸叾浠栭�氱煡)") + @ApiModelProperty(value = "鏈嶅姟绫诲瀷(1銆佺洃娴嬭瘎浼帮紱2銆佸嚭闄㈤殢璁匡紱3銆侀棬璇婇殢璁匡紱4銆佸鏁欏叧鎬�锛�5銆佸璇婇�氱煡锛�6銆佹弧鎰忓害璋冩煡锛�7銆佹偅鑰呮姤鍛婏紱 8銆佸叾浠栭�氱煡)") + private String serviceType; + + /** + * 妯℃澘ID + */ + @Excel(name = " 妯℃澘ID") + @ApiModelProperty(value = "妯℃澘ID") + private Long templateid; + + /** + * 妯℃澘鍚� + */ + @Excel(name = " 妯℃澘鍚� ") + @ApiModelProperty(value = "鎷夊彇鏃堕棿") + private String templatename; + + /** + * 鍙戝鐞嗘剰瑙侊細1鏆備笉澶勭悊銆�2閫氱煡灏辫瘖銆�3鐥呮儏绋冲畾銆�4浜哄伐闅忚銆�5澶辫閫乁UID + */ + @Excel(name = " 澶勭悊鎰忚锛�1鏆備笉澶勭悊銆�2閫氱煡灏辫瘖銆�3鐥呮儏绋冲畾銆�4浜哄伐闅忚銆�5澶辫 ") + @ApiModelProperty(value = "澶勭悊鎰忚锛�1鏆備笉澶勭悊銆�2閫氱煡灏辫瘖銆�3鐥呮儏绋冲畾銆�4浜哄伐闅忚銆�5澶辫") + private String suggest; + + /** + * 鍙戦�佹棩鏈� + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = " 鍙戦�佹棩鏈� ", width = 30, dateFormat = "yyyy-MM-dd") + @ApiModelProperty(value = "鍙戦�佹棩鏈�") + private Date senddate; + + /** + * 涓婂崍寮�濮嬪彂閫佹椂闂撮檺鍒� + */ + @Excel(name = " 涓婂崍寮�濮嬪彂閫佹椂闂撮檺鍒� ") + @ApiModelProperty(value = "涓婂崍寮�濮嬪彂閫佹椂闂撮檺鍒�") + private String sendlimitabegin; + + /** + * 涓婂崍缁撴潫鍙戦�佹椂闂撮檺鍒� + */ + @Excel(name = " 涓婂崍缁撴潫鍙戦�佹椂闂撮檺鍒� ") + @ApiModelProperty(value = "涓婂崍缁撴潫鍙戦�佹椂闂撮檺鍒�") + private String sendlimitaend; + + /** + * 涓嬪崍寮�濮嬪彂閫佹椂闂撮檺鍒� + */ + @Excel(name = " 涓嬪崍寮�濮嬪彂閫佹椂闂撮檺鍒� ") + @ApiModelProperty(value = "涓嬪崍寮�濮嬪彂閫佹椂闂撮檺鍒�") + private String sendlimitpbegin; + + /** + * 涓嬪崍缁撴潫鍙戦�佹椂闂撮檺鍒� + */ + @Excel(name = " 涓嬪崍缁撴潫鍙戦�佹椂闂撮檺鍒� ") + @ApiModelProperty(value = "涓嬪崍缁撴潫鍙戦�佹椂闂撮檺鍒�") + private String sendlimitpend; + + /** + * 鏅氫笂寮�濮嬪彂閫佹椂闂撮檺鍒� + */ + @Excel(name = " 鏅氫笂寮�濮嬪彂閫佹椂闂撮檺鍒� ") + @ApiModelProperty(value = "鏅氫笂寮�濮嬪彂閫佹椂闂撮檺鍒�") + private String sendlimitnbegin; + + /** + * 鏅氫笂缁撴潫鍙戦�佹椂闂撮檺鍒� + */ + @Excel(name = " 鏅氫笂缁撴潫鍙戦�佹椂闂撮檺鍒� ") + @ApiModelProperty(value = "鏅氫笂缁撴潫鍙戦�佹椂闂撮檺鍒�") + private String sendlimitnend; + + /** + * 鍙戦�佺姸鎬� + */ + @Excel(name = " 鍙戦�佺姸鎬� ") + @ApiModelProperty(value = "鍙戦�佺姸鎬� 2 寰呭彂閫� 3 宸插彂閫� 4 涓嶆墽琛� 5 鍙戦�佸け璐� 1 琚鍙� 6 宸插畬鎴�") + private Long sendstate; + + /** + * 鏆傚仠鐘� 锛� 鐘舵�佸鏋滃彂鐢熶慨鏀癸紝鍊煎氨鍔�1 + */ + @Excel(name = " 鏆傚仠鐘� 锛� 鐘舵�佸鏋滃彂鐢熶慨鏀癸紝鍊煎氨鍔�1 ") + @ApiModelProperty(value = "鏆傚仠鐘� 锛� 鐘舵�佸鏋滃彂鐢熶慨鏀癸紝鍊煎氨鍔�1") + private Long stopState; + + /** + * 鍙戦�乁UID + */ + @Excel(name = " 鍙戦�乁UID ") + @ApiModelProperty(value = "鍙戦�乁UID") + private String senduuid; + + /** + * 缁撴灉 + */ + @Excel(name = " 缁撴灉 ") + @ApiModelProperty(value = "缁撴灉") + private String result; + + /** + * 瀹屾垚鏃堕棿 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "瀹屾垚鏃堕棿") + private Date finishtime; + + /** + * 灏辫瘖璁板綍缂栧彿 + */ + @Excel(name = " 灏辫瘖璁板綍缂栧彿 ") + @ApiModelProperty(value = "灏辫瘖璁板綍缂栧彿") + private Long recordid; + + /** + * 褰撳墠閲嶆嫧娆℃暟 + */ + @Excel(name = " 褰撳墠閲嶆嫧娆℃暟 ") + @ApiModelProperty(value = "褰撳墠閲嶆嫧娆℃暟") + private Long exrecallcount; + + /** + * 鎷夊彇鏃堕棿 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = " 鎷夊彇鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd") + @ApiModelProperty(value = "鎷夊彇鏃堕棿") + private Date pulltime; + + /** + * 閮ㄩ棬code + */ + @Excel(name = " 閮ㄩ棬code") + @ApiModelProperty(value = "閮ㄩ棬code") + private String deptcode; + + /** + * 鍖荤敓缂栫爜 + */ + @Excel(name = " 鍖荤敓缂栫爜") + @ApiModelProperty(value = "鍖荤敓缂栫爜") + private String drcode; + + /** + * 鍖荤敓濮撳悕 + */ + @Excel(name = " 鍖荤敓濮撳悕") + @ApiModelProperty(value = "鍖荤敓濮撳悕") + private String drname; + + /** + * 鏍囩鐘舵�� + */ + @Excel(name = " 鏍囩鐘舵��") + @ApiModelProperty(value = "鏍囩鐘舵��") + private Long labelstatus; + + /** + * 鍒犻櫎鏍囪 + */ + @ApiModelProperty(value = "鍒犻櫎鏍囪") + private String delFlag; + + /** + * 涓婁紶鏍囪 + */ + @Excel(name = " 涓婁紶鏍囪 ") + @ApiModelProperty(value = "涓婁紶鏍囪") + private Long isupload; + + /** + * 涓婁紶鏃堕棿 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd") + @ApiModelProperty(value = "涓婁紶鏃堕棿") + private Date uploadTime; + + /** + * 鏈烘瀯ID + */ + @Excel(name = " 鏈烘瀯ID ") + @ApiModelProperty(value = "鏈烘瀯ID") + private String orgid; + + /** + * 鏂囨湰鍙橀噺鍙傛暟 + */ + @Excel(name = "鏂囨湰鍙橀噺鍙傛暟") + @ApiModelProperty(value = "鏂囨湰鍙橀噺鍙傛暟") + private String textParam; + + /** + * 瀹f暀褰㈠紡 : 1,鐭俊銆�2,绾夸笅銆�3,璇煶銆�4,瑙嗛銆�5,绾歌川 6.閾炬帴 7.閽夐拤 8.寰俊 + */ + @Excel(name = " 瀹f暀褰㈠紡 : 1,鐭俊銆�2,绾夸笅銆�3,璇煶銆�4,瑙嗛銆�5,绾歌川 6.浜岀淮鐮� 7.閽夐拤 8.寰俊") + @ApiModelProperty("瀹f暀褰㈠紡 : 1,鐭俊銆�2,绾夸笅銆�3,璇煶銆�4,瑙嗛銆�5,绾歌川 6.閾炬帴 7.閽夐拤 8.寰俊") + private String preachform; + + /** + * 搴婂彿 + */ + @Excel(name = "搴婂彿") + @ApiModelProperty(value = "搴婂彿") + private String bedNo; + + /** + * pageNum + */ + @Excel(name = "pageNum") + @ApiModelProperty(value = "pageNum") + private Integer pageNum; + + /** + * pageSize + */ + @Excel(name = "pageSize") + @ApiModelProperty(value = "pageSize") + private Integer pageSize; + + + /** + * 鍙戦�佺被鍨�: 1 鏃堕棿娈� 2 鏃堕棿鐐� 3 鍗冲埢鍙戦�� + */ + @ApiModelProperty(value = "鍙戦�佺被鍨�: 1 鏃堕棿娈� 2 鏃堕棿鐐� 3 鍗冲埢鍙戦��") + private String sendType; + + /** + * 浠诲姟鍚嶇О + */ + @Excel(name = "浠诲姟鍚嶇О") + @ApiModelProperty(value = "浠诲姟鍚嶇О") + private String taskName; + + /** + * 浠诲姟鎻忚堪 + */ + @Excel(name = "浠诲姟鎻忚堪") + @ApiModelProperty(value = "浠诲姟鎻忚堪") + private String taskDesc; + + + /** + * 闅忚浜� + */ + @Excel(name = " 闅忚浜� ") + @ApiModelProperty(value = "闅忚浜�") + private String operator; + + /** + * 闅忚浜� + */ + @Excel(name = " 闅忚浜虹紪鍙� ") + @ApiModelProperty(value = "闅忚浜虹紪鍙�") + private String operatorNo; + + /** + * 灏辫瘖缂栧彿锛堝搴旂殑outhospno銆乮nhospno锛� + */ + @Excel(name = " 灏辫瘖缂栧彿锛堝搴旂殑outhospno銆乮nhospno锛� ") + @ApiModelProperty(value = "灏辫瘖缂栧彿锛堝搴旂殑outhospno銆乮nhospno锛�") + private String hospno; + + /** + * 灏辫瘖绫诲瀷锛�1闂ㄨ瘖 2鍑洪櫌锛� + */ + @Excel(name = " 灏辫瘖绫诲瀷锛�1闂ㄨ瘖 2鍑洪櫌锛�") + @ApiModelProperty(value = "灏辫瘖绫诲瀷锛�1闂ㄨ瘖 2鍑洪櫌 3.涓撶梾 4.澶栭儴瀵煎叆锛�") + private String hospType; + + + /** + * 寰俊 + */ + @Excel(name = " 寰俊") + @ApiModelProperty(value = "寰俊") + private String wechat; + + /** + * 璇婃柇鍚嶇О + */ + @Excel(name = " 璇婃柇鍚嶇О") + @ApiModelProperty(value = "璇婃柇鍚嶇О") + private String diagname; + + /** + * 鎮h�匢D + */ + @Excel(name = " 鎮h�匢D") + @ApiModelProperty(value = "鎮h�匢D") + private Long patid; + + /** + * 绉戝鍚嶇О + */ + @Excel(name = "绉戝鍚嶇О") + @ApiModelProperty(value = "绉戝鍚嶇О") + private String deptname; + + /** + * 灏辫瘖鏃ユ湡 + */ + @Excel(name = " 灏辫瘖鏃ユ湡") + @ApiModelProperty(value = "灏辫瘖鏃ユ湡") + private Date admindate; + + /** + * 鐥呮埧鍙� + */ + @Excel(name = " 鐥呮埧鍙�") + @ApiModelProperty(value = "鐥呮埧鍙�") + private String roomno; + + /** + * 妯℃澘搴撴ā鐗圛D + */ + @Excel(name = "妯℃澘搴撴ā鐗圛D") + @ApiModelProperty(value = "妯℃澘搴撴ā鐗圛D") + private Long libtemplateid; + + /** + * 鎬诲垎 + */ + @Excel(name = "鎬诲垎") + @ApiModelProperty(value = "鎬诲垎") + private BigDecimal score; + + /** + * 妯℃澘搴撴ā鐗堝悕绉� + */ + @Excel(name = "妯℃澘搴撴ā鐗堝悕绉�") + @ApiModelProperty(value = "妯℃澘搴撴ā鐗堝悕绉�") + private String libtemplatename; + + + /** + * 闀挎湡浠诲姟锛岀粰鎮h�呭彂閫佺殑鏃堕棿 + */ + @Excel(name = " 闀挎湡浠诲姟锛岀粰鎮h�呭彂閫佺殑鏃堕棿") + @ApiModelProperty(value = "闀挎湡浠诲姟锛岀粰鎮h�呭彂閫佺殑鏃堕棿") + private Date longSendTime; + + /** + * 璐d换鎶ゅ+缂栫爜 + */ + @Excel(name = "璐d换鎶ゅ+缂栫爜") + @ApiModelProperty("璐d换鎶ゅ+缂栫爜") + private String nurseId; + + /** + * 璐d换鎶ゅ+濮撳悕 + */ + @Excel(name = "璐d换鎶ゅ+濮撳悕") + @ApiModelProperty("璐d换鎶ゅ+濮撳悕") + private String nurseName; + + /** + * 鍑洪櫌鐥呭尯缂栧彿 + */ + @ApiModelProperty(value = "鍑洪櫌鐥呭尯缂栧彿") + private String leavehospitaldistrictcode; + + /** + * 鍑洪櫌鐥呭尯鍚嶇О + */ + @ApiModelProperty(value = "鍑洪櫌鐥呭尯鍚嶇О") + @Excel(name = " 鍑洪櫌鐥呭尯鍚嶇О ") + private String leavehospitaldistrictname; + + /** + * 鍑洪櫌鐥呭尯缂栧彿 + */ + @ApiModelProperty(value = "鍑洪櫌鐥呭尯缂栧彿闆嗗悎") + private List<String> leavehospitaldistrictcodes; + + /** + * 鍑洪櫌鐥呭尯缂栧彿 + */ + @ApiModelProperty(value = "鍑洪櫌閮ㄩ棬缂栧彿闆嗗悎") + private List<String> leaveldeptcodes; + + @ApiModelProperty(value = "鍙戦�佽鎯�") + private List<ServiceSubtaskRecord> serviceSubtaskRecordList; + +} diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java new file mode 100644 index 0000000..66363b8 --- /dev/null +++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java @@ -0,0 +1,80 @@ +package com.smartor.domain; + +import com.ruoyi.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 鍚勭梾鍖洪殢璁跨粺璁℃瘮渚� + * + * @author ruoyi + * @date 2024-12-11 + */ +@ApiModel(value = "ServiceSubtaskStatistic", description = "鍚勭梾鍖洪殢璁跨粺璁℃瘮渚�") +@Data +public class ServiceSubtaskStatistic { + private static final long serialVersionUID = 1L; + + /** + * 鍑洪櫌鐥呭尯缂栧彿 + */ + @ApiModelProperty(value = "鍑洪櫌鐥呭尯缂栧彿") + private String leavehospitaldistrictcode; + + /** + * 鍑洪櫌鐥呭尯鍚嶇О + */ + @ApiModelProperty(value = "鍑洪櫌鐥呭尯鍚嶇О") + @Excel(name = " 鍑洪櫌鐥呭尯鍚嶇О ") + private String leavehospitaldistrictname; + + @ApiModelProperty(value = "鏈嶅姟鎬婚噺") + private Integer serviceCount = 0; + + @ApiModelProperty(value = "鎮h�呰繃婊ら噺锛堜笉鎵ц鏁伴噺锛�") + private Long bzxCount = 0L; + + @ApiModelProperty(value = "搴旈殢璁块噺") + private Long ysfCount = 0L; + + @ApiModelProperty(value = "鍙戦�佸け璐ヨ閲�") + private Long fssbCount = 0L; + + @ApiModelProperty(value = "寰呭彂閫佹暟閲�") + private Long dfsCount = 0L; + + @ApiModelProperty(value = "宸插彂閫佹暟閲�") + private Long yfsCount = 0L; + + @ApiModelProperty(value = "宸插畬鎴愭暟閲�") + private Long ywcCount = 0L; + + @ApiModelProperty(value = "闅忚瀹屾垚鐜�") + private String sfwcl; + + @ApiModelProperty(value = "鐭俊鍙戦�佹鏁�") + private Long dxfscs = 0L; + + @ApiModelProperty(value = "鐭俊闅忚瀹屾垚娆℃暟") + private Long dxsfwccs = 0L; + + @ApiModelProperty(value = "鐭俊闅忚瀹屾垚鐜�") + private Long dxsfwcl = 0L; + + @ApiModelProperty(value = "鐢佃瘽鍙戦�佹鏁�") + private Long dhfscs = 0L; + + @ApiModelProperty(value = "鐢佃瘽闅忚瀹屾垚娆℃暟") + private Long dhsfwccs = 0L; + + @ApiModelProperty(value = "鐢佃瘽闅忚瀹屾垚鐜�") + private Long dhsfwcl = 0L; + + @ApiModelProperty(value = "寮傚父鎬绘暟") + private Long yczs = 0L; + + @ApiModelProperty(value = "鍥炲寮傚父鏁�") + private Long hfycs = 0L; + +} diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java index 0a56930..6bc5372 100644 --- a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java +++ b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java @@ -71,4 +71,6 @@ public List<ServiceSubtaskCount> getSfFzInfoEveryMonth(ServiceSubtaskCountReq serviceSubtaskCountReq); + public List<ServiceSubtask> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq); + } diff --git a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java index 1b990c4..7888f1e 100644 --- a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java +++ b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java @@ -115,4 +115,11 @@ */ public List<ServiceSubtaskCount> getSfFzInfoEveryMonth(ServiceSubtaskCountReq serviceSubtaskCountReq); + /** + * 鑾峰彇闅忚缁熻姣斾緥 + * @param serviceSubtaskCountReq + * @return + */ + public List<ServiceSubtaskStatistic> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq); + } 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 e6c1691..a34347b 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.Gson; +import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.*; @@ -252,13 +253,18 @@ Integer yc = 0; Integer fssb = 0; Integer yfs = 0; - Integer blq = 0; + Integer xj = 0; + Integer dfs = 0; + Integer ywc = 0; + Integer ywc2 = 0; for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { if (serviceSubtask.getSendstate() == 4L) wzx = wzx + 1; else if (serviceSubtask.getSendstate() != 4L) ysf = ysf + 1; if (serviceSubtask.getSendstate() == 5L) fssb = fssb + 1; if (serviceSubtask.getSendstate() == 3L) yfs = yfs + 1; - if (serviceSubtask.getSendstate() == 1L) blq = blq + 1; + if (serviceSubtask.getSendstate() == 1L) xj = xj + 1; + if (serviceSubtask.getSendstate() == 2L) dfs = dfs + 1; + if (serviceSubtask.getSendstate() == 6L) ywc = ywc + 1; if (serviceSubtask.getExcep().equals("1")) yc = yc + 1; } map.put("wzx", wzx); @@ -266,8 +272,10 @@ map.put("yc", yc); map.put("fssb", fssb); map.put("yfs", yfs); - map.put("blq", blq); - + map.put("xj", xj); + map.put("dfs", dfs); + map.put("ywc", ywc); + map.put("yfs2", yfs + ywc); return map; } @@ -391,7 +399,7 @@ serviceSubtask.setEndtime(patTaskRelevance.getEndtime()); serviceSubtask.setNurseId(patTaskRelevance.getNurseId()); serviceSubtask.setNurseName(patTaskRelevance.getNurseName()); - if (serviceTaskVO.getLongTask() != null &&serviceTaskVO.getLongTask() == 1) + if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1) serviceSubtask.setLongSendTime(patTaskRelevance.getLongSendTime()); serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); integer = serviceSubtask.getId().intValue(); @@ -1775,6 +1783,80 @@ return result2; } + /** + * 鑾峰彇闅忚缁熻姣斾緥 + * + * @param serviceSubtaskCountReq + * @return + */ + @Override + public List<ServiceSubtaskStatistic> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq) { + log.error("getSfStatistics鐨勫叆鍙備负锛歿}", serviceSubtaskCountReq); + List<ServiceSubtaskStatistic> serviceSubtaskStatistics = new ArrayList<>(); + Map<String, List<ServiceSubtask>> collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(ServiceSubtask::getLeavehospitaldistrictname)); + for (List<ServiceSubtask> serviceSubtaskList : collect.values()) { + if (CollectionUtils.isEmpty(serviceSubtaskList)) { + continue; + } + ServiceSubtaskStatistic statistic = getStatistic(serviceSubtaskList); + if (ObjectUtils.isNotEmpty(statistic)) { + serviceSubtaskStatistics.add(statistic); + } + } + return serviceSubtaskStatistics; + } + + private ServiceSubtaskStatistic getStatistic(List<ServiceSubtask> serviceSubtaskList) { + ServiceSubtaskStatistic serviceSubtaskStatistic = new ServiceSubtaskStatistic(); + serviceSubtaskStatistic.setLeavehospitaldistrictname(serviceSubtaskList.get(0).getLeavehospitaldistrictname()); + serviceSubtaskStatistic.setLeavehospitaldistrictcode(serviceSubtaskList.get(0).getLeavehospitaldistrictcode()); + serviceSubtaskStatistic.setServiceCount(serviceSubtaskList.size()); + for (ServiceSubtask serviceSubtask : serviceSubtaskList) { + //涓嶉殢璁挎暟閲� + if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) { + serviceSubtaskStatistic.setBzxCount(serviceSubtaskStatistic.getBzxCount() + 1L); + } + //搴旈殢璁挎暟閲� + if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) { + serviceSubtaskStatistic.setYsfCount(serviceSubtaskStatistic.getYsfCount() + 1L); + } + //鍙戦�佸け璐ユ暟閲� + if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) { + serviceSubtaskStatistic.setFssbCount(serviceSubtaskStatistic.getFssbCount() + 1L); + } + //寰呭彂閫佹暟閲� + if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) { + serviceSubtaskStatistic.setDfsCount(serviceSubtaskStatistic.getDfsCount() + 1L); + } + //宸插彂閫佹暟閲� + if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 3) { + serviceSubtaskStatistic.setYfsCount(serviceSubtaskStatistic.getYfsCount() + 1L); + } + //宸插畬鎴愭暟閲� + if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 6) { + //宸插彂閫侊紝鍖呭惈宸插畬鎴� + serviceSubtaskStatistic.setYfsCount(serviceSubtaskStatistic.getYfsCount() + 1L); + serviceSubtaskStatistic.setYwcCount(serviceSubtaskStatistic.getYwcCount() + 1L); + } + + if (StringUtils.isNotEmpty(serviceSubtask.getExcep()) && serviceSubtask.getExcep().equals("1")) { + //寮傚父鏍囪瘑 + serviceSubtaskStatistic.setYczs(serviceSubtaskStatistic.getYczs() + 1L); + + } + + } + //闅忚瀹屾垚鐜�=宸插彂閫�/闅忚鏁� + if (serviceSubtaskStatistic.getYfsCount() == 0 || CollectionUtils.isEmpty(serviceSubtaskList)) { + serviceSubtaskStatistic.setSfwcl("0"); + } else { + BigDecimal multiply = BigDecimal.valueOf(serviceSubtaskStatistic.getYfsCount()).divide(BigDecimal.valueOf(serviceSubtaskList.size()), 2, BigDecimal.ROUND_HALF_UP); + serviceSubtaskStatistic.setSfwcl(multiply.toString()); + } + + return serviceSubtaskStatistic; + } + private IvrTaskTemplateScriptVO getNextQuestion(List<IvrTaskTemplateScriptVO> IvrTaskTemplateScriptVOList, IvrTaskTemplateScriptVO IvrTaskTemplateScriptVO) { for (int j = 0; j < IvrTaskTemplateScriptVOList.size(); j++) { @@ -1856,6 +1938,10 @@ redisCache.setCacheObject(subTaskId + "recordAccept-hungup", "1", 10, TimeUnit.MINUTES); if (StringUtils.isNotEmpty(serviceSubtask.getRemark())) serviceSubtask.setRemark("鐢佃瘽鍙戦�佹嫆鎺�,鐭俊琛ュ伩鍙戦�佹垚鍔�"); else serviceSubtask.setRemark("鐭俊琛ュ伩鍙戦�佹垚鍔�"); + //璁板綍涓�涓嬭ˉ鍋挎柟寮� + if (StringUtils.isNotEmpty(serviceSubtask.getPreachform())) { + serviceSubtask.setPreachform(serviceSubtask.getPreachform() + ",1"); + } serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); } } diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml index 75c9356..f2f6aa2 100644 --- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml +++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml @@ -637,6 +637,32 @@ where patid = #{patid} and taskid = #{taskid} </update> + <select id="getSfStatistics" parameterType="com.smartor.domain.ServiceSubtaskCountReq" + resultMap="ServiceSubtaskResult"> + <include refid="selectServiceSubtaskVo"/> + <where> + del_flag=0 + <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0"> + AND leavehospitaldistrictcode IN + <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator="," + close=")"> + #{leavehospitaldistrictcode} + </foreach> + </if> + <if test="serviceType != null and serviceType.size() > 0"> + AND service_type IN + <foreach collection="serviceType" item="serviceType" open="(" separator="," + close=")"> + #{serviceType} + </foreach> + </if> + <if test="startTime != null and endTime!=null"> + AND endtime > #{startTime} + AND endtime <= #{endTime} + </if> + </where> + </select> + <select id="getDataByTime" resultMap="ServiceSubtaskResult"> select id, -- Gitblit v1.9.3