| | |
| | | if (failSendstate.equals("4") || failSendstate.equals("5")) { |
| | | serviceSubtask.setCurrentPreachform(preachform); |
| | | serviceSubtask.setSendstate(7L); |
| | | serviceSubtask.setFinishtime(null); |
| | | serviceSubtask.setRemark("处理补偿任务,当前处理最后补偿,全部执行失败(超时)"); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | return true; |
| | |
| | | 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; |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.*; |
| | | |
| | | import static com.ruoyi.framework.datasource.DynamicDataSourceContextHolder.log; |
| | | |
| | | /** |
| | | * 语音任务结果明细Controller |
| | |
| | | private IServiceSubtaskDetailService ServiceSubtaskDetailService; |
| | | @Autowired |
| | | private IServiceSubtaskService serviceSubtaskService; |
| | | |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | |
| | | /** |
| | | * 查询单个人的语音信息 |
| | |
| | | /** |
| | | * 获取随访详情-指标详情(超链接) |
| | | */ |
| | | @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; |
| | | } |
| | | } |
| | |
| | | |
| | | import java.util.List; |
| | | |
| | | import com.github.pagehelper.ISelect; |
| | | import com.ruoyi.common.annotation.AddOrgId; |
| | | import com.ruoyi.common.utils.PageUtils; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | |
| | | @Api("任务执行规则") |
| | | @RestController |
| | | @RequestMapping("/smartor/taskrule") |
| | | public class ServiceTaskRuleController extends BaseController |
| | | { |
| | | public class ServiceTaskRuleController extends BaseController { |
| | | @Autowired |
| | | private IServiceTaskRuleService serviceTaskRuleService; |
| | | |
| | |
| | | //@PreAuthorize("@ss.hasPermi('smartor:rule:list')") |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("/list") |
| | | public TableDataInfo list(@RequestBody ServiceTaskRule serviceTaskRule) |
| | | { |
| | | startPage(); |
| | | public TableDataInfo list(@RequestBody ServiceTaskRule serviceTaskRule) { |
| | | PageUtils.startPageByPost(serviceTaskRule.getPageNum(), serviceTaskRule.getPageSize()); |
| | | List<ServiceTaskRule> list = serviceTaskRuleService.selectServiceTaskRuleList(serviceTaskRule); |
| | | return getDataTable(list); |
| | | |
| | | if (CollectionUtils.isNotEmpty(list)) { |
| | | //获取total |
| | | long total = PageUtils.count(new ISelect() { |
| | | @Override |
| | | public void doSelect() { |
| | | serviceTaskRule.setPageNum(null); |
| | | serviceTaskRule.setPageSize(null); |
| | | serviceTaskRuleService.selectServiceTaskRuleList(serviceTaskRule); |
| | | } |
| | | }); |
| | | |
| | | return getDataTable2(total, list); |
| | | } |
| | | return getDataTable2(0, list); |
| | | } |
| | | |
| | | /** |
| | |
| | | //@PreAuthorize("@ss.hasPermi('smartor:rule:export')") |
| | | @Log(title = "任务执行规则", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, ServiceTaskRule serviceTaskRule) |
| | | { |
| | | public void export(HttpServletResponse response, ServiceTaskRule serviceTaskRule) { |
| | | List<ServiceTaskRule> list = serviceTaskRuleService.selectServiceTaskRuleList(serviceTaskRule); |
| | | ExcelUtil<ServiceTaskRule> util = new ExcelUtil<ServiceTaskRule>(ServiceTaskRule.class); |
| | | util.exportExcel(response, list, "任务执行规则数据"); |
| | |
| | | @ApiOperation("获取任务执行规则详细信息") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:rule:query')") |
| | | @GetMapping(value = "/getInfo/{id}") |
| | | public AjaxResult getInfo(@PathVariable("id") Long id) |
| | | { |
| | | public AjaxResult getInfo(@PathVariable("id") Long id) { |
| | | return success(serviceTaskRuleService.selectServiceTaskRuleById(id)); |
| | | } |
| | | |
| | |
| | | @Log(title = "任务执行规则", businessType = BusinessType.INSERT) |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("/add") |
| | | public AjaxResult add(@RequestBody ServiceTaskRule serviceTaskRule) |
| | | { |
| | | public AjaxResult add(@RequestBody ServiceTaskRule serviceTaskRule) { |
| | | return toAjax(serviceTaskRuleService.insertServiceTaskRule(serviceTaskRule)); |
| | | } |
| | | |
| | |
| | | @Log(title = "任务执行规则", businessType = BusinessType.UPDATE) |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("/edit") |
| | | public AjaxResult edit(@RequestBody ServiceTaskRule serviceTaskRule) |
| | | { |
| | | public AjaxResult edit(@RequestBody ServiceTaskRule serviceTaskRule) { |
| | | return toAjax(serviceTaskRuleService.updateServiceTaskRule(serviceTaskRule)); |
| | | } |
| | | |
| | |
| | | @ApiOperation("删除任务执行规则") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:rule:remove')") |
| | | @Log(title = "任务执行规则", businessType = BusinessType.DELETE) |
| | | @GetMapping("/remove/{ids}") |
| | | public AjaxResult remove(@PathVariable Long[] ids) |
| | | { |
| | | @GetMapping("/remove/{ids}") |
| | | public AjaxResult remove(@PathVariable Long[] ids) { |
| | | return toAjax(serviceTaskRuleService.deleteServiceTaskRuleByIds(ids)); |
| | | } |
| | | } |
| | |
| | | |
| | | # Spring配置 |
| | | spring: |
| | | datasource: |
| | | # 资源信息 |
| | | messages: |
| | | # 国际化资源文件路径 |
| | | basename: i18n/messages |
| | | profiles: |
| | | active: druid |
| | | active: ls |
| | | |
| | | # 文件上传 |
| | | servlet: |
| | |
| | | serviceSLTDInhospReqVO.setStartTailTime(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); |
| | | } |
| | | List<String> listStr = new ArrayList<>(); |
| | | listStr.add("FH0109.26"); |
| | | listStr.add("FH0109.24"); |
| | | serviceSLTDInhospReqVO.setStatusList(listStr); |
| | | log.info("【dealHisData】省立同德“入院”采集数据入参:{}", serviceSLTDInhospReqVO); |
| | | serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO); |
| | | log.info("【dealHisData】省立同德“入院”結束采集数据,院区:{}", cid); |
| | | |
| | | // 门急诊分页采集:每页1000条,直到无数据为止(南华附一的先不采门急诊数据) |
| | | // if (active.trim().equals("sltd")) { |
| | | // log.info("【dealHisData】省立同德“门急诊”开始分页采集数据,院区:{}", cid); |
| | | // serviceSLTDInhospReqVO.setStartHeadTime(null); |
| | | // serviceSLTDInhospReqVO.setStartTailTime(null); |
| | | // serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime); |
| | | // serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime); |
| | | // if (active.trim().equals("nhfy")) { |
| | | // serviceSLTDInhospReqVO.setEncounterTimeStart(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); |
| | | // serviceSLTDInhospReqVO.setEncounterTimeEnd(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); |
| | | // } |
| | | // serviceSLTDInhospReqVO.setStatusList(null); |
| | | // List<String> list1 = new ArrayList<>(); |
| | | // list1.add("FH0108.01"); |
| | | // list1.add("FH0108.03"); |
| | | // serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list1); |
| | | // long outpPage = 1L; |
| | | // final long OUTP_PAGE_SIZE = 1000L; |
| | | // while (true) { |
| | | // serviceSLTDInhospReqVO.setCurrent(outpPage); |
| | | // serviceSLTDInhospReqVO.setSize(OUTP_PAGE_SIZE); |
| | | // log.info("【dealHisData】省立同德“门急诊”采集第{}页数据,院区:{}", outpPage, cid); |
| | | // List<ServiceSLTDInhospResDTO> outpResult = serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO); |
| | | // if (CollectionUtils.isEmpty(outpResult)) { |
| | | // log.info("【dealHisData】省立同德“门急诊”第{}页无数据,采集结束,院区:{}", outpPage, cid); |
| | | // break; |
| | | // } |
| | | // log.info("【dealHisData】省立同德“门急诊”第{}页采集{}条,院区:{}", outpPage, outpResult.size(), cid); |
| | | // if (outpResult.size() < OUTP_PAGE_SIZE) { |
| | | // break; |
| | | // } |
| | | // outpPage++; |
| | | // } |
| | | // // 清除分页参数,避免影响后续出入院查询 |
| | | // serviceSLTDInhospReqVO.setCurrent(null); |
| | | // serviceSLTDInhospReqVO.setSize(null); |
| | | // log.info("【dealHisData】省立同德“门急诊”分页采集完成,院区:{}", cid); |
| | | // } |
| | | |
| | | log.info("【dealHisData】省立同德“出院”开始采集数据,院区:{}", cid); |
| | | serviceSLTDInhospReqVO.setStartHeadTime(null); |
| | |
| | | |
| | | } catch (Exception e) { |
| | | log.error("【dealHisData】省立同德数据采集异常", e); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * HIS省立同德门急诊数据采集(这个只能一天执行一次,不能半个小时执行一个,数据量太大,影响性能) |
| | | * 定时任务:门诊数据 |
| | | * todayZeroStr 当前的时间 例如:2026-05-06 00:00:00 |
| | | */ |
| | | public void dealHisDataMZ(String todayZeroStr) { |
| | | log.info("【dealHisData】门急诊数据开始执行HIS数据采集任务"); |
| | | // 获取昨天0点到今天0点的时间范围 |
| | | LocalDateTime todayZero = LocalDateTime.now().with(LocalTime.MIN); |
| | | if (StringUtils.isNotBlank(todayZeroStr)) { |
| | | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
| | | todayZero = LocalDateTime.parse(todayZeroStr, formatter); |
| | | } |
| | | LocalDateTime yesterdayZero = todayZero.minusDays(1); |
| | | |
| | | if (active.trim().equals("sltd") || active.trim().equals("nhfy")) { |
| | | //省立同德与华南附一用同一套采集方法(都是来未来提供) |
| | | try { |
| | | //获取省立同德要采集的院区 |
| | | SysConfig cf = new SysConfig(); |
| | | cf.setConfigKey("sltd.gather.campusid"); |
| | | cf.setOrgid("20001001"); |
| | | List<SysConfig> sysConfigcampusids = configService.selectConfigList(cf); |
| | | |
| | | List<Long> campusidList = new ArrayList<>(); |
| | | if (CollectionUtils.isNotEmpty(sysConfigcampusids)) { |
| | | String[] split = sysConfigcampusids.get(0).getConfigValue().split(","); |
| | | campusidList = Arrays.stream(split).map(Long::valueOf).collect(Collectors.toList()); |
| | | } else { |
| | | log.error("SysConfig中的院区ID为空!"); |
| | | return; |
| | | } |
| | | |
| | | // 省立同德数据采集 |
| | | for (Long cid : campusidList) { |
| | | String nowTime = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); |
| | | ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO(); |
| | | serviceSLTDInhospReqVO.setOrgId("20001001"); |
| | | serviceSLTDInhospReqVO.setCampusId(cid); |
| | | serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime); |
| | | serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime); |
| | | |
| | | // 门急诊分页采集:每页1000条,直到无数据为止(南华附一的先不采门急诊数据) |
| | | if (active.trim().equals("sltd")) { |
| | | log.info("【dealHisData】省立同德“门急诊”开始分页采集数据,院区:{}", cid); |
| | | serviceSLTDInhospReqVO.setStartHeadTime(null); |
| | | serviceSLTDInhospReqVO.setStartTailTime(null); |
| | | serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime); |
| | | serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime); |
| | | if (active.trim().equals("nhfy")) { |
| | | serviceSLTDInhospReqVO.setEncounterTimeStart(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); |
| | | serviceSLTDInhospReqVO.setEncounterTimeEnd(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); |
| | | } |
| | | serviceSLTDInhospReqVO.setStatusList(null); |
| | | List<String> list1 = new ArrayList<>(); |
| | | list1.add("FH0108.01"); |
| | | list1.add("FH0108.03"); |
| | | serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list1); |
| | | long outpPage = 1L; |
| | | final long OUTP_PAGE_SIZE = 1000L; |
| | | while (true) { |
| | | serviceSLTDInhospReqVO.setCurrent(outpPage); |
| | | serviceSLTDInhospReqVO.setSize(OUTP_PAGE_SIZE); |
| | | log.info("【dealHisData】省立同德“门急诊”采集第{}页数据,院区:{}", outpPage, cid); |
| | | List<ServiceSLTDInhospResDTO> outpResult = serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO); |
| | | if (CollectionUtils.isEmpty(outpResult)) { |
| | | log.info("【dealHisData】省立同德“门急诊”第{}页无数据,采集结束,院区:{}", outpPage, cid); |
| | | break; |
| | | } |
| | | log.info("【dealHisData】省立同德“门急诊”第{}页采集{}条,院区:{}", outpPage, outpResult.size(), cid); |
| | | if (outpResult.size() < OUTP_PAGE_SIZE) { |
| | | break; |
| | | } |
| | | outpPage++; |
| | | } |
| | | // 清除分页参数,避免影响后续出入院查询 |
| | | serviceSLTDInhospReqVO.setCurrent(null); |
| | | serviceSLTDInhospReqVO.setSize(null); |
| | | log.info("【dealHisData】省立同德“门急诊”分页采集完成,院区:{}", cid); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("【dealHisData】省立同德数据门急诊采集异常", e); |
| | | } |
| | | } |
| | | } |
| | |
| | | if (allSendStateNot1AndNot9) { |
| | | //说明全发送失败了 |
| | | serviceSubtask.setSendstate(7L); |
| | | serviceSubtask.setFinishtime(null); |
| | | log.error("getSendPreachform方法 检查是否所有sendstate不等于9, 全失败了"); |
| | | serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + "所有发送方式均未获取结果,任务失败(超时)" : "所有发送方式均未获取结果,任务失败(超时)"); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | |
| | | oi.pguid, |
| | | oi.guid, |
| | | oi.pid, |
| | | oi.opercheck_flag, |
| | | oi.long_task_reason, |
| | | oi.last_Update_Time |
| | | from HEALTHY_PAT_MED_OPERATION_ITEM oi |
| | |
| | | private String leavediagname; |
| | | |
| | | /** |
| | | * 入院诊断名称 |
| | | */ |
| | | @Excel(name = " 入院诊断名称") |
| | | @ApiModelProperty(value = "入院诊断名称") |
| | | private String diagname; |
| | | |
| | | /** |
| | | * 患者ID |
| | | */ |
| | | @Excel(name = " 患者ID") |
| | |
| | | @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; |
| | | |
| | | /** |
| | | * 出院病区编号 |
| | | */ |
| | |
| | | public Map<String, Object> selectServiceSubtaskDetailList(ServiceSubtaskDetail serviceSubtaskDetail); |
| | | |
| | | public List<Map<String, Object>> getServiceSubtaskDetails(ServiceSubtaskDetailVO serviceSubtaskDetailVo); |
| | | |
| | | /** |
| | | * 新增语音任务呼叫明细 |
| | | * |
| | |
| | | serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getHospitaldistrictname()); |
| | | } |
| | | serviceSubtask.setLeaveicd10code(patMedInhosp1.getLeaveicd10code()); |
| | | serviceSubtask.setLeavediagname(patMedInhosp1.getDiagname()); |
| | | serviceSubtask.setLeavediagname(patMedInhosp1.getLeavediagname()); |
| | | serviceSubtask.setDiagname(patMedInhosp1.getDiagname()); |
| | | serviceSubtask.setTemplateid(serviceTask.getTemplateid()); |
| | | serviceSubtask.setTemplatename(serviceTask.getTemplatename()); |
| | | serviceSubtask.setPatid(patArchive.getId()); |
| | |
| | | } |
| | | } |
| | | |
| | | } |
| | | //如果患者的入院和出院时间一致,可以不用随访(南华附一肿瘤一病区提出) |
| | | if (active.equals("nhfy") && patMedInhosp1.getStarttime() != null && patMedInhosp1.getEndtime() != null && DateUtils.differentDaysByMillisecond(patMedInhosp1.getStarttime(), patMedInhosp1.getEndtime()) == 0) { |
| | | serviceSubtask.setRemark("患者当天出院,不用随访"); |
| | | serviceSubtask.setResult("error"); |
| | | //不执行 |
| | | serviceSubtask.setSendstate(4L); |
| | | } |
| | | |
| | | //患者发送时间 |
| | |
| | | // —— 将=2的次要规则对应flag设为"2"(跳过) |
| | | log.info("【基于规则】首要规则有成功(count={}),将次要规则对应flag设为2", primaryGeneratedCount); |
| | | if (deptIsSecondary) { |
| | | updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark)?remark+";首要规则已生成,次要规则跳过":"首要规则已生成,次要规则跳过"); |
| | | updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark) ? remark + ";首要规则已生成,次要规则跳过" : "首要规则已生成,次要规则跳过"); |
| | | } |
| | | if (!active.equals("xh")) { |
| | | if (wardIsSecondary) { |
| | | updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark)?remark+";首要规则已生成,次要规则跳过":"首要规则已生成,次要规则跳过"); |
| | | updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark) ? remark + ";首要规则已生成,次要规则跳过" : "首要规则已生成,次要规则跳过"); |
| | | } |
| | | if (diagIsSecondary) { |
| | | updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark)?remark+";首要规则已生成,次要规则跳过":"首要规则已生成,次要规则跳过"); |
| | | updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark) ? remark + ";首要规则已生成,次要规则跳过" : "首要规则已生成,次要规则跳过"); |
| | | } |
| | | } |
| | | // —— 对于=1且生成成功的,将其对应flag设为"1" |
| | | if (deptIsPrimary && deptGenCount > 0) { |
| | | updateCheckFlag(patMedInhosp1, 1, "1", StringUtils.isNotEmpty(remark)?remark+";科室首要规则生成成功":"科室首要规则生成成功"); |
| | | updateCheckFlag(patMedInhosp1, 1, "1", StringUtils.isNotEmpty(remark) ? remark + ";科室首要规则生成成功" : "科室首要规则生成成功"); |
| | | } |
| | | if (!active.equals("xh")) { |
| | | if (wardIsPrimary && wardGenCount > 0) { |
| | | updateCheckFlag(patMedInhosp1, 2, "1", StringUtils.isNotEmpty(remark)?remark+";病区首要规则生成成功":"病区首要规则生成成功"); |
| | | updateCheckFlag(patMedInhosp1, 2, "1", StringUtils.isNotEmpty(remark) ? remark + ";病区首要规则生成成功" : "病区首要规则生成成功"); |
| | | } |
| | | if (diagIsPrimary && diagGenCount > 0) { |
| | | updateCheckFlag(patMedInhosp1, 3, "1", StringUtils.isNotEmpty(remark)?remark+";疾病首要规则生成成功":"疾病首要规则生成成功"); |
| | | updateCheckFlag(patMedInhosp1, 3, "1", StringUtils.isNotEmpty(remark) ? remark + ";疾病首要规则生成成功" : "疾病首要规则生成成功"); |
| | | } |
| | | } |
| | | // —— 对于=1但生成失败的,将其对应flag设为"2" |
| | | if (deptIsPrimary && deptGenCount == 0) { |
| | | updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark)?remark+";科室首要规则生成失败":"科室首要规则生成失败"); |
| | | updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark) ? remark + ";科室首要规则生成失败" : "科室首要规则生成失败"); |
| | | } |
| | | if (!active.equals("xh")) { |
| | | if (wardIsPrimary && wardGenCount == 0) { |
| | | updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark)?remark+";病区首要规则生成失败":"病区首要规则生成失败"); |
| | | updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark) ? remark + ";病区首要规则生成失败" : "病区首要规则生成失败"); |
| | | } |
| | | if (diagIsPrimary && diagGenCount == 0) { |
| | | updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark)?remark+";疾病首要规则生成失败":"疾病首要规则生成失败"); |
| | | updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark) ? remark + ";疾病首要规则生成失败" : "疾病首要规则生成失败"); |
| | | } |
| | | } |
| | | } else { |
| | | // 所有首要规则全部失败,将=1的flag设为"2",然后执行=2的方法 |
| | | log.info("【基于规则】首要规则全部失败,将=1的flag设为2,开始执行次要规则"); |
| | | if (deptIsPrimary) { |
| | | updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark)?remark+";科室首要规则全部失败":"科室首要规则全部失败"); |
| | | updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark) ? remark + ";科室首要规则全部失败" : "科室首要规则全部失败"); |
| | | } |
| | | if (!active.equals("xh")) { |
| | | if (wardIsPrimary) { |
| | | updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark)?remark+";病区首要规则全部失败":"病区首要规则全部失败"); |
| | | updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark) ? remark + ";病区首要规则全部失败" : "病区首要规则全部失败"); |
| | | } |
| | | if (diagIsPrimary) { |
| | | updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark)?remark+";疾病首要规则全部失败":"疾病首要规则全部失败"); |
| | | updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark) ? remark + ";疾病首要规则全部失败" : "疾病首要规则全部失败"); |
| | | } |
| | | } |
| | | // 执行次要规则(=2)的方法 |
| | |
| | | private String determineCry(ServiceSLTDInhospReqVO reqVO) { |
| | | if (CollectionUtils.isEmpty(reqVO.getStatusList())) return null; |
| | | |
| | | if (reqVO.getStatusList().contains("FH0109.26")) { |
| | | if (reqVO.getStatusList().contains("FH0109.24")) { |
| | | //入院 |
| | | return "0"; |
| | | } else if (reqVO.getStatusList().contains("FH0109.27")) { |
| | |
| | | log.info("【parseResponseData】门急诊数据已处理,跳过 type={}", type); |
| | | } |
| | | break; |
| | | case "FH0109.26": |
| | | case "FH0109.24": |
| | | log.info("【parseResponseData】解析住院数据"); |
| | | inHospitalDate(resultList, cry); |
| | | break; |
| | |
| | | #{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"> |
| | |
| | | <result property="wechat" column="wechat"/> |
| | | <result property="leaveicd10code" column="leaveicd10code"/> |
| | | <result property="leavediagname" column="leavediagname"/> |
| | | <result property="diagname" column="diagname"/> |
| | | <result property="deptname" column="deptname"/> |
| | | <result property="admindate" column="admindate"/> |
| | | <result property="roomno" column="roomno"/> |
| | |
| | | select id, |
| | | hosp_type, |
| | | task_guid, |
| | | diagname, |
| | | patfrom, |
| | | management_doctor, |
| | | management_doctor_code, |
| | |
| | | SUM(CASE WHEN sendstate = 5 THEN 1 ELSE 0 END) AS fssb, |
| | | SUM(CASE WHEN sendstate >= 3 OR sendstate = 1 THEN 1 ELSE 0 END) AS yfs, |
| | | SUM(CASE WHEN sendstate = 1 THEN 1 ELSE 0 END) AS blq, |
| | | SUM(CASE WHEN sendstate != 4 THEN 1 ELSE 0 END) AS wxsf, |
| | | SUM(CASE WHEN sendstate = 4 THEN 1 ELSE 0 END) AS xsf, |
| | | SUM(CASE WHEN sendstate = 4 THEN 1 ELSE 0 END) AS wxsf, |
| | | SUM(CASE WHEN sendstate != 4 THEN 1 ELSE 0 END) AS xsf, |
| | | SUM(CASE WHEN (sendstate = 1 OR sendstate = 2 OR sendstate = 3 OR sendstate = 5 OR sendstate = 7 ) THEN 1 ELSE 0 END) AS dsf, |
| | | SUM(CASE WHEN sendstate = 6 THEN 1 ELSE 0 END) AS ywc, |
| | | SUM(CASE WHEN excep IS NOT NULL AND excep = '1' THEN 1 ELSE 0 END) AS yc, |
| | |
| | | <select id="selectSvyTaskTemplateScriptList" parameterType="com.smartor.domain.SvyTaskTemplateScript" |
| | | resultMap="SvyTaskTemplateScriptResult"> |
| | | <include refid="selectSvyTaskTemplateScriptVo"/> |
| | | where 1=1 |
| | | where del_flag=0 |
| | | <if test="taskid != null ">and taskid = #{taskid}</if> |
| | | <if test="isMydException != null ">and is_myd_exception = #{isMydException}</if> |
| | | <if test="dimension != null ">and dimension = #{dimension}</if> |