陈昶聿
4 天以前 90b39ba9d337721cd6c052510a9124ff539c5770
【市一】指标统计 超链接
已修改14个文件
94 ■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/BaseDictOperation.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/PatMedOperationItem.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailVO.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/ServiceTaskoper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/IPatMedInhospService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/IServiceSubtaskDetailService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java
@@ -246,4 +246,14 @@
            }
        }
    }
    /**
     * 处理患者信息,进入子任务表
     */
    @ApiOperation("addOperationSubTask")
    @PostMapping("/addOperationSubTask")
    public void addOperationSubTask() {
        String config = configService.selectConfigByKey("visit.early.day");
        iPatMedInhospService.addOperationSubTask(config);
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java
@@ -4,8 +4,10 @@
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.service.ISysConfigService;
import com.smartor.domain.*;
import com.smartor.domain.DTO.ServiceSubtaskDetailDTO;
import com.smartor.service.IServiceSubtaskDetailService;
@@ -17,6 +19,8 @@
import org.springframework.web.bind.annotation.*;
import java.util.*;
import static com.ruoyi.framework.datasource.DynamicDataSourceContextHolder.log;
/**
 * 语音任务结果明细Controller
@@ -32,6 +36,9 @@
    private IServiceSubtaskDetailService ServiceSubtaskDetailService;
    @Autowired
    private IServiceSubtaskService serviceSubtaskService;
    @Autowired
    private ISysConfigService configService;
    /**
     * 查询单个人的语音信息
@@ -156,11 +163,33 @@
    /**
     * 获取随访详情-指标详情(超链接)
     */
    @ApiOperation("获取随访详情-指标详情(超链接)")
    @ApiOperation("获取随访详情-指标详情")
    @PostMapping("/getServiceSubtaskDetails")
    public List<Map<String, Object>> getServiceSubtaskDetails(@RequestBody ServiceSubtaskDetailVO serviceSubtaskDetailVO) {
        List<Map<String, Object>> map = new ArrayList<>();
        map = ServiceSubtaskDetailService.getServiceSubtaskDetails(serviceSubtaskDetailVO);
        return map;
    }
    /**
     * 获取随访详情-指标详情(超链接)
     */
    @ApiOperation("获取随访详情-指标详情(超链接)")
    @PostMapping("/getServiceSubtaskDetailsHyperlink")
    public List<Map<String, Object>> getServiceSubtaskDetailsHyperlink(@RequestBody ServiceSubtaskDetailVO serviceSubtaskDetailVO) {
        LoginUser loginUser = getLoginUser();
        String orgid = loginUser.getUser().getOrgid();
        String configKey = serviceSubtaskDetailVO.getConfigKey();
        if (StringUtils.isNotEmpty(configKey)) {
            String configValue = configService.selectConfigByKey(configKey, orgid);
            serviceSubtaskDetailVO.setConfigValue(configValue);
            if (StringUtils.isEmpty(configValue)) {
                String logInfo = "getSfStatisticsCount-参数 " + configKey + " 未配置, 请配置好后重试";
                log.error(logInfo);
            }
        }
        List<Map<String, Object>> map = new ArrayList<>();
        map = ServiceSubtaskDetailService.getServiceSubtaskDetails(serviceSubtaskDetailVO);
        return map;
    }
}
ruoyi-admin/src/main/resources/application.yml
@@ -69,6 +69,7 @@
# Spring配置
spring:
  datasource:
  # 资源信息
  messages:
    # 国际化资源文件路径
ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java
@@ -381,7 +381,7 @@
        PatMedOperationItem patMedOperationItem = new PatMedOperationItem();
        patMedOperationItem.setOrgid(operation.getOrgid());
        if(StringUtils.isNotEmpty(operation.getOpid())){
            patMedOperationItem.setOpid(Long.valueOf(operation.getOpid()));
            patMedOperationItem.setOpid(operation.getOpid());
            patMedOperationItem.setLastStartTime(operation.getLastStartTime());
            patMedOperationItem.setLastEndTime(operation.getLastEndTime());
            List<PatMedOperationItem> patMedOperationItems = chMapper.selectOperItemList(patMedOperationItem);
ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
@@ -922,7 +922,6 @@
               oi.pguid,
               oi.guid,
               oi.pid,
               oi.opercheck_flag,
               oi.long_task_reason,
               oi.last_Update_Time
        from HEALTHY_PAT_MED_OPERATION_ITEM oi
@@ -934,10 +933,10 @@
            AND oi.opid = #{opid}
        </if>
        <if test="lastStartTime != null and lastStartTime != ''">
            and last_Update_Time &gt;= to_date(#{lastStartTime}, 'YYYY-MM-DD HH24:MI:SS')
            and oi.last_Update_Time &gt;= to_date(#{lastStartTime}, 'YYYY-MM-DD HH24:MI:SS')
        </if>
        <if test="lastEndTime != null and lastEndTime != ''">
            and last_Update_Time &lt;= to_date(#{lastEndTime}, 'YYYY-MM-DD HH24:MI:SS')
            and oi.last_Update_Time &lt;= to_date(#{lastEndTime}, 'YYYY-MM-DD HH24:MI:SS')
        </if>
    </select>
</mapper>
smartor/src/main/java/com/smartor/domain/BaseDictOperation.java
@@ -32,7 +32,7 @@
     */
    @ApiModelProperty("his手术id")
    @Excel(name = "his手术id")
    private Long opid;
    private String opid;
    /**
     * 手术名称ID
smartor/src/main/java/com/smartor/domain/PatMedOperationItem.java
@@ -39,7 +39,7 @@
     */
    @ApiModelProperty("手术id")
    @Excel(name = "手术id")
    private Long opid;
    private String opid;
    /**
     * 手术名称ID
smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailVO.java
@@ -201,6 +201,15 @@
    @ApiModelProperty("问题维度")
    private String dimension;
    @ApiModelProperty(value = "查询参数 joyCount-满意度统计; returnVisitCount-复诊统计")
    private String configKey;
    @ApiModelProperty(value = "查询参数对应值 joyCount-满意度统计; returnVisitCount-复诊统计")
    private String configValue;
    @ApiModelProperty(value = "是否填报 0-全部 1-已填报")
    private String isFilled;
    /**
     * 出院病区编号
     */
smartor/src/main/java/com/smartor/domain/ServiceTaskoper.java
@@ -57,7 +57,7 @@
     */
    @ApiModelProperty("手术id")
    @Excel(name = "手术id")
    private Long opid;
    private String opid;
    /**
     * 手术编码
smartor/src/main/java/com/smartor/service/IPatMedInhospService.java
@@ -115,4 +115,12 @@
     * @return
     */
    public List<PatMedInhosp> getDocAndPat(PatMedInhosp patMedInhosp);
    /**
     * 处理从his取来的手术信息
     *
     * @param
     * @return 结果
     */
    public void addOperationSubTask(String config);
}
smartor/src/main/java/com/smartor/service/IServiceSubtaskDetailService.java
@@ -31,7 +31,6 @@
    public Map<String, Object> selectServiceSubtaskDetailList(ServiceSubtaskDetail serviceSubtaskDetail);
    public List<Map<String, Object>> getServiceSubtaskDetails(ServiceSubtaskDetailVO serviceSubtaskDetailVo);
    /**
     * 新增语音任务呼叫明细
     *
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -788,9 +788,14 @@
        if (Objects.isNull(patMedOperationItem.getOplevelcode())) {
            return;
        }
        PatMedOperation patMedOperation = patMedOperationMapper.selectPatMedOperationById(patMedOperationItem.getOpid());
        if (Objects.isNull(patMedOperation)) {
        PatMedOperation patMedOperationVo = new PatMedOperation();
        PatMedOperation patMedOperation = new PatMedOperation();
        patMedOperationVo.setOpid(patMedOperationItem.getOpid());
        List<PatMedOperation> patMedOperationList = patMedOperationMapper.selectPatMedOperationList(patMedOperationVo);
        if (CollectionUtils.isEmpty(patMedOperationList)) {
            return;
        }else {
            patMedOperation = patMedOperationList.get(0);
        }
        PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOperation.getPatid());
        if (Objects.isNull(patArchive)) {
@@ -1167,7 +1172,8 @@
        }
    }
    private void addOperationSubTask(String config) {
    @Override
    public void addOperationSubTask(String config) {
        //            手术随访
        PatMedOperationItem pmoi = new PatMedOperationItem();
        //获取需要出院疾病随访,未处理的数据
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1423,7 +1423,7 @@
            Boolean addMianTableFalg = true;
            for (ExternalOperationDetail externalOperationDetail : externalOperationDetails) {
                PatMedOperationItem patMedOperationItem = new PatMedOperationItem();
                patMedOperationItem.setOpid(patMedOperation.getId());
                patMedOperationItem.setOpid(patMedOperation.getOpid());
                patMedOperationItem.setOpcode(externalOperationDetail.getShouShuMCID());
                patMedOperationItem.setOpdesc(externalOperationDetail.getShouShuMC());
                patMedOperationItem.setMainFlag(externalOperationDetail.getZhuShouSBZ());
smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailMapper.xml
@@ -240,6 +240,13 @@
                #{scriptId}
            </foreach>
        </if>
        <if test="isFilled != null and isFilled != '0'">
            AND IFNULL(ssd.matchedtext,ssd.asrtext) is not null
            AND IFNULL(ssd.matchedtext,ssd.asrtext) != ''
        </if>
        <if test="configValue != null and configValue != ''">
            AND ssd.categoryid IN (${configValue})
        </if>
        order by ssd.sub_id desc, ssd.id desc
    </select>
    <select id="selectServiceSubtaskDetailByCalldetailid" parameterType="String" resultMap="ServiceSubtaskDetailResult">