|  |  | 
 |  |  | package com.ruoyi.web.component; | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson2.JSON; | 
 |  |  | import com.alibaba.fastjson2.JSONObject; | 
 |  |  | import com.fasterxml.jackson.databind.ObjectMapper; | 
 |  |  | import com.google.gson.Gson; | 
 |  |  | import com.ruoyi.common.core.redis.RedisCache; | 
 |  |  | import com.ruoyi.common.enums.ServiceFromEnum; | 
 |  |  | import com.ruoyi.common.utils.RSAPublicKeyExample; | 
 |  |  | import com.ruoyi.common.utils.StringUtils; | 
 |  |  | import com.ruoyi.common.utils.http.HttpUtils; | 
 |  |  | import com.ruoyi.web.task.PhoneTask; | 
 |  |  | import com.smartor.common.SendService; | 
 |  |  | import com.smartor.config.RobotPhoneUtils; | 
 |  |  | 
 |  |  |     @Value("${req_path}") | 
 |  |  |     private String req_path; | 
 |  |  |  | 
 |  |  |     @Value("${thirdWXUrl}") | 
 |  |  |     private String thirdWXUrl; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private IIvrTaskTemplateService ivrTaskTemplateService; | 
 |  |  |  | 
 |  |  | 
 |  |  |     private RobotPhoneUtils robotPhoneUtils; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SvyTaskMapper svyTaskMapper; | 
 |  |  |     private ServiceTaskMapper svyTaskMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SvyTaskSingleMapper svyTaskSingleMapper; | 
 |  |  |     private ServiceSubtaskMapper serviceSubtaskMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private ISvyTaskTemplateService iSvyTaskTemplateService; | 
 |  |  | 
 |  |  |             } else { | 
 |  |  |                 commonTaskcallMQ = mapper.readValue(content, CommonTaskcallMQ.class); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             if (commonTaskcallMQ.getTaskType() == 1) { | 
 |  |  |                 //é访 | 
 |  |  |                 sfHandle(commonTaskcallMQ, ip); | 
 |  |  | 
 |  |  |             } | 
 |  |  |             //å¤ç宿ï¼ç§»é¤redis | 
 |  |  |             redisCache.deleteObject(message.toString()); | 
 |  |  |             //å°ç¶ææ¹æå®æ | 
 |  |  |             ServiceTask serviceTask = new ServiceTask(); | 
 |  |  |             serviceTask.setTaskid(Long.valueOf(commonTaskcallMQ.getTaskid())); | 
 |  |  |             serviceTask.setSendState(5); | 
 |  |  |             svyTaskMapper.updateServiceTask(serviceTask); | 
 |  |  |  | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             Integer integer = redisCache.getCacheObject(commonTaskcallMQ.getTaskid().toString()); | 
 |  |  | 
 |  |  |      * @param commonTaskcallMQ | 
 |  |  |      */ | 
 |  |  |     public void sfHandle(CommonTaskcallMQ commonTaskcallMQ, String ip) { | 
 |  |  |         log.error("è¿é访äºåï¼{}", commonTaskcallMQ); | 
 |  |  |         //夿ä¸ä¸commonTaskcallMQä¸çstopstateæ¯å¦ä¸ivr_taskä¸çä¸è´ï¼ä¸ä¸è´ï¼åè¯´ææ¯æåäº | 
 |  |  |         ServiceTask ivrTask1 = ivrTaskMapper.selectServiceTaskByTaskid(commonTaskcallMQ.getTaskid()); | 
 |  |  |         if (ivrTask1.getStopState() != commonTaskcallMQ.getStopState()) { | 
 |  |  | 
 |  |  | //                IvrTaskTemplateVO ivrTaskTemplateVO1 = ivrTaskTemplateService.selectInfoByCondition(ivrTaskTemplateVO); | 
 |  |  |  | 
 |  |  |                 //éè¿ä»»å¡IDæ¿å°æ£è
ä¿¡æ¯ | 
 |  |  |                 ServiceSubtask ivrTaskcall = new ServiceSubtask(); | 
 |  |  |                 ServiceSubtaskVO ivrTaskcall = new ServiceSubtaskVO(); | 
 |  |  |                 ivrTaskcall.setTaskid(commonTaskcallMQ.getTaskid()); | 
 |  |  |                 List<ServiceSubtask> selectServiceSubtaskList = ivrTaskcallMapper.selectServiceSubtaskList(ivrTaskcall); | 
 |  |  |                 if (descByCode.equals("çµè¯")) { | 
 |  |  | 
 |  |  |                         if (commonTaskcallMQ.getSendType().equals("2")) { | 
 |  |  |                             //è¯´ææ¯ç«å³åé | 
 |  |  |                             String value = redisCache.getCacheObject("cache-0"); | 
 |  |  |                             ServiceSubtask serviceSubtask1 = new ServiceSubtask(); | 
 |  |  |                             ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO(); | 
 |  |  |                             serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid()); | 
 |  |  |                             List<ServiceSubtask> selectServiceSubtaskList1 = ivrTaskcallMapper.selectServiceSubtaskList(serviceSubtask1); | 
 |  |  |                             for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) { | 
 |  |  | 
 |  |  |                         } else { | 
 |  |  |                             //éç«å³åé | 
 |  |  |                             String value = redisCache.getCacheObject(key); | 
 |  |  |                             ServiceSubtask serviceSubtask1 = new ServiceSubtask(); | 
 |  |  |                             ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO(); | 
 |  |  |                             serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid()); | 
 |  |  |                             List<ServiceSubtask> selectServiceSubtaskList1 = ivrTaskcallMapper.selectServiceSubtaskList(serviceSubtask1); | 
 |  |  |                             for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) { | 
 |  |  | 
 |  |  |                     String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key); | 
 |  |  |                     for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { | 
 |  |  |                         String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); | 
 |  |  |                         SendMagParam sendMagParam = new SendMagParam(); | 
 |  |  |                         sendMagParam.setType("5"); | 
 |  |  |                         sendMagParam.setUrl(ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"); | 
 |  |  |                         log.info("龿¥å®æ´è·¯å¾ï¼{}", ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"); | 
 |  |  |                         //è¿ä¸ªæ¨¡æ¿IDå
åæ»ï¼åé¢åæå¯é | 
 |  |  |                         sendMagParam.setTmpCode("oG3pJHPVWpE81DmZsua_2tKwgJ97r0qz37z56ns7NB4"); | 
 |  |  |                         Map map = new HashMap(); | 
 |  |  |                         map.put("first", ivrTask1.getTaskName()); | 
 |  |  |                         sendMagParam.setContent(JSON.toJSONString(map)); | 
 |  |  |                         sendMagParam.setOpenid(serviceSubtask.getOpenid()); | 
 |  |  |                         Boolean aBoolean = sendService.sendMsg(sendMagParam); | 
 |  |  | //                        SendMagParam sendMagParam = new SendMagParam(); | 
 |  |  | //                        sendMagParam.setType("5"); | 
 |  |  | //                        sendMagParam.setUrl(ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"); | 
 |  |  | //                        log.info("龿¥å®æ´è·¯å¾ï¼{}", ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"); | 
 |  |  | //                        //è¿ä¸ªæ¨¡æ¿IDå
åæ»ï¼åé¢åæå¯é | 
 |  |  | //                        sendMagParam.setTmpCode("oG3pJHPVWpE81DmZsua_2tKwgJ97r0qz37z56ns7NB4"); | 
 |  |  | //                        Map map = new HashMap(); | 
 |  |  | //                        map.put("first", ivrTask1.getTaskName()); | 
 |  |  | //                        sendMagParam.setContent(JSON.toJSONString(map)); | 
 |  |  | //                        sendMagParam.setOpenid(serviceSubtask.getOpenid()); | 
 |  |  | //                        Boolean aBoolean = sendService.sendMsg(sendMagParam); | 
 |  |  |  | 
 |  |  |                         String url = ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"; | 
 |  |  |                         String wxCode = getWXCode(serviceSubtask.getIdcardno(), url); | 
 |  |  |  | 
 |  |  |                         //ä»»å¡åéè®°å½ | 
 |  |  |                         ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); | 
 |  |  | 
 |  |  |                         serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); | 
 |  |  |                         serviceSubtaskRecord.setPreachform("4"); | 
 |  |  |                         serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); | 
 |  |  |                         serviceSubtaskRecord.setResult(aBoolean == true ? "æå" : "失败"); | 
 |  |  |                         serviceSubtaskRecord.setResult("æå"); | 
 |  |  |                         if (wxCode.equals("0")) serviceSubtaskRecord.setResult("失败"); | 
 |  |  |                         serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  | 
 |  |  |      * @param commonTaskcallMQ | 
 |  |  |      */ | 
 |  |  |     private void xjHandle(CommonTaskcallMQ commonTaskcallMQ, String ip) { | 
 |  |  |         log.error("è¿å®£æäºåï¼{}", commonTaskcallMQ); | 
 |  |  |         //夿ä¸ä¸commonTaskcallMQä¸çstopstateæ¯å¦ä¸ivr_taskä¸çä¸è´ï¼ä¸ä¸è´ï¼åè¯´ææ¯æåäº | 
 |  |  |         ServiceTask ivrTask1 = ivrTaskMapper.selectServiceTaskByTaskid(commonTaskcallMQ.getTaskid()); | 
 |  |  |         if (ivrTask1.getStopState() != commonTaskcallMQ.getStopState()) { | 
 |  |  | 
 |  |  |                     ivrTaskTemplateVO1 = ivrTaskTemplateService.selectInfoByCondition(ivrTaskTemplateVO); | 
 |  |  |                 } | 
 |  |  |                 //éè¿ä»»å¡IDæ¿å°æ£è
ä¿¡æ¯ | 
 |  |  |                 ServiceSubtask ivrTaskcall = new ServiceSubtask(); | 
 |  |  |                 ServiceSubtaskVO ivrTaskcall = new ServiceSubtaskVO(); | 
 |  |  |                 ivrTaskcall.setTaskid(commonTaskcallMQ.getTaskid()); | 
 |  |  |                 List<ServiceSubtask> ivrTaskcalls = ivrTaskcallMapper.selectServiceSubtaskList(ivrTaskcall); | 
 |  |  |                 if (descByCode.equals("çµè¯")) { | 
 |  |  | 
 |  |  |                     String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key); | 
 |  |  |                     for (ServiceSubtask ivrTaskSingle : ivrTaskcalls) { | 
 |  |  |                         String patid = rsaPublicKeyExample.encryptedData(ivrTaskSingle.getPatid().toString(), pub_key); | 
 |  |  |                         SendMagParam sendMagParam = new SendMagParam(); | 
 |  |  |                         sendMagParam.setType("5"); | 
 |  |  |                         sendMagParam.setUrl(ip + ":" + req_path + "/outsideChainxj?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"); | 
 |  |  |                         log.info("龿¥å®æ´è·¯å¾ï¼{}", req_path + "/outsideChainxj?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"); | 
 |  |  |                         //è¿ä¸ªæ¨¡æ¿IDå
åæ»ï¼åé¢åæå¯é | 
 |  |  |                         sendMagParam.setTmpCode("oG3pJHPVWpE81DmZsua_2tKwgJ97r0qz37z56ns7NB4"); | 
 |  |  |                         Map map = new HashMap(); | 
 |  |  |                         map.put("first", ivrTask1.getTaskName()); | 
 |  |  |                         sendMagParam.setContent(JSON.toJSONString(map)); | 
 |  |  |                         sendMagParam.setOpenid(ivrTaskSingle.getOpenid()); | 
 |  |  |                         Boolean aBoolean = sendService.sendMsg(sendMagParam); | 
 |  |  | //                        SendMagParam sendMagParam = new SendMagParam(); | 
 |  |  | //                        sendMagParam.setType("5"); | 
 |  |  | //                        sendMagParam.setUrl(ip + ":" + req_path + "/outsideChainxj?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"); | 
 |  |  | //                        log.info("龿¥å®æ´è·¯å¾ï¼{}", req_path + "/outsideChainxj?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"); | 
 |  |  | //                        //è¿ä¸ªæ¨¡æ¿IDå
åæ»ï¼åé¢åæå¯é | 
 |  |  | //                        sendMagParam.setTmpCode("oG3pJHPVWpE81DmZsua_2tKwgJ97r0qz37z56ns7NB4"); | 
 |  |  | //                        Map map = new HashMap(); | 
 |  |  | //                        map.put("first", ivrTask1.getTaskName()); | 
 |  |  | //                        sendMagParam.setContent(JSON.toJSONString(map)); | 
 |  |  | //                        sendMagParam.setOpenid(ivrTaskSingle.getOpenid()); | 
 |  |  |                         //æ°åå»é¢æèªå·±çå
¬ä¼å·å鿥å£ï¼æä»¬çå
ä¸ç¨ï¼å
ä¿çï¼å
¶å®é¡¹ç®å¯ä»¥ç¨ï¼ | 
 |  |  | //                        Boolean aBoolean = sendService.sendMsg(sendMagParam); | 
 |  |  | //                        log.error("æ¯å¦åéæåï¼{}", aBoolean); | 
 |  |  |  | 
 |  |  |                         String url = ip + ":" + req_path + "/outsideChainxj?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"; | 
 |  |  |                         String wxCode = getWXCode(ivrTaskSingle.getIdcardno(), url); | 
 |  |  |                         //ä»»å¡åéè®°å½ | 
 |  |  |                         ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); | 
 |  |  |                         serviceSubtaskRecord.setTaskid(ivrTaskSingle.getTaskid().toString()); | 
 |  |  | 
 |  |  |                         serviceSubtaskRecord.setTasktype(ivrTaskSingle.getType()); | 
 |  |  |                         serviceSubtaskRecord.setPreachform("4"); | 
 |  |  |                         serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); | 
 |  |  |                         serviceSubtaskRecord.setResult(aBoolean == true ? "æå" : "失败"); | 
 |  |  |                         serviceSubtaskRecord.setResult("æå"); | 
 |  |  |                         if (!wxCode.equals("0")) { | 
 |  |  |                             serviceSubtaskRecord.setResult("失败"); | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                         serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  | 
 |  |  |      * @param commonTaskcallMQ | 
 |  |  |      */ | 
 |  |  |     private void wjHandle(CommonTaskcallMQ commonTaskcallMQ, String ip) { | 
 |  |  |         log.error("è¿é®å·äºåï¼{}", commonTaskcallMQ); | 
 |  |  |         //夿ä¸ä¸commonTaskcallMQä¸çstopstateæ¯å¦ä¸ivr_taskä¸çä¸è´ï¼ä¸ä¸è´ï¼åè¯´ææ¯æåäº | 
 |  |  |         SvyTask svyTask = svyTaskMapper.selectSvyTaskByTaskid(commonTaskcallMQ.getTaskid()); | 
 |  |  |         ServiceTask svyTask = svyTaskMapper.selectServiceTaskByTaskid(commonTaskcallMQ.getTaskid()); | 
 |  |  |         log.error("svyTask.getStopState()çå¼ä¸ºï¼{} ï¼ commonTaskcallMQ.getStopState()çå¼ä¸ºï¼{}", svyTask.getStopState(), commonTaskcallMQ.getStopState()); | 
 |  |  |  | 
 |  |  |         if (svyTask.getStopState() != commonTaskcallMQ.getStopState()) { | 
 |  |  |             //å°æ¶æ¯ä»éåä¸åé¤ | 
 |  |  |             return; | 
 |  |  | 
 |  |  |                 SvyTaskTemplateVO svyTaskTemplateVO1 = iSvyTaskTemplateService.selectInfoByCondition(svyTaskTemplateVO); | 
 |  |  |  | 
 |  |  |                 //éè¿ä»»å¡IDæ¿å°æ£è
ä¿¡æ¯ | 
 |  |  |                 SvyTaskSingle svyTaskSingle = new SvyTaskSingle(); | 
 |  |  |                 svyTaskSingle.setTaskid(commonTaskcallMQ.getTaskid()); | 
 |  |  |                 List<SvyTaskSingle> svyTaskSingles = svyTaskSingleMapper.selectSvyTaskSingleList(svyTaskSingle); | 
 |  |  |                 ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); | 
 |  |  |                 serviceSubtaskVO.setTaskid(commonTaskcallMQ.getTaskid()); | 
 |  |  |                 List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); | 
 |  |  |                 log.error("selectServiceSubtaskListæ°æ®æ¯å¤å°ï¼{}", selectServiceSubtaskList.size()); | 
 |  |  |                 if (descByCode.equals("çµè¯")) { | 
 |  |  |                     for (SvyTaskSingle svyTaskSingle1 : svyTaskSingles) { | 
 |  |  |                         SvyTask svyTask1 = svyTaskMapper.selectSvyTaskByTaskid(svyTaskSingle1.getTaskid()); | 
 |  |  |                     for (ServiceSubtask svyTaskSingle1 : selectServiceSubtaskList) { | 
 |  |  |                         ServiceTask svyTask1 = svyTaskMapper.selectServiceTaskByTaskid(svyTaskSingle1.getTaskid()); | 
 |  |  |                         if (svyTask1.getSendState() != null && svyTask1.getSendState().equals("3") || svyTask1.getSendState() != null && svyTask1.getSendState().equals("4")) { | 
 |  |  |                             //å¦ä½ä»»å¡è¢«âæåâæâç»æ¢â | 
 |  |  |                             break; | 
 |  |  | 
 |  |  |                 } else if (descByCode.equals("çä¿¡")) { | 
 |  |  |                     //çä¿¡ | 
 |  |  |                 } else if (descByCode.equals("å
¬ä¼å·")) { | 
 |  |  |                     log.error("è¿é®å·å
¬ä¼å·äºåï¼{}", descByCode); | 
 |  |  |                     //å
¬ä¼å· | 
 |  |  |                     RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); | 
 |  |  |                     String taskId = rsaPublicKeyExample.encryptedData(svyTask.getTaskid().toString(), pub_key); | 
 |  |  |                     for (SvyTaskSingle svyTaskSingle1 : svyTaskSingles) { | 
 |  |  |                     for (ServiceSubtask svyTaskSingle1 : selectServiceSubtaskList) { | 
 |  |  |                         String patid = rsaPublicKeyExample.encryptedData(svyTaskSingle1.getPatid().toString(), pub_key); | 
 |  |  |                         String url = ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + svyTask.getTaskName() + "¶m5=false"; | 
 |  |  |                         //è¿ä¸ªæ¯æä»¬èªå·±ç微信å
¬ä¼å·åéæ¹å¼ï¼ | 
 |  |  |                         SendMagParam sendMagParam = new SendMagParam(); | 
 |  |  |                         sendMagParam.setType("5"); | 
 |  |  |                         sendMagParam.setUrl(ip + ":" + req_path + "//outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + svyTask.getTaskName() + "¶m5=false"); | 
 |  |  |                         log.info("龿¥å®æ´è·¯å¾ï¼{}", req_path + "//outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + svyTask.getTaskName() + "¶m5=false"); | 
 |  |  |                         sendMagParam.setUrl(url); | 
 |  |  |                         log.info("龿¥å®æ´è·¯å¾ï¼{}", req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + svyTask.getTaskName() + "¶m5=false"); | 
 |  |  |                         //è¿ä¸ªæ¨¡æ¿IDå
åæ»ï¼åé¢åæå¯é | 
 |  |  |                         sendMagParam.setTmpCode("oG3pJHPVWpE81DmZsua_2tKwgJ97r0qz37z56ns7NB4"); | 
 |  |  |                         Map map = new HashMap(); | 
 |  |  |                         map.put("first", svyTask.getTaskName()); | 
 |  |  |                         sendMagParam.setContent(JSON.toJSONString(map)); | 
 |  |  |                         sendMagParam.setOpenid(svyTaskSingle1.getOpenid()); | 
 |  |  |                         Boolean aBoolean = sendService.sendMsg(sendMagParam); | 
 |  |  |                         log.error("åéæåäºåï¼{}", aBoolean); | 
 |  |  | //                        String wxCode = getWXCode(svyTaskSingle1.getIdcardno(), url); | 
 |  |  |  | 
 |  |  |                         //ä»»å¡åéè®°å½ | 
 |  |  |                         ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); | 
 |  |  | 
 |  |  |                         serviceSubtaskRecord.setTasktype(svyTaskSingle1.getType()); | 
 |  |  |                         serviceSubtaskRecord.setPreachform("4"); | 
 |  |  |                         serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); | 
 |  |  |                         serviceSubtaskRecord.setResult(aBoolean == true ? "æå" : "失败"); | 
 |  |  |                         serviceSubtaskRecord.setResult("æå"); | 
 |  |  | //                        if (!wxCode.equals("0")) { | 
 |  |  | //                            serviceSubtaskRecord.setResult("失败"); | 
 |  |  | //                        } | 
 |  |  |                         serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  | 
 |  |  |         return key; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private String getWXCode(String idcard, String url) { | 
 |  |  |         XinHuaWXReq xinHuaWXReq = new XinHuaWXReq(); | 
 |  |  |         xinHuaWXReq.setIdcard(idcard); | 
 |  |  |         xinHuaWXReq.setUrl(url); | 
 |  |  |         xinHuaWXReq.setKeyword1(null); | 
 |  |  |         xinHuaWXReq.setKeyword2(null); | 
 |  |  |         xinHuaWXReq.setKeyword3(null); | 
 |  |  |         xinHuaWXReq.setKeyword4(null); | 
 |  |  |         String result = HttpUtils.sendPost(thirdWXUrl, new Gson().toJson(xinHuaWXReq)); | 
 |  |  |         JSONObject jsonObject = JSONObject.parseObject(result); | 
 |  |  |         String code = (String) jsonObject.get("code"); | 
 |  |  |         return code; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  | package com.smartor.controller; | 
 |  |  | package com.ruoyi.web.controller.smartor; | 
 |  |  |  | 
 |  |  | import com.ruoyi.common.annotation.Log; | 
 |  |  | import com.ruoyi.common.core.controller.BaseController; | 
 |  |  | 
 |  |  | import com.ruoyi.common.enums.BusinessType; | 
 |  |  | import com.ruoyi.common.utils.poi.ExcelUtil; | 
 |  |  | import com.smartor.domain.PatMedInhosp; | 
 |  |  | import com.smartor.domain.PatMedReq; | 
 |  |  | import com.smartor.service.IPatMedInhospService; | 
 |  |  | import io.swagger.annotations.Api; | 
 |  |  | import io.swagger.annotations.ApiOperation; | 
 |  |  | 
 |  |  | @Api(description = "æ£è
ä½é¢è®°å½") | 
 |  |  | @RestController | 
 |  |  | @RequestMapping("/smartor/patinhosp") | 
 |  |  | public class PatMedInhospController extends BaseController | 
 |  |  | { | 
 |  |  | public class PatMedInhospController extends BaseController { | 
 |  |  |     @Autowired | 
 |  |  |     private IPatMedInhospService patMedInhospService; | 
 |  |  |  | 
 |  |  | 
 |  |  |     @ApiOperation("æ¥è¯¢æ£è
ä½é¢è®°å½å表") | 
 |  |  |     @PreAuthorize("@ss.hasPermi('smartor:patinhosp:list')") | 
 |  |  |     @PostMapping("/selectPatMedInhospList") | 
 |  |  |     public TableDataInfo selectPatMedInhosplist(@RequestBody  PatMedInhosp patMedInhosp) | 
 |  |  |     { | 
 |  |  |     public TableDataInfo selectPatMedInhosplist(@RequestBody PatMedInhosp patMedInhosp) { | 
 |  |  |         startPage(); | 
 |  |  |         List<PatMedInhosp> list = patMedInhospService.selectPatMedInhospList(patMedInhosp); | 
 |  |  |         return getDataTable(list); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @PostMapping("/getDeptCodeByPatId") | 
 |  |  |     @ApiOperation("æ¥è¯¢ä½ãåºé¢é¨é¨ç¼ç éè¿patId") | 
 |  |  |     public AjaxResult getDeptCodeByPatId(@RequestBody PatMedInhosp patMedInhosp) { | 
 |  |  |         return success(patMedInhospService.getDeptCodeByPatId(patMedInhosp)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @PostMapping("/selectPatMedInhospListCount") | 
 |  |  |     @ApiOperation("æ¥è¯¢åºãå
¥é¢çç
人次å人æ°") | 
 |  |  |     public AjaxResult selectPatMedInhospListCount(PatMedReq patMedReq) { | 
 |  |  |         return success(patMedInhospService.selectPatMedInhospListCount(patMedReq)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |     @PreAuthorize("@ss.hasPermi('smartor:patinhosp:export')") | 
 |  |  |     @Log(title = "æ£è
ä½é¢è®°å½", businessType = BusinessType.EXPORT) | 
 |  |  |     @PostMapping("/export") | 
 |  |  |     public void export(HttpServletResponse response, PatMedInhosp patMedInhosp) | 
 |  |  |     { | 
 |  |  |     public void export(HttpServletResponse response, PatMedInhosp patMedInhosp) { | 
 |  |  |         List<PatMedInhosp> list = patMedInhospService.selectPatMedInhospList(patMedInhosp); | 
 |  |  |         ExcelUtil<PatMedInhosp> util = new ExcelUtil<PatMedInhosp>(PatMedInhosp.class); | 
 |  |  |         util.exportExcel(response, list, "æ£è
ä½é¢è®°å½æ°æ®"); | 
 |  |  | 
 |  |  |     @ApiOperation("è·åæ£è
ä½é¢è®°å½è¯¦ç»ä¿¡æ¯") | 
 |  |  |     @PreAuthorize("@ss.hasPermi('smartor:patinhosp:query')") | 
 |  |  |     @GetMapping(value = "/{inhospid}") | 
 |  |  |     public AjaxResult getInfo(@PathVariable("inhospid") Long inhospid) | 
 |  |  |     { | 
 |  |  |     public AjaxResult getInfo(@PathVariable("inhospid") Long inhospid) { | 
 |  |  |         return success(patMedInhospService.selectPatMedInhospByInhospid(inhospid)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |     @PreAuthorize("@ss.hasPermi('smartor:patinhosp:add')") | 
 |  |  |     @Log(title = "æ£è
ä½é¢è®°å½", businessType = BusinessType.INSERT) | 
 |  |  |     @PostMapping("/add") | 
 |  |  |     public AjaxResult add(@RequestBody PatMedInhosp patMedInhosp) | 
 |  |  |     { | 
 |  |  |     public AjaxResult add(@RequestBody PatMedInhosp patMedInhosp) { | 
 |  |  |         return toAjax(patMedInhospService.insertPatMedInhosp(patMedInhosp)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |     @PreAuthorize("@ss.hasPermi('smartor:patinhosp:edit')") | 
 |  |  |     @Log(title = "æ£è
ä½é¢è®°å½", businessType = BusinessType.UPDATE) | 
 |  |  |     @PostMapping("/edit") | 
 |  |  |     public AjaxResult edit(@RequestBody PatMedInhosp patMedInhosp) | 
 |  |  |     { | 
 |  |  |     public AjaxResult edit(@RequestBody PatMedInhosp patMedInhosp) { | 
 |  |  |         return toAjax(patMedInhospService.updatePatMedInhosp(patMedInhosp)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |     @ApiOperation("å é¤æ£è
ä½é¢è®°å½") | 
 |  |  |     @PreAuthorize("@ss.hasPermi('smartor:patinhosp:remove')") | 
 |  |  |     @Log(title = "æ£è
ä½é¢è®°å½", businessType = BusinessType.DELETE) | 
 |  |  |     @GetMapping("/remove/{inhospids}") | 
 |  |  |     public AjaxResult remove(@PathVariable Long[] inhospids) | 
 |  |  |     { | 
 |  |  |     @GetMapping("/remove/{inhospids}") | 
 |  |  |     public AjaxResult remove(@PathVariable Long[] inhospids) { | 
 |  |  |         return toAjax(patMedInhospService.deletePatMedInhospByInhospids(inhospids)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åç§å®¤æå¡äººæ¬¡ | 
 |  |  |      * | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     @ApiOperation("åç§å®¤æå¡äººæ¬¡") | 
 |  |  |     @PostMapping("/getDeptRanking") | 
 |  |  |     public TableDataInfo getDeptRanking(@RequestBody PatMedReq patMedReq) { | 
 |  |  |         return getDataTable(patMedInhospService.getDeptRanking(patMedReq)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  | import java.util.List; | 
 |  |  | import javax.servlet.http.HttpServletResponse; | 
 |  |  |  | 
 |  |  | import com.smartor.domain.PatMedReq; | 
 |  |  | import com.smartor.domain.PatMedRes; | 
 |  |  | import io.swagger.annotations.Api; | 
 |  |  | import io.swagger.annotations.ApiImplicitParam; | 
 |  |  | import io.swagger.annotations.ApiOperation; | 
 |  |  | 
 |  |  |     @PreAuthorize("@ss.hasPermi('smartor:patouthosp:list')") | 
 |  |  |     @PostMapping("/selectPatMedOuthospList") | 
 |  |  |     @ApiOperation("æ¥è¯¢æ£è
é¨è¯è®°å½å表") | 
 |  |  |     public TableDataInfo selectPatMedOuthosplist(@RequestBody  PatMedOuthosp patMedOuthosp) { | 
 |  |  |     public TableDataInfo selectPatMedOuthosplist(@RequestBody PatMedOuthosp patMedOuthosp) { | 
 |  |  |         startPage(); | 
 |  |  |         List<PatMedOuthosp> list = patMedOuthospService.selectPatMedOuthospList(patMedOuthosp); | 
 |  |  |         return getDataTable(list); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢æ£è
é¨è¯è®°å½å表 | 
 |  |  |      */ | 
 |  |  |     @PostMapping("/selectPatMedOuthospCount") | 
 |  |  |     @ApiOperation("æ¥è¯¢é¨è¯çç
人次å人æ°") | 
 |  |  |     public AjaxResult selectPatMedOuthospCount(@RequestBody PatMedReq patMedReq) { | 
 |  |  |         PatMedRes patMedRes = patMedOuthospService.selectPatMedOuthospCount(patMedReq); | 
 |  |  |         return success(patMedRes); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @PostMapping("/getDeptCodeByPatId") | 
 |  |  |     @ApiOperation("æ¥è¯¢é¨é¨ç¼ç éè¿userId") | 
 |  |  |     public AjaxResult getDeptCodeByPatId(@RequestBody PatMedOuthosp patMedOuthosp) { | 
 |  |  |         return success(patMedOuthospService.getDeptCodeByPatId(patMedOuthosp)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å¯¼åºæ£è
é¨è¯è®°å½å表 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('smartor:patouthosp:export')") | 
 
 |  |  | 
 |  |  | import com.ruoyi.common.core.page.TableDataInfo; | 
 |  |  | import com.ruoyi.common.enums.BusinessType; | 
 |  |  | import com.ruoyi.common.utils.poi.ExcelUtil; | 
 |  |  | import com.smartor.domain.ServiceSubTaskAnswerReq; | 
 |  |  | import com.smartor.domain.ServiceSubTaskCacheReq; | 
 |  |  | import com.smartor.domain.ServiceSubTaskQueryReq; | 
 |  |  | import com.smartor.domain.ServiceSubtaskAnswer; | 
 |  |  | import com.smartor.domain.*; | 
 |  |  | import com.smartor.service.IServiceSubtaskAnswerService; | 
 |  |  | import io.swagger.annotations.Api; | 
 |  |  | import io.swagger.annotations.ApiOperation; | 
 |  |  | 
 |  |  |         return toAjax(serviceSubtaskAnswerService.saveQuestionCache(serviceSubTaskCacheReq)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @ApiOperation("è·åæ£è
é®é¢ç»æè®°å½ç¼å(å¤é¾)") | 
 |  |  |     @PostMapping("/getQuestionCache") | 
 |  |  |     public AjaxResult getQuestionCache(@RequestBody ServiceSubTaskCacheReq serviceSubTaskCacheReq) { | 
 |  |  |         return AjaxResult.success(serviceSubtaskAnswerService.getQuestionCache(serviceSubTaskCacheReq)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @ApiOperation("å»çæ¥è¯¢æ£è
é®é¢ç»æ(å¤é¾)") | 
 |  |  |     @PostMapping("/selectPatQuestionResult") | 
 
 |  |  | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:taskcall:export')") | 
 |  |  |     @Log(title = "åä¸ä»»å¡ï¼é访宣æï¼", businessType = BusinessType.EXPORT) | 
 |  |  |     @PostMapping("/export") | 
 |  |  |     public void export(HttpServletResponse response, ServiceSubtask ivrTaskcall) { | 
 |  |  |         List<ServiceSubtask> list = serviceSubtaskService.selectServiceSubtaskList(ivrTaskcall); | 
 |  |  |     public void export(HttpServletResponse response, ServiceSubtask serviceSubtask) { | 
 |  |  |         ServiceSubtaskVO serviceSubtaskVO = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtaskVO.class); | 
 |  |  |         List<ServiceSubtask> list = serviceSubtaskService.selectServiceSubtaskList(serviceSubtaskVO); | 
 |  |  |         ExcelUtil<ServiceSubtask> util = new ExcelUtil<ServiceSubtask>(ServiceSubtask.class); | 
 |  |  |         util.exportExcel(response, list, "åä¸ä»»å¡ï¼éè®¿ï¼æ°æ®"); | 
 |  |  |     } | 
 |  |  | 
 |  |  |     @PostMapping("/queryTaskByCondition") | 
 |  |  |     public AjaxResult queryTaskByCondition(@RequestBody ServiceSubtaskVO ivrTaskcallVO) { | 
 |  |  |         //æ ¹æ®å
¥åæ¥è¯¢ä¿¡æ¯ | 
 |  |  |         ServiceSubtask ivrTaskcall = DtoConversionUtils.sourceToTarget(ivrTaskcallVO, ServiceSubtask.class); | 
 |  |  |         ServiceTaskVO ivrTaskVO = serviceSubtaskService.queryTaskByCondition(ivrTaskcall); | 
 |  |  |         ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(ivrTaskcallVO, ServiceSubtask.class); | 
 |  |  |         ServiceTaskVO ivrTaskVO = serviceSubtaskService.queryTaskByCondition(serviceSubtask); | 
 |  |  |         return success(ivrTaskVO); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |         return toAjax(serviceSubtaskService.saveQuestionAnswerPhone(serviceSubTaskDetailReq)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è·åæ¯ä¸ªæçé访ãå¤è¯é | 
 |  |  |      */ | 
 |  |  |     @ApiOperation("è·åæ¯ä¸ªæçé访ãå¤è¯é") | 
 |  |  |     @PostMapping("/getSfFzInfoEveryMonth") | 
 |  |  |     public TableDataInfo getSfFzInfoEveryMonth(@RequestBody ServiceSubtaskCountReq serviceSubtaskCountReq) { | 
 |  |  |         return getDataTable(serviceSubtaskService.getSfFzInfoEveryMonth(serviceSubtaskCountReq)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  | import com.ruoyi.common.utils.DtoConversionUtils; | 
 |  |  | import com.ruoyi.common.utils.PageUtils; | 
 |  |  | import com.ruoyi.common.utils.RSAPublicKeyExample; | 
 |  |  | import com.ruoyi.common.utils.StringUtils; | 
 |  |  | import com.ruoyi.common.utils.poi.ExcelUtil; | 
 |  |  | import com.smartor.domain.*; | 
 |  |  | import com.smartor.service.IServiceSubtaskService; | 
 |  |  | 
 |  |  | import org.springframework.web.bind.annotation.*; | 
 |  |  |  | 
 |  |  | import javax.servlet.http.HttpServletResponse; | 
 |  |  | import java.net.URLDecoder; | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.stream.Collectors; | 
 |  |  |  | 
 |  |  | 
 |  |  |     @Value("${pri_key}") | 
 |  |  |     private String pri_key; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private RSAPublicKeyExample rsaPublicKeyExample; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢è¯é³ä»»å¡å表 | 
 |  |  |      */ | 
 |  |  | 
 |  |  |  | 
 |  |  |         if (CollectionUtils.isNotEmpty(serviceTaskVOS)) { | 
 |  |  |             for (ServiceTaskVO ServiceTaskVO : serviceTaskVOS) { | 
 |  |  |                 ServiceSubtask ServiceTaskcall = new ServiceSubtask(); | 
 |  |  |                 ServiceSubtaskVO ServiceTaskcall = new ServiceSubtaskVO(); | 
 |  |  |                 ServiceTaskcall.setTaskid(ServiceTaskVO.getTaskid()); | 
 |  |  |                 List<ServiceSubtask> ServiceTaskcalls = iServiceTaskCallService.selectServiceSubtaskList(ServiceTaskcall); | 
 |  |  |                 if (CollectionUtils.isNotEmpty(ServiceTaskcalls)) { | 
 |  |  | 
 |  |  |     @ApiOperation("å é¤ä»»å¡(å
æ¬å®å¯¹åºçæ£è
ä¿¡æ¯)") | 
 |  |  |     @PreAuthorize("@ss.hasPermi('smartor:ServiceTask:remove')") | 
 |  |  |     @Log(title = "è¯é³ä»»å¡", businessType = BusinessType.DELETE) | 
 |  |  |     @GetMapping("/remove/{removeTask}") | 
 |  |  |     public AjaxResult removeTask(@PathVariable Long taskId) { | 
 |  |  |         return toAjax(serviceTaskService.deleteServiceTaskByTaskid(taskId)); | 
 |  |  |     @GetMapping("/remove/{taskId}") | 
 |  |  |     public AjaxResult removeTask(@PathVariable("taskId") String taskId) { | 
 |  |  |         if (StringUtils.isEmpty(taskId)) { | 
 |  |  |             AjaxResult.error("å
¥åä¸è½ä¸ºç©º"); | 
 |  |  |         } | 
 |  |  |         Long tid = Long.valueOf(taskId); | 
 |  |  |         return toAjax(serviceTaskService.deleteServiceTaskByTaskid(tid)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     @ApiOperation("éè¿ä»»å¡ID忣è
IDè·åå个人çé¢ç®ä¿¡æ¯") | 
 |  |  |     @PostMapping("/getScriptInfoByCondition") | 
 |  |  |     public TableDataInfo getScriptInfoByCondition(@RequestBody ServiceTaskScriptQues serviceTaskScriptQues) { | 
 |  |  |         RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); | 
 |  |  |         Long tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceTaskScriptQues.getParam1(), pri_key)); | 
 |  |  |         Long pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceTaskScriptQues.getParam2(), pri_key)); | 
 |  |  |     public AjaxResult getScriptInfoByCondition(@RequestBody ServiceTaskScriptQues serviceTaskScriptQues) { | 
 |  |  |         Long tid = null; | 
 |  |  |         Long pid = null; | 
 |  |  |         log.info("getScriptInfoByConditionå
¥å为ï¼{}", serviceTaskScriptQues); | 
 |  |  |         try { | 
 |  |  | //            tid = Long.valueOf(rsaPublicKeyExample.decryptedData(URLDecoder.decode(serviceTaskScriptQues.getParam1(), "UTF-8"), pri_key)); | 
 |  |  | //            pid = Long.valueOf(rsaPublicKeyExample.decryptedData(URLDecoder.decode(serviceTaskScriptQues.getParam2(), "UTF-8"), pri_key)); | 
 |  |  |             tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceTaskScriptQues.getParam1(), pri_key)); | 
 |  |  |             pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceTaskScriptQues.getParam2(), pri_key)); | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             log.error("getScriptInfoByConditionæ¥éäºï¼{}", e.getMessage()); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         log.info("tidåpidçå¼ä¸ºï¼{},{}", tid, pid); | 
 |  |  |         return getDataTable(serviceTaskService.getScriptInfoByCondition(tid, pid)); | 
 |  |  |         return success(serviceTaskService.getScriptInfoByCondition(tid, pid)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  | import com.ruoyi.common.utils.RSAPublicKeyExample; | 
 |  |  | import com.ruoyi.common.utils.poi.ExcelUtil; | 
 |  |  | import com.smartor.domain.*; | 
 |  |  | import com.smartor.service.IServiceSubtaskService; | 
 |  |  | import com.smartor.service.ISvyTaskService; | 
 |  |  | import com.smartor.service.ISvyTaskSingleService; | 
 |  |  | import io.swagger.annotations.Api; | 
 |  |  | 
 |  |  | public class SvyTaskController extends BaseController { | 
 |  |  |     @Autowired | 
 |  |  |     private ISvyTaskService svyTaskService; | 
 |  |  | // | 
 |  |  | //    @Autowired | 
 |  |  | //    private ISvyTaskSingleService iSvyTaskSingleService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private ISvyTaskSingleService iSvyTaskSingleService; | 
 |  |  |     private IServiceSubtaskService serviceSubtaskService; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Value("${pub_key}") | 
 |  |  |     private String pub_key; | 
 |  |  | 
 |  |  |         List<SvyTaskVO> svyTaskVOS = DtoConversionUtils.sourceToTarget(list, SvyTaskVO.class); | 
 |  |  |         if (CollectionUtils.isNotEmpty(svyTaskVOS)) { | 
 |  |  |             for (SvyTaskVO svyTaskVO : svyTaskVOS) { | 
 |  |  |                 SvyTaskSingle svyTaskSingle = new SvyTaskSingle(); | 
 |  |  |                 svyTaskSingle.setTaskid(svyTaskVO.getTaskid()); | 
 |  |  |                 List<SvyTaskSingle> svyTaskSingles = iSvyTaskSingleService.selectSvyTaskSingleList(svyTaskSingle); | 
 |  |  |                 ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); | 
 |  |  |                 serviceSubtaskVO.setTaskid(svyTaskVO.getTaskid()); | 
 |  |  |                 List<ServiceSubtask> svyTaskSingles = serviceSubtaskService.selectServiceSubtaskList(serviceSubtaskVO); | 
 |  |  |                 if (CollectionUtils.isNotEmpty(svyTaskSingles)) { | 
 |  |  |                     //å·²åé | 
 |  |  |                     long yfs = svyTaskSingles.stream().filter(svyTaskcall1 -> svyTaskcall1.getSendstate() != null && svyTaskcall1.getSendstate() == 3L).collect(Collectors.toList()).stream().count(); | 
 
 |  |  | 
 |  |  |  * @author ruoyi | 
 |  |  |  * @date 2024-06-12 | 
 |  |  |  */ | 
 |  |  | @Api(description = "åä¸ä»»å¡ï¼é®å·ï¼") | 
 |  |  | @Api(description = "åä¸ä»»å¡ï¼é®å·ï¼(å·²ç»æ¢æservice_subtask)") | 
 |  |  | @RestController | 
 |  |  | @RequestMapping("/smartor/svysingle") | 
 |  |  | public class SvyTaskSingleController extends BaseController { | 
 |  |  |     @Autowired | 
 |  |  |     private ISvyTaskSingleService svyTaskSingleService; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢åä¸ä»»å¡ï¼é®å·ï¼å表 | 
 |  |  |      */ | 
 |  |  |     @ApiOperation("æ¥è¯¢åä¸ä»»å¡ï¼é®å·ï¼å表") | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:single:list')") | 
 |  |  |     @GetMapping("/list") | 
 |  |  |     public TableDataInfo list(SvyTaskSingle svyTaskSingle) { | 
 |  |  |         startPage(); | 
 |  |  |         List<SvyTaskSingle> list = svyTaskSingleService.selectSvyTaskSingleList(svyTaskSingle); | 
 |  |  |         return getDataTable(list); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å¯¼åºåä¸ä»»å¡ï¼é®å·ï¼å表 | 
 |  |  |      */ | 
 |  |  |     @ApiOperation("导åºåä¸ä»»å¡ï¼é®å·ï¼å表") | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:single:export')") | 
 |  |  |     @Log(title = "åä¸ä»»å¡ï¼é®å·ï¼", businessType = BusinessType.EXPORT) | 
 |  |  |     @PostMapping("/export") | 
 |  |  |     public void export(HttpServletResponse response, SvyTaskSingle svyTaskSingle) { | 
 |  |  |         List<SvyTaskSingle> list = svyTaskSingleService.selectSvyTaskSingleList(svyTaskSingle); | 
 |  |  |         ExcelUtil<SvyTaskSingle> util = new ExcelUtil<SvyTaskSingle>(SvyTaskSingle.class); | 
 |  |  |         util.exportExcel(response, list, "åä¸ä»»å¡ï¼é®å·ï¼æ°æ®"); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è·ååä¸ä»»å¡ï¼é®å·ï¼è¯¦ç»ä¿¡æ¯ | 
 |  |  |      */ | 
 |  |  |     @ApiOperation("è·ååä¸ä»»å¡ï¼é®å·ï¼è¯¦ç»ä¿¡æ¯") | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:single:query')") | 
 |  |  |     @GetMapping(value = "/getInfo/{id}") | 
 |  |  |     public AjaxResult getInfo(@PathVariable("id") Long id) { | 
 |  |  |         return success(svyTaskSingleService.selectSvyTaskSingleById(id)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°å¢åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      */ | 
 |  |  |     @ApiOperation("æ°å¢åä¸ä»»å¡ï¼é®å·ï¼") | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:single:add')") | 
 |  |  |     @Log(title = "åä¸ä»»å¡ï¼é®å·ï¼", businessType = BusinessType.INSERT) | 
 |  |  |     @PostMapping("/add") | 
 |  |  |     public AjaxResult add(@RequestBody SvyTaskSingle svyTaskSingle) { | 
 |  |  |         return toAjax(svyTaskSingleService.insertSvyTaskSingle(svyTaskSingle)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä¿®æ¹åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      */ | 
 |  |  |     @ApiOperation("ä¿®æ¹åä¸ä»»å¡ï¼é®å·ï¼") | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:single:edit')") | 
 |  |  |     @Log(title = "åä¸ä»»å¡ï¼é®å·ï¼", businessType = BusinessType.UPDATE) | 
 |  |  |     @PostMapping("/edit") | 
 |  |  |     public AjaxResult edit(@RequestBody SvyTaskSingle svyTaskSingle) { | 
 |  |  |         return toAjax(svyTaskSingleService.updateSvyTaskSingle(svyTaskSingle)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å é¤åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      */ | 
 |  |  |     @ApiOperation(" å é¤åä¸ä»»å¡ï¼é®å·ï¼") | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:single:remove')") | 
 |  |  |     @Log(title = "åä¸ä»»å¡ï¼é®å·ï¼", businessType = BusinessType.DELETE) | 
 |  |  |     @GetMapping("/remove/{ids}") | 
 |  |  |     public AjaxResult remove(@PathVariable Long[] ids) { | 
 |  |  |         return toAjax(svyTaskSingleService.deleteSvyTaskSingleByIds(ids)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°å¢æä¿®æ¹å é¤é®å·ä»»å¡ | 
 |  |  | 
 |  |  |         LoginUser loginUser = getLoginUser(); | 
 |  |  |         SysUser user = loginUser.getUser(); | 
 |  |  |         svyTaskVO.setCreateBy(user.getNickName()); | 
 |  |  |         return toAjax(svyTaskSingleService.insertOrUpdateSvyTask(svyTaskVO)); | 
 |  |  |         ServiceTaskVO serviceTaskVO = DtoConversionUtils.sourceToTarget(svyTaskVO, ServiceTaskVO.class); | 
 |  |  |         return toAjax(svyTaskSingleService.insertOrUpdateSvyTask(serviceTaskVO)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |     @PostMapping("/queryTaskByCondition") | 
 |  |  |     public AjaxResult queryTaskByCondition(@RequestBody SvyTaskSingleVO svyTaskSingleVO) { | 
 |  |  |         //æ ¹æ®å
¥åæ¥è¯¢ä¿¡æ¯ | 
 |  |  |         SvyTaskSingle svyTaskSingle = DtoConversionUtils.sourceToTarget(svyTaskSingleVO, SvyTaskSingle.class); | 
 |  |  |         SvyTaskVO svyTaskVO = svyTaskSingleService.queryTaskByCondition(svyTaskSingle); | 
 |  |  |         ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(svyTaskSingleVO, ServiceSubtask.class); | 
 |  |  |         ServiceTaskVO svyTaskVO = svyTaskSingleService.queryTaskByCondition(serviceSubtask); | 
 |  |  |         return success(svyTaskVO); | 
 |  |  |     } | 
 |  |  | } | 
 
 |  |  | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * é¨é¨ä¿¡æ¯ | 
 |  |  |  *  | 
 |  |  |  * | 
 |  |  |  * @author ruoyi | 
 |  |  |  */ | 
 |  |  | @Api(description = "é¨é¨ä¿¡æ¯") | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     @ApiOperation("æ ¹æ®é¨é¨ç¼å·è·å详ç»ä¿¡æ¯") | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:dept:query')") | 
 |  |  |     @GetMapping(value = "/getInfo/{deptId}") | 
 |  |  |     @GetMapping("/getInfo/{deptId}") | 
 |  |  |     public AjaxResult getInfo(@PathVariable Long deptId) | 
 |  |  |     { | 
 |  |  |         deptService.checkDeptDataScope(deptId); | 
 
 |  |  | 
 |  |  |  */ | 
 |  |  | @RestController | 
 |  |  | @RequestMapping("/system/user") | 
 |  |  | public class SysUserController extends BaseController | 
 |  |  | { | 
 |  |  | public class SysUserController extends BaseController { | 
 |  |  |     @Autowired | 
 |  |  |     private ISysUserService userService; | 
 |  |  |  | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:user:list')") | 
 |  |  |     @GetMapping("/list") | 
 |  |  |     public TableDataInfo list(SysUser user) | 
 |  |  |     { | 
 |  |  |     public TableDataInfo list(SysUser user) { | 
 |  |  |         startPage(); | 
 |  |  |         List<SysUser> list = userService.selectUserList(user); | 
 |  |  |         return getDataTable(list); | 
 |  |  | 
 |  |  |     @Log(title = "ç¨æ·ç®¡ç", businessType = BusinessType.EXPORT) | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:user:export')") | 
 |  |  |     @PostMapping("/export") | 
 |  |  |     public void export(HttpServletResponse response, SysUser user) | 
 |  |  |     { | 
 |  |  |     public void export(HttpServletResponse response, SysUser user) { | 
 |  |  |         List<SysUser> list = userService.selectUserList(user); | 
 |  |  |         ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); | 
 |  |  |         util.exportExcel(response, list, "ç¨æ·æ°æ®"); | 
 |  |  | 
 |  |  |     @Log(title = "ç¨æ·ç®¡ç", businessType = BusinessType.IMPORT) | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:user:import')") | 
 |  |  |     @PostMapping("/importData") | 
 |  |  |     public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception | 
 |  |  |     { | 
 |  |  |     public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { | 
 |  |  |         ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); | 
 |  |  |         List<SysUser> userList = util.importExcel(file.getInputStream()); | 
 |  |  |         String operName = getUsername(); | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @PostMapping("/importTemplate") | 
 |  |  |     public void importTemplate(HttpServletResponse response) | 
 |  |  |     { | 
 |  |  |     public void importTemplate(HttpServletResponse response) { | 
 |  |  |         ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); | 
 |  |  |         util.importTemplateExcel(response, "ç¨æ·æ°æ®"); | 
 |  |  |     } | 
 |  |  | 
 |  |  |      * æ ¹æ®ç¨æ·ç¼å·è·å详ç»ä¿¡æ¯ | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:user:query')") | 
 |  |  |     @GetMapping(value = { "/", "/{userId}" }) | 
 |  |  |     public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) | 
 |  |  |     { | 
 |  |  |     @GetMapping("/getInfo/{userId}") | 
 |  |  |     public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) { | 
 |  |  |         userService.checkUserDataScope(userId); | 
 |  |  |         AjaxResult ajax = AjaxResult.success(); | 
 |  |  |         List<SysRole> roles = roleService.selectRoleAll(); | 
 |  |  |         ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); | 
 |  |  |         ajax.put("posts", postService.selectPostAll()); | 
 |  |  |         if (StringUtils.isNotNull(userId)) | 
 |  |  |         { | 
 |  |  |         if (StringUtils.isNotNull(userId)) { | 
 |  |  |             SysUser sysUser = userService.selectUserById(userId); | 
 |  |  |             ajax.put(AjaxResult.DATA_TAG, sysUser); | 
 |  |  |             ajax.put("postIds", postService.selectPostListByUserId(userId)); | 
 |  |  | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:user:add')") | 
 |  |  |     @Log(title = "ç¨æ·ç®¡ç", businessType = BusinessType.INSERT) | 
 |  |  |     @PostMapping("/add") | 
 |  |  |     public AjaxResult add(@Validated @RequestBody SysUser user) | 
 |  |  |     { | 
 |  |  |         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) | 
 |  |  |         { | 
 |  |  |     public AjaxResult add(@Validated @RequestBody SysUser user) { | 
 |  |  |         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) { | 
 |  |  |             return error("æ°å¢ç¨æ·'" + user.getUserName() + "'失败ï¼ç»å½è´¦å·å·²åå¨"); | 
 |  |  |         } | 
 |  |  |         else if (StringUtils.isNotEmpty(user.getPhonenumber()) | 
 |  |  |                 && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) | 
 |  |  |         { | 
 |  |  |         } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) { | 
 |  |  |             return error("æ°å¢ç¨æ·'" + user.getUserName() + "'å¤±è´¥ï¼ææºå·ç å·²åå¨"); | 
 |  |  |         } | 
 |  |  |         else if (StringUtils.isNotEmpty(user.getEmail()) | 
 |  |  |                 && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) | 
 |  |  |         { | 
 |  |  |         } else if (StringUtils.isNotEmpty(user.getEmail()) && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) { | 
 |  |  |             return error("æ°å¢ç¨æ·'" + user.getUserName() + "'失败ï¼é®ç®±è´¦å·å·²åå¨"); | 
 |  |  |         } | 
 |  |  |         user.setCreateBy(getUsername()); | 
 |  |  | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:user:edit')") | 
 |  |  |     @Log(title = "ç¨æ·ç®¡ç", businessType = BusinessType.UPDATE) | 
 |  |  |     @PostMapping("/edit") | 
 |  |  |     public AjaxResult edit(@Validated @RequestBody SysUser user) | 
 |  |  |     { | 
 |  |  |     public AjaxResult edit(@Validated @RequestBody SysUser user) { | 
 |  |  |         userService.checkUserAllowed(user); | 
 |  |  |         userService.checkUserDataScope(user.getUserId()); | 
 |  |  |         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) | 
 |  |  |         { | 
 |  |  |         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) { | 
 |  |  |             return error("ä¿®æ¹ç¨æ·'" + user.getUserName() + "'失败ï¼ç»å½è´¦å·å·²åå¨"); | 
 |  |  |         } | 
 |  |  |         else if (StringUtils.isNotEmpty(user.getPhonenumber()) | 
 |  |  |                 && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) | 
 |  |  |         { | 
 |  |  |         } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) { | 
 |  |  |             return error("ä¿®æ¹ç¨æ·'" + user.getUserName() + "'å¤±è´¥ï¼ææºå·ç å·²åå¨"); | 
 |  |  |         } | 
 |  |  |         else if (StringUtils.isNotEmpty(user.getEmail()) | 
 |  |  |                 && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) | 
 |  |  |         { | 
 |  |  |         } else if (StringUtils.isNotEmpty(user.getEmail()) && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) { | 
 |  |  |             return error("ä¿®æ¹ç¨æ·'" + user.getUserName() + "'失败ï¼é®ç®±è´¦å·å·²åå¨"); | 
 |  |  |         } | 
 |  |  |         user.setUpdateBy(getUsername()); | 
 |  |  | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:user:remove')") | 
 |  |  |     @Log(title = "ç¨æ·ç®¡ç", businessType = BusinessType.DELETE) | 
 |  |  |     @GetMapping("/remove/{userIds}") | 
 |  |  |     public AjaxResult remove(@PathVariable Long[] userIds) | 
 |  |  |     { | 
 |  |  |         if (ArrayUtils.contains(userIds, getUserId())) | 
 |  |  |         { | 
 |  |  |     public AjaxResult remove(@PathVariable Long[] userIds) { | 
 |  |  |         if (ArrayUtils.contains(userIds, getUserId())) { | 
 |  |  |             return error("å½åç¨æ·ä¸è½å é¤"); | 
 |  |  |         } | 
 |  |  |         return toAjax(userService.deleteUserByIds(userIds)); | 
 |  |  | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:user:resetPwd')") | 
 |  |  |     @Log(title = "ç¨æ·ç®¡ç", businessType = BusinessType.UPDATE) | 
 |  |  |     @PostMapping("/resetPwd") | 
 |  |  |     public AjaxResult resetPwd(@RequestBody SysUser user) | 
 |  |  |     { | 
 |  |  |     public AjaxResult resetPwd(@RequestBody SysUser user) { | 
 |  |  |         userService.checkUserAllowed(user); | 
 |  |  |         userService.checkUserDataScope(user.getUserId()); | 
 |  |  |         user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); | 
 |  |  | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:user:edit')") | 
 |  |  |     @Log(title = "ç¨æ·ç®¡ç", businessType = BusinessType.UPDATE) | 
 |  |  |     @PostMapping("/changeStatus") | 
 |  |  |     public AjaxResult changeStatus(@RequestBody SysUser user) | 
 |  |  |     { | 
 |  |  |     public AjaxResult changeStatus(@RequestBody SysUser user) { | 
 |  |  |         userService.checkUserAllowed(user); | 
 |  |  |         userService.checkUserDataScope(user.getUserId()); | 
 |  |  |         user.setUpdateBy(getUsername()); | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:user:query')") | 
 |  |  |     @GetMapping("/authRole/{userId}") | 
 |  |  |     public AjaxResult authRole(@PathVariable("userId") Long userId) | 
 |  |  |     { | 
 |  |  |     public AjaxResult authRole(@PathVariable("userId") Long userId) { | 
 |  |  |         AjaxResult ajax = AjaxResult.success(); | 
 |  |  |         SysUser user = userService.selectUserById(userId); | 
 |  |  |         List<SysRole> roles = roleService.selectRolesByUserId(userId); | 
 |  |  | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:user:edit')") | 
 |  |  |     @Log(title = "ç¨æ·ç®¡ç", businessType = BusinessType.GRANT) | 
 |  |  |     @PostMapping("/authRole") | 
 |  |  |     public AjaxResult insertAuthRole(Long userId, Long[] roleIds) | 
 |  |  |     { | 
 |  |  |     public AjaxResult insertAuthRole(Long userId, Long[] roleIds) { | 
 |  |  |         userService.checkUserDataScope(userId); | 
 |  |  |         userService.insertUserAuth(userId, roleIds); | 
 |  |  |         return success(); | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('system:user:list')") | 
 |  |  |     @GetMapping("/deptTree") | 
 |  |  |     public AjaxResult deptTree(SysDept dept) | 
 |  |  |     { | 
 |  |  |     public AjaxResult deptTree(SysDept dept) { | 
 |  |  |         return success(deptService.selectDeptTreeList(dept)); | 
 |  |  |     } | 
 |  |  | } | 
 
| ¶Ô±ÈÐÂÎļþ | 
 |  |  | 
 |  |  | package com.ruoyi.web.controller.system; | 
 |  |  |  | 
 |  |  | import com.ruoyi.common.annotation.Log; | 
 |  |  | import com.ruoyi.common.core.controller.BaseController; | 
 |  |  | import com.ruoyi.common.core.domain.AjaxResult; | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysUserDept; | 
 |  |  | import com.ruoyi.common.core.page.TableDataInfo; | 
 |  |  | import com.ruoyi.common.enums.BusinessType; | 
 |  |  | import com.ruoyi.common.utils.poi.ExcelUtil; | 
 |  |  | import com.ruoyi.system.service.ISysUserDeptService; | 
 |  |  | import io.swagger.annotations.Api; | 
 |  |  | import io.swagger.annotations.ApiOperation; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.security.access.prepost.PreAuthorize; | 
 |  |  | import org.springframework.web.bind.annotation.*; | 
 |  |  |  | 
 |  |  | import javax.servlet.http.HttpServletResponse; | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * ã请填ååè½åç§°ãController | 
 |  |  |  * | 
 |  |  |  * @author lihu | 
 |  |  |  * @date 2024-08-29 | 
 |  |  |  */ | 
 |  |  | @Api("ã请填ååè½åç§°ã") | 
 |  |  | @RestController | 
 |  |  | @RequestMapping("/smartor/userdept") | 
 |  |  | public class SysUserDeptController extends BaseController | 
 |  |  | { | 
 |  |  |     @Autowired | 
 |  |  |     private ISysUserDeptService sysUserDeptService; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢ã请填ååè½åç§°ãå表 | 
 |  |  |      */ | 
 |  |  |     @ApiOperation("æ¥è¯¢ã请填ååè½åç§°ãå表") | 
 |  |  |     @PreAuthorize("@ss.hasPermi('smartor:dept:list')") | 
 |  |  |     @GetMapping("/list") | 
 |  |  |     public TableDataInfo list(SysUserDept sysUserDept) | 
 |  |  |     { | 
 |  |  |         startPage(); | 
 |  |  |         List<SysUserDept> list = sysUserDeptService.selectSysUserDeptList(sysUserDept); | 
 |  |  |         return getDataTable(list); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å¯¼åºã请填ååè½åç§°ãå表 | 
 |  |  |      */ | 
 |  |  |     @ApiOperation("导åºã请填ååè½åç§°ãå表") | 
 |  |  |     @PreAuthorize("@ss.hasPermi('smartor:dept:export')") | 
 |  |  |     @Log(title = "ã请填ååè½åç§°ã", businessType = BusinessType.EXPORT) | 
 |  |  |     @PostMapping("/export") | 
 |  |  |     public void export(HttpServletResponse response, SysUserDept sysUserDept) | 
 |  |  |     { | 
 |  |  |         List<SysUserDept> list = sysUserDeptService.selectSysUserDeptList(sysUserDept); | 
 |  |  |         ExcelUtil<SysUserDept> util = new ExcelUtil<SysUserDept>(SysUserDept.class); | 
 |  |  |         util.exportExcel(response, list, "ã请填ååè½åç§°ãæ°æ®"); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è·åã请填ååè½åç§°ã详ç»ä¿¡æ¯ | 
 |  |  |      */ | 
 |  |  |     @ApiOperation("è·åã请填ååè½åç§°ã详ç»ä¿¡æ¯") | 
 |  |  |     @PreAuthorize("@ss.hasPermi('smartor:dept:query')") | 
 |  |  |     @GetMapping(value = "/getInfo/{id}") | 
 |  |  |     public AjaxResult getInfo(@PathVariable("id") Long id) | 
 |  |  |     { | 
 |  |  |         return success(sysUserDeptService.selectSysUserDeptById(id)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°å¢ã请填ååè½åç§°ã | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('smartor:dept:add')") | 
 |  |  |     @Log(title = "ã请填ååè½åç§°ã", businessType = BusinessType.INSERT) | 
 |  |  |     @PostMapping("/add") | 
 |  |  |     public AjaxResult add(@RequestBody SysUserDept sysUserDept) | 
 |  |  |     { | 
 |  |  |         return toAjax(sysUserDeptService.insertSysUserDept(sysUserDept)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä¿®æ¹ã请填ååè½åç§°ã | 
 |  |  |      */ | 
 |  |  |     @ApiOperation("ä¿®æ¹ã请填ååè½åç§°ã") | 
 |  |  |     @PreAuthorize("@ss.hasPermi('smartor:dept:edit')") | 
 |  |  |     @Log(title = "ã请填ååè½åç§°ã", businessType = BusinessType.UPDATE) | 
 |  |  |     @PostMapping("/edit") | 
 |  |  |     public AjaxResult edit(@RequestBody SysUserDept sysUserDept) | 
 |  |  |     { | 
 |  |  |         return toAjax(sysUserDeptService.updateSysUserDept(sysUserDept)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å é¤ã请填ååè½åç§°ã | 
 |  |  |      */ | 
 |  |  |     @ApiOperation("å é¤ã请填ååè½åç§°ã") | 
 |  |  |     @PreAuthorize("@ss.hasPermi('smartor:dept:remove')") | 
 |  |  |     @Log(title = "ã请填ååè½åç§°ã", businessType = BusinessType.DELETE) | 
 |  |  |     @GetMapping("/remove/{ids}") | 
 |  |  |     public AjaxResult remove(@PathVariable Long[] ids) | 
 |  |  |     { | 
 |  |  |         return toAjax(sysUserDeptService.deleteSysUserDeptByIds(ids)); | 
 |  |  |     } | 
 |  |  | } | 
 
 |  |  | 
 |  |  | package com.ruoyi.web.test; | 
 |  |  |  | 
 |  |  | import com.fasterxml.jackson.core.JsonProcessingException; | 
 |  |  | import com.fasterxml.jackson.databind.JsonNode; | 
 |  |  | import com.fasterxml.jackson.databind.ObjectMapper; | 
 |  |  | import com.google.common.reflect.TypeToken; | 
 |  |  | import com.google.gson.Gson; | 
 |  |  | import com.google.gson.JsonArray; | 
 |  |  | import com.google.gson.JsonObject; | 
 |  |  | import com.smartor.domain.ThiedInhospInfo; | 
 |  |  | import org.junit.Test; | 
 |  |  |  | 
 |  |  | import java.lang.reflect.Type; | 
 |  |  | import java.time.LocalTime; | 
 |  |  | import java.time.format.DateTimeFormatter; | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | //@SpringBootTest | 
 |  |  | //@RunWith(SpringRunner.class) | 
 |  |  | public class MQTest { | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     String result="{\n" + | 
 |  |  |             "    \"code\": \"0\",\n" + | 
 |  |  |             "    \"message\": \"success\",\n" + | 
 |  |  |             "    \"data\": {\n" + | 
 |  |  |             "        \"result\": ["+ | 
 |  |  |             " {\n" + | 
 |  |  |             "                \"admissDeptName\": \"æµè¯ç§å®¤\",\n" + | 
 |  |  |             "                \"patiTypeId\": \"22\",\n" + | 
 |  |  |             "                \"companyTelNum\": \"\",\n" + | 
 |  |  |             "                \"currDeptCode\": \"1024\",\n" + | 
 |  |  |             "                \"currWardCode\": \"1331\",\n" + | 
 |  |  |             "                \"patiIdCardNo\": \"\",\n" + | 
 |  |  |             "                \"PatiHomeAddr\": \"æµæ±çæå·å¸æ±å¢
åº\",\n" + | 
 |  |  |             "                \"patiMediaId\": \"69674\",\n" + | 
 |  |  |             "                \"admissBedNo\": \"\",\n" + | 
 |  |  |             "                \"patiBirthday\": \"2009-03-03 00:00:00\",\n" + | 
 |  |  |             "                \"Education\": null,\n" + | 
 |  |  |             "                \"nationalityAddr\": \"\",\n" + | 
 |  |  |             "                \"admissWardCode\": \"1331\",\n" + | 
 |  |  |             "                \"doctId\": \"6af3708533e645edb10a655cabead79f\",\n" + | 
 |  |  |             "                \"inpatientId\": \"2403000055\",\n" + | 
 |  |  |             "                \"ProfessionId\": \"\",\n" + | 
 |  |  |             "                \"admissWardId\": \"7f95c670151746bca580c866ae56cfeb\",\n" + | 
 |  |  |             "                \"doctName\": \"æµè¯å»ç\",\n" + | 
 |  |  |             "                \"currBedId\": \"7aeeb24077b1434d8f2b6ccb204f9159\",\n" + | 
 |  |  |             "                \"diagName\": \"åµ\",\n" + | 
 |  |  |             "                \"currWardName\": \"æµè¯ç
åº\",\n" + | 
 |  |  |             "                \"totalAmount\": 0.00,\n" + | 
 |  |  |             "                \"admissWardName\": \"æµè¯ç
åº\",\n" + | 
 |  |  |             "                \"contactPersonName\": null,\n" + | 
 |  |  |             "                \"patiMediaNo\": \"024000070\",\n" + | 
 |  |  |             "                \"patiIndex\": \"024000070\",\n" + | 
 |  |  |             "                \"diagIcd10\": \"M20.200\",\n" + | 
 |  |  |             "                \"admissDeptCode\": \"1024\",\n" + | 
 |  |  |             "                \"patiRecordGender\": \"女\",\n" + | 
 |  |  |             "                \"patiNatureId\": \"22\",\n" + | 
 |  |  |             "                \"treateAge\": 15,\n" + | 
 |  |  |             "                \"suggestAmount\": \"\",\n" + | 
 |  |  |             "                \"contactPersonAddr\": null,\n" + | 
 |  |  |             "                \"contactPersonPhone\": null,\n" + | 
 |  |  |             "                \"admissBedId\": \"\",\n" + | 
 |  |  |             "                \"treatAgeunit\": \"å²\",\n" + | 
 |  |  |             "                \"currBedNo\": \"T-003\",\n" + | 
 |  |  |             "                \"PatiNation\": \"æ±æ\",\n" + | 
 |  |  |             "                \"patiRecordName\": \"æ¢å¾3-5\",\n" + | 
 |  |  |             "                \"currDeptId\": \"416a047536b411e7bff40242ac103005\",\n" + | 
 |  |  |             "                \"outWayName\": null,\n" + | 
 |  |  |             "                \"RelationShip\": \"\",\n" + | 
 |  |  |             "                \"admitFormId\": null,\n" + | 
 |  |  |             "                \"patiNatureName\": \"éè®°è´¦å»ä¿\",\n" + | 
 |  |  |             "                \"PatiNationality\": \"ä¸å½\",\n" + | 
 |  |  |             "                \"outDate\": null,\n" + | 
 |  |  |             "                \"admissDeptId\": \"416a047536b411e7bff40242ac103005\",\n" + | 
 |  |  |             "                \"admissDate\": \"2024-03-05 14:33:00\",\n" + | 
 |  |  |             "                \"currStatus\": 2,\n" + | 
 |  |  |             "                \"DocName\": \"\",\n" + | 
 |  |  |             "                \"patiTypeName\": \"éè®°è´¦å»ä¿\",\n" + | 
 |  |  |             "                \"currDeptName\": \"æµè¯ç§å®¤\",\n" + | 
 |  |  |             "                \"currWardId\": \"7f95c670151746bca580c866ae56cfeb\",\n" + | 
 |  |  |             "                \"areaId\": \"\",\n" + | 
 |  |  |             "                \"PatiMaritalStatus\": null,\n" + | 
 |  |  |             "                \"PatiHomePhone\": \"\",\n" + | 
 |  |  |             "                \"preoutDate\": null,\n" + | 
 |  |  |             "                \"outWayId\": null,\n" + | 
 |  |  |             "                \"inhospitalTimes\": 3,\n" + | 
 |  |  |             "                \"patiRecordId\": \"69409\",\n" + | 
 |  |  |             "                \"age\": \"15å²\",\n" + | 
 |  |  |             "                \"diagId\": \"314216\"\n" + | 
 |  |  |             "            },\n" + | 
 |  |  |             "            {\n" + | 
 |  |  |             "                \"admissDeptName\": \"æµè¯ç§å®¤\",\n" + | 
 |  |  |             "                \"patiTypeId\": \"22\",\n" + | 
 |  |  |             "                \"companyTelNum\": \"\",\n" + | 
 |  |  |             "                \"currDeptCode\": \"1024\",\n" + | 
 |  |  |             "                \"currWardCode\": \"1331\",\n" + | 
 |  |  |             "                \"patiIdCardNo\": \"330106198001030057\",\n" + | 
 |  |  |             "                \"PatiHomeAddr\": \"æµæ±çæå·å¸è¥¿æ¹åº\",\n" + | 
 |  |  |             "                \"patiMediaId\": \"69675\",\n" + | 
 |  |  |             "                \"admissBedNo\": \"\",\n" + | 
 |  |  |             "                \"patiBirthday\": \"1980-01-03 00:00:00\",\n" + | 
 |  |  |             "                \"Education\": null,\n" + | 
 |  |  |             "                \"nationalityAddr\": \"\",\n" + | 
 |  |  |             "                \"admissWardCode\": \"1331\",\n" + | 
 |  |  |             "                \"doctId\": \"7d3f0eaaec304bbfad8a8471998e38e4\",\n" + | 
 |  |  |             "                \"inpatientId\": \"2403000056\",\n" + | 
 |  |  |             "                \"ProfessionId\": \"\",\n" + | 
 |  |  |             "                \"admissWardId\": \"7f95c670151746bca580c866ae56cfeb\",\n" + | 
 |  |  |             "                \"doctName\": \"ä½é¢ç
å\",\n" + | 
 |  |  |             "                \"currBedId\": \"377f94ca047e4786aef56a1ac22678b7\",\n" + | 
 |  |  |             "                \"diagName\": \"çç
\",\n" + | 
 |  |  |             "                \"currWardName\": \"æµè¯ç
åº\",\n" + | 
 |  |  |             "                \"totalAmount\": 0.00,\n" + | 
 |  |  |             "                \"admissWardName\": \"æµè¯ç
åº\",\n" + | 
 |  |  |             "                \"contactPersonName\": \"\",\n" + | 
 |  |  |             "                \"patiMediaNo\": \"024000071\",\n" + | 
 |  |  |             "                \"patiIndex\": \"024000071\",\n" + | 
 |  |  |             "                \"diagIcd10\": \"A01.03.01.\",\n" + | 
 |  |  |             "                \"admissDeptCode\": \"1024\",\n" + | 
 |  |  |             "                \"patiRecordGender\": \"ç·\",\n" + | 
 |  |  |             "                \"patiNatureId\": \"22\",\n" + | 
 |  |  |             "                \"treateAge\": 44,\n" + | 
 |  |  |             "                \"suggestAmount\": \"\",\n" + | 
 |  |  |             "                \"contactPersonAddr\": \"\",\n" + | 
 |  |  |             "                \"contactPersonPhone\": \"\",\n" + | 
 |  |  |             "                \"admissBedId\": \"\",\n" + | 
 |  |  |             "                \"treatAgeunit\": \"å²\",\n" + | 
 |  |  |             "                \"currBedNo\": \"T-006\",\n" + | 
 |  |  |             "                \"PatiNation\": \"æ±æ\",\n" + | 
 |  |  |             "                \"patiRecordName\": \"æ
ä¿éé¢01\",\n" + | 
 |  |  |             "                \"currDeptId\": \"416a047536b411e7bff40242ac103005\",\n" + | 
 |  |  |             "                \"outWayName\": null,\n" + | 
 |  |  |             "                \"RelationShip\": \"\",\n" + | 
 |  |  |             "                \"admitFormId\": null,\n" + | 
 |  |  |             "                \"patiNatureName\": \"éè®°è´¦å»ä¿\",\n" + | 
 |  |  |             "                \"PatiNationality\": \"ä¸å½\",\n" + | 
 |  |  |             "                \"outDate\": null,\n" + | 
 |  |  |             "                \"admissDeptId\": \"416a047536b411e7bff40242ac103005\",\n" + | 
 |  |  |             "                \"admissDate\": \"2024-03-07 14:04:00\",\n" + | 
 |  |  |             "                \"currStatus\": 2,\n" + | 
 |  |  |             "                \"DocName\": \"\",\n" + | 
 |  |  |             "                \"patiTypeName\": \"éè®°è´¦å»ä¿\",\n" + | 
 |  |  |             "                \"currDeptName\": \"æµè¯ç§å®¤\",\n" + | 
 |  |  |             "                \"currWardId\": \"7f95c670151746bca580c866ae56cfeb\",\n" + | 
 |  |  |             "                \"areaId\": \"\",\n" + | 
 |  |  |             "                \"PatiMaritalStatus\": null,\n" + | 
 |  |  |             "                \"PatiHomePhone\": \"\",\n" + | 
 |  |  |             "                \"preoutDate\": null,\n" + | 
 |  |  |             "                \"outWayId\": null,\n" + | 
 |  |  |             "                \"inhospitalTimes\": 1,\n" + | 
 |  |  |             "                \"patiRecordId\": \"69410\",\n" + | 
 |  |  |             "                \"age\": \"44å²\",\n" + | 
 |  |  |             "                \"diagId\": \"1000040\"\n" + | 
 |  |  |             "            }\n" + | 
 |  |  |             "        ],\n" + | 
 |  |  |             "        \"hasNext\": false\n" + | 
 |  |  |             "    }\n" + | 
 |  |  |             "}"; | 
 |  |  |     @Test | 
 |  |  |     public void testSend22() { | 
 |  |  |         LocalTime now = LocalTime.now(); | 
 |  |  |         System.out.println("å½åæ¶å: " + now.format(DateTimeFormatter.ofPattern("hh:mm"))); | 
 |  |  |         Gson gson = new Gson(); | 
 |  |  |         JsonObject jsonObject = gson.fromJson(result, JsonObject.class); | 
 |  |  |         JsonArray resultArray = jsonObject.getAsJsonObject("data").getAsJsonArray("result"); | 
 |  |  |  | 
 |  |  |         // è·åä¸ä¸åéçæ¶å | 
 |  |  |         LocalTime nextMinute = now.plusMinutes(1); | 
 |  |  |         System.out.println("ä¸ä¸åéçæ¶å: " + nextMinute.format(DateTimeFormatter.ofPattern("hh:mm"))); | 
 |  |  |         // å®ä¹ ResultItem çç±»å | 
 |  |  |         Type resultType = new TypeToken<List<ThiedInhospInfo>>() {}.getType(); | 
 |  |  |         List<ThiedInhospInfo> resultList = gson.fromJson(resultArray, resultType); | 
 |  |  |         System.out.println(resultList); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 
 |  |  | 
 |  |  |   # æ°æ®æºé
ç½® | 
 |  |  | # æ°æ®æºé
ç½® | 
 |  |  | spring: | 
 |  |  |   datasource: | 
 |  |  |     type: com.alibaba.druid.pool.DruidDataSource | 
 |  |  | 
 |  |  |         #        url: jdbc:mysql://127.0.0.1:3306/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 | 
 |  |  |         #        username: root | 
 |  |  |         #        password: 123456 | 
 |  |  |  | 
 |  |  |         #192.168.1.16:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 | 
 |  |  |         #        å
¬å¸ | 
 |  |  |         url: jdbc:mysql://192.168.1.16:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 | 
 |  |  | #        url: jdbc:mysql://450scrp46939.vicp.fun:59876/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 | 
 |  |  | #        url: jdbc:mysql://192.168.1.16:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 | 
 |  |  |         url: jdbc:mysql://127.0.0.1:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 | 
 |  |  |         username: smartor | 
 |  |  |         password: Smartor.2023 | 
 |  |  |         driverClassName: com.mysql.cj.jdbc.Driver | 
 |  |  | 
 |  |  |   #微信å
¬ä¼å·çå¯é¥ | 
 |  |  | appid: wx1c5243d2337753f4 | 
 |  |  | appSecret: 84a2186a0d175e88345267c716516cd3 | 
 |  |  | #ç¬¬ä¸æ¹å¾®ä¿¡å
¬ä¼å·åéå°åï¼æ°åå»é¢ï¼ | 
 |  |  | thirdWXUrl: http://192.16.4.220:8103/api | 
 |  |  |  | 
 |  |  | #ééçå¯é¥ | 
 |  |  | dingAppid: dingn8iip5ubj7clrrsv | 
 |  |  | 
 |  |  |  | 
 |  |  | pub_key: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALQzqW1EIXBKGMu+2oEYSB5gM7Ox/ihyYTeeoE0yPX1qtt4++5yNOeTBVd6EEM4iKzVEzWj6REIWVwaSNPn/SvUCAwEAAQ== | 
 |  |  | #è¿ä¸ªæ¯å端çç§é¥ï¼ç¨ä¸å° | 
 |  |  | #pri_key_me: MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEAtDOpbUQhcEoYy77agRhIHmAzs7H+KHJhN56gTTI9fWq23j77nI055MFV3oQQziIrNUTNaPpEQhZXBpI0+f9K9QIDAQABAkB3n0fcWfrcoMN/FU3VnrnZOEF6CzFNxkgU9P8y36QECWKZ9JhYQkNpKrMC9oXlN3VSaRigV7B+L/I/a0Rs1W+tAiEA4jx7xcXJ4y4BNwAmVHt6NNiEkzIwWnwC/0qsEu8NsOsCIQDL6MMn1D2uznC6OuOWpxDCkBh1JL1NzZTZeH2G+hj7nwIgKGAC9tjFnvWm4dn0/T7MIIJDpsFeP8fCAS2iZ/6hwuECIAS/eLvWr1EAsZNEh8QcQ8GkBU3E+ztyjAK8UX/xFt/VAiBf79/1tDErX4/DChecM8w3c3DhbBcjuE3fHZn7p6/UKg== | 
 |  |  | pri_key: MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEApHTIe/StslZAT5Jzv8XClbrqox32pfaTrP5IOCRJ3FaH/UZsGgA/tsNBBEXq9eagqwPbJrjYfpdEtINcChrK4wIDAQABAkEAilDujdKshGGmlUZHs/NQRT6AOdDpsYxBiC4V76IVvQpw0IW6c4HGEvH4T+xRufika7/48L0eu0f06H+YtL5lgQIhANUd0a6oSsVxWifAjtKwMZcXD3OaIxQIQSCN4NT4VFY3AiEAxYxYrIhkIyg+UVw3WOSvBpXKxM4/WL9HRzkxDLvp2rUCIQCK23P8tgCJ5xJT5l3onw6goFDcBKkoazxsBqVgfjENPwIgWbuTd+OIYPPhwsE5ntZZrosSDO2GlsBkFzUiU59z7VUCIA0LL+9IFb+FWCl3DGTwIQ9SZYbv61T83LKjebUcSOfe | 
 |  |  | pri_key: MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEAtDOpbUQhcEoYy77agRhIHmAzs7H+KHJhN56gTTI9fWq23j77nI055MFV3oQQziIrNUTNaPpEQhZXBpI0+f9K9QIDAQABAkB3n0fcWfrcoMN/FU3VnrnZOEF6CzFNxkgU9P8y36QECWKZ9JhYQkNpKrMC9oXlN3VSaRigV7B+L/I/a0Rs1W+tAiEA4jx7xcXJ4y4BNwAmVHt6NNiEkzIwWnwC/0qsEu8NsOsCIQDL6MMn1D2uznC6OuOWpxDCkBh1JL1NzZTZeH2G+hj7nwIgKGAC9tjFnvWm4dn0/T7MIIJDpsFeP8fCAS2iZ/6hwuECIAS/eLvWr1EAsZNEh8QcQ8GkBU3E+ztyjAK8UX/xFt/VAiBf79/1tDErX4/DChecM8w3c3DhbBcjuE3fHZn7p6/UKg== | 
 |  |  | #å端ç§é¥ï¼ç¨ä¸å°äºï¼ | 
 |  |  | #pri_key: MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEApHTIe/StslZAT5Jzv8XClbrqox32pfaTrP5IOCRJ3FaH/UZsGgA/tsNBBEXq9eagqwPbJrjYfpdEtINcChrK4wIDAQABAkEAilDujdKshGGmlUZHs/NQRT6AOdDpsYxBiC4V76IVvQpw0IW6c4HGEvH4T+xRufika7/48L0eu0f06H+YtL5lgQIhANUd0a6oSsVxWifAjtKwMZcXD3OaIxQIQSCN4NT4VFY3AiEAxYxYrIhkIyg+UVw3WOSvBpXKxM4/WL9HRzkxDLvp2rUCIQCK23P8tgCJ5xJT5l3onw6goFDcBKkoazxsBqVgfjENPwIgWbuTd+OIYPPhwsE5ntZZrosSDO2GlsBkFzUiU59z7VUCIA0LL+9IFb+FWCl3DGTwIQ9SZYbv61T83LKjebUcSOfe | 
 |  |  |  | 
 |  |  | #äºç»´ç è·¯å¾ | 
 |  |  | qrpath: D:\qrcode | 
 |  |  | 
 |  |  | #å¤é¾è¯·æ±IPå端å£å· | 
 |  |  | req_path: 8096 | 
 |  |  | localIP: 192.168.1.10 | 
 |  |  |  | 
 |  |  | #è·åæ£è
ä¿¡æ¯URL(ååæä¾) | 
 |  |  | hosp_info_url: http://esb-core-rest.wowjoy.cn/esb/exchange | 
 
 |  |  | 
 |  |  |   # redis é
ç½® | 
 |  |  |   redis: | 
 |  |  |     #    # å°åï¼ä¹ä¹äºé¢ï¼ | 
 |  |  |     #    host: 127.0.0.1 | 
 |  |  |     #    port: 6020 | 
 |  |  |     host: 127.0.0.1 | 
 |  |  |     port: 6020 | 
 |  |  |  | 
 |  |  |     # å°åï¼å
¬å¸ï¼ | 
 |  |  |     #    host: 116.62.18.175 | 
 |  |  |     host: 192.168.1.10 | 
 |  |  |     port: 6020 | 
 |  |  | #    host: 192.168.1.10 | 
 |  |  | #    port: 6020 | 
 |  |  |     # æ°æ®åºç´¢å¼ | 
 |  |  |     database: 0 | 
 |  |  |     # å¯ç  | 
 
| ¶Ô±ÈÐÂÎļþ | 
 |  |  | 
 |  |  | package com.ruoyi.common.core.domain; | 
 |  |  |  | 
 |  |  |  | 
 |  |  | import io.swagger.annotations.ApiModel; | 
 |  |  | import io.swagger.annotations.ApiModelProperty; | 
 |  |  | import lombok.AllArgsConstructor; | 
 |  |  | import lombok.Builder; | 
 |  |  | import lombok.Data; | 
 |  |  | import lombok.NoArgsConstructor; | 
 |  |  |  | 
 |  |  | import java.io.Serializable; | 
 |  |  |  | 
 |  |  | @Data | 
 |  |  | @NoArgsConstructor | 
 |  |  | @AllArgsConstructor | 
 |  |  | @Builder | 
 |  |  | @ApiModel("å
Œ
±è¿åä½") | 
 |  |  | public class CommonRes<T> implements Serializable { | 
 |  |  |     private static final long serialVersionUID = -1L; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "è¿åç ", notes = "200: è¯·æ±æå") | 
 |  |  |     private int code; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty("è¿åç æè¿°") | 
 |  |  |     private String msg; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty("è¿åæ°æ®") | 
 |  |  |     private T data; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "æ»è®°å½æ°", notes = "å页æ
åµä¸ä½¿ç¨") | 
 |  |  |     private String totalRecord; | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  | import javax.validation.constraints.*; | 
 |  |  |  | 
 |  |  | import io.swagger.annotations.ApiModel; | 
 |  |  | import io.swagger.annotations.ApiModelProperty; | 
 |  |  | import lombok.Data; | 
 |  |  | import org.apache.commons.lang3.builder.ToStringBuilder; | 
 |  |  | import org.apache.commons.lang3.builder.ToStringStyle; | 
 |  |  | import com.ruoyi.common.annotation.Excel; | 
 |  |  | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * ç¨æ·å¯¹è±¡ sys_user | 
 |  |  |  *  | 
 |  |  |  * | 
 |  |  |  * @author ruoyi | 
 |  |  |  */ | 
 |  |  | public class SysUser extends BaseEntity | 
 |  |  | { | 
 |  |  | @ApiModel(value = "SysUser", description = "ç¨æ·å¯¹è±¡") | 
 |  |  | public class SysUser extends BaseEntity { | 
 |  |  |     private static final long serialVersionUID = 1L; | 
 |  |  |  | 
 |  |  |     /** ç¨æ·ID */ | 
 |  |  |     /** | 
 |  |  |      * ç¨æ·ID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "主é®") | 
 |  |  |     @Excel(name = "ç¨æ·åºå·", cellType = ColumnType.NUMERIC, prompt = "ç¨æ·ç¼å·") | 
 |  |  |     private Long userId; | 
 |  |  |  | 
 |  |  |     /** é¨é¨ID */ | 
 |  |  |     /** | 
 |  |  |      * é¨é¨ID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "é¨é¨ID") | 
 |  |  |     @Excel(name = "é¨é¨ç¼å·", type = Type.IMPORT) | 
 |  |  |     private Long deptId; | 
 |  |  |  | 
 |  |  |     /** ç¨æ·è´¦å· */ | 
 |  |  |     /** | 
 |  |  |      * ç¨æ·è´¦å· | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "ç¨æ·è´¦å·") | 
 |  |  |     @Excel(name = "ç»å½åç§°") | 
 |  |  |     private String userName; | 
 |  |  |  | 
 |  |  |     /** ç¨æ·æµç§° */ | 
 |  |  |     /** | 
 |  |  |      * ç¨æ·æµç§° | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "ç¨æ·æµç§°") | 
 |  |  |     @Excel(name = "ç¨æ·åç§°") | 
 |  |  |     private String nickName; | 
 |  |  |  | 
 |  |  |     /** ç¨æ·é®ç®± */ | 
 |  |  |     /** | 
 |  |  |      * ç¨æ·é®ç®± | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "ç¨æ·é®ç®±") | 
 |  |  |     @Excel(name = "ç¨æ·é®ç®±") | 
 |  |  |     private String email; | 
 |  |  |  | 
 |  |  |     /** ææºå·ç  */ | 
 |  |  |     /** | 
 |  |  |      * ææºå·ç  | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "ææºå·ç ") | 
 |  |  |     @Excel(name = "ææºå·ç ") | 
 |  |  |     private String phonenumber; | 
 |  |  |  | 
 |  |  |     /** ç¨æ·æ§å« */ | 
 |  |  |     /** | 
 |  |  |      * ç¨æ·æ§å« | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "ç¨æ·æ§å«") | 
 |  |  |     @Excel(name = "ç¨æ·æ§å«", readConverterExp = "0=ç·,1=女,2=æªç¥") | 
 |  |  |     private String sex; | 
 |  |  |  | 
 |  |  |     /** ç¨æ·å¤´å */ | 
 |  |  |     /** | 
 |  |  |      * ç¨æ·å¤´å | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "ç¨æ·å¤´å") | 
 |  |  |     private String avatar; | 
 |  |  |  | 
 |  |  |     /** å¯ç  */ | 
 |  |  |     /** | 
 |  |  |      * å¯ç  | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "å¯ç ") | 
 |  |  |     private String password; | 
 |  |  |  | 
 |  |  |     /** å¸å·ç¶æï¼0æ£å¸¸ 1åç¨ï¼ */ | 
 |  |  |     /** | 
 |  |  |      * å¸å·ç¶æï¼0æ£å¸¸ 1åç¨ï¼ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "å¸å·ç¶æï¼0æ£å¸¸ 1åç¨ï¼") | 
 |  |  |     @Excel(name = "å¸å·ç¶æ", readConverterExp = "0=æ£å¸¸,1=åç¨") | 
 |  |  |     private String status; | 
 |  |  |  | 
 |  |  |     /** å é¤æ å¿ï¼0代表å娠2代表å é¤ï¼ */ | 
 |  |  |     /** | 
 |  |  |      * å é¤æ å¿ï¼0代表å娠2代表å é¤ï¼ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "å é¤æ å¿ï¼0代表å娠2代表å é¤ï¼") | 
 |  |  |     private String delFlag; | 
 |  |  |  | 
 |  |  |     /** æåç»å½IP */ | 
 |  |  |     /** | 
 |  |  |      * æåç»å½IP | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "æåç»å½IP") | 
 |  |  |     @Excel(name = "æåç»å½IP", type = Type.EXPORT) | 
 |  |  |     private String loginIp; | 
 |  |  |  | 
 |  |  |     /** æåç»å½æ¶é´ */ | 
 |  |  |     /** | 
 |  |  |      * æåç»å½æ¶é´ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "æåç»å½æ¶é´") | 
 |  |  |     @Excel(name = "æåç»å½æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT) | 
 |  |  |     private Date loginDate; | 
 |  |  |  | 
 |  |  |     /** é¨é¨å¯¹è±¡ */ | 
 |  |  |     @Excels({ | 
 |  |  |         @Excel(name = "é¨é¨åç§°", targetAttr = "deptName", type = Type.EXPORT), | 
 |  |  |         @Excel(name = "é¨é¨è´è´£äºº", targetAttr = "leader", type = Type.EXPORT) | 
 |  |  |     }) | 
 |  |  |     /** | 
 |  |  |      * é¨é¨å¯¹è±¡ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "é¨é¨å¯¹è±¡") | 
 |  |  |     @Excels({@Excel(name = "é¨é¨åç§°", targetAttr = "deptName", type = Type.EXPORT), @Excel(name = "é¨é¨è´è´£äºº", targetAttr = "leader", type = Type.EXPORT)}) | 
 |  |  |     private SysDept dept; | 
 |  |  |  | 
 |  |  |     /** è§è²å¯¹è±¡ */ | 
 |  |  |     @ApiModelProperty(value = "é¨é¨éå") | 
 |  |  |     private List<Long> depts; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è§è²å¯¹è±¡ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "è§è²å¯¹è±¡") | 
 |  |  |     private List<SysRole> roles; | 
 |  |  |  | 
 |  |  |     /** è§è²ç» */ | 
 |  |  |     /** | 
 |  |  |      * è§è²ç» | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "è§è²ç»") | 
 |  |  |     private Long[] roleIds; | 
 |  |  |  | 
 |  |  |     /** å²ä½ç» */ | 
 |  |  |     /** | 
 |  |  |      * å²ä½ç» | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "å²ä½ç»") | 
 |  |  |     private Long[] postIds; | 
 |  |  |  | 
 |  |  |     /** è§è²ID */ | 
 |  |  |     /** | 
 |  |  |      * è§è²ID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "è§è²ID") | 
 |  |  |     private Long roleId; | 
 |  |  |  | 
 |  |  |     public SysUser() | 
 |  |  |     { | 
 |  |  |     public SysUser() { | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public SysUser(Long userId) | 
 |  |  |     { | 
 |  |  |     public SysUser(Long userId) { | 
 |  |  |         this.userId = userId; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public Long getUserId() | 
 |  |  |     { | 
 |  |  |     public Long getUserId() { | 
 |  |  |         return userId; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setUserId(Long userId) | 
 |  |  |     { | 
 |  |  |     public void setUserId(Long userId) { | 
 |  |  |         this.userId = userId; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public boolean isAdmin() | 
 |  |  |     { | 
 |  |  |     public boolean isAdmin() { | 
 |  |  |         return isAdmin(this.userId); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public static boolean isAdmin(Long userId) | 
 |  |  |     { | 
 |  |  |     public static boolean isAdmin(Long userId) { | 
 |  |  |         return userId != null && 1L == userId; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public Long getDeptId() | 
 |  |  |     { | 
 |  |  |     public Long getDeptId() { | 
 |  |  |         return deptId; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setDeptId(Long deptId) | 
 |  |  |     { | 
 |  |  |     public void setDeptId(Long deptId) { | 
 |  |  |         this.deptId = deptId; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Xss(message = "ç¨æ·æµç§°ä¸è½å
å«èæ¬å符") | 
 |  |  |     @Size(min = 0, max = 30, message = "ç¨æ·æµç§°é¿åº¦ä¸è½è¶
è¿30个å符") | 
 |  |  |     public String getNickName() | 
 |  |  |     { | 
 |  |  |     public String getNickName() { | 
 |  |  |         return nickName; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setNickName(String nickName) | 
 |  |  |     { | 
 |  |  |     public void setNickName(String nickName) { | 
 |  |  |         this.nickName = nickName; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Xss(message = "ç¨æ·è´¦å·ä¸è½å
å«èæ¬å符") | 
 |  |  |     @NotBlank(message = "ç¨æ·è´¦å·ä¸è½ä¸ºç©º") | 
 |  |  |     @Size(min = 0, max = 30, message = "ç¨æ·è´¦å·é¿åº¦ä¸è½è¶
è¿30个å符") | 
 |  |  |     public String getUserName() | 
 |  |  |     { | 
 |  |  |     public String getUserName() { | 
 |  |  |         return userName; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setUserName(String userName) | 
 |  |  |     { | 
 |  |  |     public void setUserName(String userName) { | 
 |  |  |         this.userName = userName; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Email(message = "é®ç®±æ ¼å¼ä¸æ£ç¡®") | 
 |  |  |     @Size(min = 0, max = 50, message = "é®ç®±é¿åº¦ä¸è½è¶
è¿50个å符") | 
 |  |  |     public String getEmail() | 
 |  |  |     { | 
 |  |  |     public String getEmail() { | 
 |  |  |         return email; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setEmail(String email) | 
 |  |  |     { | 
 |  |  |     public void setEmail(String email) { | 
 |  |  |         this.email = email; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Size(min = 0, max = 11, message = "ææºå·ç é¿åº¦ä¸è½è¶
è¿11个å符") | 
 |  |  |     public String getPhonenumber() | 
 |  |  |     { | 
 |  |  |     public String getPhonenumber() { | 
 |  |  |         return phonenumber; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setPhonenumber(String phonenumber) | 
 |  |  |     { | 
 |  |  |     public void setPhonenumber(String phonenumber) { | 
 |  |  |         this.phonenumber = phonenumber; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public String getSex() | 
 |  |  |     { | 
 |  |  |     public String getSex() { | 
 |  |  |         return sex; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setSex(String sex) | 
 |  |  |     { | 
 |  |  |     public void setSex(String sex) { | 
 |  |  |         this.sex = sex; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public String getAvatar() | 
 |  |  |     { | 
 |  |  |     public String getAvatar() { | 
 |  |  |         return avatar; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setAvatar(String avatar) | 
 |  |  |     { | 
 |  |  |     public void setAvatar(String avatar) { | 
 |  |  |         this.avatar = avatar; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public String getPassword() | 
 |  |  |     { | 
 |  |  |     public String getPassword() { | 
 |  |  |         return password; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setPassword(String password) | 
 |  |  |     { | 
 |  |  |     public void setPassword(String password) { | 
 |  |  |         this.password = password; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public String getStatus() | 
 |  |  |     { | 
 |  |  |     public String getStatus() { | 
 |  |  |         return status; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setStatus(String status) | 
 |  |  |     { | 
 |  |  |     public void setStatus(String status) { | 
 |  |  |         this.status = status; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public String getDelFlag() | 
 |  |  |     { | 
 |  |  |     public String getDelFlag() { | 
 |  |  |         return delFlag; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setDelFlag(String delFlag) | 
 |  |  |     { | 
 |  |  |     public void setDelFlag(String delFlag) { | 
 |  |  |         this.delFlag = delFlag; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public String getLoginIp() | 
 |  |  |     { | 
 |  |  |     public String getLoginIp() { | 
 |  |  |         return loginIp; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setLoginIp(String loginIp) | 
 |  |  |     { | 
 |  |  |     public void setLoginIp(String loginIp) { | 
 |  |  |         this.loginIp = loginIp; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public Date getLoginDate() | 
 |  |  |     { | 
 |  |  |     public Date getLoginDate() { | 
 |  |  |         return loginDate; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setLoginDate(Date loginDate) | 
 |  |  |     { | 
 |  |  |     public void setLoginDate(Date loginDate) { | 
 |  |  |         this.loginDate = loginDate; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public SysDept getDept() | 
 |  |  |     { | 
 |  |  |     public SysDept getDept() { | 
 |  |  |         return dept; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setDept(SysDept dept) | 
 |  |  |     { | 
 |  |  |     public void setDept(SysDept dept) { | 
 |  |  |         this.dept = dept; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public List<SysRole> getRoles() | 
 |  |  |     { | 
 |  |  |     public List<SysRole> getRoles() { | 
 |  |  |         return roles; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setRoles(List<SysRole> roles) | 
 |  |  |     { | 
 |  |  |     public void setRoles(List<SysRole> roles) { | 
 |  |  |         this.roles = roles; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public Long[] getRoleIds() | 
 |  |  |     { | 
 |  |  |     public Long[] getRoleIds() { | 
 |  |  |         return roleIds; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setRoleIds(Long[] roleIds) | 
 |  |  |     { | 
 |  |  |     public void setRoleIds(Long[] roleIds) { | 
 |  |  |         this.roleIds = roleIds; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public Long[] getPostIds() | 
 |  |  |     { | 
 |  |  |     public Long[] getPostIds() { | 
 |  |  |         return postIds; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setPostIds(Long[] postIds) | 
 |  |  |     { | 
 |  |  |     public void setPostIds(Long[] postIds) { | 
 |  |  |         this.postIds = postIds; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public Long getRoleId() | 
 |  |  |     { | 
 |  |  |     public Long getRoleId() { | 
 |  |  |         return roleId; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setRoleId(Long roleId) | 
 |  |  |     { | 
 |  |  |     public void setRoleId(Long roleId) { | 
 |  |  |         this.roleId = roleId; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public List<Long> getDepts() { | 
 |  |  |         return depts; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setDepts(List<Long> depts) { | 
 |  |  |         this.depts = depts; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public String toString() { | 
 |  |  |         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) | 
 |  |  |             .append("userId", getUserId()) | 
 |  |  |             .append("deptId", getDeptId()) | 
 |  |  |             .append("userName", getUserName()) | 
 |  |  |             .append("nickName", getNickName()) | 
 |  |  |             .append("email", getEmail()) | 
 |  |  |             .append("phonenumber", getPhonenumber()) | 
 |  |  |             .append("sex", getSex()) | 
 |  |  |             .append("avatar", getAvatar()) | 
 |  |  |             .append("password", getPassword()) | 
 |  |  |             .append("status", getStatus()) | 
 |  |  |             .append("delFlag", getDelFlag()) | 
 |  |  |             .append("loginIp", getLoginIp()) | 
 |  |  |             .append("loginDate", getLoginDate()) | 
 |  |  |             .append("createBy", getCreateBy()) | 
 |  |  |             .append("createTime", getCreateTime()) | 
 |  |  |             .append("updateBy", getUpdateBy()) | 
 |  |  |             .append("updateTime", getUpdateTime()) | 
 |  |  |             .append("remark", getRemark()) | 
 |  |  |             .append("dept", getDept()) | 
 |  |  |             .toString(); | 
 |  |  |         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("userId", getUserId()).append("deptId", getDeptId()).append("userName", getUserName()).append("nickName", getNickName()).append("email", getEmail()).append("phonenumber", getPhonenumber()).append("sex", getSex()).append("avatar", getAvatar()).append("password", getPassword()).append("status", getStatus()).append("delFlag", getDelFlag()).append("loginIp", getLoginIp()).append("loginDate", getLoginDate()).append("createBy", getCreateBy()).append("createTime", getCreateTime()).append("updateBy", getUpdateBy()).append("updateTime", getUpdateTime()).append("remark", getRemark()).append("dept", getDept()).toString(); | 
 |  |  |     } | 
 |  |  | } | 
 
| ¶Ô±ÈÐÂÎļþ | 
 |  |  | 
 |  |  | package com.ruoyi.common.core.domain.entity; | 
 |  |  |  | 
 |  |  | 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; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * ã请填ååè½åç§°ã对象 sys_user_dept | 
 |  |  |  * | 
 |  |  |  * @author lihu | 
 |  |  |  * @date 2024-08-29 | 
 |  |  |  */ | 
 |  |  | @Data | 
 |  |  | @ApiModel("ã请填ååè½åç§°ã") | 
 |  |  | public class SysUserDept 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 userId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é¨é¨ID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("é¨é¨ID") | 
 |  |  |     @Excel(name = "é¨é¨ID") | 
 |  |  |     private Long deptId; | 
 |  |  |  | 
 |  |  |     /** å é¤æ å¿ï¼0代表å娠2代表å é¤ï¼ */ | 
 |  |  |     @ApiModelProperty("å é¤æ å¿ï¼0代表å娠1代表å é¤ï¼") | 
 |  |  |     private Long delFlag; | 
 |  |  |  | 
 |  |  |  | 
 |  |  | } | 
 |  |  |  | 
 
 |  |  | 
 |  |  | import org.springframework.stereotype.Component; | 
 |  |  |  | 
 |  |  | import javax.crypto.Cipher; | 
 |  |  | import java.io.UnsupportedEncodingException; | 
 |  |  | import java.net.URLDecoder; | 
 |  |  | import java.net.URLEncoder; | 
 |  |  | import java.nio.charset.StandardCharsets; | 
 |  |  | import java.security.KeyFactory; | 
 |  |  | import java.security.PrivateKey; | 
 |  |  | import java.security.PublicKey; | 
 |  |  | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public String encryptedData(String plainText, String pub_key) { | 
 |  |  |         String publicKeyString = "å
¬é¥çBase64ç¼ç å符串"; // å端传éçå
¬é¥å符串 | 
 |  |  |         // å°å
¬é¥Base64ç¼ç å符串转æ¢ä¸ºPublicKey对象 | 
 |  |  |         log.error("éè¦å å¯çæ°æ®ï¼{}", plainText); | 
 |  |  |         try { | 
 |  |  |  | 
 |  |  |             byte[] publicKeyBytes = Base64.getDecoder().decode(pub_key); | 
 |  |  | 
 |  |  |  | 
 |  |  |             // å°å å¯åçæ°æ®è½¬æ¢ä¸ºBase64ç¼ç çå符串 | 
 |  |  |             String encryptedText = Base64.getEncoder().encodeToString(encryptedBytes); | 
 |  |  |             System.out.println("å å¯åçæ°æ®ï¼" + encryptedText); | 
 |  |  |             log.error("Base64å å¯åçæ°æ®ï¼{}", encryptedText); | 
 |  |  |             encryptedText = URLEncoder.encode(encryptedText, StandardCharsets.UTF_8.toString()); | 
 |  |  |             log.error("URLEncoderç¼ç åçæ°æ®ï¼{}", encryptedText); | 
 |  |  |             String decodedString = URLDecoder.decode(encryptedText, "UTF-8"); | 
 |  |  |             log.error("URLEncoderè§£ç åçæ°æ®ï¼{}", decodedString); | 
 |  |  |             return encryptedText; | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             log.error("å å¯å¤±è´¥äº:{}", e.getMessage()); | 
 |  |  | 
 |  |  |         return null; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public static void main(String[] args) { | 
 |  |  |         String decodedString = null; | 
 |  |  |         try { | 
 |  |  |             decodedString = URLDecoder.decode("0902%E4%BB%BB%E5%8A%A1%E6%B5%8B%E8%AF%95--------", "UTF-8"); | 
 |  |  |         } catch (UnsupportedEncodingException e) { | 
 |  |  |             e.printStackTrace(); | 
 |  |  |         } | 
 |  |  |         System.out.println(decodedString); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  | import java.net.URLConnection; | 
 |  |  | import java.nio.charset.StandardCharsets; | 
 |  |  | import java.security.cert.X509Certificate; | 
 |  |  | import java.util.Map; | 
 |  |  | import java.util.Objects; | 
 |  |  | import javax.net.ssl.HostnameVerifier; | 
 |  |  | import javax.net.ssl.HttpsURLConnection; | 
 |  |  | import javax.net.ssl.SSLContext; | 
 |  |  | import javax.net.ssl.SSLSession; | 
 |  |  | import javax.net.ssl.TrustManager; | 
 |  |  | import javax.net.ssl.X509TrustManager; | 
 |  |  |  | 
 |  |  | import org.slf4j.Logger; | 
 |  |  | import org.slf4j.LoggerFactory; | 
 |  |  | import com.ruoyi.common.constant.Constants; | 
 |  |  | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * éç¨httpåéæ¹æ³ | 
 |  |  |  *  | 
 |  |  |  * | 
 |  |  |  * @author ruoyi | 
 |  |  |  */ | 
 |  |  | public class HttpUtils | 
 |  |  | { | 
 |  |  | public class HttpUtils { | 
 |  |  |     private static final Logger log = LoggerFactory.getLogger(HttpUtils.class); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |      * @param url åé请æ±ç URL | 
 |  |  |      * @return æä»£è¡¨è¿ç¨èµæºçååºç»æ | 
 |  |  |      */ | 
 |  |  |     public static String sendGet(String url) | 
 |  |  |     { | 
 |  |  |     public static String sendGet(String url) { | 
 |  |  |         return sendGet(url, StringUtils.EMPTY); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åæå® URL åéGETæ¹æ³çè¯·æ± | 
 |  |  |      * | 
 |  |  |      * @param url åé请æ±ç URL | 
 |  |  |      * @param url   åé请æ±ç URL | 
 |  |  |      * @param param è¯·æ±åæ°ï¼è¯·æ±åæ°åºè¯¥æ¯ name1=value1&name2=value2 çå½¢å¼ã | 
 |  |  |      * @return æä»£è¡¨è¿ç¨èµæºçååºç»æ | 
 |  |  |      */ | 
 |  |  |     public static String sendGet(String url, String param) | 
 |  |  |     { | 
 |  |  |     public static String sendGet(String url, String param) { | 
 |  |  |         return sendGet(url, param, Constants.UTF8); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åæå® URL åéGETæ¹æ³çè¯·æ± | 
 |  |  |      * | 
 |  |  |      * @param url åé请æ±ç URL | 
 |  |  |      * @param param è¯·æ±åæ°ï¼è¯·æ±åæ°åºè¯¥æ¯ name1=value1&name2=value2 çå½¢å¼ã | 
 |  |  |      * @param url         åé请æ±ç URL | 
 |  |  |      * @param param       è¯·æ±åæ°ï¼è¯·æ±åæ°åºè¯¥æ¯ name1=value1&name2=value2 çå½¢å¼ã | 
 |  |  |      * @param contentType ç¼ç ç±»å | 
 |  |  |      * @return æä»£è¡¨è¿ç¨èµæºçååºç»æ | 
 |  |  |      */ | 
 |  |  |     public static String sendGet(String url, String param, String contentType) | 
 |  |  |     { | 
 |  |  |     public static String sendGet(String url, String param, String contentType) { | 
 |  |  |         StringBuilder result = new StringBuilder(); | 
 |  |  |         BufferedReader in = null; | 
 |  |  |         try | 
 |  |  |         { | 
 |  |  |         try { | 
 |  |  |             String urlNameString = StringUtils.isNotBlank(param) ? url + "?" + param : url; | 
 |  |  | //            log.info("sendGet - {}", urlNameString); | 
 |  |  |             URL realUrl = new URL(urlNameString); | 
 |  |  | 
 |  |  |             connection.connect(); | 
 |  |  |             in = new BufferedReader(new InputStreamReader(connection.getInputStream(), contentType)); | 
 |  |  |             String line; | 
 |  |  |             while ((line = in.readLine()) != null) | 
 |  |  |             { | 
 |  |  |             while ((line = in.readLine()) != null) { | 
 |  |  |                 result.append(line); | 
 |  |  |             } | 
 |  |  |         //    log.info("recv - {}", result); | 
 |  |  |         } | 
 |  |  |         catch (ConnectException e) | 
 |  |  |         { | 
 |  |  |             //    log.info("recv - {}", result); | 
 |  |  |         } catch (ConnectException e) { | 
 |  |  |             log.error("è°ç¨HttpUtils.sendGet ConnectException, url=" + url + ",param=" + param, e); | 
 |  |  |         } | 
 |  |  |         catch (SocketTimeoutException e) | 
 |  |  |         { | 
 |  |  |         } catch (SocketTimeoutException e) { | 
 |  |  |             log.error("è°ç¨HttpUtils.sendGet SocketTimeoutException, url=" + url + ",param=" + param, e); | 
 |  |  |         } | 
 |  |  |         catch (IOException e) | 
 |  |  |         { | 
 |  |  |         } catch (IOException e) { | 
 |  |  |             log.error("è°ç¨HttpUtils.sendGet IOException, url=" + url + ",param=" + param, e); | 
 |  |  |         } | 
 |  |  |         catch (Exception e) | 
 |  |  |         { | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             log.error("è°ç¨HttpsUtil.sendGet Exception, url=" + url + ",param=" + param, e); | 
 |  |  |         } | 
 |  |  |         finally | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 if (in != null) | 
 |  |  |                 { | 
 |  |  |         } finally { | 
 |  |  |             try { | 
 |  |  |                 if (in != null) { | 
 |  |  |                     in.close(); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             catch (Exception ex) | 
 |  |  |             { | 
 |  |  |             } catch (Exception ex) { | 
 |  |  |                 log.error("è°ç¨in.close Exception, url=" + url + ",param=" + param, ex); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  | 
 |  |  |     /** | 
 |  |  |      * åæå® URL åéPOSTæ¹æ³çè¯·æ± | 
 |  |  |      * | 
 |  |  |      * @param url åé请æ±ç URL | 
 |  |  |      * @param url   åé请æ±ç URL | 
 |  |  |      * @param param è¯·æ±åæ°ï¼è¯·æ±åæ°åºè¯¥æ¯ name1=value1&name2=value2 çå½¢å¼ã | 
 |  |  |      * @return æä»£è¡¨è¿ç¨èµæºçååºç»æ | 
 |  |  |      */ | 
 |  |  |     public static String sendPost(String url, String param) | 
 |  |  |     { | 
 |  |  |     public static String sendPost(String url, String param) { | 
 |  |  |         PrintWriter out = null; | 
 |  |  |         BufferedReader in = null; | 
 |  |  |         StringBuilder result = new StringBuilder(); | 
 |  |  |         try | 
 |  |  |         { | 
 |  |  |         try { | 
 |  |  |             log.info("sendPost - {}", url); | 
 |  |  |             URL realUrl = new URL(url); | 
 |  |  |             URLConnection conn = realUrl.openConnection(); | 
 |  |  | 
 |  |  |             out.flush(); | 
 |  |  |             in = new BufferedReader(new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8)); | 
 |  |  |             String line; | 
 |  |  |             while ((line = in.readLine()) != null) | 
 |  |  |             { | 
 |  |  |             while ((line = in.readLine()) != null) { | 
 |  |  |                 result.append(line); | 
 |  |  |             } | 
 |  |  |             log.info("recv - {}", result); | 
 |  |  |         } | 
 |  |  |         catch (ConnectException e) | 
 |  |  |         { | 
 |  |  |         } catch (ConnectException e) { | 
 |  |  |             log.error("è°ç¨HttpUtils.sendPost ConnectException, url=" + url + ",param=" + param, e); | 
 |  |  |         } | 
 |  |  |         catch (SocketTimeoutException e) | 
 |  |  |         { | 
 |  |  |         } catch (SocketTimeoutException e) { | 
 |  |  |             log.error("è°ç¨HttpUtils.sendPost SocketTimeoutException, url=" + url + ",param=" + param, e); | 
 |  |  |         } | 
 |  |  |         catch (IOException e) | 
 |  |  |         { | 
 |  |  |         } catch (IOException e) { | 
 |  |  |             log.error("è°ç¨HttpUtils.sendPost IOException, url=" + url + ",param=" + param, e); | 
 |  |  |         } | 
 |  |  |         catch (Exception e) | 
 |  |  |         { | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             log.error("è°ç¨HttpsUtil.sendPost Exception, url=" + url + ",param=" + param, e); | 
 |  |  |         } | 
 |  |  |         finally | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 if (out != null) | 
 |  |  |                 { | 
 |  |  |         } finally { | 
 |  |  |             try { | 
 |  |  |                 if (out != null) { | 
 |  |  |                     out.close(); | 
 |  |  |                 } | 
 |  |  |                 if (in != null) | 
 |  |  |                 { | 
 |  |  |                 if (in != null) { | 
 |  |  |                     in.close(); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             catch (IOException ex) | 
 |  |  |             { | 
 |  |  |             } catch (IOException ex) { | 
 |  |  |                 log.error("è°ç¨in.close Exception, url=" + url + ",param=" + param, ex); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         return result.toString(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public static String sendSSLPost(String url, String param) | 
 |  |  |     { | 
 |  |  |     public static String sendPostByHeader(String url, String param, Map<String, String> headers) { | 
 |  |  |         PrintWriter out = null; | 
 |  |  |         BufferedReader in = null; | 
 |  |  |         StringBuilder result = new StringBuilder(); | 
 |  |  |         try { | 
 |  |  |             log.info("sendPost - {}", url); | 
 |  |  |             URL realUrl = new URL(url); | 
 |  |  |             URLConnection conn = realUrl.openConnection(); | 
 |  |  |             conn.setRequestProperty("accept", "*/*"); | 
 |  |  |             conn.setRequestProperty("connection", "Keep-Alive"); | 
 |  |  |             conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); | 
 |  |  |             conn.setRequestProperty("Accept-Charset", "utf-8"); | 
 |  |  |             conn.setRequestProperty("contentType", "utf-8"); | 
 |  |  |             conn.setDoOutput(true); | 
 |  |  |             conn.setDoInput(true); | 
 |  |  |             if (!Objects.isNull(headers)) { | 
 |  |  |                 for (Map.Entry<String, String> entry : headers.entrySet()) { | 
 |  |  |                     conn.setRequestProperty(entry.getKey(), entry.getValue()); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             out = new PrintWriter(conn.getOutputStream()); | 
 |  |  |             out.print(param); | 
 |  |  |             out.flush(); | 
 |  |  |             in = new BufferedReader(new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8)); | 
 |  |  |             String line; | 
 |  |  |             while ((line = in.readLine()) != null) { | 
 |  |  |                 result.append(line); | 
 |  |  |             } | 
 |  |  |         } catch (ConnectException e) { | 
 |  |  |             log.error("è°ç¨HttpUtils.sendPost ConnectException, url=" + url + ",param=" + param, e); | 
 |  |  |         } catch (SocketTimeoutException e) { | 
 |  |  |             log.error("è°ç¨HttpUtils.sendPost SocketTimeoutException, url=" + url + ",param=" + param, e); | 
 |  |  |         } catch (IOException e) { | 
 |  |  |             log.error("è°ç¨HttpUtils.sendPost IOException, url=" + url + ",param=" + param, e); | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             log.error("è°ç¨HttpsUtil.sendPost Exception, url=" + url + ",param=" + param, e); | 
 |  |  |         } finally { | 
 |  |  |             try { | 
 |  |  |                 if (out != null) { | 
 |  |  |                     out.close(); | 
 |  |  |                 } | 
 |  |  |                 if (in != null) { | 
 |  |  |                     in.close(); | 
 |  |  |                 } | 
 |  |  |             } catch (IOException ex) { | 
 |  |  |                 log.error("è°ç¨in.close Exception, url=" + url + ",param=" + param, ex); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         return result.toString(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public static String sendSSLPost(String url, String param) { | 
 |  |  |         StringBuilder result = new StringBuilder(); | 
 |  |  |         String urlNameString = url + "?" + param; | 
 |  |  |         try | 
 |  |  |         { | 
 |  |  |         try { | 
 |  |  |             log.info("sendSSLPost - {}", urlNameString); | 
 |  |  |             SSLContext sc = SSLContext.getInstance("SSL"); | 
 |  |  |             sc.init(null, new TrustManager[] { new TrustAnyTrustManager() }, new java.security.SecureRandom()); | 
 |  |  |             sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom()); | 
 |  |  |             URL console = new URL(urlNameString); | 
 |  |  |             HttpsURLConnection conn = (HttpsURLConnection) console.openConnection(); | 
 |  |  |             conn.setRequestProperty("accept", "*/*"); | 
 |  |  | 
 |  |  |             InputStream is = conn.getInputStream(); | 
 |  |  |             BufferedReader br = new BufferedReader(new InputStreamReader(is)); | 
 |  |  |             String ret = ""; | 
 |  |  |             while ((ret = br.readLine()) != null) | 
 |  |  |             { | 
 |  |  |                 if (ret != null && !"".equals(ret.trim())) | 
 |  |  |                 { | 
 |  |  |             while ((ret = br.readLine()) != null) { | 
 |  |  |                 if (ret != null && !"".equals(ret.trim())) { | 
 |  |  |                     result.append(new String(ret.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8)); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             log.info("recv - {}", result); | 
 |  |  |             conn.disconnect(); | 
 |  |  |             br.close(); | 
 |  |  |         } | 
 |  |  |         catch (ConnectException e) | 
 |  |  |         { | 
 |  |  |         } catch (ConnectException e) { | 
 |  |  |             log.error("è°ç¨HttpUtils.sendSSLPost ConnectException, url=" + url + ",param=" + param, e); | 
 |  |  |         } | 
 |  |  |         catch (SocketTimeoutException e) | 
 |  |  |         { | 
 |  |  |         } catch (SocketTimeoutException e) { | 
 |  |  |             log.error("è°ç¨HttpUtils.sendSSLPost SocketTimeoutException, url=" + url + ",param=" + param, e); | 
 |  |  |         } | 
 |  |  |         catch (IOException e) | 
 |  |  |         { | 
 |  |  |         } catch (IOException e) { | 
 |  |  |             log.error("è°ç¨HttpUtils.sendSSLPost IOException, url=" + url + ",param=" + param, e); | 
 |  |  |         } | 
 |  |  |         catch (Exception e) | 
 |  |  |         { | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             log.error("è°ç¨HttpsUtil.sendSSLPost Exception, url=" + url + ",param=" + param, e); | 
 |  |  |         } | 
 |  |  |         return result.toString(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private static class TrustAnyTrustManager implements X509TrustManager | 
 |  |  |     { | 
 |  |  |     private static class TrustAnyTrustManager implements X509TrustManager { | 
 |  |  |         @Override | 
 |  |  |         public void checkClientTrusted(X509Certificate[] chain, String authType) | 
 |  |  |         { | 
 |  |  |         public void checkClientTrusted(X509Certificate[] chain, String authType) { | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         @Override | 
 |  |  |         public void checkServerTrusted(X509Certificate[] chain, String authType) | 
 |  |  |         { | 
 |  |  |         public void checkServerTrusted(X509Certificate[] chain, String authType) { | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         @Override | 
 |  |  |         public X509Certificate[] getAcceptedIssuers() | 
 |  |  |         { | 
 |  |  |             return new X509Certificate[] {}; | 
 |  |  |         public X509Certificate[] getAcceptedIssuers() { | 
 |  |  |             return new X509Certificate[]{}; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private static class TrustAnyHostnameVerifier implements HostnameVerifier | 
 |  |  |     { | 
 |  |  |     private static class TrustAnyHostnameVerifier implements HostnameVerifier { | 
 |  |  |         @Override | 
 |  |  |         public boolean verify(String hostname, SSLSession session) | 
 |  |  |         { | 
 |  |  |         public boolean verify(String hostname, SSLSession session) { | 
 |  |  |             return true; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | } | 
 |  |  | } | 
 
 |  |  | 
 |  |  |                 // è¿æ»¤è¯·æ± | 
 |  |  |                 .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/servicetask/getScriptInfoByCondition", "/smartor/serviceSubtask/saveQuestionAnswer").permitAll() | 
 |  |  |                 .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/serviceSubtask/saveQuestionAnswer").permitAll() | 
 |  |  |                 // éæèµæºï¼å¯å¿åè®¿é® | 
 |  |  |                 .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll().antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() | 
 |  |  |                 // é¤ä¸é¢å¤çææè¯·æ±å
¨é¨éè¦é´æè®¤è¯ | 
 
 |  |  | 
 |  |  | package com.ruoyi.quartz.task; | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson2.JSON; | 
 |  |  | import com.fasterxml.jackson.core.JsonProcessingException; | 
 |  |  | import com.fasterxml.jackson.databind.JsonNode; | 
 |  |  | import com.fasterxml.jackson.databind.ObjectMapper; | 
 |  |  | import com.google.common.reflect.TypeToken; | 
 |  |  | import com.google.gson.JsonObject; | 
 |  |  | import com.google.gson.JsonArray; | 
 |  |  | import com.google.gson.Gson; | 
 |  |  | import com.ruoyi.common.core.redis.RedisCache; | 
 |  |  | import com.ruoyi.common.enums.ServiceFromEnum; | 
 |  |  | import com.ruoyi.common.utils.RSAPublicKeyExample; | 
 |  |  | import com.ruoyi.common.utils.StringUtils; | 
 |  |  | import com.ruoyi.common.utils.http.HttpUtils; | 
 |  |  | import com.smartor.common.SendService; | 
 |  |  | import com.smartor.domain.*; | 
 |  |  | import com.smartor.mapper.ServiceSubtaskMapper; | 
 |  |  | import com.smartor.mapper.ServiceTaskMapper; | 
 |  |  | import com.smartor.service.*; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import org.apache.commons.collections4.CollectionUtils; | 
 |  |  | import org.apache.commons.lang3.math.NumberUtils; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.beans.factory.annotation.Value; | 
 |  |  | import org.springframework.stereotype.Component; | 
 |  |  |  | 
 |  |  | import java.lang.reflect.Type; | 
 |  |  | import java.text.ParseException; | 
 |  |  | import java.text.SimpleDateFormat; | 
 |  |  | import java.time.LocalDateTime; | 
 |  |  | import java.time.format.DateTimeFormatter; | 
 |  |  | import java.util.*; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  | 
 |  |  |     @Autowired | 
 |  |  |     IBaseSmsaccountService baseSmsaccountService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     IPatArchiveService patArchiveService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     IPatMedInhospService patMedInhospService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     IPatMedOuthospService patMedOuthospService; | 
 |  |  |  | 
 |  |  |     @Value("${hosp_info_url}") | 
 |  |  |     private String hospInfoUrl; | 
 |  |  |  | 
 |  |  |     public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) { | 
 |  |  |         System.out.println(StringUtils.format("æ§è¡å¤åæ¹æ³ï¼ å符串类å{}ï¼å¸å°ç±»å{}ï¼é¿æ´å{}ï¼æµ®ç¹å{}ï¼æ´å½¢{}", s, b, l, d, i)); | 
 |  |  |     } | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     public void dealHisData() { | 
 |  |  |         //å°æ£è
ä¿¡æ¯ãåºé¢ãé¨è¯æ°æ®å
¨é¨éé | 
 |  |  |  | 
 |  |  |         getInHospInfo("0"); | 
 |  |  |         getInHospInfo("1"); | 
 |  |  |  | 
 |  |  |         //è°ç¨dealOupHospInfoæ°æ®å¤çæ¹æ³ï¼å¤çå®åï¼å°âåºé¢è¡¨çcheck_flag=1â | 
 |  |  |         //è·åå½åæ¥æ ï¼ç²¾ç¡®å°å¤©ï¼å¾åæ¨ç¸åºå¤©æ°ï¼å¨æå®çåºç¡æ¨¡æ¿ä¸æ¾å¯¹åºç天æ°ï¼ï¼ | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     public void longTaskSend() { | 
 |  |  |         //è·åä»»å¡ä¿¡æ¯ | 
 |  |  |         ServiceTask st =new ServiceTask(); | 
 |  |  |         ServiceTask st = new ServiceTask(); | 
 |  |  |         st.setDelFlag("0"); | 
 |  |  |         st.setLongTask(1); | 
 |  |  |         List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(st); | 
 |  |  |         for (ServiceTask serviceTask : serviceTasks) { | 
 |  |  |             //éè¿taskId,è·åæªæ§è¡çåä»»å¡ä¿¡æ¯ | 
 |  |  |             ServiceSubtask serviceSubtask = new ServiceSubtask(); | 
 |  |  |             ServiceSubtaskVO serviceSubtask = new ServiceSubtaskVO(); | 
 |  |  |             serviceSubtask.setTaskid(serviceTask.getTaskid()); | 
 |  |  |             serviceSubtask.setSendstate(2L); | 
 |  |  |             List<ServiceSubtask> selectServiceSubtaskList = iServiceSubtaskService.selectServiceSubtaskList(serviceSubtask); | 
 |  |  | 
 |  |  |                 String descByCode = ServiceFromEnum.getDescByCode(Integer.valueOf(serviceFrom)); | 
 |  |  |                 //è¿éå¯ä»¥èèç¨çç¥æ¨¡å¼ä¼åä¸ä¸ï¼ä¸ç¶å¤ªé¾çäº | 
 |  |  |                 //éè¿ä»»å¡IDæ¿å°æ£è
ä¿¡æ¯ | 
 |  |  |                 ServiceSubtask ivrTaskcall = new ServiceSubtask(); | 
 |  |  |                 ServiceSubtaskVO ivrTaskcall = new ServiceSubtaskVO(); | 
 |  |  |                 ivrTaskcall.setTaskid(commonTaskcallMQ.getTaskid()); | 
 |  |  |                 List<ServiceSubtask> selectServiceSubtaskList = iServiceSubtaskService.selectServiceSubtaskList(ivrTaskcall); | 
 |  |  |                 if (descByCode.equals("çµè¯")) { | 
 |  |  | 
 |  |  |                         if (commonTaskcallMQ.getSendType().equals("2")) { | 
 |  |  |                             //è¯´ææ¯ç«å³åé | 
 |  |  |                             String value = redisCache.getCacheObject("cache-0"); | 
 |  |  |                             ServiceSubtask serviceSubtask1 = new ServiceSubtask(); | 
 |  |  |                             ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO(); | 
 |  |  |                             serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid()); | 
 |  |  |                             List<ServiceSubtask> selectServiceSubtaskList1 = iServiceSubtaskService.selectServiceSubtaskList(serviceSubtask1); | 
 |  |  |                             for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) { | 
 |  |  | 
 |  |  |                         } else { | 
 |  |  |                             //éç«å³åé | 
 |  |  |                             String value = redisCache.getCacheObject(key); | 
 |  |  |                             ServiceSubtask serviceSubtask1 = new ServiceSubtask(); | 
 |  |  |                             ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO(); | 
 |  |  |                             serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid()); | 
 |  |  |                             List<ServiceSubtask> selectServiceSubtaskList1 = iServiceSubtaskService.selectServiceSubtaskList(serviceSubtask1); | 
 |  |  |                             for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) { | 
 |  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è·åºé¢æ£è
ä¿¡æ¯ | 
 |  |  |      * cry    åºå
¥é¢ï¼ 0 å
¥é¢   1 åºé¢ | 
 |  |  |      */ | 
 |  |  |     private void getInHospInfo(String cry) { | 
 |  |  |         // è·åå½åæ¥æåæ¶é´ | 
 |  |  |         LocalDateTime currentDateTime = LocalDateTime.now(); | 
 |  |  |         // è·ååä¸å¤©çæ¥æåæ¶é´ | 
 |  |  |         LocalDateTime previousDateTime = currentDateTime.minusDays(1); | 
 |  |  |         // å®ä¹æ¥ææ¶é´æ ¼å¼ | 
 |  |  |         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S"); | 
 |  |  |         Map<String, String> req = new HashMap<>(); | 
 |  |  |         if (cry.equals("1")) { | 
 |  |  |             req.put("startTime", previousDateTime.format(formatter)); | 
 |  |  |             req.put("endTime", currentDateTime.format(formatter)); | 
 |  |  |             req.put("currStatus", "4"); | 
 |  |  |         } else if (cry.equals("0")) { | 
 |  |  |             req.put("admissStartDate", previousDateTime.format(formatter)); | 
 |  |  |             req.put("admissEndDate", currentDateTime.format(formatter)); | 
 |  |  |             req.put("currStatus", "2"); | 
 |  |  |         } | 
 |  |  |         Map<String, String> header = new HashMap<>(); | 
 |  |  |         header.put("x-hcsb-serviceno", "IS002347"); | 
 |  |  |         header.put("x-hcsb-version", "2.0"); | 
 |  |  |         header.put("x-hcsb-sourcesyscode", "14"); | 
 |  |  |         header.put("x-hcsb-token", "ArGE2JnHtxG/Zx5nrnGY4eOfMUJGGJokAJHigG1BrCY="); | 
 |  |  |         header.put("x-hcsb-msgdate", currentDateTime.format(formatter)); | 
 |  |  |         String result = HttpUtils.sendPostByHeader(hospInfoUrl, new Gson().toJson(req), header); | 
 |  |  |         //æ°æ®è§£æ | 
 |  |  |         Gson gson = new Gson(); | 
 |  |  |         JsonObject jsonObject = gson.fromJson(result, JsonObject.class); | 
 |  |  |         JsonArray resultArray = jsonObject.getAsJsonObject("data").getAsJsonArray("result"); | 
 |  |  |         Type resultType = new TypeToken<List<ThiedInhospInfo>>() { | 
 |  |  |         }.getType(); | 
 |  |  |         List<ThiedInhospInfo> thiedInhospInfoList = gson.fromJson(resultArray, resultType); | 
 |  |  |         if (CollectionUtils.isNotEmpty(thiedInhospInfoList)) { | 
 |  |  |             for (ThiedInhospInfo thiedInhospInfo : thiedInhospInfoList) { | 
 |  |  |                 //éè¿èº«ä»½è¯å·æ¥è¯¢è¯¥æ£è
卿£è
表æ¯å¦åå¨ | 
 |  |  |                 PatArchive patArchive = new PatArchive(); | 
 |  |  |                 patArchive.setIdcardno(thiedInhospInfo.getPatiIdCardNo()); | 
 |  |  |                 List<PatArchive> patArchives = patArchiveService.selectPatArchiveList(patArchive); | 
 |  |  |                 if (CollectionUtils.isEmpty(patArchives)) { | 
 |  |  |                     patArchive.setPatientno(thiedInhospInfo.getPatiMediaNo()); | 
 |  |  |                     patArchive.setSourcefrom(2); | 
 |  |  |                     patArchive.setPattype("2"); | 
 |  |  |                     patArchive.setSex(thiedInhospInfo.getPatiRecordGender().equals("ç·") ? 1L : 2L); | 
 |  |  |                     patArchive.setNation(thiedInhospInfo.getPatiNation()); | 
 |  |  |                     patArchive.setNativePlace(thiedInhospInfo.getPatiNationality()); | 
 |  |  |                     patArchive.setPlaceOfResidence(thiedInhospInfo.getPatiHomeAddr()); | 
 |  |  |                     try { | 
 |  |  |                         if (StringUtils.isNotEmpty(thiedInhospInfo.getPatiBirthday())) | 
 |  |  |                             patArchive.setBirthdate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(thiedInhospInfo.getPatiBirthday())); | 
 |  |  |                     } catch (ParseException e) { | 
 |  |  |                         e.printStackTrace(); | 
 |  |  |                     } | 
 |  |  |                     String age = thiedInhospInfo.getAge().replaceAll("å²", ""); | 
 |  |  |                     boolean creatable = NumberUtils.isCreatable(age); | 
 |  |  |                     if (creatable) patArchive.setAge(StringUtils.isNotEmpty(age) ? Long.valueOf(age) : null); | 
 |  |  |                     patArchive.setTelcode(thiedInhospInfo.getCompanyTelNum()); | 
 |  |  |                     patArchive.setRelativetelcode(thiedInhospInfo.getContactPersonPhone()); | 
 |  |  |                     patArchive.setDelFlag("0"); | 
 |  |  |                     patArchive.setCreateTime(new Date()); | 
 |  |  |                     patArchive.setUpdateTime(new Date()); | 
 |  |  |                     patArchive.setName(thiedInhospInfo.getPatiRecordName()); | 
 |  |  |                     patArchiveService.insertPatArchive(patArchive); | 
 |  |  |                 } | 
 |  |  |                 PatMedInhosp patMedInhosp = new PatMedInhosp(); | 
 |  |  |                 patMedInhosp.setPatid(patArchive.getId()); | 
 |  |  |                 patMedInhosp.setPatno(patArchive.getPatientno()); | 
 |  |  |                 patMedInhosp.setPatname(patArchive.getName()); | 
 |  |  |                 patMedInhosp.setSerialnum(thiedInhospInfo.getInpatientId()); | 
 |  |  |                 if (cry.equals("0")) { | 
 |  |  |                     patMedInhosp.setInhospstate("0"); | 
 |  |  |                 } else if (cry.equals("1")) { | 
 |  |  |                     patMedInhosp.setInhospstate("1"); | 
 |  |  |                 } | 
 |  |  |                 patMedInhosp.setHospitalcode(thiedInhospInfo.getAreaId()); | 
 |  |  |                 patMedInhosp.setIcd10code(thiedInhospInfo.getDiagIcd10()); | 
 |  |  |                 patMedInhosp.setDiagname(thiedInhospInfo.getDiagName()); | 
 |  |  |                 try { | 
 |  |  |                     if (StringUtils.isNotEmpty(thiedInhospInfo.getAdmissDate())) | 
 |  |  |                         patMedInhosp.setStarttime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(thiedInhospInfo.getAdmissDate())); | 
 |  |  |                 } catch (ParseException e) { | 
 |  |  |                     e.printStackTrace(); | 
 |  |  |                 } | 
 |  |  |                 try { | 
 |  |  |                     if (StringUtils.isNotEmpty(thiedInhospInfo.getOutDate())) | 
 |  |  |                         patMedInhosp.setEndtime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(thiedInhospInfo.getOutDate())); | 
 |  |  |                 } catch (ParseException e) { | 
 |  |  |                     e.printStackTrace(); | 
 |  |  |                 } | 
 |  |  |                 patMedInhosp.setDeptcode(thiedInhospInfo.getAdmissDeptId()); | 
 |  |  |                 patMedInhosp.setDeptid(thiedInhospInfo.getAdmissDeptId()); | 
 |  |  |                 patMedInhosp.setDeptname(thiedInhospInfo.getAdmissDeptName()); | 
 |  |  |                 patMedInhosp.setBedNo(thiedInhospInfo.getAdmissBedNo()); | 
 |  |  |                 patMedInhosp.setDelFlag("0"); | 
 |  |  |                 patMedInhosp.setLeaveldeptcode(thiedInhospInfo.getCurrWardId()); | 
 |  |  |                 patMedInhosp.setLeaveldeptname(thiedInhospInfo.getCurrWardName()); | 
 |  |  |                 patMedInhosp.setLeavediagname(thiedInhospInfo.getDiagName()); | 
 |  |  |                 patMedInhosp.setLeaveicd10code(thiedInhospInfo.getDiagIcd10()); | 
 |  |  |                 patMedInhosp.setDrname(thiedInhospInfo.getDoctName()); | 
 |  |  |                 if (cry.equals("0")) { | 
 |  |  |                     patMedInhosp.setSchemestatus(1L); | 
 |  |  |                 } else if (cry.equals("1")) { | 
 |  |  |                     patMedInhosp.setSchemestatus(2L); | 
 |  |  |                 } | 
 |  |  |                 patMedInhosp.setLeavehospitaldistrictcode(thiedInhospInfo.getCurrWardId()); | 
 |  |  |                 patMedInhosp.setLeavehospitaldistrictid(thiedInhospInfo.getCurrWardId()); | 
 |  |  |                 patMedInhosp.setLeavehospitaldistrictname(thiedInhospInfo.getCurrWardName()); | 
 |  |  |                 patMedInhosp.setLeaveldeptid(thiedInhospInfo.getCurrDeptId()); | 
 |  |  |                 patMedInhospService.insertPatMedInhosp(patMedInhosp); | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     private String getKey() { | 
 |  |  |         Map<String, String> map = new HashMap<>(); | 
 |  |  |         for (int i = 0; i < 6; i++) { | 
 
 |  |  | 
 |  |  |  | 
 |  |  |     </dependencies> | 
 |  |  |  | 
 |  |  | </project> | 
 |  |  | </project> | 
 
| ¶Ô±ÈÐÂÎļþ | 
 |  |  | 
 |  |  | package com.ruoyi.system.service; | 
 |  |  |  | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysUserDept; | 
 |  |  |  | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * ã请填ååè½åç§°ãServiceæ¥å£ | 
 |  |  |  * | 
 |  |  |  * @author lihu | 
 |  |  |  * @date 2024-08-29 | 
 |  |  |  */ | 
 |  |  | public interface ISysUserDeptService | 
 |  |  | { | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢ã请填ååè½åç§°ã | 
 |  |  |      * | 
 |  |  |      * @param id ã请填ååè½åç§°ãä¸»é® | 
 |  |  |      * @return ã请填ååè½åç§°ã | 
 |  |  |      */ | 
 |  |  |     public SysUserDept selectSysUserDeptById(Long id); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢ã请填ååè½åç§°ãå表 | 
 |  |  |      * | 
 |  |  |      * @param sysUserDept ã请填ååè½åç§°ã | 
 |  |  |      * @return ã请填ååè½åç§°ãéå | 
 |  |  |      */ | 
 |  |  |     public List<SysUserDept> selectSysUserDeptList(SysUserDept sysUserDept); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°å¢ã请填ååè½åç§°ã | 
 |  |  |      * | 
 |  |  |      * @param sysUserDept ã请填ååè½åç§°ã | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     public int insertSysUserDept(SysUserDept sysUserDept); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä¿®æ¹ã请填ååè½åç§°ã | 
 |  |  |      * | 
 |  |  |      * @param sysUserDept ã请填ååè½åç§°ã | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     public int updateSysUserDept(SysUserDept sysUserDept); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¹éå é¤ã请填ååè½åç§°ã | 
 |  |  |      * | 
 |  |  |      * @param ids éè¦å é¤çã请填ååè½åç§°ã主é®éå | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     public int deleteSysUserDeptByIds(Long[] ids); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å é¤ã请填ååè½åç§°ãä¿¡æ¯ | 
 |  |  |      * | 
 |  |  |      * @param id ã请填ååè½åç§°ãä¸»é® | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     public int deleteSysUserDeptById(Long id); | 
 |  |  | } | 
 
| ¶Ô±ÈÐÂÎļþ | 
 |  |  | 
 |  |  | package com.ruoyi.system.service.impl; | 
 |  |  |  | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysUserDept; | 
 |  |  | import com.ruoyi.system.service.ISysUserDeptService; | 
 |  |  | import com.smartor.mapper.SysUserDeptMapper; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  |  | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * ã请填ååè½åç§°ãServiceä¸å¡å±å¤ç | 
 |  |  |  * | 
 |  |  |  * @author lihu | 
 |  |  |  * @date 2024-08-29 | 
 |  |  |  */ | 
 |  |  | @Service | 
 |  |  | public class SysUserDeptServiceImpl implements ISysUserDeptService | 
 |  |  | { | 
 |  |  |     @Autowired | 
 |  |  |     private SysUserDeptMapper sysUserDeptMapper; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢ã请填ååè½åç§°ã | 
 |  |  |      * | 
 |  |  |      * @param id ã请填ååè½åç§°ãä¸»é® | 
 |  |  |      * @return ã请填ååè½åç§°ã | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public SysUserDept selectSysUserDeptById(Long id) | 
 |  |  |     { | 
 |  |  |         return sysUserDeptMapper.selectSysUserDeptById(id); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢ã请填ååè½åç§°ãå表 | 
 |  |  |      * | 
 |  |  |      * @param sysUserDept ã请填ååè½åç§°ã | 
 |  |  |      * @return ã请填ååè½åç§°ã | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public List<SysUserDept> selectSysUserDeptList(SysUserDept sysUserDept) | 
 |  |  |     { | 
 |  |  |         return sysUserDeptMapper.selectSysUserDeptList(sysUserDept); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°å¢ã请填ååè½åç§°ã | 
 |  |  |      * | 
 |  |  |      * @param sysUserDept ã请填ååè½åç§°ã | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public int insertSysUserDept(SysUserDept sysUserDept) | 
 |  |  |     { | 
 |  |  |         return sysUserDeptMapper.insertSysUserDept(sysUserDept); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä¿®æ¹ã请填ååè½åç§°ã | 
 |  |  |      * | 
 |  |  |      * @param sysUserDept ã请填ååè½åç§°ã | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public int updateSysUserDept(SysUserDept sysUserDept) | 
 |  |  |     { | 
 |  |  |         return sysUserDeptMapper.updateSysUserDept(sysUserDept); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¹éå é¤ã请填ååè½åç§°ã | 
 |  |  |      * | 
 |  |  |      * @param ids éè¦å é¤çã请填ååè½åç§°ãä¸»é® | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public int deleteSysUserDeptByIds(Long[] ids) | 
 |  |  |     { | 
 |  |  |         return sysUserDeptMapper.deleteSysUserDeptByIds(ids); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å é¤ã请填ååè½åç§°ãä¿¡æ¯ | 
 |  |  |      * | 
 |  |  |      * @param id ã请填ååè½åç§°ãä¸»é® | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public int deleteSysUserDeptById(Long id) | 
 |  |  |     { | 
 |  |  |         return sysUserDeptMapper.deleteSysUserDeptById(id); | 
 |  |  |     } | 
 |  |  | } | 
 
 |  |  | 
 |  |  | package com.ruoyi.system.service.impl; | 
 |  |  |  | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.stream.Collectors; | 
 |  |  | import javax.validation.Validator; | 
 |  |  | import org.slf4j.Logger; | 
 |  |  | import org.slf4j.LoggerFactory; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  | import org.springframework.transaction.annotation.Transactional; | 
 |  |  | import org.springframework.util.CollectionUtils; | 
 |  |  | import com.ruoyi.common.annotation.DataScope; | 
 |  |  | import com.ruoyi.common.constant.UserConstants; | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysDept; | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysRole; | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysUser; | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysUserDept; | 
 |  |  | import com.ruoyi.common.exception.ServiceException; | 
 |  |  | import com.ruoyi.common.utils.SecurityUtils; | 
 |  |  | import com.ruoyi.common.utils.StringUtils; | 
 |  |  | 
 |  |  | import com.ruoyi.system.domain.SysPost; | 
 |  |  | import com.ruoyi.system.domain.SysUserPost; | 
 |  |  | import com.ruoyi.system.domain.SysUserRole; | 
 |  |  | import com.ruoyi.system.mapper.SysPostMapper; | 
 |  |  | import com.ruoyi.system.mapper.SysRoleMapper; | 
 |  |  | import com.ruoyi.system.mapper.SysUserMapper; | 
 |  |  | import com.ruoyi.system.mapper.SysUserPostMapper; | 
 |  |  | import com.ruoyi.system.mapper.SysUserRoleMapper; | 
 |  |  | import com.ruoyi.system.mapper.*; | 
 |  |  | import com.ruoyi.system.service.ISysConfigService; | 
 |  |  | import com.ruoyi.system.service.ISysUserService; | 
 |  |  | import com.smartor.mapper.SysUserDeptMapper; | 
 |  |  | import org.slf4j.Logger; | 
 |  |  | import org.slf4j.LoggerFactory; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  | import org.springframework.transaction.annotation.Transactional; | 
 |  |  | import org.springframework.util.CollectionUtils; | 
 |  |  |  | 
 |  |  | import javax.validation.Validator; | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.stream.Collectors; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * ç¨æ· ä¸å¡å±å¤ç | 
 |  |  |  *  | 
 |  |  |  * | 
 |  |  |  * @author ruoyi | 
 |  |  |  */ | 
 |  |  | @Service | 
 |  |  | public class SysUserServiceImpl implements ISysUserService | 
 |  |  | { | 
 |  |  | public class SysUserServiceImpl implements ISysUserService { | 
 |  |  |     private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SysUserMapper userMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private SysUserDeptMapper sysUserDeptMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SysRoleMapper roleMapper; | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ ¹æ®æ¡ä»¶å页æ¥è¯¢ç¨æ·å表 | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param user ç¨æ·ä¿¡æ¯ | 
 |  |  |      * @return ç¨æ·ä¿¡æ¯éåä¿¡æ¯ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     @DataScope(deptAlias = "d", userAlias = "u") | 
 |  |  |     public List<SysUser> selectUserList(SysUser user) | 
 |  |  |     { | 
 |  |  |     public List<SysUser> selectUserList(SysUser user) { | 
 |  |  |         return userMapper.selectUserList(user); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ ¹æ®æ¡ä»¶å页æ¥è¯¢å·²åé
ç¨æ·è§è²å表 | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param user ç¨æ·ä¿¡æ¯ | 
 |  |  |      * @return ç¨æ·ä¿¡æ¯éåä¿¡æ¯ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     @DataScope(deptAlias = "d", userAlias = "u") | 
 |  |  |     public List<SysUser> selectAllocatedList(SysUser user) | 
 |  |  |     { | 
 |  |  |     public List<SysUser> selectAllocatedList(SysUser user) { | 
 |  |  |         return userMapper.selectAllocatedList(user); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ ¹æ®æ¡ä»¶å页æ¥è¯¢æªåé
ç¨æ·è§è²å表 | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param user ç¨æ·ä¿¡æ¯ | 
 |  |  |      * @return ç¨æ·ä¿¡æ¯éåä¿¡æ¯ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     @DataScope(deptAlias = "d", userAlias = "u") | 
 |  |  |     public List<SysUser> selectUnallocatedList(SysUser user) | 
 |  |  |     { | 
 |  |  |     public List<SysUser> selectUnallocatedList(SysUser user) { | 
 |  |  |         return userMapper.selectUnallocatedList(user); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * éè¿ç¨æ·åæ¥è¯¢ç¨æ· | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param userName ç¨æ·å | 
 |  |  |      * @return ç¨æ·å¯¹è±¡ä¿¡æ¯ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public SysUser selectUserByUserName(String userName) | 
 |  |  |     { | 
 |  |  |     public SysUser selectUserByUserName(String userName) { | 
 |  |  |         SysUser sysUser = userMapper.selectUserByUserName(userName); | 
 |  |  |         List<SysDept> sysDepts = sysUserDeptMapper.selectDeptListByUserId(sysUser.getUserId()); | 
 |  |  |         List<Long> deptIds = new ArrayList<>(); | 
 |  |  |         for (SysDept sysDept : sysDepts) { | 
 |  |  |             deptIds.add(sysDept.getDeptId()); | 
 |  |  |         } | 
 |  |  |         sysUser.setDepts(deptIds); | 
 |  |  |         return userMapper.selectUserByUserName(userName); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * éè¿ç¨æ·IDæ¥è¯¢ç¨æ· | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param userId ç¨æ·ID | 
 |  |  |      * @return ç¨æ·å¯¹è±¡ä¿¡æ¯ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public SysUser selectUserById(Long userId) | 
 |  |  |     { | 
 |  |  |         return userMapper.selectUserById(userId); | 
 |  |  |     public SysUser selectUserById(Long userId) { | 
 |  |  |         SysUser sysUser = userMapper.selectUserById(userId); | 
 |  |  |         List<SysDept> sysDepts = sysUserDeptMapper.selectDeptListByUserId(sysUser.getUserId()); | 
 |  |  |         List<Long> deptIds = new ArrayList<>(); | 
 |  |  |         for (SysDept sysDept : sysDepts) { | 
 |  |  |             deptIds.add(sysDept.getDeptId()); | 
 |  |  |         } | 
 |  |  |         sysUser.setDepts(deptIds); | 
 |  |  |         return sysUser; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢ç¨æ·æå±è§è²ç» | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param userName ç¨æ·å | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public String selectUserRoleGroup(String userName) | 
 |  |  |     { | 
 |  |  |     public String selectUserRoleGroup(String userName) { | 
 |  |  |         List<SysRole> list = roleMapper.selectRolesByUserName(userName); | 
 |  |  |         if (CollectionUtils.isEmpty(list)) | 
 |  |  |         { | 
 |  |  |         if (CollectionUtils.isEmpty(list)) { | 
 |  |  |             return StringUtils.EMPTY; | 
 |  |  |         } | 
 |  |  |         return list.stream().map(SysRole::getRoleName).collect(Collectors.joining(",")); | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢ç¨æ·æå±å²ä½ç» | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param userName ç¨æ·å | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public String selectUserPostGroup(String userName) | 
 |  |  |     { | 
 |  |  |     public String selectUserPostGroup(String userName) { | 
 |  |  |         List<SysPost> list = postMapper.selectPostsByUserName(userName); | 
 |  |  |         if (CollectionUtils.isEmpty(list)) | 
 |  |  |         { | 
 |  |  |         if (CollectionUtils.isEmpty(list)) { | 
 |  |  |             return StringUtils.EMPTY; | 
 |  |  |         } | 
 |  |  |         return list.stream().map(SysPost::getPostName).collect(Collectors.joining(",")); | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ ¡éªç¨æ·åç§°æ¯å¦å¯ä¸ | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param user ç¨æ·ä¿¡æ¯ | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public String checkUserNameUnique(SysUser user) | 
 |  |  |     { | 
 |  |  |     public String checkUserNameUnique(SysUser user) { | 
 |  |  |         Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); | 
 |  |  |         SysUser info = userMapper.checkUserNameUnique(user.getUserName()); | 
 |  |  |         if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) | 
 |  |  |         { | 
 |  |  |         if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { | 
 |  |  |             return UserConstants.NOT_UNIQUE; | 
 |  |  |         } | 
 |  |  |         return UserConstants.UNIQUE; | 
 |  |  | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public String checkPhoneUnique(SysUser user) | 
 |  |  |     { | 
 |  |  |     public String checkPhoneUnique(SysUser user) { | 
 |  |  |         Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); | 
 |  |  |         SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber()); | 
 |  |  |         if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) | 
 |  |  |         { | 
 |  |  |         if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { | 
 |  |  |             return UserConstants.NOT_UNIQUE; | 
 |  |  |         } | 
 |  |  |         return UserConstants.UNIQUE; | 
 |  |  | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public String checkEmailUnique(SysUser user) | 
 |  |  |     { | 
 |  |  |     public String checkEmailUnique(SysUser user) { | 
 |  |  |         Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); | 
 |  |  |         SysUser info = userMapper.checkEmailUnique(user.getEmail()); | 
 |  |  |         if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) | 
 |  |  |         { | 
 |  |  |         if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { | 
 |  |  |             return UserConstants.NOT_UNIQUE; | 
 |  |  |         } | 
 |  |  |         return UserConstants.UNIQUE; | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ ¡éªç¨æ·æ¯å¦å
许æä½ | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param user ç¨æ·ä¿¡æ¯ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public void checkUserAllowed(SysUser user) | 
 |  |  |     { | 
 |  |  |         if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) | 
 |  |  |         { | 
 |  |  |     public void checkUserAllowed(SysUser user) { | 
 |  |  |         if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) { | 
 |  |  |             throw new ServiceException("ä¸å
许æä½è¶
级管çåç¨æ·"); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ ¡éªç¨æ·æ¯å¦ææ°æ®æé | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param userId ç¨æ·id | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public void checkUserDataScope(Long userId) | 
 |  |  |     { | 
 |  |  |         if (!SysUser.isAdmin(SecurityUtils.getUserId())) | 
 |  |  |         { | 
 |  |  |     public void checkUserDataScope(Long userId) { | 
 |  |  |         if (!SysUser.isAdmin(SecurityUtils.getUserId())) { | 
 |  |  |             SysUser user = new SysUser(); | 
 |  |  |             user.setUserId(userId); | 
 |  |  |             List<SysUser> users = SpringUtils.getAopProxy(this).selectUserList(user); | 
 |  |  |             if (StringUtils.isEmpty(users)) | 
 |  |  |             { | 
 |  |  |             if (StringUtils.isEmpty(users)) { | 
 |  |  |                 throw new ServiceException("没ææé访é®ç¨æ·æ°æ®ï¼"); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°å¢ä¿åç¨æ·ä¿¡æ¯ | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param user ç¨æ·ä¿¡æ¯ | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     @Transactional | 
 |  |  |     public int insertUser(SysUser user) | 
 |  |  |     { | 
 |  |  |     public int insertUser(SysUser user) { | 
 |  |  |         // æ°å¢ç¨æ·ä¿¡æ¯ | 
 |  |  |         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()); | 
 |  |  |                 sysUserDeptMapper.insertSysUserDept(sysUserDep); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         // æ°å¢ç¨æ·å²ä½å
³è | 
 |  |  |         insertUserPost(user); | 
 |  |  |         // æ°å¢ç¨æ·ä¸è§è²ç®¡ç | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ³¨åç¨æ·ä¿¡æ¯ | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param user ç¨æ·ä¿¡æ¯ | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public boolean registerUser(SysUser user) | 
 |  |  |     { | 
 |  |  |     public boolean registerUser(SysUser user) { | 
 |  |  |         return userMapper.insertUser(user) > 0; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä¿®æ¹ä¿åç¨æ·ä¿¡æ¯ | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param user ç¨æ·ä¿¡æ¯ | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     @Transactional | 
 |  |  |     public int updateUser(SysUser user) | 
 |  |  |     { | 
 |  |  |     public int updateUser(SysUser user) { | 
 |  |  |         Long userId = user.getUserId(); | 
 |  |  |         // å é¤ç¨æ·ä¸è§è²å
³è | 
 |  |  |         userRoleMapper.deleteUserRoleByUserId(userId); | 
 |  |  | 
 |  |  |         userPostMapper.deleteUserPostByUserId(userId); | 
 |  |  |         // æ°å¢ç¨æ·ä¸å²ä½ç®¡ç | 
 |  |  |         insertUserPost(user); | 
 |  |  |         //å é¤ç¨æ·ä¸é¨é¨çå
³è | 
 |  |  |         Long[] ids = {user.getUserId()}; | 
 |  |  |         //æ°å¢ç¨æ·ä¸é¨é¨å
³è | 
 |  |  |         sysUserDeptMapper.deleteSysUserDeptByIds(ids); | 
 |  |  |         if (!CollectionUtils.isEmpty(user.getDepts())) { | 
 |  |  |             for ( Long deptId: user.getDepts()) { | 
 |  |  |                 SysUserDept sysUserDep = new SysUserDept(); | 
 |  |  |                 sysUserDep.setUserId(user.getUserId()); | 
 |  |  |                 sysUserDep.setDeptId(deptId); | 
 |  |  |                 //æ¥è¯¢æ¯å¦ å·²ç»å
³è该é¨é¨ | 
 |  |  |                 List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDep); | 
 |  |  |                 if (!CollectionUtils.isEmpty(sysUserDepts)) { | 
 |  |  |                     SysUserDept sysUserDept = sysUserDepts.get(0); | 
 |  |  |                     sysUserDept.setDelFlag(0L); | 
 |  |  |                     sysUserDeptMapper.updateSysUserDept(sysUserDept); | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 |  |  |                 sysUserDep.setCreateTime(new Date()); | 
 |  |  |                 sysUserDep.setUpdateTime(new Date()); | 
 |  |  |                 sysUserDeptMapper.insertSysUserDept(sysUserDep); | 
 |  |  |             } | 
 |  |  |         }else { | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |         return userMapper.updateUser(user); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ç¨æ·ææè§è² | 
 |  |  |      *  | 
 |  |  |      * @param userId ç¨æ·ID | 
 |  |  |      * | 
 |  |  |      * @param userId  ç¨æ·ID | 
 |  |  |      * @param roleIds è§è²ç» | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     @Transactional | 
 |  |  |     public void insertUserAuth(Long userId, Long[] roleIds) | 
 |  |  |     { | 
 |  |  |     public void insertUserAuth(Long userId, Long[] roleIds) { | 
 |  |  |         userRoleMapper.deleteUserRoleByUserId(userId); | 
 |  |  |         insertUserRole(userId, roleIds); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä¿®æ¹ç¨æ·ç¶æ | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param user ç¨æ·ä¿¡æ¯ | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public int updateUserStatus(SysUser user) | 
 |  |  |     { | 
 |  |  |     public int updateUserStatus(SysUser user) { | 
 |  |  |         return userMapper.updateUser(user); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä¿®æ¹ç¨æ·åºæ¬ä¿¡æ¯ | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param user ç¨æ·ä¿¡æ¯ | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public int updateUserProfile(SysUser user) | 
 |  |  |     { | 
 |  |  |     public int updateUserProfile(SysUser user) { | 
 |  |  |         return userMapper.updateUser(user); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä¿®æ¹ç¨æ·å¤´å | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param userName ç¨æ·å | 
 |  |  |      * @param avatar å¤´åå°å | 
 |  |  |      * @param avatar   å¤´åå°å | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public boolean updateUserAvatar(String userName, String avatar) | 
 |  |  |     { | 
 |  |  |     public boolean updateUserAvatar(String userName, String avatar) { | 
 |  |  |         return userMapper.updateUserAvatar(userName, avatar) > 0; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * éç½®ç¨æ·å¯ç  | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param user ç¨æ·ä¿¡æ¯ | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public int resetPwd(SysUser user) | 
 |  |  |     { | 
 |  |  |     public int resetPwd(SysUser user) { | 
 |  |  |         return userMapper.updateUser(user); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * éç½®ç¨æ·å¯ç  | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param userName ç¨æ·å | 
 |  |  |      * @param password å¯ç  | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public int resetUserPwd(String userName, String password) | 
 |  |  |     { | 
 |  |  |     public int resetUserPwd(String userName, String password) { | 
 |  |  |         return userMapper.resetUserPwd(userName, password); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°å¢ç¨æ·è§è²ä¿¡æ¯ | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param user ç¨æ·å¯¹è±¡ | 
 |  |  |      */ | 
 |  |  |     public void insertUserRole(SysUser user) | 
 |  |  |     { | 
 |  |  |     public void insertUserRole(SysUser user) { | 
 |  |  |         this.insertUserRole(user.getUserId(), user.getRoleIds()); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°å¢ç¨æ·å²ä½ä¿¡æ¯ | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param user ç¨æ·å¯¹è±¡ | 
 |  |  |      */ | 
 |  |  |     public void insertUserPost(SysUser user) | 
 |  |  |     { | 
 |  |  |     public void insertUserPost(SysUser user) { | 
 |  |  |         Long[] posts = user.getPostIds(); | 
 |  |  |         if (StringUtils.isNotEmpty(posts)) | 
 |  |  |         { | 
 |  |  |         if (StringUtils.isNotEmpty(posts)) { | 
 |  |  |             // æ°å¢ç¨æ·ä¸å²ä½ç®¡ç | 
 |  |  |             List<SysUserPost> list = new ArrayList<SysUserPost>(posts.length); | 
 |  |  |             for (Long postId : posts) | 
 |  |  |             { | 
 |  |  |             for (Long postId : posts) { | 
 |  |  |                 SysUserPost up = new SysUserPost(); | 
 |  |  |                 up.setUserId(user.getUserId()); | 
 |  |  |                 up.setPostId(postId); | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°å¢ç¨æ·è§è²ä¿¡æ¯ | 
 |  |  |      *  | 
 |  |  |      * @param userId ç¨æ·ID | 
 |  |  |      * | 
 |  |  |      * @param userId  ç¨æ·ID | 
 |  |  |      * @param roleIds è§è²ç» | 
 |  |  |      */ | 
 |  |  |     public void insertUserRole(Long userId, Long[] roleIds) | 
 |  |  |     { | 
 |  |  |         if (StringUtils.isNotEmpty(roleIds)) | 
 |  |  |         { | 
 |  |  |     public void insertUserRole(Long userId, Long[] roleIds) { | 
 |  |  |         if (StringUtils.isNotEmpty(roleIds)) { | 
 |  |  |             // æ°å¢ç¨æ·ä¸è§è²ç®¡ç | 
 |  |  |             List<SysUserRole> list = new ArrayList<SysUserRole>(roleIds.length); | 
 |  |  |             for (Long roleId : roleIds) | 
 |  |  |             { | 
 |  |  |             for (Long roleId : roleIds) { | 
 |  |  |                 SysUserRole ur = new SysUserRole(); | 
 |  |  |                 ur.setUserId(userId); | 
 |  |  |                 ur.setRoleId(roleId); | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * éè¿ç¨æ·IDå é¤ç¨æ· | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param userId ç¨æ·ID | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     @Transactional | 
 |  |  |     public int deleteUserById(Long userId) | 
 |  |  |     { | 
 |  |  |     public int deleteUserById(Long userId) { | 
 |  |  |         // å é¤ç¨æ·ä¸è§è²å
³è | 
 |  |  |         userRoleMapper.deleteUserRoleByUserId(userId); | 
 |  |  |         // å é¤ç¨æ·ä¸å²ä½è¡¨ | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¹éå é¤ç¨æ·ä¿¡æ¯ | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param userIds éè¦å é¤çç¨æ·ID | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     @Transactional | 
 |  |  |     public int deleteUserByIds(Long[] userIds) | 
 |  |  |     { | 
 |  |  |         for (Long userId : userIds) | 
 |  |  |         { | 
 |  |  |     public int deleteUserByIds(Long[] userIds) { | 
 |  |  |         for (Long userId : userIds) { | 
 |  |  |             checkUserAllowed(new SysUser(userId)); | 
 |  |  |             checkUserDataScope(userId); | 
 |  |  |         } | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å¯¼å
¥ç¨æ·æ°æ® | 
 |  |  |      *  | 
 |  |  |      * @param userList ç¨æ·æ°æ®å表 | 
 |  |  |      * | 
 |  |  |      * @param userList        ç¨æ·æ°æ®å表 | 
 |  |  |      * @param isUpdateSupport æ¯å¦æ´æ°æ¯æï¼å¦æå·²åå¨ï¼åè¿è¡æ´æ°æ°æ® | 
 |  |  |      * @param operName æä½ç¨æ· | 
 |  |  |      * @param operName        æä½ç¨æ· | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName) | 
 |  |  |     { | 
 |  |  |         if (StringUtils.isNull(userList) || userList.size() == 0) | 
 |  |  |         { | 
 |  |  |     public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName) { | 
 |  |  |         if (StringUtils.isNull(userList) || userList.size() == 0) { | 
 |  |  |             throw new ServiceException("导å
¥ç¨æ·æ°æ®ä¸è½ä¸ºç©ºï¼"); | 
 |  |  |         } | 
 |  |  |         int successNum = 0; | 
 |  |  | 
 |  |  |         StringBuilder successMsg = new StringBuilder(); | 
 |  |  |         StringBuilder failureMsg = new StringBuilder(); | 
 |  |  |         String password = configService.selectConfigByKey("sys.user.initPassword"); | 
 |  |  |         for (SysUser user : userList) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |         for (SysUser user : userList) { | 
 |  |  |             try { | 
 |  |  |                 // éªè¯æ¯å¦åå¨è¿ä¸ªç¨æ· | 
 |  |  |                 SysUser u = userMapper.selectUserByUserName(user.getUserName()); | 
 |  |  |                 if (StringUtils.isNull(u)) | 
 |  |  |                 { | 
 |  |  |                 if (StringUtils.isNull(u)) { | 
 |  |  |                     BeanValidators.validateWithException(validator, user); | 
 |  |  |                     user.setPassword(SecurityUtils.encryptPassword(password)); | 
 |  |  |                     user.setCreateBy(operName); | 
 |  |  |                     this.insertUser(user); | 
 |  |  |                     successNum++; | 
 |  |  |                     successMsg.append("<br/>" + successNum + "ã账巠" + user.getUserName() + " å¯¼å
¥æå"); | 
 |  |  |                 } | 
 |  |  |                 else if (isUpdateSupport) | 
 |  |  |                 { | 
 |  |  |                 } else if (isUpdateSupport) { | 
 |  |  |                     BeanValidators.validateWithException(validator, user); | 
 |  |  |                     checkUserAllowed(user); | 
 |  |  |                     checkUserDataScope(user.getUserId()); | 
 |  |  | 
 |  |  |                     this.updateUser(user); | 
 |  |  |                     successNum++; | 
 |  |  |                     successMsg.append("<br/>" + successNum + "ã账巠" + user.getUserName() + " æ´æ°æå"); | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                 } else { | 
 |  |  |                     failureNum++; | 
 |  |  |                     failureMsg.append("<br/>" + failureNum + "ã账巠" + user.getUserName() + " å·²åå¨"); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |             } catch (Exception e) { | 
 |  |  |                 failureNum++; | 
 |  |  |                 String msg = "<br/>" + failureNum + "ã账巠" + user.getUserName() + " å¯¼å
¥å¤±è´¥ï¼"; | 
 |  |  |                 failureMsg.append(msg + e.getMessage()); | 
 |  |  |                 log.error(msg, e); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         if (failureNum > 0) | 
 |  |  |         { | 
 |  |  |         if (failureNum > 0) { | 
 |  |  |             failureMsg.insert(0, "徿±æï¼å¯¼å
¥å¤±è´¥ï¼å
± " + failureNum + " æ¡æ°æ®æ ¼å¼ä¸æ£ç¡®ï¼é误å¦ä¸ï¼"); | 
 |  |  |             throw new ServiceException(failureMsg.toString()); | 
 |  |  |         } | 
 |  |  |         else | 
 |  |  |         { | 
 |  |  |         } else { | 
 |  |  |             successMsg.insert(0, "æåæ¨ï¼æ°æ®å·²å
¨é¨å¯¼å
¥æåï¼å
± " + successNum + " æ¡ï¼æ°æ®å¦ä¸ï¼"); | 
 |  |  |         } | 
 |  |  |         return successMsg.toString(); | 
 
 |  |  | 
 |  |  | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 
 |  |  | <mapper namespace="com.ruoyi.system.mapper.SysUserMapper"> | 
 |  |  |  | 
 |  |  |     <resultMap type="SysUser" id="SysUserResult"> | 
 |  |  |     <resultMap type="com.ruoyi.common.core.domain.entity.SysUser" id="SysUserResult"> | 
 |  |  |         <id     property="userId"       column="user_id"      /> | 
 |  |  |         <result property="deptId"       column="dept_id"      /> | 
 |  |  |         <result property="userName"     column="user_name"    /> | 
 |  |  | 
 |  |  |         <association property="dept"    column="dept_id" javaType="SysDept" resultMap="deptResult" /> | 
 |  |  |         <collection  property="roles"   javaType="java.util.List"           resultMap="RoleResult" /> | 
 |  |  |     </resultMap> | 
 |  |  | 	 | 
 |  |  |     <resultMap id="deptResult" type="SysDept"> | 
 |  |  |  | 
 |  |  |     <resultMap id="deptResult" type="com.ruoyi.common.core.domain.entity.SysDept"> | 
 |  |  |         <id     property="deptId"    column="dept_id"     /> | 
 |  |  |         <result property="parentId"  column="parent_id"   /> | 
 |  |  |         <result property="deptName"  column="dept_name"   /> | 
 |  |  | 
 |  |  |         <result property="leader"    column="leader"      /> | 
 |  |  |         <result property="status"    column="dept_status" /> | 
 |  |  |     </resultMap> | 
 |  |  | 	 | 
 |  |  |     <resultMap id="RoleResult" type="SysRole"> | 
 |  |  |  | 
 |  |  |     <resultMap id="RoleResult" type="com.ruoyi.common.core.domain.entity.SysRole"> | 
 |  |  |         <id     property="roleId"       column="role_id"        /> | 
 |  |  |         <result property="roleName"     column="role_name"      /> | 
 |  |  |         <result property="roleKey"      column="role_key"       /> | 
 |  |  | 
 |  |  |         <result property="dataScope"     column="data_scope"    /> | 
 |  |  |         <result property="status"       column="role_status"    /> | 
 |  |  |     </resultMap> | 
 |  |  | 	 | 
 |  |  |  | 
 |  |  |     <sql id="selectUserVo"> | 
 |  |  |         select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,  | 
 |  |  |         select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, | 
 |  |  |         d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status, | 
 |  |  |         r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status | 
 |  |  |         from sys_user u | 
 |  |  | 
 |  |  |             left join sys_user_role ur on u.user_id = ur.user_id | 
 |  |  |             left join sys_role r on r.role_id = ur.role_id | 
 |  |  |     </sql> | 
 |  |  |      | 
 |  |  |  | 
 |  |  |     <select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult"> | 
 |  |  |         select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, 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 | 
 |  |  |         left join sys_dept d on u.dept_id = d.dept_id | 
 |  |  | 
 |  |  |         <!-- æ°æ®èå´è¿æ»¤ --> | 
 |  |  |         ${params.dataScope} | 
 |  |  |     </select> | 
 |  |  | 	 | 
 |  |  |     <select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult"> | 
 |  |  |  | 
 |  |  |     <select id="selectAllocatedList" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserResult"> | 
 |  |  |         select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time | 
 |  |  |         from sys_user u | 
 |  |  |              left join sys_dept d on u.dept_id = d.dept_id | 
 |  |  | 
 |  |  |         <!-- æ°æ®èå´è¿æ»¤ --> | 
 |  |  |         ${params.dataScope} | 
 |  |  |     </select> | 
 |  |  | 	 | 
 |  |  |     <select id="selectUnallocatedList" parameterType="SysUser" resultMap="SysUserResult"> | 
 |  |  |  | 
 |  |  |     <select id="selectUnallocatedList" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserResult"> | 
 |  |  |         select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time | 
 |  |  |         from sys_user u | 
 |  |  |              left join sys_dept d on u.dept_id = d.dept_id | 
 |  |  | 
 |  |  |         <!-- æ°æ®èå´è¿æ»¤ --> | 
 |  |  |         ${params.dataScope} | 
 |  |  |     </select> | 
 |  |  | 	 | 
 |  |  |  | 
 |  |  |     <select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult"> | 
 |  |  |         <include refid="selectUserVo"/> | 
 |  |  |         where u.user_name = #{userName} and u.del_flag = '0' | 
 |  |  |     </select> | 
 |  |  | 	 | 
 |  |  |  | 
 |  |  |     <select id="selectUserById" parameterType="Long" resultMap="SysUserResult"> | 
 |  |  |         <include refid="selectUserVo"/> | 
 |  |  |         where u.user_id = #{userId} | 
 |  |  |     </select> | 
 |  |  | 	 | 
 |  |  |  | 
 |  |  |     <select id="checkUserNameUnique" parameterType="String" resultMap="SysUserResult"> | 
 |  |  |         select user_id, user_name from sys_user where user_name = #{userName} and del_flag = '0' limit 1 | 
 |  |  |     </select> | 
 |  |  | 	 | 
 |  |  |  | 
 |  |  |     <select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult"> | 
 |  |  |         select user_id, phonenumber from sys_user where phonenumber = #{phonenumber} and del_flag = '0' limit 1 | 
 |  |  |     </select> | 
 |  |  | 	 | 
 |  |  |  | 
 |  |  |     <select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult"> | 
 |  |  |         select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1 | 
 |  |  |     </select> | 
 |  |  | 	 | 
 |  |  |     <insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId"> | 
 |  |  |  | 
 |  |  |     <insert id="insertUser" parameterType="com.ruoyi.common.core.domain.entity.SysUser" useGeneratedKeys="true" keyProperty="userId"> | 
 |  |  |          insert into sys_user( | 
 |  |  |              <if test="userId != null and userId != 0">user_id,</if> | 
 |  |  |              <if test="deptId != null and deptId != 0">dept_id,</if> | 
 |  |  | 
 |  |  |              sysdate() | 
 |  |  |          ) | 
 |  |  |     </insert> | 
 |  |  | 	 | 
 |  |  |     <update id="updateUser" parameterType="SysUser"> | 
 |  |  |  | 
 |  |  |     <update id="updateUser" parameterType="com.ruoyi.common.core.domain.entity.SysUser"> | 
 |  |  |          update sys_user | 
 |  |  |          <set> | 
 |  |  |              <if test="deptId != null and deptId != 0">dept_id = #{deptId},</if> | 
 |  |  | 
 |  |  |          </set> | 
 |  |  |          where user_id = #{userId} | 
 |  |  |     </update> | 
 |  |  | 	 | 
 |  |  |     <update id="updateUserStatus" parameterType="SysUser"> | 
 |  |  |  | 
 |  |  |     <update id="updateUserStatus" parameterType="com.ruoyi.common.core.domain.entity.SysUser"> | 
 |  |  |          update sys_user set status = #{status} where user_id = #{userId} | 
 |  |  |     </update> | 
 |  |  | 	 | 
 |  |  |     <update id="updateUserAvatar" parameterType="SysUser"> | 
 |  |  |  | 
 |  |  |     <update id="updateUserAvatar" parameterType="com.ruoyi.common.core.domain.entity.SysUser"> | 
 |  |  |          update sys_user set avatar = #{avatar} where user_name = #{userName} | 
 |  |  |     </update> | 
 |  |  | 	 | 
 |  |  |     <update id="resetUserPwd" parameterType="SysUser"> | 
 |  |  |  | 
 |  |  |     <update id="resetUserPwd" parameterType="com.ruoyi.common.core.domain.entity.SysUser"> | 
 |  |  |          update sys_user set password = #{password} where user_name = #{userName} | 
 |  |  |     </update> | 
 |  |  | 	 | 
 |  |  |  | 
 |  |  |     <delete id="deleteUserById" parameterType="Long"> | 
 |  |  |          update sys_user set del_flag = '2' where user_id = #{userId} | 
 |  |  |      </delete> | 
 |  |  |  	 | 
 |  |  |  | 
 |  |  |      <delete id="deleteUserByIds" parameterType="Long"> | 
 |  |  |          update sys_user set del_flag = '2' where user_id in | 
 |  |  |          <foreach collection="array" item="userId" open="(" separator="," close=")"> | 
 |  |  |              #{userId} | 
 |  |  |         </foreach>  | 
 |  |  |         </foreach> | 
 |  |  |      </delete> | 
 |  |  | 	 | 
 |  |  | </mapper>  | 
 |  |  |  | 
 |  |  | </mapper> | 
 
 |  |  | 
 |  |  |     @Excel(name = "ç±»å«åç§°") | 
 |  |  |     private String categoryName; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * éä¸æç¤º | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "éä¸æç¤º") | 
 |  |  |     @Excel(name = "éä¸æç¤º") | 
 |  |  |     private String prompt; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "ææ å¼") | 
 |  |  |     @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") | 
 |  |  |     private String targetvalue; | 
 
 |  |  | 
 |  |  | package com.smartor.domain; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.Date; | 
 |  |  |  | 
 |  |  | import com.fasterxml.jackson.annotation.JsonFormat; | 
 |  |  | 
 |  |  |     private Long templateid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åæ° | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "åæ°") | 
 |  |  |     @ApiModelProperty(value = "åæ°") | 
 |  |  |     private BigDecimal score; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è¯æ¯ID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "è¯æ¯ID") | 
 
 |  |  | 
 |  |  |     private String scriptPoint; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åæ° | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "åæ°") | 
 |  |  |     @ApiModelProperty(value = "åæ°") | 
 |  |  |     private Long score; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è¯æ¯å
容 | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "è¯æ¯å
容") | 
 |  |  | 
 |  |  |     private String scriptVoice; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é®é¢ç»æ | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "é®é¢ç»æ") | 
 |  |  |     @ApiModelProperty(value = "é®é¢ç»æ") | 
 |  |  |     private String scriptResult; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ å¹é
è¯æ¯ | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "æ å¹é
è¯æ¯") | 
 
 |  |  | 
 |  |  | import io.swagger.annotations.ApiModelProperty; | 
 |  |  | import lombok.Data; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  | 
 |  |  |     @Excel(name = "ææ åç§°") | 
 |  |  |     @ApiModelProperty(value = "ææ åç§°") | 
 |  |  |     private String targetname; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * éä¸æç¤º | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "éä¸æç¤º") | 
 |  |  |     @ApiModelProperty(value = "éä¸æç¤º") | 
 |  |  |     private String prompt; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¨¡æ¿ID | 
 |  |  | 
 |  |  |     @ApiModelProperty(value = "æ¯å¦å¼å¸¸æ è¯") | 
 |  |  |     private Long isabnormal; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¯å¦å¼å¸¸æ è¯ | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "æ¯å¦å¼å¸¸æ è¯") | 
 |  |  |     @ApiModelProperty(value = "æ¯å¦å¼å¸¸æ è¯") | 
 |  |  |     private BigDecimal score; | 
 |  |  |  | 
 |  |  | //    /** | 
 |  |  | //     * é¢è¦éå¼ä¸é | 
 |  |  | //     */ | 
 
 |  |  | 
 |  |  | import io.swagger.annotations.ApiModelProperty; | 
 |  |  | import lombok.Data; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | 
 |  |  |  * @date 2024-05-13 | 
 |  |  |  */ | 
 |  |  | @Data | 
 |  |  | @ApiModel(value = "IvrTaskTemplateScript" , description = "éè®¿ä»»å¡æ¨¡çé®é¢è¯æ¯åºå¯¹è±¡") | 
 |  |  | @ApiModel(value = "IvrTaskTemplateScript", description = "éè®¿ä»»å¡æ¨¡çé®é¢è¯æ¯åºå¯¹è±¡") | 
 |  |  | public class IvrTaskTemplateScript extends BaseEntity { | 
 |  |  |  | 
 |  |  |     private static final long serialVersionUID = 1L; | 
 |  |  | 
 |  |  |     @Excel(name = "ä»»å¡id") | 
 |  |  |     @ApiModelProperty(value = "ä»»å¡id") | 
 |  |  |     private Long taskid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åæ° | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "åæ°") | 
 |  |  |     @ApiModelProperty(value = "åæ°") | 
 |  |  |     private BigDecimal score; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |     /** | 
 |  |  |      * å¼ç±»åï¼1 é项  2 ææ¬  3 æ°å¼ï¼ | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "å¼ç±»å" , readConverterExp = "å¼ç±»åï¼1 é项  2 ææ¬  3 æ°å¼ï¼") | 
 |  |  |     @Excel(name = "å¼ç±»å", readConverterExp = "å¼ç±»åï¼1 é项  2 ææ¬  3 æ°å¼ï¼") | 
 |  |  |     @ApiModelProperty(value = "主é®") | 
 |  |  |     private Long valueType; | 
 |  |  |  | 
 |  |  | 
 |  |  |      * ä¸ä¼ æ¶é´ | 
 |  |  |      */ | 
 |  |  |     @JsonFormat(pattern = "yyyy-MM-dd") | 
 |  |  |     @Excel(name = " ä¸ä¼ æ¶é´ " , width = 30, dateFormat = "yyyy-MM-dd") | 
 |  |  |     @Excel(name = " ä¸ä¼ æ¶é´ ", width = 30, dateFormat = "yyyy-MM-dd") | 
 |  |  |     @ApiModelProperty(value = "ä¸ä¼ æ¶é´") | 
 |  |  |     private Date uploadTime; | 
 |  |  |  | 
 |  |  | 
 |  |  |     /** | 
 |  |  |      * å
¶å®æ°æ®ï¼åå¨åéï¼ | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "å
¶å®æ°æ®" , readConverterExp = "å=å¨åé") | 
 |  |  |     @Excel(name = "å
¶å®æ°æ®", readConverterExp = "å=å¨åé") | 
 |  |  |     @ApiModelProperty(value = "å
¶å®æ°æ®ï¼åå¨åéï¼") | 
 |  |  |     private String otherdata; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¯å¦å¿
å¡«,1:å¿
å¡«    2ï¼å¯ä»¥ä¸å¡«    ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼ | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "æ¯å¦å¿
å¡«,1:å¿
å¡«    2ï¼å¯ä»¥ä¸å¡«    " , readConverterExp = "ç»=人工ç¨çï¼AIä¸ç¨éµå®") | 
 |  |  |     @Excel(name = "æ¯å¦å¿
å¡«,1:å¿
å¡«    2ï¼å¯ä»¥ä¸å¡«    ", readConverterExp = "ç»=人工ç¨çï¼AIä¸ç¨éµå®") | 
 |  |  |     @ApiModelProperty(value = "æ¯å¦å¿
å¡«,1:å¿
å¡«    2ï¼å¯ä»¥ä¸å¡«    ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") | 
 |  |  |     private String isMust; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é®é¢ç»æï¼ç»âå¼ç±»åâæ¯ææ¬æè
æ°å¼ç¨çï¼ | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "é®é¢ç»æ" , readConverterExp = "ç»=âå¼ç±»åâæ¯ææ¬æè
æ°å¼ç¨ç") | 
 |  |  |     @Excel(name = "é®é¢ç»æ", readConverterExp = "ç»=âå¼ç±»åâæ¯ææ¬æè
æ°å¼ç¨ç") | 
 |  |  |     @ApiModelProperty(value = "é®é¢ç»æï¼ç»âå¼ç±»åâæ¯ææ¬æè
æ°å¼ç¨çï¼") | 
 |  |  |     private String questionResult; | 
 |  |  |  | 
 
 |  |  | 
 |  |  | import io.swagger.annotations.ApiModelProperty; | 
 |  |  | import lombok.Data; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  | 
 |  |  |     private Long id; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åæ° | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "åæ°") | 
 |  |  |     @ApiModelProperty(value = "åæ°") | 
 |  |  |     private BigDecimal score; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä»»å¡id | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "ä»»å¡id") | 
 
 |  |  | 
 |  |  | package com.smartor.domain; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  | 
 |  |  |     private Long templateID; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åæ° | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "åæ°") | 
 |  |  |     @ApiModelProperty(value = "åæ°") | 
 |  |  |     private BigDecimal score; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ææ ID | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "ææ ID") | 
 |  |  | 
 |  |  |     private String targetname; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * éä¸æç¤º | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "éä¸æç¤º") | 
 |  |  |     @ApiModelProperty(value = "éä¸æç¤º") | 
 |  |  |     private String prompt; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¨¡æ¿ææ ç±»å | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "æ¨¡æ¿ææ ç±»å") | 
 
 |  |  | 
 |  |  |     private Long id; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ç¶ID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("ç¶ID") | 
 |  |  |     private Long pid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * GUID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("GUID") | 
 |  |  |     private Long guid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å§å | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("æ£è
ç¼å·") | 
 |  |  |     @Excel(name = " æ£è
ç¼å· ") | 
 |  |  |     private String patientno; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥æº(1ï¼HISï¼2ï¼æ°æ®å¹³å°ï¼3ï¼æä»¶å¯¼å
¥ï¼ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("æ¥æº(1ï¼HISï¼2ï¼æ°æ®å¹³å°ï¼3ï¼æä»¶å¯¼å
¥ï¼") | 
 |  |  |     @Excel(name = " æ¥æº(1ï¼HISï¼2ï¼æ°æ®å¹³å°ï¼3ï¼æä»¶å¯¼å
¥ï¼ ") | 
 |  |  |     private int sourcefrom; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * hisç³»ç»çæ£è
id | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("hisç³»ç»çæ£è
id") | 
 |  |  |     @Excel(name = "hisç³»ç»çæ£è
id") | 
 |  |  |     private int patidHis; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * hisç³»ç»çæ£è
id | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("hisç³»ç»çæ£è
id") | 
 |  |  |     @Excel(name = "hisç³»ç»çæ£è
id") | 
 |  |  |     private String sdFlag; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å§å | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å§å") | 
 |  |  | 
 |  |  |     @Excel(name = " ç±è´¯ ") | 
 |  |  |     private String nativePlace; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è¯ä»¶å·ç  | 
 |  |  |      */ | 
 |  |  | 
 |  |  |     @Excel(name = " å±
ä½å° ") | 
 |  |  |     private String placeOfResidence; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è¯ä»¶å·ç  | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("åºçå°") | 
 |  |  |     @Excel(name = " åºçå° ") | 
 |  |  |     private String birthplace; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è¯ä»¶å·ç  | 
 |  |  | 
 |  |  |     @ApiModelProperty("å¹´é¾") | 
 |  |  |     @Excel(name = " å¹´é¾ ") | 
 |  |  |     private Long age; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥æº | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("æ¥æº") | 
 |  |  |     @Excel(name = " æ¥æº ") | 
 |  |  |     private Long sourcefrom; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å»ºæ¡£æ¶é´ | 
 
 |  |  | 
 |  |  |      * ç
åºID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "ç
åºID") | 
 |  |  |     private Long hospitaldistrictid; | 
 |  |  |     private String hospitaldistrictid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åºé¢ç
åºç¼å· | 
 |  |  | 
 |  |  |      * åºé¢ç
åºID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "åºé¢ç
åºID") | 
 |  |  |     private Long leavehospitaldistrictid; | 
 |  |  |     private String leavehospitaldistrictid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å
¥é¢ç§å®¤ID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "å
¥é¢ç§å®¤ID") | 
 |  |  |     private Long deptid; | 
 |  |  |     private String deptid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åºé¢ç§å®¤ID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "åºé¢ç§å®¤ID") | 
 |  |  |     private Long leaveldeptid; | 
 |  |  |     private String leaveldeptid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¹æ¡ç¶ææä½æ¶é´ | 
 
| ¶Ô±ÈÐÂÎļþ | 
 |  |  | 
 |  |  | package com.smartor.domain; | 
 |  |  |  | 
 |  |  | import com.fasterxml.jackson.annotation.JsonFormat; | 
 |  |  | 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; | 
 |  |  |  | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * ä½é¢ãé¨è¯ãåºé¢ è¯·æ±å
¥å | 
 |  |  |  * | 
 |  |  |  * @author smartor | 
 |  |  |  * @date 2023-03-04 | 
 |  |  |  */ | 
 |  |  | @ApiModel(value = "PatMedReq", description = "ä½é¢ãé¨è¯ãåºé¢è¯·æ±å
¥å对象") | 
 |  |  | @Data | 
 |  |  | public class PatMedReq extends BaseEntity { | 
 |  |  |     private static final long serialVersionUID = 1L; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é¨è¯(为空å䏿¥) | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "é¨è¯(为空å䏿¥)") | 
 |  |  |     private Integer mz; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä½é¢(为空å䏿¥) | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "ä½é¢(为空å䏿¥)") | 
 |  |  |     private Integer zy; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åºé¢(为空å䏿¥) | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "åºé¢(为空å䏿¥)") | 
 |  |  |     private Integer cy; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å¼å§æ¶é´ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "å¼å§æ¶é´") | 
 |  |  |     private Date startDate; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ç»ææ¶é´ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "ç»ææ¶é´") | 
 |  |  |     private Date endDate; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¯æå¤ä¸ªç§å®¤ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "ç§å®¤") | 
 |  |  |     private List<String> deptcodeList; | 
 |  |  | } | 
 
| ¶Ô±ÈÐÂÎļþ | 
 |  |  | 
 |  |  | package com.smartor.domain; | 
 |  |  |  | 
 |  |  | import com.ruoyi.common.core.domain.BaseEntity; | 
 |  |  | import io.swagger.annotations.ApiModel; | 
 |  |  | import io.swagger.annotations.ApiModelProperty; | 
 |  |  | import lombok.Data; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * ä½é¢ãé¨è¯ãåºé¢ è¯·æ±å
¥å | 
 |  |  |  * | 
 |  |  |  * @author smartor | 
 |  |  |  * @date 2023-03-04 | 
 |  |  |  */ | 
 |  |  | @ApiModel(value = "PatMedRes", description = "ä½é¢ãé¨è¯ãåºé¢è¯·æ±è¿å对象") | 
 |  |  | @Data | 
 |  |  | public class PatMedRes { | 
 |  |  |     private static final long serialVersionUID = 1L; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ç§å®¤ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "ç§å®¤") | 
 |  |  |     private String deptname; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * äººæ¬¡ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "人次") | 
 |  |  |     private Integer rc; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * äººæ° | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "人æ°") | 
 |  |  |     private Integer rs; | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  |     private String deptName; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ç§å®¤ç¼ç  | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "ç§å®¤ç¼ç ") | 
 |  |  |     @ApiModelProperty("ç§å®¤ç¼ç ") | 
 |  |  |     private String deptCode; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ç§å®¤ | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "å°å") | 
 
 |  |  | 
 |  |  |     private List<IvrTaskTemplateScriptVO> ivrTaskTemplateScriptVOList; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "é®é¢åçæç»(é®å·)") | 
 |  |  |     List<SvyTaskTemplateScriptVO> svyTaskTemplateScriptVOList; | 
 |  |  |     List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOS; | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  |      * æ£è
ID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "æ£è
ID") | 
 |  |  |     private Long patId; | 
 |  |  |     private Long patid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é¢ç®ID | 
 
 |  |  | 
 |  |  | package com.smartor.domain; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.Date; | 
 |  |  |  | 
 |  |  | import com.fasterxml.jackson.annotation.JsonFormat; | 
 |  |  | 
 |  |  |     @Excel(name = "ä»»å¡ç±»å(0éç¥ã1宣æã2é¨è¯ã3åºé¢ã4å¤è¯ã5使£ã6é®å·ã7廿â¦â¦)") | 
 |  |  |     @ApiModelProperty(value = "ä»»å¡ç±»å(0éç¥ã1宣æã2é¨è¯ã3åºé¢ã4å¤è¯ã5使£ã6é®å·ã7廿â¦â¦)") | 
 |  |  |     private String type; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯éç¥ï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥) | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯éç¥ï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥)") | 
 |  |  |     @ApiModelProperty(value = "æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯éç¥ï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥)") | 
 |  |  |     private String serviceType; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¨¡æ¿ID | 
 |  |  | 
 |  |  |     private String orgid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ç¶ID | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "ç¶ID") | 
 |  |  |     @ApiModelProperty(value = "ç¶ID") | 
 |  |  |     private Long pid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * GUID | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "GUID") | 
 |  |  |     @ApiModelProperty(value = "GUID") | 
 |  |  |     private String guid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ææ¬åéåæ° | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "ææ¬åéåæ°") | 
 |  |  | 
 |  |  |     private Long libtemplateid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ»å | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "æ»å") | 
 |  |  |     @ApiModelProperty(value = "æ»å") | 
 |  |  |     private BigDecimal score; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¨¡æ¿åºæ¨¡çåç§° | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "模æ¿åºæ¨¡çåç§°") | 
 
| ¶Ô±ÈÐÂÎļþ | 
 |  |  | 
 |  |  | package com.smartor.domain; | 
 |  |  |  | 
 |  |  | import com.fasterxml.jackson.annotation.JsonFormat; | 
 |  |  | import com.ruoyi.common.annotation.Excel; | 
 |  |  | import io.swagger.annotations.ApiModel; | 
 |  |  | import io.swagger.annotations.ApiModelProperty; | 
 |  |  | import lombok.Data; | 
 |  |  |  | 
 |  |  | import java.util.Date; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * åç§å®¤å®æéç»è®¡ç»æ | 
 |  |  |  * | 
 |  |  |  * @author ruoyi | 
 |  |  |  * @date 2024-02-02 | 
 |  |  |  */ | 
 |  |  | @ApiModel(value = "ServiceSubtaskCount", description = "åç§å®¤å®æéç»è®¡ç»æ") | 
 |  |  | @Data | 
 |  |  | public class ServiceSubtaskCount { | 
 |  |  |     private static final long serialVersionUID = 1L; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "åä»»å¡ID") | 
 |  |  |     private Long subTaskId; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "æå¡ç±»å") | 
 |  |  |     private Long serviceType; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "å¹´æ") | 
 |  |  |     private String month; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "æ°é") | 
 |  |  |     private Long count; | 
 |  |  |  | 
 |  |  |     public ServiceSubtaskCount(String month, Long serviceType, Long count) { | 
 |  |  |         this.serviceType = serviceType; | 
 |  |  |         this.month = month; | 
 |  |  |         this.count = count; | 
 |  |  |     } | 
 |  |  | } | 
 
| ¶Ô±ÈÐÂÎļþ | 
 |  |  | 
 |  |  | package com.smartor.domain; | 
 |  |  |  | 
 |  |  | import io.swagger.annotations.ApiModel; | 
 |  |  | import io.swagger.annotations.ApiModelProperty; | 
 |  |  | import lombok.Data; | 
 |  |  |  | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * åç§å®¤å®æéç»è®¡ç»æè¯·æ± | 
 |  |  |  * | 
 |  |  |  * @author ruoyi | 
 |  |  |  * @date 2024-02-02 | 
 |  |  |  */ | 
 |  |  | @ApiModel(value = "ServiceSubtaskCountReq", description = "åç§å®¤å®æéç»è®¡ç»æè¯·æ±") | 
 |  |  | @Data | 
 |  |  | public class ServiceSubtaskCountReq { | 
 |  |  |     private static final long serialVersionUID = 1L; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "ç¨æ·ID") | 
 |  |  |     private Long userId; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "å¼å§æ¶é´") | 
 |  |  |     private Date startTime; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "ç»ææ¶é´") | 
 |  |  |     private Date endTime; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "æå¡ç±»å") | 
 |  |  |     private List<Long> serviceType; | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  |     private String valueType; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "é®é¢ç±»å") | 
 |  |  |     @ApiModelProperty(value = "é®é¢id") | 
 |  |  |     private Long scriptid; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "éé¡¹çæ¡çéå ä¿¡æ¯") | 
 
 |  |  | 
 |  |  |     private String valueType; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "é®é¢ç±»å") | 
 |  |  |     @ApiModelProperty(value = "é®é¢id") | 
 |  |  |     private Long scriptid; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "éé¡¹çæ¡çéå ä¿¡æ¯") | 
 
 |  |  | 
 |  |  |     private String sendname; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åéUUID | 
 |  |  |      */ | 
 |  |  |     @Excel(name = " åéUUID ") | 
 |  |  |     @ApiModelProperty(value = "åéUUID") | 
 |  |  |     private String senduuid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ææºå· | 
 |  |  |      */ | 
 |  |  |     @Excel(name = " ææºå· ") | 
 |  |  |     @ApiModelProperty(value = "ææºå·") | 
 |  |  |     private String phone; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯éç¥ï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥) | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯éç¥ï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥)") | 
 |  |  |     @ApiModelProperty(value = "æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯éç¥ï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥)") | 
 |  |  |     private String serviceType; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ§å« | 
 |  |  | 
 |  |  |     private String patientname; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é¿æä»»å¡ï¼ç»æ£è
åéçæ¶é´ | 
 |  |  |      */ | 
 |  |  |     @Excel(name = " é¿æä»»å¡ï¼ç»æ£è
åéçæ¶é´") | 
 |  |  |     @ApiModelProperty(value = "é¿æä»»å¡ï¼ç»æ£è
åéçæ¶é´") | 
 |  |  |     private Date longSendTime; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * openid | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "openid") | 
 |  |  |     @ApiModelProperty(value = "openid") | 
 |  |  |     private String openid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä¸ä¼ æ¶é´ | 
 |  |  |      */ | 
 |  |  |     @JsonFormat(pattern = "yyyy-MM-dd") | 
 |  |  | 
 |  |  |     @Excel(name = "  æ£è
ID") | 
 |  |  |     @ApiModelProperty(value = "æ£è
ID") | 
 |  |  |     private Long patid; | 
 |  |  | // | 
 |  |  | //    /** | 
 |  |  | //     * ç¾ç
åç§° | 
 |  |  | //     */ | 
 |  |  | //    @Excel(name = "ç¾ç
åç§°") | 
 |  |  | //    @ApiModelProperty(value = "ç¾ç
åç§°") | 
 |  |  | //    private String icdName; | 
 |  |  | // | 
 |  |  | //    /** | 
 |  |  | //     * ç
åå· | 
 |  |  | //     */ | 
 |  |  | //    @Excel(name = "ç
åå·") | 
 |  |  | //    @ApiModelProperty(value = "ç
åå·") | 
 |  |  | //    private String medicalRecordNo; | 
 |  |  | // | 
 |  |  | //    /** | 
 |  |  | //     * å®£æå
容 | 
 |  |  | //     */ | 
 |  |  | //    @Excel(name = "宣æå
容") | 
 |  |  | //    @ApiModelProperty(value = "宣æå
容") | 
 |  |  | //    private String preachcontent; | 
 |  |  | // | 
 |  |  | // | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åéæ¶é´æ®µ | 
 |  |  |      */ | 
 |  |  | 
 |  |  |     @Excel(name = "  å°±è¯ç±»åï¼1é¨è¯  2åºé¢   3.ä¸ç
ï¼") | 
 |  |  |     @ApiModelProperty(value = "å°±è¯ç±»åï¼1é¨è¯  2åºé¢   3.ä¸ç
ï¼") | 
 |  |  |     private String hospType; | 
 |  |  | // | 
 |  |  | //    /** | 
 |  |  | //     * å¾®ä¿¡ | 
 |  |  | //     */ | 
 |  |  | //    @Excel(name = "  å¾®ä¿¡") | 
 |  |  | //    @ApiModelProperty(value = "微信") | 
 |  |  | //    private String wechat; | 
 |  |  | // | 
 |  |  | // | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å¾®ä¿¡ | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "  å¾®ä¿¡") | 
 |  |  |     @ApiModelProperty(value = "微信") | 
 |  |  |     private String wechat; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è¯æåç§° | 
 |  |  |      */ | 
 |  |  | 
 |  |  |     @Excel(name = "  ç
æ¿å·") | 
 |  |  |     @ApiModelProperty(value = "ç
æ¿å·") | 
 |  |  |     private String roomno; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ»å | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "æ»å") | 
 |  |  |     @ApiModelProperty(value = "æ»å") | 
 |  |  |     private Long score; | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  | package com.smartor.domain; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  | 
 |  |  |      * é¢ç®ç±»å;æä¸¾ 1.åé 2å¤é 3填空 | 
 |  |  |      */ | 
 |  |  |     @Excel(name = " é¢ç®ç±»å;æä¸¾ 1.åé 2å¤é 3填空 ") | 
 |  |  |     @ApiModelProperty("é¢ç®ç±»å;æä¸¾ 1.åé 2å¤é 3填空") | 
 |  |  |     @ApiModelProperty("é¢ç®ç±»å;æä¸¾ 1.åé 2å¤é 3填空 4é®ç  5å
¶å®") | 
 |  |  |     private String scriptType = ""; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |     private String scoretype; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "é¢ç®åå¼ï¼æ°å1,2çï¼åæ¯AãBï¼Cï¼Dçï¼") | 
 |  |  |     private String score; | 
 |  |  |     private BigDecimal score; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "éç¨ç¾ç
") | 
 |  |  |     private String icd10Name; | 
 
 |  |  | 
 |  |  | package com.smartor.domain; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.Date; | 
 |  |  |  | 
 |  |  | import com.fasterxml.jackson.annotation.JsonFormat; | 
 |  |  | 
 |  |  |      * åæ° | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "åæ°") | 
 |  |  |     private String score; | 
 |  |  |     private BigDecimal score; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æç¤º | 
 
 |  |  | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "æ¯å¦å卿ä½ï¼1 æ°å¢ 2修湠3å é¤") | 
 |  |  |     private Integer isoperation; | 
 |  |  |      | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ç§å®¤åç§° | 
 |  |  |      */ | 
 |  |  | 
 |  |  |     @ApiModelProperty(value = "åæ°ç±»åï¼æ°åï¼åæ¯ï¼ç级ï¼") | 
 |  |  |     private String scoreType; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "å¼åºç½") | 
 |  |  |     private String prologue; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "æå¯¼è¯") | 
 |  |  |     private String instruction; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "ç»æè¯") | 
 |  |  |     private String conclusion; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public SvyLibTemplate() { | 
 |  |  |     } | 
 
 |  |  | 
 |  |  | import org.apache.commons.lang3.builder.ToStringBuilder; | 
 |  |  | import org.apache.commons.lang3.builder.ToStringStyle; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | 
 |  |  |     private Long svyid; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é¢ç®ç±»å;æä¸¾ 1.åé 2å¤é 3填空 4å
¶å® | 
 |  |  |      */ | 
 |  |  | 
 |  |  |     @Excel(name = " é¢ç®Code ") | 
 |  |  |     @ApiModelProperty("é¢ç®Code") | 
 |  |  |     private String scriptno; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * éä¸æç¤º | 
 |  |  |      */ | 
 |  |  |     @Excel(name = " éä¸æç¤º ") | 
 |  |  |     @ApiModelProperty("éä¸æç¤º") | 
 |  |  |     private String prompt; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä¸ä¸ä¸ªé®é¢ç¼å· | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "é¢ç®åå¼ï¼æ°å1,2çï¼åæ¯AãBï¼Cï¼Dçï¼") | 
 |  |  |     @ApiModelProperty("é¢ç®åå¼ï¼æ°å1,2çï¼åæ¯AãBï¼Cï¼Dçï¼") | 
 |  |  |     private String score; | 
 |  |  |     private BigDecimal score; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é¢ç®ä¸»é¢ | 
 
 |  |  | 
 |  |  | import io.swagger.annotations.ApiModelProperty; | 
 |  |  | import lombok.Data; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  | 
 |  |  |     private Long id; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é项忝æ è¯(0:æ åæ¯1:æåæ¯) | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "é项忝æ è¯(0:æ åæ¯1:æåæ¯)") | 
 |  |  |     @ApiModelProperty(value = "é项忝æ è¯(0:æ åæ¯1:æåæ¯)") | 
 |  |  |     private String branchFlag; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * éä¸æç¤º | 
 |  |  |      */ | 
 |  |  |     @Excel(name = " éä¸æç¤º ") | 
 |  |  |     @ApiModelProperty("éä¸æç¤º") | 
 |  |  |     private String prompt; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é项忝çä¸ä¸ä¸ªè¯æ¯ç¼å· | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "é¢ç®åå¼ï¼æ°å1,2çï¼åæ¯AãBï¼Cï¼Dçï¼") | 
 |  |  |     @ApiModelProperty("é¢ç®åå¼ï¼æ°å1,2çï¼åæ¯AãBï¼Cï¼Dçï¼") | 
 |  |  |     private String score; | 
 |  |  |     private BigDecimal score; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é¢ç®ä¸»é¢ | 
 |  |  | 
 |  |  |     @ApiModelProperty("é¢ç®ä¸»é¢") | 
 |  |  |     private String scriptTopic; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é¢ç®ä¸»é¢ | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "é¢ç®ç»æ") | 
 |  |  |     @ApiModelProperty("é¢ç®ç»æ") | 
 |  |  |     private String scriptResult; | 
 |  |  |  | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  | package com.smartor.domain; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  | 
 |  |  |     private Long targetid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åæ° | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "åæ°") | 
 |  |  |     @ApiModelProperty(value = "åæ°") | 
 |  |  |     private BigDecimal score; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ææ åç§° | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "ææ åç§°") | 
 |  |  |     @ApiModelProperty(value = "ææ åç§°") | 
 |  |  |     private String targetname; | 
 |  |  |     /** | 
 |  |  |      * ææ åç§° | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "åæ°") | 
 |  |  |     @ApiModelProperty(value = "åæ°") | 
 |  |  |     private String score; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¨¡æ¿ID | 
 |  |  | 
 |  |  |     @ApiModelProperty(value = "éä»¶ä¿¡æ¯") | 
 |  |  |     private String appenddesc; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "éä¸æç¤º") | 
 |  |  |     private String prompt; | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  |     @ApiModelProperty(value = "åæ°ç±»åï¼æ°åï¼åæ¯ï¼ç级ï¼") | 
 |  |  |     private String scoreType; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "å¼åºç½") | 
 |  |  |     private String prologue; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "æå¯¼è¯") | 
 |  |  |     private String instruction; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value = "ç»æè¯") | 
 |  |  |     private String conclusion; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public SvyLibTemplateVO() { | 
 |  |  |     } | 
 
 |  |  | 
 |  |  | import com.fasterxml.jackson.annotation.JsonFormat; | 
 |  |  | 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; | 
 |  |  |  | 
 |  |  | 
 |  |  |  * @date 2024-06-12 | 
 |  |  |  */ | 
 |  |  | @Data | 
 |  |  | @ApiModel(value = "SvyTaskSingleVO", description = "åä¸ä»»å¡ï¼é®å·ï¼å¯¹è±¡(å·²ç»æ¢æServiceSubTask)") | 
 |  |  | public class SvyTaskSingleVO extends BaseEntity { | 
 |  |  |     private static final long serialVersionUID = 1L; | 
 |  |  |  | 
 
 |  |  | 
 |  |  | package com.smartor.domain; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.Date; | 
 |  |  |  | 
 |  |  | import com.fasterxml.jackson.annotation.JsonFormat; | 
 |  |  | 
 |  |  |      * ä¸»é®ID | 
 |  |  |      */ | 
 |  |  |     private Long id; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * éä¸æç¤º | 
 |  |  |      */ | 
 |  |  |     @Excel(name = " éä¸æç¤º ") | 
 |  |  |     @ApiModelProperty("éä¸æç¤º") | 
 |  |  |     private String prompt; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä»»å¡id | 
 |  |  | 
 |  |  |     private String language; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åæ° | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "åæ°") | 
 |  |  |     @ApiModelProperty(value = "åæ°") | 
 |  |  |     private BigDecimal score; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ç±»å«å | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "ç±»å«å") | 
 
 |  |  | 
 |  |  | import org.apache.commons.lang3.builder.ToStringBuilder; | 
 |  |  | import org.apache.commons.lang3.builder.ToStringStyle; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  | 
 |  |  |      * æ¨¡æ¿è¯æ¯ç¼å· | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "模æ¿è¯æ¯ç¼å·") | 
 |  |  |     private Long scriptno; | 
 |  |  |     private String scriptno; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¨¡æ¿ID | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "è¯è¨") | 
 |  |  |     private String language; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¯å¦å¯ç¨ 0å¯ç¨  1ä¸å¯ç¨ | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "æ¯å¦å¯ç¨ 0å¯ç¨  1ä¸å¯ç¨") | 
 |  |  |     @ApiModelProperty("æ¯å¦å¯ç¨ 0å¯ç¨  1ä¸å¯ç¨") | 
 |  |  |     private String isavailable; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ç±»å«å | 
 |  |  | 
 |  |  |      * å¼ç±»åï¼1 é项  2 ææ¬  3 æ°å¼ï¼ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "å¼ç±»å1=é项,2=ææ¬,3=æ°å¼") | 
 |  |  |     private Long valueType; | 
 |  |  |     private String valueType; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åå¤ï¼æé®é¢çåå¤ï¼ç»é®çé¢ç¨çï¼ | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "åå¤", readConverterExp = "æ=é®é¢çåå¤ï¼ç»é®çé¢ç¨ç") | 
 |  |  |     @ApiModelProperty("åå¤ï¼æé®é¢çåå¤ï¼ç»é®çé¢ç¨çï¼") | 
 |  |  |     private String reply; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åå¼ç±»åï¼1ï¼æ°åï¼2ï¼ç级 | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "åå¼ç±»åï¼1ï¼æ°åï¼2ï¼ç级") | 
 |  |  |     @ApiModelProperty("åå¼ç±»åï¼1ï¼æ°åï¼2ï¼ç级") | 
 |  |  |     private String scoretype; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ææ é项* | 
 |  |  | 
 |  |  |      * ä¸ä¸è¯æ¯ç¼å· | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "ä¸ä¸è¯æ¯ç¼å·") | 
 |  |  |     private Long nextScriptno; | 
 |  |  |     private String nextScriptno; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é®é¢ç»æï¼ç»âå¼ç±»åâæ¯ææ¬æè
æ°å¼ç¨çï¼* | 
 |  |  | 
 |  |  |     private Long xh; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åæ° | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "åæ°") | 
 |  |  |     @ApiModelProperty(value = "åæ°") | 
 |  |  |     private BigDecimal score = BigDecimal.ZERO; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * éä¸æç¤º | 
 |  |  |      */ | 
 |  |  |     @Excel(name = " éä¸æç¤º ") | 
 |  |  |     @ApiModelProperty("éä¸æç¤º") | 
 |  |  |     private String prompt; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é¢ç®æ ç¾ | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "é¢ç®æ ç¾") | 
 |  |  |     @ApiModelProperty("é¢ç®æ ç¾") | 
 |  |  |     private String tag; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¯å¦éè | 
 |  |  |      */ | 
 |  |  |     @Excel(name = " æ¯å¦éè ") | 
 |  |  |     @ApiModelProperty("æ¯å¦éè") | 
 |  |  |     private Long ishide; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * éç¨æ¹å¼ï¼è°æ¥è¡¨1ï¼æºè½è¯é³2ã人工3 | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "éç¨æ¹å¼ï¼è°æ¥è¡¨1ï¼æºè½è¯é³2ã人工3") | 
 |  |  |     @ApiModelProperty("éç¨æ¹å¼ï¼è°æ¥è¡¨1ï¼æºè½è¯é³2ã人工3") | 
 |  |  |     private String suitway; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é¢ç®å¾ç | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "é¢ç®å¾ç") | 
 |  |  |     @ApiModelProperty("é¢ç®å¾ç") | 
 |  |  |     private String scriptPicture; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é¢ç®å
容 | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "é¢ç®å
容") | 
 |  |  |     @ApiModelProperty("é¢ç®æè¿°") | 
 |  |  |     private String scriptDesc; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åç±»id | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "åç±»id") | 
 |  |  |     @ApiModelProperty("åç±»id") | 
 |  |  |     private Long categoryid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¯å¦å¿
å¡«   0å¿
å¡«   1ä¸å¿
å¡« | 
 |  |  |      */ | 
 |  |  |     @Excel(name = " æ¯å¦å¿
å¡«   0å¿
å¡«   1ä¸å¿
å¡«") | 
 |  |  |     @ApiModelProperty("æ¯å¦å¿
å¡«   0å¿
å¡«   1ä¸å¿
å¡«") | 
 |  |  |     private String ismandatory; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æåº | 
 |  |  |      */ | 
 |  |  |     @Excel(name = " æåº ") | 
 |  |  |     @ApiModelProperty("æåº") | 
 |  |  |     private Long sort; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è¯æ¯é项 | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "è¯æ¯é项") | 
 
 |  |  | 
 |  |  | package com.smartor.domain; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "ææ åç§°") | 
 |  |  |     private String targetname; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * éä¸æç¤º | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "éä¸æç¤º") | 
 |  |  |     private String prompt; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¨¡æ¿ææ ç±»å | 
 |  |  | 
 |  |  |      * æ£åå
³é®å(å«) | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "æ£åå
³é®å(å«)éå") | 
 |  |  |     private List<String> nodynamiccruxs; | 
 |  |  |     private List<String> nodynamiccruxs = new ArrayList<>(); | 
 |  |  |     ; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ£åå
³é®å(ä¸å«) | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "æ£åå
³é®å(ä¸å«)éå") | 
 |  |  |     private List<String> dynamiccruxs; | 
 |  |  |     private List<String> dynamiccruxs = new ArrayList<>(); | 
 |  |  |     ; | 
 |  |  |     /** | 
 |  |  |      * æ£åå
³é®å(å«) | 
 |  |  |      */ | 
 |  |  | 
 |  |  |      * ä¸ä¸é¢ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "ä¸ä¸é¢") | 
 |  |  |     private Long nextQuestion; | 
 |  |  |     private Integer nextQuestion; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é项å¾çè·¯å¾ | 
 |  |  | 
 |  |  |     private String optionCode; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åæ° | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "åæ°") | 
 |  |  |     private BigDecimal score; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¯å¦æ¯ç¨æ·éæ©çé项 | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "æ¯å¦æ¯ç¨æ·éæ©çé项") | 
 
| ¶Ô±ÈÐÂÎļþ | 
 |  |  | 
 |  |  | package com.smartor.domain; | 
 |  |  |  | 
 |  |  |  | 
 |  |  | import com.ruoyi.common.annotation.Excel; | 
 |  |  | import io.swagger.annotations.ApiModel; | 
 |  |  | import io.swagger.annotations.ApiModelProperty; | 
 |  |  | import lombok.Data; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * ç¬¬ä¸æ¹ååä½é¢æ£æ¥ä¿¡æ¯ | 
 |  |  |  * | 
 |  |  |  * @author ruoyi | 
 |  |  |  * @date 2024-9-02 | 
 |  |  |  */ | 
 |  |  | @Data | 
 |  |  | @ApiModel("ç¬¬ä¸æ¹åååºãå
¥é¢ä¿¡æ¯") | 
 |  |  | public class ThiedInhospCheckInfo { | 
 |  |  |  | 
 |  |  |     private String hospitalId;//    é¢åºID | 
 |  |  |     private String patIndex;//    ç
äººä¸»ç´¢å¼ | 
 |  |  |     private String patId;//    å°±è¯ID | 
 |  |  |     private String reqCard;//    ç³è¯·åå· | 
 |  |  |     private String patNo;//    å°±è¯å· | 
 |  |  |     private String patType;//    ç
人类å | 
 |  |  |     private String patName;//    ç
人å§å | 
 |  |  |     private String patSex;//    æ§å« | 
 |  |  |     private String patBirth;//    åºçæ¥æ | 
 |  |  |     private String patAge;//    ç
äººå¹´é¾ | 
 |  |  |     private String patAgeUnit;//    ç
人年é¾åä½ | 
 |  |  |     private String chargeType;//    æ¶è´¹ç±»åä»£ç  | 
 |  |  |     private String patDiag;//    ä¸´åºè¯æ | 
 |  |  |     private String patDiagIcd;//    è¯æICD10ä»£ç  | 
 |  |  |     private String patAddress;//    ç
人èç³»å°å | 
 |  |  |     private String patNation;//    ç
人å½ç± | 
 |  |  |     private String patIdCardNo;//    ç
人身份è¯å· | 
 |  |  |     private String patPhone;//    ç
人èç³»çµè¯ | 
 |  |  |     private String patHeight;//    ç
äººèº«é« | 
 |  |  |     private String patWeight;//    ç
人ä½é | 
 |  |  |     private String patWardId;//    ç
人ç
åº | 
 |  |  |     private String patBedNo;//    åºå· | 
 |  |  |     private String reqDeptId;//    å¼åç§å®¤ID | 
 |  |  |     private String reqDeptName;//    å¼åç§å®¤åç§° | 
 |  |  |     private String reqDocId;//    ç³è¯·å»çID | 
 |  |  |     private String reqDocName;//    ç³è¯·å»çå§å | 
 |  |  |     private String reqDocComm;//    å»ç夿³¨ | 
 |  |  |     private String staffNum;//    ç³è¯·å»çå·¥å· | 
 |  |  |     private String reqTime;//    ç³è¯·æ¶é´ | 
 |  |  |     private String printUser;//    æå°è
 | 
 |  |  |     private String printTime;//    æå°æ¶é´ | 
 |  |  |     private String sampleUser;//    éæ ·è
 | 
 |  |  |     private String sampleTime;//    éæ ·æ¶é´ | 
 |  |  |     private String sendUsder;//    äº¤æ¥æ¤å£« | 
 |  |  |     private String sendTime;//    ç§»äº¤ç»æ¤å£«æ¶é´ | 
 |  |  |     private String emerFlag;//    å æ¥æ å¿ | 
 |  |  |     private String sampleTypeId;//    æ ·æ¬ç±»åID | 
 |  |  |     private String sampleType;//    æ æ¬ç±»ååç§° | 
 |  |  |     private String performDeptID;//    æ§è¡ç§å®¤ID | 
 |  |  |     private String performDeptName;//    æ§è¡ç§å®¤åç§° | 
 |  |  |     private String requestId;//    ç³è¯·åå¯ä¸ID | 
 |  |  |     private String reqItemCode;//    ç³è¯·é¡¹ç®ä»£ç  | 
 |  |  |     private String reqItemName;//    ç³è¯·é¡¹ç®åç§° | 
 |  |  |     private String itemPrice;//    ç³è¯·é¡¹ç®åä»· | 
 |  |  |     private String qty;//    ç³è¯·é¡¹ç®æ°é | 
 |  |  |     private String chargeFlag;//    è®¡ä»·æ å¿ | 
 |  |  |     private String detailId;//    ç³è¯·æç»å¯ä¸ID | 
 |  |  |     private String itemTypeCode;//    è¯ç项ç®åç±» | 
 |  |  |     private String itemClassCode;//    è¯ç项ç®å¤§ç±» | 
 |  |  |     private String orderId;//    ç
人å»å±ID | 
 |  |  |  | 
 |  |  | } | 
 |  |  |  | 
 
| ¶Ô±ÈÐÂÎļþ | 
 |  |  | 
 |  |  | package com.smartor.domain; | 
 |  |  |  | 
 |  |  |  | 
 |  |  | import com.fasterxml.jackson.annotation.JsonFormat; | 
 |  |  | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | 
 |  |  | import com.ruoyi.common.annotation.Excel; | 
 |  |  | import io.swagger.annotations.ApiModel; | 
 |  |  | import io.swagger.annotations.ApiModelProperty; | 
 |  |  | import lombok.Data; | 
 |  |  |  | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * ç¬¬ä¸æ¹åååºãå
¥é¢ä¿¡æ¯ | 
 |  |  |  * | 
 |  |  |  * @author ruoyi | 
 |  |  |  * @date 2024-9-02 | 
 |  |  |  */ | 
 |  |  | @Data | 
 |  |  | @ApiModel("ç¬¬ä¸æ¹åååºãå
¥é¢ä¿¡æ¯") | 
 |  |  | public class ThiedInhospInfo { | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°æ®ç±»å | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("ç
人主索å¼") | 
 |  |  |     @Excel(name = "ç
人主索å¼") | 
 |  |  |     private String patiIndex; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ£è
å§å | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("æ£è
å§å") | 
 |  |  |     @Excel(name = "æ£è
å§å") | 
 |  |  |     private String patiRecordName; | 
 |  |  |  | 
 |  |  |     private String patiRecordId; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     private List Education; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ£è
å§å | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("æ£è
å§å") | 
 |  |  |     @Excel(name = "æ£è
å§å") | 
 |  |  |     private String currDeptCode; | 
 |  |  |  | 
 |  |  |     private String admissDeptCode; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ç
人ä»è´¨åºå· | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("ç
人ä»è´¨åºå·") | 
 |  |  |     @Excel(name = "ç
人ä»è´¨åºå·") | 
 |  |  |     private String patiMediaId1; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ç
人ä»è´¨å·ç  | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å°±è¯å¡å·") | 
 |  |  |     @Excel(name = "å°±è¯å¡å·") | 
 |  |  |     private String patiMediaNo; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ç
人ä½é¢åºå· | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("ç
人ä½é¢åºå·") | 
 |  |  |     @Excel(name = "ç
人ä½é¢åºå·") | 
 |  |  |     private String inpatientId1; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ§å« | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("æ§å«") | 
 |  |  |     @Excel(name = "æ§å«") | 
 |  |  |     private String patiRecordGender; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å¹´é¾ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å¹´é¾") | 
 |  |  |     @Excel(name = "å¹´é¾") | 
 |  |  |     private String age; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * èº«ä»½è¯å· | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("身份è¯å·") | 
 |  |  |     @Excel(name = "身份è¯å·") | 
 |  |  |     private String patiIdCardNo; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å
¥é¢åå· | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å
¥é¢åå·") | 
 |  |  |     @Excel(name = "å
¥é¢åå·") | 
 |  |  |     private String admitFormId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å»ºè®®é¢äº¤éé¢ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("建议é¢äº¤éé¢") | 
 |  |  |     @Excel(name = "建议é¢äº¤éé¢") | 
 |  |  |     private String suggestAmount; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å°±è¯å¡å· | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å°±è¯å¡å·") | 
 |  |  |     @Excel(name = "å°±è¯å¡å·") | 
 |  |  |     private String patiMediaId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ç
人类å«åºå· | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("ç
人类å«åºå·") | 
 |  |  |     @Excel(name = "ç
人类å«åºå·") | 
 |  |  |     private String patiTypeId1; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ç
人类å«åç§° | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("ç
人类å«åç§°") | 
 |  |  |     @Excel(name = "ç
人类å«åç§°") | 
 |  |  |     private String patiTypeName1; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å»ä¿ç±»å | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å»ä¿ç±»å") | 
 |  |  |     @Excel(name = "å»ä¿ç±»å") | 
 |  |  |     private String patiTypeId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°æ®ç±»å | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å»ä¿ç±»ååç§°") | 
 |  |  |     @Excel(name = "å»ä¿ç±»ååç§°") | 
 |  |  |     private String patiTypeName; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä½é¢ç¶æ | 
 |  |  |      * 1-å°æªå
¥ç§ï¼2-å·²ç»å
¥ç§ï¼3-å·²é¢åºé¢ï¼4-å·²åºé¢ï¼ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("ä½é¢ç¶æ") | 
 |  |  |     @Excel(name = "ä½é¢ç¶æ") | 
 |  |  |     private String currStatus; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°æ®ç±»å | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("é¢åºID") | 
 |  |  |     @Excel(name = "é¢åºID") | 
 |  |  |     private String areaId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å
¥é¢ç
åºID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å
¥é¢ç
åºID") | 
 |  |  |     @Excel(name = "å
¥é¢ç
åºID") | 
 |  |  |     private String admissWardId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å
¥é¢ç
åºåç§° | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å
¥é¢ç
åºåç§°") | 
 |  |  |     @Excel(name = "å
¥é¢ç
åºåç§°") | 
 |  |  |     private String admissWardName; | 
 |  |  |  | 
 |  |  |     private String admissWardCode; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å
¥é¢ç§å®¤ID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å
¥é¢ç§å®¤ID") | 
 |  |  |     @Excel(name = "å
¥é¢ç§å®¤ID") | 
 |  |  |     private String admissDeptId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å
¥é¢ç§å®¤åç§° | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å
¥é¢ç§å®¤åç§°") | 
 |  |  |     @Excel(name = "å
¥é¢ç§å®¤åç§°") | 
 |  |  |     private String admissDeptName; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å
¥é¢åºä½Id | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å
¥é¢åºä½Id") | 
 |  |  |     @Excel(name = "å
¥é¢åºä½Id") | 
 |  |  |     private String admissBedId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å
¥é¢åºä½åºå· | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å
¥é¢åºä½åºå·") | 
 |  |  |     @Excel(name = "å
¥é¢åºä½åºå·") | 
 |  |  |     private String admissBedNo; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å½åç
åºID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å½åç
åºID") | 
 |  |  |     @Excel(name = "å½åç
åºID") | 
 |  |  |     private String currWardId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å½åç
åºID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å½åç
åºID") | 
 |  |  |     @Excel(name = "å½åç
åºID") | 
 |  |  |     private String currWardCode; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å½åç
åºåç§° | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å½åç
åºåç§°") | 
 |  |  |     @Excel(name = "å½åç
åºåç§°") | 
 |  |  |     private String currWardName; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å½åç§å®¤ID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å½åç§å®¤ID") | 
 |  |  |     @Excel(name = "å½åç§å®¤ID") | 
 |  |  |     private String currDeptId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å½åç§å®¤åç§° | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å½åç§å®¤åç§°") | 
 |  |  |     @Excel(name = "å½åç§å®¤åç§°") | 
 |  |  |     private String currDeptName; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å½ååºä½åºå· | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å½ååºä½åºå·") | 
 |  |  |     @Excel(name = "å½ååºä½åºå·") | 
 |  |  |     private String currBedNo1; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å½ååºä½ID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å½ååºä½ID") | 
 |  |  |     @Excel(name = "å½ååºä½ID") | 
 |  |  |     private String currBedId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä½é¢å· | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("ä½é¢å·") | 
 |  |  |     @Excel(name = "ä½é¢å·") | 
 |  |  |     private String inpatientId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åºå· | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("åºå·") | 
 |  |  |     @Excel(name = "åºå·") | 
 |  |  |     private String currBedNo; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å
¥é¢æ¶é´ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å
¥é¢æ¶é´") | 
 |  |  |     @Excel(name = "å
¥é¢æ¶é´") | 
 |  |  |     private String admissDate; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å¼åå»ç | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å¼åå»ç") | 
 |  |  |     @Excel(name = "å¼åå»ç") | 
 |  |  |     private String DocName; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä¸»æ²»å»å¸ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("主治å»å¸") | 
 |  |  |     @Excel(name = "主治å»å¸") | 
 |  |  |     private String doctName; | 
 |  |  |     /** | 
 |  |  |      * ä¸»æ²»å»å¸ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("主治å»å¸") | 
 |  |  |     @Excel(name = "主治å»å¸") | 
 |  |  |     private String doctId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è¯æID | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("è¯æID") | 
 |  |  |     @Excel(name = "è¯æID") | 
 |  |  |     private String diagId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è¯æICD10ç  | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("è¯æICD10ç ") | 
 |  |  |     @Excel(name = "è¯æICD10ç ") | 
 |  |  |     private String diagIcd10; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è¯æåç§° | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("è¯æåç§°") | 
 |  |  |     @Excel(name = "è¯æåç§°") | 
 |  |  |     private String diagName; | 
 |  |  |     /** | 
 |  |  |      * è系人 | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("èç³»å°å") | 
 |  |  |     @Excel(name = "èç³»å°å") | 
 |  |  |     private String contactPersonAddr; | 
 |  |  |     /** | 
 |  |  |      * è系人 | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("è系人") | 
 |  |  |     @Excel(name = "è系人") | 
 |  |  |     private String contactPersonName; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è系人çµè¯ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("è系人çµè¯") | 
 |  |  |     @Excel(name = "è系人çµè¯") | 
 |  |  |     private String contactPersonPhone; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°æ®ç±»å | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å½ç±") | 
 |  |  |     @Excel(name = "å½ç±") | 
 |  |  |     private String PatiNationality; | 
 |  |  |  | 
 |  |  |     private String NationalityAddr; | 
 |  |  |  | 
 |  |  |     private String patiNatureId; | 
 |  |  |  | 
 |  |  |     private String treateAge; | 
 |  |  |     private String treatAgeunit; | 
 |  |  |     private String patiNatureName; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°æ®ç±»å | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å½ç±") | 
 |  |  |     @Excel(name = "å½ç±") | 
 |  |  |     private String patNatureId; | 
 |  |  |     private String PatNation; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°æ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("æ°æ") | 
 |  |  |     @Excel(name = "æ°æ") | 
 |  |  |     private String patiNation; | 
 |  |  |     /** | 
 |  |  |      * æ°æ®ç±»å | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("èä¸") | 
 |  |  |     @Excel(name = "èä¸") | 
 |  |  |     private String ProfessionId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å©å§»ç¶æ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("å©å§»ç¶æ") | 
 |  |  |     @Excel(name = "å©å§»ç¶æ") | 
 |  |  |     private String PatiMaritalStatus; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ç°ä½å°å | 
 |  |  |      */ | 
 |  |  |     @JsonIgnoreProperties(ignoreUnknown = true) | 
 |  |  |     @ApiModelProperty("ç°ä½å°å") | 
 |  |  |     @Excel(name = "ç°ä½å°å") | 
 |  |  |     private String patiHomeAddr; | 
 |  |  |  | 
 |  |  |     private String patiHomePhone; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * èç³»çµè¯ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("èç³»çµè¯") | 
 |  |  |     @Excel(name = "èç³»çµè¯") | 
 |  |  |     private String companyTelNum; | 
 |  |  |     /** | 
 |  |  |      * æ°æ®ç±»å | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("åºçæ¥æ") | 
 |  |  |     @Excel(name = "åºçæ¥æ") | 
 |  |  |     private String patiBirthday; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä½é¢æ¬¡æ° | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("ä½é¢æ¬¡æ°") | 
 |  |  |     @Excel(name = "ä½é¢æ¬¡æ°") | 
 |  |  |     private String inhospitalTimes; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åºé¢æ¹å¼åºå· | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("åºé¢æ¹å¼åºå·") | 
 |  |  |     @Excel(name = "åºé¢æ¹å¼åºå·") | 
 |  |  |     private String outWayId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åºé¢æ¹å¼åç§° | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("åºé¢æ¹å¼åç§°") | 
 |  |  |     @Excel(name = "åºé¢æ¹å¼åç§°") | 
 |  |  |     private String outWayName; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä½é¢æ»è´¹ç¨ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("ä½é¢æ»è´¹ç¨") | 
 |  |  |     @Excel(name = "ä½é¢æ»è´¹ç¨") | 
 |  |  |     private String totalAmount; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * é¢å¤åºé¢æ¥æ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("é¢å¤åºé¢æ¥æ") | 
 |  |  |     @Excel(name = "é¢å¤åºé¢æ¥æ") | 
 |  |  |     private String preoutDate; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ç
人åºé¢æ¥æ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty("ç
人åºé¢æ¥æ") | 
 |  |  |     @Excel(name = "ç
人åºé¢æ¥æ") | 
 |  |  |     private String outDate; | 
 |  |  |     private String RelationShip; | 
 |  |  |  | 
 |  |  |  | 
 |  |  | } | 
 |  |  |  | 
 
| ¶Ô±ÈÐÂÎļþ | 
 |  |  | 
 |  |  | package com.smartor.domain; | 
 |  |  |  | 
 |  |  |  | 
 |  |  | import io.swagger.annotations.ApiModel; | 
 |  |  | import lombok.Data; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * ç¬¬ä¸æ¹ååé¨è¯æ£æ¥ä¿¡æ¯ | 
 |  |  |  * | 
 |  |  |  * @author ruoyi | 
 |  |  |  * @date 2024-9-02 | 
 |  |  |  */ | 
 |  |  | @Data | 
 |  |  | @ApiModel("ç¬¬ä¸æ¹ååé¨è¯ä¿¡æ¯") | 
 |  |  | public class ThiedOutHospCheckInfo { | 
 |  |  |  | 
 |  |  |     private String hospitalId;//    é¢åºID | 
 |  |  |     private String patIndex;//    ç
äººä¸»ç´¢å¼ | 
 |  |  |     private String patId;//    ä½é¢ID | 
 |  |  |     private String patNo;//    ä½é¢å· | 
 |  |  |     private String reqCard;//    ç³è¯·åå· | 
 |  |  |     private String patType;//    ç
人类å | 
 |  |  |     private String patName;//    ç
人å§å | 
 |  |  |     private String patSex;//    æ§å« | 
 |  |  |     private String patBirth;//    åºçæ¥æ | 
 |  |  |     private String patAge;//    ç
äººå¹´é¾ | 
 |  |  |     private String patAgeUnit;//    ç
人年é¾åä½ | 
 |  |  |     private String chargeType;//    æ¶è´¹ç±»åä»£ç  | 
 |  |  |     private String patDiag;//    ä¸´åºè¯æ | 
 |  |  |     private String patDiagIcd;//    è¯æICD10ä»£ç  | 
 |  |  |     private String patAddress;//    ç
人èç³»å°å | 
 |  |  |     private String patNation;//    ç
人å½ç± | 
 |  |  |     private String patIdCardNo;//    ç
人身份è¯å· | 
 |  |  |     private String patPhone;//    ç
人èç³»çµè¯ | 
 |  |  |     private String patHeight;//    ç
äººèº«é« | 
 |  |  |     private String patWeight;//    ç
人ä½é | 
 |  |  |     private String patWardId;//ç
人ç
åºID | 
 |  |  |     private String patWardName;//    ç
人ç
åºåç§° | 
 |  |  |     private String patDeptId;//    ç
人ç§å®¤ID | 
 |  |  |     private String patDeptName;//ç
人ç§å®¤åç§° | 
 |  |  |     private String patBedNo;//    åºå· | 
 |  |  |     private String reqDeptId;//    å¼åç§å®¤ID | 
 |  |  |     private String reqDeptName;//;//    å¼åç§å®¤åç§° | 
 |  |  |     private String reqDocId;//    ç³è¯·å»çID | 
 |  |  |     private String reqDocName;//    ç³è¯·å»çå§å | 
 |  |  |     private String reqDocComm;//    å»ç夿³¨ | 
 |  |  |     private String staffNum;//    ç³è¯·å»çå·¥å· | 
 |  |  |     private String reqTime;//    ç³è¯·æ¶é´ | 
 |  |  |     private String printUser;//    æå°è
 | 
 |  |  |     private String printTime;//    æå°æ¶é´ | 
 |  |  |     private String sampleUser;//    éæ ·è
 | 
 |  |  |     private String sampleTime;//    éæ ·æ¶é´ | 
 |  |  |     private String sendUsder;//    äº¤æ¥æ¤å£« | 
 |  |  |     private String sendTime;//    ç§»äº¤ç»æ¤å£«æ¶é´ | 
 |  |  |     private String emerFlag;//    å æ¥æ å¿ | 
 |  |  |     private String sampleTypeId;//    æ æ¬ç±»åID | 
 |  |  |     private String sampleType;//    æ æ¬ç±»ååç§° | 
 |  |  |     private String performDeptID;//    æ§è¡ç§å®¤ID | 
 |  |  |     private String performDeptName;//    æ§è¡ç§å®¤åç§° | 
 |  |  |     private String requestId;//    ç³è¯·åå¯ä¸ID | 
 |  |  |     private String reqItemCode;//    ç³è¯·é¡¹ç®ä»£ç  | 
 |  |  |     private String reqItemName;//    ç³è¯·é¡¹ç®åç§° | 
 |  |  |     private String itemPrice;//    ç³è¯·é¡¹ç®åä»· | 
 |  |  |     private String qty;//    ç³è¯·é¡¹ç®æ°é | 
 |  |  |     private String chargeFlag;//    è®¡ä»·æ å¿ | 
 |  |  |     private String detailId;//    ç³è¯·æç»å¯ä¸ID | 
 |  |  |     private String itemTypeCode;//    è¯ç项ç®åç±» | 
 |  |  |     private String itemClassCode;//    è¯ç项ç®å¤§ç±» | 
 |  |  |     private String orderId;//    ç
人å»å±ID | 
 |  |  |     private String admissTimes;//    ä½é¢æ¬¡æ° | 
 |  |  |     private String entryTime;//    å
¥é¢æ¶é´ | 
 |  |  |  | 
 |  |  | } | 
 |  |  |  | 
 
| ¶Ô±ÈÐÂÎļþ | 
 |  |  | 
 |  |  | package com.smartor.domain; | 
 |  |  |  | 
 |  |  |  | 
 |  |  | import io.swagger.annotations.ApiModel; | 
 |  |  | import lombok.Data; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * ç¬¬ä¸æ¹ååé¨è¯ä¿¡æ¯ | 
 |  |  |  * | 
 |  |  |  * @author ruoyi | 
 |  |  |  * @date 2024-9-02 | 
 |  |  |  */ | 
 |  |  | @Data | 
 |  |  | @ApiModel("ç¬¬ä¸æ¹ååé¨è¯ä¿¡æ¯") | 
 |  |  | public class ThiedOutHospInfo { | 
 |  |  |  | 
 |  |  |     private String del;      //å é¤æ å¿ | 
 |  |  |     private String creator;         //    å建è
 | 
 |  |  |     private String createTime;      //å建æ¶é´ | 
 |  |  |     private String updater;     //    æ´æ°è
 | 
 |  |  |     private String updateTime;//æ´æ°æ¶é´ | 
 |  |  |     private String treatID; //    ç
人就è¯åºå· | 
 |  |  |     private String orgCode;//ç»ç»æºæä»£ç  | 
 |  |  |     private String orgName;//ç»ç»æºæåç§° | 
 |  |  |     private String treatDate;//    ç
äººå°±è¯æ¥æ | 
 |  |  |     private String departmentID;//    å°±è¯ç§å®¤ä»£ç  | 
 |  |  |     private String hisDepartmentID;//    å°±è¯ç§å®¤ä»£ç  | 
 |  |  |     private String departmentName;//    å°±è¯ç§å®¤åç§° | 
 |  |  |     private String doctorID;//    å°±è¯å»çåºå· | 
 |  |  |     private String doctorNum;//å°±è¯å»çå·¥å· | 
 |  |  |     private String hisDoctorID;//å°±è¯å»çåºå· | 
 |  |  |     private String doctorName;//    å°±è¯å»çåç§° | 
 |  |  |     private String patiRecordID;//ç
人档æ¡åºå· | 
 |  |  |     private String patiMediaID;//    ç
人ä»è´¨åºå· | 
 |  |  |     private String patiMediaNum;//    ç
人ä»è´¨å·ç  | 
 |  |  |     private String patiTypeID;//    ç
人类å«åºå· | 
 |  |  |     private String patiTypeName;//    ç
人类å«åç§° | 
 |  |  |     private String patiNatureID;//    ç
人æ§è´¨åºå· | 
 |  |  |     private String patiNatureName;//    ç
人æ§è´¨åç§° | 
 |  |  |     private String patiName;//    ç
人档æ¡å§å | 
 |  |  |     private String patiIndex;//    ç
äººä¸»ç´¢å¼ | 
 |  |  |     private String patiAge;//    å°±è¯ç
äººå¹´é¾ | 
 |  |  |     private String patiAgeUnit;//    ç
人年é¾åä½ | 
 |  |  |     private String patiBirthday;//    ç
人åºçæ¥æ | 
 |  |  |     private String patiAddr;//    ç
人ä½å | 
 |  |  |     private String patiPhone;//    ç
人èç³»çµè¯ | 
 |  |  |     private String patiSex;//    ç
äººæ¡£æ¡æ§å« | 
 |  |  |     private String patiIDCardno;//    ç
人身份è¯å· | 
 |  |  |     private String patiSourceID;//ç
äººæ¥æºid | 
 |  |  |     private String patiSource;//ç
äººæ¥æº | 
 |  |  |     private String patiCompany;//    ç
人åä½ | 
 |  |  |     private String specialPati;//    ç¹æ®ç
人类å | 
 |  |  |     private String treatStatus;//    ç
人就è¯ç¶æ | 
 |  |  |     private String treatTimes;//    ç
äººå°±è¯æ¬¡æ° | 
 |  |  |     private String visitFlag;//    åè¯å¤è¯å¤å« | 
 |  |  |     private String regID;//    æå·è®°å½åºå· | 
 |  |  |     private String goType;//    ç
人就è¯å»å | 
 |  |  |     private String attackDate;//    ç
人åç
æ¥æ | 
 |  |  |     private String treatBeginDate;//å°±è¯å¼å§æ¶é´ | 
 |  |  |     private String treatEndDate;//    å°±è¯ç»ææ¶é´ | 
 |  |  |     private String relateTreatID;//    å¯¹åºå°±è¯åºå· | 
 |  |  |     private String treatChangeID;//    å°±è¯åå¨åºå· | 
 |  |  |     private String infectious;//    ä¼ æç
ç§å¤å« | 
 |  |  |     private String settleID;//ç»ç®ç±»å«åºå· | 
 |  |  |     private String settleName;//    ç»ç®ç±»å«åç§° | 
 |  |  |     private String specialRemark;//    ç¹æ®ç
ç§ | 
 |  |  |     private String cycleID;//è¯ç卿ç¼ç  | 
 |  |  |     private String transferID;//    è½¬è¯è®°å½åºå· | 
 |  |  |     private String depositID;//    ç
人交款åºå· | 
 |  |  |     private String systemID;//ç³»ç»æ¨¡ååºå· | 
 |  |  |     private String operateType;//æ¥è¯æä½ç±»å« | 
 |  |  |     private String emergency;//æ¯å¦æ¥è¯å¤å« | 
 |  |  |     private String emergencyRegisterID;//    æ¥è¯ç»è®°åºå· | 
 |  |  |     private String doctorGroupID;//    å»çç»å·åºå· | 
 |  |  |     private String doctorGroupName;//å»çç»å·åç§° | 
 |  |  |     private String interTreatID;//æ¥å£å°±è¯åºå· | 
 |  |  |     private String summaryTimes;//å°±è¯å°ç»æ¬¡æ° | 
 |  |  |     private String transportation;//交éå·¥å
· | 
 |  |  |     private String evaluation;//è¯ä¼°å¼ | 
 |  |  |     private String diagIcd10;//è¯æICD10 | 
 |  |  |     private String diagName;//è¯æåç§° | 
 |  |  |     private String nationCode;//æ°æç¼ç  | 
 |  |  |     private String nation;//æ°æ | 
 |  |  |     private String citizenshipCode;//å½ç±ç¼ç  | 
 |  |  |     private String citizenship;//å½ç± | 
 |  |  |     private String livingAddressCode;//    ç°ä½åç¼ç  | 
 |  |  |     private String livingAddress;//    ç°ä½å | 
 |  |  |     private String occupationCode;//人群åç±»ä»£ç  | 
 |  |  |     private String occupation;//    äººç¾¤åç±» | 
 |  |  |     private String idcardTypeCode;//    è¯ä»¶ç±»åç¼ç  | 
 |  |  |     private String idcardType;//    è¯ä»¶ç±»å | 
 |  |  |     private String domicileCode;//    æ·ç±ç±»åç¼ç  | 
 |  |  |     private String domicile;//    æ·ç±ç±»å | 
 |  |  |     private String domicileAddressCode;//    æ·ç±ç¼ç  | 
 |  |  |     private String domicileAddress;//    æ·ç± | 
 |  |  |     private String domicileAdrressDetails;//    æ·ç±è¯¦ç»å°å | 
 |  |  |     private String contacts;//    è系人 | 
 |  |  |     private String contactsTel;//    è系人çµè¯ | 
 |  |  |     private String mrCompletion;//    ç
åå®æåº¦åæ®µ | 
 |  |  |     private String mrPrintFlag;//    ç
åæå°æ å¿ | 
 |  |  |     private String syncFlag;//    å°±è¯è®°å½åæ¥æ å¿ | 
 |  |  |     private String patiHeight;//    èº«é« | 
 |  |  |     private String patiHeightUnit;//    èº«é«åä½ | 
 |  |  |     private String patiWeight;//    ä½é | 
 |  |  |     private String patiWeightUnit;//    ä½éåä½ | 
 |  |  |     private String zs;//    ä¸»è¯ | 
 |  |  |     private String xbs;//    ç°ç
å² | 
 |  |  |     private String jws;//    æ¢å¾å² | 
 |  |  |     private String breathe;//    å¼å¸ | 
 |  |  |     private String breatheUnit;//    å¼å¸åä½ | 
 |  |  |     private String ssy;//    æ¶ç¼©å | 
 |  |  |     private String ssyUnit;//    æ¶ç¼©ååä½ | 
 |  |  |     private String szy;//    èå¼ å | 
 |  |  |     private String szyUnit;//    èå¼ ååä½ | 
 |  |  |     private String temperature;//    ä½æ¸© | 
 |  |  |     private String temperatureUnit;//    ä½æ¸©åä½ | 
 |  |  |     private String fzjc;//    è¾
婿£æ¥ | 
 |  |  |     private String tgjc;//    ä½æ ¼æ£æ¥ | 
 |  |  |  | 
 |  |  | } | 
 |  |  |  | 
 
| ¶Ô±ÈÐÂÎļþ | 
 |  |  | 
 |  |  | package com.smartor.domain; | 
 |  |  |  | 
 |  |  | import com.ruoyi.common.annotation.Excel; | 
 |  |  | import io.swagger.annotations.ApiModel; | 
 |  |  | import io.swagger.annotations.ApiModelProperty; | 
 |  |  | import lombok.Data; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * æ°åå»é¢å
¬ä¼å·å
¥å | 
 |  |  |  * | 
 |  |  |  * @author lihu | 
 |  |  |  * @date 2024-08-31 | 
 |  |  |  */ | 
 |  |  | @ApiModel(value = "XinHuaWXReq", description = "æ°åå»é¢å
¬ä¼å·å
¥å") | 
 |  |  | @Data | 
 |  |  | public class XinHuaWXReq { | 
 |  |  |     private static final long serialVersionUID = 1L; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥å£æå¡åï¼åºå®å¼ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "æ¥å£æå¡åï¼åºå®å¼") | 
 |  |  |     private String service = "smarthos.yygh.ApiService.push"; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è¯ä»¶å· | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "  è¯ä»¶å·") | 
 |  |  |     @ApiModelProperty(value = "è¯ä»¶å·") | 
 |  |  |     private String idcard; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è¯¦æ
å°å | 
 |  |  |      */ | 
 |  |  |     @Excel(name = "详æ
å°å") | 
 |  |  |     @ApiModelProperty(value = "详æ
å°å") | 
 |  |  |     private String url; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åéç±»å: 1 æ¶é´æ®µ   2 æ¶é´ç¹   3 å³å»åé | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "é访项ç®") | 
 |  |  |     private String keyword1; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æéæ¶é´ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "æéæ¶é´") | 
 |  |  |     private String keyword2; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æéå
容 | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "æéå
容") | 
 |  |  |     private String keyword3; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ³¨æäºé¡¹ | 
 |  |  |      */ | 
 |  |  |     @ApiModelProperty(value = "注æäºé¡¹") | 
 |  |  |     private String keyword4; | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  |      */ | 
 |  |  |     public int insertPatArchive(List<PatArchive> patArchives); | 
 |  |  |  | 
 |  |  |     public int insertPatArchiveSingle(PatArchive patArchive); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä¿®æ¹æ£è
æ¡£æ¡ | 
 |  |  |      * | 
 |  |  | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     public int deletePatArchiveByPatids(Long[] patids); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public List<PatArchive> selectPatArchiveInfoByAllhosp(PatArchiveReq patArchive); | 
 
 |  |  | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | import com.smartor.domain.PatMedInhosp; | 
 |  |  | import com.smartor.domain.PatMedReq; | 
 |  |  | import com.smartor.domain.PatMedRes; | 
 |  |  | import org.apache.ibatis.annotations.Mapper; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     public int deletePatMedInhospByInhospids(Long[] inhospids); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * åºé¢ãå
¥é¢äººæ° | 
 |  |  |      * | 
 |  |  |      * @param patMedReq | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public PatMedRes selectPatMedInhospCount(PatMedReq patMedReq); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public List<PatMedRes> getDeptRanking(PatMedReq patMedReq); | 
 |  |  | } | 
 
 |  |  | 
 |  |  | package com.smartor.mapper; | 
 |  |  |  | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | import com.smartor.domain.PatMedOuthosp; | 
 |  |  | import com.smartor.domain.PatMedReq; | 
 |  |  | import com.smartor.domain.PatMedRes; | 
 |  |  | import org.apache.ibatis.annotations.Mapper; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  | 
 |  |  |  * @date 2023-03-04 | 
 |  |  |  */ | 
 |  |  | @Mapper | 
 |  |  | public interface PatMedOuthospMapper | 
 |  |  | { | 
 |  |  | public interface PatMedOuthospMapper { | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢æ£è
é¨è¯è®°å½ | 
 |  |  |      * | 
 |  |  | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     public int deletePatMedOuthospByIds(Long[] ids); | 
 |  |  |  | 
 |  |  |     PatMedRes selectPatMedOuthospCount(PatMedReq patMedReq); | 
 |  |  | } | 
 
 |  |  | 
 |  |  | package com.smartor.mapper; | 
 |  |  |  | 
 |  |  | import com.smartor.domain.ServiceSubtask; | 
 |  |  | import com.smartor.domain.ServiceSubtaskCount; | 
 |  |  | import com.smartor.domain.ServiceSubtaskCountReq; | 
 |  |  | import com.smartor.domain.ServiceSubtaskVO; | 
 |  |  | import org.apache.ibatis.annotations.Mapper; | 
 |  |  | import org.apache.ibatis.annotations.Param; | 
 |  |  |  | 
 |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢åä¸ä»»å¡ï¼é访ï¼å表 | 
 |  |  |      * | 
 |  |  |      * @param serviceSubtask åä¸ä»»å¡ï¼éè®¿ï¼ | 
 |  |  |      * @param serviceSubtaskVO åä¸ä»»å¡ï¼éè®¿ï¼ | 
 |  |  |      * @return åä¸ä»»å¡ï¼é访ï¼éå | 
 |  |  |      */ | 
 |  |  |     public List<ServiceSubtask> selectServiceSubtaskList(ServiceSubtask serviceSubtask); | 
 |  |  |     public List<ServiceSubtask> selectServiceSubtaskList(ServiceSubtaskVO serviceSubtaskVO); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°å¢åä¸ä»»å¡ï¼éè®¿ï¼ | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     public List<ServiceSubtask> getDataByTime(@Param("beganTime") String beganTime, @Param("endTime") String endTime); | 
 |  |  |  | 
 |  |  |     public List<ServiceSubtaskCount> getSfFzInfoEveryMonth(ServiceSubtaskCountReq serviceSubtaskCountReq); | 
 |  |  |  | 
 |  |  | } | 
 
| ¶Ô±ÈÐÂÎļþ | 
 |  |  | 
 |  |  | package com.smartor.mapper; | 
 |  |  |  | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysDept; | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysUserDept; | 
 |  |  | import org.apache.ibatis.annotations.Mapper; | 
 |  |  |  | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * ã请填ååè½åç§°ãMapperæ¥å£ | 
 |  |  |  * | 
 |  |  |  * @author lihu | 
 |  |  |  * @date 2024-08-29 | 
 |  |  |  */ | 
 |  |  | @Mapper | 
 |  |  | public interface SysUserDeptMapper { | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢ã请填ååè½åç§°ã | 
 |  |  |      * | 
 |  |  |      * @param id ã请填ååè½åç§°ãä¸»é® | 
 |  |  |      * @return ã请填ååè½åç§°ã | 
 |  |  |      */ | 
 |  |  |     public SysUserDept selectSysUserDeptById(Long id); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢ã请填ååè½åç§°ãå表 | 
 |  |  |      * | 
 |  |  |      * @param sysUserDept ã请填ååè½åç§°ã | 
 |  |  |      * @return ã请填ååè½åç§°ãéå | 
 |  |  |      */ | 
 |  |  |     public List<SysUserDept> selectSysUserDeptList(SysUserDept sysUserDept); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°å¢ã请填ååè½åç§°ã | 
 |  |  |      * | 
 |  |  |      * @param sysUserDept ã请填ååè½åç§°ã | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     public int insertSysUserDept(SysUserDept sysUserDept); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä¿®æ¹ã请填ååè½åç§°ã | 
 |  |  |      * | 
 |  |  |      * @param sysUserDept ã请填ååè½åç§°ã | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     public int updateSysUserDept(SysUserDept sysUserDept); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å é¤ã请填ååè½åç§°ã | 
 |  |  |      * | 
 |  |  |      * @param id ã请填ååè½åç§°ãä¸»é® | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     public int deleteSysUserDeptById(Long id); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ ¹æ®ç¨æ·IDæ¥è¯¢é¨é¨ä¿¡æ¯ | 
 |  |  |      * | 
 |  |  |      * @param id | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public List<SysDept> selectDeptListByUserId(Long id); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¹éå é¤ã请填ååè½åç§°ã | 
 |  |  |      * | 
 |  |  |      * @param ids éè¦å é¤çæ°æ®ä¸»é®éå | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     public int deleteSysUserDeptByIds(Long[] ids); | 
 |  |  | } | 
 
 |  |  | 
 |  |  | package com.smartor.service; | 
 |  |  |  | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | import com.ruoyi.common.core.domain.AjaxResult; | 
 |  |  | import com.smartor.domain.PatMedInhosp; | 
 |  |  | import com.smartor.domain.PatMedReq; | 
 |  |  | import com.smartor.domain.PatMedRes; | 
 |  |  |  | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.Map; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * æ£è
ä½é¢è®°å½Serviceæ¥å£ | 
 |  |  | 
 |  |  |      * @return æ£è
ä½é¢è®°å½éå | 
 |  |  |      */ | 
 |  |  |     public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp); | 
 |  |  |  | 
 |  |  |     public PatMedInhosp getDeptCodeByPatId(PatMedInhosp patMedInhosp); | 
 |  |  |  | 
 |  |  |     public PatMedRes selectPatMedInhospListCount(PatMedReq patMedReq); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°å¢æ£è
ä½é¢è®°å½ | 
 |  |  | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     public int dealOupHospInfo(); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è·ååºé¢ï¼ä½é¢ï¼é¨è¯æå¡äººæ¬¡ | 
 |  |  |      * | 
 |  |  |      * @param patMedReq | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public List<PatMedRes> getDeptRanking(PatMedReq patMedReq); | 
 |  |  | } | 
 
 |  |  | 
 |  |  | package com.smartor.service; | 
 |  |  |  | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | import com.ruoyi.common.core.page.TableDataInfo; | 
 |  |  | import com.smartor.domain.PatMedOuthosp; | 
 |  |  | import com.smartor.domain.PatMedReq; | 
 |  |  | import com.smartor.domain.PatMedRes; | 
 |  |  | import org.springframework.web.bind.annotation.RequestBody; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * æ£è
é¨è¯è®°å½Serviceæ¥å£ | 
 |  |  |  *  | 
 |  |  |  * | 
 |  |  |  * @author smartor | 
 |  |  |  * @date 2023-03-04 | 
 |  |  |  */ | 
 |  |  | public interface IPatMedOuthospService  | 
 |  |  | { | 
 |  |  | public interface IPatMedOuthospService { | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢æ£è
é¨è¯è®°å½ | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param id æ£è
é¨è¯è®°å½ä¸»é® | 
 |  |  |      * @return æ£è
é¨è¯è®°å½ | 
 |  |  |      */ | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢æ£è
é¨è¯è®°å½å表 | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param patMedOuthosp æ£è
é¨è¯è®°å½ | 
 |  |  |      * @return æ£è
é¨è¯è®°å½éå | 
 |  |  |      */ | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°å¢æ£è
é¨è¯è®°å½ | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param patMedOuthosp æ£è
é¨è¯è®°å½ | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä¿®æ¹æ£è
é¨è¯è®°å½ | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param patMedOuthosp æ£è
é¨è¯è®°å½ | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¹éå é¤æ£è
é¨è¯è®°å½ | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param ids éè¦å é¤çæ£è
é¨è¯è®°å½ä¸»é®éå | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å é¤æ£è
é¨è¯è®°å½ä¿¡æ¯ | 
 |  |  |      *  | 
 |  |  |      * | 
 |  |  |      * @param id æ£è
é¨è¯è®°å½ä¸»é® | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     public int deletePatMedOuthospById(Long id); | 
 |  |  |  | 
 |  |  |     public PatMedRes selectPatMedOuthospCount(@RequestBody PatMedReq patMedReq); | 
 |  |  |  | 
 |  |  |     //éè¿æ£è
IDè·åå°ææ°çdeptcode | 
 |  |  |     public PatMedOuthosp getDeptCodeByPatId(PatMedOuthosp patMedOuthosp); | 
 |  |  | } | 
 
 |  |  | 
 |  |  | import org.springframework.web.bind.annotation.RequestBody; | 
 |  |  |  | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.Map; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * ä»»å¡é®å·é®é¢é项Serviceæ¥å£ | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     public Integer saveQuestionCache(ServiceSubTaskCacheReq serviceSubTaskCacheReq); | 
 |  |  |  | 
 |  |  |     public List<ServiceSubtaskDetailVO> selectPatQuestionResult(ServiceSubTaskQueryReq serviceSubTaskQueryReq); | 
 |  |  |     public List<SvyLibTemplateScriptVO> getQuestionCache(ServiceSubTaskCacheReq serviceSubTaskCacheReq); | 
 |  |  |  | 
 |  |  |     public Map<String, Object> selectPatQuestionResult(ServiceSubTaskQueryReq serviceSubTaskQueryReq); | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢åä¸ä»»å¡ï¼é访ï¼å表 | 
 |  |  |      * | 
 |  |  |      * @param ServiceSubtask åä¸ä»»å¡ï¼éè®¿ï¼ | 
 |  |  |      * @param serviceSubtaskVO åä¸ä»»å¡ï¼éè®¿ï¼ | 
 |  |  |      * @return åä¸ä»»å¡ï¼é访ï¼éå | 
 |  |  |      */ | 
 |  |  |     public List<ServiceSubtask> selectServiceSubtaskList(ServiceSubtask ServiceSubtask); | 
 |  |  |     public List<ServiceSubtask> selectServiceSubtaskList(ServiceSubtaskVO serviceSubtaskVO); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ ¹æ®æ¡ä»¶æ¥è¯¢ä»»å¡ä¿¡æ¯ | 
 |  |  | 
 |  |  |  | 
 |  |  |     public Integer saveQuestionAnswerPhone(ServiceSubTaskDetailReq serviceSubTaskDetailReq); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è·åé访ãå¤è¯é | 
 |  |  |      * | 
 |  |  |      * @param serviceSubtaskCountReq | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public List<ServiceSubtaskCount> getSfFzInfoEveryMonth(ServiceSubtaskCountReq serviceSubtaskCountReq); | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  | package com.smartor.service; | 
 |  |  |  | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.Map; | 
 |  |  |  | 
 |  |  | import com.smartor.domain.IvrLibaTemplateScriptVO; | 
 |  |  | import com.smartor.domain.ServiceTask; | 
 |  |  | 
 |  |  |      * @param patid | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public List getScriptInfoByCondition(Long taskid, Long patid); | 
 |  |  |     public Map<String, Object> getScriptInfoByCondition(Long taskid, Long patid); | 
 |  |  |  | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  | package com.smartor.service; | 
 |  |  |  | 
 |  |  | import com.smartor.domain.ServiceSubtask; | 
 |  |  | import com.smartor.domain.ServiceTaskVO; | 
 |  |  | import com.smartor.domain.SvyTaskSingle; | 
 |  |  | import com.smartor.domain.SvyTaskVO; | 
 |  |  |  | 
 |  |  | 
 |  |  |  * @date 2024-06-12 | 
 |  |  |  */ | 
 |  |  | public interface ISvyTaskSingleService { | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      * | 
 |  |  |      * @param id åä¸ä»»å¡ï¼é®å·ï¼ä¸»é® | 
 |  |  |      * @return åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      */ | 
 |  |  |     public SvyTaskSingle selectSvyTaskSingleById(Long id); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢åä¸ä»»å¡ï¼é®å·ï¼å表 | 
 |  |  |      * | 
 |  |  |      * @param svyTaskSingle åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      * @return åä¸ä»»å¡ï¼é®å·ï¼éå | 
 |  |  |      */ | 
 |  |  |     public List<SvyTaskSingle> selectSvyTaskSingleList(SvyTaskSingle svyTaskSingle); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°å¢åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      * | 
 |  |  |      * @param svyTaskSingle åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     public int insertSvyTaskSingle(SvyTaskSingle svyTaskSingle); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä¿®æ¹åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      * | 
 |  |  |      * @param svyTaskSingle åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     public int updateSvyTaskSingle(SvyTaskSingle svyTaskSingle); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¹éå é¤åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      * | 
 |  |  |      * @param ids éè¦å é¤çåä¸ä»»å¡ï¼é®å·ï¼ä¸»é®éå | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     public int deleteSvyTaskSingleByIds(Long[] ids); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å é¤åä¸ä»»å¡ï¼é®å·ï¼ä¿¡æ¯ | 
 |  |  |      * | 
 |  |  |      * @param id åä¸ä»»å¡ï¼é®å·ï¼ä¸»é® | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     public int deleteSvyTaskSingleById(Long id); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°å¢æä¿®æ¹å é¤é®å·ä»»å¡ | 
 |  |  |      */ | 
 |  |  |     public int insertOrUpdateSvyTask(SvyTaskVO svyTaskVO); | 
 |  |  |     public int insertOrUpdateSvyTask(ServiceTaskVO serviceTaskVO); | 
 |  |  |  | 
 |  |  |     public SvyTaskVO queryTaskByCondition(SvyTaskSingle svyTaskSingle); | 
 |  |  |     public ServiceTaskVO queryTaskByCondition(ServiceSubtask serviceSubtask); | 
 |  |  | } | 
 
 |  |  | 
 |  |  |                     try { | 
 |  |  |                         Date date = sdf.parse(begantime); | 
 |  |  |                         milliseconds = date.getTime() - System.currentTimeMillis(); | 
 |  |  |                         if (milliseconds < 0) { | 
 |  |  |                             milliseconds = 1000L; | 
 |  |  |                         } | 
 |  |  |                         System.out.println("æ¥ææ¯«ç§æ°ï¼" + milliseconds); | 
 |  |  |                     } catch (Exception e) { | 
 |  |  |                         e.printStackTrace(); | 
 
 |  |  | 
 |  |  | package com.smartor.service.impl; | 
 |  |  |  | 
 |  |  | import java.io.FileOutputStream; | 
 |  |  | import java.text.ParseException; | 
 |  |  | import java.text.SimpleDateFormat; | 
 |  |  | import java.util.*; | 
 |  |  | import java.util.concurrent.ExecutorService; | 
 |  |  | import java.util.concurrent.Executors; | 
 |  |  | import java.util.stream.Collectors; | 
 |  |  |  | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysUser; | 
 |  |  | import com.ruoyi.common.core.redis.RedisCache; | 
 |  |  | import com.ruoyi.common.exception.base.BaseException; | 
 |  |  | 
 |  |  | import com.ruoyi.common.utils.StringUtils; | 
 |  |  | import com.smartor.domain.*; | 
 |  |  | import com.smartor.mapper.BaseTagMapper; | 
 |  |  | import com.smartor.mapper.PatArchiveMapper; | 
 |  |  | import com.smartor.mapper.PatArchivetagMapper; | 
 |  |  | import com.smartor.service.IPatArchiveService; | 
 |  |  | import com.smartor.service.IPatMedInhospService; | 
 |  |  | import com.smartor.service.IPatMedOuthospService; | 
 |  |  | import com.smartor.service.IPatMedPhysicalService; | 
 |  |  | 
 |  |  | import org.apache.commons.collections4.CollectionUtils; | 
 |  |  | import org.apache.commons.lang3.ObjectUtils; | 
 |  |  | import org.apache.poi.hssf.usermodel.HSSFDateUtil; | 
 |  |  | import org.apache.poi.ss.usermodel.*; | 
 |  |  | import org.apache.poi.ss.usermodel.DataFormatter; | 
 |  |  | import org.apache.poi.ss.usermodel.Row; | 
 |  |  | import org.apache.poi.ss.usermodel.Sheet; | 
 |  |  | import org.apache.poi.ss.usermodel.Workbook; | 
 |  |  | import org.apache.poi.xssf.usermodel.XSSFWorkbook; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  | import com.smartor.mapper.PatArchiveMapper; | 
 |  |  | import com.smartor.service.IPatArchiveService; | 
 |  |  | import org.springframework.transaction.annotation.Transactional; | 
 |  |  | import org.springframework.web.multipart.MultipartFile; | 
 |  |  |  | 
 |  |  | import java.io.FileOutputStream; | 
 |  |  | import java.text.ParseException; | 
 |  |  | import java.text.SimpleDateFormat; | 
 |  |  | import java.util.*; | 
 |  |  | import java.util.concurrent.ExecutorService; | 
 |  |  | import java.util.concurrent.Executors; | 
 |  |  | import java.util.stream.Collectors; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * æ£è
æ¡£æ¡Serviceä¸å¡å±å¤ç | 
 |  |  | 
 |  |  |     @Override | 
 |  |  |     public Integer insertPatArchive(PatArchive patArchive) { | 
 |  |  |         patArchive.setCreateTime(DateUtils.getNowDate()); | 
 |  |  |         List<PatArchive> patArchives = new ArrayList<>(); | 
 |  |  |         patArchives.add(patArchive); | 
 |  |  |         patArchiveMapper.insertPatArchive(patArchives); | 
 |  |  |         if (CollectionUtils.isNotEmpty(patArchives)) { | 
 |  |  |             patArchives.get(0).getId(); | 
 |  |  |             log.info("æ£è
id为: {}", patArchives.get(0).getId()); | 
 |  |  |             return patArchives.get(0).getId().intValue(); | 
 |  |  |         } | 
 |  |  |         return null; | 
 |  |  |         patArchiveMapper.insertPatArchiveSingle(patArchive); | 
 |  |  |         return patArchive.getId().intValue(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 
 |  |  | 
 |  |  | import com.ruoyi.common.utils.DateUtils; | 
 |  |  | import com.smartor.domain.PatFilterlist; | 
 |  |  | import com.smartor.domain.ServiceSubtask; | 
 |  |  | import com.smartor.domain.ServiceSubtaskVO; | 
 |  |  | import com.smartor.mapper.PatFilterlistMapper; | 
 |  |  | import com.smartor.mapper.ServiceSubtaskMapper; | 
 |  |  | import com.smartor.service.IPatFilterlistService; | 
 |  |  | 
 |  |  |     @Override | 
 |  |  |     public int insertPatFilterlist(PatFilterlist patFilterlist) { | 
 |  |  |         //å
æ¥è¯¢ä¸ä¸ï¼è¯¥æ£è
æ¯å¦ææ§è¡çä»»å¡ï¼å¦ææçè¯ï¼å°ä»»å¡æå | 
 |  |  |         ServiceSubtask serviceSubtask = new ServiceSubtask(); | 
 |  |  |         ServiceSubtaskVO serviceSubtask = new ServiceSubtaskVO(); | 
 |  |  |         serviceSubtask.setPatid(patFilterlist.getPatid()); | 
 |  |  |         serviceSubtask.setDelFlag("0"); | 
 |  |  |         List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtask); | 
 
 |  |  | 
 |  |  |  | 
 |  |  | import java.time.LocalDate; | 
 |  |  | import java.time.ZoneOffset; | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.*; | 
 |  |  |  | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysDept; | 
 |  |  | import com.ruoyi.common.utils.DateUtils; | 
 |  |  | import com.ruoyi.common.utils.DtoConversionUtils; | 
 |  |  | import com.ruoyi.common.utils.SecurityUtils; | 
 |  |  | import com.ruoyi.common.utils.StringUtils; | 
 |  |  | import com.smartor.domain.*; | 
 |  |  | import com.smartor.mapper.*; | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private ServiceSubtaskMapper serviceSubtaskMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private SysUserDeptMapper sysUserDeptMapper; | 
 |  |  |  | 
 |  |  |     //è®°å½é¿æä»»å¡åºç¡ä¿¡æ¯ | 
 |  |  |     List<IvrLibaTemplate> libaTemplates = new ArrayList<>(); | 
 |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp) { | 
 |  |  |         return patMedInhospMapper.selectPatMedInhospList(patMedInhosp); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public PatMedInhosp getDeptCodeByPatId(PatMedInhosp patMedInhosp) { | 
 |  |  |         List<PatMedInhosp> patMedInhosps = selectPatMedInhospList(patMedInhosp); | 
 |  |  |         if (!org.springframework.util.CollectionUtils.isEmpty(patMedInhosps)) { | 
 |  |  |  | 
 |  |  |             if (patMedInhosp.getInhospstate().equals("0")) { | 
 |  |  |                 //å
廿æ¶é´ä¸ºç©ºç | 
 |  |  |                 patMedInhosps.removeIf(PatMedInhosp -> PatMedInhosp.getStarttime() == null); | 
 |  |  |                 Collections.sort(patMedInhosps, Comparator.comparing(PatMedInhosp::getStarttime).reversed()); | 
 |  |  |             } else if (patMedInhosp.getInhospstate().equals("1")) { | 
 |  |  |                 //å
廿æ¶é´ä¸ºç©ºç | 
 |  |  |                 patMedInhosps.removeIf(PatMedInhosp -> PatMedInhosp.getEndtime() == null); | 
 |  |  |                 Collections.sort(patMedInhosps, Comparator.comparing(PatMedInhosp::getEndtime).reversed()); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         if (patMedInhosps != null && patMedInhosps.size() > 0) return patMedInhosps.get(0); | 
 |  |  |         else return null; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢åºå
¥é¢äººæ¬¡ | 
 |  |  |      * | 
 |  |  |      * @param patMedReq | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public PatMedRes selectPatMedInhospListCount(PatMedReq patMedReq) { | 
 |  |  |         PatMedRes patMedRes = null; | 
 |  |  |         // è·åå½åç»é人çé¨é¨æé | 
 |  |  |         if (org.springframework.util.CollectionUtils.isEmpty(patMedReq.getDeptcodeList())) { | 
 |  |  |             Long userId = SecurityUtils.getUserId(); | 
 |  |  |             List<SysDept> sysDepts = sysUserDeptMapper.selectDeptListByUserId(userId); | 
 |  |  |             List<String> deptCode = new ArrayList<>(); | 
 |  |  |             for (SysDept sysDept : sysDepts) { | 
 |  |  |                 deptCode.add(sysDept.getDeptId().toString()); | 
 |  |  |             } | 
 |  |  |             patMedReq.setDeptcodeList(deptCode); | 
 |  |  |             patMedRes = patMedInhospMapper.selectPatMedInhospCount(patMedReq); | 
 |  |  |         } | 
 |  |  |         return patMedRes; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |         } | 
 |  |  |         return 1; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * è·ååºé¢ï¼ä½é¢ï¼é¨è¯æå¡äººæ¬¡ | 
 |  |  |      * | 
 |  |  |      * @param patMedReq | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public List<PatMedRes> getDeptRanking(PatMedReq patMedReq) { | 
 |  |  |  | 
 |  |  |         return patMedInhospMapper.getDeptRanking(patMedReq); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  | package com.smartor.service.impl; | 
 |  |  |  | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.Collections; | 
 |  |  | import java.util.Comparator; | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysDept; | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysUserDept; | 
 |  |  | import com.ruoyi.common.utils.DateUtils; | 
 |  |  | import com.ruoyi.common.utils.SecurityUtils; | 
 |  |  | import com.smartor.domain.PatMedReq; | 
 |  |  | import com.smartor.domain.PatMedRes; | 
 |  |  | import com.smartor.mapper.SysUserDeptMapper; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  | import com.smartor.mapper.PatMedOuthospMapper; | 
 |  |  | import com.smartor.domain.PatMedOuthosp; | 
 |  |  | import com.smartor.service.IPatMedOuthospService; | 
 |  |  | import org.springframework.util.CollectionUtils; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * æ£è
é¨è¯è®°å½Serviceä¸å¡å±å¤ç | 
 |  |  | 
 |  |  |  * @date 2023-03-04 | 
 |  |  |  */ | 
 |  |  | @Service | 
 |  |  | public class PatMedOuthospServiceImpl implements IPatMedOuthospService | 
 |  |  | { | 
 |  |  | public class PatMedOuthospServiceImpl implements IPatMedOuthospService { | 
 |  |  |     @Autowired | 
 |  |  |     private PatMedOuthospMapper patMedOuthospMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SysUserDeptMapper sysUserDeptMapper; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢æ£è
é¨è¯è®°å½ | 
 |  |  | 
 |  |  |      * @return æ£è
é¨è¯è®°å½ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public PatMedOuthosp selectPatMedOuthospById(Long id) | 
 |  |  |     { | 
 |  |  |     public PatMedOuthosp selectPatMedOuthospById(Long id) { | 
 |  |  |         return patMedOuthospMapper.selectPatMedOuthospById(id); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |      * @return æ£è
é¨è¯è®°å½ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public List<PatMedOuthosp> selectPatMedOuthospList(PatMedOuthosp patMedOuthosp) | 
 |  |  |     { | 
 |  |  |     public List<PatMedOuthosp> selectPatMedOuthospList(PatMedOuthosp patMedOuthosp) { | 
 |  |  |         return patMedOuthospMapper.selectPatMedOuthospList(patMedOuthosp); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public int insertPatMedOuthosp(PatMedOuthosp patMedOuthosp) | 
 |  |  |     { | 
 |  |  |     public int insertPatMedOuthosp(PatMedOuthosp patMedOuthosp) { | 
 |  |  |         patMedOuthosp.setCreateTime(DateUtils.getNowDate()); | 
 |  |  |         patMedOuthosp.setUpdateTime(DateUtils.getNowDate()); | 
 |  |  |         return patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp); | 
 |  |  | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public int updatePatMedOuthosp(PatMedOuthosp patMedOuthosp) | 
 |  |  |     { | 
 |  |  |     public int updatePatMedOuthosp(PatMedOuthosp patMedOuthosp) { | 
 |  |  |         patMedOuthosp.setUpdateTime(DateUtils.getNowDate()); | 
 |  |  |         return patMedOuthospMapper.updatePatMedOuthosp(patMedOuthosp); | 
 |  |  |     } | 
 |  |  | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public int deletePatMedOuthospByIds(Long[] ids) | 
 |  |  |     { | 
 |  |  |     public int deletePatMedOuthospByIds(Long[] ids) { | 
 |  |  |         return patMedOuthospMapper.deletePatMedOuthospByIds(ids); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public int deletePatMedOuthospById(Long id) | 
 |  |  |     { | 
 |  |  |     public int deletePatMedOuthospById(Long id) { | 
 |  |  |         return patMedOuthospMapper.deletePatMedOuthospById(id); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public PatMedRes selectPatMedOuthospCount(PatMedReq patMedReq) { | 
 |  |  |         // è·åå½åç»é人çé¨é¨æé | 
 |  |  |         if (CollectionUtils.isEmpty(patMedReq.getDeptcodeList())) { | 
 |  |  |             Long userId = SecurityUtils.getUserId(); | 
 |  |  |             List<SysDept> sysDepts = sysUserDeptMapper.selectDeptListByUserId(userId); | 
 |  |  |             List<String> deptCode = new ArrayList<>(); | 
 |  |  |             for (SysDept sysDept : sysDepts) { | 
 |  |  |                 deptCode.add(sysDept.getDeptId().toString()); | 
 |  |  |             } | 
 |  |  |             patMedReq.setDeptcodeList(deptCode); | 
 |  |  |         } | 
 |  |  |         return patMedOuthospMapper.selectPatMedOuthospCount(patMedReq); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public PatMedOuthosp getDeptCodeByPatId(PatMedOuthosp patMedOuthosp) { | 
 |  |  |         List<PatMedOuthosp> patMedOuthosps = selectPatMedOuthospList(patMedOuthosp); | 
 |  |  |         if (!CollectionUtils.isEmpty(patMedOuthosps)) { | 
 |  |  |             Collections.sort(patMedOuthosps, Comparator.comparing(PatMedOuthosp::getAdmitdate).reversed()); | 
 |  |  |         } | 
 |  |  |         return patMedOuthosps.get(0); | 
 |  |  |     } | 
 |  |  | } | 
 
 |  |  | 
 |  |  | 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.service.IServiceSubtaskAnswerService; | 
 |  |  | import com.smartor.service.IServiceTaskService; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import org.apache.commons.collections4.CollectionUtils; | 
 |  |  | import org.apache.commons.lang3.ObjectUtils; | 
 |  |  | 
 |  |  | import org.springframework.beans.factory.annotation.Value; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.*; | 
 |  |  | import java.util.concurrent.TimeUnit; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * ä»»å¡é®å·é®é¢é项Serviceä¸å¡å±å¤ç | 
 |  |  | 
 |  |  |     private ServiceSubtaskAnswerMapper serviceSubtaskAnswerMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private ServiceSubtaskMapper serviceSubtaskMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private RedisCache redisCache; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private ServiceSubtaskDetailMapper serviceSubtaskDetailMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private IServiceTaskService serviceTaskService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SvyTaskTemplateTargetoptionMapper svyTaskTemplateTargetoptionMapper; | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public Integer saveQuestionAnswer(ServiceSubTaskAnswerReq serviceSubTaskAnswerReq) { | 
 |  |  |         Long tid = null; | 
 |  |  |         Long pid = null; | 
 |  |  |         Double score = null; | 
 |  |  |         Set<String> allKeys = redisCache.getAllKeys(); | 
 |  |  |         if (ObjectUtils.isNotEmpty(serviceSubTaskAnswerReq)) { | 
 |  |  |             //éè¦ç«å³æ§è¡ | 
 |  |  |             RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); | 
 |  |  |             Long tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskAnswerReq.getParam1(), pri_key)); | 
 |  |  |             Long pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskAnswerReq.getParam2(), pri_key)); | 
 |  |  |             tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskAnswerReq.getParam1(), pri_key)); | 
 |  |  |             pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskAnswerReq.getParam2(), pri_key)); | 
 |  |  |             allKeys = new HashSet<>(); | 
 |  |  |             allKeys.add(pid + "-" + tid + "-WJscriptCache"); | 
 |  |  |         } | 
 |  |  | 
 |  |  |         for (String key : allKeys) { | 
 |  |  |             String[] split = key.split("-"); | 
 |  |  |             if (key.contains("-WJscriptCache")) { | 
 |  |  |                 List<SvyTaskTemplateScriptVO> cacheList = redisCache.getCacheList(key); | 
 |  |  |                 List<SvyLibTemplateScriptVO> cacheList = redisCache.getCacheList(key); | 
 |  |  |  | 
 |  |  |                 for (int i = 0; i < cacheList.size(); i++) { | 
 |  |  |                     if (i == 0) { | 
 |  |  |                         // è¯´ææ¯ç¬¬ä¸é¢ | 
 |  |  |                         //å°ç¬¬ä¸é¢çä¿¡æ¯æ¾å°è¡¨ä¸ | 
 |  |  |                         nextScriptno = setWJInfo(cacheList.get(0), Long.valueOf(split[1]), Long.valueOf(split[0])); | 
 |  |  |                     } else { | 
 |  |  |                         for (SvyTaskTemplateScriptVO svyTaskTemplateScriptVO : cacheList) { | 
 |  |  |                             if (svyTaskTemplateScriptVO.getId() == nextScriptno) { | 
 |  |  |                                 //å°ç¬¬ä¸é¢çä¿¡æ¯æ¾å°è¡¨ä¸ | 
 |  |  |                                 setWJInfo(svyTaskTemplateScriptVO, Long.valueOf(split[1]), Long.valueOf(split[0])); | 
 |  |  |                                 nextScriptno = Long.valueOf(cacheList.get(0).getNextScriptno()); | 
 |  |  |                         //è¿ä¸ªæ¶é´è¦æ¾å°ç¬¬ä¸é¢ | 
 |  |  |                         for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : cacheList) { | 
 |  |  |                             if (svyLibTemplateScriptVO.getSort() == 1) { | 
 |  |  |                                 //è¯´ææ¯ç¬¬ä¸é¢ | 
 |  |  |                                 SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(0), SvyTaskTemplateScriptVO.class); | 
 |  |  |                                 List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = cacheList.get(0).getSvyLibTemplateTargetoptions(); | 
 |  |  |                                 List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(svyLibTemplateTargetoptions, SvyTaskTemplateTargetoption.class); | 
 |  |  |                                 svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); | 
 |  |  |                                 Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, tid, pid); | 
 |  |  |                                 nextScriptno = Long.valueOf(map.get("nextScriptNo")); | 
 |  |  |                                 if (score == null) { | 
 |  |  |                                     score = Double.valueOf(map.get("score")); | 
 |  |  |                                 } else { | 
 |  |  |                                     score = score + Double.valueOf(map.get("score")); | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                     } else { | 
 |  |  |                         SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(i), SvyTaskTemplateScriptVO.class); | 
 |  |  |                         List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(cacheList.get(i).getSvyLibTemplateTargetoptions(), SvyTaskTemplateTargetoption.class); | 
 |  |  |                         svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); | 
 |  |  |  | 
 |  |  |                         if (svyTaskTemplateScriptVO.getSort() == nextScriptno) { | 
 |  |  |                             Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, Long.valueOf(split[1]), Long.valueOf(split[0])); | 
 |  |  |                             nextScriptno = Long.valueOf(map.get("nextScriptNo")); | 
 |  |  |                             if (score == null) { | 
 |  |  |                                 score = Double.valueOf(map.get("score")); | 
 |  |  |                             } else { | 
 |  |  |                                 score = score + Double.valueOf(map.get("score")); | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             //å°è¯¥keyåvalueä»redisä¸ï¼å é¤ | 
 |  |  |             redisCache.deleteObject(key); | 
 |  |  |             ServiceSubtask serviceSubtask = new ServiceSubtask(); | 
 |  |  |             serviceSubtask.setTaskid(tid); | 
 |  |  |             serviceSubtask.setPatid(pid); | 
 |  |  |             serviceSubtask.setFinishtime(new Date()); | 
 |  |  |             if (score != null) serviceSubtask.setScore(BigDecimal.valueOf(score)); | 
 |  |  |             serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask); | 
 |  |  |         } | 
 |  |  |         return 1; | 
 |  |  |     } | 
 |  |  | 
 |  |  |         Long tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam1(), pri_key)); | 
 |  |  |         Long pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam2(), pri_key)); | 
 |  |  |         //é®å· | 
 |  |  |         redisCache.setCacheObject(pid + "-" + tid + "-WJscriptCache", serviceSubTaskCacheReq.getSvyTaskTemplateScriptVOList()); | 
 |  |  |         redisCache.deleteObject(pid + "-" + tid + "-WJscriptCache"); | 
 |  |  |         redisCache.setCacheList(pid + "-" + tid + "-WJscriptCache", serviceSubTaskCacheReq.getSvyLibTemplateScriptVOS()); | 
 |  |  |         //è®¾ç½®è¿ææ¶é´ 3天 | 
 |  |  |         Long tims = Long.valueOf(3 * 24 * 3600); | 
 |  |  |         redisCache.expire(pid + "-" + tid + "-WJscriptCache", tims); | 
 |  |  |         return 1; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<ServiceSubtaskDetailVO> selectPatQuestionResult(ServiceSubTaskQueryReq serviceSubTaskQueryReq) { | 
 |  |  |         log.error("selectPatQuesTionResultçå
¥å为ï¼{}", serviceSubTaskQueryReq); | 
 |  |  |         List<ServiceSubtaskDetailVO> serviceSubtaskDetailVOList = new ArrayList<>(); | 
 |  |  |         ServiceSubtaskDetail serviceSubtaskDetail = new ServiceSubtaskDetail(); | 
 |  |  |         serviceSubtaskDetail.setTaskid(serviceSubTaskQueryReq.getTaskid()); | 
 |  |  |         serviceSubtaskDetail.setPatid(serviceSubTaskQueryReq.getPatId()); | 
 |  |  |         serviceSubtaskDetail.setScriptid(serviceSubTaskQueryReq.getScriptid()); | 
 |  |  |         List<ServiceSubtaskDetail> serviceSubtaskDetails = serviceSubtaskDetailMapper.selectServiceSubtaskDetailList(serviceSubtaskDetail); | 
 |  |  |         for (ServiceSubtaskDetail serviceSubtaskDetail1 : serviceSubtaskDetails) { | 
 |  |  |             ServiceSubtaskDetailVO serviceSubtaskDetailVO = DtoConversionUtils.sourceToTarget(serviceSubtaskDetail1, ServiceSubtaskDetailVO.class); | 
 |  |  |             SvyTaskTemplateTargetoption svyTaskTemplateTargetoption = new SvyTaskTemplateTargetoption(); | 
 |  |  |             svyTaskTemplateTargetoption.setScriptid(serviceSubtaskDetailVO.getScriptid()); | 
 |  |  |             svyTaskTemplateTargetoption.setTaskid(serviceSubtaskDetailVO.getTaskid()); | 
 |  |  |             List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = svyTaskTemplateTargetoptionMapper.selectSvyTaskTemplateTargetoptionList(svyTaskTemplateTargetoption); | 
 |  |  |             serviceSubtaskDetailVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); | 
 |  |  |             serviceSubtaskDetailVOList.add(serviceSubtaskDetailVO); | 
 |  |  |         } | 
 |  |  |         return serviceSubtaskDetailVOList; | 
 |  |  |     public List<SvyLibTemplateScriptVO> getQuestionCache(ServiceSubTaskCacheReq serviceSubTaskCacheReq) { | 
 |  |  |         RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); | 
 |  |  |         Long tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam1(), pri_key)); | 
 |  |  |         Long pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam2(), pri_key)); | 
 |  |  |         //é®å· | 
 |  |  |         List<SvyLibTemplateScriptVO> svyTaskTemplateScriptVOList = redisCache.getCacheList(pid + "-" + tid + "-WJscriptCache"); | 
 |  |  |         return svyTaskTemplateScriptVOList; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private Long setWJInfo(SvyTaskTemplateScriptVO svyTaskTemplateScriptVO, Long taskid, Long patid) { | 
 |  |  |         //ä¸é¢è·³è½¬ | 
 |  |  |         Long nextScriptNo = null; | 
 |  |  |     @Override | 
 |  |  |     public Map<String, Object> selectPatQuestionResult(ServiceSubTaskQueryReq serviceSubTaskQueryReq) { | 
 |  |  |         log.error("selectPatQuesTionResultçå
¥å为ï¼{}", serviceSubTaskQueryReq); | 
 |  |  |         Map<String, Object> map = new HashMap<>(); | 
 |  |  |  | 
 |  |  |         Map<String, Object> scriptInfoByCondition = serviceTaskService.getScriptInfoByCondition(serviceSubTaskQueryReq.getTaskid(), serviceSubTaskQueryReq.getPatid()); | 
 |  |  |         if (scriptInfoByCondition.get("type").equals("1")) { | 
 |  |  |             List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOList = (List) scriptInfoByCondition.get("script"); | 
 |  |  |             for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVOList) { | 
 |  |  |                 String scriptResult = getScriptResult(serviceSubTaskQueryReq.getTaskid(), serviceSubTaskQueryReq.getPatid(), ivrLibaTemplateScriptVO.getId()); | 
 |  |  |                 ivrLibaTemplateScriptVO.setScriptResult(scriptResult); | 
 |  |  |             } | 
 |  |  |             map.put("scriptResult", ivrLibaTemplateScriptVOList); | 
 |  |  |             map.put("taskName", scriptInfoByCondition.get("taskName")); | 
 |  |  |             return map; | 
 |  |  |         } else if (scriptInfoByCondition.get("type").equals("2")) { | 
 |  |  |             List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOList = (List) scriptInfoByCondition.get("script"); | 
 |  |  |             for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOList) { | 
 |  |  |                 String scriptResult = getScriptResult(serviceSubTaskQueryReq.getTaskid(), serviceSubTaskQueryReq.getPatid(), svyLibTemplateScriptVO.getId()); | 
 |  |  |                 svyLibTemplateScriptVO.setScriptResult(scriptResult); | 
 |  |  |             } | 
 |  |  |             map.put("scriptResult", scriptInfoByCondition); | 
 |  |  |             map.put("taskName", scriptInfoByCondition.get("taskName")); | 
 |  |  |             return map; | 
 |  |  |         } else if (scriptInfoByCondition.get("type").equals("3")) { | 
 |  |  |             //宣æä¸éè¦æ¥ç | 
 |  |  |             List<HeLibrary> heLibraryList = (List) scriptInfoByCondition.get("script"); | 
 |  |  |             map.put("scriptResult", heLibraryList); | 
 |  |  |             map.put("taskName", scriptInfoByCondition.get("taskName")); | 
 |  |  |             return map; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         return null; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private String getScriptResult(Long tid, Long pid, Long sid) { | 
 |  |  |         ServiceSubtaskDetail serviceSubtaskDetail = new ServiceSubtaskDetail(); | 
 |  |  |         serviceSubtaskDetail.setTaskid(tid); | 
 |  |  |         serviceSubtaskDetail.setPatid(pid); | 
 |  |  |         serviceSubtaskDetail.setScriptid(sid); | 
 |  |  |         List<ServiceSubtaskDetail> serviceSubtaskDetails = serviceSubtaskDetailMapper.selectServiceSubtaskDetailList(serviceSubtaskDetail); | 
 |  |  |         if (CollectionUtils.isNotEmpty(serviceSubtaskDetails)) { | 
 |  |  |             return serviceSubtaskDetails.get(0).getAsrtext(); | 
 |  |  |         } | 
 |  |  |         return ""; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private Map<String, String> setWJInfo(SvyTaskTemplateScriptVO svyTaskTemplateScriptVO, Long taskid, Long patid) { | 
 |  |  |         ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); | 
 |  |  |         serviceSubtaskVO.setTaskid(taskid); | 
 |  |  |         serviceSubtaskVO.setPatid(patid); | 
 |  |  |         List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); | 
 |  |  |  | 
 |  |  |         String score = "0"; | 
 |  |  |         //ä¸é¢è·³è½¬ | 
 |  |  |         String nextScriptNo = null; | 
 |  |  |         ServiceSubtaskDetailVO serviceSubtaskDetailVO = new ServiceSubtaskDetailVO(); | 
 |  |  |         List<ServiceSubtaskOptionAnswer> answerList = new ArrayList<>(); | 
 |  |  |         if (svyTaskTemplateScriptVO.getScriptType().equals("1") || svyTaskTemplateScriptVO.getScriptType().equals("2")) { | 
 |  |  | 
 |  |  |             for (SvyTaskTemplateTargetoption svyTaskTemplateTargetoption : svyTaskTemplateScriptVO.getSvyTaskTemplateTargetoptions()) { | 
 |  |  |                 //å°é®é¢é项记å½ä¸æ¥ | 
 |  |  |                 if (StringUtils.isEmpty(serviceSubtaskDetailVO.getTargetvalue())) { | 
 |  |  |                     serviceSubtaskDetailVO.setTargetvalue(svyTaskTemplateTargetoption.getTargetvalue()); | 
 |  |  |                     serviceSubtaskDetailVO.setTargetvalue(svyTaskTemplateTargetoption.getOptioncontent()); | 
 |  |  |                 } else { | 
 |  |  |                     serviceSubtaskDetailVO.setTargetvalue(serviceSubtaskDetailVO.getTargetvalue() + "  " + svyTaskTemplateTargetoption.getTargetvalue()); | 
 |  |  |                     serviceSubtaskDetailVO.setTargetvalue(serviceSubtaskDetailVO.getTargetvalue() + "  " + svyTaskTemplateTargetoption.getOptioncontent()); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 if (svyTaskTemplateTargetoption.getIsUserOperation() == true) { | 
 |  |  |                     //å°éä¸çç»ææ¾å°asrtextä¸ | 
 |  |  |                     if (StringUtils.isEmpty(serviceSubtaskDetailVO.getAsrtext())) { | 
 |  |  |                         serviceSubtaskDetailVO.setAsrtext(svyTaskTemplateTargetoption.getTargetvalue()); | 
 |  |  |                     } else { | 
 |  |  |                         //妿æ¯å¤éï¼çæ¡éè¦ç¨ & è¿è¡æ¼æ¥ | 
 |  |  |                         serviceSubtaskDetailVO.setAsrtext(serviceSubtaskDetailVO.getAnswerps() + "&" + svyTaskTemplateTargetoption.getTargetvalue()); | 
 |  |  |                     } | 
 |  |  |                     if (svyTaskTemplateScriptVO.getScriptType().equals("1") && svyTaskTemplateScriptVO.getBranchFlag().equals("1")) { | 
 |  |  |                         //æ¯åéï¼å¹¶ä¸æ¯æåæ¯ç | 
 |  |  |                         nextScriptNo = svyTaskTemplateTargetoption.getNextQuestion(); | 
 |  |  |                     } else { | 
 |  |  |                         nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno(); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  | //                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(); | 
 |  |  | //                    } | 
 |  |  | //                } | 
 |  |  |             } | 
 |  |  |             serviceSubtaskDetailVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateScriptVO.getSvyTaskTemplateTargetoptions()); | 
 |  |  |             nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno().toString(); | 
 |  |  |             if (svyTaskTemplateScriptVO.getScore() != null) { | 
 |  |  |                 score = String.valueOf(svyTaskTemplateScriptVO.getScore()); | 
 |  |  |             } | 
 |  |  |             serviceSubtaskDetailVO.setAsrtext(svyTaskTemplateScriptVO.getScriptResult()); | 
 |  |  | //            if (StringUtils.isEmpty(serviceSubtaskDetailVO.getAsrtext())) { | 
 |  |  | //                nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno().toString(); | 
 |  |  | //            } | 
 |  |  | //            serviceSubtaskDetailVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateScriptVO.getSvyTaskTemplateTargetoptions()); | 
 |  |  |         } else { | 
 |  |  |             //éåå¤é | 
 |  |  |             if (CollectionUtils.isNotEmpty(svyTaskTemplateScriptVO.getSvyTaskTemplateTargetoptions())) { | 
 |  |  |             if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptResult())) { | 
 |  |  |                 serviceSubtaskDetailVO.setAsrtext(svyTaskTemplateScriptVO.getScriptResult()); | 
 |  |  |                 nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno(); | 
 |  |  |                 nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno().toString(); | 
 |  |  |                 if (svyTaskTemplateScriptVO.getScore() != null) { | 
 |  |  |                     score = String.valueOf(svyTaskTemplateScriptVO.getScore()); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         serviceSubtaskDetailVO.setQuestiontext(svyTaskTemplateScriptVO.getScriptContent()); | 
 |  |  |         serviceSubtaskDetailVO.setTaskid(Long.valueOf(taskid)); | 
 |  |  |         serviceSubtaskDetailVO.setPatid(Long.valueOf(patid)); | 
 |  |  |         serviceSubtaskDetailVO.setScriptid(svyTaskTemplateScriptVO.getId()); | 
 |  |  |         serviceSubtaskDetailVO.setValueType(svyTaskTemplateScriptVO.getScriptType()); | 
 |  |  |         serviceSubtaskDetailVO.setAsrtext(JSON.toJSONString(answerList)); | 
 |  |  |         serviceSubtaskDetailVO.setComment(null); | 
 |  |  |         serviceSubtaskDetailVO.setCreateTime(new Date()); | 
 |  |  |         serviceSubtaskDetailVO.setUpdateTime(new Date()); | 
 |  |  |         serviceSubtaskDetailVO.setSubId(selectServiceSubtaskList.get(0).getId()); | 
 |  |  |         ServiceSubtaskDetail serviceSubtaskDetail = DtoConversionUtils.sourceToTarget(serviceSubtaskDetailVO, ServiceSubtaskDetail.class); | 
 |  |  |         serviceSubtaskDetailMapper.insertServiceSubtaskDetail(serviceSubtaskDetail); | 
 |  |  |         return nextScriptNo; | 
 |  |  |  | 
 |  |  |         Map<String, String> map = new HashMap<>(); | 
 |  |  |         map.put("nextScriptNo", nextScriptNo); | 
 |  |  |         map.put("score", score); | 
 |  |  |         return map; | 
 |  |  |     } | 
 |  |  | } | 
 
 |  |  | 
 |  |  |     private SvyLibTemplateScriptMapper svyLibTemplateScriptMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SvyTaskTemplateMapper svyTaskTemplateMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private PatArchiveMapper patArchiveMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List getScriptInfoByCondition(Long taskid, Long patid) { | 
 |  |  |     public Map<String, Object> getScriptInfoByCondition(Long taskid, Long patid) { | 
 |  |  |         //éè¿ä»»å¡IDè·å模æ¿ID | 
 |  |  |         ServiceTask serviceTask = selectServiceTaskByTaskid(taskid); | 
 |  |  |         List info = new ArrayList(); | 
 |  |  | 
 |  |  |             info = wjInfo(serviceTask, patid); | 
 |  |  |         } else { | 
 |  |  |             //宣æ | 
 |  |  |             info = xjInfo(serviceTask.getTemplateid()); | 
 |  |  |             info = xjInfo(Long.valueOf(serviceTask.getLibtemplateid())); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //åªè¦æå¼äºé¡µé¢ï¼å°±ç®æå | 
 |  |  | 
 |  |  |         ServiceTaskSingle.setResult("success"); | 
 |  |  |         ServiceTaskSingle.setFinishtime(new Date()); | 
 |  |  |         serviceSubtaskMapper.updateServiceSubtaskByCondition(ServiceTaskSingle); | 
 |  |  |         SvyTaskTemplate svyTaskTemplate = svyTaskTemplateMapper.selectSvyTaskTemplateBySvyid(serviceTask.getTemplateid()); | 
 |  |  |         Map<String, Object> map = new HashMap<>(); | 
 |  |  |         map.put("script", info); | 
 |  |  |         map.put("revisitAfter", svyTaskTemplate.getConclusion()); | 
 |  |  |         map.put("type", serviceTask.getType()); | 
 |  |  |         map.put("taskName",serviceTask.getTaskName()); | 
 |  |  |  | 
 |  |  |         return info; | 
 |  |  |         return map; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |     private List wjInfo(ServiceTask serviceTask, Long patid) { | 
 |  |  |         //éè¿æ¨¡æ¿IDè·åé®é¢ä¿¡æ¯ | 
 |  |  |         SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript(); | 
 |  |  |         svyLibTemplateScript.setId(Long.valueOf(serviceTask.getTemplateid())); | 
 |  |  |         svyLibTemplateScript.setSvyid(Long.valueOf(serviceTask.getLibtemplateid())); | 
 |  |  |         svyLibTemplateScript.setDelFlag("0"); | 
 |  |  |         List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript); | 
 |  |  |         if (CollectionUtils.isEmpty(svyLibTemplateScripts) || svyLibTemplateScripts.size() == 0) { | 
 
 |  |  | 
 |  |  |         svyLibTemplateReq.setSvyid(svyLibTemplate.getSvyid()); | 
 |  |  |         svyLibTemplateReq.setCategoryid(svyLibTemplate.getCategoryid()); | 
 |  |  |         svyLibTemplateReq.setDescription(svyLibTemplate.getDescription()); | 
 |  |  |         return svyLibTemplateMapper.selectSvyLibTemplateList(svyLibTemplateReq); | 
 |  |  |         List<SvyLibTemplate> svyLibTemplates = svyLibTemplateMapper.selectSvyLibTemplateList(svyLibTemplateReq); | 
 |  |  |         for (SvyLibTemplate svyLibTemplate1 : svyLibTemplates) { | 
 |  |  |             SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript(); | 
 |  |  |             svyLibTemplateScript.setSvyid(svyLibTemplate1.getSvyid()); | 
 |  |  |             List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript); | 
 |  |  |             for (SvyLibTemplateScript svyLibTemplateScript1 : svyLibTemplateScripts) { | 
 |  |  |                 if (svyLibTemplateScript1.getScriptType().equals("1") || svyLibTemplateScript1.getScriptType().equals("2")) { | 
 |  |  |                     SvyLibTemplateTargetoption svyLibTemplateTargetoption=new SvyLibTemplateTargetoption(); | 
 |  |  |                     svyLibTemplateTargetoption.setScriptid(svyLibTemplateScript1.getId()); | 
 |  |  |                     List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateTargetoptionMapper.selectSvyLibTemplateTargetoptionList(svyLibTemplateTargetoption); | 
 |  |  |                     svyLibTemplateScript1.setSvyLibTemplateTargetoptions(svyLibTemplateTargetoptions); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             svyLibTemplate1.setSvyTemplateLibScripts(svyLibTemplateScripts); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         return svyLibTemplates; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 
 |  |  | 
 |  |  | import com.ruoyi.common.utils.DateUtils; | 
 |  |  | import com.ruoyi.common.utils.DtoConversionUtils; | 
 |  |  | import com.smartor.domain.*; | 
 |  |  | import com.smartor.mapper.ServiceSubtaskMapper; | 
 |  |  | import com.smartor.mapper.SvyTaskSingleMapper; | 
 |  |  | import com.smartor.service.IServiceTaskService; | 
 |  |  | import com.smartor.service.ISvyTaskService; | 
 |  |  | import com.smartor.service.ISvyTaskSingleService; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | 
 |  |  | @Slf4j | 
 |  |  | @Service | 
 |  |  | public class SvyTaskSingleServiceImpl implements ISvyTaskSingleService { | 
 |  |  |     @Autowired | 
 |  |  |     private SvyTaskSingleMapper svyTaskSingleMapper; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private ISvyTaskService svyTaskService; | 
 |  |  |     private ServiceSubtaskMapper serviceSubtaskMapper; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      * | 
 |  |  |      * @param id åä¸ä»»å¡ï¼é®å·ï¼ä¸»é® | 
 |  |  |      * @return åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public SvyTaskSingle selectSvyTaskSingleById(Long id) { | 
 |  |  |         return svyTaskSingleMapper.selectSvyTaskSingleById(id); | 
 |  |  |     } | 
 |  |  |     @Autowired | 
 |  |  |     private IServiceTaskService iServiceTaskService; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¥è¯¢åä¸ä»»å¡ï¼é®å·ï¼å表 | 
 |  |  |      * | 
 |  |  |      * @param svyTaskSingle åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      * @return åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public List<SvyTaskSingle> selectSvyTaskSingleList(SvyTaskSingle svyTaskSingle) { | 
 |  |  |         return svyTaskSingleMapper.selectSvyTaskSingleList(svyTaskSingle); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ°å¢åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      * | 
 |  |  |      * @param svyTaskSingle åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public int insertSvyTaskSingle(SvyTaskSingle svyTaskSingle) { | 
 |  |  |         svyTaskSingle.setCreateTime(DateUtils.getNowDate()); | 
 |  |  |         return svyTaskSingleMapper.insertSvyTaskSingle(svyTaskSingle); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ä¿®æ¹åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      * | 
 |  |  |      * @param svyTaskSingle åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public int updateSvyTaskSingle(SvyTaskSingle svyTaskSingle) { | 
 |  |  |         svyTaskSingle.setUpdateTime(DateUtils.getNowDate()); | 
 |  |  |         return svyTaskSingleMapper.updateSvyTaskSingle(svyTaskSingle); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * æ¹éå é¤åä¸ä»»å¡ï¼é®å·ï¼ | 
 |  |  |      * | 
 |  |  |      * @param ids éè¦å é¤çåä¸ä»»å¡ï¼é®å·ï¼ä¸»é® | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public int deleteSvyTaskSingleByIds(Long[] ids) { | 
 |  |  |         return svyTaskSingleMapper.deleteSvyTaskSingleByIds(ids); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * å é¤åä¸ä»»å¡ï¼é®å·ï¼ä¿¡æ¯ | 
 |  |  |      * | 
 |  |  |      * @param id åä¸ä»»å¡ï¼é®å·ï¼ä¸»é® | 
 |  |  |      * @return ç»æ | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public int deleteSvyTaskSingleById(Long id) { | 
 |  |  |         return svyTaskSingleMapper.deleteSvyTaskSingleById(id); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public int insertOrUpdateSvyTask(SvyTaskVO svyTaskVO) { | 
 |  |  |         if (ObjectUtils.isEmpty(svyTaskVO)) { | 
 |  |  |     public int insertOrUpdateSvyTask(ServiceTaskVO serviceTaskVO) { | 
 |  |  |         if (ObjectUtils.isEmpty(serviceTaskVO)) { | 
 |  |  |             log.info("é®å·ä»»å¡å
¥å为空ï¼è¯·æ£æ¥å
¥å"); | 
 |  |  |             throw new BaseException("é®å·ä»»å¡å
¥å为空ï¼è¯·æ£æ¥å
¥å"); | 
 |  |  |         } | 
 |  |  |         Integer integer = 1; | 
 |  |  |         SvyTask svyTask = DtoConversionUtils.sourceToTarget(svyTaskVO, SvyTask.class); | 
 |  |  |         svyTask.setTextParam(JSON.toJSONString(svyTaskVO.getTextParamMap())); | 
 |  |  |         if (svyTaskVO.getIsoperation() != null && svyTaskVO.getIsoperation() == 1) { | 
 |  |  |         ServiceTask serviceTask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceTask.class); | 
 |  |  |         serviceTask.setTextParam(JSON.toJSONString(serviceTaskVO.getTextParam())); | 
 |  |  |         if (serviceTaskVO.getIsoperation() != null && serviceTaskVO.getIsoperation() == 1) { | 
 |  |  |             //å¾ä»»å¡è¡¨ä¸ï¼æ°å¢ä»»å¡ | 
 |  |  |             if (ObjectUtils.isNotEmpty(svyTaskVO.getSendTimeSlot())) | 
 |  |  |                 svyTask.setSendTimeSlot(JSON.toJSONString(svyTaskVO.getSendTimeSlot())); | 
 |  |  |             if (svyTask.getSendState() == null) svyTask.setSendState("1"); | 
 |  |  |             svyTask.setTemplateid(svyTaskVO.getLibtemplateid()); | 
 |  |  |             svyTaskService.insertSvyTask(svyTask); | 
 |  |  |             if (ObjectUtils.isNotEmpty(serviceTaskVO.getSendTimeslot())) | 
 |  |  |                 serviceTask.setSendTimeSlot(JSON.toJSONString(serviceTaskVO.getSendTimeslot())); | 
 |  |  |             if (serviceTask.getSendState() == null) serviceTask.setSendState(1); | 
 |  |  |             serviceTask.setTemplateid(serviceTaskVO.getLibtemplateid()); | 
 |  |  |             iServiceTaskService.insertServiceTask(serviceTask); | 
 |  |  |  | 
 |  |  |             //å°ä»»å¡ä¿¡æ¯æ¾å°æå¡è¡¨ä¸ | 
 |  |  |             SvyTaskSingle svyTaskSingle = DtoConversionUtils.sourceToTarget(svyTaskVO, SvyTaskSingle.class); | 
 |  |  |             svyTaskSingle.setTaskid(svyTask.getTaskid()); | 
 |  |  |             ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class); | 
 |  |  |             serviceSubtask.setTaskid(serviceTask.getTaskid()); | 
 |  |  |             //æ°å¢ | 
 |  |  |             if (CollectionUtils.isNotEmpty(svyTaskVO.getPatTaskRelevances())) { | 
 |  |  |                 for (PatTaskRelevance patTaskRelevance : svyTaskVO.getPatTaskRelevances()) { | 
 |  |  |             if (CollectionUtils.isNotEmpty(serviceTaskVO.getPatTaskRelevances())) { | 
 |  |  |                 for (PatTaskRelevance patTaskRelevance : serviceTaskVO.getPatTaskRelevances()) { | 
 |  |  |                     //å°ä»»å¡ä¿¡æ¯æ°å¢å°é访æå¡è¡¨ä¸ | 
 |  |  |                     svyTaskSingle.setSendname(patTaskRelevance.getName()); | 
 |  |  |                     svyTaskSingle.setAge(patTaskRelevance.getAge()); | 
 |  |  |                     svyTaskSingle.setSfzh(patTaskRelevance.getSfzh()); | 
 |  |  |                     svyTaskSingle.setPhone(patTaskRelevance.getPhone()); | 
 |  |  |                     svyTaskSingle.setAddr(patTaskRelevance.getAddr()); | 
 |  |  |                     svyTaskSingle.setPatid(patTaskRelevance.getPatid()); | 
 |  |  |                     svyTaskSingle.setSendstate(1L); | 
 |  |  |                     svyTaskSingle.setHospType(patTaskRelevance.getHospType()); | 
 |  |  |                     svyTaskSingle.setCreateTime(DateUtils.getNowDate()); | 
 |  |  |                     svyTaskSingleMapper.insertSvyTaskSingle(svyTaskSingle); | 
 |  |  |                     integer = svyTaskSingle.getId().intValue(); | 
 |  |  |                     serviceSubtask.setSendname(patTaskRelevance.getName()); | 
 |  |  |                     serviceSubtask.setAge(patTaskRelevance.getAge()); | 
 |  |  |                     serviceSubtask.setSfzh(patTaskRelevance.getSfzh()); | 
 |  |  |                     serviceSubtask.setPhone(patTaskRelevance.getPhone()); | 
 |  |  |                     serviceSubtask.setAddr(patTaskRelevance.getAddr()); | 
 |  |  |                     serviceSubtask.setPatid(patTaskRelevance.getPatid()); | 
 |  |  |                     serviceSubtask.setSendstate(1L); | 
 |  |  |                     serviceSubtask.setHospType(patTaskRelevance.getHospType()); | 
 |  |  |                     serviceSubtask.setCreateTime(DateUtils.getNowDate()); | 
 |  |  |                     serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); | 
 |  |  |                     integer = serviceSubtask.getId().intValue(); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |         } else if (svyTaskVO.getIsoperation() != null && svyTaskVO.getIsoperation() == 2) { | 
 |  |  |         } else if (serviceTaskVO.getIsoperation() != null && serviceTaskVO.getIsoperation() == 2) { | 
 |  |  |             //ä»»å¡ä¿®æ¹ | 
 |  |  |             if (ObjectUtils.isNotEmpty(svyTaskVO.getSendTimeSlot())) | 
 |  |  |                 svyTask.setSendTimeSlot(JSON.toJSONString(svyTaskVO.getSendTimeSlot())); | 
 |  |  |             if (ObjectUtils.isNotEmpty(serviceTaskVO.getSendTimeslot())) | 
 |  |  |                 serviceTask.setSendTimeSlot(JSON.toJSONString(serviceTaskVO.getSendTimeslot())); | 
 |  |  |             //ä¿®æ¹æä½ï¼éè¦å°stopStateç¶æ+1 | 
 |  |  |             SvyTask svyTask1 = svyTaskService.selectSvyTaskByTaskid(svyTaskVO.getTaskid()); | 
 |  |  |             svyTask.setStopState(svyTask1.getStopState() + 1); | 
 |  |  |             svyTask.setTemplateid(svyTaskVO.getLibtemplateid()); | 
 |  |  |             svyTaskService.updateSvyTask(svyTask); | 
 |  |  |             ServiceTask serviceTask2 = iServiceTaskService.selectServiceTaskByTaskid(serviceTaskVO.getTaskid()); | 
 |  |  |             serviceTask2.setStopState(serviceTask.getStopState() + 1); | 
 |  |  |             serviceTask2.setTemplateid(serviceTaskVO.getLibtemplateid()); | 
 |  |  |             iServiceTaskService.updateServiceTask(serviceTask2); | 
 |  |  |  | 
 |  |  |             if (CollectionUtils.isNotEmpty(svyTaskVO.getPatTaskRelevances())) { | 
 |  |  |                 for (PatTaskRelevance patTaskRelevance : svyTaskVO.getPatTaskRelevances()) { | 
 |  |  |             if (CollectionUtils.isNotEmpty(serviceTaskVO.getPatTaskRelevances())) { | 
 |  |  |                 for (PatTaskRelevance patTaskRelevance : serviceTaskVO.getPatTaskRelevances()) { | 
 |  |  |  | 
 |  |  |                     SvyTaskSingle svyTaskSingle = DtoConversionUtils.sourceToTarget(svyTaskVO, SvyTaskSingle.class); | 
 |  |  |                     svyTaskSingle.setSendname(patTaskRelevance.getName()); | 
 |  |  |                     svyTaskSingle.setAge(patTaskRelevance.getAge()); | 
 |  |  |                     svyTaskSingle.setSfzh(patTaskRelevance.getSfzh()); | 
 |  |  |                     svyTaskSingle.setPhone(patTaskRelevance.getPhone()); | 
 |  |  |                     svyTaskSingle.setAddr(patTaskRelevance.getAddr()); | 
 |  |  |                     svyTaskSingle.setPatid(patTaskRelevance.getPatid()); | 
 |  |  |                     svyTaskSingle.setHospType(patTaskRelevance.getHospType()); | 
 |  |  |                     svyTaskSingle.setCreateTime(DateUtils.getNowDate()); | 
 |  |  |                     svyTaskSingle.setTextParam(new Gson().toJson(svyTaskVO.getTextParamMap())); | 
 |  |  |                     ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class); | 
 |  |  |                     serviceSubtask.setSendname(patTaskRelevance.getName()); | 
 |  |  |                     serviceSubtask.setAge(patTaskRelevance.getAge()); | 
 |  |  |                     serviceSubtask.setSfzh(patTaskRelevance.getSfzh()); | 
 |  |  |                     serviceSubtask.setPhone(patTaskRelevance.getPhone()); | 
 |  |  |                     serviceSubtask.setAddr(patTaskRelevance.getAddr()); | 
 |  |  |                     serviceSubtask.setPatid(patTaskRelevance.getPatid()); | 
 |  |  |                     serviceSubtask.setHospType(patTaskRelevance.getHospType()); | 
 |  |  |                     serviceSubtask.setCreateTime(DateUtils.getNowDate()); | 
 |  |  |                     serviceSubtask.setTextParam(new Gson().toJson(serviceTaskVO.getTextParam())); | 
 |  |  |                     if (patTaskRelevance.getIsoperation() != null) { | 
 |  |  |                         optionHandle(svyTaskSingle, svyTaskVO.getTaskid(), patTaskRelevance.getIsoperation(), patTaskRelevance.getPatid()); | 
 |  |  |                         optionHandle(serviceSubtask, serviceTaskVO.getTaskid(), patTaskRelevance.getIsoperation(), patTaskRelevance.getPatid()); | 
 |  |  |                     } else if (patTaskRelevance.getIsoperation() == null) { | 
 |  |  |                         optionHandle(svyTaskSingle, svyTaskVO.getTaskid(), svyTaskVO.getIsoperation(), patTaskRelevance.getPatid()); | 
 |  |  |                         optionHandle(serviceSubtask, serviceTaskVO.getTaskid(), serviceTaskVO.getIsoperation(), patTaskRelevance.getPatid()); | 
 |  |  |                     } | 
 |  |  |                     integer = svyTaskSingle.getTaskid().intValue(); | 
 |  |  |                     integer = serviceSubtask.getTaskid().intValue(); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public SvyTaskVO queryTaskByCondition(SvyTaskSingle svyTaskSingle) { | 
 |  |  |     public ServiceTaskVO queryTaskByCondition(ServiceSubtask serviceSubtask) { | 
 |  |  |         //å®ä¹æ£è
ä¸åä¸ä»»å¡å
³è表éå | 
 |  |  |         List<PatTaskRelevance> patTaskRelevances = new ArrayList<>(); | 
 |  |  |         List<SvyTaskSingle> list = selectSvyTaskSingleList(svyTaskSingle); | 
 |  |  |         if (CollectionUtils.isEmpty(list) || list.size() == 0) { | 
 |  |  |             return new SvyTaskVO(); | 
 |  |  |         ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); | 
 |  |  |         serviceSubtaskVO.setTaskid(serviceSubtask.getTaskid()); | 
 |  |  |         List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); | 
 |  |  |         if (CollectionUtils.isEmpty(selectServiceSubtaskList) || selectServiceSubtaskList.size() == 0) { | 
 |  |  |             return new ServiceTaskVO(); | 
 |  |  |         } | 
 |  |  |         SvyTask svyTask = svyTaskService.selectSvyTaskByTaskid(svyTaskSingle.getTaskid()); | 
 |  |  |         ServiceTask serviceTask = iServiceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid()); | 
 |  |  |         //å°æ¥åºæ¥çæ°æ®åå
¥ivrTasksingleVOä¸ | 
 |  |  |         SvyTaskVO svyTaskVO = DtoConversionUtils.sourceToTarget(list.get(0), SvyTaskVO.class); | 
 |  |  |         svyTaskVO.setShowDate(svyTask.getShowDate()); | 
 |  |  |         svyTaskVO.setShowTimeMorn(svyTask.getShowTimeMorn()); | 
 |  |  |         svyTaskVO.setShowTimeNoon(svyTask.getShowTimeNoon()); | 
 |  |  |         svyTaskVO.setShowTimeNight(svyTask.getShowTimeNight()); | 
 |  |  |         svyTaskVO.setPreachform(svyTask.getPreachform()); | 
 |  |  |         String sendTimeSlot = svyTask.getSendTimeSlot(); | 
 |  |  |         ServiceTaskVO serviceTaskVO = DtoConversionUtils.sourceToTarget(selectServiceSubtaskList.get(0), ServiceTaskVO.class); | 
 |  |  |         serviceTaskVO.setShowDate(serviceTask.getShowDate()); | 
 |  |  |         serviceTaskVO.setShowTimeMorn(serviceTask.getShowTimeMorn()); | 
 |  |  |         serviceTaskVO.setShowTimeNoon(serviceTask.getShowTimeNoon()); | 
 |  |  |         serviceTaskVO.setShowTimeNight(serviceTask.getShowTimeNight()); | 
 |  |  |         serviceTaskVO.setPreachform(serviceTask.getPreachform()); | 
 |  |  |         String sendTimeSlot = serviceTask.getSendTimeSlot(); | 
 |  |  |         ObjectMapper objectMapper = new ObjectMapper(); | 
 |  |  |         try { | 
 |  |  |             //è·åå°åéæ¶é´çéå | 
 |  |  |             if (com.ruoyi.common.utils.StringUtils.isNotEmpty(sendTimeSlot)) { | 
 |  |  |                 List<TaskSendTimeVO> taskSendTimeVOList = objectMapper.readValue(sendTimeSlot, List.class); | 
 |  |  |                 svyTaskVO.setSendTimeSlot(taskSendTimeVOList); | 
 |  |  |                 svyTaskVO.setSendType(svyTask.getSendType()); | 
 |  |  |                 serviceTaskVO.setSendTimeslot(taskSendTimeVOList); | 
 |  |  |                 serviceTaskVO.setSendType(serviceTask.getSendType()); | 
 |  |  |             } | 
 |  |  |             //ææ¬åéåæ° | 
 |  |  |             if (com.ruoyi.common.utils.StringUtils.isNotEmpty(svyTask.getTextParam())) { | 
 |  |  |                 Map<String, Map<String, String>> textParam = objectMapper.readValue(svyTask.getTextParam(), Map.class); | 
 |  |  |                 svyTaskVO.setTextParam(textParam); | 
 |  |  |             if (com.ruoyi.common.utils.StringUtils.isNotEmpty(serviceTask.getTextParam())) { | 
 |  |  |                 Map<String, Map<String, String>> textParam = objectMapper.readValue(serviceTask.getTextParam(), Map.class); | 
 |  |  |                 serviceTaskVO.setTextParam(textParam); | 
 |  |  |             } | 
 |  |  |         } catch (JsonProcessingException e) { | 
 |  |  |             e.printStackTrace(); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         for (SvyTaskSingle svyTaskSingle1 : list) { | 
 |  |  |         for (ServiceSubtask serviceSubtask1 : selectServiceSubtaskList) { | 
 |  |  |             PatTaskRelevance patTaskRelevance = new PatTaskRelevance(); | 
 |  |  |             if (!svyTaskSingle1.getHospType().equals("2")) { | 
 |  |  |                 log.info("é访æ¥è¯¢ä¸ä¸ºåºé¢ï¼{}", svyTaskSingle1.getHospType()); | 
 |  |  |             if (!serviceSubtask1.getHospType().equals("2")) { | 
 |  |  |                 log.info("é访æ¥è¯¢ä¸ä¸ºåºé¢ï¼{}", serviceSubtask1.getHospType()); | 
 |  |  |                 //è·åå°æ£è
ä¿¡æ¯ï¼å¹¶æ¾å
¥å°éåä¸ | 
 |  |  |                 patTaskRelevance.setName(svyTaskSingle1.getSendname()); | 
 |  |  |                 patTaskRelevance.setAge(svyTaskSingle1.getAge()); | 
 |  |  |                 patTaskRelevance.setSfzh(svyTaskSingle1.getSfzh()); | 
 |  |  |                 patTaskRelevance.setPhone(svyTaskSingle1.getPhone()); | 
 |  |  |                 patTaskRelevance.setAddr(svyTaskSingle1.getAddr()); | 
 |  |  |                 patTaskRelevance.setDiagname(svyTaskSingle1.getDiagname()); | 
 |  |  |                 patTaskRelevance.setPatid(svyTaskSingle1.getPatid()); | 
 |  |  |                 patTaskRelevance.setSendStatus(svyTaskSingle1.getSendstate()); | 
 |  |  |                 patTaskRelevance.setName(serviceSubtask1.getSendname()); | 
 |  |  |                 patTaskRelevance.setAge(serviceSubtask1.getAge()); | 
 |  |  |                 patTaskRelevance.setSfzh(serviceSubtask1.getSfzh()); | 
 |  |  |                 patTaskRelevance.setPhone(serviceSubtask1.getPhone()); | 
 |  |  |                 patTaskRelevance.setAddr(serviceSubtask1.getAddr()); | 
 |  |  |                 patTaskRelevance.setDiagname(serviceSubtask1.getDiagname()); | 
 |  |  |                 patTaskRelevance.setPatid(serviceSubtask1.getPatid()); | 
 |  |  |                 patTaskRelevance.setSendStatus(serviceSubtask1.getSendstate()); | 
 |  |  |                 patTaskRelevances.add(patTaskRelevance); | 
 |  |  |             } | 
 |  |  |             if (svyTaskSingle1.getHospType().equals("2")) { | 
 |  |  |                 log.info("é访æ¥è¯¢ä¸ºåºé¢ï¼{}", svyTaskSingle1.getHospType()); | 
 |  |  |                 patTaskRelevance.setName(svyTaskSingle1.getSendname()); | 
 |  |  |                 patTaskRelevance.setAge(svyTaskSingle1.getAge()); | 
 |  |  |                 patTaskRelevance.setSfzh(svyTaskSingle1.getSfzh()); | 
 |  |  |                 patTaskRelevance.setPhone(svyTaskSingle1.getPhone()); | 
 |  |  |                 patTaskRelevance.setAddr(svyTaskSingle1.getAddr()); | 
 |  |  |                 patTaskRelevance.setDeptName(svyTaskSingle1.getDeptname()); | 
 |  |  |                 patTaskRelevance.setBedNo(svyTaskSingle1.getBedno()); | 
 |  |  |                 patTaskRelevance.setDiagname(svyTaskSingle1.getDiagname()); | 
 |  |  |                 patTaskRelevance.setPatid(svyTaskSingle1.getPatid()); | 
 |  |  |                 patTaskRelevance.setSendStatus(svyTaskSingle1.getSendstate()); | 
 |  |  |             if (serviceSubtask1.getHospType().equals("2")) { | 
 |  |  |                 log.info("é访æ¥è¯¢ä¸ºåºé¢ï¼{}", serviceSubtask1.getHospType()); | 
 |  |  |                 patTaskRelevance.setName(serviceSubtask1.getSendname()); | 
 |  |  |                 patTaskRelevance.setAge(serviceSubtask1.getAge()); | 
 |  |  |                 patTaskRelevance.setSfzh(serviceSubtask1.getSfzh()); | 
 |  |  |                 patTaskRelevance.setPhone(serviceSubtask1.getPhone()); | 
 |  |  |                 patTaskRelevance.setAddr(serviceSubtask1.getAddr()); | 
 |  |  |                 patTaskRelevance.setDeptName(serviceSubtask1.getDeptname()); | 
 |  |  |                 patTaskRelevance.setBedNo(serviceSubtask1.getBedNo()); | 
 |  |  |                 patTaskRelevance.setDiagname(serviceSubtask1.getDiagname()); | 
 |  |  |                 patTaskRelevance.setPatid(serviceSubtask1.getPatid()); | 
 |  |  |                 patTaskRelevance.setSendStatus(serviceSubtask1.getSendstate()); | 
 |  |  |                 patTaskRelevances.add(patTaskRelevance); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         svyTaskVO.setPatTaskRelevances(patTaskRelevances); | 
 |  |  |         return svyTaskVO; | 
 |  |  |         serviceTaskVO.setPatTaskRelevances(patTaskRelevances); | 
 |  |  |         return serviceTaskVO; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void optionHandle(SvyTaskSingle svyTaskSingle, Long taskId, Integer isoperation, Long patid) { | 
 |  |  |     private void optionHandle(ServiceSubtask serviceSubtask, Long taskId, Integer isoperation, Long patid) { | 
 |  |  |         if (isoperation == 1) { | 
 |  |  |             svyTaskSingle.setSendstate(1L); | 
 |  |  |             svyTaskSingleMapper.insertSvyTaskSingle(svyTaskSingle); | 
 |  |  |         } else if (isoperation == 2) svyTaskSingleMapper.updateSvyTaskSingle(svyTaskSingle); | 
 |  |  |         else if (isoperation == 3) svyTaskSingleMapper.deleteSvyTaskcallByCondition(taskId, patid); | 
 |  |  |             serviceSubtask.setSendstate(1L); | 
 |  |  |             serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); | 
 |  |  |         } else if (isoperation == 2) serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); | 
 |  |  |         else if (isoperation == 3) serviceSubtaskMapper.deleteServiceSubtaskByCondition(taskId, patid); | 
 |  |  |     } | 
 |  |  | } | 
 
 |  |  | 
 |  |  |         <result property="appendflag" column="appendflag"/> | 
 |  |  |         <result property="appenddesc" column="appenddesc"/> | 
 |  |  |         <result property="picturePath" column="picture_path"/> | 
 |  |  |         <result property="prompt" column="prompt"/> | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <sql id="selectIvrLibaTargetoptionVo"> | 
 
 |  |  | 
 |  |  |         <result property="branchFlag" column="branch_flag"/> | 
 |  |  |         <result property="branchNextscriptno" column="branch_nextscriptno"/> | 
 |  |  |         <result property="sort" column="sort"/> | 
 |  |  |         <result property="score" column="score"/> | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <sql id="selectIvrLibaTemplateScriptVo"> | 
 |  |  | 
 |  |  |                script_topic, | 
 |  |  |                next_scriptno, | 
 |  |  |                otherdata, | 
 |  |  |                score, | 
 |  |  |                is_must, | 
 |  |  |                playWavOnly, | 
 |  |  |                del_flag, | 
 |  |  | 
 |  |  |             <if test="noClearlyVoice != null  and noClearlyVoice != ''">and noClearlyVoice = #{noClearlyVoice}</if> | 
 |  |  |             <if test="nextScriptno != null  and nextScriptno != ''">and next_scriptno = #{nextScriptno}</if> | 
 |  |  |             <if test="branchFlag != null  and branchFlag != ''">and branch_flag = #{branchFlag}</if> | 
 |  |  |             <if test="branchNextscriptno != null  and branchNextscriptno != ''">and branch_nextscriptno = #{branchNextscriptno} | 
 |  |  |             <if test="branchNextscriptno != null  and branchNextscriptno != ''">and branch_nextscriptno = | 
 |  |  |                 #{branchNextscriptno} | 
 |  |  |             </if> | 
 |  |  |             <if test="categoryName != null  and categoryName != ''">and categoryName like concat('%', #{categoryName}, | 
 |  |  |                 '%') | 
 |  |  | 
 |  |  |             <if test="isMust != null  and isMust != ''">and is_must = #{isMust}</if> | 
 |  |  |             <if test="scriptType != null">and script_type = #{scriptType}</if> | 
 |  |  |             <if test="sort != null">and sort = #{sort}</if> | 
 |  |  |             <if test="score != null">and score = #{score}</if> | 
 |  |  |         </where> | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  | 
 |  |  |             <if test="branchFlag != null  and branchFlag != ''">branch_flag,</if> | 
 |  |  |             <if test="branchNextscriptno != null  and branchNextscriptno != ''">branch_nextscriptno,</if> | 
 |  |  |             <if test="sort != null ">sort,</if> | 
 |  |  |             <if test="score != null ">score,</if> | 
 |  |  |         </trim> | 
 |  |  |         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="scriptno != null">#{scriptno},</if> | 
 |  |  | 
 |  |  |             <if test="branchFlag != null  and branchFlag != ''">#{branchFlag},</if> | 
 |  |  |             <if test="branchNextscriptno != null  and branchNextscriptno != ''">#{branchNextscriptno},</if> | 
 |  |  |             <if test="sort != null ">#{sort},</if> | 
 |  |  |             <if test="score != null ">#{score},</if> | 
 |  |  |         </trim> | 
 |  |  |     </insert> | 
 |  |  |  | 
 |  |  | 
 |  |  |             <if test="scriptType != null ">script_type = #{scriptType},</if> | 
 |  |  |             <if test="sort != null ">sort = #{sort},</if> | 
 |  |  |             <if test="branchFlag != null  and branchFlag != ''">branch_flag = #{branchFlag},</if> | 
 |  |  |             <if test="score != null ">score = #{score},</if> | 
 |  |  |             <if test="branchNextscriptno != null  and branchNextscriptno != ''">branch_nextscriptno = | 
 |  |  |                 #{branchNextscriptno}, | 
 |  |  |             </if> | 
 
 |  |  | 
 |  |  |         <result property="appendflag" column="appendflag"/> | 
 |  |  |         <result property="appenddesc" column="appenddesc"/> | 
 |  |  |         <result property="optionNo" column="option_no"/> | 
 |  |  |         <result property="score" column="score"/> | 
 |  |  |         <result property="prompt" column="prompt"/> | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <sql id="selectIvrLibaTemplateTargetoptionVo"> | 
 |  |  |         select id, | 
 |  |  |                targetid, | 
 |  |  |                score, | 
 |  |  |                appendflag, | 
 |  |  |                appenddesc, | 
 |  |  |                scriptid, | 
 |  |  | 
 |  |  |         <where> | 
 |  |  |             del_flag=0 | 
 |  |  |             <if test="targetid != null ">and targetid = #{targetid}</if> | 
 |  |  |             <if test="score != null ">and score = #{score}</if> | 
 |  |  |             <if test="targetname != null ">and targetname = #{targetname}</if> | 
 |  |  |             <if test="templateID != null ">and templateID = #{templateID}</if> | 
 |  |  |             <if test="scriptid != null ">and scriptid = #{scriptid}</if> | 
 |  |  | 
 |  |  |             <if test="appendflag != null">appendflag,</if> | 
 |  |  |             <if test="appenddesc != null">appenddesc,</if> | 
 |  |  |             <if test="optionNo != null">option_no,</if> | 
 |  |  |             <if test="score != null">score,</if> | 
 |  |  |         </trim> | 
 |  |  |         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="targetid != null">#{targetid},</if> | 
 |  |  | 
 |  |  |             <if test="appendflag != null">#{appendflag},</if> | 
 |  |  |             <if test="appenddesc != null">#{appenddesc},</if> | 
 |  |  |             <if test="optionNo != null">#{optionNo},</if> | 
 |  |  |             <if test="score != null">#{score},</if> | 
 |  |  |         </trim> | 
 |  |  |     </insert> | 
 |  |  |  | 
 |  |  | 
 |  |  |             <if test="appendflag != null">appendflag = #{appendflag},</if> | 
 |  |  |             <if test="appenddesc != null">appenddesc = #{appenddesc},</if> | 
 |  |  |             <if test="optionNo != null">option_no = #{optionNo},</if> | 
 |  |  |             <if test="score != null">score = #{score},</if> | 
 |  |  |         </trim> | 
 |  |  |         where id = #{id} | 
 |  |  |     </update> | 
 
 |  |  | 
 |  |  |         <result property="scriptType" column="script_type"/> | 
 |  |  |         <result property="scriptContent" column="script_content"/> | 
 |  |  |         <result property="sort" column="sort"/> | 
 |  |  |         <result property="score" column="score"/> | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <sql id="selectIvrTaskTemplateScriptVo"> | 
 |  |  | 
 |  |  |                taskid, | 
 |  |  |                sort, | 
 |  |  |                script_type, | 
 |  |  |                score, | 
 |  |  |                branch_flag, | 
 |  |  |                branch_nextscriptno, | 
 |  |  |                next_scriptno, | 
 |  |  | 
 |  |  |         <include refid="selectIvrTaskTemplateScriptVo"/> | 
 |  |  |         <where> | 
 |  |  |             <if test="taskid != null ">and taskid = #{taskid}</if> | 
 |  |  |             <if test="score != null ">and score = #{score}</if> | 
 |  |  |             <if test="sort != null ">and sort = #{sort}</if> | 
 |  |  |             <if test="templateID != null ">and templateID = #{templateID}</if> | 
 |  |  |             <if test="questionPoint != null  and questionPoint != ''">and questionPoint = #{questionPoint}</if> | 
 |  |  | 
 |  |  |             <if test="scriptContent != null  and scriptContent != ''">script_content,</if> | 
 |  |  |             <if test="sort != null ">sort,</if> | 
 |  |  |             <if test="nextScriptno != null  and nextScriptno != ''">next_scriptno,</if> | 
 |  |  |             <if test="score != null ">score,</if> | 
 |  |  |         </trim> | 
 |  |  |         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="taskid != null">#{taskid},</if> | 
 |  |  | 
 |  |  |             <if test="scriptContent != null  and scriptContent != ''">#{scriptContent},</if> | 
 |  |  |             <if test="sort != null">#{sort},</if> | 
 |  |  |             <if test="nextScriptno != null  and nextScriptno != ''">#{nextScriptno},</if> | 
 |  |  |             <if test="score != null ">#{score},</if> | 
 |  |  |         </trim> | 
 |  |  |     </insert> | 
 |  |  |  | 
 |  |  | 
 |  |  |             <if test="scriptContent != null  and scriptContent != ''">script_content = #{scriptContent},</if> | 
 |  |  |             <if test="sort != null">sort = #{sort},</if> | 
 |  |  |             <if test="nextScriptno != null  and nextScriptno != ''">next_scriptno = #{nextScriptno},</if> | 
 |  |  |             <if test="score != null">score = #{score},</if> | 
 |  |  |         </trim> | 
 |  |  |         where id = #{id} | 
 |  |  |     </update> | 
 
 |  |  | 
 |  |  |         <result property="appenddesc" column="appenddesc"/> | 
 |  |  |         <result property="optionCode" column="option_code"/> | 
 |  |  |         <result property="isUserOperation" column="is_user_operation"/> | 
 |  |  |         <result property="score" column="score"/> | 
 |  |  |         <result property="prompt" column="prompt"/> | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <sql id="selectIvrTaskTemplateTargetoptionVo"> | 
 |  |  |         select id, | 
 |  |  |                taskid, | 
 |  |  |                templateID, | 
 |  |  |                score, | 
 |  |  |                is_user_operation, | 
 |  |  |                appenddesc, | 
 |  |  |                targetid, | 
 |  |  | 
 |  |  |             <if test="appenddesc != null ">and appenddesc = #{appenddesc}</if> | 
 |  |  |             <if test="optionCode != null ">and option_code = #{optionCode}</if> | 
 |  |  |             <if test="isUserOperation != null ">and is_user_operation = #{isUserOperation}</if> | 
 |  |  |             <if test="score != null ">and score = #{score}</if> | 
 |  |  |         </where> | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  | 
 |  |  |             <if test="appenddesc != null">appenddesc,</if> | 
 |  |  |             <if test="optionCode != null ">option_code,</if> | 
 |  |  |             <if test="isUserOperation != null ">is_user_operation,</if> | 
 |  |  |             <if test="score != null ">score,</if> | 
 |  |  |         </trim> | 
 |  |  |         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="taskid != null">#{taskid},</if> | 
 |  |  | 
 |  |  |             <if test="appenddesc != null">#{appenddesc},</if> | 
 |  |  |             <if test="optionCode != null ">#{optionCode},</if> | 
 |  |  |             <if test="isUserOperation != null ">#{isUserOperation},</if> | 
 |  |  |             <if test="score != null ">#{score},</if> | 
 |  |  |         </trim> | 
 |  |  |     </insert> | 
 |  |  |  | 
 |  |  | 
 |  |  |             <if test="appenddesc != null">appenddesc = #{appenddesc},</if> | 
 |  |  |             <if test="optionCode != null ">option_code = #{optionCode},</if> | 
 |  |  |             <if test="isUserOperation != null ">is_user_operation = #{isUserOperation},</if> | 
 |  |  |             <if test="score != null ">score = #{score},</if> | 
 |  |  |  | 
 |  |  |         </trim> | 
 |  |  |         where id = #{id} | 
 
 |  |  | 
 |  |  |  | 
 |  |  |     <resultMap type="com.smartor.domain.PatArchive" id="PatArchiveResult"> | 
 |  |  |         <result property="id" column="id"/> | 
 |  |  |         <result property="patientno" column="patientno"/> | 
 |  |  |         <result property="sourcefrom" column="sourcefrom"/> | 
 |  |  |         <result property="patidHis" column="patid_his"/> | 
 |  |  |         <result property="sdFlag" column="sd_flag"/> | 
 |  |  |         <result property="pattype" column="pattype"/> | 
 |  |  |         <result property="viptype" column="viptype"/> | 
 |  |  |         <result property="name" column="name"/> | 
 |  |  |         <result property="sex" column="sex"/> | 
 |  |  |         <result property="nation" column="nation"/> | 
 |  |  | 
 |  |  |         <result property="pattype" column="pattype"/> | 
 |  |  |         <result property="bedNo" column="bedno"/> | 
 |  |  |         <result property="inhosptime" column="inhosptime"/> | 
 |  |  |         <result property="viptype" column="viptype"/> | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <sql id="selectPatArchiveVo"> | 
 |  |  |         select id, | 
 |  |  |                patientno, | 
 |  |  |                patid_his, | 
 |  |  |                sd_flag, | 
 |  |  |                name, | 
 |  |  |                sex, | 
 |  |  |                idcardno, | 
 |  |  | 
 |  |  |             <if test="uploadTime != null ">and upload_time = #{uploadTime}</if> | 
 |  |  |             <if test="viptype != null ">and viptype = #{viptype}</if> | 
 |  |  |             <if test="pattype != null ">and pattype = #{pattype}</if> | 
 |  |  |             <if test="patientno != null ">and patientno = #{patientno}</if> | 
 |  |  |             <if test="patidHis != null ">and patid_his = #{patidHis}</if> | 
 |  |  |             <if test="sdFlag != null ">and sd_flag = #{sdFlag}</if> | 
 |  |  |         </where> | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  | 
 |  |  |     <select id="patInfoByContion" parameterType="com.smartor.domain.PatArchiveReq" resultMap="PatArchiveResult"> | 
 |  |  |         select | 
 |  |  |         a.id, | 
 |  |  |         a.patientno, | 
 |  |  |         a.patid_his, | 
 |  |  |         a.sd_flag, | 
 |  |  |         a.name, | 
 |  |  |         a.sex, | 
 |  |  |         c.tagname as tag, | 
 |  |  | 
 |  |  |         where id = #{id} and del_flag=0 | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <insert id="insertPatArchive"> | 
 |  |  |         <!--        insert into pat_archive--> | 
 |  |  |         <!--        <trim prefix="(" suffix=")" suffixOverrides=",">--> | 
 |  |  |         <!--            name,--> | 
 |  |  |         <!--            sex,--> | 
 |  |  |         <!--            iccardno--> | 
 |  |  |         <!--<!–            <if test="birthdate != null">birthdate,</if>–>--> | 
 |  |  |         <!--<!–            <if test="age != null">age,</if>–>--> | 
 |  |  |         <!--<!–            <if test="sourcefrom != null">sourcefrom,</if>–>--> | 
 |  |  |         <!--<!–            <if test="archivetime != null">archivetime,</if>–>--> | 
 |  |  |         <!--<!–            <if test="archiveby != null">archiveby,</if>–>--> | 
 |  |  |         <!--<!–            <if test="telcode != null">telcode,</if>–>--> | 
 |  |  |         <!--<!–            <if test="relativetelcode != null">relativetelcode,</if>–>--> | 
 |  |  |         <!--<!–            <if test="iccardtype != null">iccardtype,</if>–>--> | 
 |  |  |         <!--<!–            <if test="orgid != null">orgid,</if>–>--> | 
 |  |  |         <!--<!–            <if test="openid != null">openid,</if>–>--> | 
 |  |  |         <!--<!–            <if test="delFlag != null and delFlag != ''">del_flag,</if>–>--> | 
 |  |  |         <!--<!–            <if test="updateBy != null">update_by,</if>–>--> | 
 |  |  |         <!--<!–            <if test="updateTime != null">update_time,</if>–>--> | 
 |  |  |         <!--<!–            <if test="createBy != null">create_by,</if>–>--> | 
 |  |  |         <!--<!–            <if test="createTime != null">create_time,</if>–>--> | 
 |  |  |         <!--<!–            <if test="isupload != null">isupload,</if>–>--> | 
 |  |  |         <!--<!–            <if test="uploadTime != null">upload_time,</if>–>--> | 
 |  |  |         <!--        </trim>--> | 
 |  |  |         <!--        <trim prefix="values (" suffix=")" suffixOverrides=",">--> | 
 |  |  |         <!--            <foreach item="item" index="index" collection="list" separator=",">--> | 
 |  |  |         <!--                <if test="name != null">#{item.name},</if>--> | 
 |  |  |         <!--                <if test="sex != null">#{item.sex},</if>--> | 
 |  |  |         <!--                <if test="iccardno != null">#{item.iccardno},</if>--> | 
 |  |  |         <!--<!–                <if test="birthdate != null">#{birthdate},</if>–>--> | 
 |  |  |         <!--<!–                <if test="age != null">#{item.age},</if>–>--> | 
 |  |  |         <!--<!–                <if test="sourcefrom != null">#{item.sourcefrom},</if>–>--> | 
 |  |  |         <!--<!–                <if test="archivetime != null">#{item.archivetime},</if>–>--> | 
 |  |  |         <!--<!–                <if test="archiveby != null">#{item.archiveby},</if>–>--> | 
 |  |  |         <!--<!–                <if test="telcode != null">#{item.telcode},</if>–>--> | 
 |  |  |         <!--<!–                <if test="relativetelcode != null">#{item.relativetelcode},</if>–>--> | 
 |  |  |         <!--<!–                <if test="iccardtype != null">#{item.iccardtype},</if>–>--> | 
 |  |  |         <!--<!–                <if test="orgid != null">#{item.orgid},</if>–>--> | 
 |  |  |         <!--<!–                <if test="openid != null">#{item.openid},</if>–>--> | 
 |  |  |         <!--<!–                <if test="delFlag != null and delFlag != ''">#{item.delFlag},</if>–>--> | 
 |  |  |         <!--<!–                <if test="updateBy != null">#{item.updateBy},</if>–>--> | 
 |  |  |         <!--<!–                <if test="updateTime != null">#{item.updateTime},</if>–>--> | 
 |  |  |         <!--<!–                <if test="createBy != null">#{item.createBy},</if>–>--> | 
 |  |  |         <!--<!–                <if test="createTime != null">#{item.createTime},</if>–>--> | 
 |  |  |         <!--<!–                <if test="isupload != null">#{item.isupload},</if>–>--> | 
 |  |  |         <!--<!–                <if test="uploadTime != null">#{item.uploadTime},</if>–>--> | 
 |  |  |         <!--            </foreach>--> | 
 |  |  |         <!--        </trim>--> | 
 |  |  |     <insert id="insertPatArchiveSingle" parameterType="com.smartor.domain.PatArchive" useGeneratedKeys="true" | 
 |  |  |             keyProperty="id"> | 
 |  |  |         insert into pat_archive | 
 |  |  |         <trim prefix="(" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="patientno != null">patientno,</if> | 
 |  |  |             <if test="patidHis != null">patid_his,</if> | 
 |  |  |             <if test="sdFlag != null">sd_flag,</if> | 
 |  |  |             <if test="pattype != null">pattype,</if> | 
 |  |  |             <if test="viptype != null">viptype,</if> | 
 |  |  |             <if test="name != null">name,</if> | 
 |  |  |             <if test="sex != null">sex,</if> | 
 |  |  |             <if test="nation != null">nation,</if> | 
 |  |  |             <if test="nativePlace != null">native_place,</if> | 
 |  |  |             <if test="placeOfResidence != null">place_of_residence,</if> | 
 |  |  |             <if test="birthplace != null">birthplace,</if> | 
 |  |  |             <if test="idcardno != null">idcardno,</if> | 
 |  |  |             <if test="dduserid != null">dduserid,</if> | 
 |  |  |             <if test="pid != null">pid,</if> | 
 |  |  |             <if test="guid != null">guid,</if> | 
 |  |  |             <if test="birthdate != null">birthdate,</if> | 
 |  |  |             <if test="age != null">age,</if> | 
 |  |  |             <if test="sourcefrom != null">sourcefrom,</if> | 
 |  |  |             <if test="archivetime != null">archivetime,</if> | 
 |  |  |             <if test="archiveby != null">archiveby,</if> | 
 |  |  |             <if test="telcode != null">telcode,</if> | 
 |  |  |             <if test="relativetelcode != null">relativetelcode,</if> | 
 |  |  |             <if test="idcardtype != null">idcardtype,</if> | 
 |  |  |             <if test="orgid != null">orgid,</if> | 
 |  |  |             <if test="openid != null">openid,</if> | 
 |  |  |             <if test="delFlag != null and delFlag != ''">del_flag,</if> | 
 |  |  |             <if test="updateBy != null">update_by,</if> | 
 |  |  |             <if test="updateTime != null">update_time,</if> | 
 |  |  |             <if test="createBy != null">create_by,</if> | 
 |  |  |             <if test="createTime != null">create_time,</if> | 
 |  |  |             <if test="isupload != null">isupload,</if> | 
 |  |  |             <if test="uploadTime != null">upload_time,</if> | 
 |  |  |         </trim> | 
 |  |  |         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="patientno != null">#{patientno},</if> | 
 |  |  |             <if test="patidHis != null">#{patidHis},</if> | 
 |  |  |             <if test="sdFlag != null">#{sdFlag},</if> | 
 |  |  |             <if test="pattype != null">#{pattype},</if> | 
 |  |  |             <if test="viptype != null">#{>viptype},</if> | 
 |  |  |             <if test="name != null">#{name},</if> | 
 |  |  |             <if test="sex != null">#{sex},</if> | 
 |  |  |             <if test="nation != null">#{nation},</if> | 
 |  |  |             <if test="nativePlace != null">#{nativePlace},</if> | 
 |  |  |             <if test="placeOfResidence != null">#{placeOfResidence},</if> | 
 |  |  |             <if test="birthplace != null">#{birthplace},</if> | 
 |  |  |             <if test="idcardno != null">#{idcardno},</if> | 
 |  |  |             <if test="dduserid != null">#{dduserid},</if> | 
 |  |  |             <if test="pid != null">#{pid},</if> | 
 |  |  |             <if test="guid != null">#{guid},</if> | 
 |  |  |             <if test="birthdate != null">#{birthdate},</if> | 
 |  |  |             <if test="age != null">#{age},</if> | 
 |  |  |             <if test="sourcefrom != null">#{sourcefrom},</if> | 
 |  |  |             <if test="archivetime != null">#{archivetime},</if> | 
 |  |  |             <if test="archiveby != null">#{archiveby},</if> | 
 |  |  |             <if test="telcode != null">#{telcode},</if> | 
 |  |  |             <if test="relativetelcode != null">#{relativetelcode},</if> | 
 |  |  |             <if test="idcardtype != null">#{idcardtype},</if> | 
 |  |  |             <if test="orgid != null">#{orgid},</if> | 
 |  |  |             <if test="openid != null">#{openid},</if> | 
 |  |  |             <if test="delFlag != null and delFlag != ''">#{delFlag},</if> | 
 |  |  |             <if test="updateBy != null">#{updateBy},</if> | 
 |  |  |             <if test="updateTime != null">#{updateTime},</if> | 
 |  |  |             <if test="createBy != null">#{createBy},</if> | 
 |  |  |             <if test="createTime != null">#{createTime},</if> | 
 |  |  |             <if test="isupload != null">#{isupload},</if> | 
 |  |  |             <if test="uploadTime != null">#{uploadTime},</if> | 
 |  |  |         </trim> | 
 |  |  |     </insert> | 
 |  |  |  | 
 |  |  |     <insert id="insertPatArchive"> | 
 |  |  |         insert into | 
 |  |  |         pat_archive(name,viptype,sex,idcardno,birthdate,place_of_residence,age,sourcefrom,archivetime,archiveby,telcode,relativetelcode,idcardtype,orgid,openid,dduserid,update_by,update_time | 
 |  |  |         ,create_by,create_time,isupload,upload_time,pattype,nation,birthplace,native_place) values | 
 |  |  |         ,create_by,create_time,isupload,upload_time,pattype,nation,birthplace,native_place,patientno,patid_his,sd_flag) | 
 |  |  |         values | 
 |  |  |         <foreach item="item" index="index" collection="list" separator=","> | 
 |  |  |             (#{item.name},#{item.viptype},#{item.sex},#{item.idcardno},#{item.birthdate},#{item.placeOfResidence},#{item.age},#{item.sourcefrom},#{item.archivetime},#{item.archiveby} | 
 |  |  |             ,#{item.telcode},#{item.archiveby},#{item.idcardtype},#{item.orgid},#{item.openid},#{item.dduserid},#{item.updateBy}, | 
 |  |  |             #{item.updateTime},#{item.createBy},#{item.createTime},#{item.isupload},#{item.uploadTime},#{item.pattype},#{item.nation},#{item.birthplace},#{item.nativePlace} | 
 |  |  |             #{item.updateTime},#{item.createBy},#{item.createTime},#{item.isupload},#{item.uploadTime},#{item.pattype},#{item.nation},#{item.birthplace},#{item.nativePlace},#{item.patientno},#{item.patidHis},#{item.sdFlag} | 
 |  |  |             ) | 
 |  |  |         </foreach> | 
 |  |  |     </insert> | 
 |  |  | 
 |  |  |             <if test="isupload != null">isupload = #{isupload},</if> | 
 |  |  |             <if test="uploadTime != null">upload_time = #{uploadTime},</if> | 
 |  |  |             <if test="viptype != null">viptype = #{viptype},</if> | 
 |  |  |             <if test="viptype != null">patientno = #{patientno},</if> | 
 |  |  |             <if test="viptype != null">patid_his = #{patidHis},</if> | 
 |  |  |             <if test="viptype != null">sd_flag = #{sdFlag},</if> | 
 |  |  |         </trim> | 
 |  |  |         where id = #{id} | 
 |  |  |     </update> | 
 |  |  | 
 |  |  |  | 
 |  |  |         SELECT | 
 |  |  |         a.id, | 
 |  |  |         a.patid_his, | 
 |  |  |         a.sd_flag, | 
 |  |  |         a.patientno, | 
 |  |  |         a.NAME, | 
 |  |  |         a.sex, | 
 |  |  |         a.nation, | 
 |  |  | 
 |  |  |  | 
 |  |  |         select | 
 |  |  |         a.id, | 
 |  |  |         a.patid_his, | 
 |  |  |         a.sd_flag, | 
 |  |  |         a.patientno, | 
 |  |  |         a.NAME, | 
 |  |  |         d.deptname, | 
 |  |  |         a.sex, | 
 |  |  | 
 |  |  |  | 
 |  |  |         select | 
 |  |  |         a.id, | 
 |  |  |         a.patid_his, | 
 |  |  |         a.sd_flag, | 
 |  |  |         a.patientno, | 
 |  |  |         d.deptname, | 
 |  |  |         a.name, | 
 |  |  |         a.sex, | 
 |  |  | 
 |  |  |         select | 
 |  |  |         a.id, | 
 |  |  |         a.name, | 
 |  |  |         a.patid_his, | 
 |  |  |         a.sd_flag, | 
 |  |  |         a.patientno, | 
 |  |  |         a.sex, | 
 |  |  |         d.deptname, | 
 |  |  |         a.nation, | 
 
 |  |  | 
 |  |  | <?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.smartor.mapper.PatMedInhospMapper"> | 
 |  |  |  | 
 |  |  |     <resultMap type="com.smartor.domain.PatMedInhosp" id="PatMedInhospResult"> | 
 |  |  |         <result property="inhospid"    column="inhospid"    /> | 
 |  |  |         <result property="inhospno"    column="inhospno"    /> | 
 |  |  |         <result property="serialnum"    column="serialnum"    /> | 
 |  |  |         <result property="hospitalname"    column="hospitalname"    /> | 
 |  |  |         <result property="hospitalcode"    column="hospitalcode"    /> | 
 |  |  |         <result property="hospitaldistrictcode"    column="hospitaldistrictcode"    /> | 
 |  |  |         <result property="hospitaldistrictname"    column="hospitaldistrictname"    /> | 
 |  |  |         <result property="icd10code"    column="icd10code"    /> | 
 |  |  |         <result property="diagname"    column="diagname"    /> | 
 |  |  |         <result property="starttime"    column="starttime"    /> | 
 |  |  |         <result property="endtime"    column="endtime"    /> | 
 |  |  |         <result property="deptcode"    column="deptcode"    /> | 
 |  |  |         <result property="deptname"    column="deptname"    /> | 
 |  |  |         <result property="roomno"    column="roomno"    /> | 
 |  |  |         <result property="bedNo"    column="bed_no"    /> | 
 |  |  |         <result property="orgid"    column="orgid"    /> | 
 |  |  |         <result property="delFlag"    column="del_flag"    /> | 
 |  |  |         <result property="updateBy"    column="update_by"    /> | 
 |  |  |         <result property="updateTime"    column="update_time"    /> | 
 |  |  |         <result property="createBy"    column="create_by"    /> | 
 |  |  |         <result property="createTime"    column="create_time"    /> | 
 |  |  |         <result property="isupload"    column="isupload"    /> | 
 |  |  |         <result property="uploadTime"    column="upload_time"    /> | 
 |  |  |         <result property="patid"    column="patid"    /> | 
 |  |  |         <result property="leavediagname"    column="leavediagname"    /> | 
 |  |  |         <result property="leaveicd10code"    column="leaveicd10code"    /> | 
 |  |  |         <result property="drcode"    column="drcode"    /> | 
 |  |  |         <result property="drname"    column="drname"    /> | 
 |  |  |         <result property="schemestatus"    column="schemestatus"    /> | 
 |  |  |         <result property="generalschemestatus"    column="generalschemestatus"    /> | 
 |  |  |         <result property="leaveldeptcode"    column="leaveldeptcode"    /> | 
 |  |  |         <result property="leaveldeptname"    column="leaveldeptname"    /> | 
 |  |  |         <result property="hospitaldistrictid"    column="hospitaldistrictid"    /> | 
 |  |  |         <result property="leavehospitaldistrictcode"    column="leavehospitaldistrictcode"    /> | 
 |  |  |         <result property="leavehospitaldistrictname"    column="leavehospitaldistrictname"    /> | 
 |  |  |         <result property="leavehospitaldistrictid"    column="leavehospitaldistrictid"    /> | 
 |  |  |         <result property="deptid"    column="deptid"    /> | 
 |  |  |         <result property="leaveldeptid"    column="leaveldeptid"    /> | 
 |  |  |         <result property="schemetime"    column="schemetime"    /> | 
 |  |  |         <result property="patname"    column="patname"    /> | 
 |  |  |         <result property="patno"    column="patno"    /> | 
 |  |  |         <result property="inhospstate"    column="inhospstate"    /> | 
 |  |  |         <result property="checkFlag"    column="check_flag"    /> | 
 |  |  |         <result property="inhospid" column="inhospid"/> | 
 |  |  |         <result property="inhospno" column="inhospno"/> | 
 |  |  |         <result property="serialnum" column="serialnum"/> | 
 |  |  |         <result property="hospitalname" column="hospitalname"/> | 
 |  |  |         <result property="hospitalcode" column="hospitalcode"/> | 
 |  |  |         <result property="hospitaldistrictcode" column="hospitaldistrictcode"/> | 
 |  |  |         <result property="hospitaldistrictname" column="hospitaldistrictname"/> | 
 |  |  |         <result property="icd10code" column="icd10code"/> | 
 |  |  |         <result property="diagname" column="diagname"/> | 
 |  |  |         <result property="starttime" column="starttime"/> | 
 |  |  |         <result property="endtime" column="endtime"/> | 
 |  |  |         <result property="deptcode" column="deptcode"/> | 
 |  |  |         <result property="deptname" column="deptname"/> | 
 |  |  |         <result property="roomno" column="roomno"/> | 
 |  |  |         <result property="bedNo" column="bed_no"/> | 
 |  |  |         <result property="orgid" column="orgid"/> | 
 |  |  |         <result property="delFlag" column="del_flag"/> | 
 |  |  |         <result property="updateBy" column="update_by"/> | 
 |  |  |         <result property="updateTime" column="update_time"/> | 
 |  |  |         <result property="createBy" column="create_by"/> | 
 |  |  |         <result property="createTime" column="create_time"/> | 
 |  |  |         <result property="isupload" column="isupload"/> | 
 |  |  |         <result property="uploadTime" column="upload_time"/> | 
 |  |  |         <result property="patid" column="patid"/> | 
 |  |  |         <result property="leavediagname" column="leavediagname"/> | 
 |  |  |         <result property="leaveicd10code" column="leaveicd10code"/> | 
 |  |  |         <result property="drcode" column="drcode"/> | 
 |  |  |         <result property="drname" column="drname"/> | 
 |  |  |         <result property="schemestatus" column="schemestatus"/> | 
 |  |  |         <result property="generalschemestatus" column="generalschemestatus"/> | 
 |  |  |         <result property="leaveldeptcode" column="leaveldeptcode"/> | 
 |  |  |         <result property="leaveldeptname" column="leaveldeptname"/> | 
 |  |  |         <result property="hospitaldistrictid" column="hospitaldistrictid"/> | 
 |  |  |         <result property="leavehospitaldistrictcode" column="leavehospitaldistrictcode"/> | 
 |  |  |         <result property="leavehospitaldistrictname" column="leavehospitaldistrictname"/> | 
 |  |  |         <result property="leavehospitaldistrictid" column="leavehospitaldistrictid"/> | 
 |  |  |         <result property="deptid" column="deptid"/> | 
 |  |  |         <result property="leaveldeptid" column="leaveldeptid"/> | 
 |  |  |         <result property="schemetime" column="schemetime"/> | 
 |  |  |         <result property="patname" column="patname"/> | 
 |  |  |         <result property="patno" column="patno"/> | 
 |  |  |         <result property="inhospstate" column="inhospstate"/> | 
 |  |  |         <result property="checkFlag" column="check_flag"/> | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <sql id="selectPatMedInhospVo"> | 
 |  |  |         select inhospid,patname,check_flag,inhospstate,patno,inhospno, serialnum, hospitalname, hospitalcode, hospitaldistrictcode, hospitaldistrictname, icd10code, diagname, starttime, endtime, deptcode, deptname, roomno, bed_no, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, patid, leavediagname, leaveicd10code, drcode, drname, schemestatus, generalschemestatus, leaveldeptcode, leaveldeptname, hospitaldistrictid, leavehospitaldistrictcode, leavehospitaldistrictname, leavehospitaldistrictid, deptid, leaveldeptid, schemetime from pat_med_inhosp | 
 |  |  |         select inhospid, | 
 |  |  |                patname, | 
 |  |  |                check_flag, | 
 |  |  |                inhospstate, | 
 |  |  |                patno, | 
 |  |  |                inhospno, | 
 |  |  |                serialnum, | 
 |  |  |                hospitalname, | 
 |  |  |                hospitalcode, | 
 |  |  |                hospitaldistrictcode, | 
 |  |  |                hospitaldistrictname, | 
 |  |  |                icd10code, | 
 |  |  |                diagname, | 
 |  |  |                starttime, | 
 |  |  |                endtime, | 
 |  |  |                deptcode, | 
 |  |  |                deptname, | 
 |  |  |                roomno, | 
 |  |  |                bed_no, | 
 |  |  |                orgid, | 
 |  |  |                del_flag, | 
 |  |  |                update_by, | 
 |  |  |                update_time, | 
 |  |  |                create_by, | 
 |  |  |                create_time, | 
 |  |  |                isupload, | 
 |  |  |                upload_time, | 
 |  |  |                patid, | 
 |  |  |                leavediagname, | 
 |  |  |                leaveicd10code, | 
 |  |  |                drcode, | 
 |  |  |                drname, | 
 |  |  |                schemestatus, | 
 |  |  |                generalschemestatus, | 
 |  |  |                leaveldeptcode, | 
 |  |  |                leaveldeptname, | 
 |  |  |                hospitaldistrictid, | 
 |  |  |                leavehospitaldistrictcode, | 
 |  |  |                leavehospitaldistrictname, | 
 |  |  |                leavehospitaldistrictid, | 
 |  |  |                deptid, | 
 |  |  |                leaveldeptid, | 
 |  |  |                schemetime | 
 |  |  |         from pat_med_inhosp | 
 |  |  |     </sql> | 
 |  |  |  | 
 |  |  |     <select id="selectPatMedInhospList" parameterType="com.smartor.domain.PatMedInhosp" resultMap="PatMedInhospResult"> | 
 |  |  |         <include refid="selectPatMedInhospVo"/> | 
 |  |  |         <where> | 
 |  |  |             <if test="hospitalname != null  and hospitalname != ''"> and hospitalname like concat('%', #{hospitalname}, '%')</if> | 
 |  |  |             <if test="patname != null  and patname != ''"> and patname like concat('%', #{patname}, '%')</if> | 
 |  |  |             <if test="hospitaldistrictname != null  and hospitaldistrictname != ''"> and hospitaldistrictname like concat('%', #{hospitaldistrictname}, '%')</if> | 
 |  |  |             <if test="endtime != null "> and endtime = #{endtime}</if> | 
 |  |  |             <if test="patno != null "> and patno = #{patno}</if> | 
 |  |  |             <if test="checkFlag != null "> and check_flag = #{checkFlag}</if> | 
 |  |  |             <if test="inhospstate != null "> and inhospstate = #{inhospstate}</if> | 
 |  |  |             <if test="schemestatus != null "> and schemestatus = #{schemestatus}</if> | 
 |  |  |             <if test="leavediagname != null  and leavediagname != ''"> and leavediagname like concat('%', #{leavediagname}, '%')</if> | 
 |  |  |             <if test="drname != null  and drname != ''"> and drname like concat('%', #{drname}, '%')</if> | 
 |  |  |             <if test="leaveldeptname != null  and leaveldeptname != ''"> and leaveldeptname like concat('%', #{leaveldeptname}, '%')</if> | 
 |  |  |             <if test="leavehospitaldistrictname != null  and leavehospitaldistrictname != ''"> and leavehospitaldistrictname like concat('%', #{leavehospitaldistrictname}, '%')</if> | 
 |  |  |             <if test="hospitalname != null  and hospitalname != ''">and hospitalname like concat('%', #{hospitalname}, | 
 |  |  |                 '%') | 
 |  |  |             </if> | 
 |  |  |             <if test="patname != null  and patname != ''">and patname like concat('%', #{patname}, '%')</if> | 
 |  |  |             <if test="hospitaldistrictname != null  and hospitaldistrictname != ''">and hospitaldistrictname like | 
 |  |  |                 concat('%', #{hospitaldistrictname}, '%') | 
 |  |  |             </if> | 
 |  |  |             <if test="endtime != null ">and endtime = #{endtime}</if> | 
 |  |  |             <if test="patno != null ">and patno = #{patno}</if> | 
 |  |  |             <if test="checkFlag != null ">and check_flag = #{checkFlag}</if> | 
 |  |  |             <if test="inhospstate != null ">and inhospstate = #{inhospstate}</if> | 
 |  |  |             <if test="schemestatus != null ">and schemestatus = #{schemestatus}</if> | 
 |  |  |             <if test="leavediagname != null  and leavediagname != ''">and leavediagname like concat('%', | 
 |  |  |                 #{leavediagname}, '%') | 
 |  |  |             </if> | 
 |  |  |             <if test="drname != null  and drname != ''">and drname like concat('%', #{drname}, '%')</if> | 
 |  |  |             <if test="leaveldeptname != null  and leaveldeptname != ''">and leaveldeptname like concat('%', | 
 |  |  |                 #{leaveldeptname}, '%') | 
 |  |  |             </if> | 
 |  |  |             <if test="leavehospitaldistrictname != null  and leavehospitaldistrictname != ''">and | 
 |  |  |                 leavehospitaldistrictname like concat('%', #{leavehospitaldistrictname}, '%') | 
 |  |  |             </if> | 
 |  |  |         </where> | 
 |  |  |         order by update_time desc | 
 |  |  |     </select> | 
 |  |  | 
 |  |  |         where inhospid = #{inhospid} | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <insert id="insertPatMedInhosp" parameterType="com.smartor.domain.PatMedInhosp" useGeneratedKeys="true" keyProperty="inhospid"> | 
 |  |  |     <insert id="insertPatMedInhosp" parameterType="com.smartor.domain.PatMedInhosp" useGeneratedKeys="true" | 
 |  |  |             keyProperty="inhospid"> | 
 |  |  |         insert into pat_med_inhosp | 
 |  |  |         <trim prefix="(" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="serialnum != null">serialnum,</if> | 
 |  |  | 
 |  |  |             <if test="patno != null">patno,</if> | 
 |  |  |             <if test="inhospstate != null">inhospstate,</if> | 
 |  |  |             <if test="checkFlag != null">check_flag,</if> | 
 |  |  |          </trim> | 
 |  |  |         </trim> | 
 |  |  |         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="serialnum != null">#{serialnum},</if> | 
 |  |  |             <if test="hospitalname != null">#{hospitalname},</if> | 
 |  |  | 
 |  |  |             <if test="patno != null">#{patno},</if> | 
 |  |  |             <if test="inhospstate != null">#{inhospstate},</if> | 
 |  |  |             <if test="checkFlag != null">#{checkFlag},</if> | 
 |  |  |          </trim> | 
 |  |  |         </trim> | 
 |  |  |     </insert> | 
 |  |  |  | 
 |  |  |     <update id="updatePatMedInhosp" parameterType="com.smartor.domain.PatMedInhosp"> | 
 |  |  | 
 |  |  |     </update> | 
 |  |  |  | 
 |  |  |     <delete id="deletePatMedInhospByInhospid" parameterType="Long"> | 
 |  |  |         delete from pat_med_inhosp where inhospid = #{inhospid} | 
 |  |  |         delete | 
 |  |  |         from pat_med_inhosp | 
 |  |  |         where inhospid = #{inhospid} | 
 |  |  |     </delete> | 
 |  |  |  | 
 |  |  |     <delete id="deletePatMedInhospByInhospids" parameterType="String"> | 
 |  |  | 
 |  |  |             #{inhospid} | 
 |  |  |         </foreach> | 
 |  |  |     </delete> | 
 |  |  |  | 
 |  |  |     <select id="getDeptRanking" parameterType="com.smartor.domain.PatMedReq" resultType="com.smartor.domain.PatMedRes"> | 
 |  |  |         SELECT deptname, COUNT(1) AS rc | 
 |  |  |         FROM ( | 
 |  |  |         <if test="mz != null"> | 
 |  |  |             SELECT deptname | 
 |  |  |             FROM pat_med_outhosp | 
 |  |  |             <where> | 
 |  |  |                 del_flag=0 | 
 |  |  |                 <if test="deptcodeList != null"> | 
 |  |  |                     and deptcode in | 
 |  |  |                     <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> | 
 |  |  |                         #{deptcode} | 
 |  |  |                     </foreach> | 
 |  |  |                 </if> | 
 |  |  |             </where> | 
 |  |  |         </if> | 
 |  |  |         <if test="mz != null and zy != null"> | 
 |  |  |             UNION ALL | 
 |  |  |         </if> | 
 |  |  |         <if test="zy != null"> | 
 |  |  |             SELECT deptname | 
 |  |  |             FROM pat_med_inhosp | 
 |  |  |             <where> | 
 |  |  |                 del_flag=0 | 
 |  |  |                 and inhospstate=0 | 
 |  |  |                 <if test="deptcodeList != null"> | 
 |  |  |                     and deptcode in | 
 |  |  |                     <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> | 
 |  |  |                         #{deptcode} | 
 |  |  |                     </foreach> | 
 |  |  |                 </if> | 
 |  |  |             </where> | 
 |  |  |         </if> | 
 |  |  |         <if test="cy != null and zy != null"> | 
 |  |  |             UNION ALL | 
 |  |  |             SELECT deptname | 
 |  |  |             FROM pat_med_inhosp | 
 |  |  |             <where> | 
 |  |  |                 del_flag=0 | 
 |  |  |                 and inhospstate=1 | 
 |  |  |                 <if test="deptcodeList != null"> | 
 |  |  |                     and deptcode in | 
 |  |  |                     <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> | 
 |  |  |                         #{deptcode} | 
 |  |  |                     </foreach> | 
 |  |  |                 </if> | 
 |  |  |             </where> | 
 |  |  |         </if> | 
 |  |  |         <if test="mz != null and zy != null and cy==null"> | 
 |  |  |             UNION ALL | 
 |  |  |             SELECT deptname | 
 |  |  |             FROM pat_med_inhosp | 
 |  |  |             <where> | 
 |  |  |                 del_flag=0 | 
 |  |  |                 and inhospstate=1 | 
 |  |  |                 <if test="deptcodeList != null"> | 
 |  |  |                     and deptcode in | 
 |  |  |                     <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> | 
 |  |  |                         #{deptcode} | 
 |  |  |                     </foreach> | 
 |  |  |                 </if> | 
 |  |  |             </where> | 
 |  |  |         </if> | 
 |  |  |         ) AS combined | 
 |  |  |         GROUP BY deptname; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     </select> | 
 |  |  |     <select id="selectPatMedInhospCount" parameterType="com.smartor.domain.PatMedReq" | 
 |  |  |             resultType="com.smartor.domain.PatMedRes"> | 
 |  |  |         SELECT | 
 |  |  |         COUNT(1) AS rc, | 
 |  |  |         COUNT(DISTINCT patid) AS rs | 
 |  |  |         FROM | 
 |  |  |         pat_med_inhosp | 
 |  |  |         <where> | 
 |  |  |             del_flag=0 | 
 |  |  |             <if test="zy != null"> | 
 |  |  |                 and inhospstate=0 | 
 |  |  |                 and date_format(starttime,'%y%m%d') >= date_format(#{startDate},'%y%m%d') | 
 |  |  |                 and date_format(starttime,'%y%m%d') <= date_format(#{endDate},'%y%m%d') | 
 |  |  |             </if> | 
 |  |  |             <if test="cy != null"> | 
 |  |  |                 and inhospstate=1 | 
 |  |  |                 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') | 
 |  |  |             </if> | 
 |  |  |             <if test="deptcodeList != null"> | 
 |  |  |                 and deptcode in | 
 |  |  |                 <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> | 
 |  |  |                     #{deptcode} | 
 |  |  |                 </foreach> | 
 |  |  |             </if> | 
 |  |  |         </where> | 
 |  |  |     </select> | 
 |  |  | </mapper> | 
 
 |  |  | 
 |  |  |             #{id} | 
 |  |  |         </foreach> | 
 |  |  |     </delete> | 
 |  |  |  | 
 |  |  |     <select id="selectPatMedOuthospCount" parameterType="com.smartor.domain.PatMedReq" | 
 |  |  |             resultType="com.smartor.domain.PatMedRes"> | 
 |  |  |         SELECT | 
 |  |  |         COUNT(id) AS rc, | 
 |  |  |         COUNT(DISTINCT patid) AS rs | 
 |  |  |         FROM | 
 |  |  |         pat_med_outhosp | 
 |  |  |         <where> | 
 |  |  |             del_flag=0 | 
 |  |  |             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') | 
 |  |  |             <if test="deptcodeList != null"> | 
 |  |  |                 and deptcode in | 
 |  |  |                 <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> | 
 |  |  |                     #{deptcode} | 
 |  |  |                 </foreach> | 
 |  |  |             </if> | 
 |  |  |         </where> | 
 |  |  |     </select> | 
 |  |  | </mapper> | 
 
 |  |  | 
 |  |  |         <result property="libtemplateid" column="libtemplateid"/> | 
 |  |  |         <result property="openid" column="openid"/> | 
 |  |  |         <result property="longSendTime" column="long_send_time"/> | 
 |  |  |         <result property="serviceType" column="service_type"/> | 
 |  |  |         <result property="score" column="score"/> | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <resultMap type="com.smartor.domain.ServiceSubtaskCount" id="ServiceSubtaskResult2"> | 
 |  |  |         <result property="month" column="month"/> | 
 |  |  |         <result property="serviceType" column="service_type"/> | 
 |  |  |         <result property="subTaskId" column="subTaskId"/> | 
 |  |  |  | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <sql id="selectServiceSubtaskVo"> | 
 |  |  | 
 |  |  |                hosp_type, | 
 |  |  |                long_send_time, | 
 |  |  |                openid, | 
 |  |  |                service_type, | 
 |  |  |                libtemplateid, | 
 |  |  |                libtemplatename, | 
 |  |  |                hospno, | 
 |  |  |                score, | 
 |  |  |                phone, | 
 |  |  |                sex, | 
 |  |  |                age, | 
 |  |  | 
 |  |  |         from service_subtask | 
 |  |  |     </sql> | 
 |  |  |  | 
 |  |  |     <select id="selectServiceSubtaskList" parameterType="com.smartor.domain.ServiceSubtask" | 
 |  |  |     <select id="selectServiceSubtaskList" parameterType="com.smartor.domain.ServiceSubtaskVO" | 
 |  |  |             resultMap="ServiceSubtaskResult"> | 
 |  |  |         <include refid="selectServiceSubtaskVo"/> | 
 |  |  |         <where> | 
 |  |  | 
 |  |  |             <if test="phone != null  and phone != ''">and phone = #{phone}</if> | 
 |  |  |             <if test="sex != null  and sex != ''">and sex = #{sex}</if> | 
 |  |  |             <if test="age != null ">and age = #{age}</if> | 
 |  |  |             <if test="serviceType != null ">and service_type = #{serviceType}</if> | 
 |  |  |             <if test="patid != null ">and patid = #{patid}</if> | 
 |  |  |             <if test="sfzh != null  and sfzh != ''">and sfzh = #{sfzh}</if> | 
 |  |  |             <if test="addr != null  and addr != ''">and addr = #{addr}</if> | 
 |  |  | 
 |  |  |             <if test="openid != null ">and openid = #{openid}</if> | 
 |  |  |             <if test="longSendTime != null ">and long_send_time = #{longSendTime}</if> | 
 |  |  |             <if test="sendstate != null ">and sendstate = #{sendstate}</if> | 
 |  |  |             <if test="score != null"> | 
 |  |  |                 and score = #{score} | 
 |  |  |             </if> | 
 |  |  |         </where> | 
 |  |  |         order by update_time desc,id desc | 
 |  |  |     </select> | 
 |  |  | 
 |  |  |             <if test="patid != null ">patid,</if> | 
 |  |  |             <if test="openid != null ">openid,</if> | 
 |  |  |             <if test="longSendTime != null ">long_send_time,</if> | 
 |  |  |  | 
 |  |  |             <if test="serviceType != null ">service_type,</if> | 
 |  |  |             <if test="score != null ">score,</if> | 
 |  |  |         </trim> | 
 |  |  |         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="sendname != null">#{sendname},</if> | 
 |  |  | 
 |  |  |             <if test="patid != null ">#{patid},</if> | 
 |  |  |             <if test="openid != null ">#{openid},</if> | 
 |  |  |             <if test="longSendTime != null ">#{longSendTime},</if> | 
 |  |  |  | 
 |  |  |             <if test="serviceType != null ">#{serviceType},</if> | 
 |  |  |             <if test="score != null ">#{score},</if> | 
 |  |  |         </trim> | 
 |  |  |     </insert> | 
 |  |  |  | 
 |  |  | 
 |  |  |             <if test="openid != null ">openid = #{openid},</if> | 
 |  |  |             <if test="longSendTime != null ">long_send_time = #{longSendTime},</if> | 
 |  |  |             <if test="sendstate != null ">sendstate = #{sendstate},</if> | 
 |  |  |             <if test="serviceType != null ">service_type = #{serviceType},</if> | 
 |  |  |             <if test="score != null ">score = #{score},</if> | 
 |  |  |         </trim> | 
 |  |  |         where id = #{id} | 
 |  |  |     </update> | 
 |  |  | 
 |  |  |             <if test="patid != null ">patid = #{patid},</if> | 
 |  |  |             <if test="openid != null ">openid = #{openid},</if> | 
 |  |  |             <if test="longSendTime != null ">long_send_time = #{longSendTime},</if> | 
 |  |  |             <if test="serviceType != null ">service_type = #{serviceType},</if> | 
 |  |  |             <if test="score != null ">score = #{score},</if> | 
 |  |  |  | 
 |  |  |         </trim> | 
 |  |  |         where patid = #{patid} and taskid = #{taskid} | 
 |  |  |     </update> | 
 |  |  | 
 |  |  |                roomno, | 
 |  |  |                admindate, | 
 |  |  |                patid, | 
 |  |  |                service_type, | 
 |  |  |                deptname, | 
 |  |  |                score, | 
 |  |  |                diagname | 
 |  |  |         FROM service_subtask, | 
 |  |  |              JSON_TABLE(send_time_slot, '$[*]' COLUMNS ( | 
 |  |  | 
 |  |  |           AND del_flag = 0 | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <!--    è·åé访é¨è¯æ¯æçæ°é--> | 
 |  |  |     <select id="getSfFzInfoEveryMonth" parameterType="com.smartor.domain.ServiceSubtaskCountReq" | 
 |  |  |             resultMap="ServiceSubtaskResult2"> | 
 |  |  |         SELECT DATE_FORMAT(st.finishtime, '%Y-%m') AS month, | 
 |  |  |               st.service_type as service_type, | 
 |  |  |               st.id as subTaskId, | 
 |  |  |     COUNT(*) AS count | 
 |  |  |         FROM | 
 |  |  |             service_subtask st | 
 |  |  |             JOIN | 
 |  |  |             sys_user_dept dd | 
 |  |  |         ON dep.dept_id = dd.dept_id | 
 |  |  |         WHERE | 
 |  |  |             dd.user_id =#{userId} | 
 |  |  |           AND st.finishtime IS NOT NULL | 
 |  |  |           and DATE_FORMAT(st.finishtime | 
 |  |  |             , '%Y-%m') >= #{startTime} | 
 |  |  |           and DATE_FORMAT(st.finishtime | 
 |  |  |             , '%Y-%m') <= #{endTime} | 
 |  |  |         GROUP BY | 
 |  |  |             month, st.service_type, st.id | 
 |  |  |         ORDER BY | 
 |  |  |             month, st.service_type, st.id; | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  | </mapper> | 
 
 |  |  | 
 |  |  |     <select id="selectServiceTaskList" parameterType="com.smartor.domain.ServiceTask" resultMap="ServiceTaskResult"> | 
 |  |  |         <include refid="selectServiceTaskVo"/> | 
 |  |  |         <where> | 
 |  |  |             del_flag=0 | 
 |  |  |             <if test="taskName != null  and taskName != ''">and task_name like concat('%', #{taskName}, '%')</if> | 
 |  |  |             <if test="sendTimeSlot != null  and sendTimeSlot != ''">and send_time_slot like concat('%', #{sendTimeSlot}, | 
 |  |  |                 '%') | 
 
 |  |  | 
 |  |  |             <if test="valueType != null and valueType!=''">value_type,</if> | 
 |  |  |             <if test="reply != null and reply!=''">otherdata,</if> | 
 |  |  |             <if test="scoretype != null and scoretype!=''">scoretype,</if> | 
 |  |  |             <if test="score != null and score!=''">score,</if> | 
 |  |  |             <if test="score != null ">score,</if> | 
 |  |  |             <if test="icd10Name != null and icd10Name!=''">icd10_name,</if> | 
 |  |  |             <if test="picturePath != null  and picturePath != ''">picture_path,</if> | 
 |  |  |             <if test="scriptTopic != null  and scriptTopic != ''">script_topic,</if> | 
 |  |  | 
 |  |  |             <if test="valueType != null and valueType!=''">#{valueType},</if> | 
 |  |  |             <if test="reply != null and reply!=''">#{therdata},</if> | 
 |  |  |             <if test="scoretype != null and scoretype!=''">#{scoretype},</if> | 
 |  |  |             <if test="score != null and score!=''">#{score},</if> | 
 |  |  |             <if test="score != null ">#{score},</if> | 
 |  |  |             <if test="icd10Name != null and icd10Name!=''">#{icd10Name},</if> | 
 |  |  |             <if test="picturePath != null  and picturePath != ''">#{picturePath},</if> | 
 |  |  |             <if test="scriptTopic != null  and scriptTopic != ''">#{scriptTopic},</if> | 
 |  |  | 
 |  |  |             <if test="valueType != null and valueType!=''">value_type = #{valueType},</if> | 
 |  |  |             <if test="reply != null and reply!=''">therdata =#{therdata},</if> | 
 |  |  |             <if test="scoretype != null and scoretype!=''">scoretype = #{scoretype},</if> | 
 |  |  |             <if test="score != null and score!=''">score = #{score},</if> | 
 |  |  |             <if test="score != null">score = #{score},</if> | 
 |  |  |             <if test="icd10Name != null and icd10Name!=''">icd10_name = #{icd10Name},</if> | 
 |  |  |             <if test="picturePath != null  and picturePath != ''">picture_path = #{picturePath},</if> | 
 |  |  |             <if test="scriptTopic != null  and scriptTopic != ''">script_topic = #{scriptTopic},</if> | 
 
 |  |  | 
 |  |  |         <result property="reply" column="reply"/> | 
 |  |  |         <result property="scriptScore" column="script_score"/> | 
 |  |  |         <result property="scoreType" column="score_type"/> | 
 |  |  |         <result property="prologue" column="prologue"/> | 
 |  |  |         <result property="instruction" column="instruction"/> | 
 |  |  |         <result property="conclusion" column="conclusion"/> | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <sql id="selectSvyLibTemplateVo"> | 
 |  |  |         select svyid, | 
 |  |  |                categoryid, | 
 |  |  |                instruction, | 
 |  |  |                prologue, | 
 |  |  |                conclusion, | 
 |  |  |                value_type, | 
 |  |  |                reply, | 
 |  |  |                score_type, | 
 |  |  | 
 |  |  |             resultMap="SvyLibTemplateResult"> | 
 |  |  |         SELECT | 
 |  |  |         a.svyid, | 
 |  |  |         a.conclusion, | 
 |  |  |         a.instruction, | 
 |  |  |         a.prologue, | 
 |  |  |         a.categoryid, | 
 |  |  |         a.svycode, | 
 |  |  |         a.svyname, | 
 |  |  | 
 |  |  |             <if test="categoryid != null ">and a.categoryid = #{categoryid}</if> | 
 |  |  |             <if test="svyid != null ">and a.svyid = #{svyid}</if> | 
 |  |  |             <if test="svyname != null  and svyname != ''">and a.svyname like concat('%', #{svyname}, '%')</if> | 
 |  |  |             <if test="description != null  and description != ''">and  b.icd10name like concat('%', #{description}, '%') | 
 |  |  |             <if test="description != null  and description != ''">and b.icd10name like concat('%', #{description}, '%') | 
 |  |  |             </if> | 
 |  |  |         </where> | 
 |  |  |         order by a.create_time desc | 
 |  |  | 
 |  |  |             <if test="reply != null">reply,</if> | 
 |  |  |             <if test="scriptScore != null">script_score,</if> | 
 |  |  |             <if test="scoreType != null">score_type,</if> | 
 |  |  |             <if test="conclusion != null">conclusion,</if> | 
 |  |  |             <if test="instruction != null">instruction,</if> | 
 |  |  |             <if test="prologue != null">prologue,</if> | 
 |  |  |         </trim> | 
 |  |  |         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="categoryid != null">#{categoryid},</if> | 
 |  |  | 
 |  |  |             <if test="reply != null">#{reply},</if> | 
 |  |  |             <if test="scriptScore != null">#{scriptScore},</if> | 
 |  |  |             <if test="scoreType != null">#{scoreType},</if> | 
 |  |  |             <if test="conclusion != null">#{conclusion},</if> | 
 |  |  |             <if test="instruction != null">#{instruction},</if> | 
 |  |  |             <if test="prologue != null">#{prologue},</if> | 
 |  |  |         </trim> | 
 |  |  |     </insert> | 
 |  |  |  | 
 |  |  | 
 |  |  |             <if test="reply != null">reply = #{reply},</if> | 
 |  |  |             <if test="scriptScore != null">script_score = #{scriptScore},</if> | 
 |  |  |             <if test="scoreType != null">score_type = #{scoreType},</if> | 
 |  |  |             <if test="conclusion != null">conclusion=#{conclusion},</if> | 
 |  |  |             <if test="instruction != null">instruction=#{instruction},</if> | 
 |  |  |             <if test="prologue != null">prologue=#{prologue},</if> | 
 |  |  |         </trim> | 
 |  |  |         where svyid = #{svyid} | 
 |  |  |     </update> | 
 
 |  |  | 
 |  |  |         <result property="targetname" column="targetname"/> | 
 |  |  |         <result property="targettype" column="targettype"/> | 
 |  |  |         <result property="targetoptions" column="targetoptions"/> | 
 |  |  |         <result property="prompt" column="prompt"/> | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <sql id="selectSvyLibTemplateScriptVo"> | 
 |  |  | 
 |  |  |                script_type, | 
 |  |  |                targetid, | 
 |  |  |                targetname, | 
 |  |  |                score, | 
 |  |  |                prompt, | 
 |  |  |                targettype, | 
 |  |  |                targetoptions, | 
 |  |  |                scriptid, | 
 |  |  | 
 |  |  |                suitway, | 
 |  |  |                script_picture, | 
 |  |  |                script_topic, | 
 |  |  |                isavailable, language, otherdata, value_type, reply, scoretype, score | 
 |  |  |                isavailable, language, otherdata, value_type, reply, scoretype | 
 |  |  |         from svy_lib_template_script | 
 |  |  |     </sql> | 
 |  |  |  | 
 |  |  | 
 |  |  |             <if test="uploadTime != null ">and upload_time = #{uploadTime}</if> | 
 |  |  |             <if test="pid != null ">and pid = #{pid}</if> | 
 |  |  |             <if test="guid != null  and guid != ''">and guid = #{guid}</if> | 
 |  |  |             <if test="prompt != null  and prompt != ''">and prompt = #{prompt}</if> | 
 |  |  |             <if test="categoryid != null ">and categoryid = #{categoryid}</if> | 
 |  |  |             <if test="scriptContent != null  and scriptContent != ''">and script_content = #{scriptContent}</if> | 
 |  |  |             <if test="suitway != null  and suitway != ''">and suitway = #{suitway}</if> | 
 |  |  | 
 |  |  |             <if test="valueType != null  and valueType != ''">and value_type = #{valueType}</if> | 
 |  |  |             <if test="reply != null  and reply != ''">and reply = #{reply}</if> | 
 |  |  |             <if test="scoretype != null  and scoretype != ''">and scoretype = #{scoretype}</if> | 
 |  |  |             <if test="score != null  and score != ''">and score = #{score}</if> | 
 |  |  |             <if test="scriptTopic != null  and scriptTopic != ''">and script_topic = #{scriptTopic}</if> | 
 |  |  |             <if test="svyid != null  ">and svyid = #{svyid}</if> | 
 |  |  |             <if test="branchFlag != null  and branchFlag != ''">and branch_flag = #{branchFlag}</if> | 
 |  |  | 
 |  |  |             <if test="targetname != null  and targetname != ''">and targetname = #{targetname}</if> | 
 |  |  |             <if test="targettype != null  and targettype != ''">and targettype = #{targettype}</if> | 
 |  |  |             <if test="targetoptions != null  and targetoptions != ''">and targetoptions = #{targetoptions}</if> | 
 |  |  |             <if test="score != null">and score = #{score}</if> | 
 |  |  |         </where> | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  | 
 |  |  |             <if test="targetname != null  and targetname != ''">targetname,</if> | 
 |  |  |             <if test="targettype != null  and targettype != ''">targettype,</if> | 
 |  |  |             <if test="targetoptions != null  and targetoptions != ''">targetoptions,</if> | 
 |  |  |             <if test="prompt != null  and prompt != ''">prompt,</if> | 
 |  |  |         </trim> | 
 |  |  |         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="nextScriptno != null">#{nextScriptno},</if> | 
 |  |  | 
 |  |  |             <if test="targetname != null  and targetname != ''">#{targetname},</if> | 
 |  |  |             <if test="targettype != null  and targettype != ''">#{targettype},</if> | 
 |  |  |             <if test="targetoptions != null  and targetoptions != ''">#{targetoptions},</if> | 
 |  |  |             <if test="prompt != null  and prompt != ''">#{prompt},</if> | 
 |  |  |         </trim> | 
 |  |  |     </insert> | 
 |  |  |  | 
 |  |  | 
 |  |  |             <if test="targetname != null  and targetname != ''">targetname = #{targetname},</if> | 
 |  |  |             <if test="targettype != null  and targettype != ''">targettype = #{targettype},</if> | 
 |  |  |             <if test="targetoptions != null  and targetoptions != ''">targetoptions = #{targetoptions},</if> | 
 |  |  |             <if test="prompt != null  and prompt != ''">prompt = #{prompt},</if> | 
 |  |  |         </trim> | 
 |  |  |         where id = #{id} | 
 |  |  |     </update> | 
 
 |  |  | 
 |  |  |         <result property="appendflag" column="appendflag"/> | 
 |  |  |         <result property="appenddesc" column="appenddesc"/> | 
 |  |  |         <result property="optionNo" column="option_no"/> | 
 |  |  |         <result property="prompt" column="prompt"/> | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <sql id="selectSvyLibTemplateTargetoptionVo"> | 
 |  |  |         select id, | 
 |  |  |                groupid, | 
 |  |  |                score, | 
 |  |  |                prompt, | 
 |  |  |                option_no, | 
 |  |  |                appendflag, | 
 |  |  |                appenddesc, | 
 |  |  | 
 |  |  |                 '%') | 
 |  |  |             </if> | 
 |  |  |             <if test="scriptid != null ">and scriptid = #{scriptid}</if> | 
 |  |  |             <if test="prompt != null ">and prompt = #{prompt}</if> | 
 |  |  |             <if test="templateID != null ">and templateID = #{templateID}</if> | 
 |  |  |             <if test="targettype != null  and targettype != ''">and targettype = #{targettype}</if> | 
 |  |  |             <if test="targetid != null ">and targetid = #{targetid}</if> | 
 |  |  | 
 |  |  |             <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if> | 
 |  |  |             <if test="pid != null ">and pid = #{pid}</if> | 
 |  |  |             <if test="guid != null  and guid != ''">and guid = #{guid}</if> | 
 |  |  |             <if test="score != null  and score != ''">and score = #{score}</if> | 
 |  |  |             <if test="score != null">and score = #{score}</if> | 
 |  |  |             <if test="picturePath != null  and picturePath != ''">and picture_path = #{picturePath}</if> | 
 |  |  |             <if test="appendflag != null">and appendflag = #{appendflag}</if> | 
 |  |  |             <if test="appenddesc != null">and appenddesc = #{appenddesc}</if> | 
 |  |  | 
 |  |  |             <if test="appendflag != null">appendflag,</if> | 
 |  |  |             <if test="appenddesc != null">appenddesc,</if> | 
 |  |  |             <if test="optionNo != null">option_no,</if> | 
 |  |  |             <if test="prompt != null">prompt,</if> | 
 |  |  |         </trim> | 
 |  |  |         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="groupid != null">#{groupid},</if> | 
 |  |  | 
 |  |  |             <if test="appendflag != null">#{appendflag},</if> | 
 |  |  |             <if test="appenddesc != null">#{appenddesc},</if> | 
 |  |  |             <if test="optionNo != null">#{optionNo},</if> | 
 |  |  |             <if test="prompt != null">#{prompt},</if> | 
 |  |  |         </trim> | 
 |  |  |     </insert> | 
 |  |  |  | 
 |  |  | 
 |  |  |             <if test="appendflag != null">appendflag = #{appendflag},</if> | 
 |  |  |             <if test="appenddesc != null">appenddesc = #{appenddesc},</if> | 
 |  |  |             <if test="optionNo != null">option_no = #{optionNo},</if> | 
 |  |  |             <if test="prompt != null">prompt = #{prompt},</if> | 
 |  |  |         </trim> | 
 |  |  |         where id = #{id} | 
 |  |  |     </update> | 
 
 |  |  | 
 |  |  |     <update id="deleteSvyLibScriptCategoryById" parameterType="Long"> | 
 |  |  |         update svy_lib_script_category | 
 |  |  |         <trim prefix="SET" suffixOverrides=","> | 
 |  |  |             <if test="delFlag != null">del_flag = ,</if> | 
 |  |  |             <if test="delFlag != null">del_flag = 1,</if> | 
 |  |  |         </trim> | 
 |  |  |         where id = #{id} | 
 |  |  |     </update> | 
 
 |  |  | 
 |  |  |         <result property="branchNextscriptno" column="branch_nextscriptno"/> | 
 |  |  |         <result property="targettype" column="targettype"/> | 
 |  |  |         <result property="targetname" column="targetname"/> | 
 |  |  |         <result property="score" column="score"/> | 
 |  |  |         <result property="prompt" column="prompt"/> | 
 |  |  |  | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <sql id="selectSvyTaskTemplateScriptVo"> | 
 |  |  |         select id, | 
 |  |  |                sort, | 
 |  |  |                prompt, | 
 |  |  |                branch_flag, | 
 |  |  |                branch_nextscriptno, | 
 |  |  |                score, | 
 |  |  |                script_desc, | 
 |  |  |                targetname, | 
 |  |  |                targettype, | 
 |  |  | 
 |  |  |             <if test="picturePath != null  and picturePath != ''">and picture_path = #{picturePath}</if> | 
 |  |  |             <if test="scriptTopic != null  and scriptTopic != ''">and script_topic = #{scriptTopic}</if> | 
 |  |  |             <if test="branchFlag != null  and branchFlag != ''">and branch_flag = #{branchFlag}</if> | 
 |  |  |             <if test="targetname != null  and targetname != ''">and targetname = #{branchFtargetnamelag}</if> | 
 |  |  |             <if test="targetname != null  and targetname != ''">and targetname = #{targetname}</if> | 
 |  |  |             <if test="targettype != null  and targettype != ''">and targettype = #{targettype}</if> | 
 |  |  |             <if test="score != null ">and score = #{score}</if> | 
 |  |  |             <if test="prompt != null ">and prompt = #{prompt}</if> | 
 |  |  |             <if test="branchNextscriptno != null  and branchNextscriptno != ''">and branch_nextscriptno = | 
 |  |  |                 #{branchNextscriptno} | 
 |  |  |             </if> | 
 |  |  | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <insert id="insertSvyTaskTemplateScript" parameterType="com.smartor.domain.SvyTaskTemplateScript" | 
 |  |  |             useGeneratedKeys="true" keyProperty="ID"> | 
 |  |  |             useGeneratedKeys="true" keyProperty="id"> | 
 |  |  |         insert into svy_task_template_script | 
 |  |  |         <trim prefix="(" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="taskid != null">taskid,</if> | 
 |  |  | 
 |  |  |             <if test="branchNextscriptno != null  and branchNextscriptno != ''">branch_nextscriptno,</if> | 
 |  |  |             <if test="targetname != null  and targetname != ''">targetname,</if> | 
 |  |  |             <if test="targettype != null  and targettype != ''">targettype,</if> | 
 |  |  |             <if test="score != null ">score,</if> | 
 |  |  |             <if test="prompt != null ">prompt,</if> | 
 |  |  |         </trim> | 
 |  |  |         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="taskid != null">#{taskid},</if> | 
 |  |  | 
 |  |  |             <if test="scriptTopic != null">#{scriptTopic},</if> | 
 |  |  |             <if test="branchFlag != null  and branchFlag != ''">#{branchFlag},</if> | 
 |  |  |             <if test="branchNextscriptno != null  and branchNextscriptno != ''">#{branchNextscriptno},</if> | 
 |  |  |             <if test="targetname != null  and targetname != ''">#{branchFtargetnamelag},</if> | 
 |  |  |             <if test="targetname != null  and targetname != ''">#{targetname},</if> | 
 |  |  |             <if test="targettype != null  and targettype != ''">#{targettype},</if> | 
 |  |  |             <if test="score != null ">#{score},</if> | 
 |  |  |             <if test="prompt != null ">#{prompt},</if> | 
 |  |  |         </trim> | 
 |  |  |     </insert> | 
 |  |  |  | 
 |  |  | 
 |  |  |             <if test="branchNextscriptno != null  and branchNextscriptno != ''">branch_nextscriptno = | 
 |  |  |                 #{branchNextscriptno}, | 
 |  |  |             </if> | 
 |  |  |             <if test="targetname != null  and targetname != ''">targetname = #{branchFtargetnamelag},</if> | 
 |  |  |             <if test="targetname != null  and targetname != ''">targetname = #{targetname},</if> | 
 |  |  |             <if test="targettype != null  and targettype != ''">targettype = #{targettype},</if> | 
 |  |  |             <if test="score != null">score = #{score},</if> | 
 |  |  |             <if test="prompt != null">prompt = #{prompt},</if> | 
 |  |  |         </trim> | 
 |  |  |         where id = #{d} | 
 |  |  |     </update> | 
 
 |  |  | 
 |  |  |         <result property="optionCode" column="option_code"/> | 
 |  |  |         <result property="appendflag" column="appendflag"/> | 
 |  |  |         <result property="appenddesc" column="appenddesc"/> | 
 |  |  |         <result property="score" column="score"/> | 
 |  |  |         <result property="score" column="score"/> | 
 |  |  |         <result property="prompt" column="prompt"/> | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <sql id="selectSvyTaskTemplateTargetoptionVo"> | 
 |  |  |         select id, | 
 |  |  |                option_code, | 
 |  |  |                score, | 
 |  |  |                prompt, | 
 |  |  |                appendflag, | 
 |  |  |                appenddesc, | 
 |  |  |                taskid, | 
 |  |  | 
 |  |  |         <include refid="selectSvyTaskTemplateTargetoptionVo"/> | 
 |  |  |         <where> | 
 |  |  |             <if test="taskid != null ">and taskid = #{taskid}</if> | 
 |  |  |             <if test="score != null ">and score = #{score}</if> | 
 |  |  |             <if test="prompt != null ">and prompt = #{prompt}</if> | 
 |  |  |             <if test="templateID != null ">and templateID = #{templateID}</if> | 
 |  |  |             <if test="targetid != null ">and targetid = #{targetid}</if> | 
 |  |  |             <if test="targetname != null  and targetname != ''">and targetname like concat('%', #{targetname}, '%')</if> | 
 |  |  | 
 |  |  |             <if test="optionCode != null">option_code,</if> | 
 |  |  |             <if test="appendflag != null">appendflag,</if> | 
 |  |  |             <if test="appenddesc != null">appenddesc,</if> | 
 |  |  |             <if test="score != null">score,</if> | 
 |  |  |             <if test="prompt != null">prompt,</if> | 
 |  |  |  | 
 |  |  |         </trim> | 
 |  |  |         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
 |  |  | 
 |  |  |             <if test="dynamiccruxs != null">#{dynamiccruxsJson},</if> | 
 |  |  |             <if test="nextQuestion != null">#{nextQuestion},</if> | 
 |  |  |             <if test="picturePath != null">#{picturePath},</if> | 
 |  |  |             <if test="optionCode != null">#{optionCode}</if> | 
 |  |  |             <if test="appendflag != null">#{appendflag}</if> | 
 |  |  |             <if test="appenddesc != null">#{appenddesc}</if> | 
 |  |  |             <if test="optionCode != null">#{optionCode},</if> | 
 |  |  |             <if test="appendflag != null">#{appendflag},</if> | 
 |  |  |             <if test="appenddesc != null">#{appenddesc},</if> | 
 |  |  |             <if test="score != null">#{score},</if> | 
 |  |  |             <if test="prompt != null">#{prompt},</if> | 
 |  |  |  | 
 |  |  |         </trim> | 
 |  |  |     </insert> | 
 |  |  | 
 |  |  |             <if test="optionCode != null">option_code = #{optionCode},</if> | 
 |  |  |             <if test="appendflag != null">appendflag = #{appendflag},</if> | 
 |  |  |             <if test="appenddesc != null">appenddesc = #{appenddesc},</if> | 
 |  |  |             <if test="score != null">score = #{score},</if> | 
 |  |  |             <if test="prompt != null">score = #{prompt},</if> | 
 |  |  |         </trim> | 
 |  |  |         where id = #{id} | 
 |  |  |     </update> | 
 
| ¶Ô±ÈÐÂÎļþ | 
 |  |  | 
 |  |  | <?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"> | 
 |  |  | <mapper namespace="com.smartor.mapper.SysUserDeptMapper"> | 
 |  |  |  | 
 |  |  |     <resultMap type="com.ruoyi.common.core.domain.entity.SysUserDept" id="SysUserDeptResult"> | 
 |  |  |         <result property="id" column="id"/> | 
 |  |  |         <result property="userId" column="user_id"/> | 
 |  |  |         <result property="deptId" column="dept_id"/> | 
 |  |  |         <result property="delFlag" column="del_flag"/> | 
 |  |  |         <result property="createTime" column="create_time"/> | 
 |  |  |         <result property="updateTime" column="update_time"/> | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <resultMap id="deptResult" type="com.ruoyi.common.core.domain.entity.SysDept"> | 
 |  |  |         <id property="deptId" column="dept_id"/> | 
 |  |  |         <result property="parentId" column="parent_id"/> | 
 |  |  |         <result property="deptName" column="dept_name"/> | 
 |  |  |         <result property="ancestors" column="ancestors"/> | 
 |  |  |         <result property="orderNum" column="order_num"/> | 
 |  |  |         <result property="leader" column="leader"/> | 
 |  |  |         <result property="status" column="dept_status"/> | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <sql id="selectSysUserDeptVo"> | 
 |  |  |         select id, user_id, dept_id, del_flag, create_time, update_time | 
 |  |  |         from sys_user_dept | 
 |  |  |     </sql> | 
 |  |  |  | 
 |  |  |     <select id="selectSysUserDeptList" parameterType="com.ruoyi.common.core.domain.entity.SysUserDept" | 
 |  |  |             resultMap="SysUserDeptResult"> | 
 |  |  |         <include refid="selectSysUserDeptVo"/> | 
 |  |  |         <where> | 
 |  |  |             <if test="userId != null "> | 
 |  |  |                 and user_id = #{userId} | 
 |  |  |             </if> | 
 |  |  |             <if test="deptId != null "> | 
 |  |  |                 and dept_id = #{deptId} | 
 |  |  |             </if> | 
 |  |  |             <if test="delFlag != null "> | 
 |  |  |                 and del_flag = #{delFlag} | 
 |  |  |             </if> | 
 |  |  |             <if test="createTime != null "> | 
 |  |  |                 and create_time = #{createTime} | 
 |  |  |             </if> | 
 |  |  |             <if test="updateTime != null "> | 
 |  |  |                 and update_time = #{updateTime} | 
 |  |  |             </if> | 
 |  |  |         </where> | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="selectSysUserDeptById" parameterType="Long" | 
 |  |  |             resultMap="SysUserDeptResult"> | 
 |  |  |         <include refid="selectSysUserDeptVo"/> | 
 |  |  |         where id = #{id} | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <insert id="insertSysUserDept" parameterType="com.ruoyi.common.core.domain.entity.SysUserDept" | 
 |  |  |             useGeneratedKeys="true" keyProperty="id"> | 
 |  |  |         insert into sys_user_dept | 
 |  |  |         <trim prefix="(" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="userId != null">user_id, | 
 |  |  |             </if> | 
 |  |  |             <if test="deptId != null">dept_id, | 
 |  |  |             </if> | 
 |  |  |             <if test="delFlag != null "> | 
 |  |  |                 del_flag, | 
 |  |  |             </if> | 
 |  |  |             <if test="createTime != null "> | 
 |  |  |                 create_time, | 
 |  |  |             </if> | 
 |  |  |             <if test="updateTime != null "> | 
 |  |  |                 update_time, | 
 |  |  |             </if> | 
 |  |  |         </trim> | 
 |  |  |         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="userId != null">#{userId}, | 
 |  |  |             </if> | 
 |  |  |             <if test="deptId != null">#{deptId}, | 
 |  |  |             </if> | 
 |  |  |             <if test="delFlag != null "> | 
 |  |  |                 #{delFlag}, | 
 |  |  |             </if> | 
 |  |  |             <if test="createTime != null "> | 
 |  |  |                 #{createTime}, | 
 |  |  |             </if> | 
 |  |  |             <if test="updateTime != null "> | 
 |  |  |                 #{updateTime}, | 
 |  |  |             </if> | 
 |  |  |         </trim> | 
 |  |  |     </insert> | 
 |  |  |  | 
 |  |  |     <update id="updateSysUserDept" parameterType="com.ruoyi.common.core.domain.entity.SysUserDept"> | 
 |  |  |         update sys_user_dept | 
 |  |  |         <trim prefix="SET" suffixOverrides=","> | 
 |  |  |             <if test="userId != null">user_id = | 
 |  |  |                 #{userId}, | 
 |  |  |             </if> | 
 |  |  |             <if test="deptId != null">dept_id = | 
 |  |  |                 #{deptId}, | 
 |  |  |             </if> | 
 |  |  |             <if test="delFlag != null "> | 
 |  |  |                 del_flag = #{delFlag}, | 
 |  |  |             </if> | 
 |  |  |             <if test="createTime != null "> | 
 |  |  |                 create_time = #{createTime}, | 
 |  |  |             </if> | 
 |  |  |             <if test="updateTime != null "> | 
 |  |  |                 update_time = #{updateTime}, | 
 |  |  |             </if> | 
 |  |  |         </trim> | 
 |  |  |         where id = #{id} | 
 |  |  |     </update> | 
 |  |  |  | 
 |  |  |     <update id="deleteSysUserDeptById" parameterType="Long"> | 
 |  |  |         update sys_user_dept | 
 |  |  |         <trim prefix="SET" suffixOverrides=","> | 
 |  |  |             del_flag =1 | 
 |  |  |         </trim> | 
 |  |  |         where id = #{id} | 
 |  |  |     </update> | 
 |  |  |  | 
 |  |  |     <select id="selectDeptListByUserId" resultMap="deptResult"> | 
 |  |  |         select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status | 
 |  |  |         from sys_dept d | 
 |  |  |                  left join sys_user_dept ud on d.dept_id = ud.dept_id | 
 |  |  |         where ud.user_id = #{userId} | 
 |  |  |           and ud.del_flag = 0 | 
 |  |  |           and d.del_flag = 0 | 
 |  |  |     </select> | 
 |  |  |     <update id="deleteSysUserDeptByIds" parameterType="String"> | 
 |  |  |         update sys_user_dept | 
 |  |  |         <trim prefix="SET" suffixOverrides=","> | 
 |  |  |             del_flag =1, | 
 |  |  |             update_time = sysdate() | 
 |  |  |         </trim> | 
 |  |  |         where user_id in | 
 |  |  |         <foreach item="id" collection="array" open="(" separator="," close=")"> | 
 |  |  |             #{id} | 
 |  |  |         </foreach> | 
 |  |  |     </update> | 
 |  |  |  | 
 |  |  |  | 
 |  |  | </mapper> |