陈昶聿
8 小时以前 4f1618f0df5c8ac19970f3bf0efa218b770cfb61
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
@@ -1,6 +1,8 @@
package com.ruoyi.web.controller.smartor;
import com.github.pagehelper.ISelect;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.ruoyi.common.annotation.AddOrgId;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.HttpStatus;
@@ -13,6 +15,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;
@@ -230,6 +233,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())) {
@@ -541,6 +548,33 @@
        Integer offset = PageUtils.getOffset(serviceSubtaskCountReq.getPageNum(), serviceSubtaskCountReq.getPageSize());
        serviceSubtaskCountReq.setPageNum(offset);
        Integer statisticaltype = serviceSubtaskCountReq.getStatisticaltype();
        if(ObjectUtils.isNotEmpty(statisticaltype)){
            SysUser user = getLoginUser().getUser();
            if(statisticaltype==1){
                if(CollectionUtils.isEmpty(serviceSubtaskCountReq.getLeavehospitaldistrictcodes())){
                    //全部病区
                    String hospInfo = user.getHospInfo();
                    Gson gson = new Gson();
                    // 3. 定义 List 类型(核心)
                    TypeToken<List<String>> typeToken = new TypeToken<List<String>>() {};
                    List<String> leavehospitaldistrictcodes = gson.fromJson(hospInfo, typeToken.getType());
                    serviceSubtaskCountReq.setLeavehospitaldistrictcodes(leavehospitaldistrictcodes);
                }
            }else if(statisticaltype==2){
                if(CollectionUtils.isEmpty(serviceSubtaskCountReq.getDeptcodes())){
                    //全部科室
                    String deptInfo = user.getDeptInfo();
                    Gson gson = new Gson();
                    // 3. 定义 List 类型(核心)
                    TypeToken<List<String>> typeToken = new TypeToken<List<String>>() {};
                    List<String> deptCodes = gson.fromJson(deptInfo, typeToken.getType());
                    serviceSubtaskCountReq.setDeptcodes(deptCodes);
                }
            }
        }
        String followUpCountStyle = configService.selectConfigByKey("followUpCountStyle", serviceSubtaskCountReq.getOrgid());
        if (ObjectUtils.isNotEmpty(followUpCountStyle)) {
            serviceSubtaskCountReq.setFollowUpCountStyle(followUpCountStyle);
@@ -551,6 +585,31 @@
        serviceSubtaskCountReq.setPageSize(null);
        List<ServiceSubtaskStatistic> sfStatistics = serviceSubtaskService.getSfStatistics(serviceSubtaskCountReq);
        return getDataTable4(CollectionUtils.isEmpty(sfStatistics) ? sfStatistics.size() : 0, serviceSubtaskService.getSfStatistics(serviceSubtaskCountReq));
    }
    /**
     * 获取专病随访统计比例
     */
    @ApiOperation("获取专病随访统计比例")
    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
    @PostMapping("/getSpecialSfStatistics")
    public Map<String, Object> getSpecialSfStatistics(@RequestBody ServiceSubtaskCountReq serviceSubtaskCountReq) {
        if (CollectionUtils.isEmpty(serviceSubtaskCountReq.getServiceType())) {
            return error("服务类型不能为空");
        }
        Integer offset = PageUtils.getOffset(serviceSubtaskCountReq.getPageNum(), serviceSubtaskCountReq.getPageSize());
        serviceSubtaskCountReq.setPageNum(offset);
        String followUpCountStyle = configService.selectConfigByKey("followUpCountStyle", serviceSubtaskCountReq.getOrgid());
        if (ObjectUtils.isNotEmpty(followUpCountStyle)) {
            serviceSubtaskCountReq.setFollowUpCountStyle(followUpCountStyle);
        } else {
            serviceSubtaskCountReq.setFollowUpCountStyle("1");
        }
        serviceSubtaskCountReq.setPageNum(null);
        serviceSubtaskCountReq.setPageSize(null);
        List<ServiceSubtaskStatistic> sfStatistics = serviceSubtaskService.getSpecialSfStatistics(serviceSubtaskCountReq);
        return getDataTable4(CollectionUtils.isEmpty(sfStatistics) ? sfStatistics.size() : 0, serviceSubtaskService.getSpecialSfStatistics(serviceSubtaskCountReq));
    }
    /**
@@ -824,4 +883,9 @@
    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);
    }
}