| | |
| | | import com.ruoyi.system.service.ISysUserService; |
| | | import com.ruoyi.message.sms.provider.sltd.ws.MessageSend; |
| | | import com.smartor.common.QwenLLMUtil; |
| | | import com.smartor.common.SpecificArchiveConstants; |
| | | import com.smartor.domain.*; |
| | | import com.ruoyi.task.domain.VO.ServiceSubtaskDetailTraceVO; |
| | | import com.smartor.mapper.*; |
| | |
| | | Optional<Long> currentSort = serviceSubtaskPreachforms.stream().filter(item -> serviceSubtask.getCurrentPreachform().equals(item.getPreachform())).map(ServiceSubtaskPreachform::getSort).findFirst(); |
| | | Optional<Long> id = serviceSubtaskPreachforms.stream().filter(item -> serviceSubtask.getCurrentPreachform().equals(item.getPreachform())).map(ServiceSubtaskPreachform::getId).findFirst(); |
| | | if (currentSort.isPresent()) { |
| | | // 方案B:只处理当前子任务——公众号已领取(service_subtask.sendstate=1 + current_preachform=5) |
| | | // 且未填写时,按默认选项完成,避免进入下一种发送方式或最后一步超时。 |
| | | // 先用内存字段快速过滤,其他医院/任务/发送方式不会进入下面的默认完成逻辑。 |
| | | if (IServiceSubtaskService.WECHAT_DEFAULT_COMPLETE_ORGID.equals(serviceSubtask.getOrgid()) |
| | | && "2".equals(serviceSubtask.getType()) |
| | | && "5".equals(serviceSubtask.getCurrentPreachform()) |
| | | && Long.valueOf(1L).equals(serviceSubtask.getSendstate()) |
| | | && !Long.valueOf(1L).equals(serviceSubtask.getSubmit())) { |
| | | try { |
| | | if (iServiceSubtaskService.completeWechatClaimedByDefault(serviceSubtask)) { |
| | | log.info("【compensateTask】subid:{},微信公众号已领取未填写,按默认选项完成", serviceSubtask.getId()); |
| | | continue; |
| | | } |
| | | } catch (Exception e) { |
| | | // 单个子任务失败不影响其他任务,回滚后继续原补偿流程 |
| | | log.error("【compensateTask】微信公众号默认完成失败,subid:{},继续原补偿流程", serviceSubtask.getId(), e); |
| | | } |
| | | } |
| | | |
| | | //1先检查一下,是不是有执行状态是完成的(怕之前已经有完的了,没有将servuce_subtask的状态改成功,这里再检查一下) |
| | | boolean finishState = serviceSubtaskPreachforms.stream().allMatch(item -> item.getSendstate().equals("9")); |
| | | if (finishState) { |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 采集丽水市妇幼保健院门诊接诊完成记录,并按配置生成妇科/儿科档案。 |
| | | * 定时任务默认采集昨天 00:00:00 ~ 今天 00:00:00。 |
| | | */ |
| | | public void collectMchArchive() { |
| | | try { |
| | | LocalDateTime todayZero = LocalDateTime.now().with(LocalTime.MIN); |
| | | LocalDateTime yesterdayZero = todayZero.minusDays(1); |
| | | Date startTime = Date.from(yesterdayZero.atZone(ZoneId.systemDefault()).toInstant()); |
| | | Date endTime = Date.from(todayZero.atZone(ZoneId.systemDefault()).toInstant()); |
| | | log.info("【collectMchArchive】开始采集丽水妇幼门诊接诊完成记录"); |
| | | ichService.collectMchOuthospAndGenerateArchive( |
| | | SpecificArchiveConstants.LISHUI_MCH_ORG_ID, startTime, endTime); |
| | | log.info("【collectMchArchive】丽水妇幼门诊接诊完成记录采集结束"); |
| | | } catch (Exception e) { |
| | | log.error("【collectMchArchive】丽水妇幼门诊接诊完成记录采集异常", e); |
| | | } |
| | | } |
| | | |
| | | public void collectHISYesterday() { |
| | | try { |
| | | // 获取昨天0点到今天0点的时间范围 |