From 9526971c403417c1c007804f24884c443b9e6cd7 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 04 九月 2024 00:34:40 +0800 Subject: [PATCH] 代码提交 --- ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 150 insertions(+), 7 deletions(-) diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java index a28df21..b5cd718 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java @@ -1,21 +1,34 @@ package com.ruoyi.quartz.task; import com.alibaba.fastjson2.JSON; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.common.reflect.TypeToken; +import com.google.gson.JsonObject; +import com.google.gson.JsonArray; +import com.google.gson.Gson; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.enums.ServiceFromEnum; import com.ruoyi.common.utils.RSAPublicKeyExample; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.http.HttpUtils; import com.smartor.common.SendService; import com.smartor.domain.*; -import com.smartor.mapper.ServiceSubtaskMapper; import com.smartor.mapper.ServiceTaskMapper; import com.smartor.service.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.math.NumberUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; +import java.lang.reflect.Type; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.*; /** @@ -64,6 +77,18 @@ @Autowired IBaseSmsaccountService baseSmsaccountService; + @Autowired + IPatArchiveService patArchiveService; + + @Autowired + IPatMedInhospService patMedInhospService; + + @Autowired + IPatMedOuthospService patMedOuthospService; + + @Value("${hosp_info_url}") + private String hospInfoUrl; + public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) { System.out.println(StringUtils.format("鎵ц澶氬弬鏂规硶锛� 瀛楃涓茬被鍨媨}锛屽竷灏旂被鍨媨}锛岄暱鏁村瀷{}锛屾诞鐐瑰瀷{}锛屾暣褰}", s, b, l, d, i)); } @@ -100,7 +125,8 @@ */ public void dealHisData() { //灏嗘偅鑰呬俊鎭�佸嚭闄€�侀棬璇婃暟鎹叏閮ㄩ噰闆� - + getInHospInfo("0"); + getInHospInfo("1"); //璋冪敤dealOupHospInfo鏁版嵁澶勭悊鏂规硶锛屽鐞嗗畬鍚庯紝灏嗏�滃嚭闄㈣〃鐨刢heck_flag=1鈥� //鑾峰彇褰撳墠鏃ユ湡 锛堢簿纭埌澶╋級寰�鍓嶆帹鐩稿簲澶╂暟锛堝湪鎸囧畾鐨勫熀纭�妯℃澘涓壘瀵瑰簲鐨勫ぉ鏁帮級锛� @@ -115,13 +141,13 @@ */ public void longTaskSend() { //鑾峰彇浠诲姟淇℃伅 - ServiceTask st =new ServiceTask(); + ServiceTask st = new ServiceTask(); st.setDelFlag("0"); st.setLongTask(1); List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(st); for (ServiceTask serviceTask : serviceTasks) { //閫氳繃taskId,鑾峰彇鏈墽琛岀殑瀛愪换鍔′俊鎭� - ServiceSubtask serviceSubtask = new ServiceSubtask(); + ServiceSubtaskVO serviceSubtask = new ServiceSubtaskVO(); serviceSubtask.setTaskid(serviceTask.getTaskid()); serviceSubtask.setSendstate(2L); List<ServiceSubtask> selectServiceSubtaskList = iServiceSubtaskService.selectServiceSubtaskList(serviceSubtask); @@ -177,7 +203,7 @@ String descByCode = ServiceFromEnum.getDescByCode(Integer.valueOf(serviceFrom)); //杩欓噷鍙互鑰冭檻鐢ㄧ瓥鐣ユā寮忎紭鍖栦竴涓嬶紝涓嶇劧澶毦鐪嬩簡 //閫氳繃浠诲姟ID鎷垮埌鎮h�呬俊鎭� - ServiceSubtask ivrTaskcall = new ServiceSubtask(); + ServiceSubtaskVO ivrTaskcall = new ServiceSubtaskVO(); ivrTaskcall.setTaskid(commonTaskcallMQ.getTaskid()); List<ServiceSubtask> selectServiceSubtaskList = iServiceSubtaskService.selectServiceSubtaskList(ivrTaskcall); if (descByCode.equals("鐢佃瘽")) { @@ -192,7 +218,7 @@ if (commonTaskcallMQ.getSendType().equals("2")) { //璇存槑鏄珛鍗冲彂閫� String value = redisCache.getCacheObject("cache-0"); - ServiceSubtask serviceSubtask1 = new ServiceSubtask(); + ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO(); serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid()); List<ServiceSubtask> selectServiceSubtaskList1 = iServiceSubtaskService.selectServiceSubtaskList(serviceSubtask1); for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) { @@ -206,7 +232,7 @@ } else { //闈炵珛鍗冲彂閫� String value = redisCache.getCacheObject(key); - ServiceSubtask serviceSubtask1 = new ServiceSubtask(); + ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO(); serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid()); List<ServiceSubtask> selectServiceSubtaskList1 = iServiceSubtaskService.selectServiceSubtaskList(serviceSubtask1); for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) { @@ -297,6 +323,123 @@ } } + /** + * 鑾峰嚭闄㈡偅鑰呬俊鎭� + * cry 鍑哄叆闄細 0 鍏ラ櫌 1 鍑洪櫌 + */ + private void getInHospInfo(String cry) { + // 鑾峰彇褰撳墠鏃ユ湡鍜屾椂闂� + LocalDateTime currentDateTime = LocalDateTime.now(); + // 鑾峰彇鍓嶄竴澶╃殑鏃ユ湡鍜屾椂闂� + LocalDateTime previousDateTime = currentDateTime.minusDays(1); + // 瀹氫箟鏃ユ湡鏃堕棿鏍煎紡 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S"); + Map<String, String> req = new HashMap<>(); + if (cry.equals("1")) { + req.put("startTime", previousDateTime.format(formatter)); + req.put("endTime", currentDateTime.format(formatter)); + req.put("currStatus", "4"); + } else if (cry.equals("0")) { + req.put("admissStartDate", previousDateTime.format(formatter)); + req.put("admissEndDate", currentDateTime.format(formatter)); + req.put("currStatus", "2"); + } + Map<String, String> header = new HashMap<>(); + header.put("x-hcsb-serviceno", "IS002347"); + header.put("x-hcsb-version", "2.0"); + header.put("x-hcsb-sourcesyscode", "14"); + header.put("x-hcsb-token", "ArGE2JnHtxG/Zx5nrnGY4eOfMUJGGJokAJHigG1BrCY="); + header.put("x-hcsb-msgdate", currentDateTime.format(formatter)); + String result = HttpUtils.sendPostByHeader(hospInfoUrl, new Gson().toJson(req), header); + //鏁版嵁瑙f瀽 + Gson gson = new Gson(); + JsonObject jsonObject = gson.fromJson(result, JsonObject.class); + JsonArray resultArray = jsonObject.getAsJsonObject("data").getAsJsonArray("result"); + Type resultType = new TypeToken<List<ThiedInhospInfo>>() { + }.getType(); + List<ThiedInhospInfo> thiedInhospInfoList = gson.fromJson(resultArray, resultType); + if (CollectionUtils.isNotEmpty(thiedInhospInfoList)) { + for (ThiedInhospInfo thiedInhospInfo : thiedInhospInfoList) { + //閫氳繃韬唤璇佸彿鏌ヨ璇ユ偅鑰呭湪鎮h�呰〃鏄惁瀛樺湪 + PatArchive patArchive = new PatArchive(); + patArchive.setIdcardno(thiedInhospInfo.getPatiIdCardNo()); + List<PatArchive> patArchives = patArchiveService.selectPatArchiveList(patArchive); + if (CollectionUtils.isEmpty(patArchives)) { + patArchive.setPatientno(thiedInhospInfo.getPatiMediaNo()); + patArchive.setSourcefrom(2); + patArchive.setPattype("2"); + patArchive.setSex(thiedInhospInfo.getPatiRecordGender().equals("鐢�") ? 1L : 2L); + patArchive.setNation(thiedInhospInfo.getPatiNation()); + patArchive.setNativePlace(thiedInhospInfo.getPatiNationality()); + patArchive.setPlaceOfResidence(thiedInhospInfo.getPatiHomeAddr()); + try { + if (StringUtils.isNotEmpty(thiedInhospInfo.getPatiBirthday())) + patArchive.setBirthdate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(thiedInhospInfo.getPatiBirthday())); + } catch (ParseException e) { + e.printStackTrace(); + } + String age = thiedInhospInfo.getAge().replaceAll("宀�", ""); + boolean creatable = NumberUtils.isCreatable(age); + if (creatable) patArchive.setAge(StringUtils.isNotEmpty(age) ? Long.valueOf(age) : null); + patArchive.setTelcode(thiedInhospInfo.getCompanyTelNum()); + patArchive.setRelativetelcode(thiedInhospInfo.getContactPersonPhone()); + patArchive.setDelFlag("0"); + patArchive.setCreateTime(new Date()); + patArchive.setUpdateTime(new Date()); + patArchive.setName(thiedInhospInfo.getPatiRecordName()); + patArchiveService.insertPatArchive(patArchive); + } + PatMedInhosp patMedInhosp = new PatMedInhosp(); + patMedInhosp.setPatid(patArchive.getId()); + patMedInhosp.setPatno(patArchive.getPatientno()); + patMedInhosp.setPatname(patArchive.getName()); + patMedInhosp.setSerialnum(thiedInhospInfo.getInpatientId()); + if (cry.equals("0")) { + patMedInhosp.setInhospstate("0"); + } else if (cry.equals("1")) { + patMedInhosp.setInhospstate("1"); + } + patMedInhosp.setHospitalcode(thiedInhospInfo.getAreaId()); + patMedInhosp.setIcd10code(thiedInhospInfo.getDiagIcd10()); + patMedInhosp.setDiagname(thiedInhospInfo.getDiagName()); + try { + if (StringUtils.isNotEmpty(thiedInhospInfo.getAdmissDate())) + patMedInhosp.setStarttime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(thiedInhospInfo.getAdmissDate())); + } catch (ParseException e) { + e.printStackTrace(); + } + try { + if (StringUtils.isNotEmpty(thiedInhospInfo.getOutDate())) + patMedInhosp.setEndtime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(thiedInhospInfo.getOutDate())); + } catch (ParseException e) { + e.printStackTrace(); + } + patMedInhosp.setDeptcode(thiedInhospInfo.getAdmissDeptId()); + patMedInhosp.setDeptid(thiedInhospInfo.getAdmissDeptId()); + patMedInhosp.setDeptname(thiedInhospInfo.getAdmissDeptName()); + patMedInhosp.setBedNo(thiedInhospInfo.getAdmissBedNo()); + patMedInhosp.setDelFlag("0"); + patMedInhosp.setLeaveldeptcode(thiedInhospInfo.getCurrWardId()); + patMedInhosp.setLeaveldeptname(thiedInhospInfo.getCurrWardName()); + patMedInhosp.setLeavediagname(thiedInhospInfo.getDiagName()); + patMedInhosp.setLeaveicd10code(thiedInhospInfo.getDiagIcd10()); + patMedInhosp.setDrname(thiedInhospInfo.getDoctName()); + if (cry.equals("0")) { + patMedInhosp.setSchemestatus(1L); + } else if (cry.equals("1")) { + patMedInhosp.setSchemestatus(2L); + } + patMedInhosp.setLeavehospitaldistrictcode(thiedInhospInfo.getCurrWardId()); + patMedInhosp.setLeavehospitaldistrictid(thiedInhospInfo.getCurrWardId()); + patMedInhosp.setLeavehospitaldistrictname(thiedInhospInfo.getCurrWardName()); + patMedInhosp.setLeaveldeptid(thiedInhospInfo.getCurrDeptId()); + patMedInhospService.insertPatMedInhosp(patMedInhosp); + + } + } + } + + private String getKey() { Map<String, String> map = new HashMap<>(); for (int i = 0; i < 6; i++) { -- Gitblit v1.9.3