| | |
| | | <project version="4"> |
| | | <component name="Encoding"> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-admin/src/main/java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskPreachformController.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-admin/src/main/resources" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/Hello.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/HelloResponse.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/I5GReply.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/I5GReplyResponse.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/I5GReport.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/I5GReportResponse.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/I5GSearchNumber.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/I5GSearchNumberResponse.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/I5GSend.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/I5GSendResponse.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/SMSGetNumberResponse.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/SMSGetTemplateList.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/SMSGetUserList.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/SMSGetUserListResponse.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/SMSSaveContent.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/SMSSaveContentResponse.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/SMSVerify.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/SMSVerifyPrivate.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/SMSVerifyPrivateResponse.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/SMSVerifyResponse.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java/com/ruoyi/common/dx/SmsServiceSoap.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-common/src/main/resources" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-framework/src/main/java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-framework/src/main/resources" charset="UTF-8" /> |
| | |
| | | <file url="file://$PROJECT_DIR$/ruoyi-system/src/main/java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/ruoyi-system/src/main/resources" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/smartor/src/main/java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/smartor/src/main/java/com/smartor/domain/ServiceSubtaskPreachform.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskPreachformMapper.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/smartor/src/main/java/com/smartor/service/IServiceSubtaskPreachformService.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskPreachformServiceImpl.java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/smartor/src/main/resources" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/smartor/src/main/resources/mapper/smartor/ServiceSubtaskPreachformMapper.xml" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" /> |
| | | <file url="PROJECT" charset="GBK" /> |
| | | </component> |
| | | </project> |
| | | </project> |
| | |
| | | <remote-repository> |
| | | <option name="id" value="central" /> |
| | | <option name="name" value="central" /> |
| | | <option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" /> |
| | | <option name="url" value="http://repo2.maven.org/maven2/" /> |
| | | </remote-repository> |
| | | <remote-repository> |
| | | <option name="id" value="central" /> |
| | | <option name="name" value="central" /> |
| | | <option name="url" value="http://repo2.maven.org/maven2/" /> |
| | | <option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" /> |
| | | </remote-repository> |
| | | <remote-repository> |
| | | <option name="id" value="jcenter" /> |
| | |
| | | <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" /> |
| | | </remote-repository> |
| | | </component> |
| | | </project> |
| | | </project> |
| | |
| | | <version>5.1.0</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.apache.commons</groupId> |
| | | <artifactId>commons-compress</artifactId> |
| | | <version>1.21</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>cn.easyproject</groupId> |
| | | <artifactId>orai18n</artifactId> |
| | | <version>12.1.0.2.0</version> |
| | |
| | | import com.google.gson.Gson; |
| | | import com.google.gson.GsonBuilder; |
| | | import com.ruoyi.common.core.redis.RedisCache; |
| | | import com.ruoyi.common.dx.MessageSend; |
| | | import com.ruoyi.common.enums.MsgLSEnum; |
| | | import com.ruoyi.common.enums.ServiceFromEnum; |
| | | import com.ruoyi.common.enums.WxGZHEnum; |
| | |
| | | import com.ruoyi.system.service.ISysConfigService; |
| | | import com.smartor.common.LSHospTokenUtil; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.mapper.HeLibraryMapper; |
| | | import com.smartor.mapper.PatArchiveMapper; |
| | | import com.smartor.mapper.ServiceSubtaskMapper; |
| | | import com.smartor.mapper.ServiceTaskMapper; |
| | | import com.smartor.mapper.*; |
| | | import com.smartor.service.IBaseSmsaccountService; |
| | | import com.smartor.service.IServiceOutPathService; |
| | | import com.smartor.service.IServiceSubtaskRecordService; |
| | |
| | | |
| | | import java.io.IOException; |
| | | import java.security.MessageDigest; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.*; |
| | | import java.util.concurrent.ExecutorService; |
| | | import java.util.concurrent.Executors; |
| | |
| | | @Autowired |
| | | private ServiceSubtaskMapper ivrTaskcallMapper; |
| | | |
| | | |
| | | @Autowired |
| | | private HeLibraryMapper heLibraryMapper; |
| | | |
| | |
| | | private ServiceSubtaskMapper serviceSubtaskMapper; |
| | | |
| | | @Autowired |
| | | private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper; |
| | | |
| | | @Autowired |
| | | private IServiceSubtaskRecordService serviceSubtaskRecordService; |
| | | |
| | | @Autowired |
| | | IBaseSmsaccountService baseSmsaccountService; |
| | | |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | |
| | | @Value("${xhsmsPath}") |
| | | private String xhsmsPath; |
| | |
| | | |
| | | @Value("${server.port}") |
| | | private String port; |
| | | |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | |
| | | // å建åºå®å¤§å°ççº¿ç¨æ± |
| | | private static final ExecutorService executorService = Executors.newFixedThreadPool(10); |
| | |
| | | //夿ä¸ä¸commonTaskcallMQä¸çstopstateæ¯å¦ä¸ivr_taskä¸çä¸è´ï¼ä¸ä¸è´ï¼åè¯´ææ¯æåäº |
| | | ServiceTask ivrTask1 = ivrTaskMapper.selectServiceTaskByTaskid(commonTaskcallMQ.getTaskid()); |
| | | |
| | | // if (ivrTask1.getStopState() != commonTaskcallMQ.getStopState()) { |
| | | // //å°æ¶æ¯ä»éåä¸åé¤ |
| | | // return; |
| | | // } |
| | | //éè¿ä»»å¡IDæ¿å°æ£è
ä¿¡æ¯ |
| | | ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); |
| | | serviceSubtaskVO.setTaskid(commonTaskcallMQ.getTaskid()); |
| | | serviceSubtaskVO.setSendstate(2L); |
| | | List<ServiceSubtask> selectServiceSubtaskList = ivrTaskcallMapper.selectServiceSubtaskList(serviceSubtaskVO); |
| | | |
| | | if (StringUtils.isNotEmpty(commonTaskcallMQ.getPreachform())) { |
| | | //å¦ä½ä»»å¡åéæ¹å¼ä¸ä¸ºç©º |
| | | String[] split = commonTaskcallMQ.getPreachform().split(","); |
| | | log.info("splitçå¼ä¸ºï¼{}", split); |
| | | for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { |
| | | //å
夿æ£è
æ¯ä¸æ¯è¿è¦åé |
| | | PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(serviceSubtask.getPatid()); |
| | | if (!Objects.isNull(patArchive) && patArchive.getNotrequiredFlag() == "1") { |
| | | //ä¸éè¦åé |
| | | serviceSubtask.setResult("æ£è
ä¸éè¦é访"); |
| | | serviceSubtask.setRemark(patArchive.getNotrequiredreason()); |
| | | serviceSubtask.setSendstate(4L); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | setFailPreachForm(serviceSubtask, "-1", "ä¸éè¦æ§è¡", "6"); |
| | | continue; |
| | | } |
| | | |
| | | //å®ä¹ä¸ä¸ªéåï¼ç¨ä¸åæ²¡ææ§è¡çåä»»å¡ID |
| | | List<Long> subIds = new ArrayList<>(); |
| | | //临æ¶åæ²¡ææ§è¡çåä»»å¡ID |
| | | List<Long> lssubIds = new ArrayList<>(); |
| | | //æ¯å¦å°å
¨é¨æ£è
è
åéå® |
| | | Boolean isSend = false; |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); |
| | | serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid()); |
| | | serviceSubtaskPreachform.setSubid(serviceSubtask.getId()); |
| | | //è·ååéæ¹å¼ |
| | | String sendPreachform = getSendPreachform(serviceSubtaskPreachform, serviceSubtask); |
| | | if (sendPreachform.equals("-1") || serviceSubtask.getSendstate() == 6 || serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 4) { |
| | | //说æå·²ç»å
¨é¨éåå®äºï¼å½åçæ§è¡æ¹å¼åºå·æ¯æåä¸ä¸ªäº æè
该æ£è
å·²ç»éè®¿ç»æï¼æåæå¤±è´¥äºæä¸æ§è¡ï¼ |
| | | continue; |
| | | } |
| | | |
| | | aa: |
| | | for (String serviceFrom : split) { |
| | | String descByCode = ServiceFromEnum.getDescByCode(Integer.valueOf(serviceFrom)); |
| | | if (isSend == true) { |
| | | break aa; |
| | | } |
| | | String descByCode = ServiceFromEnum.getDescByCode(Integer.valueOf(sendPreachform)); |
| | | if (descByCode.equals("çµè¯")) { |
| | | try { |
| | | ServiceTask ivrTask = ivrTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid()); |
| | | if (ivrTask.getSendState() != null && ivrTask.getSendState() == 3 || ivrTask.getSendState() != null && ivrTask.getSendState() == 4) { |
| | | //å¦ä½ä»»å¡è¢«âæåâæâç»æ¢â |
| | | break; |
| | | } |
| | | if (org.apache.commons.lang3.StringUtils.isEmpty(serviceSubtask.getPhone())) { |
| | | serviceSubtask.setCurrentPreachform(sendPreachform); |
| | | serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform())); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "ææºå·ä¸ºç©º", "4"); |
| | | continue; |
| | | } |
| | | |
| | | //éè¿ä»»å¡IDæ¿å°æ£è
ä¿¡æ¯ |
| | | ServiceSubtaskVO ivrTaskcall = new ServiceSubtaskVO(); |
| | | ivrTaskcall.setTaskid(commonTaskcallMQ.getTaskid()); |
| | | ivrTaskcall.setSendstate(1L); |
| | | List<ServiceSubtask> selectServiceSubtaskList = ivrTaskcallMapper.selectServiceSubtaskList(ivrTaskcall); |
| | | if (CollectionUtils.isEmpty(selectServiceSubtaskList)) { |
| | | //è·åå°value弿å°çkey |
| | | String key = getKey(); |
| | | if (commonTaskcallMQ.getSendType().equals("2")) { |
| | | //è¯´ææ¯ç«å³åé |
| | | List<String> list = new ArrayList<>(); |
| | | list.add(serviceSubtask.getId().toString()); |
| | | log.info("ç¼åä¸cache-0çå¼ä¸ºï¼{}", list); |
| | | redisCache.setCacheListLeftAndDistinct("cache-0", list); |
| | | } else { |
| | | //éç«å³åé |
| | | List<String> list = new ArrayList<>(); |
| | | list.add(serviceSubtask.getId().toString()); |
| | | redisCache.setCacheListLeftAndDistinct(key, list); |
| | | } |
| | | } catch (Exception exception) { |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); |
| | | serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("3"); |
| | | serviceSubtaskRecord.setResult("fail"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setRemark("éåä»»å¡çµè¯åé失败"); |
| | | log.error("éåä»»å¡çµè¯åé失败ï¼{}", exception.getMessage()); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | //å°çµè¯ç¶æè®¾ç½®ä¸ºå¤±è´¥ |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "éåä»»å¡çµè¯åé失败", "5"); |
| | | |
| | | continue; |
| | | } |
| | | if (descByCode.equals("çµè¯")) { |
| | | for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { |
| | | //å
夿ä¸ä¸ï¼subIdsæ¯å¦ä¸ºç©ºï¼å¦æä¸ä¸ºç©ºï¼åªæ§è¡subIdséçæ£è
|
| | | if (CollectionUtils.isNotEmpty(subIds)) { |
| | | boolean contains = subIds.contains(serviceSubtask.getId()); |
| | | //妿containsä¸ä¸ºtrue,说æå½åçæ£è
å·²ç»åéæåï¼ç´æ¥å¾ªç¯ä¸ä¸ä¸ªäººå°±è¡ |
| | | if (!contains) continue; |
| | | //å¨åä»»å¡è¡¨éè®°å½ä¸ä¸ |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "éåä»»å¡çµè¯åéæå", "2"); |
| | | |
| | | //ä»»å¡åéè®°å½ |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); |
| | | serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("3"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setRemark("éåä»»å¡çµè¯åéæå"); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | |
| | | } else if (descByCode.equals("çä¿¡")) { |
| | | //çä¿¡ |
| | | //对urlä¸ä¸¤ä¸ªåæ°å å¯ |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key); |
| | | |
| | | if (org.apache.commons.lang3.StringUtils.isEmpty(serviceSubtask.getPhone())) { |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "ææºå·ä¸ºç©º", "4"); |
| | | continue; |
| | | } |
| | | |
| | | try { |
| | | String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); |
| | | String subId = rsaPublicKeyExample.encryptedData(serviceSubtask.getId().toString(), pub_key); |
| | | SendMagParam sendMagParam = new SendMagParam(); |
| | | sendMagParam.setType("4"); |
| | | if (type == 1) { |
| | | //é访 |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setParam6(subId); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | // sendMagParam.setUrl(ip + ":" + req_path + "/followvisit/particty?param1=" + taskId + "¶m2=" + patid + "¶m5=false"); |
| | | //转æ16è¿å¶ |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format); |
| | | if (visitHosp == 2) { |
| | | sendMagParam.setContent("æ¨å¥½ï¼é请æ¨å¡«ååºé¢å®£æè°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "æ¥çãæè°¢æ¨é
åï¼"); |
| | | } else if (visitHosp == 1) { |
| | | sendMagParam.setContent("ãæ°åå»é¢ãæ¨å¥½ï¼é请æ¨å¡«ååºé¢éè®¿è°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "å¡«åãæè°¢æ¨é
åï¼"); |
| | | } |
| | | |
| | | try { |
| | | ServiceTask ivrTask = ivrTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid()); |
| | | if (ivrTask.getSendState() != null && ivrTask.getSendState() == 3 || ivrTask.getSendState() != null && ivrTask.getSendState() == 4) { |
| | | //å¦ä½ä»»å¡è¢«âæåâæâç»æ¢â |
| | | break; |
| | | } |
| | | //è·åå°value弿å°çkey |
| | | String key = getKey(); |
| | | if (commonTaskcallMQ.getSendType().equals("2")) { |
| | | //è¯´ææ¯ç«å³åé |
| | | ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO(); |
| | | serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid()); |
| | | log.info("ç¼åä¸serviceSubtask1çå¼ä¸ºï¼{}", serviceSubtask1); |
| | | List<String> list = new ArrayList<>(); |
| | | List<ServiceSubtask> selectServiceSubtaskList1 = ivrTaskcallMapper.selectServiceSubtaskList(serviceSubtask1); |
| | | for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) { |
| | | list.add(serviceSubtask2.getId().toString()); |
| | | } |
| | | log.info("ç¼åä¸cache-0çå¼ä¸ºï¼{}", list); |
| | | // redisCache.setCacheListLeft("cache-0", list); |
| | | redisCache.setCacheListLeftAndDistinct("cache-0", list); |
| | | } else { |
| | | //éç«å³åé |
| | | ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO(); |
| | | serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid()); |
| | | List<ServiceSubtask> selectServiceSubtaskList1 = ivrTaskcallMapper.selectServiceSubtaskList(serviceSubtask1); |
| | | List<String> list = new ArrayList<>(); |
| | | for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) { |
| | | list.add(serviceSubtask2.getId().toString()); |
| | | } |
| | | // redisCache.setCacheListLeft(key, list); |
| | | redisCache.setCacheListLeftAndDistinct(key, list); |
| | | } |
| | | } catch (Exception exception) { |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); |
| | | serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("3"); |
| | | serviceSubtaskRecord.setResult("fail"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setRemark("éåä»»å¡çµè¯åé失败"); |
| | | log.error("éåä»»å¡çµè¯åé失败ï¼{}", exception.getMessage()); |
| | | lssubIds.add(serviceSubtask.getId()); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | } else if (type == 2) { |
| | | //é®å¸ï¼é®é¢ï¼ |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setParam6(subId); |
| | | // serviceOutPath.setParam3(URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString())); |
| | | serviceOutPath.setParam3(ivrTask1.getTaskName()); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | // sendMagParam.setUrl(ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false"); |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setUrl(ip + ":" + req_path + "/wt?p=" + format); |
| | | //妿typeæ¯è¯é³é访çè¯ï¼è¯´æè¡¥å¿åéæ¹å¼ä¸æçµè¯éè®¿çæ¹å¼ï¼è¿éçå¤é¾å°±å°ååªè½ç¨/sfï¼ |
| | | if (serviceSubtask.getType().equals("1")) |
| | | sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format); |
| | | if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) { |
| | | sendMagParam.setContent("ãæ¯å®ç²æèªæ²»å¿äººæ°å»é¢ãæ¨å¥½ï¼é请æ¨å¡«ååºé¢å®£æè°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "æ¥çãæè°¢æ¨é
åï¼"); |
| | | } else if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) { |
| | | sendMagParam.setContent("ã丽水ä¸å»é¢ãæ¨å¥½ï¼é请æ¨å¡«ååºé¢å®£æè°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "æ¥çãæè°¢æ¨é
åï¼"); |
| | | } else sendMagParam.setContent("ãæ°åå»é¢ãæ¨å¥½ï¼é请æ¨å¡«ååºé¢è°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "å¡«åãæè°¢æ¨é
åï¼"); |
| | | } else if (type == 3) { |
| | | //宣æ |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setParam6(subId); |
| | | serviceOutPath.setParam3(ivrTask1.getTaskName()); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | //éè¦éè¿æ¨¡æ¿IDå»å¤æè¦åçå
容æ¯å®£æè¿æ¯éç¥ |
| | | HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid()); |
| | | if (heLibrary.getHetype().equals("1")) { |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setUrl(ip + ":" + req_path + "/xj?p=" + format); |
| | | if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) { |
| | | sendMagParam.setContent("ãæ¯å®ç²æèªæ²»å¿äººæ°å»é¢ãæ¨å¥½ï¼é请æ¨å¡«ååºé¢å®£æè°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "æ¥çãæè°¢æ¨é
åï¼"); |
| | | } else if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) { |
| | | sendMagParam.setContent("ã丽水ä¸å»é¢ãæ¨å¥½ï¼é请æ¨å¡«ååºé¢å®£æè°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "æ¥çãæè°¢æ¨é
åï¼"); |
| | | } else |
| | | sendMagParam.setContent("ãæ°åå»é¢ãæ¨å¥½ï¼é请æ¨å¡«ååºé¢å®£æè°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "æ¥çãæè°¢æ¨é
åï¼"); |
| | | } else { |
| | | //éç¥ |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setContent(heLibrary.getPreachcontent()); |
| | | } |
| | | } |
| | | |
| | | //çä¿¡è¿éè¦æ¨¡æ¿ |
| | | String s = null; |
| | | if (visitHosp == 1) { |
| | | //æ°åççä¿¡åéæ¹å¼ |
| | | Map<String, String> req = new HashMap<>(); |
| | | req.put("phone", sendMagParam.getPhone()); |
| | | req.put("content", sendMagParam.getContent()); |
| | | s = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req)); |
| | | } else if (visitHosp == 2) { |
| | | String url = configService.selectConfigByKey("token.360", serviceSubtask.getOrgid()); |
| | | //丽水ççä¿¡åéæ¹å¼ |
| | | Map<String, String> map = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid()); |
| | | String token = LSHospTokenUtil.getToken(serviceSubtask.getOrgid(), url); |
| | | log.info("-----------tokençå¼ä¸ºï¼{}", token); |
| | | if (ObjectUtils.isNotEmpty(map) && StringUtils.isEmpty(map.get("address"))) { |
| | | serviceSubtask.setCurrentPreachform(sendPreachform); |
| | | serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform())); |
| | | setFailPreachForm(serviceSubtask, descByCode, "çä¿¡åé失败,è¯¥æºææ²¡æé
ç½®çä¿¡å°å", "5"); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | continue; |
| | | } |
| | | log.info("---------mq丽水çä¿¡åéå
¥åaddressï¼{}, sendMagParam:{}, orgid:{}-------", map.get("address"), sendMagParam, serviceSubtask.getOrgid()); |
| | | String dxCode = getDXCode(map.get("address"), sendMagParam.getPhone(), sendMagParam.getContent(), map.get("sendPersonId"), map.get("sendPersonName"), MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()), token); |
| | | log.info("---------丽水çä¿¡åéç»æï¼{}-------", dxCode); |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | Map<String, Object> textParam = objectMapper.readValue(dxCode, Map.class); |
| | | String code = textParam.get("Code").toString(); |
| | | if (code.equals("0")) { |
| | | s = "true"; |
| | | } else { |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "çä¿¡åé失败", "5"); |
| | | throw new BaseException("çä¿¡åé失败"); |
| | | } |
| | | } else if (visitHosp == 3) { |
| | | //çç«åå¾·ççä¿¡åéæ¹å¼ |
| | | JSONObject data = MessageSend.sendMsg(sendMagParam.getContent(), "2", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); |
| | | String code = data.get("code").toString(); |
| | | if (StringUtils.isNotEmpty(code) && code.equals("00000")) { |
| | | s = "true"; |
| | | } else { |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "çä¿¡åé失败", "5"); |
| | | throw new BaseException("çä¿¡åé失败"); |
| | | } |
| | | } |
| | | if (s.equals("true")) { |
| | | //å¨åä»»å¡è¡¨éè®°å½ä¸ä¸ |
| | | String uuid = UUID.randomUUID().toString(); |
| | | serviceSubtask.setResult("success"); |
| | | serviceSubtask.setRemark("éåä»»å¡çµè¯åéæå"); |
| | | serviceSubtask.setGuid(uuid); |
| | | serviceSubtask.setSendstate(3L); |
| | | serviceSubtask.setFinishtime(new Date()); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "çä¿¡åéæå", "2"); |
| | | //ä»»å¡åéè®°å½ |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); |
| | | serviceSubtaskRecord.setUuid(uuid); |
| | | serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("3"); |
| | | serviceSubtaskRecord.setPreachform("5"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setRemark("éåä»»å¡çµè¯åéæå"); |
| | | serviceSubtaskRecord.setResult("success"); |
| | | serviceSubtaskRecord.setRemark("çä¿¡åéæå"); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | log.error("serviceSubtaskRecordä¿åæåäºåï¼ï¼{}", serviceSubtaskRecord); |
| | | } else { |
| | | //å¨åä»»å¡è¡¨éè®°å½ä¸ä¸ |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "çä¿¡åé失败", "5"); |
| | | } |
| | | if (CollectionUtils.isEmpty(lssubIds)) { |
| | | //妿â临æ¶åä»»å¡â为空ï¼è¯´æå
¨åéå®äº |
| | | isSend = true; |
| | | } |
| | | //å°åä»»å¡IDæ¸
空ï¼å°â临æ¶åä»»å¡âæ°æ® æ¾å° âåä»»å¡â ä¸ |
| | | subIds.clear(); |
| | | subIds.addAll(lssubIds); |
| | | lssubIds.clear(); |
| | | } else if (descByCode.equals("å¤åªä½")) { |
| | | //å¤åªä½ |
| | | } catch (Exception e) { |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); |
| | | serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("4"); |
| | | serviceSubtaskRecord.setResult("fail"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setRemark("çä¿¡åé失败"); |
| | | log.error("çä¿¡åé失败ï¼{}", e.getMessage()); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "çä¿¡åé失败", "5"); |
| | | continue; |
| | | } else if (descByCode.equals("纸质")) { |
| | | //纸质 |
| | | continue; |
| | | } else if (descByCode.equals("çä¿¡")) { |
| | | //çä¿¡ |
| | | //对urlä¸ä¸¤ä¸ªåæ°å å¯ |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key); |
| | | } |
| | | |
| | | for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { |
| | | //å
夿ä¸ä¸ï¼subIdsæ¯å¦ä¸ºç©ºï¼å¦æä¸ä¸ºç©ºï¼åªæ§è¡subIdséçæ£è
|
| | | if (CollectionUtils.isNotEmpty(subIds)) { |
| | | boolean contains = subIds.contains(serviceSubtask.getId()); |
| | | //妿containsä¸ä¸ºtrue,说æå½åçæ£è
å·²ç»åéæåï¼ç´æ¥å¾ªç¯ä¸ä¸ä¸ªäººå°±è¡ |
| | | if (!contains) continue; |
| | | } |
| | | } else if (descByCode.equals("å
¬ä¼å·")) { |
| | | //å
¬ä¼å· |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key); |
| | | String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); |
| | | |
| | | try { |
| | | String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); |
| | | String subId = rsaPublicKeyExample.encryptedData(serviceSubtask.getId().toString(), pub_key); |
| | | SendMagParam sendMagParam = new SendMagParam(); |
| | | sendMagParam.setType("4"); |
| | | if (type == 1) { |
| | | //é访 |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setParam6(subId); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | // sendMagParam.setUrl(ip + ":" + req_path + "/followvisit/particty?param1=" + taskId + "¶m2=" + patid + "¶m5=false"); |
| | | //转æ16è¿å¶ |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format); |
| | | if (visitHosp == 2) { |
| | | sendMagParam.setContent("æ¨å¥½ï¼é请æ¨å¡«ååºé¢å®£æè°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "æ¥çãæè°¢æ¨é
åï¼"); |
| | | } else if (visitHosp == 1) { |
| | | sendMagParam.setContent("ãæ°åå»é¢ãæ¨å¥½ï¼é请æ¨å¡«ååºé¢éè®¿è°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "å¡«åãæè°¢æ¨é
åï¼"); |
| | | } |
| | | |
| | | } else if (type == 2) { |
| | | //é®å¸ï¼é®é¢ï¼ |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setParam6(subId); |
| | | // serviceOutPath.setParam3(URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString())); |
| | | serviceOutPath.setParam3(ivrTask1.getTaskName()); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | // sendMagParam.setUrl(ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false"); |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setUrl(ip + ":" + req_path + "/wt?p=" + format); |
| | | if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) { |
| | | sendMagParam.setContent("ãæ¯å®ç²æèªæ²»å¿äººæ°å»é¢ãæ¨å¥½ï¼é请æ¨å¡«ååºé¢å®£æè°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "æ¥çãæè°¢æ¨é
åï¼"); |
| | | } else if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) { |
| | | sendMagParam.setContent("ã丽水ä¸å»é¢ãæ¨å¥½ï¼é请æ¨å¡«ååºé¢å®£æè°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "æ¥çãæè°¢æ¨é
åï¼"); |
| | | } else |
| | | sendMagParam.setContent("ãæ°åå»é¢ãæ¨å¥½ï¼é请æ¨å¡«ååºé¢è°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "å¡«åãæè°¢æ¨é
åï¼"); |
| | | } else if (type == 3) { |
| | | //宣æ |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setParam6(subId); |
| | | serviceOutPath.setParam3(ivrTask1.getTaskName()); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | //éè¦éè¿æ¨¡æ¿IDå»å¤æè¦åçå
容æ¯å®£æè¿æ¯éç¥ |
| | | HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid()); |
| | | if (heLibrary.getHetype().equals("1")) { |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setUrl(ip + ":" + req_path + "/xj?p=" + format); |
| | | if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) { |
| | | sendMagParam.setContent("ãæ¯å®ç²æèªæ²»å¿äººæ°å»é¢ãæ¨å¥½ï¼é请æ¨å¡«ååºé¢å®£æè°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "æ¥çãæè°¢æ¨é
åï¼"); |
| | | } else if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) { |
| | | sendMagParam.setContent("ã丽水ä¸å»é¢ãæ¨å¥½ï¼é请æ¨å¡«ååºé¢å®£æè°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "æ¥çãæè°¢æ¨é
åï¼"); |
| | | } else |
| | | sendMagParam.setContent("ãæ°åå»é¢ãæ¨å¥½ï¼é请æ¨å¡«ååºé¢å®£æè°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "æ¥çãæè°¢æ¨é
åï¼"); |
| | | } else { |
| | | //éç¥ |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setContent(heLibrary.getPreachcontent()); |
| | | } |
| | | } |
| | | //çä¿¡è¿éè¦æ¨¡æ¿ |
| | | String s = null; |
| | | if (visitHosp == 1) { |
| | | //æ°åççä¿¡åéæ¹å¼ |
| | | Map<String, String> req = new HashMap<>(); |
| | | req.put("phone", sendMagParam.getPhone()); |
| | | req.put("content", sendMagParam.getContent()); |
| | | s = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req)); |
| | | } else if (visitHosp == 2) { |
| | | String url = configService.selectConfigByKey("token.360",serviceSubtask.getOrgid()); |
| | | //丽水ççä¿¡åéæ¹å¼ |
| | | Map<String, String> map = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid()); |
| | | String token = LSHospTokenUtil.getToken(serviceSubtask.getOrgid(),url); |
| | | log.info("-----------tokençå¼ä¸ºï¼{}", token); |
| | | if (ObjectUtils.isNotEmpty(map) && StringUtils.isEmpty(map.get("address"))) { |
| | | ServiceSubtask ss = new ServiceSubtask(); |
| | | ss.setResult("error"); |
| | | ss.setRemark("çä¿¡åé失败,è¯¥æºææ²¡æé
ç½®çä¿¡å°å"); |
| | | ss.setSendstate(5L); |
| | | ss.setId(serviceSubtask.getId()); |
| | | // ss.setFinishtime(new Date()); |
| | | serviceSubtaskMapper.updateServiceSubtask(ss); |
| | | continue; |
| | | } |
| | | log.info("---------mq丽水çä¿¡åéå
¥åaddressï¼{}, sendMagParam:{}, orgid:{}-------", map.get("address"), sendMagParam, serviceSubtask.getOrgid()); |
| | | String dxCode = getDXCode(map.get("address"), sendMagParam.getPhone(), sendMagParam.getContent(), map.get("sendPersonId"), map.get("sendPersonName"), MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()), token); |
| | | log.info("---------丽水çä¿¡åéç»æï¼{}-------", dxCode); |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | Map<String, Object> textParam = objectMapper.readValue(dxCode, Map.class); |
| | | String code = textParam.get("Code").toString(); |
| | | if (code.equals("0")) { |
| | | s = "true"; |
| | | } else { |
| | | throw new BaseException(null); |
| | | } |
| | | } |
| | | if (s.equals("true")) { |
| | | //å¨åä»»å¡è¡¨éè®°å½ä¸ä¸ |
| | | String uuid = UUID.randomUUID().toString(); |
| | | serviceSubtask.setResult("success"); |
| | | serviceSubtask.setRemark("çä¿¡åéæå"); |
| | | serviceSubtask.setGuid(uuid); |
| | | serviceSubtask.setSendstate(3L); |
| | | serviceSubtask.setFinishtime(new Date()); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | |
| | | //ä»»å¡åéè®°å½ |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); |
| | | serviceSubtaskRecord.setUuid(uuid); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("5"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setResult("success"); |
| | | serviceSubtaskRecord.setRemark("çä¿¡åéæå"); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | log.error("serviceSubtaskRecordä¿åæåäºåï¼ï¼{}", serviceSubtaskRecord); |
| | | } |
| | | } catch (Exception e) { |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); |
| | | serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("4"); |
| | | serviceSubtaskRecord.setResult("fail"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setRemark("çä¿¡åé失败"); |
| | | log.error("çä¿¡åé失败ï¼{}", e.getMessage()); |
| | | lssubIds.add(serviceSubtask.getId()); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | continue; |
| | | } |
| | | |
| | | |
| | | try { |
| | | SendMagParam sendMagParam = new SendMagParam(); |
| | | sendMagParam.setType("5"); |
| | | String url = null; |
| | | Boolean aBoolean = false; |
| | | if (type == 1) { |
| | | //é访 |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | url = ip + ":" + req_path + "/sf?p=" + format; |
| | | } else if (type == 2) { |
| | | //é®å¸ |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setParam3(ivrTask1.getTaskName()); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | url = ip + ":" + req_path + "/wt?p=" + format; |
| | | //妿typeæ¯è¯é³é访çè¯ï¼è¯´æè¡¥å¿åéæ¹å¼ä¸æçµè¯éè®¿çæ¹å¼ï¼è¿éçå¤é¾å°±å°ååªè½ç¨/sfï¼ |
| | | if (serviceSubtask.getType().equals("1")) |
| | | sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format); |
| | | } else if (type == 3) { |
| | | //宣æ |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setParam3(ivrTask1.getTaskName()); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | url = ip + ":" + req_path + "/xj?p=" + format; |
| | | } |
| | | if (CollectionUtils.isEmpty(lssubIds)) { |
| | | //妿â临æ¶åä»»å¡â为空ï¼è¯´æå
¨åéå®äº |
| | | isSend = true; |
| | | if (StringUtils.isEmpty(patArchive.getPatidHis())) { |
| | | serviceSubtask.setCurrentPreachform(sendPreachform); |
| | | serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform())); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | //å¤±è´¥è®°å½ |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "å
¬ä¼å·åé失败,hisç³»ç»çæ£è
id为空", "5"); |
| | | continue; |
| | | } |
| | | //å°åä»»å¡IDæ¸
空ï¼å°â临æ¶åä»»å¡âæ°æ® æ¾å° âåä»»å¡â ä¸ |
| | | subIds.clear(); |
| | | subIds.addAll(lssubIds); |
| | | lssubIds.clear(); |
| | | } else if (descByCode.equals("å
¬ä¼å·")) { |
| | | //å
¬ä¼å· |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key); |
| | | for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { |
| | | String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); |
| | | try { |
| | | SendMagParam sendMagParam = new SendMagParam(); |
| | | sendMagParam.setType("5"); |
| | | String url = null; |
| | | Boolean aBoolean = false; |
| | | if (type == 1) { |
| | | //é访 |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | url = ip + ":" + req_path + "/sf?p=" + format; |
| | | } else if (type == 2) { |
| | | //é®å¸ |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | // serviceOutPath.setParam3(URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString())); |
| | | serviceOutPath.setParam3(ivrTask1.getTaskName()); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | url = ip + ":" + req_path + "/wt?p=" + format; |
| | | } else if (type == 3) { |
| | | //宣æ |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setParam3(ivrTask1.getTaskName()); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | url = ip + ":" + req_path + "/xj?p=" + format; |
| | | } |
| | | PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(serviceSubtask.getPatid()); |
| | | if (StringUtils.isEmpty(patArchive.getPatidHis())) { |
| | | ServiceSubtask ss = new ServiceSubtask(); |
| | | ss.setResult("error"); |
| | | ss.setRemark("å
¬ä¼å·åé失败,hisç³»ç»çæ£è
id为空"); |
| | | ss.setSendstate(5L); |
| | | ss.setId(serviceSubtask.getId()); |
| | | // ss.setFinishtime(new Date()); |
| | | serviceSubtaskMapper.updateServiceSubtask(ss); |
| | | continue; |
| | | } |
| | | |
| | | //è·å微信å
¬ä¼å·è¯·æ±ä¿¡æ¯æ ¹æ®æºæID |
| | | log.error("è·å微信å
¬ä¼å·è¯·æ±ä¿¡æ¯æ ¹æ®æºæIDï¼{}", patArchive.getOrgid()); |
| | | List<String> wxqqxx = WxGZHEnum.getDescByCode(patArchive.getOrgid()); |
| | | if (CollectionUtils.isEmpty(wxqqxx) || wxqqxx.size() < 4) { |
| | | ServiceSubtask ss = new ServiceSubtask(); |
| | | ss.setResult("error"); |
| | | ss.setRemark("è¯¥æºæçå
¬ä¼å·é
置信æ¯ä¸å
¨ï¼æ æ³éè¿å
¬ä¼å·åé"); |
| | | ss.setSendstate(5L); |
| | | ss.setId(serviceSubtask.getId()); |
| | | // ss.setFinishtime(new Date()); |
| | | serviceSubtaskMapper.updateServiceSubtask(ss); |
| | | continue; |
| | | } |
| | | //è·å微信å
¬ä¼å·è¯·æ±ä¿¡æ¯æ ¹æ®æºæID |
| | | log.error("è·å微信å
¬ä¼å·è¯·æ±ä¿¡æ¯æ ¹æ®æºæIDï¼{}", patArchive.getOrgid()); |
| | | List<String> wxqqxx = WxGZHEnum.getDescByCode(patArchive.getOrgid()); |
| | | if (CollectionUtils.isEmpty(wxqqxx) || wxqqxx.size() < 4) { |
| | | serviceSubtask.setCurrentPreachform(sendPreachform); |
| | | serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform())); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | |
| | | //å¤±è´¥è®°å½ |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "è¯¥æºæçå
¬ä¼å·é
置信æ¯ä¸å
¨ï¼æ æ³éè¿å
¬ä¼å·åé", "5"); |
| | | continue; |
| | | } |
| | | |
| | | |
| | | String wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskName(), patArchive.getTelcode(), patArchive.getName(), patArchive.getPatidHis(), wxqqxx); |
| | | log.error("wxCodeçå¼ä¸º:{}", wxCode); |
| | | Map<String, Object> map = JSONObject.parseObject(wxCode, Map.class); |
| | | log.error("mapçå¼ä¸º:{}", map); |
| | | if (!map.isEmpty()) { |
| | | serviceSubtask.setResult("success"); |
| | | serviceSubtask.setSendstate(3L); |
| | | log.error("aBooleançå¼ä¸º:{}", aBoolean); |
| | | if (map.get("succ").toString().equals("true")) { |
| | | aBoolean = true; |
| | | } |
| | | if (aBoolean == false) { |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); |
| | | serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("5"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setRemark(ObjectUtils.isNotEmpty(map.get("msg")) ? map.get("msg").toString() : null); |
| | | lssubIds.add(serviceSubtask.getId()); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | continue; |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | String wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskName(), patArchive.getTelcode(), patArchive.getName(), patArchive.getPatidHis(), wxqqxx); |
| | | log.error("wxCodeçå¼ä¸º:{}", wxCode); |
| | | Map<String, Object> map = JSONObject.parseObject(wxCode, Map.class); |
| | | log.error("mapçå¼ä¸º:{}", map); |
| | | if (!map.isEmpty()) { |
| | | serviceSubtask.setResult("success"); |
| | | serviceSubtask.setSendstate(3L); |
| | | log.error("aBooleançå¼ä¸º:{}", aBoolean); |
| | | if (map.get("succ").toString().equals("true")) { |
| | | aBoolean = true; |
| | | } |
| | | if (aBoolean == false) { |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); |
| | | serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("5"); |
| | | serviceSubtaskRecord.setResult("fail"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setRemark("å
¬ä¼å·åé失败"); |
| | | log.error("å
¬ä¼å·åé失败ï¼{}", e.getMessage()); |
| | | lssubIds.add(serviceSubtask.getId()); |
| | | serviceSubtaskRecord.setRemark(ObjectUtils.isNotEmpty(map.get("msg")) ? map.get("msg").toString() : null); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | //å¨åä»»å¡è¡¨éè®°å½ä¸ä¸ |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "å
¬ä¼å·åé失败", "5"); |
| | | continue; |
| | | } |
| | | //å¨åä»»å¡è¡¨éè®°å½ä¸ä¸ |
| | | String uuid = UUID.randomUUID().toString(); |
| | | serviceSubtask.setResult("success"); |
| | | serviceSubtask.setRemark("å
¬ä¼å·åéæå"); |
| | | serviceSubtask.setGuid(uuid); |
| | | serviceSubtask.setSendstate(3L); |
| | | serviceSubtask.setFinishtime(new Date()); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | |
| | | //ä»»å¡åéè®°å½ |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setUuid(uuid); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("5"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setResult("success"); |
| | | serviceSubtaskRecord.setRemark("å
¬ä¼å·åéæå"); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | } |
| | | if (CollectionUtils.isEmpty(lssubIds)) { |
| | | //妿â临æ¶åä»»å¡â为空ï¼è¯´æå
¨åéå®äº |
| | | isSend = true; |
| | | } |
| | | //å°åä»»å¡IDæ¸
空ï¼å°â临æ¶åä»»å¡âæ°æ® æ¾å° âåä»»å¡â ä¸ |
| | | subIds.clear(); |
| | | subIds.addAll(lssubIds); |
| | | lssubIds.clear(); |
| | | } catch (Exception e) { |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); |
| | | serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("5"); |
| | | serviceSubtaskRecord.setResult("fail"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setRemark("å
¬ä¼å·åé失败"); |
| | | log.error("å
¬ä¼å·åé失败ï¼{}", e.getMessage()); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | //å¤±è´¥è®°å½ |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "å
¬ä¼å·åé失败", "5"); |
| | | continue; |
| | | } |
| | | //éç¥ MQ æ¶æ¯å·²è¢«æ¥æ¶,å¯ä»¥ACK(ä»éåä¸å é¤)äº ï¼è¿ä¸ªéè¦æ ¹æ®ä¸å¡åå»å¤çACKï¼ |
| | | //å¨åä»»å¡è¡¨éè®°å½ä¸ä¸ |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "å
¬ä¼å·åéæå", "2"); |
| | | //ä»»å¡åéè®°å½ |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("5"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setResult("success"); |
| | | serviceSubtaskRecord.setRemark("å
¬ä¼å·åéæå"); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | |
| | | } else if (descByCode.equals("人工")) { |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "人工å¾
æ§è¡", "2"); |
| | | } |
| | | if (CollectionUtils.isNotEmpty(subIds)) { |
| | | //妿å
¨é¨çåéæ¹å¼é½åå®äºï¼è¿ææ¯æªåéç,éè¦å»subTask表ä¸ï¼è®°å½ä¸ä¸ï¼åé失败 |
| | | for (Long id : subIds) { |
| | | ServiceSubtask serviceSubtask = new ServiceSubtask(); |
| | | serviceSubtask.setResult("error"); |
| | | serviceSubtask.setRemark("åé失败"); |
| | | } |
| | | |
| | | } |
| | | |
| | | private Date getNextVisitTime(Long subid, Long taskid, Date visitTime, String currentPreachform) { |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); |
| | | serviceSubtaskPreachform.setSubid(subid); |
| | | serviceSubtaskPreachform.setTaskid(taskid); |
| | | List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); |
| | | |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) { |
| | | Optional<String> ct = serviceSubtaskPreachforms.stream().filter(item -> currentPreachform.equals(item.getPreachform())).map(ServiceSubtaskPreachform::getCompensateTime).findFirst(); |
| | | String compensateTime = "0"; |
| | | if (ct.isPresent()) compensateTime = ct.get(); |
| | | int hoursToAdd = Integer.valueOf(compensateTime) * 24; |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(visitTime); |
| | | calendar.add(Calendar.HOUR_OF_DAY, hoursToAdd); |
| | | Date newDate = calendar.getTime(); |
| | | return newDate; |
| | | } |
| | | return visitTime; |
| | | } |
| | | |
| | | private String getSendPreachform(ServiceSubtaskPreachform serviceSubtaskPreachform, ServiceSubtask serviceSubtask) { |
| | | List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); |
| | | |
| | | // æ
åµ1ï¼currentPreachform为空ï¼åsort为1çpreachform |
| | | if (StringUtils.isEmpty(serviceSubtask.getCurrentPreachform())) { |
| | | return serviceSubtaskPreachforms.stream().filter(item -> item.getSort() == 1L).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse(null); |
| | | } |
| | | |
| | | // æ
åµ2ï¼currentPreachformä¸ä¸ºç©ºï¼æ¾ä¸ä¸ä¸ªsort |
| | | Optional<Long> currentSort = serviceSubtaskPreachforms.stream().filter(item -> serviceSubtask.getCurrentPreachform().equals(item.getPreachform())).map(ServiceSubtaskPreachform::getSort).findFirst(); |
| | | |
| | | if (currentSort.isPresent()) { |
| | | // æ£æ¥æ¯å¦ææsendstateä¸çäº9 |
| | | boolean allSendStateNot1AndNot9 = serviceSubtaskPreachforms.stream().allMatch(item -> !item.getSendstate().equals("9")); |
| | | |
| | | // å½sortçäºå表sizeæ¶ï¼å¹¶ä¸ææsendstateé½ä¸çäº9ï¼åè¿å-1 |
| | | if (currentSort.get().equals((long) serviceSubtaskPreachforms.size())) { |
| | | if (allSendStateNot1AndNot9) { |
| | | //说æå
¨åéå¤±è´¥äº |
| | | serviceSubtask.setSendstate(5L); |
| | | serviceSubtask.setId(id); |
| | | // serviceSubtask.setFinishtime(new Date()); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | } |
| | | return "-1"; |
| | | } |
| | | |
| | | // å½sortçäºå表sizeæ¶ï¼ä¸ä¸ä¸ªsort为-1 |
| | | Long nextSort = currentSort.get() + 1; |
| | | |
| | | // æ¾å°ä¸ä¸ä¸ªsort对åºçpreachform |
| | | return serviceSubtaskPreachforms.stream().filter(item -> nextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse(null); |
| | | } |
| | | |
| | | return null; |
| | | } |
| | | |
| | | // /** |
| | | // * æºå¨äººç¬¬ä¸å¥è¯è¯é³ |
| | | // * concurrency = "50" å¹¶åæ°ä¸º50 |
| | | // */ |
| | | // @RabbitListener(queues = "ob_queue", concurrency = "50") |
| | | // public void obVisit(String content, Message message, Channel channel) throws IOException { |
| | | // try { |
| | | // IvrTaskcallPhoneMQ commonTaskcallMQ = null; |
| | | // ObjectMapper mapper = new ObjectMapper(); |
| | | // commonTaskcallMQ = mapper.readValue(content, IvrTaskcallPhoneMQ.class); |
| | | // //夿æ£è
æ¯å¦å·²ç»æ¥çµè¯ |
| | | // String str = redisCache.getCacheObject(commonTaskcallMQ.getUuid() + "state_id"); |
| | | // System.out.println("-----------------" + str); |
| | | // if (StringUtils.isNotEmpty(str) && str.equals("0")) { |
| | | // //æ£è
å·²ç»æ¥å¬äºçµè¯ |
| | | // new PhoneUtils().ttsPlayback(commonTaskcallMQ.getScript(), commonTaskcallMQ.getUuid()); |
| | | // } else if (StringUtils.isNotEmpty(str) && str.equals("-10")) { |
| | | // //è¿ä¸ªè¯´æ,å·²ç»æäºæå®éæ°è¿æ¯æ²¡æäººæ¥ï¼å¯ä»¥å°æ¶æ¯ä»éåä¸ç§»é¤äº |
| | | // channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); |
| | | // return; |
| | | // } else { |
| | | // //è¿è¡éåå°¾é¨ï¼è¿è¡ä¸ä¸æ¬¡æ ¡éª |
| | | //// channel.basicRecover(false); |
| | | // channel.basicReject(message.getMessageProperties().getDeliveryTag(), true); |
| | | // System.out.println("++++++++++++++++++++++" + str); |
| | | // return; |
| | | // } |
| | | // //éç¥ MQ æ¶æ¯å·²è¢«æ¥æ¶,å¯ä»¥ACK(ä»éåä¸å é¤)äº ï¼è¿ä¸ªéè¦æ ¹æ®ä¸å¡åå»å¤çACKï¼ |
| | | // channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); |
| | | // } catch (Exception e) { |
| | | // log.error("============æ¶è´¹å¤±è´¥,å°è¯æ¶æ¯è¡¥å忬¡æ¶è´¹!=============="); |
| | | // log.error(e.getMessage()); |
| | | // channel.basicReject(message.getMessageProperties().getDeliveryTag(), true); |
| | | // } |
| | | // } |
| | | private String getKey() { |
| | | Map<String, String> map = new HashMap<>(); |
| | | for (int i = 0; i < 6; i++) { |
| | | Boolean aBoolean = redisCache.hasKey("cache-" + i); |
| | | if (!aBoolean) { |
| | | redisCache.setCacheObject("cache-" + i, ""); |
| | | map.put("cache-" + i, ""); |
| | | } else { |
| | | map.put("cache-" + i, redisCache.getCacheObject("cache-" + i)); |
| | | } |
| | | |
| | | /** |
| | | * @param serviceSubtask |
| | | * @param preachform |
| | | * @param remark |
| | | * @param failSendstate |
| | | * @return |
| | | */ |
| | | public Boolean setFailPreachForm(ServiceSubtask serviceSubtask, String preachform, String remark, String failSendstate) { |
| | | if (preachform.equals("-1")) { |
| | | //说æé½ä¸éè¦æ§è¡äº |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); |
| | | serviceSubtaskPreachform.setSubid(serviceSubtask.getId()); |
| | | serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid()); |
| | | serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid()); |
| | | serviceSubtaskPreachform.setSendstate(failSendstate); |
| | | serviceSubtaskPreachformMapper.updateSSPByCondition(serviceSubtaskPreachform); |
| | | return true; |
| | | } |
| | | |
| | | String key = null; |
| | | String value = ""; |
| | | for (Map.Entry<String, String> entry : map.entrySet()) { |
| | | if (StringUtils.isEmpty(value)) { |
| | | value = entry.getValue(); |
| | | key = entry.getKey(); |
| | | } else { |
| | | if (entry.getValue().split(",").length < value.split(",").length) { |
| | | value = entry.getValue(); |
| | | key = entry.getKey(); |
| | | //å°ç¶æè®¾ç½®ä¸ºå¤±è´¥ |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); |
| | | serviceSubtaskPreachform.setSubid(serviceSubtask.getId()); |
| | | serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid()); |
| | | serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid()); |
| | | //è·å该æ£è
çå鿹弿»æ° |
| | | List<ServiceSubtaskPreachform> spSize = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); |
| | | |
| | | serviceSubtaskPreachform.setPreachform(preachform); |
| | | //1:æªåéç¶æ |
| | | serviceSubtaskPreachform.setSendstate("1"); |
| | | //çµè¯çæªåéç¶æï¼éè¦æ¥2ï¼å ä¸ºï¼æ°æ®å¯è½å¡å¨éåéäº |
| | | if (preachform.equals("3")) serviceSubtaskPreachform.setSendstate("2"); |
| | | List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) { |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform1 = serviceSubtaskPreachforms.get(0); |
| | | serviceSubtaskPreachform1.setSendstate(failSendstate); |
| | | serviceSubtaskPreachform1.setRemark(remark); |
| | | serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform1); |
| | | //妿å½åçpreachformå·²ç»æ¯æåä¸ä¸ªäº,并䏿¬æ¬¡è¿æ¯åé失败ï¼é£ç´æ¥å°serviceSubtaskçsendstateç¶ææ¹æ5å°±è¡äº(å
¨å¤±è´¥äº) |
| | | if (serviceSubtaskPreachform1.getSort() == spSize.size()) { |
| | | if (serviceSubtaskPreachform1.getSort() == spSize.size()) { |
| | | if (failSendstate.equals("4") || failSendstate.equals("5")) { |
| | | serviceSubtask.setCurrentPreachform(preachform); |
| | | serviceSubtask.setSendstate(5L); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | | } else { |
| | | log.error("ãMQä¸è¯¥æ£è
æ²¡ææ¥è¯¢å°å±äºä»çåéæ¹å¼ï¼subidï¼{},prechform:{},orgid:{}ã", serviceSubtask.getId(), preachform, serviceSubtask.getOrgid()); |
| | | return false; |
| | | } |
| | | return key; |
| | | |
| | | serviceSubtask.setCurrentPreachform(preachform); |
| | | serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform())); |
| | | serviceSubtask.setSendstate(3L); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | return true; |
| | | } |
| | | |
| | | private String getKey() { |
| | | String targetKey = null; |
| | | long minSize = Long.MAX_VALUE; |
| | | |
| | | for (int i = 1; i < 6; i++) { |
| | | String key = "cache-" + i; |
| | | |
| | | // è·å list çé¿åº¦ï¼å³ value çå
ç´ ä¸ªæ°ï¼ |
| | | Long size = redisCache.getListSize(key); |
| | | if (size == null) { |
| | | size = 0L; // 妿 key ä¸åå¨ï¼è®¤ä¸ºæ¯ 0 |
| | | } |
| | | |
| | | // åæå°å¼ |
| | | if (size < minSize) { |
| | | minSize = size; |
| | | targetKey = key; |
| | | } |
| | | } |
| | | return targetKey; |
| | | } |
| | | |
| | | // private String getKey() { |
| | | // Map<String, List> map = new HashMap<>(); |
| | | // for (int i = 0; i < 6; i++) { |
| | | // Boolean aBoolean = redisCache.hasKey("cache-" + i); |
| | | // if (!aBoolean) { |
| | | // redisCache.setCacheList("cache-" + i, new ArrayList<String>()); |
| | | // map.put("cache-" + i, new ArrayList<String>()); |
| | | // } else { |
| | | // map.put("cache-" + i, redisCache.getCacheObject("cache-" + i)); |
| | | // } |
| | | // } |
| | | // |
| | | // String key = null; |
| | | // List<String> value = new ArrayList<String>(); |
| | | // for (Map.Entry<String, List> entry : map.entrySet()) { |
| | | // if (CollectionUtils.isEmpty(value)) { |
| | | // value = entry.getValue(); |
| | | // key = entry.getKey(); |
| | | // } else { |
| | | // value = entry.getValue(); |
| | | // key = entry.getKey(); |
| | | // } |
| | | // } |
| | | // return key; |
| | | // } |
| | | |
| | | private String getWXCode(String idcard, String url, String taskName, String taskDesc, String phone, String patientname, String setPatientid, List<String> wxqqxx) { |
| | | XinHuaWXReq xinHuaWXReq = new XinHuaWXReq(); |
| | | xinHuaWXReq.setIdcard(idcard); |
| | |
| | | import com.ruoyi.common.utils.file.FileUploadUtils; |
| | | import com.ruoyi.common.utils.file.FileUtils; |
| | | import com.ruoyi.framework.config.ServerConfig; |
| | | import com.ruoyi.system.domain.SysConfig; |
| | | import com.ruoyi.system.mapper.SysConfigMapper; |
| | | import com.smartor.domain.HtmlContentVO; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | |
| | | @Autowired |
| | | private ServerConfig serverConfig; |
| | | |
| | | @Autowired |
| | | private SysConfigMapper sysConfigMapper; |
| | | |
| | | private static final String FILE_DELIMETER = ","; |
| | | |
| | |
| | | convertDocToHtml(filePath + "\\" + file.getOriginalFilename(), filePath + "\\" + file.getOriginalFilename().split("\\.", 2)[0] + ".html"); |
| | | |
| | | String url = null; |
| | | String xhPath = "http://218.108.11.22:8093/profile-api"; |
| | | SysConfig config = new SysConfig(); |
| | | config.setConfigKey("sys.qdip"); |
| | | SysConfig sysConfig = sysConfigMapper.selectConfig(config); |
| | | String xhPath = sysConfig.getConfigValue() + "/profile-api"; |
| | | if (uploadSwitch == 1) { |
| | | String fn = fileName.replaceAll("\\.[^.]*$", ".html").replaceAll("/profile", ""); |
| | | url = xhPath + fn; |
| | |
| | | // å°æä»¶ä¿åå°æå®ç®å½ |
| | | File outputFile = new File(RuoYiConfig.getUploadPath() + "/show/" + fileName.split("\\.", 2)[0] + "/" + fileName); |
| | | try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputFile), "UTF-8"))) { |
| | | if (StringUtils.isNotEmpty(htmlContentVO.getContent())) |
| | | writer.write(htmlContentVO.getContent()); |
| | | if (StringUtils.isNotEmpty(htmlContentVO.getContent())) writer.write(htmlContentVO.getContent()); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è·åæä»¶æ©å±å |
| | | */ |
| | | private static String getFileExtension(String fileName) { |
| | | int lastDotIndex = fileName.lastIndexOf('.'); |
| | | if (lastDotIndex > 0) { |
| | | return fileName.substring(lastDotIndex); |
| | | } |
| | | return ""; |
| | | } |
| | | |
| | | /** |
| | | * æ£æ¥æä»¶æ¯å¦ä¸ºæ¯æçWordæ ¼å¼ |
| | | */ |
| | | public static boolean isSupportedWordFormat(String filePath) { |
| | | if (filePath == null) return false; |
| | | String fileName = filePath.toLowerCase(); |
| | | return fileName.endsWith(".doc") || fileName.endsWith(".docx"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | import com.ruoyi.framework.config.ServerConfig; |
| | | import com.smartor.domain.HtmlContentVO; |
| | | import com.smartor.domain.ServiceOutPath; |
| | | import com.smartor.domain.ServiceTask; |
| | | import com.smartor.domain.smsVO; |
| | | import com.smartor.mapper.ServiceTaskMapper; |
| | | import com.smartor.service.IServiceOutPathService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | @Autowired |
| | | private IServiceOutPathService iServiceOutPathService; |
| | | |
| | | @Autowired |
| | | private ServiceTaskMapper serviceTaskMapper; |
| | | |
| | | |
| | | /** |
| | | * @param |
| | |
| | | @ApiOperation("çä¿¡åé") |
| | | @PostMapping("/send") |
| | | public AjaxResult send(@RequestBody smsVO vo) { |
| | | String sendMsg=smsUtils.sendSms(xhsmsPath,xhsmsAccount,xhsmsPwd,vo.getPhone(),vo.getContent()); |
| | | String sendMsg = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), vo.getContent()); |
| | | return AjaxResult.success(sendMsg); |
| | | } |
| | | |
| | | /** |
| | | * @param |
| | | * @return |
| | |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | String url=ip + ":" + req_path + "/wt?p=" + format; |
| | | String url = ip + ":" + req_path + "/wt?p=" + format; |
| | | ServiceTask serviceTask = serviceTaskMapper.selectServiceTaskByTaskid(Long.valueOf(taskId)); |
| | | //妿typeæ¯è¯é³é访çè¯ï¼è¯´æè¡¥å¿åéæ¹å¼ä¸æçµè¯éè®¿çæ¹å¼ï¼è¿éçå¤é¾å°±å°ååªè½ç¨/sfï¼ |
| | | if (serviceTask.getType().equals("1")) { |
| | | url = ip + ":" + req_path + "/sf?p=" + format; |
| | | } |
| | | |
| | | |
| | | //String url = = ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(vo.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false"; |
| | | |
| | | String content="æ¨å¥½ï¼é请æ¨å¡«ååºé¢è°æ¥è¡¨ï¼è¯·ç¹å»" + url + "å¡«åãæè°¢æ¨é
åï¼"; |
| | | String content = "æ¨å¥½ï¼é请æ¨å¡«ååºé¢è°æ¥è¡¨ï¼è¯·ç¹å»" + url + "å¡«åãæè°¢æ¨é
åï¼"; |
| | | |
| | | String sendMsg=smsUtils.sendSms(xhsmsPath,xhsmsAccount,xhsmsPwd,vo.getPhone(),content); |
| | | String sendMsg = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), content); |
| | | return AjaxResult.success(sendMsg); |
| | | } |
| | | } |
| | |
| | | |
| | | import java.util.List; |
| | | |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.core.domain.model.LoginUser; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | |
| | |
| | | @PostMapping("/list") |
| | | public TableDataInfo list(@RequestBody BaseDictOperation baseDictOperation) { |
| | | startPage(); |
| | | LoginUser loginUser = getLoginUser(); |
| | | SysUser user = loginUser.getUser(); |
| | | baseDictOperation.setOrgid(user.getOrgid()); |
| | | List<BaseDictOperation> list = baseDictOperationService.selectBaseDictOperationList(baseDictOperation); |
| | | return getDataTable(list); |
| | | } |
| | |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.concurrent.Executor; |
| | | import java.util.concurrent.Executors; |
| | | |
| | |
| | | */ |
| | | @ApiOperation("è·åæ£è
ä¿¡æ¯") |
| | | @PostMapping("/getPatientInfoQC") |
| | | public TableDataInfo getPatientInfoQC(@RequestBody PatArchiveReq patArchiveReq) { |
| | | PageUtils.startPageByPost(patArchiveReq.getPageNum(), patArchiveReq.getPageSize()); |
| | | public Map<String, Object> getPatientInfoQC(@RequestBody PatArchiveReq patArchiveReq) { |
| | | patArchiveReq.setPageNum(PageUtils.getOffset(patArchiveReq.getPageNum(), patArchiveReq.getPageSize())); |
| | | |
| | | LoginUser loginUser = getLoginUser(); |
| | | SysUser user = loginUser.getUser(); |
| | | patArchiveReq.setOrgid(user.getOrgid()); |
| | |
| | | patArchiveReq.setLeaveldeptcodes(null); |
| | | } |
| | | List<PatArchiveOthreInfo> patientInfo = patArchiveService.getPatientInfoQC(patArchiveReq); |
| | | long count = PageUtils.count(new ISelect() { |
| | | @Override |
| | | public void doSelect() { |
| | | patArchiveService.getPatientInfoQC(patArchiveReq); |
| | | } |
| | | }); |
| | | return getDataTable2(count, patientInfo); |
| | | |
| | | patArchiveReq.setPageSize(null); |
| | | patArchiveReq.setPageNum(null); |
| | | List<PatArchiveOthreInfo> patientInfoQC = patArchiveService.getPatientInfoQC(patArchiveReq); |
| | | |
| | | // long count = PageUtils.count(new ISelect() { |
| | | // @Override |
| | | // public void doSelect() { |
| | | // patArchiveService.getPatientInfoQC(patArchiveReq); |
| | | // } |
| | | // }); |
| | | return getDataTable3(patientInfoQC.size(), patientInfo); |
| | | } |
| | | |
| | | } |
| | |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.utils.DtoConversionUtils; |
| | | import com.ruoyi.system.service.ISysConfigService; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.service.IServiceExternalService; |
| | | import com.smartor.service.IServiceSubtaskDetailService; |
| | |
| | | private IServiceExternalService serviceExternalService; |
| | | @Autowired |
| | | private ISvyTaskSingleService svyTaskSingleService; |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | |
| | | /** |
| | | * éç¨æ¥å£ |
| | |
| | | log.info("------serviceQueryInfoçå
¥å为ï¼{}", serviceQueryInfo); |
| | | Map map = null; |
| | | try { |
| | | String url = configService.selectConfigByKey("token.360",serviceQueryInfo.getXiaoXiTou().getFaSongJGID()); |
| | | serviceQueryInfo.setUrl(url); |
| | | String url360 = configService.selectConfigByKey("url.360",serviceQueryInfo.getXiaoXiTou().getFaSongJGID()); |
| | | serviceQueryInfo.setUrl360(url360); |
| | | map = svyTaskSingleService.query360PatInfo(serviceQueryInfo); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | |
| | | |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.smartor.domain.ServiceSLTDDeptReqVO; |
| | | import com.smartor.domain.ServiceSLTDInhospReqVO; |
| | | import com.smartor.domain.ServiceSLTDInhospResDTO; |
| | | import com.smartor.service.IServiceSLTDHealthcareRecordService; |
| | |
| | | return AjaxResult.error("æ¥è¯¢å¥åº·è®°å½å¤±è´¥ï¼" + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * ééç§å®¤ç
åºä¿¡æ¯ |
| | | */ |
| | | @ApiOperation("ééç§å®¤ç
åºä¿¡æ¯") |
| | | @PostMapping("/queryDeptWardAreaInfoList") |
| | | public AjaxResult queryDeptWardAreaInfoList(@RequestBody ServiceSLTDDeptReqVO reqVO) { |
| | | try { |
| | | log.info("ãqueryHealthcareRecordListãæ¥æ¶å°æ¥è¯¢è¯·æ±ï¼åæ°ï¼{}", reqVO); |
| | | |
| | | Boolean b = serviceSLTDHealthcareRecordService.queryDeptWardAreaInfoList(reqVO); |
| | | |
| | | log.info("ãqueryHospUserInfoListãæ¥è¯¢æåï¼æ¯å¦æåï¼{}", b); |
| | | return AjaxResult.success(b); |
| | | |
| | | } catch (Exception e) { |
| | | log.error("ãqueryHospUserInfoListãæ¥è¯¢å¼å¸¸ï¼è¯·æ±åæ°ï¼{}", reqVO, e); |
| | | return AjaxResult.error("æ¥è¯¢å¥åº·è®°å½å¤±è´¥ï¼" + e.getMessage()); |
| | | } |
| | | } |
| | | } |
| | |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.core.page.TableDataInfo; |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.common.utils.RSAPublicKeyExample; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.service.IServiceSubtaskAnswerService; |
| | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.ObjectUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | |
| | | public class ServiceSubtaskAnswerController extends BaseController { |
| | | @Autowired |
| | | private IServiceSubtaskAnswerService serviceSubtaskAnswerService; |
| | | |
| | | |
| | | @Value("${pri_key}") |
| | | private String pri_key; |
| | | |
| | | /** |
| | | * æ¥è¯¢ä»»å¡é®å·é®é¢é项å表 |
| | |
| | | @ApiOperation("ä¿®æ¹ä»»å¡é®å·é®é¢é项") |
| | | @PostMapping("/edit") |
| | | public AjaxResult edit(@RequestBody ServiceSubtaskAnswer serviceSubtaskAnswer) { |
| | | log.info("ãsaveQuestionCache-----editãçå
¥å为ï¼{}", serviceSubtaskAnswer); |
| | | return toAjax(serviceSubtaskAnswerService.updateServiceSubtaskAnswer(serviceSubtaskAnswer)); |
| | | } |
| | | |
| | |
| | | @ApiOperation("å é¤ä»»å¡é®å·é®é¢é项") |
| | | @DeleteMapping("/remove/{ids}") |
| | | public AjaxResult remove(@PathVariable Long[] ids) { |
| | | log.info("ãsaveQuestionCache-----removeãçå
¥å为ï¼{}", ids); |
| | | return toAjax(serviceSubtaskAnswerService.deleteServiceSubtaskAnswerByIds(ids)); |
| | | } |
| | | |
| | | @ApiOperation("æ£è
é®é¢ç»æè®°å½(å¤é¾)") |
| | | @PostMapping("/saveQuestionAnswer") |
| | | public AjaxResult saveQuestionAnswer(@RequestBody ServiceSubTaskAnswerReq serviceSubTaskAnswerReq) { |
| | | log.info("-----saveQuestionAnsweræ¹æ³çå
¥å为ï¼{}", serviceSubTaskAnswerReq); |
| | | log.info("ãsaveQuestionCache-----saveQuestionAnswerãçå
¥å为ï¼{}", serviceSubTaskAnswerReq); |
| | | return toAjax(serviceSubtaskAnswerService.saveQuestionAnswer(serviceSubTaskAnswerReq, 0L)); |
| | | } |
| | | |
| | |
| | | @ApiOperation("æ£è
é®é¢ç»æè®°å½ç¼å(å°ç¨åºå¤é¾)") |
| | | @PostMapping("/saveQuestionCacheXCH") |
| | | public AjaxResult saveQuestionCacheXCH(@RequestBody ServiceSubTaskCacheReq serviceSubTaskCacheReq) { |
| | | log.info("ãsaveQuestionCache-----saveQuestionCacheXCHãçå
¥å为ï¼{}", serviceSubTaskCacheReq); |
| | | return toAjax(serviceSubtaskAnswerService.saveQuestionCache(serviceSubTaskCacheReq, 1L)); |
| | | } |
| | | |
| | |
| | | @ApiOperation("æ£è
é®é¢ç»æè®°å½(å°ç¨å
å¤é¾)") |
| | | @PostMapping("/saveQuestionAnswerXCH") |
| | | public AjaxResult saveQuestionAnswerXCH(@RequestBody ServiceSubTaskAnswerReq serviceSubTaskAnswerReq) { |
| | | log.info("-------saveQuestionAnswerXCHçå
¥åçå¼ä¸ºï¼{}", serviceSubTaskAnswerReq); |
| | | log.info("ãsaveQuestionCache-----saveQuestionAnswerXCHãçå
¥å为ï¼{}", serviceSubTaskAnswerReq); |
| | | return toAjax(serviceSubtaskAnswerService.saveQuestionAnswer(serviceSubTaskAnswerReq, 1L)); |
| | | } |
| | | |
| | | @ApiOperation("è·åæ£è
é®é¢ç»æè®°å½ç¼å(å°ç¨åºå¤é¾)") |
| | | @PostMapping("/getQuestionCacheXCH") |
| | | public AjaxResult getQuestionCacheXCH(@RequestBody ServiceSubTaskCacheReq serviceSubTaskCacheReq) { |
| | | log.info("ãsaveQuestionCache-----getQuestionCacheXCHãçå
¥å为ï¼{}", serviceSubTaskCacheReq); |
| | | return AjaxResult.success(serviceSubtaskAnswerService.getQuestionCache(serviceSubTaskCacheReq, 1L)); |
| | | } |
| | | |
| | | @ApiOperation("æ£è
é®é¢ç»æè®°å½ç¼å(å¤é¾)") |
| | | @PostMapping("/saveQuestionCache") |
| | | public AjaxResult saveQuestionCache(@RequestBody ServiceSubTaskCacheReq serviceSubTaskCacheReq) { |
| | | log.info("serviceSubTaskCacheReqçå
¥å为ï¼{}", serviceSubTaskCacheReq); |
| | | log.info("ãsaveQuestionCache-----saveQuestionCacheãçå
¥å为ï¼{}", serviceSubTaskCacheReq); |
| | | return toAjax(serviceSubtaskAnswerService.saveQuestionCache(serviceSubTaskCacheReq, 0L)); |
| | | } |
| | | |
| | | @ApiOperation("è·åæ£è
é®é¢ç»æè®°å½ç¼å(å¤é¾)") |
| | | @PostMapping("/getQuestionCache") |
| | | public AjaxResult getQuestionCache(@RequestBody ServiceSubTaskCacheReq serviceSubTaskCacheReq) { |
| | | log.info("ãsaveQuestionCache-----getQuestionCacheãçå
¥å为ï¼{}", serviceSubTaskCacheReq); |
| | | return AjaxResult.success(serviceSubtaskAnswerService.getQuestionCache(serviceSubTaskCacheReq, 0L)); |
| | | } |
| | | |
| | |
| | | @ApiOperation("å»çæ¥è¯¢æ£è
é®é¢ç»æ(å¤é¾)") |
| | | @PostMapping("/selectPatQuestionResult") |
| | | public AjaxResult selectPatQuestionResult(@RequestBody ServiceSubTaskQueryReq serviceSubTaskQueryReq) { |
| | | log.info("ãsaveQuestionCache-----selectPatQuestionResultãçå
¥å为ï¼{}", serviceSubTaskQueryReq); |
| | | return AjaxResult.success(serviceSubtaskAnswerService.selectPatQuestionResult(serviceSubTaskQueryReq)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("æ£è
满æåº¦ç»æè®°å½(å¤é¾)") |
| | | @PostMapping("/saveMYDQuestionAnswer") |
| | | public AjaxResult saveMYDQuestionAnswer(@RequestBody ServiceSubTaskMYDAnswerReq serviceSubTaskAnswerReq) { |
| | | log.info("ãsaveQuestionCache-----saveMYDQuestionAnswerãçå
¥å为ï¼{}", serviceSubTaskAnswerReq); |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | String taskId = rsaPublicKeyExample.decryptedData(serviceSubTaskAnswerReq.getTaskId(), pri_key); |
| | | String serialnum = rsaPublicKeyExample.decryptedData(serviceSubTaskAnswerReq.getSerialnum(), pri_key); |
| | | serviceSubTaskAnswerReq.setTaskId(taskId); |
| | | serviceSubTaskAnswerReq.setSerialnum(serialnum); |
| | | return toAjax(serviceSubtaskAnswerService.saveMYDQuestionAnswer(serviceSubTaskAnswerReq)); |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | }); |
| | | return getDataTable2(total, list); |
| | | // return getDataTable(serviceSubtaskService.patItem(ivrTaskcall)); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | ExcelUtil<ServiceSubtaskExprot> util = new ExcelUtil<ServiceSubtaskExprot>(ServiceSubtaskExprot.class); |
| | | util.exportExcel(response, serviceSubtaskExprots, "æ£è
é访信æ¯è¡¨å"); |
| | | } |
| | |
| | | @PostMapping("/phoneCallBackYQ") |
| | | public PhoneCallBackYQVO phoneCallBackYQ(@RequestBody PhoneCallReqYQVO phoneCallReqYQVO) { |
| | | log.info("çµè¯ASRéè¯åè°(é¨ç»®) ï¼{}", phoneCallReqYQVO); |
| | | // SysUser user = getLoginUser().getUser(); |
| | | // phoneCallReqYQVO.setOrgid(user.getOrgid()); |
| | | PhoneCallBackYQVO phoneCallBackYQVO = serviceSubtaskService.phoneCallBackYQ(phoneCallReqYQVO); |
| | | return phoneCallBackYQVO; |
| | | } |
| | |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | return success(serviceTaskService.getScriptInfoByCondition(tid, pid, true, serviceTaskScriptQues.getPatfrom())); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * éè¿ä»»å¡ID忣è
IDè·åå个人çé¢ç®ä¿¡æ¯ |
| | | * |
| | | * @return |
| | | */ |
| | | @ApiOperation("éè¿ä»»å¡IDåè¯çè®°å½å·è·åå个人çé¢ç®ä¿¡æ¯") |
| | | @PostMapping("/getScriptByCondition") |
| | | public AjaxResult getScriptByCondition(@RequestBody ServiceTaskScriptQues serviceTaskScriptQues) { |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | Long taskId = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceTaskScriptQues.getParam1(), pri_key)); |
| | | String zyserialnum = null; |
| | | String mzserialnum = null; |
| | | String tsserialnum = null; |
| | | if (StringUtils.isNotEmpty(serviceTaskScriptQues.getParam2())) |
| | | zyserialnum = rsaPublicKeyExample.decryptedData(serviceTaskScriptQues.getParam2(), pri_key); |
| | | if (StringUtils.isNotEmpty(serviceTaskScriptQues.getParam3())) |
| | | mzserialnum = rsaPublicKeyExample.decryptedData(serviceTaskScriptQues.getParam3(), pri_key); |
| | | if (StringUtils.isNotEmpty(serviceTaskScriptQues.getParam4())) |
| | | tsserialnum = rsaPublicKeyExample.decryptedData(serviceTaskScriptQues.getParam4(), pri_key); |
| | | Map<String, Object> scriptByCondition = serviceTaskService.getScriptByCondition(taskId, zyserialnum, mzserialnum, tsserialnum); |
| | | scriptByCondition.put("zy", serviceTaskScriptQues.getParam2()); |
| | | scriptByCondition.put("mz", serviceTaskScriptQues.getParam3()); |
| | | scriptByCondition.put("tid", serviceTaskScriptQues.getParam1()); |
| | | return success(scriptByCondition); |
| | | } |
| | | |
| | | } |
| | |
| | | package com.ruoyi.web.controller.system; |
| | | |
| | | import com.ruoyi.common.annotation.IpWhitelist; |
| | | import com.ruoyi.common.constant.Constants; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.core.domain.entity.SysMenu; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.core.domain.entity.SysUserDept; |
| | | import com.ruoyi.common.core.domain.model.LoginBody; |
| | | import com.ruoyi.common.core.domain.model.LoginUser; |
| | | import com.ruoyi.common.exception.base.BaseException; |
| | | import com.ruoyi.common.utils.RSAPublicKeyExample; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | |
| | | import com.ruoyi.system.service.ISysDeptService; |
| | | import com.ruoyi.system.service.ISysMenuService; |
| | | import com.smartor.mapper.SysUserDeptMapper; |
| | | import com.smartor.service.impl.ServiceSLTDHealthcareRecordServiceImpl; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | |
| | | /** |
| | |
| | | @Value("${isEncryp}") |
| | | private Integer isEncryp; |
| | | |
| | | |
| | | @Value("${sltd_pub_path}") |
| | | private String sltdPubPath; |
| | | |
| | | |
| | | @Value("${spring.profiles.active}") |
| | | private String active; |
| | | |
| | | @Autowired |
| | | private SysUserDeptMapper sysUserDeptMapper; |
| | | |
| | |
| | | /** |
| | | * åç¹ç»å½æ¹æ³(éè¦é
ç½®IPç½åå) |
| | | * éè¦å¨sys_config表çsys.ip.whitelisä¸ï¼å å
¥IPæè½è®¿é®è¯¥æ¹æ³ |
| | | * <p> |
| | | * åæ°åæ¶ä¸ºç©ºï¼ä¸ç»æ¥è¯¢æ°æ® |
| | | * <p> |
| | | * ãå
¥åè§åã |
| | | * 妿userNameä¸ä¸ºç©ºï¼é£orgidä¹ä¸è½ä¸ºç©º |
| | | * 妿ä¸é¢ä¸¤ä¸ªä¸ºç©ºï¼é£tokenä¸è½ä¸ºç©º |
| | | * |
| | | * @return ç»æ |
| | | */ |
| | | @IpWhitelist |
| | | // @IpWhitelist |
| | | @GetMapping("/SSOLogin") |
| | | public RedirectView SSOLogin(@RequestParam String userName, @RequestParam String orgid, @RequestParam(required = false) String deptId) { |
| | | public RedirectView SSOLogin(@RequestParam(required = false) String userName, @RequestParam(required = false) String orgid, @RequestParam(required = false) String deptId, @RequestParam(required = false) String token) { |
| | | if (StringUtils.isEmpty(userName) && StringUtils.isEmpty(token)) { |
| | | throw new BaseException("åæ°ä¸è½ä¸ºç©º"); |
| | | } |
| | | log.info("--------è¿æ¹æ³äºå?{}", token); |
| | | // éå®åå°å对象(éå®åå°å |
| | | RedirectView redirectView = new RedirectView(); |
| | | // if (active.equals("sltd")) { |
| | | // Map<String, String> headers = buildRequestHeaders(); |
| | | // Map<String, String> requestParams = new HashMap<>(); |
| | | // requestParams.put("token", token); |
| | | // String reqData = HttpUtil.postFormRequest(sltdPubPath + "/checkSsoTokenId", requestParams, headers, null); |
| | | // log.info("ã-----è¿åçç»æä¸ºãï¼{}", reqData); |
| | | // if (StringUtils.isEmpty(reqData)) { |
| | | // throw new BaseException("tokenéªè¯å¤±è´¥"); |
| | | // } |
| | | // |
| | | // Map<String, Object> map = JSONObject.parseObject(reqData, Map.class); |
| | | // if (ObjectUtils.isEmpty(map) || (Integer) map.get("code") != 200) { |
| | | // throw new BaseException("tokenéªè¯å¤±è´¥"); |
| | | // } |
| | | // |
| | | // Map<String, Object> data = (Map<String, Object>) map.get("data"); |
| | | // //åå·¥ç¼ç |
| | | // userName = (String) data.get("accountNo"); |
| | | // } |
| | | log.info("ã-----------userNameçå¼ä¸ºï¼{}ã", userName); |
| | | // çæä»¤ç |
| | | if (StringUtils.isEmpty(userName) || StringUtils.isEmpty(orgid)) { |
| | | throw new BaseException("ç¨æ·åæç»ç»æºææé¨é¨ä¸è½ä¸ºç©º"); |
| | | } |
| | | if (isEncryp == 1) { |
| | | if (isEncryp != null && isEncryp == 1) { |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | userName = rsaPublicKeyExample.decryptedData(userName, pri_key); |
| | | } |
| | | String token = loginService.loginByUserName(userName + "&" + orgid + "&" + deptId); |
| | | if (StringUtils.isEmpty(token)) { |
| | | |
| | | String token2 = loginService.loginByUserName(userName + "&" + orgid + "&" + deptId); |
| | | if (StringUtils.isEmpty(token2)) { |
| | | throw new BaseException("ç»é失败"); |
| | | } |
| | | |
| | | String path = sysConfigService.selectConfigByKey("sys.qddz"); |
| | | if(StringUtils.isEmpty(path)){ |
| | | if (StringUtils.isEmpty(path)) { |
| | | throw new BaseException("请é
ç½®å端å°å"); |
| | | } |
| | | log.info("åç¹ç»ééå®åå°å为ï¼{}",path + "/loginSSO?token=" + token + "&orgid=" + orgid + "&orgname=''" + "&ZuHuID=''&deptCode=''"); |
| | | redirectView.setUrl(path + "/loginSSO?token=" + token + "&orgid=" + orgid + "&orgname=null" + "&ZuHuID=null&deptCode=null"); |
| | | log.info("åç¹ç»ééå®åå°å为ï¼{}", path + "/loginSSO?token=" + token2 + "&orgid=" + orgid + "&orgname=''" + "&ZuHuID=''&deptCode=''"); |
| | | redirectView.setUrl(path + "/loginSSO?token=" + token2 + "&orgid=" + orgid + "&orgname=null" + "&ZuHuID=null&deptCode=null"); |
| | | redirectView.setStatusCode(HttpStatus.MOVED_PERMANENTLY); |
| | | return redirectView; |
| | | } |
| | |
| | | public AjaxResult getDept(@PathVariable String orgid) { |
| | | return AjaxResult.success(sysDeptService.selectDept(orgid)); |
| | | } |
| | | |
| | | |
| | | private Map<String, String> buildRequestHeaders() { |
| | | Map<String, String> headers = new HashMap<>(); |
| | | // headers.put("Content-Type", "application/json"); |
| | | headers.put("app-key", ServiceSLTDHealthcareRecordServiceImpl.APP_KEY); |
| | | return headers; |
| | | } |
| | | } |
| | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import com.ruoyi.common.core.domain.entity.SysUserRole; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.validation.annotation.Validated; |
| | |
| | | |
| | | @Autowired |
| | | private ISysDeptService deptService; |
| | | |
| | | |
| | | @Value("${isAdmin}") |
| | | private List<Long> isAdmin; |
| | | |
| | |
| | | @GetMapping("/list") |
| | | public TableDataInfo list(SysRole role) { |
| | | startPage(); |
| | | SysUser user = SecurityUtils.getLoginUser().getUser(); |
| | | role.setOrgid(user.getOrgid()); |
| | | List<SysRole> list = roleService.selectRoleList(role); |
| | | return getDataTable(list); |
| | | } |
| | |
| | | @GetMapping("/list") |
| | | public TableDataInfo list(SysUser user) { |
| | | startPage(); |
| | | LoginUser loginUser = getLoginUser(); |
| | | String orgid = loginUser.getUser().getOrgid(); |
| | | user.setOrgid(orgid); |
| | | List<SysUser> list = userService.selectUserList(user); |
| | | return getDataTable(list); |
| | | } |
| | |
| | | @Test |
| | | public void cc() { |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | String s = rsaPublicKeyExample.encryptedData("1012320966", "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALQzqW1EIXBKGMu+2oEYSB5gM7Ox/ihyYTeeoE0yPX1qtt4++5yNOeTBVd6EEM4iKzVEzWj6REIWVwaSNPn/SvUCAwEAAQ=="); |
| | | String s = rsaPublicKeyExample.encryptedData("20250815001094", "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALQzqW1EIXBKGMu+2oEYSB5gM7Ox/ihyYTeeoE0yPX1qtt4++5yNOeTBVd6EEM4iKzVEzWj6REIWVwaSNPn/SvUCAwEAAQ=="); |
| | | System.out.println("å å¯ç»æä¸ºï¼" + s); |
| | | String s1 = rsaPublicKeyExample.decryptedData(s, "MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEAtDOpbUQhcEoYy77agRhIHmAzs7H+KHJhN56gTTI9fWq23j77nI055MFV3oQQziIrNUTNaPpEQhZXBpI0+f9K9QIDAQABAkB3n0fcWfrcoMN/FU3VnrnZOEF6CzFNxkgU9P8y36QECWKZ9JhYQkNpKrMC9oXlN3VSaRigV7B+L/I/a0Rs1W+tAiEA4jx7xcXJ4y4BNwAmVHt6NNiEkzIwWnwC/0qsEu8NsOsCIQDL6MMn1D2uznC6OuOWpxDCkBh1JL1NzZTZeH2G+hj7nwIgKGAC9tjFnvWm4dn0/T7MIIJDpsFeP8fCAS2iZ/6hwuECIAS/eLvWr1EAsZNEh8QcQ8GkBU3E+ztyjAK8UX/xFt/VAiBf79/1tDErX4/DChecM8w3c3DhbBcjuE3fHZn7p6/UKg=="); |
| | | System.out.println("è§£å¯ç»æä¸ºï¼"+s1); |
| | |
| | | # driverClassName: com.mysql.cj.jdbc.Driver |
| | | |
| | | # å
¬å¸äº |
| | | # url: jdbc:mysql://116.62.18.175:6002/smartor_xinhua?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 |
| | | # username: hxsoft |
| | | # password: Hxerp2000 |
| | | # driverClassName: com.mysql.cj.jdbc.Driver |
| | | # url: jdbc:mysql://116.62.18.175:6002/smartor_lishui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 |
| | | # username: hxsoft |
| | | # password: Smartor.2023 |
| | | # driverClassName: com.mysql.cj.jdbc.Driver |
| | | # å
¬å¸æ¬å° |
| | | url: jdbc:mysql://haiershi.a1.luyouxia.net:23844/smartor_lishui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 |
| | | username: smartor |
| | | password: Smartor.2023 |
| | | driverClassName: com.mysql.cj.jdbc.Driver |
| | | # url: jdbc:mysql://127.0.0.1:2881/smartor-lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 |
| | | # username: root@sys |
| | | # password: |
| | | # driverClassName: com.mysql.cj.jdbc.Driver |
| | | |
| | | # # 髿¯æ°æ®åºé
ç½® |
| | | # url: jdbc:postgresql://127.0.0.1:5432/smartorlishui |
| | |
| | | # password: Smartor.2023 |
| | | # driverClassName: com.mysql.cj.jdbc.Driver |
| | | # 仿°æ®æºå¼å
³/é»è®¤å
³é(å
¬å¸) |
| | | # enabled: true |
| | | # url: jdbc:sqlserver://116.62.18.175:6001;DatabaseName=iv-ywey;encrypt=false;SelectMethod=cursor |
| | | # username: sa |
| | | # password: Hxerp2000 |
| | | # driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver |
| | | # enabled: true |
| | | # url: jdbc:sqlserver://116.62.18.175:6001;DatabaseName=iv-ywey;encrypt=false;SelectMethod=cursor |
| | | # username: sa |
| | | # password: Hxerp2000 |
| | | # driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver |
| | | |
| | | # 仿°æ®æºå¼å
³/é»è®¤å
³é(ä¹ä¹äºé¢) |
| | | # enabled: true |
| | |
| | | multi-statement-allow: true |
| | | # redis é
ç½® |
| | | redis: |
| | | host: 192.168.100.10 |
| | | host: 127.0.0.1 |
| | | port: 6020 |
| | | database: 0 |
| | | password: Smartor |
| | |
| | | sql-column-case: camel |
| | | show-sql: true #é
ç½®æå°SQL |
| | | page-config: |
| | | enabled: false #ç¦ç¨å页 |
| | | size: size |
| | | page: page |
| | | default-page: 1 |
| | |
| | | |
| | | #æ°åå»é¢å¤é¾è¯·æ±IPå端å£å· |
| | | req_path: 8093 |
| | | #localIP: https://wx.lihusmart.com |
| | | localIP: https://wx.lihusmart.com |
| | | #丽水å¤é¾è¯·æ±IPå端å£å· |
| | | localIP: http://221.12.19.26 |
| | | #localIP: http://221.12.19.26 |
| | | |
| | | #è·åæ£è
ä¿¡æ¯URL(ååæä¾) |
| | | hosp_info_url: http://esb-core-rest.wowjoy.cn/esb/exchange |
| | |
| | | uploadSwitch: 0 |
| | | |
| | | # æå®asråè°çurlè·¯å¾(æ¬å°) |
| | | ASRCallBackPath: http://192.168.100.10:8095/smartor/serviceSubtask/phoneCallBackYQ |
| | | ASRCallBackPath: http://192.168.100.127:8095/smartor/serviceSubtask/phoneCallBackYQ |
| | | #ææIP(æ¬å°) |
| | | hangup: http://192.168.100.6:8089/hangup |
| | | hangup: http://192.168.100.33:5060/hangup |
| | | #fsæä½¿ç¨çé¿éçapp_key(æ¬å°) |
| | | app_key_yq: ZurNHpaQLq6P55YS |
| | | |
| | |
| | | isAdmin: 1,2,3,4,5,6,7,8,9,10,11,12,13 |
| | | |
| | | #é访å»é¢ï¼1æ°å 2丽水 |
| | | visitHosp: 2 |
| | | visitHosp: 1 |
| | | |
| | | isEncryp: |
| | | isEncryp: |
| | | |
| | | dealDeptCode: |
| | | |
| | | # å端ip |
| | | qdip: 192.168.100.132 |
| | |
| | | #admin管çåuserId |
| | | isAdmin: 1,2,3,4,5,6,7,8,9,10,11,12,13 |
| | | |
| | | #é访å»é¢ï¼1æ°å 2丽水 3çç«åå¾· |
| | | visitHosp: 3 |
| | | #é访å»é¢ï¼1æ°å 2丽水 3å¸ä¸ 4çç«åå¾· |
| | | visitHosp: 4 |
| | | |
| | | #ç¨æ·é»è®¤å¯ç |
| | | userPwd: sltd@0230 |
| | |
| | | #æ¯å¦å å¯ 0ä¸å 1å å¯ |
| | | isEncryp: 0 |
| | | |
| | | |
| | |
| | | # å½é
åèµæºæä»¶è·¯å¾ |
| | | basename: i18n/messages |
| | | profiles: |
| | | active: hzszlyy |
| | | active: druid |
| | | # æä»¶ä¸ä¼ |
| | | servlet: |
| | | multipart: |
| | |
| | | redirect_uri: "http://172.20.111.142:8096/login" |
| | | state: "smartor" # ä½ ä»¬ç³»ç»æ è¯ |
| | | scope: "openid%20roles%20profile" |
| | | #åç¹ç»éç½ååIPé
ç½® |
| | | whitelist: |
| | | ips: |
| | | |
| | | |
| | | # 鲿¢XSSæ»å» |
| | | xss: |
| | |
| | | <!-- é
ç½®é»è®¤çæ§è¡å¨.SIMPLEå°±æ¯æ®éæ§è¡å¨;REUSEæ§è¡å¨ä¼éç¨é¢å¤çè¯å¥(prepared statements);BATCHæ§è¡å¨å°éç¨è¯å¥å¹¶æ§è¡æ¹éæ´æ° --> |
| | | <setting name="defaultExecutorType" value="SIMPLE"/> |
| | | <!-- æå® MyBatis æç¨æ¥å¿çå
·ä½å®ç° --> |
| | | <!-- <setting name="logImpl" value="STDOUT_LOGGING"/>--> |
| | | <setting name="logImpl" value="STDOUT_LOGGING"/> |
| | | <!-- 使ç¨é©¼å³°å½åæ³è½¬æ¢å段 --> |
| | | <!-- <setting name="mapUnderscoreToCamelCase" value="true"/> --> |
| | | </settings> |
| | |
| | | import java.beans.PropertyEditorSupport; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.TreeMap; |
| | | |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | |
| | | rspData.setTotal(total); |
| | | return rspData; |
| | | } |
| | | protected Map<String,Object> getDataTable3(long total, List<?> list) { |
| | | Map<String,Object> rspData = new TreeMap<>(); |
| | | rspData.put("code",HttpStatus.SUCCESS); |
| | | rspData.put("msg","æ¥è¯¢æå"); |
| | | rspData.put("rows",list); |
| | | rspData.put("total",total); |
| | | return rspData; |
| | | } |
| | | |
| | | /** |
| | | * è¿åæå |
| | |
| | | redisTemplate.opsForValue().set(key, value); |
| | | } |
| | | |
| | | public <T> void setCacheList(final String key, final List<T> values) { |
| | | redisTemplate.opsForList().rightPushAll(key, values); |
| | | } |
| | | |
| | | /** |
| | | * ç¼ååºæ¬ç对象ï¼IntegerãStringãå®ä½ç±»ç |
| | | * |
| | |
| | | public Collection<String> keys(final String pattern) { |
| | | return redisTemplate.keys(pattern); |
| | | } |
| | | |
| | | /** |
| | | * è·åå½åkeyå¼çæ°é |
| | | * @param key |
| | | * @return |
| | | */ |
| | | public Long getListSize(String key) { |
| | | return redisTemplate.opsForList().size(key); |
| | | } |
| | | } |
| | |
| | | * åéç±»åæä¸¾ |
| | | */ |
| | | public enum ServiceFromEnum { |
| | | DMT(1, "å¤åªä½"), |
| | | RG(1, "人工"), |
| | | ZZ(2, "纸质"), |
| | | DH(3, "çµè¯"), |
| | | DX(4, "çä¿¡"), |
| | |
| | | httpMethod.setRequestEntity(entity); |
| | | |
| | | int resultCode = httpClient.executeMethod(httpMethod); |
| | | // è·åååºå¤´çå符ç¼ç |
| | | String contentType = httpMethod.getResponseHeader("Content-Type") == null ? |
| | | null : httpMethod.getResponseHeader("Content-Type").getValue(); |
| | | String charset = "UTF-8"; // é»è®¤ä½¿ç¨UTF-8 |
| | | |
| | | if (contentType != null && contentType.contains("charset=")) { |
| | | String[] parts = contentType.split("charset="); |
| | | if (parts.length > 1) { |
| | | charset = parts[1].split(";")[0].trim(); |
| | | } |
| | | } |
| | | |
| | | InputStream inputStream = httpMethod.getResponseBodyAsStream(); |
| | | if (inputStream == null) { |
| | | throw new HttpRequestException(RESPONSE_NULL_ERROR_CODE, "ååºä¸ºnull"); |
| | | } |
| | | BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); |
| | | BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream,charset)); |
| | | StringBuffer stringBuffer = new StringBuffer(); |
| | | String str = ""; |
| | | while ((str = reader.readLine()) != null) { |
| | |
| | | public static void clearPage() { |
| | | PageHelper.clearPage(); |
| | | } |
| | | |
| | | /** |
| | | * 计ç®åç§»é |
| | | */ |
| | | public static Integer getOffset(Integer pageNum, Integer pageSize) { |
| | | if (pageNum == null) pageNum = 1; |
| | | if (pageSize == null) pageSize = 10; |
| | | return (pageNum - 1) * pageSize; |
| | | |
| | | } |
| | | } |
| | |
| | | .authorizeRequests() |
| | | // 对äºç»å½login 注åregister éªè¯ç captchaImage å
许å¿åè®¿é® |
| | | .antMatchers("/login", "/register", "/captchaImage", "/qrcode/generateStaticHtml", "/qrcode/getQRcode", "/qrcode/getFormDate", "/chat", "/system/file/admin/uploadFile", "/smartor/dingtalk/sendNotification", "/patient/read/patientInfo", "/socket", "/API_ESB_Service", "/API_ESB_Service/Run", "/magic/web/**", "/smartor/serviceSubtask/phoneCallBack", "/smartor/serviceSubtask/taskPull", "/smartor/serviceSubtask/phoneCallBackYQ", "/smartor/robot/callstatus", "/smartor/robot/aidialog", "/smartor/robot/cdrinfo", "/getToken", "/smartor/subtaskAnswer/getQuestionCache", "/smartor/subtaskAnswer/saveQuestionCache", "/smartor/servicetask/getScriptInfoByCondition", "/smartor/subtaskAnswer/saveQuestionAnswer", "/smartor/import/download", "/smartor/serviceSubtask/recordAccept", "/smartor/outPath/getInfoByParam", "/smartor/serviceExternal/addDeptInfo", "/smartor/serviceExternal/**", "/sso/**","/smartor/sltdHealthcareRecord/**","/smartor/servicetask/getScriptByCondition","/smartor/subtaskAnswer/saveMYDQuestionAnswer").permitAll() |
| | | .antMatchers(HttpMethod.GET, "/SSOLogin/**").permitAll() |
| | | // éæèµæºï¼å¯å¿åè®¿é® |
| | | .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**","/getDept/*").permitAll().antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() |
| | | .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**","/getDept/*","/SSOLogin/**").permitAll().antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() |
| | | .antMatchers("/smartor/organization/list").permitAll() |
| | | // é¤ä¸é¢å¤çææè¯·æ±å
¨é¨éè¦é´æè®¤è¯ |
| | | .anyRequest().authenticated().and().headers().frameOptions().disable(); |
| | |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.sql.Connection; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Properties; |
| | | |
| | | import static com.ruoyi.common.utils.SecurityUtils.getLoginUser; |
| | |
| | | |
| | | // è·ååå§ SQL |
| | | String originalSql = (String) metaObject.getValue("delegate.boundSql.sql"); |
| | | //æ²³åçç¹æ®è¦æ±ï¼ä¸è¦orgid |
| | | if (active.equals("hn")) { |
| | | String s = removeOrgIdCondition(originalSql); |
| | | // å°ä¿®æ¹åç SQL åå |
| | | metaObject.setValue("delegate.boundSql.sql", s); |
| | | return invocation.proceed(); |
| | | } |
| | | |
| | | // è·åå½å orgid |
| | | String orgid = null; |
| | |
| | | } catch (Exception e) { |
| | | // e.printStackTrace(); |
| | | } |
| | | if (StringUtils.isEmpty(orgid)) { |
| | | if (StringUtils.isEmpty(orgid) || active.equals("hn")) { |
| | | return invocation.proceed(); |
| | | } |
| | | |
| | |
| | | return invocation.proceed(); |
| | | } |
| | | |
| | | private String removeOrgIdCondition(String sql) { |
| | | // 转æ¢ä¸ºå°å便äºå¹é
ï¼ä½ä¿çåå§å¤§å°å |
| | | String lowerSql = sql.toLowerCase(); |
| | | |
| | | // æ¥æ¾ WHERE åå¥çä½ç½® |
| | | int whereIndex = lowerSql.indexOf("where"); |
| | | if (whereIndex == -1) { |
| | | return sql; // 没æ WHERE åå¥ |
| | | } |
| | | |
| | | // æå WHERE ä¹åçé¨å |
| | | String whereClause = sql.substring(whereIndex + 5); |
| | | String beforeWhere = sql.substring(0, whereIndex); |
| | | |
| | | // ä½¿ç¨æ£å表达å¼å岿¡ä»¶ |
| | | String[] conditions = whereClause.split("(?i)\\s+(AND|OR)\\s+"); |
| | | |
| | | // è¿æ»¤æå
å« orgid çæ¡ä»¶ |
| | | List<String> filteredConditions = new ArrayList<>(); |
| | | for (String condition : conditions) { |
| | | if (!containsOrgId(condition)) { |
| | | filteredConditions.add(condition.trim()); |
| | | } |
| | | } |
| | | |
| | | // éæ°æå»º SQL |
| | | if (filteredConditions.isEmpty()) { |
| | | return beforeWhere.trim(); |
| | | } else { |
| | | String newWhereClause = String.join(" AND ", filteredConditions); |
| | | return beforeWhere + "WHERE " + newWhereClause; |
| | | } |
| | | } |
| | | |
| | | private boolean containsOrgId(String condition) { |
| | | // æ£æ¥æ¡ä»¶æ¯å¦å
å« orgidï¼èèå«åï¼ |
| | |
| | | |
| | | public String loginByUserName(String userName) { |
| | | SysUser sysUser = userService.selectUserByUserNameAndDeptId(userName); |
| | | log.info("---------sysUserçå¼ä¸º:{}", sysUser); |
| | | if (ObjectUtils.isNotEmpty(sysUser)) { |
| | | // æå»ºç»å½ç¨æ·å¯¹è±¡ |
| | | LoginUser loginUser = new LoginUser(); |
| | |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.ruoyi</groupId> |
| | | <artifactId>smartor</artifactId> |
| | | <version>3.8.5</version> |
| | | <artifactId>ruoyi-system</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.ruoyi</groupId> |
| | | <artifactId>ruoyi-system</artifactId> |
| | | <artifactId>smartor</artifactId> |
| | | <version>3.8.5</version> |
| | | </dependency> |
| | | |
| | | </dependencies> |
| | | |
| | | </project> |
| | | </project> |
| | |
| | | |
| | | /** |
| | | * åæ¥ä»»å¡ |
| | | * |
| | | * @param |
| | | * @return |
| | | */ |
| | |
| | | //忥ä½é¢ç
äººä¿¡æ¯ |
| | | List<Map<String, Object>> syncTemp = syncList.stream().filter(row -> row.get("syncName").equals("pat_med_inhosp")).collect(Collectors.toList()); |
| | | if (syncTemp.size() > 0) { |
| | | count+=syncMedInhosp(syncTemp.get(0).get("startTime") + "", endTime); |
| | | utilsMapper.updateSql("update sys_sync_time set startTime='"+endTime+"' where syncName='pat_med_inhosp' "); |
| | | count += syncMedInhosp(syncTemp.get(0).get("startTime") + "", endTime); |
| | | utilsMapper.updateSql("update sys_sync_time set startTime='" + endTime + "' where syncName='pat_med_inhosp' "); |
| | | } |
| | | |
| | | //忥é¨è¯ä¿¡æ¯ |
| | | syncTemp = syncList.stream().filter(row -> row.get("syncName").equals("pat_med_outhosp")).collect(Collectors.toList()); |
| | | if (syncTemp.size() > 0) { |
| | | count+=syncOuthosp(syncTemp.get(0).get("startTime") + "", endTime); |
| | | utilsMapper.updateSql("update sys_sync_time set startTime='"+endTime+"' where syncName='pat_med_outhosp' "); |
| | | count += syncOuthosp(syncTemp.get(0).get("startTime") + "", endTime); |
| | | utilsMapper.updateSql("update sys_sync_time set startTime='" + endTime + "' where syncName='pat_med_outhosp' "); |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | /** |
| | | * 忥æ£è
åºæ¬ä¿¡æ¯ |
| | | * |
| | | * @param |
| | | * @return |
| | | */ |
| | | private Integer syncArchive(String startTime,String endTime) { |
| | | private Integer syncArchive(String startTime, String endTime) { |
| | | Integer count = 0; |
| | | PatArchive pa = new PatArchive(); |
| | | pa.setLastStartTime(startTime); |
| | |
| | | count += patArchiveMapper.insertPatArchiveSingle(pm); |
| | | |
| | | } |
| | | }catch (Exception ex){ |
| | | log.info("å¯åæ£è
åºæ¬ä¿¡æ¯:"+ex.getMessage()); |
| | | } catch (Exception ex) { |
| | | log.info("å¯åæ£è
åºæ¬ä¿¡æ¯:" + ex.getMessage()); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | /** |
| | | * 忥åºå
¥é¢ä¿¡æ¯ |
| | | * |
| | | * @param |
| | | * @return |
| | | */ |
| | | private Integer syncMedInhosp(String startTime,String endTime) { |
| | | private Integer syncMedInhosp(String startTime, String endTime) { |
| | | Integer count = 0; |
| | | PatMedInhosp patMedInhosp = new PatMedInhosp(); |
| | | patMedInhosp.setLastStartTime(startTime); |
| | |
| | | List<PatMedInhosp> patMedInhospList = chMapper.selectPatMedInhospList(patMedInhosp); |
| | | log.info("å¯åæ¥åºå
¥é¢æ°é" + patMedInhospList.size()); |
| | | for (PatMedInhosp pm : patMedInhospList) { |
| | | List<PatArchive> patArchives1=new ArrayList<>(); |
| | | List<PatArchive> patArchives1 = new ArrayList<>(); |
| | | |
| | | try { |
| | | //æ£è
åºæ¬ä¿¡æ¯ |
| | | if(ObjectUtils.isNotEmpty(pm.getPatno())) { |
| | | if (ObjectUtils.isNotEmpty(pm.getPatno())) { |
| | | PatArchive patArchive = new PatArchive(); |
| | | patArchive.setPatientno(pm.getPatno()); |
| | | patArchive.setPageSize(5); |
| | |
| | | } |
| | | } |
| | | } |
| | | }catch (Exception ex) { |
| | | } catch (Exception ex) { |
| | | log.info("忣è
åºæ¬ä¿¡æ¯:" + ex.getMessage()); |
| | | } |
| | | |
| | | try { |
| | | if(patArchives1.size()>0) { |
| | | if (patArchives1.size() > 0) { |
| | | pm.setPatid(patArchives1.get(0).getId()); |
| | | } |
| | | //忥åºå
¥é¢ |
| | |
| | | |
| | | /** |
| | | * 忥é¨è¯ä¿¡æ¯ |
| | | * |
| | | * @param |
| | | * @return |
| | | */ |
| | | private Integer syncOuthosp(String startTime,String endTime) { |
| | | private Integer syncOuthosp(String startTime, String endTime) { |
| | | Integer count = 0; |
| | | PatMedOuthosp patMedOuthosp = new PatMedOuthosp(); |
| | | patMedOuthosp.setLastStartTime(startTime); |
| | |
| | | |
| | | } |
| | | } |
| | | }catch (Exception ex) { |
| | | } catch (Exception ex) { |
| | | log.info("忣è
åºæ¬ä¿¡æ¯:" + ex.getMessage()); |
| | | } |
| | | |
| | |
| | | @Override |
| | | public Integer selectPatMedInhospList(PatMedInhosp patMedInhosp) { |
| | | List<PatMedInhosp> patMedInhospList = chMapper.selectPatMedInhospList(patMedInhosp); |
| | | log.info("å¯åæ¥ç
人æ°é"+patMedInhospList.size()); |
| | | log.info("å¯åæ¥ç
人æ°é" + patMedInhospList.size()); |
| | | for (PatMedInhosp pm : patMedInhospList) { |
| | | PatArchive patArchive = new PatArchive(); |
| | | patArchive.setPatientno(pm.getPatno()); |
| | |
| | | |
| | | @Override |
| | | public Boolean hnDataGather(HnDataGatherVO hnDataGatherVO) { |
| | | if(ObjectUtils.isEmpty(hnDataGatherVO.getStartTime()) ) |
| | | hnDataGatherVO.setStartTime(new Date()); |
| | | if(ObjectUtils.isEmpty(hnDataGatherVO.getEndTime()) ) |
| | | hnDataGatherVO.setEndTime(new Date()); |
| | | if (ObjectUtils.isEmpty(hnDataGatherVO.getStartTime())) hnDataGatherVO.setStartTime(new Date()); |
| | | if (ObjectUtils.isEmpty(hnDataGatherVO.getEndTime())) hnDataGatherVO.setEndTime(new Date()); |
| | | LocalDate startDate = hnDataGatherVO.getStartTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | LocalDate endDate = hnDataGatherVO.getEndTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | |
| | |
| | | @Override |
| | | public Integer selectUserList(SysUser sysUser) { |
| | | List<SysUser> sysUserList = chMapper.selectUserList(sysUser); |
| | | SysUser suerTemp=new SysUser(); |
| | | SysUser suerTemp = new SysUser(); |
| | | List<SysUserDept> sysUserDeptAll = chMapper.yhyksxx(suerTemp); |
| | | log.info("sysUserListçééå°çæ°é为ï¼{}", sysUserList.size()); |
| | | int i =0;// sysUser2Mapper.batchUser(sysUserList); |
| | | int i = 0;// sysUser2Mapper.batchUser(sysUserList); |
| | | for (SysUser sysUser1 : sysUserList) { |
| | | // log.info("sysUser1çID为ï¼{}", sysUser1.getUserId()); |
| | | // log.info("sysUser1çHISUSERID为ï¼{}", sysUser1.getHisUserId()); |
| | |
| | | |
| | | //æ°å¢ç¨æ·ä¸é¨é¨ |
| | | //List<SysUserDept> sysUserDept = chMapper.yhyksxx(sysUser1); |
| | | List<SysUserDept> sysUserDept = sysUserDeptAll.stream() |
| | | .filter((SysUserDept b) -> b.getUserCode().equals(sysUser1.getHisUserId())) |
| | | .collect(Collectors.toList()); |
| | | List<SysUserDept> sysUserDept = sysUserDeptAll.stream().filter((SysUserDept b) -> b.getUserCode().equals(sysUser1.getHisUserId())).collect(Collectors.toList()); |
| | | |
| | | for (SysUserDept sud : sysUserDept) { |
| | | if (usersTemp.size() > 0) { |
| | | sud.setUserId(usersTemp.get(0).getUserId()); |
| | | SysDept sysDeptTemp = sysDept2Mapper.selectDeptByCode(sud.getDeptCode()); |
| | | if (sysDeptTemp != null) |
| | | sud.setDeptId(sysDeptTemp.getDeptId()); |
| | | sysUserDeptMapper.insertSysUserDept(sud); |
| | | } |
| | | } |
| | |
| | | |
| | | @Override |
| | | public Integer selectDeptList(SysDept dept) { |
| | | int count=0; |
| | | int count = 0; |
| | | List<SysDept> sysDepts = chMapper.selectDeptList(dept); |
| | | log.info("selectDeptListçééå°çæ°é为ï¼{}", sysDepts.size()); |
| | | // count = sysDept2Mapper.batchDept(sysDepts); |
| | | for(SysDept row : sysDepts){ |
| | | SysDept sysDeptTemp= sysDept2Mapper.selectDeptByCode(row.getDeptCode()); |
| | | if(sysDeptTemp!=null&&sysDeptTemp.getDeptName()!=null){ |
| | | // count = sysDept2Mapper.batchDept(sysDepts); |
| | | for (SysDept row : sysDepts) { |
| | | SysDept sysDeptTemp = sysDept2Mapper.selectDeptByCode(row.getDeptCode(), null); |
| | | if (sysDeptTemp != null && sysDeptTemp.getDeptName() != null) { |
| | | row.setDeptId(sysDeptTemp.getDeptId()); |
| | | count+=sysDept2Mapper.updateDept(row); |
| | | }else{ |
| | | count+=sysDept2Mapper.insertDept(row); |
| | | count += sysDept2Mapper.updateDept(row); |
| | | } else { |
| | | count += sysDept2Mapper.insertDept(row); |
| | | } |
| | | } |
| | | return count; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ£æ¥å¹¶æ§è¡åè¡¨çæ ¸å¿æ¹æ³ |
| | | * |
| | | * @param tableName è¦æ£æ¥ç表å |
| | | */ |
| | | private synchronized void checkAndShard(String tableName) { |
| | | long currentCount = shardingMapper.getTableCount(tableName); |
| | | |
| | | if (currentCount >= SHARDING_THRESHOLD) { |
| | | log.warn("表 '{}' 已达å°å表éå¼ {}ï¼å夿§è¡å表æä½...", tableName, SHARDING_THRESHOLD); |
| | | |
| | | String newTableName = tableName + "_" + java.time.LocalDate.now().format(java.time.format.DateTimeFormatter.ofPattern("yyyy_MM")); |
| | | Long maxId = shardingMapper.getMaxId(tableName); |
| | | if (maxId == null) maxId = 0L; |
| | | |
| | | shardingMapper.renameTable(tableName, newTableName); |
| | | log.info("å·²å°è¡¨ '{}' éå½å为 '{}'", tableName, newTableName); |
| | | |
| | | shardingMapper.createLikeTable(tableName, newTableName); |
| | | log.info("å·²å建æ°è¡¨ '{}'", tableName); |
| | | |
| | | shardingMapper.setAutoIncrement(tableName, maxId + 1); |
| | | log.info("已设置æ°è¡¨ '{}' çèªå¢IDèµ·å§å¼ä¸º {}", tableName, maxId + 1); |
| | | |
| | | log.info("表 '{}' çå表æä½å®æï¼", tableName); |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.google.gson.Gson; |
| | | import com.ruoyi.common.core.redis.RedisCache; |
| | | import com.ruoyi.common.dx.MessageSend; |
| | | import com.ruoyi.common.enums.MsgLSEnum; |
| | | import com.ruoyi.common.enums.ServiceFromEnum; |
| | | import com.ruoyi.common.enums.VisitSendStateEnum; |
| | | import com.ruoyi.common.enums.WxGZHEnum; |
| | | import com.ruoyi.common.utils.HttpUtil; |
| | | import com.ruoyi.common.utils.OkHttpExample; |
| | |
| | | import com.ruoyi.system.service.ISysConfigService; |
| | | import com.smartor.common.LSHospTokenUtil; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.mapper.HeLibraryMapper; |
| | | import com.smartor.mapper.ServiceSubtaskMapper; |
| | | import com.smartor.mapper.ServiceTaskMapper; |
| | | import com.smartor.mapper.SysUserImportMapper; |
| | | import com.smartor.mapper.*; |
| | | import com.smartor.service.*; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | |
| | | private IHNGatherPatArchiveService ihnGatherPatArchiveService; |
| | | |
| | | @Autowired |
| | | private IServiceSLTDHealthcareRecordService serviceSLTDHealthcareRecordService; |
| | | |
| | | @Autowired |
| | | private SysUserImportMapper sysUserImportMapper; |
| | | |
| | | @Autowired |
| | |
| | | |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | |
| | | |
| | | @Value("${localIP}") |
| | | private String localIP; |
| | |
| | | |
| | | @Autowired |
| | | IXHGatherPatArchiveService ixhGatherPatArchiveService; |
| | | |
| | | @Autowired |
| | | ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper; |
| | | |
| | | @Autowired |
| | | ICollectHISService icollectHis; |
| | |
| | | // æ²³åæ°æ®éé |
| | | HnDataGatherVO hnDataGatherVO = new HnDataGatherVO(); |
| | | log.info("ãdealHisDataãæ²³åå¼å§ééæ°æ®"); |
| | | Date startTime = Date.from(yesterdayZero.atZone(ZoneId.systemDefault()).toInstant()); |
| | | Date endTime = Date.from(todayZero.atZone(ZoneId.systemDefault()).toInstant()); |
| | | |
| | | hnDataGatherVO.setStartTime(startTime); |
| | | hnDataGatherVO.setEndTime(endTime); |
| | | ihnGatherPatArchiveService.hnDataGather(hnDataGatherVO); |
| | | log.info("ãdealHisDataãæ²³åç»æééæ°æ®"); |
| | | } catch (Exception e) { |
| | | log.error("ãdealHisDataãæ²³åæ°æ®ééå¼å¸¸", e); |
| | | } |
| | | } else if (active.trim().equals("sltd")) { |
| | | try { |
| | | // çç«åå¾·æ°æ®éé |
| | | log.info("ãdealHisDataãçç«åå¾·âå
¥é¢âå¼å§ééæ°æ®"); |
| | | String yesterday = LocalDate.now().minusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); |
| | | ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO(); |
| | | serviceSLTDInhospReqVO.setOrgId("20001001"); |
| | | serviceSLTDInhospReqVO.setCampusId(30001002L); |
| | | serviceSLTDInhospReqVO.setStartHeadTime(yesterday); |
| | | serviceSLTDInhospReqVO.setStartTailTime(yesterday); |
| | | List<String> list = new ArrayList<>(); |
| | | list.add("FH0108.02"); |
| | | serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list); |
| | | serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO); |
| | | log.info("ãdealHisDataãçç«åå¾·âå
¥é¢âçµæééæ°æ®"); |
| | | |
| | | log.info("ãdealHisDataãçç«åå¾·â鍿¥è¯âå¼å§ééæ°æ®"); |
| | | serviceSLTDInhospReqVO.setStartHeadTime(null); |
| | | serviceSLTDInhospReqVO.setStartTailTime(null); |
| | | serviceSLTDInhospReqVO.setEncounterTimeStart(yesterday); |
| | | serviceSLTDInhospReqVO.setEncounterTimeEnd(yesterday); |
| | | List<String> list1 = new ArrayList<>(); |
| | | list1.add("FH0108.01"); |
| | | list1.add("FH0108.03"); |
| | | serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list1); |
| | | serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO); |
| | | log.info("ãdealHisDataãæ²³åç»â鍿¥è¯âæééæ°æ®"); |
| | | |
| | | log.info("ãdealHisDataãçç«åå¾·âåºé¢âå¼å§ééæ°æ®"); |
| | | serviceSLTDInhospReqVO.setStartHeadTime(null); |
| | | serviceSLTDInhospReqVO.setStartTailTime(null); |
| | | serviceSLTDInhospReqVO.setEncounterTimeStart(null); |
| | | serviceSLTDInhospReqVO.setEncounterTimeEnd(null); |
| | | serviceSLTDInhospReqVO.setPreOutHospitalHeadDate(yesterday); |
| | | serviceSLTDInhospReqVO.setPreOutHospitalTailDate(yesterday); |
| | | List<String> list2 = new ArrayList<>(); |
| | | list2.add("FH0108.02"); |
| | | serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list2); |
| | | serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO); |
| | | log.info("ãdealHisDataãæ²³åç»âåºé¢âæééæ°æ®"); |
| | | |
| | | } catch (Exception e) { |
| | | log.error("ãdealHisDataãçç«åå¾·æ°æ®ééå¼å¸¸", e); |
| | | } |
| | | } |
| | | } |
| | |
| | | commonTaskcallMQ.setTaskid(serviceTask.getTaskid()); |
| | | commonTaskcallMQ.setPreachform(serviceTask.getPreachform()); |
| | | commonTaskcallMQ.setSendType("2"); |
| | | sfHandlle(commonTaskcallMQ, localIP); |
| | | |
| | | //éè¿ä»»å¡IDæ¿å°æ£è
ä¿¡æ¯,å¹¶ä¸é访æ¶é´å¾æ¯ä»å¤©ä¹åç |
| | | ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); |
| | | serviceSubtaskVO.setTaskid(commonTaskcallMQ.getTaskid()); |
| | | serviceSubtaskVO.setSendstate(2L); |
| | | serviceSubtaskVO.setVisitTime(new Date()); |
| | | List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.queryServiceSubtaskList(serviceSubtaskVO); |
| | | for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { |
| | | sfHandlle(serviceSubtask); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * å¤çè¡¥å¿ä»»å¡ |
| | | */ |
| | | public void compensateTask() { |
| | | //è·åå°sendstate=3 å¹¶ä¸ visit_time为ä»å¤©çsubtask |
| | | ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); |
| | | serviceSubtaskVO.setSendstate(3L); |
| | | serviceSubtaskVO.setVisitTime(new Date()); |
| | | List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); |
| | | for (ServiceSubtask serviceSubtask : serviceSubtaskList) { |
| | | //æ ¹æ®å½åçæ§è¡æ¹å¼ï¼è·åä¸ä¸ç§æ§è¡æ¹å¼ |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); |
| | | serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid()); |
| | | serviceSubtaskPreachform.setSubid(serviceSubtask.getId()); |
| | | serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid()); |
| | | List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); |
| | | //è·åå½åæ§è¡æ¹å¼çåºå· |
| | | 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()) { |
| | | //1å
æ£æ¥ä¸ä¸ï¼æ¯ä¸æ¯ææ§è¡ç¶ææ¯å®æçï¼æä¹åå·²ç»æå®çäºï¼æ²¡æå°servuce_subtaskçç¶ææ¹æåï¼è¿é忣æ¥ä¸ä¸ï¼ |
| | | boolean finishState = serviceSubtaskPreachforms.stream().allMatch(item -> item.getSendstate().equals("9")); |
| | | if (finishState) { |
| | | serviceSubtask.setSendstate(6L); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | continue; |
| | | } |
| | | |
| | | //2夿ä¸ä¸ï¼å½åçsortæ¯ä¸æ¯çäºéè¦æ§è¡çæ»ä¸ªæ°ï¼å¦æçäºçè¯ï¼è¯´ææ¯æåä¸ä¸ªï¼ç´æ¥å°servuce_subtaskçç¶ææ¹æ5ï¼æ§è¡å¤±è´¥å°±è¡äº |
| | | Long cs = currentSort.get(); |
| | | if (cs.equals(serviceSubtaskPreachforms.size())) { |
| | | serviceSubtask.setSendstate(5L); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | //ä¿®æ¹åéæ¹å¼çç¶æä¸ºå¤±è´¥ |
| | | serviceSubtaskPreachform.setSendstate("5"); |
| | | serviceSubtaskPreachform.setId(id.get()); |
| | | serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform); |
| | | continue; |
| | | } |
| | | |
| | | //3.䏿¯æåä¸ä¸ªï¼è·åå°ä¸ä¸ä¸ªæ§è¡æ¹å¼(å ä¸ºé½æ¯å¨ä»å¤©æ§è¡ï¼é£å°±ç´æ¥ååºå»å°±å®äº) |
| | | sfHandlle(serviceSubtask); |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * å¤ææ¥ææ¯å¦æ¯ä»å¤© |
| | |
| | | return !localDate.isAfter(today); |
| | | } |
| | | |
| | | public void sfHandlle(CommonTaskcallMQ commonTaskcallMQ, String ip) { |
| | | log.info("ãsfHandlleãå¼å§å¤çä»»å¡ï¼ä»»å¡IDï¼{}", commonTaskcallMQ.getTaskid()); |
| | | //夿ä¸ä¸commonTaskcallMQä¸çstopstateæ¯å¦ä¸ivr_taskä¸çä¸è´ï¼ä¸ä¸è´ï¼åè¯´ææ¯æåäº |
| | | ServiceTask ivrTask1 = serviceTaskMapper.selectServiceTaskByTaskid(commonTaskcallMQ.getTaskid()); |
| | | |
| | | if (StringUtils.isNotEmpty(commonTaskcallMQ.getPreachform())) { |
| | | //å¦ä½ä»»å¡åéæ¹å¼ä¸ä¸ºç©º |
| | | String[] split = commonTaskcallMQ.getPreachform().split(","); |
| | | log.info("ãsfHandlleãä»»å¡åéæ¹å¼ï¼{}", Arrays.toString(split)); |
| | | for (String serviceFrom : split) { |
| | | String descByCode = ServiceFromEnum.getDescByCode(Integer.valueOf(serviceFrom)); |
| | | //éè¿ä»»å¡IDæ¿å°æ£è
ä¿¡æ¯ |
| | | ServiceSubtaskVO ivrTaskcall = new ServiceSubtaskVO(); |
| | | ivrTaskcall.setTaskid(commonTaskcallMQ.getTaskid()); |
| | | ivrTaskcall.setSendstate(2L); |
| | | List<ServiceSubtask> subtaskList = iServiceSubtaskService.selectServiceSubtaskList(ivrTaskcall); |
| | | //丽水æçå»é¢è¿æ²¡æ³åé¿æä»»å¡é访 |
| | | List<ServiceSubtask> subtaskList2 = new ArrayList<>(); |
| | | if (visitHosp == 2) { |
| | | try { |
| | | for (ServiceSubtask serviceSubtask : subtaskList) { |
| | | Boolean b = VisitSendStateEnum.getDescByCode(serviceSubtask.getOrgid()); |
| | | |
| | | if (b) subtaskList2.add(serviceSubtask); |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("-------é¿æä»»å¡å¼å¸¸ä¸ºï¼", e); |
| | | continue; |
| | | } |
| | | // for (ServiceSubtask serviceSubtask : subtaskList) { |
| | | // Boolean b = VisitSendStateEnum.getDescByCode(serviceSubtask.getOrgid()); |
| | | // |
| | | // if (b) subtaskList2.add(serviceSubtask); |
| | | // } |
| | | subtaskList = subtaskList2; |
| | | } |
| | | |
| | | // æç
§ endtime 离å½åæ¶é´æè¿çæåº |
| | | List<ServiceSubtask> selectServiceSubtaskList = subtaskList.stream().sorted(Comparator.comparing(subtask -> Math.abs(subtask.getEndtime().getTime() - new Date().getTime()))).collect(Collectors.toList()); |
| | | |
| | | if (descByCode.equals("çµè¯")) { |
| | | String value = ""; |
| | | List<String> list = new ArrayList<>(); |
| | | for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { |
| | | ServiceTask ivrTask = serviceTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid()); |
| | | if (ivrTask.getSendState() != null && ivrTask.getSendState() == 3 || ivrTask.getSendState() != null && ivrTask.getSendState() == 4) { |
| | | //å¦ä½ä»»å¡è¢«"æå"æ"ç»æ¢" |
| | | break; |
| | | } |
| | | if (org.apache.commons.lang3.StringUtils.isEmpty(serviceSubtask.getPhone())) { |
| | | serviceSubtask.setRemark("ææºå·ä¸ºç©º"); |
| | | serviceSubtask.setSendstate(4L); |
| | | serviceSubtask.setResult("error"); |
| | | // serviceSubtask.setFinishtime(new Date()); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | continue; |
| | | } |
| | | boolean dateToday = isDateToday(serviceSubtask.getLongSendTime()); |
| | | //è¯´ææ¯ç«å³åé(å
ææ¶æ¯æ¾å°cache-0ä¸ï¼ displayNoä¸ç¥éæä¹é
ç½®) |
| | | if (dateToday) { |
| | | list.add(serviceSubtask.getId().toString()); |
| | | //å¨åä»»å¡è¡¨éè®°å½ä¸ä¸ |
| | | String uuid = UUID.randomUUID().toString(); |
| | | serviceSubtask.setResult("success"); |
| | | serviceSubtask.setRemark("é¿æä»»å¡ï¼çµè¯è¿å
¥éåæå"); |
| | | serviceSubtask.setGuid(uuid); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | |
| | | //ä»»å¡åéè®°å½ |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); |
| | | serviceSubtaskRecord.setUuid(uuid); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("3"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setRemark("é¿æä»»å¡ï¼çµè¯è¿å
¥éåæå"); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | |
| | | } |
| | | } |
| | | //å°è¦æ§è¡çæ¾å°ç¼åä¸ |
| | | if (list.size() > 0) { |
| | | // redisCache.setCacheListLeft("cache-0", list); |
| | | redisCache.setCacheListLeftAndDistinct("cache-0", list); |
| | | log.info("ãsfHandlleãçµè¯ä»»å¡å·²å å
¥éåï¼æ°éï¼{}", list.size()); |
| | | } |
| | | } else if (descByCode.equals("å¤åªä½")) { |
| | | //å¤åªä½ |
| | | } else if (descByCode.equals("纸质")) { |
| | | //纸质 |
| | | } else if (descByCode.equals("微信å°ç¨åº")) { |
| | | //微信å°ç¨åº |
| | | log.info("ãsfHandlleãå¤ç微信å°ç¨åºä»»å¡ï¼ä»»å¡ä¿¡æ¯ï¼{}", ivrTask1); |
| | | if (ObjectUtils.isNotEmpty(ivrTask1) && ivrTask1.getPatCycle() == 1) { |
| | | //说æè¯¥ä»»å¡çæ£è
æ¯å¾ªç¯æ§è¡ç |
| | | ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); |
| | | serviceSubtaskVO.setTaskid(ivrTask1.getTaskid()); |
| | | List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); |
| | | //è¿ééè¦æ ¹æ®èº«ä»½è¯å»é |
| | | List<ServiceSubtask> serviceSubtaskListFilter = new ArrayList<>(); |
| | | aa: |
| | | for (ServiceSubtask serviceSubtask : serviceSubtaskList) { |
| | | for (ServiceSubtask ss : serviceSubtaskListFilter) { |
| | | if (ss.getSfzh().equals(serviceSubtask.getSfzh())) { |
| | | continue aa; |
| | | } |
| | | } |
| | | serviceSubtaskListFilter.add(serviceSubtask); |
| | | } |
| | | for (ServiceSubtask serviceSubtask : serviceSubtaskListFilter) { |
| | | //å°åä»»å¡IDå é¤ ãsendstateæ¹æ3 |
| | | serviceSubtask.setSendstate(3L); |
| | | serviceSubtask.setId(null); |
| | | serviceSubtask.setFinishtime(null); |
| | | serviceSubtask.setCreateTime(new Date()); |
| | | serviceSubtask.setUpdateTime(new Date()); |
| | | //å¤çé夿°å¢é®é¢ï¼å
æ¥ä¸ä¸ä»å¤©æ¯ä¸æ¯ææ°å¢è¿ï¼æ°å¢è¿å°±ä¸æ°å¢äº |
| | | ServiceSubtaskVO ssvo = new ServiceSubtaskVO(); |
| | | LocalDate today = LocalDate.now(); |
| | | LocalTime startOfDay = LocalTime.of(0, 0, 0); |
| | | LocalTime endOfDay = LocalTime.of(23, 59, 59); |
| | | Date startOfDayDate = Date.from(today.atTime(startOfDay).atZone(ZoneId.systemDefault()).toInstant()); |
| | | Date endOfDayDate = Date.from(today.atTime(endOfDay).atZone(ZoneId.systemDefault()).toInstant()); |
| | | ssvo.setCreateStartTime(startOfDayDate); |
| | | ssvo.setCreateEndTime(endOfDayDate); |
| | | ssvo.setCreateBy(serviceSubtask.getCreateBy()); |
| | | ssvo.setSendname(serviceSubtask.getSendname()); |
| | | ssvo.setSfzh(serviceSubtask.getSfzh()); |
| | | List<ServiceSubtask> serviceSubtaskListByCreateTime = serviceSubtaskMapper.selectServiceSubtaskListByCreateTime(ssvo); |
| | | if (CollectionUtils.isEmpty(serviceSubtaskListByCreateTime)) |
| | | serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | } |
| | | } |
| | | } else if (descByCode.equals("çä¿¡")) { |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key); |
| | | for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { |
| | | log.info("ãsfHandlleãå¤ççä¿¡é¿æä»»å¡ï¼æ£è
IDï¼{}", serviceSubtask.getPatid()); |
| | | boolean dateToday = isDateToday(serviceSubtask.getLongSendTime()); |
| | | if (dateToday) { |
| | | try { |
| | | //å
夿æ£è
æ¯ä¸æ¯è¿è¦åé |
| | | PatArchive patArchive = patArchiveService.selectPatArchiveByPatid(serviceSubtask.getPatid()); |
| | | if (!Objects.isNull(patArchive) && patArchive.getNotrequiredFlag() == "1") { |
| | | //ä¸éè¦åé |
| | | serviceSubtask.setResult("error"); |
| | | serviceSubtask.setRemark(patArchive.getNotrequiredreason()); |
| | | serviceSubtask.setSendstate(4L); |
| | | iServiceSubtaskService.insertServiceSubtask(serviceSubtask); |
| | | continue; |
| | | } |
| | | String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); |
| | | String subId = rsaPublicKeyExample.encryptedData(serviceSubtask.getId().toString(), pub_key); |
| | | SendMagParam sendMagParam = new SendMagParam(); |
| | | sendMagParam.setType("4"); |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setParam3(ivrTask1.getTaskName()); |
| | | serviceOutPath.setParam6(subId); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | //å
夿ä¸ä¸åçæ¯ä¸æ¯å®£æ |
| | | if (!"3".equals(serviceSubtask.getType())) { |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setUrl(ip + ":" + req_path + "/wt?p=" + format); |
| | | sendMagParam.setContent("ãæ°åå»é¢ãæ¨å¥½ï¼é请æ¨å¡«ååºé¢è°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "å¡«åãæè°¢æ¨é
åï¼"); |
| | | } else { |
| | | HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid()); |
| | | if ("2".equals(heLibrary.getHetype())) { |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setContent(heLibrary.getPreachcontent()); |
| | | } |
| | | } |
| | | String isSuccess = null; |
| | | if (visitHosp == 1) { |
| | | Map<String, String> req = new HashMap<>(); |
| | | req.put("phone", sendMagParam.getPhone()); |
| | | req.put("content", sendMagParam.getContent()); |
| | | isSuccess = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req)); |
| | | } else if (visitHosp == 2) { |
| | | String url = configService.selectConfigByKey("token.360",serviceSubtask.getOrgid()); |
| | | //丽水ççä¿¡åéæ¹å¼ |
| | | Map<String, String> map = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid()); |
| | | String token = LSHospTokenUtil.getToken(serviceSubtask.getOrgid(),url); |
| | | if (ObjectUtils.isNotEmpty(map) && StringUtils.isEmpty(map.get("address"))) { |
| | | ServiceSubtask ss = new ServiceSubtask(); |
| | | ss.setResult("error"); |
| | | ss.setRemark("çä¿¡åé失败,è¯¥æºææ²¡æé
ç½®çä¿¡å°å"); |
| | | ss.setSendstate(5L); |
| | | ss.setId(serviceSubtask.getId()); |
| | | // ss.setFinishtime(new Date()); |
| | | serviceSubtaskMapper.updateServiceSubtask(ss); |
| | | continue; |
| | | } |
| | | log.info("ãsfHandlleã丽水çä¿¡åéï¼å°åï¼{}ï¼åæ°ï¼{}ï¼æºæIDï¼{}", map.get("address"), sendMagParam, serviceSubtask.getOrgid()); |
| | | String dxCode = getDXCode(map.get("address"), sendMagParam.getPhone(), sendMagParam.getContent(), map.get("sendPersonId"), map.get("sendPersonName"), MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()), token); |
| | | log.info("ãsfHandlleã丽水çä¿¡åéç»æï¼{}", dxCode); |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | Map<String, Object> textParam = objectMapper.readValue(dxCode, Map.class); |
| | | String code = textParam.get("Code").toString(); |
| | | if (code.equals("0")) { |
| | | isSuccess = "true"; |
| | | } |
| | | }else if (visitHosp == 3) {//å¸ä¸å»é¢ |
| | | String content=sendMagParam.getContent().replace("ãæ°åå»é¢ã",""); |
| | | smsUtils.sendSms(xhsmsPath,xhsmsAccount,xhsmsPwd,sendMagParam.getPhone(),content); |
| | | } |
| | | //ä»»å¡åéè®°å½ |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("4"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setResult("success"); |
| | | if (StringUtils.isNotEmpty(isSuccess) && !isSuccess.equals("true")) |
| | | serviceSubtaskRecord.setResult("error"); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | |
| | | //åé宿åï¼ä¿®æ¹ç¶æ |
| | | serviceSubtask.setSendstate(3L); |
| | | if (StringUtils.isNotEmpty(isSuccess) && !isSuccess.equals("true")) { |
| | | serviceSubtask.setResult("success"); |
| | | serviceSubtask.setRemark("çä¿¡åéæå"); |
| | | } else { |
| | | serviceSubtask.setResult("error"); |
| | | serviceSubtask.setSendstate(5L); |
| | | serviceSubtask.setRemark("çä¿¡åé失败"); |
| | | } |
| | | iServiceSubtaskService.updateServiceSubtask(serviceSubtask); |
| | | } catch (Exception e) { |
| | | String guid = UUID.randomUUID().toString(); |
| | | log.error("ãsfHandlleãé¿æä»»å¡çä¿¡åé失败ï¼åå ï¼{}ï¼GUIDï¼{}", e.getMessage(), guid); |
| | | serviceSubtask.setResult("error"); |
| | | serviceSubtask.setRemark("ç³»ç»é误"); |
| | | serviceSubtask.setSendstate(5L); |
| | | serviceSubtask.setGuid(guid); |
| | | iServiceSubtaskService.updateServiceSubtask(serviceSubtask); |
| | | } |
| | | } |
| | | } |
| | | } else if (descByCode.equals("å
¬ä¼å·")) { |
| | | log.info("ãsfHandlleãå¤çå
¬ä¼å·ä»»å¡ï¼ä»»å¡ä¿¡æ¯ï¼{}", ivrTask1); |
| | | //å
¬ä¼å· |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key); |
| | | for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { |
| | | boolean dateToday = isDateToday(serviceSubtask.getLongSendTime()); |
| | | if (dateToday) { |
| | | try { |
| | | //å
夿æ£è
æ¯ä¸æ¯è¿è¦åé |
| | | PatArchive patArchive = patArchiveService.selectPatArchiveByPatid(serviceSubtask.getPatid()); |
| | | if (!Objects.isNull(patArchive) && patArchive.getNotrequiredFlag() == "1") { |
| | | //ä¸éè¦åé |
| | | serviceSubtask.setResult("error"); |
| | | serviceSubtask.setRemark(patArchive.getNotrequiredreason()); |
| | | serviceSubtask.setSendstate(4L); |
| | | iServiceSubtaskService.insertServiceSubtask(serviceSubtask); |
| | | continue; |
| | | } |
| | | String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); |
| | | String url = null; |
| | | url = ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false"; |
| | | |
| | | //è·å微信å
¬ä¼å·è¯·æ±ä¿¡æ¯æ ¹æ®æºæID |
| | | List<String> wxqqxx = WxGZHEnum.getDescByCode(patArchive.getOrgid()); |
| | | if (CollectionUtils.isEmpty(wxqqxx) || wxqqxx.size() < 4) { |
| | | ServiceSubtask ss = new ServiceSubtask(); |
| | | ss.setResult("error"); |
| | | ss.setRemark("è¯¥æºæçå
¬ä¼å·é
置信æ¯ä¸å
¨ï¼æ æ³éè¿å
¬ä¼å·åé"); |
| | | ss.setSendstate(5L); |
| | | ss.setId(serviceSubtask.getId()); |
| | | serviceSubtaskMapper.updateServiceSubtask(ss); |
| | | continue; |
| | | } |
| | | |
| | | if (StringUtils.isEmpty(patArchive.getPatidHis())) { |
| | | ServiceSubtask ss = new ServiceSubtask(); |
| | | ss.setResult("error"); |
| | | ss.setRemark("å
¬ä¼å·åé失败,hisç³»ç»çæ£è
id为空"); |
| | | ss.setSendstate(5L); |
| | | ss.setId(serviceSubtask.getId()); |
| | | serviceSubtaskMapper.updateServiceSubtask(ss); |
| | | continue; |
| | | } |
| | | String wxCode = ""; |
| | | if (visitHosp == 3) {//å¸ä¸å»é¢ |
| | | String urlTemp="http://192.200.54.14:5003/sfjk/SendMessage?sfzh="+serviceSubtask.getSfzh() |
| | | +"&title=æ¨å¥½ï¼é请æ¨å¡«ååºé¢è°æ¥è¡¨ï¼è¯·ç¹å»å¡«åã&content=æ¨å¥½ï¼é请æ¨å¡«ååºé¢è°æ¥è¡¨ï¼è¯·ç¹å»å¡«åã&phone="+patArchive.getTelcode() |
| | | +"&url="+url+"&key=ff76f8904f5f32b5ee1739e8ea46e60g"; |
| | | HttpUtils.sendGet(urlTemp); |
| | | }else{ |
| | | wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskDesc(), patArchive.getTelcode(), serviceSubtask.getSendname(), patArchive.getPatidHis(), wxqqxx); |
| | | } |
| | | Map<String, Object> map = JSONObject.parseObject(wxCode, Map.class); |
| | | //ä»»å¡åéè®°å½ |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("4"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setResult("success"); |
| | | if (!map.isEmpty() && (Boolean) map.get("succ") == false) |
| | | serviceSubtaskRecord.setResult("error"); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | |
| | | //åé宿åï¼ä¿®æ¹ç¶æ |
| | | serviceSubtask.setSendstate(3L); |
| | | if ((Boolean) map.get("succ") == true) { |
| | | serviceSubtask.setResult("success"); |
| | | } else { |
| | | log.error("ãsfHandlleãå
¬ä¼å·åéå¤±è´¥ï¼æ£è
ä¿¡æ¯ï¼{}ï¼é误信æ¯ï¼{}", serviceSubtask, map.get("msg")); |
| | | serviceSubtask.setResult("error"); |
| | | serviceSubtask.setSendstate(5L); |
| | | serviceSubtask.setRemark(map.get("msg").toString()); |
| | | } |
| | | iServiceSubtaskService.updateServiceSubtask(serviceSubtask); |
| | | } catch (Exception e) { |
| | | String guid = UUID.randomUUID().toString(); |
| | | log.error("ãsfHandlleãé¿æä»»å¡å
¬ä¼å·åé失败ï¼åå ï¼{}ï¼GUIDï¼{}", e.getMessage(), guid); |
| | | serviceSubtask.setResult("error"); |
| | | serviceSubtask.setRemark("ç³»ç»é误"); |
| | | serviceSubtask.setSendstate(5L); |
| | | serviceSubtask.setGuid(guid); |
| | | iServiceSubtaskService.updateServiceSubtask(serviceSubtask); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //éç¥ MQ æ¶æ¯å·²è¢«æ¥æ¶,å¯ä»¥ACK(ä»éåä¸å é¤)äº ï¼è¿ä¸ªéè¦æ ¹æ®ä¸å¡åå»å¤çACKï¼ |
| | | } |
| | | public void sfHandlle(ServiceSubtask serviceSubtask) { |
| | | //è¿ééè¦æ ¹æ®èº«ä»½è¯å»é(ç»å¾®ä¿¡å°ç¨åºçåºå®ä»»å¡ç¨ç) |
| | | List<ServiceSubtask> serviceSubtaskListFilter = new ArrayList<>(); |
| | | ServiceTask ivrTask1 = serviceTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid()); |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); |
| | | serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid()); |
| | | serviceSubtaskPreachform.setSubid(serviceSubtask.getId()); |
| | | //è·ååéæ¹å¼ |
| | | String sendPreachform = getSendPreachform(serviceSubtaskPreachform, serviceSubtask); |
| | | if (sendPreachform.equals("-1") || serviceSubtask.getSendstate() == 6 || serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 4) { |
| | | //说æå·²ç»å
¨é¨éåå®äºï¼å½åçæ§è¡æ¹å¼åºå·æ¯æåä¸ä¸ªäº æè
该æ£è
å·²ç»éè®¿ç»æï¼æåæå¤±è´¥äºæä¸æ§è¡ï¼ |
| | | return; |
| | | } |
| | | //å
夿æ£è
æ¯ä¸æ¯è¿è¦åé |
| | | PatArchive patArchive = patArchiveService.selectPatArchiveByPatid(serviceSubtask.getPatid()); |
| | | if (!Objects.isNull(patArchive) && patArchive.getNotrequiredFlag() == "1") { |
| | | //ä¸éè¦åé |
| | | serviceSubtask.setResult("æ£è
ä¸éè¦é访"); |
| | | serviceSubtask.setRemark(patArchive.getNotrequiredreason()); |
| | | serviceSubtask.setSendstate(4L); |
| | | iServiceSubtaskService.insertServiceSubtask(serviceSubtask); |
| | | setSuccessPreachForm(serviceSubtask, "-1", "ä¸éè¦æ§è¡", "6"); |
| | | return; |
| | | } |
| | | |
| | | String descByCode = ServiceFromEnum.getDescByCode(Integer.valueOf(sendPreachform)); |
| | | if (descByCode.equals("çµè¯")) { |
| | | List<String> list = new ArrayList<>(); |
| | | ServiceTask ivrTask = serviceTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid()); |
| | | if (ivrTask.getSendState() != null && ivrTask.getSendState() == 3 || ivrTask.getSendState() != null && ivrTask.getSendState() == 4) { |
| | | //å¦ä½ä»»å¡è¢«"æå"æ"ç»æ¢" |
| | | return; |
| | | } |
| | | |
| | | if (org.apache.commons.lang3.StringUtils.isEmpty(serviceSubtask.getPhone())) { |
| | | setSuccessPreachForm(serviceSubtask, sendPreachform, "ææºå·ä¸ºç©º", "4"); |
| | | return; |
| | | } |
| | | boolean dateToday = isDateToday(serviceSubtask.getVisitTime()); |
| | | //è¯´ææ¯ç«å³åé(å
ææ¶æ¯æ¾å°cache-0ä¸ï¼ displayNoä¸ç¥éæä¹é
ç½®) |
| | | if (dateToday) { |
| | | list.add(serviceSubtask.getId().toString()); |
| | | //å¨åä»»å¡è¡¨éè®°å½ä¸ä¸ |
| | | setSuccessPreachForm(serviceSubtask, sendPreachform, "é¿æä»»å¡ï¼çµè¯è¿å
¥éåæå", "2"); |
| | | //ä»»å¡åéè®°å½ |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); |
| | | serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("3"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setRemark("é¿æä»»å¡ï¼çµè¯è¿å
¥éåæå"); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | } |
| | | //å°è¦æ§è¡çæ¾å°ç¼åä¸ |
| | | if (list.size() > 0) { |
| | | redisCache.setCacheListLeftAndDistinct("cache-0", list); |
| | | log.info("ãsfHandlleãçµè¯ä»»å¡å·²å å
¥éåï¼æ°éï¼{}", list.size()); |
| | | } |
| | | } else if (descByCode.equals("微信å°ç¨åº")) { |
| | | //微信å°ç¨åº |
| | | if (ObjectUtils.isNotEmpty(ivrTask1) && ivrTask1.getPatCycle() == 1) { |
| | | //说æè¯¥ä»»å¡çæ£è
æ¯å¾ªç¯æ§è¡ç |
| | | //夿æ£è
è¿æ»¤éåä¸ï¼æ¯å¦åå¨å½åæ§è¡æ£è
çèº«ä»½è¯ |
| | | boolean continutFlag = false; |
| | | for (ServiceSubtask ss : serviceSubtaskListFilter) { |
| | | if (ss.getSfzh().equals(serviceSubtask.getSfzh())) { |
| | | continutFlag = true; |
| | | } |
| | | } |
| | | //妿åå¨å½åæ§è¡æ£è
ç身份è¯ï¼å䏿§è¡è¯¥æ£è
äº |
| | | if (continutFlag) { |
| | | return; |
| | | } |
| | | |
| | | //å°åä»»å¡IDå é¤ ãsendstateæ¹æ3ï¼å¾ªç¯ä»»å¡å°±æ¯è¿æ ·ï¼ |
| | | serviceSubtask.setSendstate(3L); |
| | | serviceSubtask.setId(null); |
| | | serviceSubtask.setFinishtime(null); |
| | | serviceSubtask.setCreateTime(new Date()); |
| | | serviceSubtask.setUpdateTime(new Date()); |
| | | serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | |
| | | //å°å½åè¦æ§è¡çæ£è
æ¾å°è¿æ»¤æ£è
éåä¸ |
| | | serviceSubtaskListFilter.add(serviceSubtask); |
| | | } |
| | | } else if (descByCode.equals("çä¿¡")) { |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key); |
| | | log.info("ãsfHandlleãå¤ççä¿¡é¿æä»»å¡ï¼æ£è
IDï¼{}", serviceSubtask.getPatid()); |
| | | boolean dateToday = isDateToday(serviceSubtask.getVisitTime()); |
| | | if (dateToday) { |
| | | try { |
| | | String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); |
| | | String subId = rsaPublicKeyExample.encryptedData(serviceSubtask.getId().toString(), pub_key); |
| | | SendMagParam sendMagParam = new SendMagParam(); |
| | | sendMagParam.setType("4"); |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setParam3(ivrTask1.getTaskName()); |
| | | serviceOutPath.setParam6(subId); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | //å
夿ä¸ä¸åçæ¯ä¸æ¯å®£æ |
| | | if (!"3".equals(serviceSubtask.getType())) { |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setUrl(localIP + ":" + req_path + "/wt?p=" + format); |
| | | //妿typeæ¯è¯é³é访çè¯ï¼è¯´æè¡¥å¿åéæ¹å¼ä¸æçµè¯éè®¿çæ¹å¼ï¼è¿éçå¤é¾å°±å°ååªè½ç¨/sfï¼ |
| | | if (serviceSubtask.getType().equals("1")) |
| | | sendMagParam.setUrl(localIP + ":" + req_path + "/sf?p=" + format); |
| | | sendMagParam.setContent("æ¨å¥½ï¼é请æ¨å¡«ååºé¢è°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "å¡«åãæè°¢æ¨é
åï¼"); |
| | | } else { |
| | | HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid()); |
| | | if ("2".equals(heLibrary.getHetype())) { |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setContent(heLibrary.getPreachcontent()); |
| | | } |
| | | } |
| | | String isSuccess = null; |
| | | if (visitHosp == 1) { |
| | | Map<String, String> req = new HashMap<>(); |
| | | req.put("phone", sendMagParam.getPhone()); |
| | | req.put("content", sendMagParam.getContent()); |
| | | isSuccess = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req)); |
| | | } else if (visitHosp == 2) { |
| | | String url = configService.selectConfigByKey("token.360", serviceSubtask.getOrgid()); |
| | | //丽水ççä¿¡åéæ¹å¼ |
| | | Map<String, String> map = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid()); |
| | | String token = LSHospTokenUtil.getToken(serviceSubtask.getOrgid(), url); |
| | | if (ObjectUtils.isNotEmpty(map) && StringUtils.isEmpty(map.get("address"))) { |
| | | setSuccessPreachForm(serviceSubtask, sendPreachform, "çä¿¡åé失败,è¯¥æºææ²¡æé
ç½®çä¿¡å°å", "5"); |
| | | return; |
| | | } |
| | | log.info("ãsfHandlleã丽水çä¿¡åéï¼å°åï¼{}ï¼åæ°ï¼{}ï¼æºæIDï¼{}", map.get("address"), sendMagParam, serviceSubtask.getOrgid()); |
| | | String dxCode = getDXCode(map.get("address"), sendMagParam.getPhone(), sendMagParam.getContent(), map.get("sendPersonId"), map.get("sendPersonName"), MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()), token); |
| | | log.info("ãsfHandlleã丽水çä¿¡åéç»æï¼{}", dxCode); |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | Map<String, Object> textParam = objectMapper.readValue(dxCode, Map.class); |
| | | String code = textParam.get("Code").toString(); |
| | | if (code.equals("0")) { |
| | | isSuccess = "true"; |
| | | } |
| | | } else if (visitHosp == 4) { |
| | | //çç«åå¾·ççä¿¡åéæ¹å¼ |
| | | JSONObject data = MessageSend.sendMsg(sendMagParam.getContent(), "2", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); |
| | | String code = data.get("code").toString(); |
| | | if (StringUtils.isNotEmpty(code) && code.equals("00000")) { |
| | | isSuccess = "true"; |
| | | } |
| | | } else if (visitHosp == 3) {//å¸ä¸å»é¢ |
| | | String content = sendMagParam.getContent().replace("ãæ°åå»é¢ã", ""); |
| | | String result = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, sendMagParam.getPhone(), content); |
| | | //è¿ééè¦æ ¹æ®resultè¿åçå¼å»å¤æï¼æ¯å¦æåï¼ç¶åå°å¼èµå¼ç»isSuccess |
| | | |
| | | |
| | | } |
| | | //ä»»å¡åéè®°å½ |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("4"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setResult("success"); |
| | | if (StringUtils.isNotEmpty(isSuccess) && !isSuccess.equals("true")) |
| | | serviceSubtaskRecord.setResult("error"); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | |
| | | //åé宿åï¼ä¿®æ¹ç¶æ |
| | | serviceSubtask.setSendstate(3L); |
| | | if (StringUtils.isNotEmpty(isSuccess) && isSuccess.equals("true")) { |
| | | serviceSubtask.setResult("success"); |
| | | serviceSubtask.setRemark("çä¿¡åéæå"); |
| | | setSuccessPreachForm(serviceSubtask, sendPreachform, "çä¿¡åéæå", "2"); |
| | | } else { |
| | | serviceSubtask.setResult("error"); |
| | | serviceSubtask.setRemark("çä¿¡åé失败"); |
| | | setSuccessPreachForm(serviceSubtask, sendPreachform, "çä¿¡åé失败", "5"); |
| | | } |
| | | } catch (Exception e) { |
| | | String guid = UUID.randomUUID().toString(); |
| | | log.error("ãsfHandlleãé¿æä»»å¡çä¿¡åé失败ï¼åå ï¼{}ï¼GUIDï¼{}", e.getMessage(), guid); |
| | | setSuccessPreachForm(serviceSubtask, sendPreachform, "é¿æä»»å¡çä¿¡åé失败:ç³»ç»é误", "5"); |
| | | } |
| | | } |
| | | |
| | | } else if (descByCode.equals("å
¬ä¼å·")) { |
| | | log.info("ãsfHandlleãå¤çå
¬ä¼å·ä»»å¡ï¼ä»»å¡ä¿¡æ¯ï¼{}", ivrTask1); |
| | | //å
¬ä¼å· |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key); |
| | | boolean dateToday = isDateToday(serviceSubtask.getVisitTime()); |
| | | if (dateToday) { |
| | | try { |
| | | String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); |
| | | String url = null; |
| | | url = localIP + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false"; |
| | | |
| | | //è·å微信å
¬ä¼å·è¯·æ±ä¿¡æ¯æ ¹æ®æºæID |
| | | List<String> wxqqxx = WxGZHEnum.getDescByCode(patArchive.getOrgid()); |
| | | if (CollectionUtils.isEmpty(wxqqxx) || wxqqxx.size() < 4) { |
| | | setSuccessPreachForm(serviceSubtask, sendPreachform, "ãå
¬ä¼å·ãè¯¥æºæçå
¬ä¼å·é
置信æ¯ä¸å
¨ï¼æ æ³éè¿å
¬ä¼å·åé", "4"); |
| | | return; |
| | | } |
| | | |
| | | if (StringUtils.isEmpty(patArchive.getPatidHis())) { |
| | | setSuccessPreachForm(serviceSubtask, sendPreachform, "ãå
¬ä¼å·ãå
¬ä¼å·åé失败,hisç³»ç»çæ£è
id为空", "5"); |
| | | return; |
| | | } |
| | | String wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskDesc(), patArchive.getTelcode(), serviceSubtask.getSendname(), patArchive.getPatidHis(), wxqqxx); |
| | | |
| | | Map<String, Object> map = JSONObject.parseObject(wxCode, Map.class); |
| | | //ä»»å¡åéè®°å½ |
| | | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); |
| | | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); |
| | | serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); |
| | | serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); |
| | | serviceSubtaskRecord.setPreachform("4"); |
| | | serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); |
| | | serviceSubtaskRecord.setResult("success"); |
| | | if (!map.isEmpty() && (Boolean) map.get("succ") == false) serviceSubtaskRecord.setResult("error"); |
| | | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); |
| | | |
| | | //åé宿åï¼ä¿®æ¹ç¶æ |
| | | serviceSubtask.setSendstate(3L); |
| | | if ((Boolean) map.get("succ") == true) { |
| | | serviceSubtask.setResult("success"); |
| | | setSuccessPreachForm(serviceSubtask, sendPreachform, "ãå
¬ä¼å·ãå
¬ä¼å·åéæå", "2"); |
| | | } else { |
| | | log.error("ãsfHandlleãå
¬ä¼å·åéå¤±è´¥ï¼æ£è
ä¿¡æ¯ï¼{}ï¼é误信æ¯ï¼{}", serviceSubtask, map.get("msg")); |
| | | setSuccessPreachForm(serviceSubtask, sendPreachform, "ãå
¬ä¼å·ãå
¬ä¼å·åé失败", "5"); |
| | | } |
| | | } catch (Exception e) { |
| | | String guid = UUID.randomUUID().toString(); |
| | | log.error("ãsfHandlleãé¿æä»»å¡å
¬ä¼å·åé失败ï¼åå ï¼{}ï¼GUIDï¼{}", e.getMessage(), guid); |
| | | setSuccessPreachForm(serviceSubtask, sendPreachform, "ãå
¬ä¼å·ãé¿æä»»å¡å
¬ä¼å·åé失败ï¼åå ï¼" + e.getMessage(), "5"); |
| | | } |
| | | } |
| | | } else if (descByCode.equals("人工")) { |
| | | setSuccessPreachForm(serviceSubtask, sendPreachform, "人工å¾
æ§è¡", "2"); |
| | | } |
| | | |
| | | } |
| | | |
| | | private String getKey() { |
| | | Map<String, String> map = new HashMap<>(); |
| | | for (int i = 0; i < 6; i++) { |
| | | Boolean aBoolean = redisCache.hasKey("cache-" + i); |
| | | if (!aBoolean) { |
| | | redisCache.setCacheObject("cache-" + i, ""); |
| | | map.put("cache-" + i, ""); |
| | | } else { |
| | | map.put("cache-" + i, redisCache.getCacheObject("cache-" + i)); |
| | | } |
| | | |
| | | private Date getNextVisitTime(Long subid, Long taskid, Date visitTime) { |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); |
| | | serviceSubtaskPreachform.setSubid(subid); |
| | | serviceSubtaskPreachform.setTaskid(taskid); |
| | | List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) { |
| | | String compensateTime = serviceSubtaskPreachforms.get(0).getCompensateTime(); |
| | | int hoursToAdd = Integer.valueOf(compensateTime) * 24; |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(visitTime); |
| | | calendar.add(Calendar.HOUR_OF_DAY, hoursToAdd); |
| | | Date newDate = calendar.getTime(); |
| | | return newDate; |
| | | } |
| | | return visitTime; |
| | | } |
| | | |
| | | private String getSendPreachform(ServiceSubtaskPreachform serviceSubtaskPreachform, ServiceSubtask serviceSubtask) { |
| | | List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); |
| | | |
| | | // æ
åµ1ï¼currentPreachform为空ï¼åsort为1çpreachform |
| | | if (StringUtils.isEmpty(serviceSubtask.getCurrentPreachform())) { |
| | | return serviceSubtaskPreachforms.stream().filter(item -> item.getSort() == 1L).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse(null); |
| | | } |
| | | |
| | | String key = null; |
| | | String value = ""; |
| | | for (Map.Entry<String, String> entry : map.entrySet()) { |
| | | if (StringUtils.isEmpty(value)) { |
| | | value = entry.getValue(); |
| | | key = entry.getKey(); |
| | | } else { |
| | | if (entry.getValue().split(",").length < value.split(",").length) { |
| | | value = entry.getValue(); |
| | | key = entry.getKey(); |
| | | } |
| | | // æ
åµ2ï¼currentPreachformä¸ä¸ºç©ºï¼æ¾ä¸ä¸ä¸ªsort |
| | | Optional<Long> currentSort = serviceSubtaskPreachforms.stream().filter(item -> serviceSubtask.getCurrentPreachform().equals(item.getPreachform())).map(ServiceSubtaskPreachform::getSort).findFirst(); |
| | | |
| | | if (currentSort.isPresent()) { |
| | | // æ£æ¥æ¯å¦ææsendstateä¸çäº9 |
| | | boolean allSendStateNot1AndNot9 = serviceSubtaskPreachforms.stream().allMatch(item -> !item.getSendstate().equals("9")); |
| | | if (!allSendStateNot1AndNot9) { |
| | | //说æï¼å¨æç§æ¹å¼åé失败åï¼åæåäºï¼ä¾å¦çä¿¡æå
¬ä¼å·ï¼å¨è§å®æ¶é´å¤æ£è
åå®äºï¼è¿ä¸ªæ¶åï¼ç¶ææ¹æäº9ï¼ |
| | | serviceSubtask.setSendstate(6L); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | return "-1"; |
| | | } |
| | | |
| | | // å½sortçäºå表sizeæ¶ï¼å¹¶ä¸ææsendstateé½ä¸çäº9ï¼åè¿å-1 |
| | | if (currentSort.get().equals((long) serviceSubtaskPreachforms.size())) { |
| | | if (allSendStateNot1AndNot9) { |
| | | //说æå
¨åéå¤±è´¥äº |
| | | serviceSubtask.setSendstate(5L); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | //ä¿®æ¹åéç¶æ |
| | | setFail(serviceSubtaskPreachforms, serviceSubtask); |
| | | } |
| | | return "-1"; |
| | | } |
| | | |
| | | // å½sortçäºå表sizeæ¶ï¼ä¸ä¸ä¸ªsort为-1 |
| | | Long nextSort = currentSort.get() + 1; |
| | | |
| | | //妿å½åçåéæ¹å¼ä¸ä¸ºç©ºï¼å¹¶ä¸å¼å§åå¤è¦ç¨ä¸ä¸ç§æ¹å¼åéäºï¼é£å½åçè¯å®æ²¡æåéæåï¼éè¦è®¾ç½®å¤±è´¥ |
| | | // (è¿éä¸»è¦æ¯ï¼äººå·¥å¦ææ²¡æé访ï¼ç¶åå°å
¬ä¼å·çæ¶åï¼å°±ä¸ä¼åå»ç®¡äººå·¥æ¯å¦æåï¼äººå·¥çç¶æä¼ä¸ç´å¡å¨2çç¶æä¸) |
| | | if (StringUtils.isNotEmpty(serviceSubtask.getCurrentPreachform())) { |
| | | setFail(serviceSubtaskPreachforms, serviceSubtask); |
| | | } |
| | | |
| | | // æ¾å°ä¸ä¸ä¸ªsort对åºçpreachform |
| | | return serviceSubtaskPreachforms.stream().filter(item -> nextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse("-1"); |
| | | } |
| | | return key; |
| | | |
| | | return null; |
| | | } |
| | | |
| | | private Integer setFail(List<ServiceSubtaskPreachform> serviceSubtaskPreachforms, ServiceSubtask serviceSubtask) { |
| | | Optional<Long> id = serviceSubtaskPreachforms.stream().filter(item -> serviceSubtask.getCurrentPreachform().equals(item.getPreachform())).map(ServiceSubtaskPreachform::getId).findFirst(); |
| | | if (id.isPresent()) { |
| | | ServiceSubtaskPreachform subtaskPreachform = new ServiceSubtaskPreachform(); |
| | | subtaskPreachform.setSendstate("5"); |
| | | subtaskPreachform.setId(id.get()); |
| | | return serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(subtaskPreachform); |
| | | } |
| | | return 0; |
| | | } |
| | | |
| | | |
| | | private String getDXCode(String address, String ShouJiHM, String FaSongNR, String FaSongRID, String FaSongRXM, Map<String, Object> headerMap, String token) { |
| | | Map<String, Object> map = new LinkedHashMap<>(); |
| | |
| | | log.error("ãdealHisDataãHISæ°æ®ééå¼å¸¸", e); |
| | | } |
| | | } |
| | | |
| | | public Boolean setSuccessPreachForm(ServiceSubtask serviceSubtask, String preachform, String remark, String failSendstate) { |
| | | if (preachform.equals("-1")) { |
| | | //说æé½ä¸éè¦æ§è¡äº |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); |
| | | serviceSubtaskPreachform.setSubid(serviceSubtask.getId()); |
| | | serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid()); |
| | | serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid()); |
| | | serviceSubtaskPreachform.setSendstate(failSendstate); |
| | | serviceSubtaskPreachformMapper.updateSSPByCondition(serviceSubtaskPreachform); |
| | | return true; |
| | | } |
| | | |
| | | |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); |
| | | serviceSubtaskPreachform.setSubid(serviceSubtask.getId()); |
| | | serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid()); |
| | | serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid()); |
| | | List<ServiceSubtaskPreachform> sspCount = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); |
| | | |
| | | serviceSubtaskPreachform.setPreachform(preachform); |
| | | //1:æªåéç¶æ |
| | | serviceSubtaskPreachform.setSendstate("1"); |
| | | //çµè¯çæªåéç¶æï¼éè¦æ¥2ï¼å ä¸ºï¼æ°æ®å¯è½å¡å¨éåéäº; ï¼æ²¡è¿éåï¼çµè¯ç¶æè¿æ¯1ï¼ |
| | | if (preachform.equals("3") && StringUtils.isNotEmpty(failSendstate) && Long.valueOf(failSendstate) > 2) |
| | | serviceSubtaskPreachform.setSendstate("2"); |
| | | //äººå·¥çæªåéç¶æï¼éè¦æ¥2 |
| | | if (preachform.equals("1") && StringUtils.isNotEmpty(failSendstate) && Long.valueOf(failSendstate) > 2) |
| | | serviceSubtaskPreachform.setSendstate("2"); |
| | | |
| | | List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) { |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform1 = serviceSubtaskPreachforms.get(0); |
| | | serviceSubtaskPreachform1.setSendstate(failSendstate); |
| | | serviceSubtaskPreachform1.setRemark(remark); |
| | | serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform1); |
| | | |
| | | //妿å½åçpreachformå·²ç»æ¯æåä¸ä¸ªäºï¼é£ç´æ¥å°serviceSubtaskçsendstateç¶ææ¹æ5å°±è¡äº(å
¨å¤±è´¥äº) |
| | | if (serviceSubtaskPreachform1.getSort() == sspCount.size()) { |
| | | if (failSendstate.equals("4") || failSendstate.equals("5")) { |
| | | serviceSubtask.setCurrentPreachform(preachform); |
| | | serviceSubtask.setSendstate(5L); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | return true; |
| | | } |
| | | } |
| | | } else { |
| | | log.error("ã宿¶ä»»å¡ä¸è¯¥æ£è
æ²¡ææ¥è¯¢å°å±äºä»çåéæ¹å¼ï¼subidï¼{},prechform:{},orgid:{}ã", serviceSubtask.getId(), preachform, serviceSubtask.getOrgid()); |
| | | return false; |
| | | } |
| | | //å°ä¸ä¸æ¬¡çé访æ¶é´ä¸å½åæ§è¡æ¹å¼è®°å½ä¸ä¸ |
| | | serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime())); |
| | | serviceSubtask.setCurrentPreachform(preachform); |
| | | serviceSubtask.setSendstate(3L); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | return true; |
| | | } |
| | | } |
| | |
| | | |
| | | /** |
| | | * åæ°é
ç½® æå¡å± |
| | | * |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | public interface ISysConfigService |
| | | { |
| | | /** |
| | | * æ¥è¯¢åæ°é
ç½®ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param configId åæ°é
ç½®ID |
| | | * @return åæ°é
ç½®ä¿¡æ¯ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ ¹æ®é®åæ¥è¯¢åæ°é
ç½®ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param configKey åæ°é®å |
| | | * @return åæ°é®å¼ |
| | | */ |
| | | public String selectConfigByKey(String configKey); |
| | | |
| | | /** |
| | | * æ ¹æ®é®åæ¥è¯¢åæ°é
ç½®ä¿¡æ¯ |
| | | * |
| | | * @param configKey åæ°é®å |
| | | * @return åæ°é®å¼ |
| | | */ |
| | | public String selectConfigByKey(String configKey,String orgid); |
| | | |
| | | /** |
| | | * è·åéªè¯ç å¼å
³ |
| | | * |
| | | * |
| | | * @return trueå¼å¯ï¼falseå
³é |
| | | */ |
| | | public boolean selectCaptchaEnabled(); |
| | | |
| | | public String selectConfigByKey(String configKey,String orgid); |
| | | |
| | | /** |
| | | * æ¥è¯¢åæ°é
ç½®å表 |
| | | * |
| | | * |
| | | * @param config åæ°é
ç½®ä¿¡æ¯ |
| | | * @return åæ°é
ç½®éå |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ°å¢åæ°é
ç½® |
| | | * |
| | | * |
| | | * @param config åæ°é
ç½®ä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * ä¿®æ¹åæ°é
ç½® |
| | | * |
| | | * |
| | | * @param config åæ°é
ç½®ä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ¹éå é¤åæ°ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param configIds éè¦å é¤çåæ°ID |
| | | */ |
| | | public void deleteConfigByIds(Long[] configIds); |
| | |
| | | |
| | | /** |
| | | * æ ¡éªåæ°é®åæ¯å¦å¯ä¸ |
| | | * |
| | | * |
| | | * @param config åæ°ä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | |
| | | |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | |
| | | /** |
| | | * æ¥è¯¢çä¿¡è®°å½ |
| | | * |
| | |
| | | |
| | | /** |
| | | * åæ°é
ç½® æå¡å±å®ç° |
| | | * |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | @Service |
| | |
| | | |
| | | /** |
| | | * æ¥è¯¢åæ°é
ç½®ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param configId åæ°é
ç½®ID |
| | | * @return åæ°é
ç½®ä¿¡æ¯ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ ¹æ®é®åæ¥è¯¢åæ°é
ç½®ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param configKey åæ°key |
| | | * @return åæ°é®å¼ |
| | | */ |
| | |
| | | } |
| | | |
| | | /** |
| | | * è·åéªè¯ç å¼å
³ |
| | | * |
| | | * @return trueå¼å¯ï¼falseå
³é |
| | | */ |
| | | @Override |
| | | public boolean selectCaptchaEnabled() |
| | | { |
| | | String captchaEnabled = selectConfigByKey("sys.account.captchaEnabled"); |
| | | if (StringUtils.isEmpty(captchaEnabled)) |
| | | { |
| | | return true; |
| | | } |
| | | return Convert.toBool(captchaEnabled); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®é®åæ¥è¯¢åæ°é
ç½®ä¿¡æ¯ |
| | | * |
| | | * @param configKey åæ°key |
| | |
| | | } |
| | | return StringUtils.EMPTY; |
| | | } |
| | | |
| | | /** |
| | | * è·åéªè¯ç å¼å
³ |
| | | * |
| | | * @return trueå¼å¯ï¼falseå
³é |
| | | */ |
| | | @Override |
| | | public boolean selectCaptchaEnabled() |
| | | { |
| | | String captchaEnabled = selectConfigByKey("sys.account.captchaEnabled"); |
| | | if (StringUtils.isEmpty(captchaEnabled)) |
| | | { |
| | | return true; |
| | | } |
| | | return Convert.toBool(captchaEnabled); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢åæ°é
ç½®å表 |
| | | * |
| | | * |
| | | * @param config åæ°é
ç½®ä¿¡æ¯ |
| | | * @return åæ°é
ç½®éå |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ°å¢åæ°é
ç½® |
| | | * |
| | | * |
| | | * @param config åæ°é
ç½®ä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * ä¿®æ¹åæ°é
ç½® |
| | | * |
| | | * |
| | | * @param config åæ°é
ç½®ä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ¹éå é¤åæ°ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param configIds éè¦å é¤çåæ°ID |
| | | */ |
| | | @Override |
| | |
| | | |
| | | /** |
| | | * æ ¡éªåæ°é®åæ¯å¦å¯ä¸ |
| | | * |
| | | * |
| | | * @param config åæ°é
ç½®ä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 设置cache key |
| | | * |
| | | * |
| | | * @param configKey åæ°é® |
| | | * @return ç¼åé®key |
| | | */ |
| | |
| | | @Override |
| | | public SysUser selectUserByUserNameAndDeptId(String userName) { |
| | | String[] split = userName.split("&"); |
| | | if (split[2].contains("null")) { |
| | | split[2] = null; |
| | | } |
| | | SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1], split[2]); |
| | | log.info("selectUserByUserNameAndDeptIdçsysUserçå¼ä¸ºï¼{}", sysUser); |
| | | if (Objects.isNull(sysUser)) return sysUser; |
| | | List<SysDept> sysDepts = null; |
| | | if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) { |
| | |
| | | // æ°å¢ç¨æ·ä¿¡æ¯ |
| | | int rows = userMapper.insertUser(user); |
| | | //æ°å¢ç¨æ·ä¸é¨é¨å
³è |
| | | if (!CollectionUtils.isEmpty(user.getDepts())) { |
| | | for (Long deptId : user.getDepts()) { |
| | | SysUserDept sysUserDep = new SysUserDept(); |
| | | sysUserDep.setUserId(user.getUserId()); |
| | | sysUserDep.setDeptId(deptId); |
| | | sysUserDep.setCreateTime(new Date()); |
| | | sysUserDep.setUpdateTime(new Date()); |
| | | sysUserDep.setOrgid(user.getOrgid()); |
| | | sysUserDeptMapper.insertSysUserDept(sysUserDep); |
| | | // if (!CollectionUtils.isEmpty(user.getDepts())) { |
| | | // for (Long deptId : user.getDepts()) { |
| | | // SysUserDept sysUserDep = new SysUserDept(); |
| | | // sysUserDep.setUserId(user.getUserId()); |
| | | // sysUserDep.setDeptId(deptId); |
| | | // sysUserDep.setCreateTime(new Date()); |
| | | // sysUserDep.setUpdateTime(new Date()); |
| | | // sysUserDep.setOrgid(user.getOrgid()); |
| | | // sysUserDeptMapper.insertSysUserDept(sysUserDep); |
| | | // } |
| | | // } |
| | | if (!CollectionUtils.isEmpty(user.getDeptCodes())) { |
| | | for (String deptCode : user.getDeptCodes()) { |
| | | SysDept sysDept = sysDeptMapper.selectDeptByCode(deptCode); |
| | | if (ObjectUtils.isEmpty(sysDept)) { |
| | | continue; |
| | | } |
| | | |
| | | SysUserDept sysUserDept = new SysUserDept(); |
| | | sysUserDept.setUserId(user.getUserId()); |
| | | sysUserDept.setOrgid(user.getOrgid()); |
| | | sysUserDept.setDeptCode(deptCode); |
| | | sysUserDept.setDeptId(sysDept.getDeptId()); |
| | | List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept); |
| | | sysUserDept.setDelFlag(0L); |
| | | sysUserDept.setDeptType("1"); |
| | | sysUserDept.setDeptName(sysDept.getDeptName()); |
| | | sysUserDept.setUpdateTime(new Date()); |
| | | if (!CollectionUtils.isEmpty(sysUserDepts)) { |
| | | sysUserDept.setId(sysUserDepts.get(0).getId()); |
| | | sysUserDeptMapper.updateSysUserDept(sysUserDept); |
| | | continue; |
| | | } |
| | | sysUserDept.setCreateTime(new Date()); |
| | | sysUserDeptMapper.insertSysUserDept(sysUserDept); |
| | | } |
| | | } |
| | | if (!CollectionUtils.isEmpty(user.getWardCodes())) { |
| | | for (String wardCode : user.getWardCodes()) { |
| | | SysDept sysDept = sysDeptMapper.selectDeptByCode(wardCode); |
| | | if (ObjectUtils.isEmpty(sysDept)) { |
| | | continue; |
| | | } |
| | | SysUserDept sysUserDept = new SysUserDept(); |
| | | sysUserDept.setUserId(user.getUserId()); |
| | | sysUserDept.setDeptCode(wardCode); |
| | | sysUserDept.setDeptId(sysDept.getDeptId()); |
| | | sysUserDept.setOrgid(user.getOrgid()); |
| | | List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept); |
| | | sysUserDept.setDelFlag(0L); |
| | | sysUserDept.setDeptType("2"); |
| | | sysUserDept.setOrgid(user.getOrgid()); |
| | | sysUserDept.setDeptName(sysDept.getDeptName()); |
| | | sysUserDept.setUpdateTime(new Date()); |
| | | if (!CollectionUtils.isEmpty(sysUserDepts)) { |
| | | sysUserDeptMapper.updateSysUserDept(sysUserDept); |
| | | continue; |
| | | } |
| | | sysUserDept.setCreateTime(new Date()); |
| | | sysUserDeptMapper.insertSysUserDept(sysUserDept); |
| | | } |
| | | } |
| | | // æ°å¢ç¨æ·å²ä½å
³è |
| | |
| | | <if test="configKey !=null and configKey != ''"> |
| | | and config_key = #{configKey} |
| | | </if> |
| | | <if test="orgid !=null and orgid != ''"> |
| | | and orgid = #{orgid} |
| | | </if> |
| | | </where> |
| | | </sql> |
| | | |
| | |
| | | |
| | | <delete id="deleteDeptById" parameterType="Long"> |
| | | update sys_dept |
| | | set del_flag = '2' |
| | | set del_flag = '1' |
| | | where dept_id = #{deptId} |
| | | </delete> |
| | | |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.system.mapper.SysRoleMapper"> |
| | | |
| | | <resultMap type="SysRole" id="SysRoleResult"> |
| | | <id property="roleId" column="role_id" /> |
| | | <result property="roleName" column="role_name" /> |
| | | <result property="roleKey" column="role_key" /> |
| | | <result property="roleSort" column="role_sort" /> |
| | | <result property="dataScope" column="data_scope" /> |
| | | <result property="menuCheckStrictly" column="menu_check_strictly" /> |
| | | <result property="deptCheckStrictly" column="dept_check_strictly" /> |
| | | <result property="status" column="status" /> |
| | | <result property="delFlag" column="del_flag" /> |
| | | <result property="createBy" column="create_by" /> |
| | | <result property="createTime" column="create_time" /> |
| | | <result property="updateBy" column="update_by" /> |
| | | <result property="updateTime" column="update_time" /> |
| | | <result property="remark" column="remark" /> |
| | | <result property="guid" column="guid" /> |
| | | <result property="orgid" column="orgid" /> |
| | | </resultMap> |
| | | <resultMap type="SysRole" id="SysRoleResult"> |
| | | <id property="roleId" column="role_id"/> |
| | | <result property="roleName" column="role_name"/> |
| | | <result property="roleKey" column="role_key"/> |
| | | <result property="roleSort" column="role_sort"/> |
| | | <result property="dataScope" column="data_scope"/> |
| | | <result property="menuCheckStrictly" column="menu_check_strictly"/> |
| | | <result property="deptCheckStrictly" column="dept_check_strictly"/> |
| | | <result property="status" column="status"/> |
| | | <result property="delFlag" column="del_flag"/> |
| | | <result property="createBy" column="create_by"/> |
| | | <result property="createTime" column="create_time"/> |
| | | <result property="updateBy" column="update_by"/> |
| | | <result property="updateTime" column="update_time"/> |
| | | <result property="remark" column="remark"/> |
| | | <result property="guid" column="guid"/> |
| | | <result property="orgid" column="orgid"/> |
| | | </resultMap> |
| | | |
| | | <sql id="selectRoleVo"> |
| | | select distinct r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.menu_check_strictly, r.dept_check_strictly, |
| | | r.status, r.del_flag, r.create_time, r.remark , r.guid, r.orgid |
| | | <sql id="selectRoleVo"> |
| | | select distinct r.role_id, |
| | | r.role_name, |
| | | r.role_key, |
| | | r.role_sort, |
| | | r.data_scope, |
| | | r.menu_check_strictly, |
| | | r.dept_check_strictly, |
| | | r.status, |
| | | r.del_flag, |
| | | r.create_time, |
| | | r.remark, |
| | | r.guid, |
| | | r.orgid |
| | | from sys_role r |
| | | left join sys_user_role ur on ur.role_id = r.role_id |
| | | left join sys_user u on u.user_id = ur.user_id |
| | | left join sys_dept d on u.dept_id = d.dept_id |
| | | left join sys_user_role ur on ur.role_id = r.role_id |
| | | left join sys_user u on u.user_id = ur.user_id |
| | | left join sys_dept d on u.dept_id = d.dept_id |
| | | </sql> |
| | | |
| | | <select id="selectRoleList" parameterType="SysRole" resultMap="SysRoleResult"> |
| | | <include refid="selectRoleVo"/> |
| | | where r.del_flag = '0' |
| | | <if test="roleId != null and roleId != 0"> |
| | | AND r.role_id = #{roleId} |
| | | </if> |
| | | <if test="roleName != null and roleName != ''"> |
| | | AND r.role_name like concat('%', #{roleName}, '%') |
| | | </if> |
| | | <if test="status != null and status != ''"> |
| | | AND r.status = #{status} |
| | | </if> |
| | | <if test="roleKey != null and roleKey != ''"> |
| | | AND r.role_key like concat('%', #{roleKey}, '%') |
| | | </if> |
| | | <if test="params.beginTime != null and params.beginTime != ''"><!-- å¼å§æ¶é´æ£ç´¢ --> |
| | | and date_format(r.create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') |
| | | </if> |
| | | <if test="params.endTime != null and params.endTime != ''"><!-- ç»ææ¶é´æ£ç´¢ --> |
| | | and date_format(r.create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') |
| | | </if> |
| | | <!-- æ°æ®èå´è¿æ»¤ --> |
| | | ${params.dataScope} |
| | | order by r.role_sort |
| | | </select> |
| | | <include refid="selectRoleVo"/> |
| | | where r.del_flag = '0' |
| | | <if test="roleId != null and roleId != 0"> |
| | | AND r.role_id = #{roleId} |
| | | </if> |
| | | <if test="roleName != null and roleName != ''"> |
| | | AND r.role_name like concat('%', #{roleName}, '%') |
| | | </if> |
| | | <if test="status != null and status != ''"> |
| | | AND r.status = #{status} |
| | | </if> |
| | | <if test="orgid != null and orgid != ''"> |
| | | AND r.orgid = #{orgid} |
| | | </if> |
| | | <if test="roleKey != null and roleKey != ''"> |
| | | AND r.role_key like concat('%', #{roleKey}, '%') |
| | | </if> |
| | | <if test="params.beginTime != null and params.beginTime != ''"><!-- å¼å§æ¶é´æ£ç´¢ --> |
| | | and date_format(r.create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') |
| | | </if> |
| | | <if test="params.endTime != null and params.endTime != ''"><!-- ç»ææ¶é´æ£ç´¢ --> |
| | | and date_format(r.create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') |
| | | </if> |
| | | <!-- æ°æ®èå´è¿æ»¤ --> |
| | | ${params.dataScope} |
| | | order by r.role_sort |
| | | </select> |
| | | |
| | | <select id="selectRolePermissionByUserId" parameterType="Long" resultMap="SysRoleResult"> |
| | | <include refid="selectRoleVo"/> |
| | | WHERE r.del_flag = '0' and ur.user_id = #{userId} |
| | | </select> |
| | | <select id="selectRolePermissionByUserId" parameterType="Long" resultMap="SysRoleResult"> |
| | | <include refid="selectRoleVo"/> |
| | | WHERE r.del_flag = '0' and ur.user_id = #{userId} |
| | | </select> |
| | | |
| | | <select id="selectRoleAll" resultMap="SysRoleResult"> |
| | | <include refid="selectRoleVo"/> |
| | | </select> |
| | | <select id="selectRoleAll" resultMap="SysRoleResult"> |
| | | <include refid="selectRoleVo"/> |
| | | </select> |
| | | |
| | | <select id="selectRoleListByUserId" parameterType="Long" resultType="Long"> |
| | | select r.role_id |
| | | <select id="selectRoleListByUserId" parameterType="Long" resultType="Long"> |
| | | select r.role_id |
| | | from sys_role r |
| | | left join sys_user_role ur on ur.role_id = r.role_id |
| | | left join sys_user u on u.user_id = ur.user_id |
| | | where u.user_id = #{userId} |
| | | </select> |
| | | left join sys_user_role ur on ur.role_id = r.role_id |
| | | left join sys_user u on u.user_id = ur.user_id |
| | | where u.user_id = #{userId} |
| | | </select> |
| | | |
| | | <select id="selectRoleById" parameterType="Long" resultMap="SysRoleResult"> |
| | | <include refid="selectRoleVo"/> |
| | | where r.role_id = #{roleId} |
| | | </select> |
| | | <select id="selectRoleById" parameterType="Long" resultMap="SysRoleResult"> |
| | | <include refid="selectRoleVo"/> |
| | | where r.role_id = #{roleId} |
| | | </select> |
| | | |
| | | <select id="selectRolesByUserName" parameterType="String" resultMap="SysRoleResult"> |
| | | <include refid="selectRoleVo"/> |
| | | WHERE r.del_flag = '0' and u.user_name = #{userName} |
| | | </select> |
| | | <select id="selectRolesByUserName" parameterType="String" resultMap="SysRoleResult"> |
| | | <include refid="selectRoleVo"/> |
| | | WHERE r.del_flag = '0' and u.user_name = #{userName} |
| | | </select> |
| | | |
| | | <select id="checkRoleNameUnique" parameterType="String" resultMap="SysRoleResult"> |
| | | <include refid="selectRoleVo"/> |
| | | where r.role_name=#{roleName} and r.del_flag = '0' limit 1 |
| | | </select> |
| | | <select id="checkRoleNameUnique" parameterType="String" resultMap="SysRoleResult"> |
| | | <include refid="selectRoleVo"/> |
| | | where r.role_name=#{roleName} and r.del_flag = '0' limit 1 |
| | | </select> |
| | | |
| | | <select id="checkRoleKeyUnique" parameterType="String" resultMap="SysRoleResult"> |
| | | <include refid="selectRoleVo"/> |
| | | where r.role_key=#{roleKey} and r.del_flag = '0' limit 1 |
| | | </select> |
| | | <select id="checkRoleKeyUnique" parameterType="String" resultMap="SysRoleResult"> |
| | | <include refid="selectRoleVo"/> |
| | | where r.role_key=#{roleKey} and r.del_flag = '0' limit 1 |
| | | </select> |
| | | |
| | | <insert id="insertRole" parameterType="SysRole" useGeneratedKeys="true" keyProperty="roleId"> |
| | | insert into sys_role( |
| | | <if test="roleId != null and roleId != 0">role_id,</if> |
| | | <if test="roleName != null and roleName != ''">role_name,</if> |
| | | <if test="roleKey != null and roleKey != ''">role_key,</if> |
| | | <if test="roleSort != null">role_sort,</if> |
| | | <if test="dataScope != null and dataScope != ''">data_scope,</if> |
| | | <if test="menuCheckStrictly != null">menu_check_strictly,</if> |
| | | <if test="deptCheckStrictly != null">dept_check_strictly,</if> |
| | | <if test="status != null and status != ''">status,</if> |
| | | <if test="remark != null and remark != ''">remark,</if> |
| | | <if test="createBy != null and createBy != ''">create_by,</if> |
| | | <if test="guid != null and guid != ''">guid,</if> |
| | | <if test="orgid != null and orgid != ''">orgid,</if> |
| | | create_time |
| | | )values( |
| | | <if test="roleId != null and roleId != 0">#{roleId},</if> |
| | | <if test="roleName != null and roleName != ''">#{roleName},</if> |
| | | <if test="roleKey != null and roleKey != ''">#{roleKey},</if> |
| | | <if test="roleSort != null">#{roleSort},</if> |
| | | <if test="dataScope != null and dataScope != ''">#{dataScope},</if> |
| | | <if test="menuCheckStrictly != null">#{menuCheckStrictly},</if> |
| | | <if test="deptCheckStrictly != null">#{deptCheckStrictly},</if> |
| | | <if test="status != null and status != ''">#{status},</if> |
| | | <if test="remark != null and remark != ''">#{remark},</if> |
| | | <if test="createBy != null and createBy != ''">#{createBy},</if> |
| | | <if test="guid != null and guid != ''">#{guid},</if> |
| | | <if test="orgid != null and orgid != ''">#{orgid},</if> |
| | | sysdate() |
| | | ) |
| | | </insert> |
| | | <insert id="insertRole" parameterType="SysRole" useGeneratedKeys="true" keyProperty="roleId"> |
| | | insert into sys_role( |
| | | <if test="roleId != null and roleId != 0">role_id,</if> |
| | | <if test="roleName != null and roleName != ''">role_name,</if> |
| | | <if test="roleKey != null and roleKey != ''">role_key,</if> |
| | | <if test="roleSort != null">role_sort,</if> |
| | | <if test="dataScope != null and dataScope != ''">data_scope,</if> |
| | | <if test="menuCheckStrictly != null">menu_check_strictly,</if> |
| | | <if test="deptCheckStrictly != null">dept_check_strictly,</if> |
| | | <if test="status != null and status != ''">status,</if> |
| | | <if test="remark != null and remark != ''">remark,</if> |
| | | <if test="createBy != null and createBy != ''">create_by,</if> |
| | | <if test="guid != null and guid != ''">guid,</if> |
| | | <if test="orgid != null and orgid != ''">orgid,</if> |
| | | create_time |
| | | )values( |
| | | <if test="roleId != null and roleId != 0">#{roleId},</if> |
| | | <if test="roleName != null and roleName != ''">#{roleName},</if> |
| | | <if test="roleKey != null and roleKey != ''">#{roleKey},</if> |
| | | <if test="roleSort != null">#{roleSort},</if> |
| | | <if test="dataScope != null and dataScope != ''">#{dataScope},</if> |
| | | <if test="menuCheckStrictly != null">#{menuCheckStrictly},</if> |
| | | <if test="deptCheckStrictly != null">#{deptCheckStrictly},</if> |
| | | <if test="status != null and status != ''">#{status},</if> |
| | | <if test="remark != null and remark != ''">#{remark},</if> |
| | | <if test="createBy != null and createBy != ''">#{createBy},</if> |
| | | <if test="guid != null and guid != ''">#{guid},</if> |
| | | <if test="orgid != null and orgid != ''">#{orgid},</if> |
| | | sysdate() |
| | | ) |
| | | </insert> |
| | | |
| | | <update id="updateRole" parameterType="SysRole"> |
| | | update sys_role |
| | | <set> |
| | | <if test="roleName != null and roleName != ''">role_name = #{roleName},</if> |
| | | <if test="roleKey != null and roleKey != ''">role_key = #{roleKey},</if> |
| | | <if test="roleSort != null">role_sort = #{roleSort},</if> |
| | | <if test="dataScope != null and dataScope != ''">data_scope = #{dataScope},</if> |
| | | <if test="menuCheckStrictly != null">menu_check_strictly = #{menuCheckStrictly},</if> |
| | | <if test="deptCheckStrictly != null">dept_check_strictly = #{deptCheckStrictly},</if> |
| | | <if test="status != null and status != ''">status = #{status},</if> |
| | | <if test="remark != null">remark = #{remark},</if> |
| | | <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> |
| | | <if test="guid != null and guid != ''">guid = #{guid},</if> |
| | | <if test="orgid != null and orgid != ''">orgid = #{orgid},</if> |
| | | update_time = sysdate() |
| | | </set> |
| | | where role_id = #{roleId} |
| | | </update> |
| | | <update id="updateRole" parameterType="SysRole"> |
| | | update sys_role |
| | | <set> |
| | | <if test="roleName != null and roleName != ''">role_name = #{roleName},</if> |
| | | <if test="roleKey != null and roleKey != ''">role_key = #{roleKey},</if> |
| | | <if test="roleSort != null">role_sort = #{roleSort},</if> |
| | | <if test="dataScope != null and dataScope != ''">data_scope = #{dataScope},</if> |
| | | <if test="menuCheckStrictly != null">menu_check_strictly = #{menuCheckStrictly},</if> |
| | | <if test="deptCheckStrictly != null">dept_check_strictly = #{deptCheckStrictly},</if> |
| | | <if test="status != null and status != ''">status = #{status},</if> |
| | | <if test="remark != null">remark = #{remark},</if> |
| | | <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> |
| | | <if test="guid != null and guid != ''">guid = #{guid},</if> |
| | | <if test="orgid != null and orgid != ''">orgid = #{orgid},</if> |
| | | update_time = sysdate() |
| | | </set> |
| | | where role_id = #{roleId} |
| | | </update> |
| | | |
| | | <delete id="deleteRoleById" parameterType="Long"> |
| | | update sys_role set del_flag = '2' where role_id = #{roleId} |
| | | </delete> |
| | | <delete id="deleteRoleById" parameterType="Long"> |
| | | update sys_role |
| | | set del_flag = '1' |
| | | where role_id = #{roleId} |
| | | </delete> |
| | | |
| | | <delete id="deleteRoleByIds" parameterType="Long"> |
| | | update sys_role set del_flag = '2' where role_id in |
| | | <foreach collection="array" item="roleId" open="(" separator="," close=")"> |
| | | #{roleId} |
| | | <delete id="deleteRoleByIds" parameterType="Long"> |
| | | update sys_role set del_flag = '1' where role_id in |
| | | <foreach collection="array" item="roleId" open="(" separator="," close=")"> |
| | | #{roleId} |
| | | </foreach> |
| | | </delete> |
| | | </delete> |
| | | |
| | | </mapper> |
| | |
| | | u.birthday, |
| | | u.job_phone, |
| | | u.phonenumber, u.sex, u.status, |
| | | u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user |
| | | u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name from sys_user |
| | | u |
| | | left join sys_dept d on u.dept_id = d.dept_id |
| | | left join sys_user_dept d on u.user_id = d.user_id |
| | | where u.del_flag = '0' |
| | | <if test="userId != null"> |
| | | AND u.user_id = #{userId} |
| | |
| | | |
| | | <delete id="deleteUserById" parameterType="Long"> |
| | | update sys_user |
| | | set del_flag = '2' |
| | | set del_flag = '1' |
| | | where user_id = #{userId} |
| | | </delete> |
| | | |
| | | <delete id="deleteUserByIds" parameterType="Long"> |
| | | update sys_user set del_flag = '2' where user_id in |
| | | update sys_user set del_flag = '1' where user_id in |
| | | <foreach collection="array" item="userId" open="(" separator="," close=")"> |
| | | #{userId} |
| | | </foreach> |
| | |
| | | |
| | | @Slf4j |
| | | public class LSHospTokenUtil { |
| | | public static String getToken(String orgid,String url) { |
| | | public static String getToken(String orgid,String url) { |
| | | String token = null; |
| | | LyraTokenUtil lyraTokenUtil = null; |
| | | if (orgid.equals("47255004333112711A1001")) { //æ¯å® |
| | | if(ObjectUtils.isNotEmpty(url)){ |
| | | lyraTokenUtil = LyraTokenUtil.createLyraTokenUtil(url, "zjhes.suifangxt", "OIjdJvx2ALjFVGZoCZO4I8O"); |
| | | log.info("token.360è°ç¨ç»æ"+url+";æºæä»£ç ï¼"+orgid+""); |
| | | }else { |
| | | if (orgid.equals("47255004333112711A1001")) //æ¯å® |
| | | lyraTokenUtil = LyraTokenUtil.createLyraTokenUtil("https://9.0.124.104:13021/mediinfo-lyra-authserver/connect/token", "zjhes.suifangxt", "OIjdJvx2ALjFVGZoCZO4I8O"); |
| | | }else if (orgid.equals("47231022633110211A2101")) { //ä¸å»é¢ |
| | | if (orgid.equals("47231022633110211A2101")) //ä¸å»é¢ |
| | | lyraTokenUtil = LyraTokenUtil.createLyraTokenUtil("https://9.0.124.104:13011/mediinfo-lyra-authserver/connect/token", "zjhes.suifangxt", "OIjdJvx2ALjFVGZoCZO4I8O"); |
| | | }else if(ObjectUtils.isNotEmpty(url)) { |
| | | lyraTokenUtil = LyraTokenUtil.createLyraTokenUtil(url, "zjhes.suifangxt", "OIjdJvx2ALjFVGZoCZO4I8O"); |
| | | log.info("token.360è°ç¨ç»æ" + url + ";æºæä»£ç ï¼" + orgid + ""); |
| | | } |
| | | } |
| | | try { |
| | | token = lyraTokenUtil.getToken(); |
| | | } catch (IOException e) { |
| | |
| | | /** |
| | | * æ¯å¦å¼å¸¸æ è¯ |
| | | */ |
| | | @Excel(name = "æ¯å¦å¼å¸¸æ è¯") |
| | | @ApiModelProperty(value = "æ¯å¦å¼å¸¸æ è¯") |
| | | @Excel(name = "æ¯å¦å¼å¸¸æ è¯ 0绿è²ï¼1红è²ï¼2é»è²ï¼") |
| | | @ApiModelProperty(value = "æ¯å¦å¼å¸¸æ è¯ 0绿è²ï¼1红è²ï¼2é»è²ï¼") |
| | | private Long isabnormal; |
| | | |
| | | /** |
| | |
| | | private Integer sort; |
| | | |
| | | /** |
| | | * å¼å¸¸é¢è¦ï¼0绿è²ï¼1红è²ï¼2é»è² |
| | | */ |
| | | @ApiModelProperty(value = "å¼å¸¸é¢è¦ï¼0绿è²ï¼1红è²ï¼2é»è²") |
| | | private Long isabnormal; |
| | | |
| | | /** |
| | | * è¯æ¯é项 |
| | | */ |
| | | @ApiModelProperty(value = "è¯æ¯é项") |
| | |
| | | |
| | | |
| | | /** |
| | | * æ¥çå
¨é¨ 0 æ¥çä½é¢ 1 æ¥çé¨è¯ 2 æ¥ç使£ 3 æ¥çåºé¢ 4 |
| | | * æ¥çå
¨é¨ 0 æ¥çåºé¢ 1 æ¥çé¨è¯ 2 æ¥ç使£ 3 æ¥çå¨é¢ 4 |
| | | */ |
| | | @ApiModelProperty(value = " æ¥çä½é¢ 1 æ¥çé¨è¯ 2 æ¥ç使£ 3 æ¥çåºé¢ 4") |
| | | private Long allhosp; |
| | |
| | | private String inhospno; |
| | | |
| | | /** |
| | | * é访æ è¯ï¼0ä¸éè¦ï¼1éè¦ |
| | | */ |
| | | @ApiModelProperty(value = "é访æ è¯ï¼0ä¸éè¦ï¼1éè¦") |
| | | private String fuflag; |
| | | /** |
| | | * ç¾ç
å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 |
| | | */ |
| | | @ApiModelProperty(value = "ç¾ç
å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败") |
| | | private String diagcheckFlag; |
| | | |
| | | /** |
| | | *ç
åºå¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 |
| | | */ |
| | | @ApiModelProperty(value = "ç
åºå¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败") |
| | | private String wardcheckFlag; |
| | | |
| | | /** |
| | | * é¨é¨å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 |
| | | */ |
| | | @ApiModelProperty(value = "é¨é¨å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败") |
| | | private String deptcheckFlag; |
| | | |
| | | /** |
| | | * æ¤å£«ID |
| | | */ |
| | | @ApiModelProperty(value = "æ¤å£«ID") |
| | |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * æ£è
é¨è¯è®°å½å¯¹è±¡ pat_med_outhosp |
| | |
| | | */ |
| | | @ApiModelProperty(value = "ç§å®¤ä»£ç ") |
| | | private String deptcode; |
| | | |
| | | /** |
| | | * ç§å®¤ä»£ç |
| | | */ |
| | | @ApiModelProperty(value = "ç§å®¤ä»£ç éå") |
| | | private List<String> deptcodes; |
| | | |
| | | /** |
| | | * ç§å®¤åç§° |
| | |
| | | private String hpi; |
| | | |
| | | /** |
| | | æ£è
æ¡£æ¡ç¼å· ç°ç
å² |
| | | * æ£è
æ¡£æ¡ç¼å· ç°ç
å² |
| | | */ |
| | | @ApiModelProperty(value = "æ£è
æ¡£æ¡ç¼å·") |
| | | private String patno; |
| | |
| | | @Excel(name = "åéæ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @ApiModelProperty("åéæ¶é´") |
| | | private Date visitTime; |
| | | private Date visittime; |
| | | |
| | | |
| | | /** |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.domain; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @ApiModel(value = "ServiceSLTDCommonReqVO", description = "çç«åå¾·åºç§å®¤ç
åºè¯·æ±ä¿¡æ¯") |
| | | @Data |
| | | public class ServiceSLTDDeptReqVO { |
| | | @ApiModelProperty(value = "æºæID æºæå¯ä¸ç¼å·") |
| | | private String orgId; |
| | | |
| | | @ApiModelProperty(value = "é¢åºID") |
| | | private List<Long> campusIds; |
| | | |
| | | @ApiModelProperty(value = "æºæå¦ç§ï¼åå
¸code") |
| | | private String orgSubjectCode; |
| | | |
| | | |
| | | @ApiModelProperty(value = "å½é
å¦ç§ï¼åå
¸code ") |
| | | private String subjectCode; |
| | | |
| | | @ApiModelProperty(value = "ç§å®¤å称模ç³å¹é
") |
| | | private Long searchText; |
| | | |
| | | @ApiModelProperty(value = "é¨é¨ç»´åº¦: 201-äººäº 202-ä¸å¡ ä¸ä¼ -å
¨é¨") |
| | | private Long deptDimensions; |
| | | |
| | | |
| | | @ApiModelProperty(value = "æå¡èå´ ï¼ æ¥è¯-emergency 廿-medicalTechnology é¨è¯-outpatient ä½é¢-hospitalization 使£-physicalExamination" + |
| | | "ææ¯-operation è¯æ¿-drugRoom è¯åº-drugWarehouse ææåº-materialWarehouse æ¢æ-rescue çè§-observation éé
-venousConfig") |
| | | private List<String> serviceScopes; |
| | | |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦æ¯ç
åº: 0-䏿¯ 1-æ¯") |
| | | private Integer inpatientArea; |
| | | |
| | | @ApiModelProperty(value = "åç¨ç¶æ : 1-æªåç¨ 0-åç¨ ä¸ä¼ -å
¨é¨") |
| | | private Integer status; |
| | | |
| | | |
| | | @ApiModelProperty(value = "é¨é¨ç±»åï¼ FH0132.01-å»ç FH0132.02-æå¦ FH0132.03-ç§ç FH0132.04-è¡æ¿ FH0132.05-åå¤ FH0132.06-å
¶ä»") |
| | | private String deptType; |
| | | |
| | | |
| | | } |
| | |
| | | private String orgId; |
| | | |
| | | @ApiModelProperty(value = "é¢åºID") |
| | | private Long campusIds; |
| | | private Long campusId; |
| | | |
| | | @ApiModelProperty(value = "æ£è
å§å å¿
å¡«ä¸ä¸ª") |
| | | private String patientName; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.domain; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * çµè¯é®é¢åçæç» |
| | | * |
| | | * @author ls |
| | | * @date 2023-06-05 |
| | | */ |
| | | @ApiModel(value = "ServiceSubTaskAnswerReq", description = "é®é¢åçæç»") |
| | | @Data |
| | | public class ServiceSubTaskMYDAnswerReq { |
| | | |
| | | @ApiModelProperty(value = "é®å·ç»æ") |
| | | private List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOS; |
| | | |
| | | @ApiModelProperty(value = "æµæ°´å·") |
| | | private String serialnum; |
| | | |
| | | @ApiModelProperty(value = "ä»»å¡ID") |
| | | private String taskId; |
| | | |
| | | @ApiModelProperty(value = "ä½é¢ 1 é¨è¯2 æè¯3") |
| | | private String mzzy; |
| | | } |
| | |
| | | /** |
| | | * å¼å¸¸æ è¯ |
| | | */ |
| | | @ApiModelProperty(value = "å¼å¸¸æ è¯") |
| | | @Excel(name = " å¼å¸¸æ è¯ ") |
| | | @ApiModelProperty(value = "å¼å¸¸æ è¯ï¼0绿è²ï¼1红è²ï¼2é»è²") |
| | | @Excel(name = " å¼å¸¸æ è¯:0绿è²ï¼1红è²ï¼2é»è² ") |
| | | private String excep; |
| | | |
| | | /** |
| | |
| | | /** |
| | | * æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯ç®¡çï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥ 9使£é访 10.廿é访 11ï¼å½±åä¸ç§é访 12ãå¿çµä¸ç§éè®¿ï¼ 13ä¸ç§é访) |
| | | */ |
| | | @Excel(name = "æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯ç®¡çï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥ 9使£é访 10.廿é访 11ï¼å½±åä¸ç§é访 12ãå¿çµä¸ç§éè®¿ï¼ 13ä¸ç§é访)") |
| | | @ApiModelProperty(value = "æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯ç®¡çï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥ 9使£é访 10.廿é访 11ï¼å½±åä¸ç§é访 12ãå¿çµä¸ç§éè®¿ï¼ 13ä¸ç§é访") |
| | | @Excel(name = "æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯ç®¡çï¼6ãä½é¢æ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥ 9使£é访 10.廿é访 11ï¼å½±åä¸ç§é访 12ãå¿çµä¸ç§éè®¿ï¼ 13ä¸ç§é访 14ãé¨è¯æ»¡æåº¦è°æ¥ 15æè¯å»ºè®® 16课é¢é访") |
| | | @ApiModelProperty(value = "æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯ç®¡çï¼6ãä½é¢æ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥ 9使£é访 10.廿é访 11ï¼å½±åä¸ç§é访 12ãå¿çµä¸ç§éè®¿ï¼ 13ä¸ç§é访 14ãé¨è¯æ»¡æåº¦è°æ¥ 15æè¯å»ºè®® 16课é¢é访") |
| | | private String serviceType; |
| | | |
| | | /** |
| | |
| | | private String preachform; |
| | | |
| | | /** |
| | | * å½ååéæ¹å¼ |
| | | */ |
| | | @Excel(name = " å½ååéæ¹å¼") |
| | | @ApiModelProperty("å½ååéæ¹å¼") |
| | | private String currentPreachform; |
| | | |
| | | /** |
| | | * åºå· |
| | | */ |
| | | @Excel(name = "åºå·") |
| | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "主é®") |
| | | private String id; |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "åä»»å¡ID") |
| | | private Long subId; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.domain; |
| | | |
| | | import com.ruoyi.common.annotation.Excel; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * ã请填ååè½åç§°ã对象 service_subtask_preachform |
| | | * |
| | | * @author lihu |
| | | * @date 2025-09-15 |
| | | */ |
| | | @Data |
| | | @ApiModel("ã请填ååè½åç§°ã") |
| | | public class ServiceSubtaskPreachform extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * $column.columnComment |
| | | */ |
| | | @ApiModelProperty("$column.columnComment") |
| | | //æ°æ®åºèªå¢æ¹æ@TableId(type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | /** |
| | | * ä»»å¡ID |
| | | */ |
| | | @ApiModelProperty("ä»»å¡ID") |
| | | @Excel(name = "ä»»å¡ID") |
| | | private Long subid; |
| | | |
| | | /** |
| | | * æå¡ID |
| | | */ |
| | | @ApiModelProperty("æå¡ID") |
| | | @Excel(name = "æå¡ID") |
| | | private Long taskid; |
| | | |
| | | /** |
| | | * åéæ¹å¼(1,人工 2,纸质 3,çµè¯ 4,çä¿¡ 5.微信å
¬ä¼å· 6.微信å°ç¨åº 7.æ¯ä»å®å°ç¨åº 8.æºè½æºå¨äºº 9.éé) |
| | | */ |
| | | @ApiModelProperty("åéæ¹å¼") |
| | | @Excel(name = "åéæ¹å¼") |
| | | private String preachform; |
| | | |
| | | /** |
| | | * çä¿¡ç¶æï¼1æªåé 2å·²åé 3å·²é¢å 4å·ç é误(æ æä¹ï¼ä¸ºäºåå
¶å®é
å¹³) 5åé失败 6䏿§è¡ 9宿 |
| | | * <p> |
| | | * å¾®ä¿¡ç¶æï¼1æªåé 2å·²åé 3å·²é¢å 4微信å·é误(æ æä¹ï¼ä¸ºäºåå
¶å®é
å¹³) 5åé失败 6䏿§è¡ 9宿 |
| | | * <p> |
| | | * æºè½è¯é³ç¶æï¼1æªæ§è¡ 2å·²åé 3ææ¥æè®¿ 4å·ç é误 5æ§è¡å¤±è´¥ 6䏿§è¡ 9宿 |
| | | * <p> |
| | | * 人工éè®¿ç¶æï¼1æªæ§è¡ 2å¾
人工确认 3ææ¥æè®¿ 4å·ç é误 5æ§è¡å¤±è´¥ 6䏿§è¡ 9宿 |
| | | * <p> |
| | | * é¢è®¿ç¶æï¼1æªæ§è¡ 9宿 |
| | | */ |
| | | @ApiModelProperty("åéç¶æ") |
| | | private String sendstate; |
| | | |
| | | /** |
| | | * æºæç¼ç |
| | | */ |
| | | @ApiModelProperty("æºæç¼ç ") |
| | | @Excel(name = "æºæç¼ç ") |
| | | private String orgid; |
| | | |
| | | /** |
| | | * å é¤ç¶æ |
| | | */ |
| | | @ApiModelProperty("å é¤ç¶æ") |
| | | private String delFlag; |
| | | |
| | | /** |
| | | * é¡ºåº |
| | | */ |
| | | @ApiModelProperty("顺åº") |
| | | @Excel(name = "顺åº") |
| | | private Long sort; |
| | | |
| | | /** |
| | | * è¡¥å¿æ¶é´ï¼åä½å¤©ï¼ |
| | | */ |
| | | @ApiModelProperty("è¡¥å¿æ¶é´ï¼åä½å¤©ï¼") |
| | | @Excel(name = "è¡¥å¿æ¶é´ï¼åä½å¤©ï¼") |
| | | private String compensateTime; |
| | | } |
| | | |
| | |
| | | * åéç¶æ |
| | | */ |
| | | @Excel(name = " åéç¶æ ") |
| | | @ApiModelProperty(value = "åéç¶æ : 1æ°å»º 2æ§è¡ä¸ 3æå 4ç»æ¢ 5宿") |
| | | @ApiModelProperty(value = "åéç¶æ 1 被é¢å(å¨ä»»å¡ä¸æ¯æ°å»ºï¼å¨æå¡ä¸æ¯è¢«é¢å) 2 å¾
åé 3 å·²åé 4 䏿§è¡ 5 åé失败 6 已宿") |
| | | private Long sendstate; |
| | | |
| | | /** |
| | | * åéç¶æ |
| | | */ |
| | | @Excel(name = " åéç¶æéå ") |
| | | @ApiModelProperty(value = "åéç¶æ : 1æ°å»º 2æ§è¡ä¸ 3æå 4ç»æ¢ 5宿") |
| | | @ApiModelProperty(value = "åéç¶æ 1 被é¢å(å¨ä»»å¡ä¸æ¯æ°å»ºï¼å¨æå¡ä¸æ¯è¢«é¢å) 2 å¾
åé 3 å·²åé 4 䏿§è¡ 5 åé失败 6 已宿") |
| | | private List<Long> sendstates; |
| | | |
| | | |
| | |
| | | @ApiModelProperty(value = "宣æå½¢å¼ : 1,ææ¬ã2,å¾çã3,è¯é³ã4,è§é¢ã5,æ··å") |
| | | private String preachform; |
| | | |
| | | /** |
| | | * å½ååéæ¹å¼ |
| | | */ |
| | | @Excel(name = " å½ååéæ¹å¼") |
| | | @ApiModelProperty(value = "å½ååéæ¹å¼") |
| | | private String currentPreachform; |
| | | |
| | | |
| | | /** |
| | | * åºå· |
| | |
| | | private String type; |
| | | |
| | | /** |
| | | * æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯éç¥ï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥) |
| | | * "æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯ç®¡çï¼6ãä½é¢æ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥ 9使£é访 10.廿é访 11ï¼å½±åä¸ç§é访 12ãå¿çµä¸ç§éè®¿ï¼ 13ä¸ç§é访 14ãé¨è¯æ»¡æåº¦è°æ¥ 15æè¯å»ºè®®" |
| | | */ |
| | | @Excel(name = "æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯éç¥ï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥)") |
| | | @ApiModelProperty(value = "æå¡ç±»å : 1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯ç®¡çï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥ 9使£é访 10.廿é访 11ï¼å½±åä¸ç§é访 12ãå¿çµä¸ç§éè®¿ï¼ 13ä¸ç
é访") |
| | | @Excel(name = "æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯ç®¡çï¼6ãä½é¢æ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥ 9使£é访 10.廿é访 11ï¼å½±åä¸ç§é访 12ãå¿çµä¸ç§éè®¿ï¼ 13ä¸ç§é访 14ãé¨è¯æ»¡æåº¦è°æ¥ 15æè¯å»ºè®® 16课é¢é访") |
| | | @ApiModelProperty(value = "æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯ç®¡çï¼6ãä½é¢æ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥ 9使£é访 10.廿é访 11ï¼å½±åä¸ç§é访 12ãå¿çµä¸ç§éè®¿ï¼ 13ä¸ç§é访 14ãé¨è¯æ»¡æåº¦è°æ¥ 15æè¯å»ºè®® 16课é¢é访") |
| | | private String serviceType; |
| | | |
| | | /** |
| | |
| | | /** |
| | | * pageSize |
| | | */ |
| | | @ApiModelProperty("æ¯å¦æ¯é¿æä»»å¡ 0ï¼ä¸æ¯ 1ï¼æ¯") |
| | | @ApiModelProperty("æ¯å¦æ¯é¿æä»»å¡ 0ï¼ä¸´æ¶ä»»å¡ 1ï¼é¿æä»»å¡ 2åºå®ä»»å¡ 3循ç¯ä»»å¡") |
| | | private Integer longTask; |
| | | |
| | | /** |
| | |
| | | private String param1; |
| | | |
| | | /** |
| | | * patid |
| | | * patid æ æµæ°´å· |
| | | * è¯çè®°å½å· |
| | | */ |
| | | @Excel(name = "patid ") |
| | | @ApiModelProperty(value = "patid") |
| | | @Excel(name = "patid æ ä½é¢æµæ°´å· ") |
| | | @ApiModelProperty(value = "patid æ ä½é¢æµæ°´å·") |
| | | private String param2; |
| | | |
| | | /** |
| | | * patid æ æµæ°´å· |
| | | * è¯çè®°å½å· |
| | | */ |
| | | @Excel(name = "é¨è¯æµæ°´å· ") |
| | | @ApiModelProperty(value = "é¨è¯æµæ°´å·") |
| | | private String param3; |
| | | |
| | | /** |
| | | * æè¯æ£è
ç¼å· |
| | | * æè¯æ£è
ç¼å· |
| | | */ |
| | | @Excel(name = "æè¯æ£è
ç¼å· patientId ") |
| | | @ApiModelProperty(value = "æè¯æ£è
ç¼å· patientId") |
| | | private String param4; |
| | | |
| | | /** |
| | | * patfrom |
| | | */ |
| | | @Excel(name = "patfrom ") |
| | |
| | | */ |
| | | @Excel(name = " ") |
| | | private Long fail; |
| | | |
| | | /** |
| | | * ä»»å¡å½¢å¼ 1,å¤åªä½ 2,纸质 3,çµè¯ 4,çä¿¡ 5.微信å
¬ä¼å· 6.微信å°ç¨åº 7.æ¯ä»å® 8.æºè½å°ç¨åº 9.éé |
| | | */ |
| | | @Excel(name = " ä»»å¡å½¢å¼ 1,å¤åªä½ 2,纸质 3,çµè¯ 4,çä¿¡ 5.微信å
¬ä¼å· 6.微信å°ç¨åº 7.æ¯ä»å® 8.æºè½å°ç¨åº 9.éé ") |
| | | @ApiModelProperty(value = " ä»»å¡å½¢å¼ 1,å¤åªä½ 2,纸质 3,çµè¯ 4,çä¿¡ 5.微信å
¬ä¼å· 6.微信å°ç¨åº 7.æ¯ä»å® 8.æºè½å°ç¨åº 9.éé ") |
| | | @Excel(name = " ä»»å¡å½¢å¼ 1,人工 2,纸质 3,çµè¯ 4,çä¿¡ 5.微信å
¬ä¼å· 6.微信å°ç¨åº 7.æ¯ä»å® 8.æºè½å°ç¨åº 9.éé ") |
| | | @ApiModelProperty(value = " ä»»å¡å½¢å¼ 1,人工 2,纸质 3,çµè¯ 4,çä¿¡ 5.微信å
¬ä¼å· 6.微信å°ç¨åº 7.æ¯ä»å® 8.æºè½å°ç¨åº 9.éé ") |
| | | private String preachform; |
| | | |
| | | /** |
| | | * ä»»å¡å½¢å¼ 1,å¤åªä½ 2,纸质 3,çµè¯ 4,çä¿¡ 5.微信å
¬ä¼å· 6.微信å°ç¨åº 7.æ¯ä»å® 8.æºè½å°ç¨åº 9.éé |
| | | * [ |
| | | * { |
| | | * "sort": 1, //åºå· |
| | | * "preachform": "1", //åéæ¹å¼ |
| | | * "compensateTime": 2 //è¡¥å¿æ¶é´ |
| | | * } |
| | | * ] |
| | | */ |
| | | @Excel(name = " ä»»å¡å½¢å¼ 1,人工 2,纸质 3,çµè¯ 4,çä¿¡ 5.微信å
¬ä¼å· 6.微信å°ç¨åº 7.æ¯ä»å® 8.æºè½å°ç¨åº 9.éé ") |
| | | @ApiModelProperty(value = " ä»»å¡å½¢å¼ 1,人工 2,纸质 3,çµè¯ 4,çä¿¡ 5.微信å
¬ä¼å· 6.微信å°ç¨åº 7.æ¯ä»å® 8.æºè½å°ç¨åº 9.éé ") |
| | | private List<ServiceSubtaskPreachform> preachformList; |
| | | |
| | | |
| | | /** |
| | | * |
| | |
| | | private String istrack; |
| | | |
| | | /** |
| | | * å¼å¸¸é¢è¦ï¼æ¯ï¼1ãå¦ï¼0ï¼ |
| | | * å¼å¸¸é¢è¦ï¼0绿è²ï¼1红è²ï¼2é»è² |
| | | */ |
| | | @ApiModelProperty(value = "å¼å¸¸é¢è¦ æ¯=ï¼1ãå¦ï¼0") |
| | | private String isabnormal; |
| | | @ApiModelProperty(value = "å¼å¸¸é¢è¦ï¼0绿è²ï¼1红è²ï¼2é»è²") |
| | | private Long isabnormal; |
| | | |
| | | /** |
| | | * å 餿 å¿ï¼0ï¼æªå é¤ 1ï¼å·²å é¤ï¼ |
| | |
| | | @ApiModelProperty(value = "é®é¢ç»æ ,ç»=âå¼ç±»åâæ¯ææ¬æè
æ°å¼ç¨ç") |
| | | private String scriptResult; |
| | | |
| | | |
| | | /** |
| | | * å¼å¸¸é¢è¦ï¼0绿è²ï¼1红è²ï¼2é»è² |
| | | */ |
| | | @ApiModelProperty(value = "å¼å¸¸é¢è¦ï¼0绿è²ï¼1红è²ï¼2é»è²") |
| | | private Long isabnormal; |
| | | |
| | | /** |
| | | * åéåæ°éå |
| | | */ |
| | |
| | | */ |
| | | public List<ServiceSubtask> selectServiceSubtaskList(ServiceSubtaskVO serviceSubtaskVO); |
| | | |
| | | public List<ServiceSubtask> queryServiceSubtaskList(ServiceSubtaskVO serviceSubtaskVO); |
| | | |
| | | public List<ServiceSubtask> selectServiceSubtaskBySendstate(ServiceSubtaskVO serviceSubtaskVO); |
| | | |
| | | public List<ServiceSubtask> selectServiceSubtaskListByCreateTime(ServiceSubtaskVO serviceSubtaskVO); |
| | | |
| | | public List<ServiceSubtask> selectServiceSubtaskListAgain(ServiceSubtaskVO serviceSubtaskVO); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.mapper; |
| | | |
| | | import java.util.List; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import com.smartor.domain.ServiceSubtaskPreachform; |
| | | |
| | | /** |
| | | * ã请填ååè½åç§°ãMapperæ¥å£ |
| | | * |
| | | * @author lihu |
| | | * @date 2025-09-15 |
| | | */ |
| | | @Mapper |
| | | public interface ServiceSubtaskPreachformMapper |
| | | { |
| | | /** |
| | | * æ¥è¯¢ã请填ååè½åç§°ã |
| | | * |
| | | * @param id ã请填ååè½åç§°ãä¸»é® |
| | | * @return ã请填ååè½åç§°ã |
| | | */ |
| | | public ServiceSubtaskPreachform selectServiceSubtaskPreachformById(Long id); |
| | | |
| | | /** |
| | | * æ¥è¯¢ã请填ååè½åç§°ãå表 |
| | | * |
| | | * @param serviceSubtaskPreachform ã请填ååè½åç§°ã |
| | | * @return ã请填ååè½åç§°ãéå |
| | | */ |
| | | public List<ServiceSubtaskPreachform> selectServiceSubtaskPreachformList(ServiceSubtaskPreachform serviceSubtaskPreachform); |
| | | |
| | | /** |
| | | * æ°å¢ã请填ååè½åç§°ã |
| | | * |
| | | * @param serviceSubtaskPreachform ã请填ååè½åç§°ã |
| | | * @return ç»æ |
| | | */ |
| | | public int insertServiceSubtaskPreachform(ServiceSubtaskPreachform serviceSubtaskPreachform); |
| | | |
| | | /** |
| | | * ä¿®æ¹ã请填ååè½åç§°ã |
| | | * |
| | | * @param serviceSubtaskPreachform ã请填ååè½åç§°ã |
| | | * @return ç»æ |
| | | */ |
| | | public int updateServiceSubtaskPreachform(ServiceSubtaskPreachform serviceSubtaskPreachform); |
| | | public int updateSSPByCondition(ServiceSubtaskPreachform serviceSubtaskPreachform); |
| | | |
| | | /** |
| | | * å é¤ã请填ååè½åç§°ã |
| | | * |
| | | * @param id ã请填ååè½åç§°ãä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteServiceSubtaskPreachformById(Long id); |
| | | |
| | | /** |
| | | * æ ¹æ®subidå é¤è¯¥åä»»å¡çææåéæ¹å¼ |
| | | * @param subIds |
| | | * @return |
| | | */ |
| | | public int deleteServiceSubtaskPreachformBySubid(Long subIds); |
| | | |
| | | |
| | | |
| | | /** |
| | | * æ¹éå é¤ã请填ååè½åç§°ã |
| | | * |
| | | * @param ids éè¦å é¤çæ°æ®ä¸»é®éå |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteServiceSubtaskPreachformByIds(Long[] ids); |
| | | } |
| | |
| | | */ |
| | | public SysDept selectDeptById(Long deptId); |
| | | |
| | | public SysDept selectDeptByCode(String deptCode); |
| | | public SysDept selectDeptByCode(@Param("deptCode")String deptCode,@Param("orgid")String orgid); |
| | | |
| | | /** |
| | | * æ ¹æ®IDæ¥è¯¢ææåé¨é¨ |
| | |
| | | /** |
| | | * 鍿¥è¯ä¿¡æ¯ |
| | | * |
| | | * @param id |
| | | * @param patMedOuthosp |
| | | * @return |
| | | */ |
| | | public Integer selectPatMedOuthospList(PatMedOuthosp patMedOuthosp); |
| | |
| | | package com.smartor.service; |
| | | |
| | | import com.smartor.domain.ServiceSLTDDeptReqVO; |
| | | import com.smartor.domain.ServiceSLTDInhospReqVO; |
| | | import com.smartor.domain.ServiceSLTDInhospResDTO; |
| | | |
| | |
| | | * @return åè |
| | | * { |
| | | * "orgId": 20001001, |
| | | * "campusIds": 30001002, |
| | | * "campusId": 30001002, |
| | | * "unitIds": null, |
| | | * "relationType": null, |
| | | * "searchText": null, |
| | |
| | | */ |
| | | Boolean queryHospUserInfoList(ServiceSLTDInhospReqVO reqVO); |
| | | |
| | | /** |
| | | * ééç§å®¤ç
åºä¿¡æ¯ |
| | | * |
| | | * @param serviceSLTDDeptReqVO |
| | | * @return åè |
| | | * { |
| | | * "orgId": 20001001, |
| | | * "campusIds": 30001002, |
| | | * "unitIds": null, |
| | | * "relationType": null, |
| | | * "searchText": null, |
| | | * "status": 1 |
| | | * } |
| | | */ |
| | | Boolean queryDeptWardAreaInfoList(ServiceSLTDDeptReqVO serviceSLTDDeptReqVO); |
| | | |
| | | |
| | | } |
| | |
| | | */ |
| | | public Integer saveQuestionAnswer(ServiceSubTaskAnswerReq serviceSubTaskAnswerReq,Long flag); |
| | | |
| | | public Boolean saveMYDQuestionAnswer(ServiceSubTaskMYDAnswerReq serviceSubTaskMYDAnswerReq); |
| | | |
| | | /** |
| | | * å°é®é¢ä¿åå°ç¼å |
| | | * |
| | |
| | | */ |
| | | public Map<String, Object> getScriptInfoByCondition(Long taskid, Long patid, Boolean isFinish, String patfrom); |
| | | |
| | | public Map<String, Object> getScriptByCondition(Long taskid, String zyserialnum, String mzserialnum, String tsserialnum); |
| | | |
| | | |
| | | } |
| | |
| | | //宣æ |
| | | return xjSend(sendTaskVO); |
| | | } |
| | | log.error("èµ°å°è¿éäºå"); |
| | | return null; |
| | | } |
| | | |
| | |
| | | //夿任塿¯å¦æ¯ç«å³åé |
| | | if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("2")) { |
| | | String content = sendMQContent(sendTaskVO, ivrTask.getTemplateid().toString(), ivrTask.getPreachform(), ivrTask.getStopState(), null); |
| | | //å
ä¿®æ¹ç¶æ |
| | | updateServiceSubtask(ivrTask.getTaskid(), new Date()); |
| | | //ç«å³åé |
| | | redisCache.setCacheObject(content, content, 1, TimeUnit.SECONDS); |
| | | //å°ä»»å¡ç¶æä¿®æ¹ææ§è¡ä¸ |
| | |
| | | } catch (JsonProcessingException e) { |
| | | log.error("JsonProcessingExceptionæ¥éäºï¼{}", e.getMessage()); |
| | | } |
| | | Date date = new Date(); |
| | | for (TaskSendTimeVO taskSendTimeVO : taskSendTimeVOList) { |
| | | // //å»SendTimeslotä¸ï¼è·åææçæ¶é´æ®µ |
| | | // List<TaskSendTimeVO> list = new ArrayList<>(); |
| | | // list.add(taskSendTimeVO); |
| | | |
| | | //è·åå¼å§åéæ¶é´ |
| | | String begantime = taskSendTimeVO.getBegantime(); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | //è®°å½ç®åå°åéæ¶é´ç毫ç§å¼ ï¼åéæ¶é´ç毫ç§å¼ - å½åæ¶é´ç毫ç§å¼ï¼ |
| | | Long milliseconds = 1000L; |
| | | try { |
| | | Date date = sdf.parse(begantime); |
| | | date = sdf.parse(begantime); |
| | | milliseconds = date.getTime() - System.currentTimeMillis(); |
| | | System.out.println("æ¥ææ¯«ç§æ°ï¼" + milliseconds); |
| | | SendTaskVO sendTaskVO1 = DtoConversionUtils.sourceToTarget(sendTaskVO, SendTaskVO.class); |
| | | sendTaskVO1.setSendType("1"); |
| | | String content = sendMQContent(sendTaskVO1, ivrTask.getTemplateid().toString(), ivrTask.getPreachform(), ivrTask.getStopState(), taskSendTimeVO); |
| | | |
| | | //å
ä¿®æ¹ç¶æ |
| | | updateServiceSubtask(ivrTask.getTaskid(), date); |
| | | redisCache.setCacheObject(content, content, milliseconds / 1000, TimeUnit.SECONDS); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | |
| | | if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("2")) { |
| | | |
| | | String content = sendMQContent(sendTaskVO, serviceTask1.getTemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), null); |
| | | //å
ä¿®æ¹ç¶æ |
| | | updateServiceSubtask(serviceTask1.getTaskid(), new Date()); |
| | | //ç«å³åé |
| | | redisCache.setCacheObject(content, content, 1, TimeUnit.SECONDS); |
| | | |
| | |
| | | } catch (JsonProcessingException e) { |
| | | log.error("JsonProcessingExceptionæ¥éäºï¼{}", e.getMessage()); |
| | | } |
| | | Date date = new Date(); |
| | | for (TaskSendTimeVO taskSendTimeVO : taskSendTimeVOList) { |
| | | //å»SendTimeslotä¸ï¼è·åææçæ¶é´æ®µ |
| | | // List<TaskSendTimeVO> list = new ArrayList<>(); |
| | |
| | | //è®°å½ç®åå°åéæ¶é´ç毫ç§å¼ ï¼åéæ¶é´ç毫ç§å¼ - å½åæ¶é´ç毫ç§å¼ï¼ |
| | | Long milliseconds = 1000L; |
| | | try { |
| | | Date date = sdf.parse(begantime); |
| | | date = sdf.parse(begantime); |
| | | milliseconds = date.getTime() - System.currentTimeMillis(); |
| | | if (milliseconds < 0) { |
| | | milliseconds = 1000L; |
| | |
| | | SendTaskVO sendTaskVO1 = DtoConversionUtils.sourceToTarget(sendTaskVO, SendTaskVO.class); |
| | | sendTaskVO1.setSendType("1"); |
| | | String content = sendMQContent(sendTaskVO1, serviceTask1.getTemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), taskSendTimeVO); |
| | | //å
ä¿®æ¹ç¶æ |
| | | updateServiceSubtask(serviceTask1.getTaskid(), date); |
| | | redisCache.setCacheObject(content, content, milliseconds / 1000, TimeUnit.SECONDS); |
| | | } |
| | | //å°ä»»å¡ç¶æä¿®æ¹ææ§è¡ä¸ |
| | |
| | | if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("2")) { |
| | | |
| | | String content = sendMQContent(sendTaskVO, serviceTask1.getLibtemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), null); |
| | | //å
ä¿®æ¹ç¶æ |
| | | updateServiceSubtask(serviceTask1.getTaskid(), new Date()); |
| | | //ç«å³åé |
| | | redisCache.setCacheObject(content, content, 1, TimeUnit.SECONDS); |
| | | |
| | |
| | | } else if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("1") || StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("3")) { |
| | | //æ¶é´æ®µåé |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | Date date = new Date(); |
| | | if (StringUtils.isNotEmpty(serviceTask1.getSendTimeSlot())) { |
| | | List<TaskSendTimeVO> taskSendTimeVOList = null; |
| | | try { |
| | |
| | | //è®°å½ç®åå°åéæ¶é´ç毫ç§å¼ ï¼åéæ¶é´ç毫ç§å¼ - å½åæ¶é´ç毫ç§å¼ï¼ |
| | | Long milliseconds = 1000L; |
| | | try { |
| | | Date date = sdf.parse(begantime); |
| | | date = sdf.parse(begantime); |
| | | milliseconds = date.getTime() - System.currentTimeMillis(); |
| | | System.out.println("æ¥ææ¯«ç§æ°ï¼" + milliseconds); |
| | | } catch (Exception e) { |
| | |
| | | SendTaskVO sendTaskVO1 = DtoConversionUtils.sourceToTarget(sendTaskVO, SendTaskVO.class); |
| | | sendTaskVO1.setSendType("1"); |
| | | String content = sendMQContent(sendTaskVO1, serviceTask1.getTemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), taskSendTimeVO); |
| | | //å
ä¿®æ¹ç¶æ |
| | | updateServiceSubtask(serviceTask1.getTaskid(), date); |
| | | redisCache.setCacheObject(content, content, milliseconds / 1000, TimeUnit.SECONDS); |
| | | } |
| | | //å°ä»»å¡ç¶æä¿®æ¹ææ§è¡ä¸ |
| | |
| | | commonTaskcallMQJson = commonTaskcallMQJson.substring(1, commonTaskcallMQJson.length() - 1); |
| | | return commonTaskcallMQJson; |
| | | } |
| | | |
| | | private void updateServiceSubtask(Long taskId, Date date) { |
| | | //åªè¦è¿å
¥éåå°±ç®å¾
åé |
| | | ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); |
| | | serviceSubtaskVO.setTaskid(taskId); |
| | | serviceSubtaskVO.setSendstate(1L); |
| | | List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); |
| | | for (ServiceSubtask serviceSubtask : serviceSubtaskList) { |
| | | serviceSubtask.setSendstate(2L); |
| | | serviceSubtask.setVisitTime(date); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | } |
| | | } |
| | | } |
| | |
| | | PatMedOuthosp patMedOuthosp = new PatMedOuthosp(); |
| | | patMedOuthosp.setBeginTime(Date.from(dayStart.atZone(ZoneId.systemDefault()).toInstant())); |
| | | patMedOuthosp.setEndTime(Date.from(dayEnd.atZone(ZoneId.systemDefault()).toInstant())); |
| | | selectPatMedOuthospList(patMedOuthosp); |
| | | selectPatMedOuthospList(patMedOuthosp); |
| | | } |
| | | return true; |
| | | } |
| | |
| | | @Override |
| | | public Integer selectUserList(SysUser sysUser) { |
| | | List<SysUser> sysUserList = hnGatherPatArchiveMapper.selectUserList(sysUser); |
| | | if (CollectionUtils.isEmpty(sysUserList)) return null; |
| | | |
| | | |
| | | log.info("sysUserListçééå°çæ°é为ï¼{}", sysUserList.size()); |
| | | int i = sysUser2Mapper.batchUser(sysUserList); |
| | | for (SysUser sysUser1 : sysUserList) { |
| | |
| | | public Integer selectDeptList(SysDept dept) { |
| | | List<SysDept> sysDepts = hnGatherPatArchiveMapper.selectDeptList(dept); |
| | | log.info("selectDeptListçééå°çæ°é为ï¼{}", sysDepts.size()); |
| | | int i = sysDept2Mapper.batchDept(sysDepts); |
| | | int i = 0; |
| | | if (CollectionUtils.isNotEmpty(sysDepts)) i = sysDept2Mapper.batchDept(sysDepts); |
| | | return i; |
| | | } |
| | | |
| | |
| | | package com.smartor.service.impl; |
| | | |
| | | import com.fasterxml.jackson.core.JsonProcessingException; |
| | | import com.fasterxml.jackson.core.type.TypeReference; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.ruoyi.common.core.domain.entity.SysDept; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.DtoConversionUtils; |
| | |
| | | @Autowired |
| | | private ServiceSubtaskMapper serviceSubtaskMapper; |
| | | @Autowired |
| | | private SysUserDeptMapper sysUserDeptMapper; |
| | | private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper; |
| | | |
| | | @Value("${visitHosp}") |
| | | private Integer visitHosp; |
| | |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); |
| | | //éæ°æ°å¢åä»»å¡ |
| | | i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | //è¿ééè¦å
¨å¤±è´¥ |
| | | addServiceSubtaskPreachform(serviceSubtask, "5"); |
| | | |
| | | } |
| | | } |
| | | } else { |
| | | if (StringUtils.isEmpty(serviceSubtask.getPhone())) { |
| | | serviceSubtask.setRemark("ææºå·ä¸ºç©º"); |
| | | serviceSubtask.setSendstate(4L); |
| | | serviceSubtask.setResult("error"); |
| | | // serviceSubtask.setFinishtime(new Date()); |
| | | } |
| | | serviceSubtask.setCreateBy(serviceTask.getCreateBy()); |
| | | serviceSubtask.setCreateTime(new Date()); |
| | | i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | } |
| | | } else { |
| | | if (StringUtils.isEmpty(serviceSubtask.getPhone())) { |
| | | serviceSubtask.setRemark("ææºå·ä¸ºç©º"); |
| | | serviceSubtask.setSendstate(4L); |
| | | serviceSubtask.setResult("error"); |
| | | // serviceSubtask.setFinishtime(new Date()); |
| | | |
| | | } |
| | | serviceSubtask.setCreateBy(serviceTask.getCreateBy()); |
| | | serviceSubtask.setCreateTime(new Date()); |
| | | i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | addServiceSubtaskPreachform(serviceSubtask, null); |
| | | } |
| | | if (i == 1) { |
| | | //å°check_flagæ¹æ1ï¼å·²å¤çï¼ |
| | |
| | | } |
| | | } |
| | | |
| | | private Integer addServiceSubtaskPreachform(ServiceSubtask serviceSubtask, String sendstate) { |
| | | //å°preachformçjsonå¯¹è±¡ï¼æ¾å°listéåä¸ |
| | | String preachform = serviceSubtask.getPreachform(); |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | if (org.apache.commons.lang3.StringUtils.isNotEmpty(preachform)) { |
| | | List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = null; |
| | | try { |
| | | serviceSubtaskPreachformList = objectMapper.readValue(preachform, new TypeReference<List<ServiceSubtaskPreachform>>() { |
| | | }); |
| | | } catch (JsonProcessingException e) { |
| | | log.error("preachform转List<ServiceSubtaskPreachform>æ¥éäºï¼{}", e.getMessage()); |
| | | } |
| | | for (ServiceSubtaskPreachform serviceSubtaskPreachform : serviceSubtaskPreachformList) { |
| | | serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid()); |
| | | serviceSubtaskPreachform.setSubid(serviceSubtask.getId()); |
| | | //è¿ä¸ªsendstateéè¦å¨æ°æ®åºè®¾ç½®ä¸ä¸ªé»è®¤å¼ä¸ºâ1â |
| | | serviceSubtaskPreachform.setSendstate("1"); |
| | | if (StringUtils.isNotEmpty(sendstate)) serviceSubtaskPreachform.setSendstate(sendstate); |
| | | |
| | | serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid()); |
| | | return serviceSubtaskPreachformMapper.insertServiceSubtaskPreachform(serviceSubtaskPreachform); |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | |
| | | //å°è£
serviceSubtask |
| | | private ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatArchive patArchive) { |
| | | ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class); |
| | |
| | | |
| | | import com.google.gson.Gson; |
| | | import com.google.gson.reflect.TypeToken; |
| | | import com.ruoyi.common.core.domain.entity.SysDept; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.core.domain.entity.SysUserDept; |
| | | import com.ruoyi.common.core.domain.entity.SysUserRole; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.http.HttpUtils; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.mapper.PatMedOuthospMapper; |
| | | import com.smartor.mapper.SysUser2Mapper; |
| | | import com.smartor.mapper.SysUserImportMapper; |
| | | import com.smartor.mapper.*; |
| | | import com.smartor.service.IPatArchiveService; |
| | | import com.smartor.service.IPatMedInhospService; |
| | | import com.smartor.service.IServiceSLTDHealthcareRecordService; |
| | | import com.sun.org.apache.bcel.internal.generic.NEW; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.lang.reflect.Array; |
| | | import java.lang.reflect.Type; |
| | | import java.math.BigDecimal; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | |
| | | public class ServiceSLTDHealthcareRecordServiceImpl implements IServiceSLTDHealthcareRecordService { |
| | | |
| | | private static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss"; |
| | | private static final String APP_KEY = "ak-zUMiOWhqXiJQWPB1pCbz0pjr"; |
| | | public static final String APP_KEY = "ak-zUMiOWhqXiJQWPB1pCbz0pjr"; |
| | | |
| | | @Autowired |
| | | private IPatArchiveService patArchiveService; |
| | |
| | | @Autowired |
| | | private SysUser2Mapper sysUser2Mapper; |
| | | |
| | | @Autowired |
| | | private SysDept2Mapper sysDeptMapper; |
| | | |
| | | @Autowired |
| | | private SysUserDeptMapper sysUserDeptMapper; |
| | | |
| | | @Autowired |
| | | private SysUserRole2Mapper sysUserRoleMapper; |
| | | |
| | | @Value("${sltd_pub_path}") |
| | | private String sltdPubPath; |
| | | |
| | | @Value("${userPwd}") |
| | | private String userPwd; |
| | | |
| | | @Override |
| | | public List<ServiceSLTDInhospResDTO> queryHealthcareRecordList(ServiceSLTDInhospReqVO reqVO) { |
| | | log.info("ãqueryHealthcareRecordListãå¼å§è°ç¨çç«åå¾·å¥åº·è®°å½æ¥è¯¢æ¥å£ï¼è¯·æ±åæ°ï¼{}", reqVO); |
| | | try { |
| | | log.info("ãqueryHealthcareRecordListãå¼å§è°ç¨çç«åå¾·å¥åº·è®°å½æ¥è¯¢æ¥å£ï¼è¯·æ±åæ°ï¼{}", reqVO); |
| | | Map<String, Object> requestParams = buildRequestParams(reqVO); |
| | | Map<String, String> headers = buildRequestHeaders(); |
| | | |
| | | String result = HttpUtils.sendPostByHeader(sltdPubPath + "osj/hbos-thirdparty-integration/standard/common/healthcareRecord/dtcQueryHealthcareRecordList", new Gson().toJson(requestParams), headers); |
| | | log.info("ãqueryHealthcareRecordListãæ¥å£ååºç»æï¼{}", result); |
| | | |
| | | String cry = determineCry(reqVO); |
| | | return parseResponseData(result, reqVO.getHealthcareRecordTypeList().get(0), cry); |
| | | return parseResponseData(result, reqVO.getHealthcareRecordTypeList(), cry, reqVO.getCampusId()); |
| | | } catch (Exception e) { |
| | | log.error("ãqueryHealthcareRecordListãè°ç¨çç«åå¾·å¥åº·è®°å½æ¥è¯¢æ¥å£å¼å¸¸ï¼è¯·æ±åæ°ï¼{}", reqVO, e); |
| | | throw new RuntimeException("è°ç¨çç«åå¾·å¥åº·è®°å½æ¥è¯¢æ¥å£å¤±è´¥", e); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * ééç§å®¤ç
åºä¿¡æ¯ |
| | | * |
| | | * @param serviceSLTDDeptReqVO |
| | | * @return åè |
| | | * { |
| | | * "orgId": 20001001, |
| | | * "campusIds": 30001002, |
| | | * "unitIds": null, |
| | | * "relationType": null, |
| | | * "searchText": null, |
| | | * "status": 1 |
| | | * } |
| | | */ |
| | | @Override |
| | | public Boolean queryDeptWardAreaInfoList(ServiceSLTDDeptReqVO serviceSLTDDeptReqVO) { |
| | | log.info("ãqueryDeptWardAreaInfoListãå¼å§è°ç¨çç«åå¾·ç§å®¤ç
åºæ¥è¯¢æ¥å£ï¼è¯·æ±åæ°ï¼{}", serviceSLTDDeptReqVO); |
| | | try { |
| | | Map<String, Object> params = new HashMap<>(); |
| | | if (serviceSLTDDeptReqVO.getOrgId() != null) { |
| | | params.put("orgId", Long.parseLong(serviceSLTDDeptReqVO.getOrgId())); |
| | | } |
| | | if (serviceSLTDDeptReqVO.getCampusIds() != null) { |
| | | params.put("campusIds", serviceSLTDDeptReqVO.getCampusIds()); |
| | | } |
| | | params.put("subjectCode", serviceSLTDDeptReqVO.getSubjectCode()); |
| | | params.put("orgSubjectCode", serviceSLTDDeptReqVO.getOrgSubjectCode()); |
| | | |
| | | params.put("deptDimensions", serviceSLTDDeptReqVO.getDeptDimensions()); |
| | | |
| | | params.put("serviceScopes", serviceSLTDDeptReqVO.getServiceScopes()); |
| | | params.put("inpatientArea", serviceSLTDDeptReqVO.getInpatientArea()); |
| | | params.put("status", serviceSLTDDeptReqVO.getStatus()); |
| | | |
| | | |
| | | Map<String, String> headers = buildRequestHeaders(); |
| | | String result = HttpUtils.sendPostByHeader(sltdPubPath + "/osj/hbos-thirdparty-integration/standard/common/dept/queryDeptList", new Gson().toJson(params), headers); |
| | | log.info("ãqueryDeptWardAreaInfoListãæ¥å£ååºç»æï¼{}", result); |
| | | List<Map<String, Object>> dataList = getDataList(result); |
| | | log.info("-----------dataListæ¥å£ååºç»æï¼{}", dataList.size()); |
| | | for (Map<String, Object> dataItem : dataList) { |
| | | SysDept sysDept = new SysDept(); |
| | | sysDept.setOrgid("" + serviceSLTDDeptReqVO.getCampusIds().get(0)); |
| | | sysDept.setHisDeptId("" + getLongValue(dataItem, "deptId")); |
| | | sysDept.setHisParentId(getStringValue(dataItem, "parentDeptId")); |
| | | //éè¿hisçç¶ç§å®¤ID廿¾å°ç§å®¤ID,å¡«å
parentId |
| | | if (StringUtils.isNotEmpty(getStringValue(dataItem, "parentDeptId"))) { |
| | | SysDept sd = new SysDept(); |
| | | sd.setHisDeptId(getStringValue(dataItem, "parentDeptId")); |
| | | sd.setOrgid(getStringValue(dataItem, "orgId")); |
| | | List<SysDept> sysDepts = sysDeptMapper.selectDeptList(sd); |
| | | if (CollectionUtils.isNotEmpty(sysDepts)) { |
| | | SysDept sysDept1 = sysDepts.get(0); |
| | | sysDept.setParentId(sysDept1.getDeptId()); |
| | | sysDept.setParentName(sysDept1.getDeptName()); |
| | | } |
| | | } |
| | | sysDept.setDeptName(getStringValue(dataItem, "deptName")); |
| | | Integer inpatientArea = getIntegerValue(dataItem, "inpatientArea"); |
| | | if (inpatientArea != null && inpatientArea == 0) sysDept.setDeptType("1"); |
| | | else if (inpatientArea != null && inpatientArea == 1) sysDept.setDeptType("2"); |
| | | sysDept.setLeader(""); |
| | | Integer status = getIntegerValue(dataItem, "status"); |
| | | if (status != null & status == 0) sysDept.setStatus("1"); |
| | | if (status != null & status == 1) sysDept.setStatus("0"); |
| | | sysDept.setType(""); |
| | | sysDept.setDeptCode("" + getLongValue(dataItem, "deptId")); |
| | | sysDept.setCreateBy(null); |
| | | sysDept.setCreateTime(new Date()); |
| | | sysDept.setUpdateTime(new Date()); |
| | | sysDept.setUpdateBy(null); |
| | | |
| | | SysDept sysDept1 = sysDeptMapper.selectDeptByCode(sysDept.getDeptCode(), sysDept.getOrgid()); |
| | | if (Objects.isNull(sysDept1)) { |
| | | int i = sysDeptMapper.insertDept(sysDept); |
| | | log.info("ServiceExternalServiceImpl---addDeptInfoæ¯å¦æ°å¢æåï¼{}", i); |
| | | } else { |
| | | sysDept.setDeptId(sysDept1.getDeptId()); |
| | | int i = sysDeptMapper.updateDept(sysDept); |
| | | log.info("ServiceExternalServiceImpl---addDeptInfoæ¯å¦ä¿®æ¹æå04ï¼{}", i); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * ééå»é¢ç¨æ·ä¿¡æ¯ |
| | |
| | | public Boolean queryHospUserInfoList(ServiceSLTDInhospReqVO reqVO) { |
| | | Map<String, Object> requestParams = buildRequestParams(reqVO); |
| | | Map<String, String> headers = buildRequestHeaders(); |
| | | String result = HttpUtils.sendPostByHeader(sltdPubPath + "osj/hbos-thirdparty-integration/standard/common/healthcareRecord/dtcQueryHealthcareRecordList", new Gson().toJson(requestParams), headers); |
| | | String result = HttpUtils.sendPostByHeader(sltdPubPath + "/osj/hbos-thirdparty-integration/standard/common/staff/queryStaffList", new Gson().toJson(requestParams), headers); |
| | | log.info("ãqueryHealthcareRecordListãæ¥å£ååºç»æï¼{}", result); |
| | | List<Map<String, Object>> dataList = getDataList(result); |
| | | for (Map<String, Object> dataItem : dataList) { |
| | | SysUser sysUser = new SysUser(); |
| | | if (StringUtils.isEmpty(getStringValue(dataItem, "accountNo"))) { |
| | | continue; |
| | | } |
| | | sysUser.setUserName(getStringValue(dataItem, "accountNo")); |
| | | sysUser.setNickName(getStringValue(dataItem, "name")); |
| | | List diagnosisObjList = (List<?>) dataItem.get("qualifications"); |
| | |
| | | if (diagnosis instanceof Map) { |
| | | Map<String, Object> diagnosisMap = (Map<String, Object>) diagnosis; |
| | | String professionalTitleName = getStringValue(diagnosisMap, "professionalTitleName"); |
| | | if (professionalTitleName.contains("å»å¸")) sysUser.setUserType("å»ç"); |
| | | if (professionalTitleName.contains("æ¤")) sysUser.setUserType("æ¤å£«"); |
| | | if (professionalTitleName.contains("å»å¸")) { |
| | | sysUser.setUserType("å»ç"); |
| | | sysUser.setSearchscope("1"); |
| | | } |
| | | if (professionalTitleName.contains("æ¤")) { |
| | | sysUser.setUserType("æ¤å£«"); |
| | | sysUser.setSearchscope("2"); |
| | | } |
| | | sysUser.setTitle(getStringValue(diagnosisMap, "professionalTitleName")); |
| | | } |
| | | } |
| | | } |
| | | sysUser.setDeptCode(getStringValue(dataItem, "accountNo")); |
| | | sysUser.setDeptName(getStringValue(dataItem, "personnelDeptName")); |
| | | |
| | | sysUser.setPhonenumber(getStringValue(dataItem, "telephone")); |
| | | sysUser.setUserCode(getStringValue(dataItem, "jobNumber")); |
| | | //设置æ§å« |
| | | String genderName = getStringValue(dataItem, "genderName"); |
| | | if ("ç·".equals(genderName)) sysUser.setSex("0"); |
| | |
| | | sysUser.setUpdateTime(new Date()); |
| | | sysUser.setUpdateBy("admin"); |
| | | sysUser.setCreateBy("admin"); |
| | | sysUser.setCreateBy("admin"); |
| | | sysUser.setOrgid(reqVO.getCampusId().toString()); |
| | | BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); |
| | | sysUser.setPassword(passwordEncoder.encode(userPwd)); |
| | | |
| | | sysUser2Mapper.insertUser(sysUser); |
| | | |
| | | // å¤çç¨æ·ä¸é¨é¨çå
³ç³» |
| | | List personnelDepts = (List<?>) dataItem.get("personnelDepts"); |
| | | if (CollectionUtils.isEmpty(personnelDepts)) { |
| | | continue; |
| | | } |
| | | |
| | | List<List<String>> deptInfoList = new ArrayList<>(); |
| | | List<List<String>> hospInfoList = new ArrayList<>(); |
| | | for (Object personnelDept : personnelDepts) { |
| | | if (personnelDept instanceof Map) { |
| | | Map<String, Object> personnelDeptMap = (Map<String, Object>) personnelDept; |
| | | // Long hisDeptId = (Long) personnelDeptMap.get("deptId"); |
| | | String hisDeptId = getStringValue(personnelDeptMap, "deptId"); |
| | | //å¨è¿éï¼hisDeptIdå°±æ¯deptCode |
| | | SysDept sysDept = sysDeptMapper.selectDeptByCode(hisDeptId, reqVO.getCampusId().toString()); |
| | | if (Objects.isNull(sysDept)) continue; |
| | | SysUserDept sysUserDept = new SysUserDept(); |
| | | sysUserDept.setUserId(sysUser.getUserId()); |
| | | sysUserDept.setDeptType(sysDept.getDeptType()); |
| | | sysUserDept.setDeptId(sysDept.getDeptId()); |
| | | sysUserDept.setDeptCode(sysDept.getDeptCode()); |
| | | sysUserDept.setDeptName(sysDept.getDeptName()); |
| | | sysUserDept.setOrgid(sysDept.getOrgid()); |
| | | sysUserDept.setCreateTime(new Date()); |
| | | sysUserDept.setDelFlag(0L); |
| | | sysUserDeptMapper.insertSysUserDept(sysUserDept); |
| | | if (StringUtils.isNotEmpty(sysDept.getDeptType()) && sysDept.getDeptType().equals("1")) { |
| | | hospInfoList.add(Arrays.asList(sysDept.getDeptCode())); |
| | | } else if (StringUtils.isNotEmpty(sysDept.getDeptType()) && sysDept.getDeptType().equals("2")) { |
| | | deptInfoList.add(Arrays.asList(sysDept.getDeptCode())); |
| | | } |
| | | } |
| | | } |
| | | //å°é¨é¨æç
åºæ¾å°æå®åæ®µä¸ |
| | | Gson gson = new Gson(); |
| | | sysUser.setHospInfo(gson.toJson(hospInfoList)); |
| | | sysUser.setDeptInfo(gson.toJson(deptInfoList)); |
| | | sysUser2Mapper.updateUser(sysUser); |
| | | |
| | | //设置ä¸ä¸ªé»è®¤è§è²ï¼å»çè§è²ï¼ |
| | | List<SysUserRole> userRoleList = new ArrayList(); |
| | | SysUserRole sur = new SysUserRole(); |
| | | sur.setUserId(sysUser.getUserId()); |
| | | sur.setRoleId(3L); |
| | | sur.setOrgid(sysUser.getOrgid()); |
| | | userRoleList.add(sur); |
| | | sysUserRoleMapper.batchUserRole(userRoleList); |
| | | |
| | | } |
| | | |
| | | return true; |
| | |
| | | if (reqVO.getHealthcareRecordTypeList().contains("FH0108.02")) { |
| | | if (reqVO.getStartHeadTime() != null && reqVO.getStartTailTime() != null) { |
| | | return "0"; |
| | | } else if (reqVO.getPreOutHospitalHeadDate() != null && reqVO.getPreOutHospitalTailDate() != null) { |
| | | } else if (StringUtils.isNotEmpty(reqVO.getPreOutHospitalHeadDate()) && StringUtils.isNotEmpty(reqVO.getPreOutHospitalTailDate())) { |
| | | return "1"; |
| | | } |
| | | } |
| | |
| | | if (reqVO.getOrgId() != null) { |
| | | params.put("orgId", Long.parseLong(reqVO.getOrgId())); |
| | | } |
| | | if (reqVO.getCampusIds() != null) { |
| | | params.put("campusIds", reqVO.getCampusIds()); |
| | | if (reqVO.getCampusId() != null) { |
| | | params.put("campusId", reqVO.getCampusId()); |
| | | } |
| | | if (reqVO.getStartHeadTime() != null) { |
| | | params.put("startHeadTime", reqVO.getStartHeadTime()); |
| | | } |
| | | if (reqVO.getStartTailTime() != null) { |
| | | params.put("startTailTime", reqVO.getStartTailTime()); |
| | | } |
| | | if (reqVO.getEncounterTimeStart() != null) { |
| | | params.put("encounterTimeStart", reqVO.getEncounterTimeStart()); |
| | | } |
| | | if (reqVO.getEncounterTimeEnd() != null) { |
| | | params.put("encounterTimeEnd", reqVO.getEncounterTimeEnd()); |
| | | } |
| | | if (reqVO.getPreOutHospitalHeadDate() != null) { |
| | | params.put("preOutHospitalHeadDate", reqVO.getPreOutHospitalHeadDate()); |
| | | } |
| | | if (reqVO.getPreOutHospitalTailDate() != null) { |
| | | params.put("preOutHospitalTailDate", reqVO.getPreOutHospitalTailDate()); |
| | | } |
| | | if (reqVO.getHealthcareRecordTypeList() != null && !reqVO.getHealthcareRecordTypeList().isEmpty()) { |
| | | params.put("healthcareRecordTypeList", reqVO.getHealthcareRecordTypeList()); |
| | |
| | | } |
| | | params.put("serviceScopes", null); |
| | | params.put("inpatientArea", null); |
| | | params.put("status", reqVO.getStatusList() != null && !reqVO.getStatusList().isEmpty() ? reqVO.getStatusList() : null); |
| | | params.put("status", reqVO.getStatusList() != null && !reqVO.getStatusList().isEmpty() ? reqVO.getStatusList().get(0) : null); |
| | | return params; |
| | | } |
| | | |
| | |
| | | return headers; |
| | | } |
| | | |
| | | private List<ServiceSLTDInhospResDTO> parseResponseData(String result, String type, String cry) { |
| | | private List<ServiceSLTDInhospResDTO> parseResponseData(String result, List<String> types, String cry, Long orgid) { |
| | | try { |
| | | |
| | | List<Map<String, Object>> dataList = getDataList(result); |
| | |
| | | } |
| | | log.info("ãparseResponseDataãæåè§£æ{}æ¡å¥åº·è®°å½æ°æ®", resultList.size()); |
| | | |
| | | processResultList(resultList, type, cry); |
| | | processResultList(resultList, types, cry, orgid); |
| | | return resultList; |
| | | } catch (Exception e) { |
| | | log.error("ãparseResponseDataãè§£æååºæ°æ®å¼å¸¸ï¼ååºå
容ï¼{}", result, e); |
| | |
| | | Type mapType = new TypeToken<Map<String, Object>>() { |
| | | }.getType(); |
| | | Map<String, Object> responseMap = gson.fromJson(result, mapType); |
| | | |
| | | Number codeObj = (Number) responseMap.get("code"); |
| | | if (codeObj == null || codeObj.intValue() != 200) { |
| | | log.error("ãparseResponseDataãæ¥å£è¿å失败ï¼ååºç ï¼{}ï¼ååºå
容ï¼{}", codeObj, result); |
| | | throw new RuntimeException("æ¥å£è°ç¨å¤±è´¥ï¼ååºç ï¼" + codeObj); |
| | | Number codeNum = (Number) responseMap.get("code"); |
| | | String code = BigDecimal.valueOf(codeNum.longValue()).toPlainString(); |
| | | if (StringUtils.isEmpty(code) || !code.equals("200")) { |
| | | log.error("ãparseResponseDataãæ¥å£è¿å失败ï¼ååºç ï¼{}ï¼ååºå
容ï¼{}", code, result); |
| | | throw new RuntimeException("æ¥å£è°ç¨å¤±è´¥ï¼ååºç ï¼" + code); |
| | | } |
| | | |
| | | Object dataObj = responseMap.get("data"); |
| | | if (dataObj == null) { |
| | | log.warn("ãparseResponseDataãæ¥å£è¿åæ°æ®ä¸ºç©º"); |
| | | log.info("ãparseResponseDataãæ¥å£è¿åæ°æ®ä¸ºç©º"); |
| | | return new ArrayList<>(); |
| | | } |
| | | |
| | |
| | | return dataList; |
| | | } |
| | | |
| | | private void processResultList(List<ServiceSLTDInhospResDTO> resultList, String type, String cry) { |
| | | switch (type) { |
| | | case "FH0108.01": |
| | | log.info("ãparseResponseDataãè§£æé¨è¯æ°æ®"); |
| | | outHospitalDate(resultList); |
| | | break; |
| | | case "FH0108.02": |
| | | log.info("ãparseResponseDataãè§£æä½é¢æ°æ®"); |
| | | inHospitalDate(resultList, cry); |
| | | break; |
| | | case "FH0108.03": |
| | | log.info("ãparseResponseDataãè§£ææ¥è¯æ°æ®"); |
| | | outHospitalDate(resultList); |
| | | break; |
| | | default: |
| | | log.warn("ãparseResponseDataãæªç¥çæ°æ®ç±»åï¼{}", type); |
| | | break; |
| | | } |
| | | private void processResultList(List<ServiceSLTDInhospResDTO> resultList, List<String> types, String cry, Long orgid) { |
| | | for (String type : types) |
| | | switch (type) { |
| | | case "FH0108.01": |
| | | log.info("ãparseResponseDataãè§£æé¨è¯æ°æ®"); |
| | | outHospitalDate(resultList, orgid); |
| | | break; |
| | | case "FH0108.02": |
| | | log.info("ãparseResponseDataãè§£æä½é¢æ°æ®"); |
| | | inHospitalDate(resultList, cry, orgid); |
| | | break; |
| | | case "FH0108.03": |
| | | log.info("ãparseResponseDataãè§£ææ¥è¯æ°æ®"); |
| | | outHospitalDate(resultList, orgid); |
| | | break; |
| | | default: |
| | | log.warn("ãparseResponseDataãæªç¥çæ°æ®ç±»åï¼{}", type); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | private Boolean outHospitalDate(List<ServiceSLTDInhospResDTO> resultList) { |
| | | private Boolean outHospitalDate(List<ServiceSLTDInhospResDTO> resultList, Long orgid) { |
| | | for (ServiceSLTDInhospResDTO dto : resultList) { |
| | | PatArchive patArchive = processPatientArchive(dto); |
| | | PatMedOuthosp patMedOuthosp = buildPatMedOuthosp(dto, patArchive); |
| | | if (Objects.isNull(dto)) continue; |
| | | PatArchive patArchive = processPatientArchive(dto, orgid); |
| | | PatMedOuthosp patMedOuthosp = buildPatMedOuthosp(dto, patArchive, orgid); |
| | | patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp); |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | private PatMedOuthosp buildPatMedOuthosp(ServiceSLTDInhospResDTO dto, PatArchive patArchive) { |
| | | private PatMedOuthosp buildPatMedOuthosp(ServiceSLTDInhospResDTO dto, PatArchive patArchive, Long orgid) { |
| | | PatMedOuthosp patMedOuthosp = new PatMedOuthosp(); |
| | | patMedOuthosp.setOuthospno(dto.getHealthcareRecordNo()); |
| | | patMedOuthosp.setSerialnum(dto.getHealthcareRecordNo()); |
| | |
| | | patMedOuthosp.setMainsuit(dto.getDiagnosisName()); |
| | | patMedOuthosp.setHpi(null); |
| | | patMedOuthosp.setCreateTime(new Date()); |
| | | patMedOuthosp.setOrgid("" + orgid); |
| | | return patMedOuthosp; |
| | | } |
| | | |
| | | private Date parseDate(String dateStr) { |
| | | if (StringUtils.isEmpty(dateStr)) { |
| | | return null; |
| | | } |
| | | try { |
| | | return new SimpleDateFormat(DATE_FORMAT).parse(dateStr); |
| | | } catch (ParseException e) { |
| | |
| | | } |
| | | } |
| | | |
| | | private Boolean inHospitalDate(List<ServiceSLTDInhospResDTO> resultList, String cry) { |
| | | private Boolean inHospitalDate(List<ServiceSLTDInhospResDTO> resultList, String cry, Long orgid) { |
| | | for (ServiceSLTDInhospResDTO dto : resultList) { |
| | | PatArchive patArchive = processPatientArchive(dto); |
| | | processPatientInhospInfo(dto, patArchive, cry); |
| | | if (Objects.isNull(dto)) continue; |
| | | PatArchive patArchive = processPatientArchive(dto, orgid); |
| | | processPatientInhospInfo(dto, patArchive, cry, orgid); |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | private void processPatientInhospInfo(ServiceSLTDInhospResDTO dto, PatArchive patArchive, String cry) { |
| | | PatMedInhosp patMedInhosp = buildPatientInhospInfo(dto, patArchive, cry); |
| | | private void processPatientInhospInfo(ServiceSLTDInhospResDTO dto, PatArchive patArchive, String cry, Long orgid) { |
| | | PatMedInhosp patMedInhosp = buildPatientInhospInfo(dto, patArchive, cry, orgid); |
| | | PatMedInhosp queryInhosp = new PatMedInhosp(); |
| | | queryInhosp.setPatno(patArchive.getPatientno()); |
| | | queryInhosp.setSerialnum(patMedInhosp.getSerialnum()); |
| | | queryInhosp.setOrgid("" + orgid); |
| | | log.info("----------------è¿éçå
¥å为ï¼{}", queryInhosp); |
| | | List<PatMedInhosp> existingInhosps = patMedInhospService.selectPatMedInhospList(queryInhosp); |
| | | |
| | | log.info("----------------è¿éçè¿å为ï¼{}", existingInhosps); |
| | | if (CollectionUtils.isNotEmpty(existingInhosps)) { |
| | | patMedInhosp.setInhospid(existingInhosps.get(0).getInhospid()); |
| | | patMedInhospService.updatePatMedInhosp(patMedInhosp); |
| | |
| | | } |
| | | } |
| | | |
| | | private PatMedInhosp buildPatientInhospInfo(ServiceSLTDInhospResDTO dto, PatArchive patArchive, String cry) { |
| | | private PatMedInhosp buildPatientInhospInfo(ServiceSLTDInhospResDTO dto, PatArchive patArchive, String cry, Long orgid) { |
| | | log.info("----------------buildPatientInhospInfoè¿éè¿æ¥äºåï¼{}", cry); |
| | | PatMedInhosp patMedInhosp = new PatMedInhosp(); |
| | | patMedInhosp.setPatid(patArchive.getId()); |
| | | patMedInhosp.setPatno(patArchive.getPatientno()); |
| | |
| | | patMedInhosp.setNurseName(dto.getChiefNurseName()); |
| | | patMedInhosp.setSerialnum(dto.getHealthcareRecordNo()); |
| | | patMedInhosp.setFuflag("1"); |
| | | patMedInhosp.setInhospstate("0".equals(cry) ? "0" : "1"); |
| | | if ("0".equals(cry)) patMedInhosp.setInhospstate("0"); |
| | | if ("1".equals(cry)) patMedInhosp.setInhospstate("1"); |
| | | patMedInhosp.setHospitalcode(dto.getOrgId()); |
| | | patMedInhosp.setBedNo(dto.getBedNumber()); |
| | | patMedInhosp.setStarttime(parseDate(dto.getStartTime())); |
| | |
| | | patMedInhosp.setDrcode("" + dto.getDoctorId()); |
| | | patMedInhosp.setSchemestatus("0".equals(cry) ? 1L : 2L); |
| | | patMedInhosp.setDelFlag("0"); |
| | | patMedInhosp.setOrgid("1"); |
| | | patMedInhosp.setOrgid("" + orgid); |
| | | return patMedInhosp; |
| | | } |
| | | |
| | |
| | | patMedInhosp.setHospitaldistrictname(dto.getAreaName()); |
| | | } |
| | | |
| | | private PatArchive processPatientArchive(ServiceSLTDInhospResDTO dto) { |
| | | private PatArchive processPatientArchive(ServiceSLTDInhospResDTO dto, Long orgid) { |
| | | PatArchive queryArchive = new PatArchive(); |
| | | queryArchive.setIdcardno(dto.getIdCardNo().trim()); |
| | | queryArchive.setIdcardno(StringUtils.isEmpty(dto.getIdCardNo()) ? "" + dto.getMedicalCardId() : dto.getIdCardNo().trim()); |
| | | List<PatArchive> existingArchives = patArchiveService.selectPatArchiveList(queryArchive); |
| | | |
| | | PatArchive patArchive = buildPatientArchive(dto); |
| | | PatArchive patArchive = buildPatientArchive(dto, orgid); |
| | | |
| | | if (CollectionUtils.isEmpty(existingArchives)) { |
| | | patArchiveService.insertPatArchive(patArchive); |
| | |
| | | return patArchive; |
| | | } |
| | | |
| | | private PatArchive buildPatientArchive(ServiceSLTDInhospResDTO dto) { |
| | | private PatArchive buildPatientArchive(ServiceSLTDInhospResDTO dto, Long orgid) { |
| | | PatArchive patArchive = new PatArchive(); |
| | | patArchive.setPatientno(dto.getMedicalRecordNo()); |
| | | patArchive.setIdcardno(dto.getIdCardNo().trim()); |
| | | patArchive.setPatientno("" + dto.getPatientId()); |
| | | patArchive.setIdcardno(StringUtils.isEmpty(dto.getIdCardNo()) ? "" + dto.getMedicalCardId() : dto.getIdCardNo().trim()); |
| | | patArchive.setName(dto.getPatientName()); |
| | | patArchive.setSourcefrom(2); |
| | | patArchive.setPattype("2"); |
| | |
| | | patArchive.setDelFlag("0"); |
| | | patArchive.setCreateTime(new Date()); |
| | | patArchive.setUpdateTime(new Date()); |
| | | patArchive.setOrgid("" + orgid); |
| | | return patArchive; |
| | | } |
| | | |
| | |
| | | |
| | | private String getStringValue(Map<String, Object> map, String key) { |
| | | Object value = map.get(key); |
| | | return value != null ? value.toString() : null; |
| | | if (value == null) { |
| | | return null; |
| | | } |
| | | |
| | | // åªå¤çæ°åç±»åï¼é¿å
ç§å¦è®¡æ°æ³ |
| | | return value instanceof Number ? new BigDecimal(value.toString()).toPlainString() : value.toString(); |
| | | } |
| | | |
| | | private Long getLongValue(Map<String, Object> map, String key) { |
| | |
| | | package com.smartor.service.impl; |
| | | |
| | | import afu.org.checkerframework.checker.oigj.qual.O; |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.ruoyi.common.core.redis.RedisCache; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.DtoConversionUtils; |
| | | import com.ruoyi.common.utils.RSAPublicKeyExample; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.mapper.ServiceSubtaskAnswerMapper; |
| | | import com.smartor.mapper.ServiceSubtaskDetailMapper; |
| | | import com.smartor.mapper.ServiceSubtaskMapper; |
| | | import com.smartor.mapper.SvyTaskTemplateTargetoptionMapper; |
| | | import com.smartor.mapper.*; |
| | | import com.smartor.service.IServiceSubtaskAnswerService; |
| | | import com.smartor.service.IServiceTaskService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | | |
| | | /** |
| | | * ä»»å¡é®å·é®é¢é项Serviceä¸å¡å±å¤ç |
| | |
| | | private ServiceSubtaskMapper serviceSubtaskMapper; |
| | | |
| | | @Autowired |
| | | private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper; |
| | | |
| | | @Autowired |
| | | private RedisCache redisCache; |
| | | |
| | | @Autowired |
| | |
| | | private IServiceTaskService serviceTaskService; |
| | | |
| | | @Autowired |
| | | private SvyTaskTemplateTargetoptionMapper svyTaskTemplateTargetoptionMapper; |
| | | private PatArchiveMapper patArchiveMapper; |
| | | |
| | | |
| | | @Autowired |
| | | private PatMedInhospMapper patMedInhospMapper; |
| | | |
| | | @Autowired |
| | | private PatMedOuthospMapper patMedOuthospMapper; |
| | | |
| | | @Value("${pri_key}") |
| | | private String pri_key; |
| | | |
| | | @Value("${dealDeptCode}") |
| | | private String dealDeptCode; |
| | | |
| | | /** |
| | | * æ¥è¯¢ä»»å¡é®å·é®é¢é项 |
| | |
| | | Long tid = null; |
| | | Long pid = null; |
| | | Double score = null; |
| | | Long isabno = 0L; |
| | | Set<String> allKeys = redisCache.getAllKeys(); |
| | | if (ObjectUtils.isNotEmpty(serviceSubTaskAnswerReq)) { |
| | | //éè¦ç«å³æ§è¡ |
| | |
| | | svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); |
| | | Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, tid, pid); |
| | | if (map == null) continue aa; |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (!Objects.isNull(map.get("nextScriptNo"))) |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (score == null) { |
| | | score = Double.valueOf(map.get("score")); |
| | | } else { |
| | |
| | | log.error("svyTaskTemplateScriptVOçå¼ä¸ºï¼{}", svyTaskTemplateScriptVO); |
| | | Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, Long.valueOf(split[1]), Long.valueOf(split[0])); |
| | | log.error("mapçä¿¡æ¯ä¸ºï¼{}", map); |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (!Objects.isNull(map.get("nextScriptNo"))) |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (score == null) { |
| | | score = Double.valueOf(map.get("score")); |
| | | } else { |
| | |
| | | List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(ivrLibaTemplateTargetoptions, IvrTaskTemplateTargetoption.class); |
| | | ivrTaskTemplateScriptVO.setIvrTaskScriptTargetoptionList(ivrTaskTemplateTargetoptions); |
| | | Map<String, String> map = setSFInfo(ivrTaskTemplateScriptVO, tid, pid); |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (!Objects.isNull(map.get("nextScriptNo"))) |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (score == null) { |
| | | score = Double.valueOf(map.get("score")); |
| | | } else { |
| | |
| | | if (ivrTaskTemplateScriptVO.getSort() != null && Long.valueOf(ivrTaskTemplateScriptVO.getSort()).equals(nextScriptno)) { |
| | | Map<String, String> map = setSFInfo(ivrTaskTemplateScriptVO, Long.valueOf(split[1]), Long.valueOf(split[0])); |
| | | log.error("mapçä¿¡æ¯ä¸ºï¼{}", map); |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (!Objects.isNull(map.get("nextScriptNo"))) |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (score == null) { |
| | | score = Double.valueOf(map.get("score")); |
| | | } else { |
| | |
| | | } |
| | | //å°è¯¥keyåvalueä»redisä¸ï¼å é¤ |
| | | redisCache.deleteObject(key); |
| | | |
| | | //æ¥è¯¢åºè¯¥ä»»å¡ä¸æ£å¨æ§è¡çæ£è
ä¿¡æ¯ |
| | | ServiceSubtaskVO ssVO = new ServiceSubtaskVO(); |
| | | ssVO.setTaskid(tid); |
| | | ssVO.setPatid(pid); |
| | | ssVO.setSendstate(3L); |
| | | List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(ssVO); |
| | | |
| | | ServiceSubtask serviceSubtask = new ServiceSubtask(); |
| | | serviceSubtask.setTaskid(tid); |
| | | serviceSubtask.setPatid(pid); |
| | |
| | | log.error("å°è¯¥keyåvalueä»redisä¸,serviceSubtaskçå¼ä¸º--------ï¼{}", serviceSubtask); |
| | | if (score != null) serviceSubtask.setScore(BigDecimal.valueOf(score)); |
| | | serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask); |
| | | |
| | | //å°å½ååéç¶ææ¹æ9宿 |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); |
| | | serviceSubtaskPreachform.setPreachform(serviceSubtaskList.get(0).getCurrentPreachform()); |
| | | serviceSubtaskPreachform.setSubid(serviceSubtask.getId()); |
| | | serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid()); |
| | | List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) { |
| | | ServiceSubtaskPreachform ssp = serviceSubtaskPreachforms.get(0); |
| | | ssp.setSendstate("9"); |
| | | serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(ssp); |
| | | } |
| | | |
| | | } |
| | | return 1; |
| | | } |
| | | |
| | | @Override |
| | | public Boolean saveMYDQuestionAnswer(ServiceSubTaskMYDAnswerReq serviceSubTaskMYDAnswerReq) { |
| | | //ç¨æ¥å¤çæè¯å»ºè®®çé¨é¨ |
| | | String dealDept = null; |
| | | |
| | | Long patid = null; |
| | | List<PatMedInhosp> patMedInhospList = null; |
| | | List<PatMedOuthosp> patMedOuthosps = null; |
| | | List<Long> idList = new ArrayList<>(); |
| | | if (serviceSubTaskMYDAnswerReq.getMzzy().equals("1")) { |
| | | //ä½é¢ |
| | | PatMedInhosp patMedInhosp = new PatMedInhosp(); |
| | | patMedInhosp.setSerialnum(serviceSubTaskMYDAnswerReq.getSerialnum()); |
| | | patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp); |
| | | if (CollectionUtils.isNotEmpty(patMedInhospList)) patid = patMedInhospList.get(0).getPatid(); |
| | | } else if (serviceSubTaskMYDAnswerReq.getMzzy().equals("2")) { |
| | | //é¨è¯ |
| | | PatMedOuthosp patMedOuthosp = new PatMedOuthosp(); |
| | | patMedOuthosp.setSerialnum(serviceSubTaskMYDAnswerReq.getSerialnum()); |
| | | patMedOuthosps = patMedOuthospMapper.selectPatMedOuthospList(patMedOuthosp); |
| | | if (CollectionUtils.isNotEmpty(patMedOuthosps)) patid = patMedOuthosps.get(0).getPatid(); |
| | | } else if (serviceSubTaskMYDAnswerReq.getMzzy().equals("3")) { |
| | | //æå®ä¸ä¸ªé¨é¨ï¼ç¨æ¥å¤çæè¯å»ºè®® |
| | | dealDept = dealDeptCode; |
| | | String serialnum = serviceSubTaskMYDAnswerReq.getSerialnum(); |
| | | PatArchive patArchive = new PatArchive(); |
| | | patArchive.setPatientno(serialnum); |
| | | List<PatArchive> patArchives = patArchiveMapper.selectPatArchiveList(patArchive); |
| | | if (CollectionUtils.isNotEmpty(patArchives)) { |
| | | patid = patArchives.get(0).getId(); |
| | | } |
| | | } |
| | | |
| | | if (CollectionUtils.isNotEmpty(serviceSubTaskMYDAnswerReq.getSvyLibTemplateScriptVOS())) { |
| | | Double score = null; |
| | | List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOS = serviceSubTaskMYDAnswerReq.getSvyLibTemplateScriptVOS(); |
| | | Long nextScriptno = null; |
| | | for (int i = 0; i < svyLibTemplateScriptVOS.size(); i++) { |
| | | if (i == 0) { |
| | | //è¿ä¸ªæ¶é´è¦æ¾å°ç¬¬ä¸é¢ |
| | | for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOS) { |
| | | if (svyLibTemplateScriptVO.getSort() == 1L) { |
| | | //è¯´ææ¯ç¬¬ä¸é¢ |
| | | SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(svyLibTemplateScriptVOS.get(0), SvyTaskTemplateScriptVO.class); |
| | | List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateScriptVOS.get(0).getSvyLibTemplateTargetoptions(); |
| | | List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(svyLibTemplateTargetoptions, SvyTaskTemplateTargetoption.class); |
| | | svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); |
| | | Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, Long.valueOf(serviceSubTaskMYDAnswerReq.getTaskId()), patid); |
| | | if (map == null) continue; |
| | | if (!Objects.isNull(map.get("nextScriptNo"))) |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (score == null) { |
| | | score = Double.valueOf(map.get("score")); |
| | | } else { |
| | | score = score + Double.valueOf(map.get("score")); |
| | | } |
| | | if (!Objects.isNull(map.get("id"))) { |
| | | idList.add(Long.valueOf(map.get("id"))); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } else { |
| | | SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(svyLibTemplateScriptVOS.get(i), SvyTaskTemplateScriptVO.class); |
| | | List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(svyLibTemplateScriptVOS.get(i).getSvyLibTemplateTargetoptions(), SvyTaskTemplateTargetoption.class); |
| | | svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); |
| | | |
| | | if (svyTaskTemplateScriptVO.getSort() != null && svyTaskTemplateScriptVO.getSort().equals(nextScriptno)) { |
| | | log.error("svyTaskTemplateScriptVOçå¼ä¸ºï¼{}", svyTaskTemplateScriptVO); |
| | | Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, Long.valueOf(serviceSubTaskMYDAnswerReq.getTaskId()), patid); |
| | | log.error("mapçä¿¡æ¯ä¸ºï¼{}", map); |
| | | if (!Objects.isNull(map.get("nextScriptNo"))) |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (score == null) { |
| | | score = Double.valueOf(map.get("score")); |
| | | } else { |
| | | score = score + Double.valueOf(map.get("score")); |
| | | } |
| | | if (!Objects.isNull(map.get("id"))) { |
| | | idList.add(Long.valueOf(map.get("id"))); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(Long.valueOf(serviceSubTaskMYDAnswerReq.getTaskId())); |
| | | PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patid); |
| | | |
| | | if (!Objects.isNull(serviceTask)) { |
| | | ServiceSubtask serviceSubtask = new ServiceSubtask(); |
| | | serviceSubtask.setTaskid(serviceTask.getTaskid()); |
| | | serviceSubtask.setTaskName(serviceTask.getTaskName()); |
| | | serviceSubtask.setTaskDesc(serviceTask.getTaskDesc()); |
| | | serviceSubtask.setTemplateid(serviceTask.getTemplateid()); |
| | | serviceSubtask.setTemplatename(serviceTask.getTemplatename()); |
| | | serviceSubtask.setLibtemplateid(Long.valueOf(serviceTask.getLibtemplateid())); |
| | | if (CollectionUtils.isNotEmpty(patMedInhospList)) { |
| | | serviceSubtask.setHospType("2"); |
| | | serviceSubtask.setDeptname(patMedInhospList.get(0).getDeptname()); |
| | | serviceSubtask.setDeptcode(patMedInhospList.get(0).getDeptcode()); |
| | | serviceSubtask.setLeavehospitaldistrictcode(patMedInhospList.get(0).getLeavehospitaldistrictcode()); |
| | | serviceSubtask.setLeavehospitaldistrictname(patMedInhospList.get(0).getLeavehospitaldistrictname()); |
| | | serviceSubtask.setDrname(patMedInhospList.get(0).getDrname()); |
| | | serviceSubtask.setDrcode(patMedInhospList.get(0).getDrcode()); |
| | | serviceSubtask.setNurseName(patMedInhospList.get(0).getNurseName()); |
| | | serviceSubtask.setNurseId(patMedInhospList.get(0).getNurseId()); |
| | | serviceSubtask.setInhospid(patMedInhospList.get(0).getInhospid()); |
| | | serviceSubtask.setServiceType("6"); |
| | | } else if (CollectionUtils.isNotEmpty(patMedOuthosps)) { |
| | | serviceSubtask.setHospType("1"); |
| | | serviceSubtask.setAdmindate(patMedOuthosps.get(0).getAdmitdate()); |
| | | serviceSubtask.setHospno(patMedOuthosps.get(0).getOuthospno()); |
| | | serviceSubtask.setDeptname(patMedOuthosps.get(0).getDeptname()); |
| | | serviceSubtask.setDeptcode(patMedOuthosps.get(0).getDeptcode()); |
| | | serviceSubtask.setDrname(patMedOuthosps.get(0).getDrname()); |
| | | serviceSubtask.setDrcode(patMedOuthosps.get(0).getDrcode()); |
| | | serviceSubtask.setServiceType("14"); |
| | | } |
| | | if (!Objects.isNull(patArchive)) { |
| | | serviceSubtask.setPatid(patArchive.getId()); |
| | | serviceSubtask.setSendname(patArchive.getName()); |
| | | serviceSubtask.setSex(patArchive.getSex()); |
| | | serviceSubtask.setPhone(patArchive.getTelcode()); |
| | | serviceSubtask.setSfzh(patArchive.getIdcardno()); |
| | | serviceSubtask.setAddr(patArchive.getPlaceOfResidence()); |
| | | serviceSubtask.setOrgid(patArchive.getOrgid()); |
| | | } |
| | | if (StringUtils.isNotEmpty(dealDept)) { |
| | | //æè¯å»ºè®®çå¤çé¨é¨ |
| | | serviceSubtask.setDeptcode(dealDept); |
| | | serviceSubtask.setServiceType("15"); |
| | | } |
| | | serviceSubtask.setSubmit(1L); |
| | | serviceSubtask.setSendstate(6L); |
| | | serviceSubtask.setType("2"); |
| | | serviceSubtask.setExcep(null); |
| | | serviceSubtask.setFinishtime(new Date()); |
| | | serviceSubtask.setUpdateTime(new Date()); |
| | | serviceSubtask.setCreateTime(new Date()); |
| | | serviceSubtask.setVisitTime(new Date()); |
| | | if (score != null) serviceSubtask.setScore(BigDecimal.valueOf(score)); |
| | | serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | //å°å½ååéç¶ææ¹æ9宿 |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); |
| | | serviceSubtaskPreachform.setPreachform(serviceSubtask.getCurrentPreachform()); |
| | | serviceSubtaskPreachform.setSubid(serviceSubtask.getId()); |
| | | serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid()); |
| | | List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) { |
| | | ServiceSubtaskPreachform ssp = serviceSubtaskPreachforms.get(0); |
| | | ssp.setSendstate("9"); |
| | | serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(ssp); |
| | | } |
| | | |
| | | for (Long detailId : idList) { |
| | | ServiceSubtaskDetail serviceSubtaskDetail = new ServiceSubtaskDetail(); |
| | | serviceSubtaskDetail.setId(detailId); |
| | | serviceSubtaskDetail.setSubId(serviceSubtask.getId()); |
| | | serviceSubtaskDetailMapper.updateServiceSubtaskDetail(serviceSubtaskDetail); |
| | | } |
| | | } |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | |
| | | |
| | |
| | | tid = Long.valueOf(serviceSubTaskCacheReq.getParam1()); |
| | | pid = Long.valueOf(serviceSubTaskCacheReq.getParam2()); |
| | | } |
| | | if (CollectionUtils.isNotEmpty(serviceSubTaskCacheReq.getSvyLibTemplateScriptVOS()) && serviceSubTaskCacheReq.getSvyLibTemplateScriptVOS().size() > 0) { |
| | | if (CollectionUtils.isNotEmpty(serviceSubTaskCacheReq.getSvyLibTemplateScriptVOS()) && serviceSubTaskCacheReq.getSvyLibTemplateScriptVOS().size() > 0) { |
| | | //é®å· |
| | | redisCache.deleteObject(pid + "-" + tid + "-WJscriptCache"); |
| | | redisCache.setCacheListRight(pid + "-" + tid + "-WJscriptCache", serviceSubTaskCacheReq.getSvyLibTemplateScriptVOS()); |
| | |
| | | List<ServiceSubtaskDetail> serviceSubtaskDetails = serviceSubtaskDetailMapper.selectServiceSubtaskDetailList(serviceSubtaskDetail); |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskDetails)) { |
| | | map.put("asrtext", serviceSubtaskDetails.get(0).getAsrtext()); |
| | | map.put("asrtextId", serviceSubtaskDetails.get(0).getId()); |
| | | map.put("asrtextId", "" + serviceSubtaskDetails.get(0).getId()); |
| | | map.put("answerps", serviceSubtaskDetails.get(0).getAnswerps()); |
| | | return map; |
| | | } |
| | |
| | | serviceSubtaskVO.setTaskid(taskid); |
| | | serviceSubtaskVO.setPatid(patid); |
| | | List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); |
| | | |
| | | String score = "0"; |
| | | //ä¸é¢è·³è½¬ |
| | | String nextScriptNo = null; |
| | |
| | | } else { |
| | | serviceSubtaskDetailVO.setTargetvalue(serviceSubtaskDetailVO.getTargetvalue() + "&" + svyTaskTemplateTargetoption.getOptioncontent()); |
| | | } |
| | | // if (svyTaskTemplateTargetoption.getIsUserOperation() == true) { |
| | | // //å°éä¸çç»ææ¾å°asrtextä¸ |
| | | // if (StringUtils.isEmpty(serviceSubtaskDetailVO.getAsrtext())) { |
| | | // //åå端åéï¼å端ä¼å°éä¸çç»ææ´æ°å°é®é¢ä¸ |
| | | //// serviceSubtaskDetailVO.setAsrtext(svyTaskTemplateTargetoption.getTargetvalue()); |
| | | // serviceSubtaskDetailVO.setAsrtext(svyTaskTemplateScriptVO.getScriptResult()); |
| | | // } else { |
| | | // //妿æ¯å¤éï¼çæ¡éè¦ç¨ & è¿è¡æ¼æ¥(//åå端åéï¼å端ä¼å°éä¸çç»ææ´æ°å°é®é¢ä¸) |
| | | //// serviceSubtaskDetailVO.setAsrtext(serviceSubtaskDetailVO.getAnswerps() + "&" + svyTaskTemplateTargetoption.getTargetvalue()); |
| | | // serviceSubtaskDetailVO.setAsrtext(svyTaskTemplateScriptVO.getScriptResult()); |
| | | // } |
| | | // if (svyTaskTemplateScriptVO.getScriptType().equals("1") && svyTaskTemplateScriptVO.getBranchFlag().equals("1")) { |
| | | // //æ¯åéï¼å¹¶ä¸æ¯æåæ¯ç(åå端åéï¼å¨å¤é¾ç»æä¿åæ¶ï¼ä¼å°éä¸çé项ä¸çè·³è½¬æ´æ°å°é¢ç®ä¸) |
| | | //// nextScriptNo = svyTaskTemplateTargetoption.getNextQuestion().toString(); |
| | | // nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno().toString(); |
| | | // score = svyTaskTemplateTargetoption.getScore().toString(); |
| | | // } else { |
| | | // nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno().toString(); |
| | | // score = svyTaskTemplateScriptVO.getScore().toString(); |
| | | // } |
| | | // } |
| | | |
| | | } |
| | | nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno().toString(); |
| | | nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno(); |
| | | if (svyTaskTemplateScriptVO.getScore() != null) { |
| | | score = String.valueOf(svyTaskTemplateScriptVO.getScore()); |
| | | } |
| | | serviceSubtaskDetailVO.setAsrtext(StringUtils.isEmpty(svyTaskTemplateScriptVO.getScriptResult()) ? "" : svyTaskTemplateScriptVO.getScriptResult().replaceAll("^\"|\"$", "")); |
| | | serviceSubtaskDetailVO.setMatchedtext(StringUtils.isEmpty(svyTaskTemplateScriptVO.getScriptResult()) ? "" : svyTaskTemplateScriptVO.getScriptResult().replaceAll("^\"|\"$", "")); |
| | | // if (StringUtils.isEmpty(serviceSubtaskDetailVO.getAsrtext())) { |
| | | // if (StringUtils.isEmpty(serviceSubtaskDetailVO.getAsrtext())) { |
| | | // nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno().toString(); |
| | | // } |
| | | // serviceSubtaskDetailVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateScriptVO.getSvyTaskTemplateTargetoptions()); |
| | |
| | | Map<String, String> map = new HashMap<>(); |
| | | map.put("nextScriptNo", nextScriptNo); |
| | | map.put("score", score); |
| | | map.put("id", "" + serviceSubtaskDetail.getId()); |
| | | return map; |
| | | } |
| | | |
| | |
| | | package com.smartor.service.impl; |
| | | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.fasterxml.jackson.core.JsonProcessingException; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.google.gson.Gson; |
| | |
| | | public class ServiceSubtaskServiceImpl implements IServiceSubtaskService { |
| | | @Autowired |
| | | private ServiceSubtaskMapper serviceSubtaskMapper; |
| | | |
| | | @Autowired |
| | | private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper; |
| | | |
| | | @Autowired |
| | | private ServiceSubtaskDetailMapper serviceSubtaskDetailMapper; |
| | |
| | | return DtoConversionUtils.sourceToTarget(serviceTask, ServiceTaskVO.class); |
| | | } |
| | | |
| | | |
| | | //å°æ¥åºæ¥çæ°æ®åå
¥ServiceSubtaskVOä¸ |
| | | ServiceTaskVO serviceTaskVO = DtoConversionUtils.sourceToTarget(serviceTask, ServiceTaskVO.class); |
| | | serviceTaskVO.setShowDate(serviceTask.getShowDate()); |
| | |
| | | patTaskRelevance.setNurseName(serviceSubtask1.getNurseName()); |
| | | patTaskRelevances.add(patTaskRelevance); |
| | | } |
| | | |
| | | //è·å该æ£è
ææçæ§è¡ç¶æ |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); |
| | | serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid()); |
| | | serviceSubtaskPreachform.setSubid(serviceSubtask1.getId()); |
| | | List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); |
| | | serviceTaskVO.setPreachformList(serviceSubtaskPreachformList); |
| | | |
| | | } |
| | | |
| | | serviceTaskVO.setPatTaskRelevances(patTaskRelevances); |
| | |
| | | if (serviceSubtask.getSendstate() >= 3L || serviceSubtask.getSendstate() == 1L) yfs = yfs + 1; |
| | | if (serviceSubtask.getSendstate() == 2L) dsf = dsf + 1; |
| | | if (serviceSubtask.getSendstate() == 1L) blq = blq + 1; |
| | | if (serviceSubtask.getExcep().equals("1")) yc = yc + 1; |
| | | if (StringUtils.isNotEmpty(serviceSubtask.getExcep()) && !serviceSubtask.getExcep().equals("0")) |
| | | yc = yc + 1; |
| | | } |
| | | map.put("wzx", wzx); |
| | | map.put("ysf", ysf); |
| | |
| | | throw new BaseException("ä»»å¡å
¥å为空ï¼è¯·æ£æ¥å
¥å"); |
| | | } |
| | | ServiceTask serviceTask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceTask.class); |
| | | if (CollectionUtils.isEmpty(serviceTaskVO.getPreachformList())) throw new BaseException("ä»»å¡çåéæ¹å¼ä¸ºç©º"); |
| | | //å°preachfromListæ¾å°serviceTaskä¸çpreachfromä¸ |
| | | ObjectMapper mapper = new ObjectMapper(); |
| | | try { |
| | | String preachformList = mapper.writeValueAsString(serviceTaskVO.getPreachformList()); |
| | | serviceTask.setPreachform(preachformList); |
| | | } catch (JsonProcessingException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | serviceTask.setTextParam(JSON.toJSONString(serviceTaskVO.getTextParam())); |
| | | if (serviceTaskVO.getIsoperation() != null && serviceTaskVO.getIsoperation() == 1) { |
| | | //æ°å¢æ¨¡æ¿ä¿¡æ¯ |
| | |
| | | ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag(); |
| | | serviceTaskdiag.setTaskId(serviceTask.getTaskid()); |
| | | serviceTaskdiag.setTaskName(serviceTask.getTaskName()); |
| | | serviceTaskdiag.setLongtask(0L); |
| | | serviceTaskdiag.setLongtask(Long.valueOf(serviceTask.getLongTask())); |
| | | if (serviceTaskVO.getLongTask() == 1) serviceTaskdiag.setLongtask(1L); |
| | | serviceTaskdiag.setIcd10code(serviceTaskVO.getIcd10code()); |
| | | serviceTaskdiag.setIcd10name(serviceTaskVO.getIcd10name()); |
| | |
| | | serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc()); |
| | | serviceTaskoper.setTaskId(serviceTask.getTaskid()); |
| | | serviceTaskoper.setTaskName(serviceTask.getTaskName()); |
| | | serviceTaskoper.setLongtask(0L); |
| | | serviceTaskoper.setLongtask(Long.valueOf(serviceTask.getLongTask())); |
| | | serviceTaskoper.setGuid(serviceTask.getGuid()); |
| | | serviceTaskoper.setOrgid(serviceTask.getOrgid()); |
| | | serviceTaskoper.setCreateTime(new Date()); |
| | | if (serviceTaskVO.getLongTask() == 1) serviceTaskoper.setLongtask(1L); |
| | | if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) { |
| | | String[] opcodes = serviceTaskVO.getOpcode().split(","); |
| | | for (String opcode : opcodes) { |
| | |
| | | serviceTaskdept.setTaskId(serviceTask.getTaskid()); |
| | | serviceTaskdept.setTaskName(serviceTask.getTaskName()); |
| | | serviceTaskdept.setOrgid(serviceTask.getOrgid()); |
| | | serviceTaskdept.setLongtask(0L); |
| | | if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L); |
| | | serviceTaskdept.setLongtask(Long.valueOf(serviceTaskVO.getLongTask())); |
| | | if (StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) { |
| | | String[] deptcodes = serviceTaskVO.getDeptcode().split(","); |
| | | for (String deptCode : deptcodes) { |
| | |
| | | } |
| | | } |
| | | } |
| | | if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1 && serviceTaskVO.getPatCycle() == 0L) { |
| | | Map<String, Integer> map = new HashMap<>(); |
| | | map.put("taskId", serviceTask.getTaskid().intValue()); |
| | | return map; |
| | | } |
| | | //é¿æä»»å¡ï¼ä¹å
许å äººäº |
| | | // if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1 && serviceTaskVO.getPatCycle() == 0L) { |
| | | // Map<String, Integer> map = new HashMap<>(); |
| | | // map.put("taskId", serviceTask.getTaskid().intValue()); |
| | | // return map; |
| | | // } |
| | | |
| | | //å°ä»»å¡ä¿¡æ¯æ¾å°æå¡è¡¨ä¸ |
| | | ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class); |
| | |
| | | serviceSubtask.setNurseName(patTaskRelevance.getNurseName()); |
| | | serviceSubtask.setCreateBy(serviceTask.getCreateBy()); |
| | | serviceSubtask.setUpdateBy(serviceTask.getCreateBy()); |
| | | serviceSubtask.setVisitTime(patTaskRelevance.getVisitTime()); |
| | | serviceSubtask.setVisitTime(patTaskRelevance.getVisittime()); |
| | | if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1) |
| | | serviceSubtask.setLongSendTime(patTaskRelevance.getLongSendTime()); |
| | | serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | serviceSubtask.getId().intValue(); |
| | | |
| | | //éè¦æservice_taskéçpreachformç顺åºå°åéæ¹å¼ä¿åå°service_subtask_preachformè¡¨ä¸ |
| | | if (StringUtils.isNotEmpty(serviceTaskVO.getPreachformList())) { |
| | | List<ServiceSubtaskPreachform> pfList = serviceTaskVO.getPreachformList(); |
| | | for (ServiceSubtaskPreachform serviceSubtaskPreachform : pfList) { |
| | | serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid()); |
| | | serviceSubtaskPreachform.setSubid(serviceSubtask.getId()); |
| | | //è¿ä¸ªsendstateéè¦å¨æ°æ®åºè®¾ç½®ä¸ä¸ªé»è®¤å¼ä¸ºâ1â |
| | | serviceSubtaskPreachform.setSendstate("1"); |
| | | serviceSubtaskPreachform.setOrgid(serviceTask.getOrgid()); |
| | | serviceSubtaskPreachform.setCreateTime(new Date()); |
| | | serviceSubtaskPreachformMapper.insertServiceSubtaskPreachform(serviceSubtaskPreachform); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | serviceTask.setSendTimeSlot(JSON.toJSONString(serviceTaskVO.getSendTimeslot())); |
| | | //ä¿®æ¹æä½ï¼éè¦å°stopStateç¶æ+1 |
| | | ServiceTask serviceTask1 = serviceTaskService.selectServiceTaskByTaskid(serviceTask.getTaskid()); |
| | | // long l = serviceTask1.getStopState() + 1; |
| | | // serviceTask.setStopState(l); |
| | | //è·åå°è¯¥ä»»å¡ææçæå¡ï¼å¹¶ä»éåéå é¤ |
| | | ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); |
| | | serviceSubtaskVO.setTaskid(serviceTask1.getTaskid()); |
| | |
| | | } else { |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList = serviceSubtaskList1; |
| | | } |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskList)) { |
| | | for (ServiceSubtask serviceSubtask : serviceSubtaskList) { |
| | | log.info("insertOrUpdateTaskéè¦ç§»é¤ç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 (serviceTaskVO.getLibtemplateid() != null) |
| | | serviceTask.setLibtemplateid(serviceTaskVO.getLibtemplateid().toString()); |
| | |
| | | serviceTask.setUpdateTime(new Date()); |
| | | serviceTaskService.updateServiceTask(serviceTask); |
| | | if (serviceTaskVO.getAppltype().equals("1") || serviceTaskVO.getAppltype().equals("2")) { |
| | | |
| | | |
| | | if (StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) { |
| | | String[] deptcodes = serviceTaskVO.getDeptcode().split(","); |
| | | for (String deptCode : deptcodes) { |
| | | ServiceTaskdept serviceTaskdept = new ServiceTaskdept(); |
| | | serviceTaskdept.setTaskId(serviceTask.getTaskid()); |
| | | serviceTaskdept.setTaskName(serviceTask.getTaskName()); |
| | | serviceTaskdept.setLongtask(0L); |
| | | serviceTaskdept.setLongtask(Long.valueOf(serviceTask.getLongTask())); |
| | | serviceTaskdept.setOrgid(serviceTaskVO.getOrgid()); |
| | | if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L); |
| | | serviceTaskdept.setDeptCode(deptCode); |
| | | serviceTaskdept.setDeptType("1"); |
| | | serviceTaskdept.setServiceType(serviceTaskVO.getServiceType()); |
| | |
| | | ServiceTaskdept serviceTaskdept = new ServiceTaskdept(); |
| | | serviceTaskdept.setTaskId(serviceTask.getTaskid()); |
| | | serviceTaskdept.setTaskName(serviceTask.getTaskName()); |
| | | serviceTaskdept.setLongtask(0L); |
| | | serviceTaskdept.setLongtask(Long.valueOf(serviceTask.getLongTask())); |
| | | serviceTaskdept.setOrgid(serviceTaskVO.getOrgid()); |
| | | if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L); |
| | | serviceTaskdept.setDeptCode(districtcode); |
| | | serviceTaskdept.setDeptType("2"); |
| | | serviceTaskdept.setServiceType(serviceTaskVO.getServiceType()); |
| | |
| | | if (StringUtils.isEmpty(serviceTaskVO.getIcd10code())) { |
| | | throw new BaseException("ç¾ç
ç¼ç 为空"); |
| | | } |
| | | // serviceTaskdiag.setIcd10code(serviceTaskVO.getIcd10code()); |
| | | |
| | | serviceTaskdiag.setLongtask(1L); |
| | | serviceTaskdiag.setLongtask(Long.valueOf(serviceTask.getLongTask())); |
| | | serviceTaskdiag.setIcd10name(serviceTaskVO.getIcd10name()); |
| | | serviceTaskdiag.setGuid(serviceTask.getGuid()); |
| | | serviceTaskdiag.setOrgid(serviceTask.getOrgid()); |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | } else if (serviceTaskVO.getAppltype().equals("4")) { |
| | | ServiceTaskoper serviceTaskoper = new ServiceTaskoper(); |
| | | if (StringUtils.isEmpty(serviceTaskVO.getOpcode())) { |
| | |
| | | serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc()); |
| | | serviceTaskoper.setTaskId(serviceTask.getTaskid()); |
| | | serviceTaskoper.setTaskName(serviceTask.getTaskName()); |
| | | serviceTaskoper.setLongtask(1L); |
| | | serviceTaskoper.setLongtask(Long.valueOf(serviceTask.getLongTask())); |
| | | serviceTaskoper.setGuid(serviceTask.getGuid()); |
| | | serviceTaskoper.setOrgid(serviceTask.getOrgid()); |
| | | serviceTaskoper.setCreateTime(new Date()); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | if (ObjectUtils.isNotEmpty(serviceTaskVO.getIvrTaskTemplateVO())) { |
| | | IvrTaskTemplate ivrTaskTemplate = new IvrTaskTemplate(); |
| | |
| | | serviceSubtask.setEndtime(patTaskRelevance.getEndtime()); |
| | | serviceSubtask.setNurseId(patTaskRelevance.getNurseId()); |
| | | serviceSubtask.setNurseName(patTaskRelevance.getNurseName()); |
| | | serviceSubtask.setVisitTime(patTaskRelevance.getVisitTime()); |
| | | serviceSubtask.setVisitTime(patTaskRelevance.getVisittime()); |
| | | serviceSubtask.setTextParam(new Gson().toJson(serviceTaskVO.getTextParam())); |
| | | if (patTaskRelevance.getIsoperation() != null) { |
| | | if (patTaskRelevance.getIsoperation() == 2) |
| | | if (patTaskRelevance.getIsoperation() == 2) { |
| | | serviceSubtask.setUpdateBy(serviceTask.getUpdateBy()); |
| | | serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask); |
| | | serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask); |
| | | } |
| | | if (patTaskRelevance.getIsoperation() == 1) { |
| | | serviceSubtask.setSendstate(1L); |
| | | serviceSubtask.setUpdateBy(serviceTask.getUpdateBy()); |
| | |
| | | serviceSubtaskMapper.deleteServiceSubtaskByCondition(serviceTaskVO.getTaskid(), patTaskRelevance.getPatid()); |
| | | } |
| | | serviceSubtask.getTaskid().intValue(); |
| | | } |
| | | } |
| | | // æå¯è½ä¼æåé顺åºä¹ä¿®æ¹äºï¼éè¦æ ¹æ®taskIdå°ææçsendstateï¼=4,5,6çsubTaskæåºæ¥ï¼è¿è¡ä¿®æ¹ä¸ä¸ï¼ |
| | | ServiceSubtaskVO ssVo = new ServiceSubtaskVO(); |
| | | ssVo.setTaskid(serviceTaskVO.getTaskid()); |
| | | ssVo.setDelFlag("0"); |
| | | List<Long> ssList = new ArrayList<>(); |
| | | ssList.add(1l); |
| | | ssList.add(2L); |
| | | ssList.add(3L); |
| | | ssVo.setSendstates(ssList); |
| | | List<ServiceSubtask> ssTaskList = serviceSubtaskMapper.selectServiceSubtaskBySendstate(ssVo); |
| | | for (int i = 0; i < ssTaskList.size(); i++) { |
| | | ServiceSubtask serviceSubtask = ssTaskList.get(i); |
| | | serviceSubtaskPreachformMapper.deleteServiceSubtaskPreachformBySubid(serviceSubtask.getId()); |
| | | if (StringUtils.isNotEmpty(serviceTaskVO.getPreachformList())) { |
| | | List<ServiceSubtaskPreachform> pfList = serviceTaskVO.getPreachformList(); |
| | | for (ServiceSubtaskPreachform serviceSubtaskPreachform : pfList) { |
| | | serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid()); |
| | | serviceSubtaskPreachform.setSubid(serviceSubtask.getId()); |
| | | //è¿ä¸ªsendstateéè¦å¨æ°æ®åºè®¾ç½®ä¸ä¸ªé»è®¤å¼ä¸ºâ1â |
| | | serviceSubtaskPreachform.setSendstate("1"); |
| | | serviceSubtaskPreachform.setOrgid(serviceTask.getOrgid()); |
| | | // serviceSubtaskPreachform.setSort(Long.valueOf(i)); |
| | | serviceSubtaskPreachformMapper.insertServiceSubtaskPreachform(serviceSubtaskPreachform); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | //夿æ¯å¦ææº |
| | | String hangupState = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "- hangup"); |
| | | Object cacheObject1 = redisCache.getCacheObject(phoneCallReqYQVO.getTaskid() + "recordAccept-hungup"); |
| | | if (StringUtils.isNotEmpty(hangupState) && hangup.equals("1") || ObjectUtils.isNotEmpty(cacheObject1) && String.valueOf(cacheObject1).equals("1")) { |
| | | if (StringUtils.isNotEmpty(hangupState) && hangupState.equals("1") || ObjectUtils.isNotEmpty(cacheObject1) && String.valueOf(cacheObject1).equals("1")) { |
| | | return new PhoneCallBackYQVO(); |
| | | } |
| | | if ("AsrCallback".equals(phoneCallReqYQVO.getOperate()) && phoneCallReqYQVO.getEnd_time() != null && phoneCallReqYQVO.getEnd_time() != -1) { |
| | |
| | | //夿 recordAccept-hungup æ¯å¦æå¼ï¼å¦ææï¼å说æä¸ç¨å¤çäºï¼ä¹åå·²ç»å¤çè¿äºï¼recordAccept-hungupè¿ä¸ªä¸»è¦æ¯ç»"éè¯è®°å½ç¨çï¼"ï¼ |
| | | Object cacheObject = redisCache.getCacheObject(phoneCallReqYQVO.getTaskid() + "recordAccept-hungup"); |
| | | if (ObjectUtils.isNotEmpty(cacheObject) && String.valueOf(cacheObject).equals("1")) { |
| | | ServiceSubtask serviceSubtask = serviceSubtaskMapper.selectServiceSubtaskById(Long.valueOf(phoneCallReqYQVO.getTaskid())); |
| | | setFailPreachForm(serviceSubtask, "3", "æ¨å«çç¨æ·æ£å¿", "4"); |
| | | return new PhoneCallBackYQVO(); |
| | | } |
| | | //妿åéç¶æä¸º6ï¼å°±è¯´æå·²ç»æå®äºï¼ä¹æ²¡æå¿
è¦ç»§ç»å¾ä¸èµ°äº |
| | |
| | | //å
æé»è®¤çrecordAccept-hungupå é¤ï¼åæ´æ° |
| | | redisCache.deleteObject(phoneCallReqYQVO.getTaskid() + "recordAccept-hungup"); |
| | | redisCache.setCacheObject(phoneCallReqYQVO.getTaskid() + "recordAccept-hungup", "1", 10, TimeUnit.MINUTES); |
| | | |
| | | //è®°å½çµè¯åéç¶æ |
| | | setFailPreachForm(serviceSubtask2, "3", "çµè¯åéæåï¼æ£è
ææï¼", "4"); |
| | | |
| | | //è¿ä¸ªæ¶åå°±éè¦èµ°è¡¥å¿æºå¶äºï¼å
æå®èµ°çä¿¡ |
| | | getSmsCompensate(Long.valueOf(phoneCallReqYQVO.getTaskid())); |
| | | // getSmsCompensate(Long.valueOf(phoneCallReqYQVO.getTaskid())); |
| | | return new PhoneCallBackYQVO(); |
| | | } |
| | | } |
| | |
| | | req.put("caller", phoneCallReqYQVO.getPhone()); |
| | | // HttpUtils.sendPost(hangup, new Gson().toJson(req)); |
| | | HttpUtil.postJsonRequest(hangup, new Gson().toJson(req)); |
| | | ServiceSubtask serviceSubtask = serviceSubtaskMapper.selectServiceSubtaskById(Long.valueOf(phoneCallReqYQVO.getTaskid())); |
| | | //è®°å½çµè¯åéç¶æ |
| | | setFailPreachForm(serviceSubtask, "3", "éè¯æ£å¸¸ç»æ", "9"); |
| | | //å é¤ç»æè¯çæ£å |
| | | redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "- jsy"); |
| | | } else { |
| | |
| | | log.error("-------PlayEventCallbackPlaystopçå¼ä¸ºï¼{}", true); |
| | | } |
| | | } |
| | | |
| | | return phoneCallBackYQVO; |
| | | } |
| | | //è·åæ¾é³æ¯å¦ç»æ |
| | |
| | | serviceSubtask.setUpdateTime(new Date()); |
| | | log.error("å
æ´æ°ä¸ä¸åæ°,çµè¯çserviceSubtaskçå¼ä¸ºï¼{}", serviceSubtask); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | //è®°å½ç¶æ |
| | | setFailPreachForm(serviceSubtask, "3", "é黿¬¡æ°è¾¾å°" + num + "次", "4"); |
| | | |
| | | Map<String, String> map = delRedisValue(null, id.toString()); |
| | | if (ObjectUtils.isNotEmpty(map)) redisCache.setCacheObject(map.get("cacheName"), map.get("val")); |
| | | redisCache.deleteObject(serviceSubtask.getId() + "-" + serviceSubtask.getPhone()); |
| | |
| | | ss.setSendstate(6L); |
| | | ss.setRemark("çµè¯æ¨æå·²å®æ"); |
| | | serviceSubtaskMapper.updateServiceSubtask(ss); |
| | | //è®°å½ç¶æ |
| | | setFailPreachForm(serviceSubtask, "3", "çµè¯æ¨æå·²å®æ", "9"); |
| | | //å¯ä»¥ææºäº |
| | | redisCache.deleteObject(serviceSubtask.getId() + "-" + serviceSubtask.getPhone()); |
| | | redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "SCORE"); |
| | |
| | | redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "- jsy", serviceTask.getJsy(), 120, TimeUnit.MINUTES); |
| | | phoneCallBackYQVO.setType("text"); |
| | | phoneCallBackYQVO.setValue(phoneCallBackYQVO.getCommonValue() + serviceTask.getJsy()); |
| | | //è®°å½ç¶æ |
| | | setFailPreachForm(serviceSubtask, "3", "çµè¯æ¨æå·²å®æ", "9"); |
| | | return phoneCallBackYQVO; |
| | | } |
| | | |
| | |
| | | ss.setSendstate(6L); |
| | | ss.setRemark("çµè¯æ¨æå·²å®æ"); |
| | | serviceSubtaskMapper.updateServiceSubtask(ss); |
| | | //è®°å½ç¶æ |
| | | setFailPreachForm(serviceSubtask, "3", "çµè¯æ¨æå·²å®æ", "9"); |
| | | |
| | | redisCache.deleteObject(serviceSubtask.getId() + "-" + serviceSubtask.getPhone()); |
| | | redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "SCORE"); |
| | | redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "PlayEventCallbackPlaystop"); |
| | |
| | | serviceSubtask.setSendstate(6L); |
| | | serviceSubtask.setRemark("çµè¯æ¨æå·²å®æ"); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | //è®°å½ç¶æ |
| | | setFailPreachForm(serviceSubtask, "3", "çµè¯æ¨æå·²å®æ", "9"); |
| | | //è®¾ç½®ç»æè¯ |
| | | phoneCallBackYQVO.setValue(phoneCallBackYQVO.getCommonValue() + serviceTask1.getJsy()); |
| | | Long id = serviceSubtask.getId(); |
| | |
| | | serviceSubtask.setSendstate(6L); |
| | | serviceSubtask.setRemark("çµè¯æ¨æå·²å®æ"); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | |
| | | //è®°å½ç¶æ |
| | | setFailPreachForm(serviceSubtask, "3", "çµè¯æ¨æå·²å®æ", "9"); |
| | | //å¨redisä¸ä¿åä¸ä¸ç»æè¯ï¼å¨è°ç¨æçµè¯çæ¹æ³æ¶å é¤ |
| | | ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid()); |
| | | redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "- jsy", serviceTask.getJsy(), 120, TimeUnit.MINUTES); |
| | |
| | | serviceSubtask.setRemark("çµè¯æ¨æå·²å®æ"); |
| | | serviceSubtask.setSendstate(6L); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | |
| | | //è®°å½ç¶æ |
| | | setFailPreachForm(serviceSubtask, "3", "çµè¯æ¨æå·²å®æ", "9"); |
| | | //å»redisä¸ï¼æè¯¥åä»»å¡IDå é¤ |
| | | Long id = serviceSubtask.getId(); |
| | | Map<String, String> map = delRedisValue(null, id.toString()); |
| | |
| | | } |
| | | |
| | | |
| | | //ä¸é¢ç代ç ä¸è½å é¤ï¼ä¸é¢çæ¹æ³åªæ¯é
åçµè¯ç«¯èè°ç¨çï¼ |
| | | // @Override |
| | | // public PhoneCallBackVO phoneCallBack(PhoneCallBackVO phoneCallBackVO) { |
| | | // log.error("phoneCallBackVOçå
¥åï¼{},{},{},{},{},{},{}", phoneCallBackVO.getResultType(), phoneCallBackVO.getUuid(), phoneCallBackVO.getErrResult(), phoneCallBackVO.getTextResult(), phoneCallBackVO.getHangUpResult(), phoneCallBackVO.getEnumState(), phoneCallBackVO.getUint8()); |
| | | // //è·åæ°æ® |
| | | // Boolean aBoolean = redisCache.hasKey(phoneCallBackVO.getUuid()); |
| | | // if (!aBoolean) { |
| | | // throw new BaseException("该uuidä¸åå¨"); |
| | | // } |
| | | // Integer hangupValue = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "hangup"); |
| | | // if (hangupValue != null && hangupValue == 1) { |
| | | // //hangupValue == 1 éè®¿ç»æï¼ç´æ¥å¯ä»¥æçµè¯ |
| | | // PhoneUtils phoneUtils = new PhoneUtils(); |
| | | // phoneUtils.hangup(phoneCallBackVO.getUuid(), null, null, null, null, null, null, null); |
| | | // |
| | | // } |
| | | // |
| | | // Map<String, Object> map = redisCache.getCacheObject(phoneCallBackVO.getUuid()); |
| | | //// ObjectMapper objectMapper = new ObjectMapper(); |
| | | //// Map<String, Object> map = null; |
| | | //// try { |
| | | //// map = objectMapper.readValue(cacheObject, Map.class); |
| | | //// } catch (JsonProcessingException e) { |
| | | //// e.printStackTrace(); |
| | | //// } |
| | | // |
| | | // ServiceSubtask ServiceSubtask = (ServiceSubtask) map.get("ServiceSubtask"); |
| | | // List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOs = (List<IvrLibaTemplateScriptVO>) map.get("ivrLibaTemplateScriptVO"); |
| | | // //å°uuidæ´æ°å°æ°æ®åºä¸ |
| | | // ServiceSubtask.setSenduuid(phoneCallBackVO.getUuid()); |
| | | // ServiceSubtaskMapper.updateServiceSubtask(ServiceSubtask); |
| | | // |
| | | // //è·å模æ¿ä¿¡æ¯ |
| | | // IvrLibaTemplateVO ivrLibaTemplateVO = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "ivrLibaTemplateVO"); |
| | | // |
| | | // |
| | | // //é¦å
夿resultType |
| | | // if (phoneCallBackVO.getResultType() == 1) { |
| | | // //å¼å«ç»ææ¥å£: 1 |
| | | // if (phoneCallBackVO.getUint8() == 1) { |
| | | // //å¼å«å¤±è´¥ï¼å»redisä¸è®°å½ä¸ä¸å¤±è´¥æ¬¡æ°ï¼è¿è¡å次å¼å« |
| | | // Integer integer = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "uint8"); |
| | | // if (integer != null) { |
| | | // redisCache.setCacheObject(phoneCallBackVO.getUuid() + "uint8", integer + 1, 120, TimeUnit.MINUTES); |
| | | // } else { |
| | | // redisCache.setCacheObject(phoneCallBackVO.getUuid() + "uint8", 1, 120, TimeUnit.MINUTES); |
| | | // } |
| | | // |
| | | // if (integer != null && integer == ServiceSubtask.getRecallcount().intValue()) { |
| | | // log.info("æ 人æ¥å¬ï¼{}, {}", phoneCallBackVO.getErrResult(), phoneCallBackVO.getUuid()); |
| | | // //è¿ç»æè§å®æ¬¡ï¼å¦æè¦æ²¡äººæ¥ï¼é£å°±ç»æ |
| | | // ServiceSubtask.setResult(phoneCallBackVO.getErrResult()); |
| | | // ServiceSubtaskMapper.updateServiceSubtask(ServiceSubtask); |
| | | // redisCache.deleteObject(phoneCallBackVO.getUuid() + "uint8"); |
| | | // } else if (integer != null && integer < ServiceSubtask.getRecallcount().intValue()) { |
| | | // //è¿è¡éæ¨ |
| | | // PhoneUtils phoneUtils = new PhoneUtils(); |
| | | // phoneUtils.ob(null, null, null, null, null, null, null, ServiceSubtask.getPhone(), phoneCallBackVO.getUuid(), true); |
| | | // } |
| | | // } |
| | | // |
| | | // } else if (phoneCallBackVO.getResultType() == 2) { |
| | | // //éè¯ç¶ææ´æ°æ¥å£: 2 |
| | | // if (phoneCallBackVO.getEnumState() == 0) { |
| | | // // 0-æ¯é |
| | | // Integer integer = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "enumState"); |
| | | // |
| | | // if (integer != null && integer < ServiceSubtask.getRecallcount().intValue()) { |
| | | // redisCache.setCacheObject(phoneCallBackVO.getUuid() + "enumState", integer + 1, 120, TimeUnit.MINUTES); |
| | | // } else if (integer == null) { |
| | | // redisCache.setCacheObject(phoneCallBackVO.getUuid() + "enumState", 1, 120, TimeUnit.MINUTES); |
| | | // } else if (integer != null && integer == ServiceSubtask.getRecallcount().intValue()) { |
| | | // ServiceSubtask.setResult("æ 人æ¥å¬"); |
| | | // ServiceSubtaskMapper.updateServiceSubtask(ServiceSubtask); |
| | | // redisCache.deleteObject(phoneCallBackVO.getUuid() + "enumState"); |
| | | // } |
| | | // } else if (phoneCallBackVO.getEnumState() == 2) { |
| | | // //æ£è
ææçµè¯ |
| | | // log.info("æ£è
ææçµè¯ï¼{}", phoneCallBackVO.getUuid()); |
| | | // ServiceSubtask.setResult(phoneCallBackVO.getHangUpResult()); |
| | | // ServiceSubtaskMapper.updateServiceSubtask(ServiceSubtask); |
| | | // redisCache.deleteObject(phoneCallBackVO.getUuid() + "enumState"); |
| | | // } |
| | | // |
| | | // |
| | | // } else if (phoneCallBackVO.getResultType() == 3) { |
| | | // //è¯é³è¯å«ç»æä¸æ¥æ¥å£: 3 |
| | | // Integer noVoice = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "noVoice"); |
| | | // QuestionMessage returnQues = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "returnQues"); |
| | | // IvrLibaTemplateScriptVO nowQuestion = returnQues.getNowQuestion(); |
| | | // PhoneUtils phoneUtils = new PhoneUtils(); |
| | | // |
| | | // if (StringUtils.isEmpty(phoneCallBackVO.getTextResult())) { |
| | | // //æ åè¯ |
| | | // //夿noVoiceæ¯å¦å·²ç»å°äºæå¤§å¼ |
| | | // if (noVoice == ivrLibaTemplateVO.getNoVoiceNum().intValue()) { |
| | | // //å·²ç»é®äºå¯¹åºçéæ°ï¼å°±å¤ææ¯å¦è¿æä¸ä¸é¢ |
| | | // if (nowQuestion.getTargetid() == ivrLibaTemplateScriptVOs.size()) { |
| | | // //没æä¸ä¸é¢äºï¼å°±ææçµè¯ï¼ææ¾ç»æè¯ |
| | | // redisCache.setCacheObject(phoneCallBackVO.getUuid() + "hangup", 1, 120, TimeUnit.MINUTES); |
| | | // phoneUtils.ttsPlayback(ivrLibaTemplateVO.getRevisitAfter(), phoneCallBackVO.getUuid()); |
| | | // } else { |
| | | // //æä¸ä¸é¢ |
| | | // redisCache.setCacheObject(phoneCallBackVO.getUuid() + "noVoice", 0, 120, TimeUnit.MINUTES); |
| | | // IvrLibaTemplateScriptVO nextQuestion = getNextQuestion(ivrLibaTemplateScriptVOs, nowQuestion); |
| | | // // é®é¢ï¼ å»è°ç¨"ttsåæåææ¾"æ¥å£ |
| | | // phoneUtils.ttsPlayback(nowQuestion.getQuestionText(), phoneCallBackVO.getUuid()); |
| | | // } |
| | | // } else { |
| | | // redisCache.setCacheObject(phoneCallBackVO.getUuid() + "noVoice", noVoice + 1, 120, TimeUnit.MINUTES); |
| | | // //è°ç¨ivrLibaTemplateScriptVOä¸çslienceText(éé»è¯æ¯) |
| | | // String slienceText = nowQuestion.getSlienceText(); |
| | | // //éé»è¯æ¯ + é®é¢ï¼ å»è°ç¨"ttsåæåææ¾"æ¥å£ |
| | | // phoneUtils.ttsPlayback(slienceText + nowQuestion.getQuestionText(), phoneCallBackVO.getUuid()); |
| | | // return new PhoneCallBackVO(); |
| | | // } |
| | | // |
| | | // } else { |
| | | // //æåè¯ï¼å¯¹åççé®é¢,è¿è¡æ£åå¹é
ï¼è¿éåªé坹鿩é¢ï¼å
¶å®é¢åä¸è¡ï¼ |
| | | // for (int j = 0; j < nowQuestion.getIvrLibaScriptTargetoptionList().size(); j++) { |
| | | // //å
å« |
| | | // Matcher matcher = null; |
| | | // if (StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex())) { |
| | | // Pattern pattern = Pattern.compile(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex()); |
| | | // matcher = pattern.matcher(phoneCallBackVO.getTextResult()); |
| | | // } |
| | | // //ä¸å
å« |
| | | // Matcher matcher2 = null; |
| | | // if (StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2())) { |
| | | // Pattern pattern2 = Pattern.compile(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2()); |
| | | // matcher2 = pattern2.matcher(phoneCallBackVO.getTextResult()); |
| | | // } |
| | | // log.info("phoneCallBack--Targetregexçå¼ä¸ºï¼{}, phoneCallBack--Targetregex2çå¼ä¸ºï¼{}", nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex(), nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2()); |
| | | // if (StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex()) && matcher.matches() && StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2()) && matcher2.matches() || StringUtils.isEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex()) && StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2()) && matcher2.matches() || StringUtils.isEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2()) && StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex()) && matcher.matches()) { |
| | | // //说æå¹é
æ£ç¡®äº |
| | | // //è¿éåºè¯¥å
å¤æç±»åï¼å»åä¿®æ¹ï¼è®¾ç½®IsUserOperationæ¯åéé¢çæ¹æ³ |
| | | // nowQuestion.getIvrLibaScriptTargetoptionList().get(j).setIsUserOperation(true); |
| | | // ivrLibaScriptTargetoptionMapper.updateIvrLibaTemplateTargetoption(nowQuestion.getIvrLibaScriptTargetoptionList().get(j)); |
| | | // |
| | | // |
| | | // //å°éé»ç½®ä¸º0 |
| | | // redisCache.setCacheObject(phoneCallBackVO.getUuid() + "noVoice", 0, 120, TimeUnit.MINUTES); |
| | | // redisCache.setCacheObject(phoneCallBackVO.getUuid() + "mateNum", 0, 120, TimeUnit.MINUTES); |
| | | // //è·åä¸ä¸é¢ |
| | | // Integer nextQuestion = nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getNextQuestion(); |
| | | // for (IvrLibaTemplateScriptVO script : ivrLibaTemplateScriptVOs) { |
| | | // if (script.getTargetid() == nextQuestion) { |
| | | // QuestionMessage questionMessage = new QuestionMessage(); |
| | | // questionMessage.setNowQuestion(script); |
| | | // questionMessage.setQuestionList(ivrLibaTemplateScriptVOs); |
| | | // redisCache.setCacheObject(phoneCallBackVO.getUuid() + "returnQues", questionMessage, 120, TimeUnit.MINUTES); |
| | | // break; |
| | | // } |
| | | // } |
| | | // break; |
| | | // } else { |
| | | // //没æå¹é
å° |
| | | // Integer mateNum = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "mateNum"); |
| | | // //æ å¹é
次æ°å»å¤ææ¯å¦å°æå¤§è¯¢é®æ¬¡æ°ï¼å¹¶ä¸ææçé项é½å¹é
å®äº |
| | | // if (mateNum == ivrLibaTemplateVO.getMateNum().intValue() && j == nowQuestion.getIvrLibaScriptTargetoptionList().size() - 1) { |
| | | // //妿ä¸ä¸é¢ä¸ºç©º.åæ°çæ°æ®è¿å,å¹¶å ä¸æè°¢è¯ |
| | | // if (nowQuestion.getTargetid() < ivrLibaTemplateScriptVOs.size()) { |
| | | // QuestionMessage questionMessage = new QuestionMessage(); |
| | | // IvrLibaTemplateScriptVO nextQuestion = getNextQuestion(ivrLibaTemplateScriptVOs, nowQuestion); |
| | | // questionMessage.setQuestionList(ivrLibaTemplateScriptVOs); |
| | | // questionMessage.setNowQuestion(nextQuestion); |
| | | // redisCache.setCacheObject(phoneCallBackVO.getUuid() + "returnQues", questionMessage, 120, TimeUnit.MINUTES); |
| | | // redisCache.setCacheObject(phoneCallBackVO.getUuid() + "mateNum", 0, 120, TimeUnit.MINUTES); |
| | | // } else { |
| | | // //å°±å¯ä»¥ææçµè¯äº |
| | | // redisCache.setCacheObject(phoneCallBackVO.getUuid() + "hangup", 1, 120, TimeUnit.MINUTES); |
| | | // phoneUtils.ttsPlayback(ivrLibaTemplateVO.getRevisitAfter(), phoneCallBackVO.getUuid()); |
| | | // break; |
| | | // } |
| | | // } else if (mateNum < ivrLibaTemplateVO.getMateNum().intValue() && j == nowQuestion.getIvrLibaScriptTargetoptionList().size() - 1) { |
| | | // //没æé®å°è§å®æ¬¡æ° |
| | | // mateNum = mateNum + 1; |
| | | // redisCache.setCacheObject(phoneCallBackVO.getUuid() + "mateNum", mateNum, 120, TimeUnit.MINUTES); |
| | | // } |
| | | // } |
| | | // |
| | | // } |
| | | // //é项å¹é
宿åï¼éè¦åå»éè¿åºåè¿è¡å¹é
䏿¬¡ |
| | | // String extemplateID = ivrLibaTemplateVO.getSubmoduleID(); |
| | | // String[] split = extemplateID.split(","); |
| | | // List<String> list = Arrays.asList(split); |
| | | // List<Long> list1 = new ArrayList<>(); |
| | | // if (StringUtils.isNotEmpty(extemplateID)) { |
| | | // for (String str : list) { |
| | | // list1.add(Long.valueOf(str)); |
| | | // } |
| | | // List<IvrLibaExtemplatescript> ivrLibaExtemplatescripts = ivrLibaExtemplatescriptMapper.queryIvrLibaExtemplatescriptList(list1); |
| | | // for (IvrLibaExtemplatescript ivrLibaExtemplatescript : ivrLibaExtemplatescripts) { |
| | | // Matcher matcher = null; |
| | | // if (StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex())) { |
| | | // Pattern pattern = Pattern.compile(ivrLibaExtemplatescript.getSelfRegex()); |
| | | // matcher = pattern.matcher(returnQues.getContent()); |
| | | // } |
| | | // |
| | | // Matcher matcher2 = null; |
| | | // if (StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex2())) { |
| | | // Pattern pattern2 = Pattern.compile(ivrLibaExtemplatescript.getSelfRegex2()); |
| | | // matcher2 = pattern2.matcher(returnQues.getContent()); |
| | | // } |
| | | // log.info("++++++++++++++++++++++++++éç¨åºæ¯å¦ä¸ºç©ºï¼selfRegex : {} , selfRegex2 : {}", ivrLibaExtemplatescript.getSelfRegex(), ivrLibaExtemplatescript.getSelfRegex2()); |
| | | // if (StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex()) && matcher.matches() && StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex2()) && matcher2.matches() || StringUtils.isEmpty(ivrLibaExtemplatescript.getSelfRegex()) && StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex2()) && matcher2.matches() || StringUtils.isEmpty(ivrLibaExtemplatescript.getSelfRegex2()) && StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex()) && matcher.matches()) { |
| | | // QuestionMessage questionMessage = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "returnQues"); |
| | | // IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO = returnQues.getNowQuestion(); |
| | | // ivrLibaTemplateScriptVO.setSubmoduleText(ivrLibaExtemplatescript.getSwitchText()); |
| | | // ivrLibaTemplateScriptVO.setSubmoduleVoice(ivrLibaExtemplatescript.getSwitchWav()); |
| | | // redisCache.setCacheObject(phoneCallBackVO.getUuid() + "returnQues", questionMessage, 120, TimeUnit.MINUTES); |
| | | // if (ivrLibaExtemplatescript.getIsEnd() == 1) { |
| | | // //å°é®é¢ç½®ç©º |
| | | // IvrLibaTemplateScriptVO nowQuestion1 = questionMessage.getNowQuestion(); |
| | | // nowQuestion1.setQuestionText(null); |
| | | // nowQuestion1.setQuestionVoice(null); |
| | | // questionMessage.setNowQuestion(nowQuestion1); |
| | | // redisCache.setCacheObject(phoneCallBackVO.getUuid() + "returnQues", questionMessage, 120, TimeUnit.MINUTES); |
| | | // |
| | | // redisCache.setCacheObject(phoneCallBackVO.getUuid() + "isOver", 1, 120, TimeUnit.MINUTES); |
| | | // } |
| | | // |
| | | // //è°ç¨"15ãttsåæåææ¾ï¼ tts_playback"å°ç»æä¼ å |
| | | // |
| | | // |
| | | // } |
| | | // break; |
| | | // } |
| | | // } |
| | | // |
| | | // } |
| | | // } |
| | | // return phoneCallBackVO; |
| | | // } |
| | | |
| | | @Override |
| | | public Integer saveQuestionAnswerPhone(ServiceSubTaskDetailReq serviceSubTaskDetailReq) { |
| | | int i = 0; |
| | |
| | | //é访 |
| | | for (ServiceSubtaskDetail serviceSubtaskDetail : serviceSubTaskDetailReq.getServiceSubtaskDetailList()) { |
| | | serviceSubtaskDetail.setSubId(selectServiceSubtaskList.get(0).getId()); |
| | | serviceSubtaskDetail.setId(UUID.randomUUID().toString()); |
| | | // serviceSubtaskDetail.setId(UUID.randomUUID().toString()); |
| | | serviceSubtaskDetail.setCreateTime(new Date()); |
| | | serviceSubtaskDetail.setGuid(selectServiceSubtaskList.get(0).getGuid()); |
| | | serviceSubtaskDetail.setOrgid(serviceSubTaskDetailReq.getOrgid()); |
| | |
| | | Object cacheObject = redisCache.getCacheObject(phoneCallRecordVO.getTaskid() + "recordAccept-hungup"); |
| | | if (phoneCallRecordVO.getHangup_cause().equals("NO_USER_RESPONSE") || ObjectUtils.isNotEmpty(cacheObject) && String.valueOf(cacheObject).equals("1")) { |
| | | //æ 人æ¥å¬ |
| | | getSmsCompensate(Long.valueOf(phoneCallRecordVO.getTaskid())); |
| | | //è®°å½çµè¯åéç¶æ |
| | | ServiceSubtask serviceSubtask = serviceSubtaskMapper.selectServiceSubtaskById(Long.valueOf(phoneCallRecordVO.getTaskid())); |
| | | setFailPreachForm(serviceSubtask, "3", "æ 人æ¥å¬", "4"); |
| | | //è¿è¡çä¿¡è¡¥å¿ |
| | | // getSmsCompensate(Long.valueOf(phoneCallRecordVO.getTaskid())); |
| | | redisCache.deleteObject(phoneCallRecordVO.getTaskid() + "recordAccept-hungup"); |
| | | redisCache.removeElementFromList("cache-exist", phoneCallRecordVO.getTaskid()); |
| | | } else if (ObjectUtils.isNotEmpty(cacheObject) && String.valueOf(cacheObject).equals("2")) { |
| | |
| | | serviceSubtask.setUpdateTime(new Date()); |
| | | log.error("çµè¯æ¨æå·²å®æserviceSubtaskçå¼ä¸º:{}", serviceSubtask); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | setFailPreachForm(serviceSubtask, StringUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) ? serviceSubtask.getCurrentPreachform() : "3", "çµè¯æ¨æå·²å®æ", "9"); |
| | | //ä¸è½½æä»¶ |
| | | ftpService.downloadFolder("/" + LocalDate.now().toString(), profile + "/upload/vadio/voice/" + LocalDate.now().toString()); |
| | | redisCache.deleteObject(phoneCallRecordVO.getTaskid() + "recordAccept-hungup"); |
| | |
| | | // int endIndex = phoneCallRecordVO.getRecord_path().lastIndexOf("/"); |
| | | // String result = phoneCallRecordVO.getRecord_path().substring(startIndex, endIndex); |
| | | //ä¸è½½æä»¶ |
| | | ftpService.downloadFolder("/" + LocalDate.now().toString(), profile + "/upload/vadio/voice/" + LocalDate.now().toString()); |
| | | // ftpService.downloadFolder("/" + LocalDate.now().toString(), profile + "/upload/vadio/voice/" + LocalDate.now().toString()); |
| | | redisCache.deleteObject(phoneCallRecordVO.getTaskid() + "recordAccept-hungup"); |
| | | ServiceSubtask ss = serviceSubtaskMapper.selectServiceSubtaskById(serviceSubtask.getId()); |
| | | setFailPreachForm(ss, StringUtils.isNotEmpty(ss.getCurrentPreachform()) ? ss.getCurrentPreachform() : "3", "çµè¯æ¥éæåï¼æ£è
æç»é访", "5"); |
| | | } |
| | | |
| | | return 1; |
| | |
| | | public List<ServiceSubtaskStatistic> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq) { |
| | | log.error("getSfStatisticsçå
¥å为ï¼{}", serviceSubtaskCountReq); |
| | | List<ServiceSubtaskStatistic> serviceSubtaskStatistics = new ArrayList<>(); |
| | | List<ServiceSubtask> rawData = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq); |
| | | |
| | | // List<ServiceSubtask> rawData = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq); |
| | | |
| | | // æ ¹æ®æ¡ä»¶è¿è¡åç» |
| | | Map<String, List<ServiceSubtask>> collect = new HashMap<>(); |
| | | |
| | | |
| | | if (serviceSubtaskCountReq.getLeavehospitaldistrictcodes() != null && serviceSubtaskCountReq.getLeavehospitaldistrictcodes().size() > 0) { |
| | | if (serviceSubtaskCountReq.getDrcode() != null && !serviceSubtaskCountReq.getDrcode().isEmpty()) { |
| | | collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDrname()).orElse("Unknown"))); |
| | |
| | | collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDeptname()).orElse("Unknown"))); |
| | | } |
| | | } |
| | | |
| | | |
| | | for (List<ServiceSubtask> serviceSubtaskList : collect.values()) { |
| | | if (CollectionUtils.isEmpty(serviceSubtaskList)) { |
| | | continue; |
| | |
| | | // 妿æå»çç¼ç ï¼è®¾ç½®å»çç¼ç ç¨äºåæ¶çæ¥è¯¢ |
| | | if (serviceSubtaskCountReq.getDrcode() != null && !serviceSubtaskCountReq.getDrcode().isEmpty()) { |
| | | ss.setDrcode(serviceSubtaskList.get(0).getDrcode()); |
| | | }else { |
| | | } else { |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskCountReq.getLeavehospitaldistrictcodes())) { |
| | | ss.setLeavehospitaldistrictcode(serviceSubtaskList.get(0).getLeavehospitaldistrictcode()); |
| | | } else if (CollectionUtils.isNotEmpty(serviceSubtaskCountReq.getDeptcodes())) { |
| | | ss.setDeptcode(serviceSubtaskList.get(0).getDeptcode()); |
| | | } |
| | | } |
| | | |
| | | |
| | | ss.setStarttime(serviceSubtaskCountReq.getStartTime()); |
| | | ss.setEndtime(serviceSubtaskCountReq.getEndTime()); |
| | | if (serviceSubtaskCountReq.getEndTime() != null && new Date().before(serviceSubtaskCountReq.getEndTime())) { |
| | |
| | | collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDeptname()).orElse("Unknown"))); |
| | | } |
| | | } |
| | | List<ServiceSubtaskCount> joySubCount=serviceSubtaskMapper.getSfStatisticsJoy(serviceSubtaskCountReq); |
| | | List<ServiceSubtaskCount> joySubCount = serviceSubtaskMapper.getSfStatisticsJoy(serviceSubtaskCountReq); |
| | | for (List<ServiceSubtask> serviceSubtaskList : collect.values()) { |
| | | if (CollectionUtils.isEmpty(serviceSubtaskList)) { |
| | | continue; |
| | | } |
| | | ServiceSubtaskStatistic statistic = getStatisticJoy(serviceSubtaskList,joySubCount); |
| | | if(statistic.getJoyCount()!=0&&statistic.getJoyAllCount()!=0) { |
| | | ServiceSubtaskStatistic statistic = getStatisticJoy(serviceSubtaskList, joySubCount); |
| | | if (statistic.getJoyCount() != 0 && statistic.getJoyAllCount() != 0) { |
| | | Double joyTotal = Double.parseDouble(statistic.getJoyCount() + "") / Double.parseDouble(statistic.getJoyAllCount() + "") * 100; |
| | | statistic.setJoyTotal(String.format("%.2f", joyTotal)+"%"); |
| | | statistic.setJoyTotal(String.format("%.2f", joyTotal) + "%"); |
| | | } |
| | | //åæ¶ç |
| | | ServiceSubtask ss = new ServiceSubtask(); |
| | |
| | | // 妿æå»çç¼ç ï¼è®¾ç½®å»çç¼ç ç¨äºåæ¶çæ¥è¯¢ |
| | | if (serviceSubtaskCountReq.getDrcode() != null && !serviceSubtaskCountReq.getDrcode().isEmpty()) { |
| | | ss.setDrcode(serviceSubtaskList.get(0).getDrcode()); |
| | | }else { |
| | | } else { |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskCountReq.getLeavehospitaldistrictcodes())) { |
| | | ss.setLeavehospitaldistrictcode(serviceSubtaskList.get(0).getLeavehospitaldistrictcode()); |
| | | } else if (CollectionUtils.isNotEmpty(serviceSubtaskCountReq.getDeptcodes())) { |
| | |
| | | if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) { |
| | | serviceSubtaskStatistic.setPendingFollowUp(serviceSubtaskStatistic.getPendingFollowUp() + 1L); |
| | | } |
| | | if (serviceSubtask.getSendstate() != null && ( serviceSubtask.getSendstate() == 6)) { |
| | | if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 6)) { |
| | | serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L); |
| | | } |
| | | if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) { |
| | |
| | | return serviceSubtaskStatistic; |
| | | } |
| | | |
| | | private ServiceSubtaskStatistic getStatisticJoy(List<ServiceSubtask> serviceSubtaskList,List<ServiceSubtaskCount> joySubCount) { |
| | | private ServiceSubtaskStatistic getStatisticJoy(List<ServiceSubtask> serviceSubtaskList, List<ServiceSubtaskCount> joySubCount) { |
| | | ServiceSubtaskStatistic serviceSubtaskStatistic = new ServiceSubtaskStatistic(); |
| | | //æ ¼å¼å为两ä½å°æ°çç¾åæ¯ |
| | | DecimalFormat percentFormat = new DecimalFormat("##.##%"); |
| | |
| | | serviceSubtaskStatistic.setJoyAllCount(0); |
| | | for (ServiceSubtask serviceSubtask : serviceSubtaskList) { |
| | | //满æåº¦ |
| | | List<ServiceSubtaskCount> joyCountTemp= joySubCount.stream().filter(r->r.getSubTaskId().equals(serviceSubtask.getId())) |
| | | .collect(Collectors.toList()); |
| | | if(joyCountTemp!=null&&joyCountTemp.size()>0){ |
| | | if(ObjectUtils.isNotEmpty(joyCountTemp.get(0).getJoyCount())) |
| | | serviceSubtaskStatistic.setJoyCount(serviceSubtaskStatistic.getJoyCount()+joyCountTemp.get(0).getJoyCount()); |
| | | if(ObjectUtils.isNotEmpty(joyCountTemp.get(0).getJoyAllCount())) |
| | | serviceSubtaskStatistic.setJoyAllCount(serviceSubtaskStatistic.getJoyAllCount()+joyCountTemp.get(0).getJoyAllCount()); |
| | | List<ServiceSubtaskCount> joyCountTemp = joySubCount.stream().filter(r -> r.getSubTaskId().equals(serviceSubtask.getId())).collect(Collectors.toList()); |
| | | if (joyCountTemp != null && joyCountTemp.size() > 0) { |
| | | if (ObjectUtils.isNotEmpty(joyCountTemp.get(0).getJoyCount())) |
| | | serviceSubtaskStatistic.setJoyCount(serviceSubtaskStatistic.getJoyCount() + joyCountTemp.get(0).getJoyCount()); |
| | | if (ObjectUtils.isNotEmpty(joyCountTemp.get(0).getJoyAllCount())) |
| | | serviceSubtaskStatistic.setJoyAllCount(serviceSubtaskStatistic.getJoyAllCount() + joyCountTemp.get(0).getJoyAllCount()); |
| | | } |
| | | //æ éé访人次 |
| | | if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) { |
| | |
| | | if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) { |
| | | serviceSubtaskStatistic.setPendingFollowUp(serviceSubtaskStatistic.getPendingFollowUp() + 1L); |
| | | } |
| | | if (serviceSubtask.getSendstate() != null && ( serviceSubtask.getSendstate() == 6)) { |
| | | if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 6)) { |
| | | serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L); |
| | | } |
| | | if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) { |
| | |
| | | return serviceSubtaskDetail; |
| | | } |
| | | |
| | | /** |
| | | * çµè¯çè¡¥å¿æ¹æ³ï¼èï¼ |
| | | * |
| | | * @param subTaskId |
| | | */ |
| | | private void getSmsCompensate(Long subTaskId) { |
| | | ServiceSubtask serviceSubtask = serviceSubtaskMapper.selectServiceSubtaskById(subTaskId); |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | |
| | | serviceSubtask.setSendstate(3L); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | |
| | | //éè¦å¨servicePreachforméè®°å½ä¸ä¸çä¿¡ç¶æ |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); |
| | | serviceSubtaskPreachform.setPreachform("4"); |
| | | serviceSubtaskPreachform.setSubid(subTaskId); |
| | | serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid()); |
| | | serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid()); |
| | | List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) { |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform1 = serviceSubtaskPreachforms.get(0); |
| | | serviceSubtaskPreachform1.setSendstate("9"); |
| | | serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform1); |
| | | } else if (CollectionUtils.isEmpty(serviceSubtaskPreachforms)) { |
| | | //å¦æä¸ºç©ºçè¯ï¼è¯´æç¨æ·æ²¡æéçä¿¡åéæ¹å¼ï¼è¿ä¸ªæ¶åéè¦å¼ºå¶æ°å¢ä¸æ¡ |
| | | //è·åsortçæå¤§å¼ |
| | | ServiceSubtaskPreachform ssp = new ServiceSubtaskPreachform(); |
| | | ssp.setSubid(subTaskId); |
| | | ssp.setTaskid(serviceSubtask.getTaskid()); |
| | | ssp.setOrgid(serviceSubtask.getOrgid()); |
| | | List<ServiceSubtaskPreachform> sspf2 = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(ssp); |
| | | |
| | | serviceSubtaskPreachform.setSort(0L); |
| | | if (CollectionUtils.isNotEmpty(sspf2)) { |
| | | serviceSubtaskPreachform.setSort(Long.valueOf(sspf2.size())); |
| | | } |
| | | serviceSubtaskPreachform.setSendstate("2"); |
| | | serviceSubtaskPreachformMapper.insertServiceSubtaskPreachform(serviceSubtaskPreachform); |
| | | } |
| | | |
| | | } |
| | | |
| | | //éè¿å½åæ¶é´ï¼æåçµè¯æ»æ° |
| | |
| | | } |
| | | |
| | | public List<ServiceSubtaskCount> getSfStatisticsJoydetails(ServiceSubtaskCountReq serviceSubtaskCountReq) { |
| | | return serviceSubtaskMapper.getSfStatisticsJoydetails(serviceSubtaskCountReq); |
| | | return serviceSubtaskMapper.getSfStatisticsJoydetails(serviceSubtaskCountReq); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @param serviceSubtask |
| | | * @param preachform |
| | | * @param remark |
| | | * @param failSendstate |
| | | * @return |
| | | */ |
| | | public Boolean setFailPreachForm(ServiceSubtask serviceSubtask, String preachform, String remark, String failSendstate) { |
| | | //å°ç¶æè®¾ç½®ä¸ºå¤±è´¥ |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); |
| | | serviceSubtaskPreachform.setSubid(serviceSubtask.getId()); |
| | | serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid()); |
| | | serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid()); |
| | | //è·å该æ£è
çå鿹弿»æ° |
| | | List<ServiceSubtaskPreachform> spSize = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); |
| | | |
| | | serviceSubtaskPreachform.setPreachform(preachform); |
| | | //1:æªåéç¶æ |
| | | serviceSubtaskPreachform.setSendstate("1"); |
| | | if (preachform.equals("3")) { |
| | | //çµè¯è¿å
¥éååï¼ç¶æä¼åæ2 |
| | | serviceSubtaskPreachform.setSendstate("2"); |
| | | } |
| | | List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) { |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform1 = serviceSubtaskPreachforms.get(0); |
| | | serviceSubtaskPreachform1.setSendstate(failSendstate); |
| | | serviceSubtaskPreachform1.setRemark(remark); |
| | | serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform1); |
| | | |
| | | //妿å½åçpreachformå·²ç»æ¯æåä¸ä¸ªäºï¼é£ç´æ¥å°serviceSubtaskçsendstateç¶ææ¹æ5å°±è¡äº(å
¨å¤±è´¥äº) |
| | | if (serviceSubtaskPreachform1.getSort() == spSize.size() && failSendstate.equals("4")) { |
| | | serviceSubtask.setCurrentPreachform(preachform); |
| | | serviceSubtask.setSendstate(5L); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | serviceSubtask.setCurrentPreachform(preachform); |
| | | serviceSubtask.setSendstate(3L); |
| | | //妿çäº9ï¼å说æçµè¯æ£å¸¸ç»æäº |
| | | if (failSendstate.equals("9")) serviceSubtask.setSendstate(6L); |
| | | serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime())); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | return true; |
| | | } |
| | | |
| | | private Date getNextVisitTime(Long subid, Long taskid, Date visitTime) { |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); |
| | | serviceSubtaskPreachform.setSubid(subid); |
| | | serviceSubtaskPreachform.setTaskid(taskid); |
| | | List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) { |
| | | String compensateTime = serviceSubtaskPreachforms.get(0).getCompensateTime(); |
| | | int hoursToAdd = Integer.valueOf(compensateTime) * 24; |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(visitTime); |
| | | calendar.add(Calendar.HOUR_OF_DAY, hoursToAdd); |
| | | Date newDate = calendar.getTime(); |
| | | return newDate; |
| | | } |
| | | return visitTime; |
| | | } |
| | | } |
| | |
| | | |
| | | |
| | | @Autowired |
| | | private SvyTaskTemplateMapper svyTaskTemplateMapper; |
| | | private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper; |
| | | |
| | | @Autowired |
| | | private HeLibraryMapper heLibraryMapper; |
| | | |
| | | @Autowired |
| | | private IvrLibaTemplateScriptMapper ivrLibaTemplateScriptMapper; |
| | | @Autowired |
| | | private IvrTaskTemplateScriptMapper ivrTaskTemplateScriptMapper; |
| | | |
| | | @Autowired |
| | | private SvyLibTemplateScriptMapper svyLibTemplateScriptMapper; |
| | |
| | | @Autowired |
| | | private PatArchiveMapper patArchiveMapper; |
| | | |
| | | @Autowired |
| | | private PatMedInhospMapper patMedInhospMapper; |
| | | |
| | | @Autowired |
| | | private PatMedOuthospMapper patMedOuthospMapper; |
| | | |
| | | |
| | | @Autowired |
| | | private IvrLibaTemplateTargetoptionMapper ivrLibaTemplateTargetOptionMapper; |
| | | @Autowired |
| | | private IvrTaskTemplateTargetoptionMapper ivrTaskTemplateTargetOptionMapper; |
| | | |
| | | @Autowired |
| | | private SvyLibTemplateTargetoptionMapper svyLibTemplateTargetoptionMapper; |
| | |
| | | ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); |
| | | serviceSubtaskVO.setPatid(patid); |
| | | serviceSubtaskVO.setTaskid(taskid); |
| | | // List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); |
| | | serviceSubtaskVO.setSendstate(3L); |
| | | List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); |
| | | // //æ¥è¯¢æ£è
æ¯å¦éè¦åé¢ |
| | | // if (CollectionUtils.isEmpty(selectServiceSubtaskList)) { |
| | | // Long submit = selectServiceSubtaskList.get(0).getSubmit(); |
| | |
| | | Integer integer = serviceSubtaskMapper.selectSendstateByCondition(ss); |
| | | if (integer != null && integer != 6) { |
| | | ss.setSendstate(1L); |
| | | // ss.setResult("success"); |
| | | // ss.setFinishtime(new Date()); |
| | | serviceSubtaskMapper.updateServiceSubtaskByCondition(ss); |
| | | } |
| | | } |
| | | } |
| | | |
| | | SvyTaskTemplate svyTaskTemplate = svyTaskTemplateMapper.selectSvyTaskTemplateBySvyid(serviceTask.getTemplateid()); |
| | | if (CollectionUtils.isNotEmpty(selectServiceSubtaskList)) { |
| | | //å°å½åæ¹å¼çåéç¶ææ¹æå·²é¢å |
| | | ServiceSubtask serviceSubtask = selectServiceSubtaskList.get(0); |
| | | ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); |
| | | serviceSubtaskPreachform.setPreachform(serviceSubtask.getCurrentPreachform()); |
| | | serviceSubtaskPreachform.setSubid(serviceSubtask.getId()); |
| | | serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid()); |
| | | List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) { |
| | | ServiceSubtaskPreachform ssp = serviceSubtaskPreachforms.get(0); |
| | | ssp.setSendstate("3"); |
| | | serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(ssp); |
| | | } |
| | | } |
| | | |
| | | if (StringUtils.isNotEmpty(serviceTask.getKcb())) map.put("kcb", serviceTask.getKcb()); |
| | | map.put("script", info); |
| | | if (StringUtils.isNotEmpty(serviceTask.getJsy())) map.put("jsy", serviceTask.getJsy()); |
| | | map.put("type", serviceTask.getType()); |
| | | map.put("taskName", serviceTask.getTaskName()); |
| | | map.put("submit", "0"); |
| | | return map; |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Object> getScriptByCondition(Long taskid, String zyserialnum, String mzserialnum, String tsserialnum) { |
| | | //éè¿ä»»å¡IDè·å模æ¿ID |
| | | ServiceTask serviceTask = selectServiceTaskByTaskid(taskid); |
| | | //éè¿æ¨¡æ¿IDè·åé®é¢ä¿¡æ¯ |
| | | SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript(); |
| | | svyLibTemplateScript.setSvyid(Long.valueOf(serviceTask.getLibtemplateid())); |
| | | svyLibTemplateScript.setDelFlag("0"); |
| | | List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript); |
| | | if (CollectionUtils.isEmpty(svyLibTemplateScripts) || svyLibTemplateScripts.size() == 0) { |
| | | log.info("ivrLibaTemplateScripts为空äºï¼è¯·å°½å¿«è系管çåå¤ç"); |
| | | return null; |
| | | } |
| | | PatArchive patArchive = null; |
| | | if (StringUtils.isNotEmpty(zyserialnum)) { |
| | | PatMedInhospVO patMedInhospVO = new PatMedInhospVO(); |
| | | patMedInhospVO.setSerialnum(zyserialnum); |
| | | List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospListByCondition(patMedInhospVO); |
| | | if (CollectionUtils.isNotEmpty(patMedInhospList)) { |
| | | patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhospList.get(0).getPatid()); |
| | | } |
| | | } else if (StringUtils.isNotEmpty(mzserialnum)) { |
| | | PatMedOuthosp patMedOuthosp = new PatMedOuthosp(); |
| | | patMedOuthosp.setSerialnum(mzserialnum); |
| | | List<PatMedOuthosp> patMedOuthosps = patMedOuthospMapper.selectPatMedOuthospList(patMedOuthosp); |
| | | if (CollectionUtils.isNotEmpty(patMedOuthosps)) { |
| | | patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOuthosps.get(0).getPatid()); |
| | | } |
| | | } else if (StringUtils.isNotEmpty(tsserialnum)) { |
| | | PatArchive pa = new PatArchive(); |
| | | pa.setPatientno(tsserialnum); |
| | | List<PatArchive> patArchives = patArchiveMapper.selectPatArchiveList(pa); |
| | | if (CollectionUtils.isNotEmpty(patArchives)) patArchive = patArchives.get(0); |
| | | } |
| | | |
| | | //夿ä¸ä¸ä»å¤©æ¯å¦å·²ç»åè¿é¢ï¼åè¿å°±ä¸è®©ååäº |
| | | ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); |
| | | serviceSubtaskVO.setTaskid(taskid); |
| | | serviceSubtaskVO.setPatid(patArchive.getId()); |
| | | serviceSubtaskVO.setVisitTime(new Date()); |
| | | List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskList) && serviceSubtaskList.size() > 0) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("result", "仿¥å·²ç»åè¿æ»¡æåº¦è°æ¥ ï¼æ éåéå¤åçï¼"); |
| | | return map; |
| | | } |
| | | |
| | | List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOS = DtoConversionUtils.sourceToTarget(svyLibTemplateScripts, SvyLibTemplateScriptVO.class); |
| | | //å°æ¨¡æ¿é®é¢è¯æ¯éçéé
ç¬¦æ¿æ¢ |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | Map<String, Map<String, String>> serviceTaskMap = null; |
| | | try { |
| | | serviceTaskMap = objectMapper.readValue(serviceTask.getTextParam(), Map.class); |
| | | } catch (JsonProcessingException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | List<Map<String, String>> mapList = new ArrayList<>(); |
| | | |
| | | for (Map<String, String> map : serviceTaskMap.values()) { |
| | | mapList.add(map); |
| | | } |
| | | for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOS) { |
| | | if (StringUtils.isNotEmpty(svyLibTemplateScriptVO.getScriptContent())) { |
| | | for (Map<String, String> map : mapList) { |
| | | for (String key : map.keySet()) { |
| | | |
| | | svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : "")); |
| | | } |
| | | } |
| | | //æ¿æ¢æ£è
ä¸ªäººä¿¡æ¯æ°æ® |
| | | log.error("é®é¢idï¼{}, é®é¢å
容ï¼{}", svyLibTemplateScriptVO.getId(), svyLibTemplateScriptVO.getScriptContent()); |
| | | if (StringUtils.isNotEmpty(svyLibTemplateScriptVO.getScriptContent()) && ObjectUtils.isNotEmpty(patArchive)) { |
| | | svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : "")); |
| | | svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : "")); |
| | | svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : "")); |
| | | } |
| | | //è·åé®é¢é项 |
| | | SvyLibTemplateTargetoption svyLibTemplateTargetoption = new SvyLibTemplateTargetoption(); |
| | | svyLibTemplateTargetoption.setScriptid(svyLibTemplateScriptVO.getId()); |
| | | List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateTargetoptionMapper.selectSvyLibTemplateTargetoptionList(svyLibTemplateTargetoption); |
| | | svyLibTemplateScriptVO.setSvyLibTemplateTargetoptions(svyLibTemplateTargetoptions); |
| | | } |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("result", null); |
| | | map.put("svyLibTemplateScriptVOS", svyLibTemplateScriptVOS); |
| | | return map; |
| | | } |
| | | |
| | |
| | | */ |
| | | public List sfInfo(ServiceTask serviceTask, Long patid, String patfrom) { |
| | | //éè¿æ¨¡æ¿IDè·åé®é¢ä¿¡æ¯ |
| | | IvrLibaTemplateScript ivrLibaTemplateScript = new IvrLibaTemplateScript(); |
| | | ivrLibaTemplateScript.setTemplateid(Long.valueOf(serviceTask.getLibtemplateid())); |
| | | ivrLibaTemplateScript.setDelFlag("0"); |
| | | List<IvrLibaTemplateScript> ivrLibaTemplateScripts = ivrLibaTemplateScriptMapper.selectIvrLibaTemplateScriptList(ivrLibaTemplateScript); |
| | | if (CollectionUtils.isEmpty(ivrLibaTemplateScripts) || ivrLibaTemplateScripts.size() == 0) { |
| | | IvrTaskTemplateScript ivrTaskTemplateScript = new IvrTaskTemplateScript(); |
| | | ivrTaskTemplateScript.setTemplateID(Long.valueOf(serviceTask.getTemplateid())); |
| | | ivrTaskTemplateScript.setDelFlag("0"); |
| | | List<IvrTaskTemplateScript> ivrTaskTemplateScripts = ivrTaskTemplateScriptMapper.selectIvrTaskTemplateScriptList(ivrTaskTemplateScript); |
| | | if (CollectionUtils.isEmpty(ivrTaskTemplateScripts) || ivrTaskTemplateScripts.size() == 0) { |
| | | log.info("ivrLibaTemplateScripts为空äºï¼è¯·å°½å¿«è系管çåå¤ç"); |
| | | return new ArrayList<>(); |
| | | } |
| | | List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOS = DtoConversionUtils.sourceToTarget(ivrLibaTemplateScripts, IvrLibaTemplateScriptVO.class); |
| | | List<IvrTaskTemplateScriptVO> ivrTaskTemplateScriptVOS = DtoConversionUtils.sourceToTarget(ivrTaskTemplateScripts, IvrTaskTemplateScriptVO.class); |
| | | |
| | | //è·åæ£è
ä¿¡æ¯ |
| | | PatArchive patArchive = null; |
| | |
| | | } |
| | | |
| | | //å°æ¨¡æ¿é®é¢è¯æ¯éçéé
ç¬¦æ¿æ¢ |
| | | for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVOS) { |
| | | if (StringUtils.isNotEmpty(ivrLibaTemplateScriptVO.getScriptContent())) { |
| | | for (IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO : ivrTaskTemplateScriptVOS) { |
| | | if (StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getScriptContent())) { |
| | | for (Map<String, String> map : mapList) { |
| | | for (String key : map.keySet()) { |
| | | |
| | | ivrLibaTemplateScriptVO.setScriptContent(ivrLibaTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : "")); |
| | | ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : "")); |
| | | } |
| | | } |
| | | //æ¿æ¢æ£è
ä¸ªäººä¿¡æ¯æ°æ® |
| | | ivrLibaTemplateScriptVO.setScriptContent(ivrLibaTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : "")); |
| | | ivrLibaTemplateScriptVO.setScriptContent(ivrLibaTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : "")); |
| | | ivrLibaTemplateScriptVO.setScriptContent(ivrLibaTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : "")); |
| | | ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : "")); |
| | | ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : "")); |
| | | ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : "")); |
| | | |
| | | //è·åé®é¢é项 |
| | | IvrLibaTemplateTargetoption ivrLibaTemplateTargetoption = new IvrLibaTemplateTargetoption(); |
| | | ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScriptVO.getId()); |
| | | List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptions = ivrLibaTemplateTargetOptionMapper.selectIvrLibaTemplateTargetoptionList(ivrLibaTemplateTargetoption); |
| | | ivrLibaTemplateScriptVO.setIvrLibaScriptTargetoptionList(ivrLibaTemplateTargetoptions); |
| | | IvrTaskTemplateTargetoption ivrTaskTemplateTargetoption = new IvrTaskTemplateTargetoption(); |
| | | ivrTaskTemplateTargetoption.setScriptid(ivrTaskTemplateScriptVO.getId()); |
| | | List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = ivrTaskTemplateTargetOptionMapper.selectIvrTaskTemplateTargetoptionList(ivrTaskTemplateTargetoption); |
| | | ivrTaskTemplateScriptVO.setIvrTaskScriptTargetoptionList(ivrTaskTemplateTargetoptions); |
| | | } |
| | | } |
| | | Collections.sort(ivrLibaTemplateScriptVOS, Comparator.comparingLong(IvrLibaTemplateScriptVO::getSort)); |
| | | Collections.sort(ivrTaskTemplateScriptVOS, Comparator.comparingLong(IvrTaskTemplateScriptVO::getSort)); |
| | | |
| | | return ivrLibaTemplateScriptVOS; |
| | | return ivrTaskTemplateScriptVOS; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public List<Map<String,Object>> getList() { |
| | | List<Map<String,Object>> lists= utilsMapper.getList("select * from service_telinfo where state=0 OR DATE_ADD(editTime, INTERVAL 10 MINUTE)< NOW() "); |
| | | List<Map<String,Object>> lists= utilsMapper.getList("select * from service_telinfo where state=0 "); |
| | | return lists; |
| | | } |
| | | /** |
| | |
| | | }else if(ObjectUtils.isNotEmpty(serviceQueryInfo.getUrl360())){ |
| | | result = OkHttpExample.sendPostRequest(serviceQueryInfo.getUrl360(), jsonString, token); |
| | | } |
| | | map = objectMapper.readValue(result, Map.class); |
| | | map = objectMapper.readValue(result, Map.class); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | return map; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map focus(ServiceQueryFocus serviceQueryFocus) { |
| | | return null; |
| | |
| | | d.create_time, |
| | | d.his_dept_id, |
| | | d.his_parent_id |
| | | FROM bmxx d |
| | | FROM HEALTHY_DEPT d |
| | | |
| | | </select> |
| | | </mapper> |
| | |
| | | </if> |
| | | </where> |
| | | order by a.update_time desc |
| | | <if test="pn != null and ps != null"> limit ${pn},${ps} </if> |
| | | <if test="pn != null and ps != null">limit ${pn},${ps}</if> |
| | | |
| | | </select> |
| | | |
| | |
| | | AND NOT exists ( SELECT 1 FROM pat_filterlist f where d.patid=f.patid) |
| | | </if> |
| | | </where> |
| | | order by a.update_time desc |
| | | <if test="pn != null and ps != null"> limit ${pn},${ps} </if> |
| | | -- order by a.update_time desc |
| | | <if test="pageSize != null and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if> |
| | | |
| | | </select> |
| | | |
| | | <select id="selectPatArchiveInfoByOuthosp" parameterType="com.smartor.domain.PatArchiveReq" |
| | |
| | | AND NOT exists ( SELECT 1 FROM pat_filterlist f where d.patid=f.patid) |
| | | </if> |
| | | </where> |
| | | order by a.update_time desc |
| | | <if test="pn != null and ps != null"> limit ${pn},${ps} </if> |
| | | -- order by a.update_time desc |
| | | <if test="pageSize != null and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if> |
| | | </select> |
| | | |
| | | <select id="selectPatArchiveInfoByPhysical" parameterType="com.smartor.domain.PatArchiveReq" |
| | |
| | | AND NOT exists ( SELECT 1 FROM pat_filterlist f where d.patid=f.patid) |
| | | </if> |
| | | </where> |
| | | order by a.update_time desc |
| | | <if test="pn != null and ps != null"> limit ${pn},${ps} </if> |
| | | -- order by a.update_time desc |
| | | <if test="pageSize != null and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if> |
| | | </select> |
| | | |
| | | <select id="selectPatArchiveInfoByInhospQC" parameterType="com.smartor.domain.PatArchiveReq" |
| | |
| | | <if test="drcode != null"> |
| | | AND d.drcode = #{drcode} |
| | | </if> |
| | | <if test="cry != null and cry == 0 ">and d.endtime is null</if> |
| | | <if test="cry != null and cry == 1 ">and d.endtime is not null</if> |
| | | <if test="allhosp != null and allhosp == 1 ">and d.endtime is null</if> |
| | | <if test="allhosp != null and allhosp == 4 ">and d.endtime is not null</if> |
| | | <if test="visitno != null and visitno != ''"> |
| | | AND d.inhospno = #{visitno} |
| | | </if> |
| | |
| | | AND NOT exists ( SELECT 1 FROM pat_filterlist f where d.patid=f.patid) |
| | | </if> |
| | | </where> |
| | | order by a.id,a.update_time desc ) as tmp order by endtime desc |
| | | <if test="pn != null and ps != null"> limit ${pn},${ps} </if> |
| | | <if test="pageSize != null and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if> |
| | | ) as tmp |
| | | </select> |
| | | |
| | | <select id="selectPatArchiveInfoByOuthospQC" parameterType="com.smartor.domain.PatArchiveReq" |
| | |
| | | AND NOT exists ( SELECT 1 FROM pat_filterlist f where d.patid=f.patid) |
| | | </if> |
| | | </where> |
| | | order by a.update_time desc |
| | | <if test="pageSize != null and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if> |
| | | </select> |
| | | |
| | | <select id="selectPatArchiveInfoByPhysicalQC" parameterType="com.smartor.domain.PatArchiveReq" |
| | |
| | | AND NOT exists ( SELECT 1 FROM pat_filterlist f where d.patid=f.patid) |
| | | </if> |
| | | </where> |
| | | order by a.update_time desc |
| | | -- order by a.update_time desc |
| | | <if test="pageSize != null and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if> |
| | | </select> |
| | | </mapper> |
| | |
| | | b.out_way_name, |
| | | b.nurse_id, |
| | | b.nurse_name, |
| | | b.deptcheckFlag, |
| | | b.diagcheckFlag, |
| | | b.wardcheckFlag, |
| | | b.deptcheck_flag, |
| | | b.diagcheck_flag, |
| | | b.wardcheck_flag, |
| | | b.inhospstate, |
| | | b.patno, |
| | | b.inhospno, |
| | |
| | | b.futypecode, |
| | | b.futypedesc, |
| | | b.fuadvice, |
| | | b.fuspecialadvice |
| | | b.fuspecialadvice, |
| | | b.schemetime |
| | | FROM |
| | | pat_med_inhosp b, |
| | |
| | | concat('%', #{hospitaldistrictname}, '%') |
| | | </if> |
| | | <if test="endtime != null ">and b.endtime = #{endtime}</if> |
| | | <if test="serialnum != null ">and b.serialnum = #{serialnum}</if> |
| | | <if test="fuflag != null ">and b.fuflag = #{fuflag}</if> |
| | | <if test="nurseId != null ">and b.nurse_id = #{nurseId}</if> |
| | | <if test="nurseName != null ">and b.nurse_name = #{nurseName}</if> |
| | |
| | | #{hospitalname}, |
| | | '%') |
| | | </if> |
| | | <if test="deptcodes != null and deptcodes.size()>0"> |
| | | AND pmo.deptcode IN |
| | | <foreach collection="deptcodes" item="deptcode" open="(" separator="," |
| | | close=")"> |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | |
| | | |
| | | <if test="deptname != null and deptname != ''">and pmo.deptname like concat('%', #{deptname}, '%')</if> |
| | | <if test="drname != null and drname != ''">and pmo.drname like concat('%', #{drname}, '%')</if> |
| | | <if test="patname != null and patname != ''">and pmo.patname like concat('%', #{patname}, '%')</if> |
| | |
| | | where id = #{id} |
| | | </select> |
| | | |
| | | <insert id="insertServiceSubtaskDetail" parameterType="com.smartor.domain.ServiceSubtaskDetail"> |
| | | <insert id="insertServiceSubtaskDetail" parameterType="com.smartor.domain.ServiceSubtaskDetail" |
| | | useGeneratedKeys="true" |
| | | keyProperty="id"> |
| | | insert into service_subtask_detail |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="id != null">id,</if> |
| | |
| | | <result property="visitDeptCode" column="visit_dept_code"/> |
| | | <result property="managementDoctor" column="management_doctor"/> |
| | | <result property="managementDoctorCode" column="management_doctor_code"/> |
| | | <result property="currentPreachform" column="current_preachform"/> |
| | | </resultMap> |
| | | |
| | | <resultMap type="com.smartor.domain.ServiceSubtaskCount" id="ServiceSubtaskResult2"> |
| | |
| | | patfrom, |
| | | management_doctor, |
| | | management_doctor_code, |
| | | current_preachform, |
| | | upid, |
| | | visit_dept_name, |
| | | visit_dept_code, |
| | |
| | | management_doctor_code |
| | | from service_subtask |
| | | </sql> |
| | | |
| | | <select id="selectServiceSubtaskBySendstate" parameterType="com.smartor.domain.ServiceSubtaskVO" |
| | | resultMap="ServiceSubtaskResult"> |
| | | |
| | | <include refid="selectServiceSubtaskVo"/> |
| | | <where> |
| | | del_flag=0 |
| | | and taskid = #{taskid} |
| | | AND sendstate IN |
| | | <foreach collection="sendstates" item="sendstate" open="(" separator="," |
| | | close=")"> |
| | | #{sendstate} |
| | | </foreach> |
| | | </where> |
| | | </select> |
| | | |
| | | <select id="queryServiceSubtaskList" parameterType="com.smartor.domain.ServiceSubtaskVO" |
| | | resultMap="ServiceSubtaskResult"> |
| | | <include refid="selectServiceSubtaskVo"/> |
| | | <where> |
| | | del_flag=0 |
| | | <if test="taskid != null ">and taskid = #{taskid}</if> |
| | | <if test="visitTime != null"> |
| | | AND date_format(visit_time,'%y%m%d') <= date_format(#{visitTime},'%y%m%d') |
| | | </if> |
| | | <if test="sendstate != null ">and sendstate = #{sendstate}</if> |
| | | </where> |
| | | |
| | | </select> |
| | | |
| | | |
| | | <select id="selectServiceSubtaskList" parameterType="com.smartor.domain.ServiceSubtaskVO" |
| | | resultMap="ServiceSubtaskResult"> |
| | |
| | | </if> |
| | | </if> |
| | | |
| | | <if test="visitTime != null"> |
| | | AND date_format(visit_time,'%y%m%d') = date_format(#{visitTime},'%y%m%d') |
| | | </if> |
| | | <if test="senddate != null ">and senddate = #{senddate}</if> |
| | | <if test="senduuid != null and senduuid != ''">and senduuid = #{senduuid}</if> |
| | | <if test="result != null and result != ''">and result = #{result}</if> |
| | |
| | | <if test="orgid != null and orgid != ''">and orgid = #{orgid}</if> |
| | | <if test="pid != null ">and pid = #{pid}</if> |
| | | <if test="preachform != null ">and preachform = #{preachform}</if> |
| | | <if test="currentPreachform != null ">and current_preachform = #{currentPreachform}</if> |
| | | <if test="guid != null and guid != ''">and guid = #{guid}</if> |
| | | <if test="textParam != null and textParam != ''">and text_param = #{textParam}</if> |
| | | <if test="bedNo != null">and bed_no = #{bedNo}</if> |
| | |
| | | <if test="createBy != null">and create_by = #{createBy}</if> |
| | | <if test="taskGuid != null">and task_guid = #{taskGuid}</if> |
| | | <if test="isVisitAgain != null">and is_visit_again = #{isVisitAgain}</if> |
| | | <if test="visitTime != null">and visit_time = #{visitTime}</if> |
| | | <!-- <if test="visitTime != null">and visit_time = #{visitTime}</if> --> |
| | | <!--<if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if> |
| | | <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>--> |
| | | <if test="visitCount != null and visitCount > 1 and visitDeptCodes != null and visitDeptCodes.size() > 0"> |
| | |
| | | <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if> |
| | | <if test="managementDoctorCode != null">and management_doctor_code = #{managementDoctorCode}</if> |
| | | <if test="managementDoctor != null">and management_doctor = #{managementDoctor}</if> |
| | | <if test="currentPreachform != null">and current_preachform = #{currentPreachform}</if> |
| | | </where> |
| | | |
| | | </select> |
| | |
| | | <if test="visitTime != null ">and visit_time = #{visitTime}</if> |
| | | <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if> |
| | | <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if> |
| | | <if test="currentPreachform != null">and current_preachform = #{currentPreachform}</if> |
| | | <if test="managementDoctorCode != null">and management_doctor_code = #{managementDoctorCode}</if> |
| | | <if test="managementDoctor != null">and management_doctor like concat('%',#{managementDoctor}, '%')</if> |
| | | </where> |
| | |
| | | <if test="visitDeptName != null">visit_dept_name,</if> |
| | | <if test="managementDoctorCode != null">management_doctor_code,</if> |
| | | <if test="managementDoctor != null">management_doctor,</if> |
| | | <if test="currentPreachform != null">current_preachform,</if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="sendname != null">#{sendname},</if> |
| | |
| | | <if test="visitDeptName != null">#{visitDeptName},</if> |
| | | <if test="managementDoctorCode != null">#{managementDoctorCode},</if> |
| | | <if test="managementDoctor != null">#{managementDoctor},</if> |
| | | <if test="currentPreachform != null">#{currentPreachform},</if> |
| | | </trim> |
| | | </insert> |
| | | |
| | |
| | | <if test="visitDeptName != null">visit_dept_name = #{visitDeptName},</if> |
| | | <if test="managementDoctorCode != null">management_doctor_code = #{managementDoctorCode},</if> |
| | | <if test="managementDoctor != null">management_doctor=#{managementDoctor},</if> |
| | | <if test="currentPreachform != null">current_preachform=#{currentPreachform},</if> |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | |
| | | <if test="visitDeptName != null">visit_dept_name = #{visitDeptName},</if> |
| | | <if test="managementDoctorCode != null">management_doctor_code = #{managementDoctorCode},</if> |
| | | <if test="managementDoctor != null">management_doctor=#{managementDoctor},</if> |
| | | <if test="currentPreachform != null">current_preachform=#{currentPreachform},</if> |
| | | </trim> |
| | | <where> |
| | | <if test="patid != null ">and patid = #{patid}</if> |
| | |
| | | <if test="visitDeptName != null">visit_dept_name = #{visitDeptName},</if> |
| | | <if test="managementDoctorCode != null">management_doctor_code = #{managementDoctorCode},</if> |
| | | <if test="managementDoctor != null">management_doctor=#{managementDoctor},</if> |
| | | <if test="currentPreachform != null">current_preachform=#{currentPreachform},</if> |
| | | </trim> |
| | | where patid = #{patid} and taskid = #{taskid} |
| | | </update> |
| | |
| | | <if test="visitDeptName != null">visit_dept_name = #{visitDeptName},</if> |
| | | <if test="managementDoctorCode != null">management_doctor_code = #{managementDoctorCode},</if> |
| | | <if test="managementDoctor != null">management_doctor=#{managementDoctor},</if> |
| | | <if test="currentPreachform != null">current_preachform=#{currentPreachform},</if> |
| | | </trim> |
| | | where task_guid = #{taskGuid} and task_name = #{taskName} |
| | | </update> |
| | |
| | | openid, |
| | | sfzh, |
| | | addr, |
| | | current_preachform, |
| | | senderdetail, |
| | | type, |
| | | taskid, |
| | |
| | | DATE_FORMAT(visit_time, '%Y-%m-%d') AS timePeriod, |
| | | </otherwise> |
| | | </choose> |
| | | COUNT(CASE WHEN service_type = '2' THEN 1 END) AS dischargeFollowCount, |
| | | COUNT(CASE WHEN service_type = '3' THEN 1 END) AS outpatientFollowCount, |
| | | CASE WHEN service_type = '2' THEN 1 END AS dischargeFollowCount, |
| | | CASE WHEN service_type = '3' THEN 1 END AS outpatientFollowCount, |
| | | 0 AS pmiCount, |
| | | 0 AS pmoCount |
| | | FROM service_subtask |
| | | WHERE |
| | | del_flag = '0' |
| | | <if test="startDate != null and endDate != null"> |
| | | and date_format(visit_time,'%y%m%d') >= date_format(#{startDate},'%y%m%d') |
| | | and date_format(visit_time,'%y%m%d') <= date_format(#{endDate},'%y%m%d') |
| | | AND visit_time >= #{startDate} |
| | | AND visit_time <= DATE_ADD(#{endDate}, INTERVAL 1 DAY) |
| | | </if> |
| | | |
| | | <if test="orgid != null"> |
| | |
| | | </foreach> |
| | | </if> |
| | | |
| | | GROUP BY |
| | | <choose> |
| | | <when test="timeType == 'day'"> |
| | | DATE_FORMAT(visit_time, '%Y-%m-%d') |
| | | </when> |
| | | <when test="timeType == 'month'"> |
| | | DATE_FORMAT(visit_time, '%Y-%m') |
| | | </when> |
| | | <when test="timeType == 'year'"> |
| | | DATE_FORMAT(visit_time, '%Y') |
| | | </when> |
| | | <when test="timeType == 'week'"> |
| | | CONCAT(YEAR(visit_time), '-W', LPAD(WEEK(visit_time, 1), 2, '0')) |
| | | </when> |
| | | <otherwise> |
| | | DATE_FORMAT(visit_time, '%Y-%m-%d') |
| | | </otherwise> |
| | | </choose> |
| | | <!-- GROUP BY--> |
| | | <!-- <choose>--> |
| | | <!-- <when test="timeType == 'day'">--> |
| | | <!-- DATE_FORMAT(visit_time, '%Y-%m-%d')--> |
| | | <!-- </when>--> |
| | | <!-- <when test="timeType == 'month'">--> |
| | | <!-- DATE_FORMAT(visit_time, '%Y-%m')--> |
| | | <!-- </when>--> |
| | | <!-- <when test="timeType == 'year'">--> |
| | | <!-- DATE_FORMAT(visit_time, '%Y')--> |
| | | <!-- </when>--> |
| | | <!-- <when test="timeType == 'week'">--> |
| | | <!-- CONCAT(YEAR(visit_time), '-W', LPAD(WEEK(visit_time, 1), 2, '0'))--> |
| | | <!-- </when>--> |
| | | <!-- <otherwise>--> |
| | | <!-- DATE_FORMAT(visit_time, '%Y-%m-%d')--> |
| | | <!-- </otherwise>--> |
| | | <!-- </choose>--> |
| | | |
| | | UNION ALL |
| | | |
| | |
| | | </choose> |
| | | 0 AS dischargeFollowCount, |
| | | 0 AS outpatientFollowCount, |
| | | COUNT( patid) AS pmiCount, |
| | | 1 AS pmiCount, |
| | | 0 AS pmoCount |
| | | FROM pat_med_inhosp |
| | | WHERE del_flag = '0' |
| | | <if test="startDate != null and endDate != null"> |
| | | and date_format(endtime,'%y%m%d') >= date_format(#{startDate},'%y%m%d') |
| | | and date_format(endtime,'%y%m%d') <= date_format(#{endDate},'%y%m%d') |
| | | AND endtime >= #{startDate} |
| | | AND endtime <= DATE_ADD(#{endDate}, INTERVAL 1 DAY) |
| | | </if> |
| | | |
| | | AND inhospstate=1 |
| | |
| | | </foreach> |
| | | </if> |
| | | |
| | | GROUP BY |
| | | <choose> |
| | | <when test="timeType == 'day'"> |
| | | DATE_FORMAT(endtime, '%Y-%m-%d') |
| | | </when> |
| | | <when test="timeType == 'month'"> |
| | | DATE_FORMAT(endtime, '%Y-%m') |
| | | </when> |
| | | <when test="timeType == 'year'"> |
| | | DATE_FORMAT(endtime, '%Y') |
| | | </when> |
| | | <when test="timeType == 'week'"> |
| | | CONCAT(YEAR(endtime), '-W', LPAD(WEEK(endtime, 1), 2, '0')) |
| | | </when> |
| | | <otherwise> |
| | | DATE_FORMAT(endtime, '%Y-%m-%d') |
| | | </otherwise> |
| | | </choose> |
| | | <!-- GROUP BY--> |
| | | <!-- <choose>--> |
| | | <!-- <when test="timeType == 'day'">--> |
| | | <!-- DATE_FORMAT(endtime, '%Y-%m-%d')--> |
| | | <!-- </when>--> |
| | | <!-- <when test="timeType == 'month'">--> |
| | | <!-- DATE_FORMAT(endtime, '%Y-%m')--> |
| | | <!-- </when>--> |
| | | <!-- <when test="timeType == 'year'">--> |
| | | <!-- DATE_FORMAT(endtime, '%Y')--> |
| | | <!-- </when>--> |
| | | <!-- <when test="timeType == 'week'">--> |
| | | <!-- CONCAT(YEAR(endtime), '-W', LPAD(WEEK(endtime, 1), 2, '0'))--> |
| | | <!-- </when>--> |
| | | <!-- <otherwise>--> |
| | | <!-- DATE_FORMAT(endtime, '%Y-%m-%d')--> |
| | | <!-- </otherwise>--> |
| | | <!-- </choose>--> |
| | | |
| | | UNION ALL |
| | | |
| | |
| | | 0 AS dischargeFollowCount, |
| | | 0 AS outpatientFollowCount, |
| | | 0 AS pmiCount, |
| | | COUNT( patid) AS pmoCount |
| | | 1 AS pmoCount |
| | | FROM pat_med_outhosp |
| | | WHERE del_flag = '0' |
| | | <if test="startDate != null and endDate != null"> |
| | | and date_format(admitdate,'%y%m%d') >= date_format(#{startDate},'%y%m%d') |
| | | and date_format(admitdate,'%y%m%d') <= date_format(#{endDate},'%y%m%d') |
| | | AND admitdate >= #{startDate} |
| | | AND admitdate <= DATE_ADD(#{endDate}, INTERVAL 1 DAY) |
| | | </if> |
| | | <if test="orgid != null"> |
| | | AND orgid = #{orgid} |
| | |
| | | </foreach> |
| | | </if> |
| | | |
| | | GROUP BY |
| | | <choose> |
| | | <when test="timeType == 'day'"> |
| | | DATE_FORMAT(admitdate, '%Y-%m-%d') |
| | | </when> |
| | | <when test="timeType == 'month'"> |
| | | DATE_FORMAT(admitdate, '%Y-%m') |
| | | </when> |
| | | <when test="timeType == 'year'"> |
| | | DATE_FORMAT(admitdate, '%Y') |
| | | </when> |
| | | <when test="timeType == 'week'"> |
| | | CONCAT(YEAR(admitdate), '-W', LPAD(WEEK(admitdate, 1), 2, '0')) |
| | | </when> |
| | | <otherwise> |
| | | DATE_FORMAT(admitdate, '%Y-%m-%d') |
| | | </otherwise> |
| | | </choose> |
| | | <!-- GROUP BY--> |
| | | <!-- <choose>--> |
| | | <!-- <when test="timeType == 'day'">--> |
| | | <!-- DATE_FORMAT(admitdate, '%Y-%m-%d')--> |
| | | <!-- </when>--> |
| | | <!-- <when test="timeType == 'month'">--> |
| | | <!-- DATE_FORMAT(admitdate, '%Y-%m')--> |
| | | <!-- </when>--> |
| | | <!-- <when test="timeType == 'year'">--> |
| | | <!-- DATE_FORMAT(admitdate, '%Y')--> |
| | | <!-- </when>--> |
| | | <!-- <when test="timeType == 'week'">--> |
| | | <!-- CONCAT(YEAR(admitdate), '-W', LPAD(WEEK(admitdate, 1), 2, '0'))--> |
| | | <!-- </when>--> |
| | | <!-- <otherwise>--> |
| | | <!-- DATE_FORMAT(admitdate, '%Y-%m-%d')--> |
| | | <!-- </otherwise>--> |
| | | <!-- </choose>--> |
| | | ) AS combined_data |
| | | GROUP BY timePeriod |
| | | ORDER BY timePeriod DESC |
| | |
| | | |
| | | <select id="selectDeptByCode" parameterType="string" resultMap="SysDeptResult"> |
| | | select d.dept_id, |
| | | d.parent_id, |
| | | d.type, |
| | | d.dept_code, |
| | | d.dept_type, |
| | | d.ancestors, |
| | | d.dept_name, |
| | | d.order_num, |
| | | d.leader, |
| | | d.phone, |
| | | d.email, |
| | | d.orgid, |
| | | d.his_dept_id, |
| | | d.his_parent_id |
| | | d.status |
| | | d.parent_id, |
| | | d.type, |
| | | d.dept_code, |
| | | d.dept_type, |
| | | d.ancestors, |
| | | d.dept_name, |
| | | d.order_num, |
| | | d.leader, |
| | | d.phone, |
| | | d.email, |
| | | d.orgid, |
| | | d.his_dept_id, |
| | | d.his_parent_id, |
| | | d.status |
| | | from sys_dept d |
| | | where del_flag = 0 |
| | | and d.dept_code = #{deptCode} |
| | | <if test="deptCode != null and deptCode != ''"> |
| | | AND dept_code = #{deptCode} |
| | | </if> |
| | | <if test="orgid != null and orgid != ''"> |
| | | AND orgid = #{orgid} |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="checkDeptExistUser" parameterType="Long" resultType="int"> |
| | |
| | | |
| | | <delete id="deleteDeptById" parameterType="Long"> |
| | | update sys_dept |
| | | set del_flag = '2' |
| | | set del_flag = '1' |
| | | where dept_id = #{deptId} |
| | | </delete> |
| | | |
| | |
| | | d.orgid, |
| | | d.status as dept_status |
| | | from sys_dept d |
| | | left join sys_user_dept ud on d.dept_id = ud.dept_id |
| | | left join sys_user_dept ud on d.dept_code = ud.dept_code |
| | | where ud.user_id = #{userId} |
| | | and ud.del_flag = 0 |
| | | and d.del_flag = 0 |