liusheng
2025-03-18 7469d35bf8a8f86dab3abc056eae8417fb88482d
smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java
@@ -6,6 +6,7 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.enums.HospTypeEnum;
import com.ruoyi.common.enums.ServiceTaskTypeEnum;
import com.ruoyi.common.enums.TaskTypeEnum;
@@ -52,6 +53,9 @@
    @Autowired
    private BaseOrganizationMapper baseOrganizationMapper;
    @Autowired
    private RedisCache redisCache;
    @Override
    public int insertOrUpdateSvyTask(ServiceTaskVO serviceTaskVO) {
@@ -97,9 +101,35 @@
                serviceTask.setSendTimeSlot(JSON.toJSONString(serviceTaskVO.getSendTimeslot()));
            //修改操作,需要将stopState状态+1
            ServiceTask serviceTask2 = iServiceTaskService.selectServiceTaskByTaskid(serviceTaskVO.getTaskid());
            serviceTask2.setStopState(serviceTask.getStopState() + 1);
//            serviceTask2.setStopState(serviceTask.getStopState() + 1);
            serviceTask2.setTemplateid(Long.valueOf(serviceTaskVO.getLibtemplateid()));
            iServiceTaskService.updateServiceTask(serviceTask2);
            //获取到该任务所有的服务,并从队列里删除
            ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
            serviceSubtaskVO.setTaskid(serviceTask2.getTaskid());
            serviceSubtaskVO.setSendstate(2L);
            List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
            serviceSubtaskVO.setSendstate(1L);
            List<ServiceSubtask> serviceSubtaskList1 = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
            if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
                if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList.addAll(serviceSubtaskList1);
            } else {
                if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList = serviceSubtaskList1;
            }
            if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
                for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
                    log.error("insertOrUpdateSvyTask需要移除的subId为:{}", serviceSubtask.getId().toString());
                    serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
                    redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
                    redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
                    redisCache.removeElementFromList("cache-1", serviceSubtask.getId().toString());
                    redisCache.removeElementFromList("cache-2", serviceSubtask.getId().toString());
                    redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
                    redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
                }
            }
            if (CollectionUtils.isNotEmpty(serviceTaskVO.getPatTaskRelevances())) {
                for (PatTaskRelevance patTaskRelevance : serviceTaskVO.getPatTaskRelevances()) {
@@ -172,7 +202,7 @@
                patTaskRelevance.setSfzh(serviceSubtask1.getSfzh());
                patTaskRelevance.setPhone(serviceSubtask1.getPhone());
                patTaskRelevance.setAddr(serviceSubtask1.getAddr());
                patTaskRelevance.setDiagname(serviceSubtask1.getDiagname());
                patTaskRelevance.setDiagname(serviceSubtask1.getLeavediagname());
                patTaskRelevance.setPatid(serviceSubtask1.getPatid());
                patTaskRelevance.setSendStatus(serviceSubtask1.getSendstate());
                patTaskRelevances.add(patTaskRelevance);
@@ -186,7 +216,7 @@
                patTaskRelevance.setAddr(serviceSubtask1.getAddr());
                patTaskRelevance.setDeptName(serviceSubtask1.getDeptname());
                patTaskRelevance.setBedNo(serviceSubtask1.getBedNo());
                patTaskRelevance.setDiagname(serviceSubtask1.getDiagname());
                patTaskRelevance.setDiagname(serviceSubtask1.getLeavediagname());
                patTaskRelevance.setPatid(serviceSubtask1.getPatid());
                patTaskRelevance.setSendStatus(serviceSubtask1.getSendstate());
                patTaskRelevances.add(patTaskRelevance);
@@ -234,6 +264,7 @@
        serviceSubtask.setEndtime(serviceTaskVO.getFinishtime());
        serviceSubtask.setResult(serviceTaskVO.getResult());
        serviceSubtask.setSuggest(serviceTaskVO.getSuggest());
        serviceSubtask.setDelFlag(serviceTaskVO.getDelflag());
        serviceSubtask.setOrgid(serviceTaskVO.getOrgguid());
        serviceSubtask.setPatid(serviceTaskVO.getPatguid());
        serviceSubtask.setSendname(serviceTaskVO.getPatname());
@@ -255,13 +286,17 @@
        serviceSubtask.setRoomno(serviceTaskVO.getRoomno());
        serviceSubtask.setBedNo(serviceTaskVO.getBedno());
        serviceSubtask.setDeptname(serviceTaskVO.getDeptname());
        serviceSubtask.setDeptcode(serviceTaskVO.getDeptcode());
        serviceSubtask.setSendstate(1L);
        serviceSubtask.setCreateTime(new Date());
        serviceSubtask.setLeavehospitaldistrictcode(serviceTaskVO.getDistrictcode());
        //先查询一遍,该taskGuid是否存在
        ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
        serviceSubtaskVO.setTaskGuid(serviceTaskVO.getGuid());
        serviceSubtaskVO.setTaskGuid(serviceTaskVO.getTaskguid());
        List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
        if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
            serviceSubtask.setId(serviceSubtaskList.get(0).getId());
            serviceSubtask.setUpdateTime(new Date());
            serviceSubtaskMapper.updateServiceSubtaskByTaskGuid(serviceSubtask);
        } else {
            serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
@@ -295,7 +330,6 @@
        List<BaseOrganization> baseOrganizations = baseOrganizationMapper.selectBaseOrganizationList(baseOrganization);
        if (CollectionUtils.isNotEmpty(baseOrganizations)) {
            YongHuXX yongHuXX = serviceQueryInfo.getYeWuXX().getYongHuXX();
            yongHuXX.setYongHuID(baseOrganizations.get(0).getOrgid());
            yongHuXX.setZuZhiJGID(baseOrganizations.get(0).getGuid());
            yongHuXX.setZuZhiJGMC(baseOrganizations.get(0).getOrganizationName());
            serviceQueryInfo.getYeWuXX().setYongHuXX(yongHuXX);
@@ -313,11 +347,15 @@
        try {
            String jsonString = objectMapper.writeValueAsString(serviceQueryInfo);
            log.error("token的值为:{}", token);
            result = OkHttpExample.sendPostRequest("https://9.0.124.84:13021/mediinfo-grus-fuwuzxwg/api/esb/lyraSyncRun", jsonString, token);
            result = OkHttpExample.sendPostRequest("https://9.0.124.104:13021/mediinfo-grus-fuwuzxwg/api/esb/lyraSyncRun", jsonString, token);
            map = objectMapper.readValue(result, Map.class);
        } catch (Exception e) {
            e.printStackTrace();
        }
        Integer code = (Integer) map.get("code");
        if (code != null && code == 0) {
            map.put("code", 200);
        }
        return map;
    }