陈昶聿
3 天以前 c722df8c090c6097ea1d4d15fa53da7992c9aa2f
【丽水修复】历史随访记录导出修复
已修改4个文件
147 ■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/ServiceSubtaskDiagname.java 79 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
@@ -243,20 +243,6 @@
    /**
     * 随访历史记录导出
     */
    //@PreAuthorize("@ss.hasPermi('system:taskcall:export')")
//    @Log(title = "随访历史记录导出", businessType = BusinessType.EXPORT)
//    @PostMapping("/getSubtaskByDiagnameExport")
//    public void getSubtaskByDiagnameExport(HttpServletResponse response, List<ServiceSubtaskDiagname> serviceSubtaskDiagnameList) {
//        ExcelUtil<ServiceSubtaskDiagname> util = new ExcelUtil<ServiceSubtaskDiagname>(ServiceSubtaskDiagname.class);
//
//        if (active.equals("ls") || active.equals("druid")) {
//            util.exportExcel(response, serviceSubtaskDiagnameList, LocalDate.now().getMonthValue() + "随访统计导出");
//        } else {
//            util.exportExcel(response, serviceSubtaskDiagnameList, "随访统计导出");
//        }
//    }
    //@PreAuthorize("@ss.hasPermi('system:taskcall:export')")
    @Log(title = "随访历史记录导出", businessType = BusinessType.EXPORT)
    @PostMapping("/getSubtaskByDiagnameExport")
    public void getSubtaskByDiagnameExport(HttpServletResponse response, ServiceSubtask serviceSubtask) {
@@ -265,15 +251,16 @@
        serviceSubtask.setOrgid(user.getOrgid());
        serviceSubtask.setPageNum(PageUtils.getOffset(serviceSubtask.getPageNum(), serviceSubtask.getPageSize()));
        List<ServiceSubtask> subtaskList = serviceSubtaskService.selectServiceSubtaskByDiagname(serviceSubtask);
        ExcelUtil<ServiceSubtask> util = new ExcelUtil<ServiceSubtask>(ServiceSubtask.class);
        List<ServiceSubtaskDiagname> serviceSubtaskDiagnameList = new ArrayList<>();
        if (CollectionUtils.isNotEmpty(subtaskList)) serviceSubtaskDiagnameList = serviceSubtaskService.convertToDiagnameList(subtaskList);
        ExcelUtil<ServiceSubtaskDiagname> util = new ExcelUtil<ServiceSubtaskDiagname>(ServiceSubtaskDiagname.class);
        if (active.equals("ls") || active.equals("druid")) {
            util.exportExcel(response, subtaskList, LocalDate.now().getMonthValue() + "随访统计导出");
            util.exportExcel(response, serviceSubtaskDiagnameList, LocalDate.now().getMonthValue() + "随访统计导出");
        } else {
            util.exportExcel(response, subtaskList, "随访统计导出");
            util.exportExcel(response, serviceSubtaskDiagnameList, "随访统计导出");
        }
    }
    /**
     * 新增或修改删除单一任务
smartor/src/main/java/com/smartor/domain/ServiceSubtaskDiagname.java
@@ -19,37 +19,72 @@
public class ServiceSubtaskDiagname implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "服务名称")
    @ApiModelProperty(value = "任务名称")
    private String taskName;
    @ApiModelProperty(value = "患者姓名")
    private String sendname;
    @ApiModelProperty(value = "电话")
    private String phone;
    @ApiModelProperty(value = "性别")
    private String sex;
    @ApiModelProperty(value = "疾病名称")
    private String leavediagname;
    @ApiModelProperty(value = "随访状态")
    @ApiModelProperty(value = "任务状态")
    private Long sendstate;
    @ApiModelProperty(value = "入院时间")
    private Date starttime;
    @ApiModelProperty(value = "姓名")
    private String sendname;
    @ApiModelProperty(value = "出院时间")
    @ApiModelProperty(value = "诊断名称")
    private String leavediagname;
    @ApiModelProperty(value = "处理意见")
    private String suggest;
    @ApiModelProperty(value = "随访人员")
    private String operator;
    @ApiModelProperty(value = "随访完成日期")
    private Date finishtime;
    @ApiModelProperty(value = "应随访日期")
    private Date longSendTime;
    @Excel(name = "出院日期")
    @ApiModelProperty(value = "出院日期")
    private Date endtime;
    @ApiModelProperty(value = "随访时间")
    private Date visitTime;
    @ApiModelProperty(value = "出院天数")
    private Integer endDay;
    @ApiModelProperty(value = "护士姓名")
    @Excel(name = "身份证号码")
    @ApiModelProperty(value = "身份证号码")
    private String sfzh;
    @Excel(name = "联系电话")
    @ApiModelProperty(value = "联系电话")
    private String phone;
    @Excel(name = "责任护士")
    @ApiModelProperty("责任护士")
    private String nurseName;
    @Excel(name = "主治医生")
    @ApiModelProperty("主治医生")
    private String drname;
    @Excel(name = "科室")
    @ApiModelProperty(value = "科室")
    private String deptname;
    @Excel(name = "病区")
    @ApiModelProperty(value = "病区")
    private String leavehospitaldistrictname;
    @Excel(name = "出院随访模板名称")
    @ApiModelProperty(value = "出院随访模板名称")
    private String templatename;
    @Excel(name = "任务执行方式")
    @ApiModelProperty(value = "任务执行方式")
    private String preachform;
    @Excel(name = "任务结果说明")
    @ApiModelProperty(value = "任务结果说明")
    private String result;
}
smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
@@ -140,4 +140,6 @@
    public List<ServiceStatisticsResponse> getServiceStatistics(ServiceStatisticsRequest request);
    public List<PatArchiveSrmVO> sendMsgTemplate(List<PatArchiveSrmVO> patArchiveSrmVOS);
}
    public List<ServiceSubtaskDiagname> convertToDiagnameList(List<ServiceSubtask> subtaskList) ;
    }
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -2947,4 +2947,45 @@
        return total;
    }
    /**
     * 历史随访记录导出类封装
     * ServiceSubtask 转换为 ServiceSubtaskDiagname
     */
    public List<ServiceSubtaskDiagname> convertToDiagnameList(List<ServiceSubtask> subtaskList) {
        if (CollectionUtils.isEmpty(subtaskList)) {
            return new ArrayList<>();
        }
        return subtaskList.stream().map(subtask -> {
            ServiceSubtaskDiagname diagname = new ServiceSubtaskDiagname();
            diagname.setTaskName(subtask.getTaskName());
            diagname.setSendstate(subtask.getSendstate());
            diagname.setSendname(subtask.getSendname());
            diagname.setLeavediagname(subtask.getLeavediagname());
            diagname.setSuggest(subtask.getSuggest());
            diagname.setOperator(subtask.getOperator());
            diagname.setFinishtime(subtask.getFinishtime());
            diagname.setLongSendTime(subtask.getLongSendTime());
            diagname.setEndtime(subtask.getEndtime());
            //计算出院天数
            if(!Objects.isNull(diagname.getEndtime())){
                Integer endDay = DateUtils.differentDaysByMillisecond(diagname.getEndtime(),new Date());
                diagname.setEndDay(endDay);
            }
            diagname.setSfzh(subtask.getSfzh());
            diagname.setPhone(subtask.getPhone());
            diagname.setNurseName(subtask.getNurseName());
            diagname.setDrname(subtask.getDrname());
            diagname.setDeptname(subtask.getDeptname());
            diagname.setLeavehospitaldistrictname(subtask.getLeavehospitaldistrictname());
            diagname.setTemplatename(subtask.getTemplatename());
            diagname.setPreachform(subtask.getPreachform());
            diagname.setResult(subtask.getResult());
            return diagname;
        }).collect(Collectors.toList());
    }
}