| | |
| | | serviceOutPath.setDeptName(serviceSubtask.getDeptname()); |
| | | serviceOutPath.setWardName(serviceSubtask.getLeavehospitaldistrictname()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String url = ""; |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | //éè¦éè¿æ¨¡æ¿IDå»å¤æè¦åçå
容æ¯å®£æè¿æ¯éç¥ |
| | | HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid()); |
| | | if (heLibrary.getHetype().equals("1")) { |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setUrl(StringUtils.isNotEmpty(req_path) ? ip + ":" + req_path + "/xj?p=" + format : ip + "/xj?p=" + format); |
| | | url = StringUtils.isNotEmpty(req_path) ? ip + ":" + req_path + "/xj?p=" + format : ip + "/xj?p=" + format; |
| | | sendMagParam.setUrl(url); |
| | | |
| | | |
| | | SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("xj.sms.template"); |
| | |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setContent(sc); |
| | | } |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | serviceOutPath.setUrl(url); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | } |
| | | |
| | | //çä¿¡è¿éè¦æ¨¡æ¿ |
| | |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | url = ip + ":" + req_path + "/sf?p=" + format; |
| | | serviceOutPath.setUrl(url); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | } else if (type == 2) { |
| | | //é®å¸ |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | |
| | | serviceOutPath.setWardName(serviceSubtask.getLeavehospitaldistrictname()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | |
| | | url = StringUtils.isNotEmpty(req_path) ? ip + ":" + req_path + "/wt?p=" + format : ip + "/wt?p=" + format; |
| | | //妿typeæ¯è¯é³é访çè¯ï¼è¯´æè¡¥å¿åéæ¹å¼ä¸æçµè¯éè®¿çæ¹å¼ï¼è¿éçå¤é¾å°±å°ååªè½ç¨/sfï¼ |
| | | if (serviceSubtask.getType().equals("1")) |
| | | sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format); |
| | | |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUrl(url); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | } else if (type == 3) { |
| | | //宣æ |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | |
| | | serviceOutPath.setOrgid(serviceSubtask.getOrgid()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | |
| | | //éè¦éè¿æ¨¡æ¿IDå»å¤æè¦åçå
容æ¯å®£æè¿æ¯éç¥ |
| | | // HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid()); |
| | |
| | | // } |
| | | |
| | | url = ip + ":" + req_path + "/xj?p=" + format; |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | serviceOutPath.setUrl(url); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | } |
| | | if (StringUtils.isEmpty(patArchive.getPatidHis())) { |
| | | serviceSubtask.setCurrentPreachform(sendPreachform); |
| | |
| | | import com.smartor.domain.*; |
| | | import com.smartor.domain.DTO.QuestionResultDTO; |
| | | import com.smartor.domain.DTO.ServiceSubtaskDetailDTO; |
| | | import com.smartor.domain.VO.QuestionCountKsOrBqVO; |
| | | import com.smartor.domain.VO.QuestionResultVO; |
| | | import com.smartor.domain.entity.ServiceSubtaskEntity; |
| | | import com.smartor.service.IServiceSubtaskDetailService; |
| | |
| | | // æ questiontext åç»å转æ¢ä¸º QuestionResultVO |
| | | List<QuestionResultDTO> result = new ArrayList<>(); |
| | | if (!detailList.isEmpty()) { |
| | | Map<String, List<ServiceSubtaskDetailRatioExport>> groupedMap = detailList.stream() |
| | | .collect(Collectors.groupingBy(ServiceSubtaskDetailRatioExport::getQuestiontext)); |
| | | Map<String, List<ServiceSubtaskDetailRatioExport>> groupedMap = detailList.stream().collect(Collectors.groupingBy(ServiceSubtaskDetailRatioExport::getQuestiontext)); |
| | | |
| | | groupedMap.forEach((questionText, exportList) -> { |
| | | QuestionResultDTO questionResultDTO = new QuestionResultDTO(); |
| | |
| | | |
| | | return success(result); |
| | | } |
| | | |
| | | @ApiOperation("çç«å德满æåº¦æ°æ®ç»è®¡éè¿ç§å®¤æç
åº") |
| | | @PostMapping("/statQuestionOptionByKsOrBq") |
| | | public Map<String, Object> statQuestionOptionByKsOrBq(@RequestBody QuestionCountKsOrBqVO questionResultVO) { |
| | | return success(serviceSubtaskService.statQuestionOptionByKsOrBq(questionResultVO)); |
| | | } |
| | | } |
| | |
| | | return aBoolean; |
| | | } |
| | | |
| | | /** |
| | | * åéééæ¶æ¯ |
| | | * |
| | | * @param dingTalkReqVo åéå
容 |
| | | * @throws ApiException |
| | | */ |
| | | @ApiOperation("åéééæ¶æ¯") |
| | | @PostMapping("/sendDingTalkText") |
| | | public void sendDingTalkText(@RequestBody DingTalkReqVo dingTalkReqVo) throws Exception { |
| | | // String userid = dingTalkService.getDingTalkUserByMobile(dingTalkReqVo.getNumber()); |
| | | String userid = "214563391024684607"; |
| | | dingTalkService.sendDingTalkText("æ¯å®åéééæ¶æ¯æµè¯", userid); |
| | | } |
| | | |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.domain; |
| | | |
| | | import lombok.Data; |
| | | import java.util.Map; |
| | | |
| | | @Data |
| | | public class DingAsyncSendMsgReq { |
| | | /** åºç¨agentId */ |
| | | private Long agent_id; |
| | | /** æ¥æ¶äººuseridå表ï¼å¤ä¸ªéå·åéï¼ä¸dept_id_listäºéä¸ */ |
| | | private String userid_list; |
| | | /** æ¥æ¶é¨é¨idå表ï¼å¤ä¸ªéå·åé */ |
| | | private String dept_id_list; |
| | | /** æ¯å¦åéç»ææåå·¥ï¼trueåuserid_listãdept_id_list失æ */ |
| | | private Boolean to_all_user; |
| | | /** æ¶æ¯ä½ */ |
| | | private Map<String, Object> msg; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.domain; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class DingAsyncSendMsgResp { |
| | | private Integer errcode; |
| | | private String errmsg; |
| | | /** ä»»å¡idï¼åç»åè°ä¼å¸¦åè¿ä¸ªtask_id */ |
| | | private Long task_id; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.domain; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class DingTokenResp { |
| | | private Integer errcode; |
| | | private String errmsg; |
| | | private String access_token; |
| | | private Long expires_in; |
| | | } |
| | |
| | | * @return æ¯å¦æå |
| | | */ |
| | | Boolean sendNotification(DingTalkReqVo dingTalkReqVo); |
| | | |
| | | /** |
| | | * åéééæ¶æ¯-æ¯å® |
| | | * @param sMessageContent |
| | | * @throws Exception |
| | | */ |
| | | void sendDingTalkText(String sMessageContent, String userId) throws Exception; |
| | | |
| | | /** |
| | | * æ ¹æ®çµè¯è·åç¨æ· |
| | | * @param mobile |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | String getDingTalkUserByMobile(String mobile) throws Exception; |
| | | } |
| | |
| | | package com.ruoyi.common.dx; |
| | | |
| | | import com.dingtalk.api.DefaultDingTalkClient; |
| | | import com.dingtalk.api.DingTalkClient; |
| | | import com.dingtalk.api.request.OapiMessageCorpconversationAsyncsendV2Request; |
| | | import com.dingtalk.api.response.OapiMessageCorpconversationAsyncsendV2Response; |
| | | import com.ruoyi.common.utils.uuid.UUID; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | |
| | | result = soap.i5GSend("202508291634227086", "T202508291635259440", UUID.randomUUID().toString(), sMessageContent, sMessageType, sUserNumber, sScheduleTime); |
| | | log.info("----çä¿¡è¿åçæ°æ®ä¸ºï¼{}, ----sMessageContent çå¼ä¸º:{}", result,UUID.randomUUID().toString()); |
| | | } else if ("7".equals(sMessageType)) { |
| | | result = soap.i5GSend("202508291634227086", "T202607211306131891", UUID.randomUUID().toString(), sMessageContent, sMessageType, sUserNumber, sScheduleTime); |
| | | result = soap.i5GSend("202508291634227086", "T202607211306131891", |
| | | UUID.randomUUID().toString(), sMessageContent, sMessageType, sUserNumber, sScheduleTime); |
| | | log.info("----ééè¿åçåå§æ°æ®ä¸ºï¼{}", result); |
| | | |
| | | } else { |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.utils; |
| | | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.ruoyi.common.core.domain.DingAsyncSendMsgReq; |
| | | import com.ruoyi.common.core.domain.DingAsyncSendMsgResp; |
| | | import com.ruoyi.common.core.domain.DingTokenResp; |
| | | import okhttp3.*; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | import java.util.concurrent.TimeUnit; |
| | | |
| | | public class DingTalkUtils { |
| | | |
| | | private static final OkHttpClient HTTP_CLIENT = new OkHttpClient.Builder() |
| | | .connectTimeout(10, TimeUnit.SECONDS) |
| | | .readTimeout(10, TimeUnit.SECONDS) |
| | | .build(); |
| | | |
| | | /** |
| | | * è·åä¼ä¸access_token |
| | | * @param corpid ä¼ä¸ID |
| | | * @param corpsecret åºç¨çåè¯å¯é¥ |
| | | * @return DingTokenResp |
| | | */ |
| | | public static DingTokenResp getAccessToken(String corpid, String corpsecret) throws IOException { |
| | | String url = "https://oapi.dingtalk.com/gettoken?corpid=" + corpid + "&corpsecret=" + corpsecret; |
| | | Request request = new Request.Builder() |
| | | .url(url) |
| | | .get() |
| | | .build(); |
| | | try (Response response = HTTP_CLIENT.newCall(request).execute()) { |
| | | String body = response.body().string(); |
| | | return JSON.parseObject(body, DingTokenResp.class); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 弿¥åéä¼ä¸ä¼è¯æ¶æ¯ asyncsend_v2 |
| | | */ |
| | | public static DingAsyncSendMsgResp asyncSendCorpMsg(String accessToken, DingAsyncSendMsgReq req) throws IOException { |
| | | String url = "https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2?access_token=" + accessToken; |
| | | |
| | | String jsonBody = JSON.toJSONString(req); |
| | | RequestBody body = RequestBody.create(jsonBody, MediaType.get("application/json; charset=utf-8")); |
| | | |
| | | Request request = new Request.Builder() |
| | | .url(url) |
| | | .post(body) |
| | | .build(); |
| | | |
| | | try (Response response = HTTP_CLIENT.newCall(request).execute()) { |
| | | String respBody = response.body().string(); |
| | | return JSON.parseObject(respBody, DingAsyncSendMsgResp.class); |
| | | } |
| | | } |
| | | |
| | | // ========== æå»ºæ¶æ¯ç¤ºä¾ï¼ææ¬æ¶æ¯ ========== |
| | | public static Map<String, Object> buildTextMsg(String content) { |
| | | Map<String, Object> msgMap = new HashMap<>(); |
| | | msgMap.put("msgtype", "text"); |
| | | Map<String, Object> text = new HashMap<>(); |
| | | text.put("content", content); |
| | | msgMap.put("text", text); |
| | | return msgMap; |
| | | } |
| | | |
| | | // ========== æå»ºæ¶æ¯ç¤ºä¾ï¼markdownæ¶æ¯ ========== |
| | | public static Map<String, Object> buildMarkdownMsg(String title, String text) { |
| | | Map<String, Object> msgMap = new HashMap<>(); |
| | | msgMap.put("msgtype", "markdown"); |
| | | Map<String, Object> markdown = new HashMap<>(); |
| | | markdown.put("title", title); |
| | | markdown.put("text", text); |
| | | msgMap.put("markdown", markdown); |
| | | return msgMap; |
| | | } |
| | | } |
| | |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.core.domain.entity.SysDept; |
| | | import com.ruoyi.common.core.redis.RedisCache; |
| | | import com.ruoyi.common.core.service.IDingTalkService; |
| | | import com.ruoyi.common.dx.MessageSend; |
| | | import com.ruoyi.common.enums.MsgLSEnum; |
| | | import com.ruoyi.common.enums.ServiceFromEnum; |
| | |
| | | |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | |
| | | @Autowired |
| | | private IDingTalkService dingTalkService; |
| | | |
| | | |
| | | @Value("${localIP}") |
| | |
| | | for (String dutyDeptPersonCode : dutyDeptPersonCodeList) { |
| | | log.info("ãsendSLTDMYDExceptInfoãåé人工å·ï¼{}", dutyDeptPersonCode); |
| | | String data = MessageSend.sendMsg(exceptContent, "7", dutyDeptPersonCode, LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 宿¶åéå¼å¸¸ä¿¡æ¯-æ¯å® |
| | | */ |
| | | public void sendExceptInfo() throws Exception { |
| | | //1.è·ååéäººå·¥å· |
| | | ServiceSubtaskDetailTraceVO subtaskDetailTraceVO = new ServiceSubtaskDetailTraceVO(); |
| | | subtaskDetailTraceVO.setHandleFlag("0"); |
| | | List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces = |
| | | serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(subtaskDetailTraceVO); |
| | | // æ dutyDeptPersonCode æ´çå° list ä¸ï¼å¦æå¤ä¸ªäººç¨éå·åå²ï¼åå±å¼å¹¶å»éï¼ |
| | | List<String> dutyDeptPersonCodeList = serviceSubtaskDetailTraces.stream() |
| | | .map(ServiceSubtaskDetailTrace::getDutyDeptPersonCode) |
| | | .filter(StringUtils::isNotBlank) |
| | | .flatMap(code -> Arrays.stream(code.split(","))) |
| | | .map(String::trim) |
| | | .filter(StringUtils::isNotBlank).distinct() // å»é |
| | | .collect(Collectors.toList()); |
| | | // è·åâå¼å¸¸å
容æé" |
| | | SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("send.except.content"); |
| | | String exceptContent = sysConfig.getConfigValue(); |
| | | |
| | | // è·åâå
容æéæµè¯äººå·¥å·â |
| | | String testPerson = sysConfigMapper.checkConfigKeyUnique("send.test.person").getConfigValue(); |
| | | if (StringUtils.isNotBlank(testPerson)) { |
| | | String[] split = testPerson.split(","); |
| | | if (CollectionUtils.isEmpty(dutyDeptPersonCodeList)) dutyDeptPersonCodeList = Arrays.asList(split); |
| | | else dutyDeptPersonCodeList.addAll(Arrays.asList(split)); |
| | | } |
| | | |
| | | if (CollectionUtils.isNotEmpty(dutyDeptPersonCodeList)) { |
| | | for (String dutyDeptPersonCode : dutyDeptPersonCodeList) { |
| | | log.info("ãsendExceptInfoãåé人工å·ï¼{}", dutyDeptPersonCode); |
| | | String dutyDeptPerson = dingTalkService.getDingTalkUserByMobile(dutyDeptPersonCode); |
| | | dingTalkService.sendDingTalkText(exceptContent, dutyDeptPerson); |
| | | } |
| | | } |
| | | } |
| | |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | serviceOutPath.setOrgid(serviceSubtask.getOrgid()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String url = ""; |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | //å
夿ä¸ä¸åçæ¯ä¸æ¯å®£æ |
| | | if (!"3".equals(serviceSubtask.getType())) { |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | |
| | | sendMagParam.setUrl(StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/wt?p=" + format : localIP + "/wt?p=" + format); |
| | | url = StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/wt?p=" + format : localIP + "/wt?p=" + format; |
| | | sendMagParam.setUrl(url); |
| | | //妿typeæ¯è¯é³é访çè¯ï¼è¯´æè¡¥å¿åéæ¹å¼ä¸æçµè¯éè®¿çæ¹å¼ï¼è¿éçå¤é¾å°±å°ååªè½ç¨/sfï¼ |
| | | if (serviceSubtask.getType().equals("1")) |
| | | sendMagParam.setUrl(StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/sf?p=" + format : localIP + "/sf?p=" + format); |
| | | url = StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/sf?p=" + format : localIP + "/sf?p=" + format; |
| | | sendMagParam.setUrl(url); |
| | | |
| | | // SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template"); |
| | | SysConfig sysConfig = new SysConfig(); |
| | |
| | | HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid()); |
| | | if (heLibrary.getHetype().equals("1")) { |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setUrl(StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/xj?p=" + format : localIP + "/xj?p=" + format); |
| | | url = StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/xj?p=" + format : localIP + "/xj?p=" + format; |
| | | |
| | | sendMagParam.setUrl(url); |
| | | |
| | | SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("xj.sms.template"); |
| | | if (!Objects.isNull(sysConfig)) { |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | serviceOutPath.setUrl(url); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | String isSuccess = null; |
| | | log.info("activeçå¼ä¸ºï¼{}", active); |
| | | if (active.equals("xh")) { |
| | |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | serviceOutPath.setUrl(url); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | |
| | | //è·å微信å
¬ä¼å·è¯·æ±ä¿¡æ¯æ ¹æ®æºæID |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.domain.DTO; |
| | | |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | import com.smartor.domain.ServiceSubtaskDetailRatioExport; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * é®å·ç»æ |
| | | * |
| | | * @author ruoyi |
| | | * @date 2024-02-02 |
| | | */ |
| | | |
| | | @ApiModel(value = "QuestionResultDTO", description = "é®å·ç»æ") |
| | | @Data |
| | | public class QuestionCountKsOrBqDTO extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * é®å·é¢ç® |
| | | */ |
| | | @ApiModelProperty(value = "é®å·é¢ç®") |
| | | private String qeustionText; |
| | | |
| | | /** |
| | | * é®å·ç»æéå |
| | | */ |
| | | @ApiModelProperty(value = "ä»»å¡id") |
| | | private Long taskid; |
| | | |
| | | /** |
| | | * é®å·ç»æéå |
| | | */ |
| | | @ApiModelProperty(value = "é¨é¨åç§°") |
| | | private String deptname; |
| | | |
| | | /** |
| | | * é®å·ç»æéå |
| | | */ |
| | | @ApiModelProperty(value = "ç
åºåç§°") |
| | | private String leavehospitaldistrictname; |
| | | |
| | | /** |
| | | * é®å·ç»æéå |
| | | */ |
| | | @ApiModelProperty(value = "é项") |
| | | private String targetvalue; |
| | | |
| | | /** |
| | | * é®å·ç»æéå |
| | | */ |
| | | @ApiModelProperty(value = "éé¡¹ç»æ") |
| | | private String asrtext; |
| | | |
| | | /** |
| | | * é®å·ç»æéå |
| | | */ |
| | | @ApiModelProperty(value = "åçæ°é") |
| | | private String answerCount; |
| | | |
| | | /** |
| | | * é®å·ç»æéå |
| | | */ |
| | | @ApiModelProperty(value = "åé¢å¾å") |
| | | private String singleScore; |
| | | |
| | | /** |
| | | * å¹³åå¾å |
| | | */ |
| | | @ApiModelProperty(value = "å¹³åå¾å") |
| | | private String avgScore; |
| | | |
| | | } |
| | |
| | | /** |
| | | * æ¯å¦å¿
å¡«ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼ |
| | | */ |
| | | @Excel(name = "æ¯å¦å¿
å¡«ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡«ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | private String isMust; |
| | | @Excel(name = "æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)") |
| | | private String ismandatory; |
| | | |
| | | /** |
| | | * ç»å« |
| | |
| | | /** |
| | | * æ¯å¦å¿
å¡«ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼ |
| | | */ |
| | | @Excel(name = "æ¯å¦å¿
å¡«ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡«ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | private String isMust; |
| | | @Excel(name = "æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)æ¯å¦å¿
å¡«ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤) ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | private String ismandatory; |
| | | |
| | | /** |
| | | * é®é¢ç»æï¼ç»âå¼ç±»åâæ¯ææ¬æè
æ°å¼ç¨çï¼ |
| | |
| | | */ |
| | | @Excel(name = "æ¯å¦å¿
å¡«,1:å¿
å¡« 2ï¼å¯ä»¥ä¸å¡« ", readConverterExp = "ç»=人工ç¨çï¼AIä¸ç¨éµå®") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡«,1:å¿
å¡« 2ï¼å¯ä»¥ä¸å¡« ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | private String isMust; |
| | | private String ismandatory; |
| | | |
| | | /** |
| | | * é®é¢ç»æï¼ç»âå¼ç±»åâæ¯ææ¬æè
æ°å¼ç¨çï¼ |
| | |
| | | */ |
| | | @Excel(name = "æ¯å¦å¿
å¡«,1:å¿
å¡« 2ï¼å¯ä»¥ä¸å¡« ", readConverterExp = "ç»=人工ç¨çï¼AIä¸ç¨éµå®") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡«,1:å¿
å¡« 2ï¼å¯ä»¥ä¸å¡« ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | private String isMust; |
| | | private String ismandatory; |
| | | |
| | | /** |
| | | * é®é¢ç»æï¼ç»âå¼ç±»åâæ¯ææ¬æè
æ°å¼ç¨çï¼ |
| | |
| | | @Excel(name = "ä»»å¡ç¼å·") |
| | | private String taskid; |
| | | |
| | | /** |
| | | * é¨é¨code |
| | | */ |
| | | @Excel(name = " é¨é¨code") |
| | | @ApiModelProperty(value = "é¨é¨code") |
| | | private String deptcode; |
| | | |
| | | /** |
| | | * ç§å®¤åç§° |
| | | */ |
| | | @Excel(name = "ç§å®¤åç§°") |
| | | @ApiModelProperty(value = "ç§å®¤åç§°") |
| | | private String deptname; |
| | | |
| | | /** |
| | | * åºé¢ç
åºç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºç¼å·") |
| | | private String leavehospitaldistrictcode; |
| | | |
| | | /** |
| | | * åºé¢ç
åºåç§° |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºåç§°") |
| | | @Excel(name = " åºé¢ç
åºåç§° ") |
| | | private String leavehospitaldistrictname; |
| | | } |
| | |
| | | /** |
| | | * æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡« |
| | | */ |
| | | @Excel(name = " æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡«") |
| | | @ApiModelProperty("æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡«") |
| | | @Excel(name = " æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)") |
| | | @ApiModelProperty("æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)") |
| | | private String ismandatory; |
| | | |
| | | /** |
| | |
| | | /** |
| | | * æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡« |
| | | */ |
| | | @Excel(name = " æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡«") |
| | | @ApiModelProperty("æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡«") |
| | | @Excel(name = " æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)") |
| | | @ApiModelProperty("æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)") |
| | | private String ismandatory; |
| | | |
| | | /** |
| | |
| | | /** |
| | | * æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡« |
| | | */ |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡«") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)") |
| | | private String ismandatory; |
| | | |
| | | /** |
| | |
| | | /** |
| | | * æ¯å¦å¿
å¡« |
| | | */ |
| | | @Excel(name = " æ¯å¦å¿
å¡« ") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡«") |
| | | @Excel(name = " æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤) ") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)") |
| | | private Long ismandatory; |
| | | |
| | | /** |
| | |
| | | /** |
| | | * æç»æ¯å¦å¿
å¡« |
| | | */ |
| | | @Excel(name = " æç»æ¯å¦å¿
å¡« ") |
| | | @ApiModelProperty(value = "æç»æ¯å¦å¿
å¡«") |
| | | @Excel(name = " æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤) ") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)") |
| | | private Long detailismandatory; |
| | | |
| | | /** |
| | |
| | | * æ¯å¦å¿
å¡«,1:å¿
å¡« 2ï¼å¯ä»¥ä¸å¡« ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼ |
| | | */ |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡«,1:å¿
å¡« 2ï¼å¯ä»¥ä¸å¡« ") |
| | | private String isMust; |
| | | private String ismandatory; |
| | | |
| | | /** |
| | | * æ¯å¦å卿ä½ï¼1 æ°å¢ 2ä¿®æ¹ 3å é¤ |
| | |
| | | @ApiModelProperty(value = "è¯æ¯å
容") |
| | | private String scriptContent; |
| | | |
| | | |
| | | /** |
| | | * æ¯å¦å¿
å¡«,1:å¿
å¡« 2ï¼å¯ä»¥ä¸å¡« ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼ |
| | | */ |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡«,1:å¿
å¡« 2ï¼å¯ä»¥ä¸å¡« ") |
| | | private String isMust; |
| | | |
| | | |
| | | /** |
| | | * å 餿 è®° |
| | | */ |
| | |
| | | private Long categoryid; |
| | | |
| | | /** |
| | | * æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡« |
| | | * æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡« |
| | | */ |
| | | @Excel(name = " æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡«") |
| | | @ApiModelProperty("æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡«") |
| | | @Excel(name = " æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«") |
| | | @ApiModelProperty("æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«") |
| | | private String ismandatory; |
| | | |
| | | |
| | |
| | | private Long sort; |
| | | |
| | | /** |
| | | * æ¯å¦å¿
å¡« |
| | | * æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤) |
| | | */ |
| | | @Excel(name = " æ¯å¦å¿
å¡« ") |
| | | @Excel(name = " æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤) ") |
| | | private Long ismandatory; |
| | | |
| | | /** |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.domain.VO; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.common.annotation.Excel; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | import com.smartor.domain.ServiceSubtaskDetailRatioExport; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * é®é¢ç»è®¡æ ¹æ®ç§å®¤æç
åºæ¥è¯¢ |
| | | * |
| | | * @author ls |
| | | * @date 2026-09-11 |
| | | */ |
| | | |
| | | @ApiModel(value = "QuestionCountKsOrBqVO", description = "é®é¢ç»è®¡æ ¹æ®ç§å®¤æç
åºæ¥è¯¢") |
| | | @Data |
| | | public class QuestionCountKsOrBqVO extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * ç§å®¤ä¸ç
åºçæ¥è¯¢æ¯orè¿æ¯and: 1:and(é»è®¤)(离é¢ç
åºä¸ç¦»é¢ç§å®¤ç»å) 2:or(离é¢ç
åºä¸ç¦»é¢ç§å®¤ç»å) 3:and(离é¢ç
åºä¸é访ç§å®¤ç»å) 4:or(离é¢ç
åºä¸é访ç§å®¤ç»å) |
| | | */ |
| | | @ApiModelProperty(value = "ç§å®¤ä¸ç
åºçæ¥è¯¢æ¯orè¿æ¯and: 1:and(é»è®¤)(离é¢ç
åºä¸ç¦»é¢ç§å®¤ç»å) 2:or(离é¢ç
åºä¸ç¦»é¢ç§å®¤ç»å) 3:and(离é¢ç
åºä¸é访ç§å®¤ç»å) 4:or(离é¢ç
åºä¸é访ç§å®¤ç»å)") |
| | | private String deptOrDistrict = "1"; |
| | | |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "主é®id") |
| | | private Long subId; |
| | | |
| | | /** |
| | | * åºé¢ç
åºç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºéå(å¿
å¡«)") |
| | | private List<String> leavehospitaldistrictcodes; |
| | | |
| | | /** |
| | | * é¨é¨code |
| | | */ |
| | | @Excel(name = " é¨é¨code") |
| | | @ApiModelProperty(value = "é¨é¨codeéå") |
| | | private List<String> leaveldeptcodes; |
| | | |
| | | |
| | | /** |
| | | * å¼å§åºé¢æ¥æ |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "å¼å§å®ææ¥æ") |
| | | private Date startFinisTime; |
| | | |
| | | /** |
| | | * ç»æåºé¢æ¥æ |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "ç»æå®ææ¥æ") |
| | | private Date endFinishTime; |
| | | |
| | | |
| | | @ApiModelProperty(value = "é®é¢ç±»åï¼1.åé 2å¤é 3é®ç 4填空 5å
¶å®ï¼") |
| | | private String valueType; |
| | | } |
| | |
| | | @ApiModelProperty(value = "åºé¢ç
åºéå(å¿
å¡«)") |
| | | private List<String> leavehospitaldistrictcodes; |
| | | |
| | | /** |
| | | * é¨é¨code |
| | | */ |
| | | @Excel(name = " é¨é¨code") |
| | | @ApiModelProperty(value = "é¨é¨codeéå") |
| | | private List<String> leaveldeptcodes; |
| | | |
| | | |
| | | /** |
| | | * 主é®idéå |
| | |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "ç»æåºé¢æ¥æ") |
| | | private Date endOutHospTime; |
| | | |
| | | |
| | | /** |
| | | * é®é¢å
容 |
| | |
| | | |
| | | @ApiModelProperty(value = "ææ¯è®°å½idéå") |
| | | private List<Long> operationItemIds; |
| | | |
| | | /** |
| | | * å¹´é¾ |
| | | */ |
| | | @Excel(name = " åºé¢ç
人记å½IDéå") |
| | | @ApiModelProperty(value = "åºé¢ç
人记å½IDéå") |
| | | private List<Long> inhospids; |
| | | |
| | | } |
| | |
| | | package com.smartor.mapper; |
| | | |
| | | import com.smartor.domain.*; |
| | | import com.smartor.domain.DTO.QuestionCountKsOrBqDTO; |
| | | import com.smartor.domain.VO.PatSatisfactionReqVO; |
| | | import com.smartor.domain.VO.HeLibraryCountVO; |
| | | import com.smartor.domain.VO.QuestionCountKsOrBqVO; |
| | | import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO; |
| | | import com.smartor.domain.entity.ServiceSubtaskEntity; |
| | | import com.smartor.domain.entity.ServiceSubtaskSatisfactionEntity; |
| | |
| | | */ |
| | | List<ServiceSubtaskDetailRatioExport> statQuestionOptionBySubtaskIds(@Param("subtaskIds") List<Long> subtaskIds, @Param("startOutHospTime") Date startOutHospTime, @Param("endOutHospTime") Date endOutHospTime, @Param("scoreStart") Double scoreStart, @Param("scoreEnd") Double scoreEnd, @Param("questiontext") String questiontext, @Param("valueType") String valueType); |
| | | |
| | | /** |
| | | * æ ¹æ®ç§å®¤ãç
åºãé¢ç®ç±»åç»è®¡çç§å®¤ãç
åºè¯å |
| | | * @param questionCountKsOrBqVO |
| | | * @return |
| | | */ |
| | | List<QuestionCountKsOrBqDTO> statQuestionOptionByKsOrBq(QuestionCountKsOrBqVO questionCountKsOrBqVO); |
| | | |
| | | } |
| | |
| | | * @param dingTalkReqVo |
| | | */ |
| | | public Boolean sendNotification(DingTalkReqVo dingTalkReqVo); |
| | | |
| | | /** |
| | | * åéééæ¶æ¯-æ¯å® |
| | | * @param sMessageContent |
| | | * @throws Exception |
| | | */ |
| | | public void sendDingTalkText(String sMessageContent, String userId) throws Exception; |
| | | |
| | | /** |
| | | * æ ¹æ®çµè¯è·åç¨æ· |
| | | * @param mobile |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | public String getDingTalkUserByMobile(String mobile) throws Exception; |
| | | } |
| | |
| | | * @param patMedOuthosp |
| | | * @return |
| | | */ |
| | | public Integer followUpAgainByPatMedOuthosp(PatMedOuthosp patMedOuthosp, Integer visitTimeNum); |
| | | public Integer followUpAgainByPatMedOuthosp(PatMedOuthosp patMedOuthosp, Integer visitTimeNum, List<Long> inhospids); |
| | | |
| | | /** |
| | | * é¨è¯è®°å½å¤ç |
| | |
| | | public Map<String, Object> selectServiceSubtaskDetailList(ServiceSubtaskDetail serviceSubtaskDetail); |
| | | |
| | | public List<Map<String, Object>> getServiceSubtaskDetails(ServiceSubtaskDetailVO serviceSubtaskDetailVo); |
| | | |
| | | /** |
| | | * æ°å¢è¯é³ä»»å¡å¼å«æç» |
| | | * |
| | |
| | | |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.domain.DTO.QuestionCountKsOrBqDTO; |
| | | import com.smartor.domain.DTO.QuestionResultDTO; |
| | | import com.smartor.domain.ServiceSubtask; |
| | | import com.smartor.domain.VO.HeLibraryCountVO; |
| | | import com.smartor.domain.VO.QuestionResultVO; |
| | | import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO; |
| | | import com.smartor.domain.VO.TransferDeptVO; |
| | | import com.smartor.domain.VO.*; |
| | | import com.smartor.domain.entity.ServiceSubtaskEntity; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | |
| | |
| | | */ |
| | | public List<ServiceSubtaskDetailRatioExport> statQuestionOptionBySubtaskIds(List<Long> subtaskIds, Date startOutHospTime, Date endOutHospTime, String scriptContent, Double scoreStart, Double scoreEnd, String valueType); |
| | | |
| | | public List<QuestionCountKsOrBqDTO> statQuestionOptionByKsOrBq(QuestionCountKsOrBqVO questionCountKsOrBqVO); |
| | | |
| | | public String scanGenerateSubtask(ServiceTask serviceTaskVo); |
| | | |
| | | public Integer matchOptionIndex(String url, String questionText, String voiceText, List<IvrTaskTemplateTargetoption> options, String uuid); |
| | |
| | | import com.dingtalk.api.response.OapiMessageCorpconversationAsyncsendV2Response; |
| | | import com.dingtalk.api.response.OapiUserListidResponse; |
| | | import com.dingtalk.api.response.OapiV2UserGetbymobileResponse; |
| | | import com.ruoyi.common.core.domain.DingAsyncSendMsgReq; |
| | | import com.ruoyi.common.core.domain.DingAsyncSendMsgResp; |
| | | import com.ruoyi.common.core.domain.DingTalkReqVo; |
| | | import com.ruoyi.common.core.domain.DingTokenResp; |
| | | import com.ruoyi.common.utils.DingTalkUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.smartor.service.DingTalkService; |
| | | import com.taobao.api.ApiException; |
| | |
| | | |
| | | @Value("${dingAppSecret}") |
| | | private String dingAppSecret; |
| | | |
| | | @Value("${dingAppAgentId}") |
| | | private Long dingAppAgentId; |
| | | |
| | | @Override |
| | | public Boolean sendNotification(DingTalkReqVo dingTalkReqVo) { |
| | |
| | | OapiGettokenResponse response = client.execute(request); |
| | | return response.getAccessToken(); |
| | | } |
| | | |
| | | /** |
| | | * è·åpost access_token |
| | | */ |
| | | private String getAccessTokenPost() throws ApiException { |
| | | DefaultDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.com/v1.0/oauth2/{corpId}/token"); |
| | | OapiGettokenRequest request = new OapiGettokenRequest(); |
| | | //Appkey |
| | | request.setAppkey(dingAppid); |
| | | //Appsecret |
| | | request.setAppsecret(dingAppSecret); |
| | | /*è¯·æ±æ¹å¼*/ |
| | | request.setHttpMethod("Post"); |
| | | OapiGettokenResponse response = client.execute(request); |
| | | return response.getAccessToken(); |
| | | } |
| | | |
| | | // /** |
| | | // * åéééæ¶æ¯-æ¯å® |
| | | // * @param sMessageContent |
| | | // * @throws Exception |
| | | // */ |
| | | // public void sendDingTalkText(String sMessageContent) throws Exception { |
| | | // String CORP_ID = "ä½ çä¼ä¸corpid"; |
| | | // String CORP_SECRET = "ä¼ä¸åºç¨çcorpsecret"; |
| | | // Long AGENT_ID = 4992829038L; // ä½ çåºç¨agentId |
| | | // |
| | | // try { |
| | | // // 1. è·åaccess_token |
| | | // DingTokenResp tokenResp = DingTalkUtils.getAccessToken(CORP_ID, CORP_SECRET); |
| | | // if (tokenResp.getErrcode() != 0) { |
| | | // System.err.println("è·åtoken失败ï¼" + tokenResp.getErrmsg()); |
| | | // return; |
| | | // } |
| | | // String accessToken = tokenResp.getAccess_token(); |
| | | // System.out.println("access_token=" + accessToken); |
| | | // |
| | | // // 2. ç»è£
åéè¯·æ± |
| | | // DingAsyncSendMsgReq sendReq = new DingAsyncSendMsgReq(); |
| | | // sendReq.setAgent_id(AGENT_ID); |
| | | // sendReq.setUserid_list("user01,user02"); // æ¥æ¶äººééuserIdï¼å¤ä¸ªéå· |
| | | // sendReq.setTo_all_user(false); |
| | | // // è®¾ç½®æ¶æ¯å
容ï¼è¿éç¨ææ¬æ¶æ¯ |
| | | // sendReq.setMsg(DingTalkUtils.buildTextMsg("ä½ å¥½ï¼è¿æ¯å¼æ¥åéééæ¶æ¯æµè¯")); |
| | | // |
| | | // // 3. è°ç¨å¼æ¥åéæ¥å£ |
| | | // DingAsyncSendMsgResp sendResp = DingTalkUtils.asyncSendCorpMsg(accessToken, sendReq); |
| | | // if (sendResp.getErrcode() == 0) { |
| | | // System.out.println("æäº¤æ¶æ¯ä»»å¡æåï¼task_id=" + sendResp.getTask_id()); |
| | | // System.out.println("æ¶æ¯å®é
åéç»æï¼éè¦å¨ééåå°é
ç½®åè°æ¥æ¶"); |
| | | // } else { |
| | | // System.err.println("æäº¤æ¶æ¯ä»»å¡å¤±è´¥ï¼code=" + sendResp.getErrcode() + ",msg=" + sendResp.getErrmsg()); |
| | | // } |
| | | // |
| | | // } catch (Exception e) { |
| | | // e.printStackTrace(); |
| | | // } |
| | | // } |
| | | |
| | | /** |
| | | * åéééæ¶æ¯-æ¯å® |
| | | * @param sMessageContent |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public void sendDingTalkText(String sMessageContent, String userId) throws Exception { |
| | | Long agentId = dingAppAgentId; |
| | | String accessToken = getAccessToken(); |
| | | DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2"); |
| | | OapiMessageCorpconversationAsyncsendV2Request request = new OapiMessageCorpconversationAsyncsendV2Request(); |
| | | request.setAgentId(agentId); |
| | | request.setUseridList(userId); |
| | | request.setToAllUser(false); |
| | | |
| | | OapiMessageCorpconversationAsyncsendV2Request.Msg msg = new OapiMessageCorpconversationAsyncsendV2Request.Msg(); |
| | | msg.setMsgtype("text"); |
| | | OapiMessageCorpconversationAsyncsendV2Request.Text text = new OapiMessageCorpconversationAsyncsendV2Request.Text(); |
| | | text.setContent(sMessageContent); |
| | | msg.setText(text); |
| | | request.setMsg(msg); |
| | | |
| | | OapiMessageCorpconversationAsyncsendV2Response rsp = client.execute(request, accessToken); |
| | | System.out.println(rsp.getBody()); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®çµè¯è·åç¨æ· |
| | | * @param mobile |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public String getDingTalkUserByMobile(String mobile) throws Exception { |
| | | String accessToken = getAccessToken(); |
| | | DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/getbymobile"); |
| | | OapiV2UserGetbymobileRequest req = new OapiV2UserGetbymobileRequest(); |
| | | req.setMobile(mobile); |
| | | OapiV2UserGetbymobileResponse rsp = client.execute(req, accessToken); |
| | | return rsp.getBody(); |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | //å°è£
serviceSubtask |
| | | ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedInhospList.get(0), patMedOperationItem, patArchive, config); |
| | | if (ObjectUtils.isEmpty(serviceSubtask)) { |
| | | if (ObjectUtils.isEmpty(serviceSubtask) || Objects.isNull(serviceSubtask.getTaskid())) { |
| | | return; |
| | | } |
| | | if (StringUtils.isNotEmpty(patMedOperationItem.getLeaveldeptcode())) { |
| | |
| | | patMedOperationItem2.setId(patMedOperationItem.getId()); |
| | | patMedOperationItem2.setOpercheckFlag("2"); |
| | | patMedOperationItem2.setLongTaskReason("çæåä»»å¡å¤±è´¥ 4;"); |
| | | patMedOperationItem2.setUpdateTime(new Date()); |
| | | patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem2); |
| | | } |
| | | } catch (Exception e) { |
| | | //åºéåæ»äºå¡ |
| | | |
| | | log.info("çæå任塿¥éåæ»sserviceSubtaskçtaskid为ï¼{},patid为ï¼{}", serviceSubtask.getTaskid(), serviceSubtask.getPatid()); |
| | | log.error("çæå任塿¥éåæ»sserviceSubtaskçtaskid为ï¼{},patid为ï¼{},ææ¯è¯¦æ
ID为ï¼{}", |
| | | serviceSubtask.getTaskid(), serviceSubtask.getPatid(), patMedOperationItem.getId(), e); |
| | | PatMedOperationItem patMedOperationItem2 = new PatMedOperationItem(); |
| | | patMedOperationItem2.setId(patMedOperationItem.getId()); |
| | | patMedOperationItem2.setOpercheckFlag("2"); |
| | | patMedOperationItem2.setUpdateTime(new Date()); |
| | | patMedOperationItem2.setLongTaskReason("çæå任塿¥éåæ» 4;"); |
| | | patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem2); |
| | | e.printStackTrace(); |
| | |
| | | private Integer addServiceSubtaskPreachform(ServiceSubtask serviceSubtask, String sendstate) { |
| | | //å°preachformDescçjsonå¯¹è±¡ï¼æ¾å°listéåä¸ |
| | | ServiceTask serviceTask = serviceTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid()); |
| | | if (Objects.isNull(serviceTask)) { |
| | | log.error("addServiceSubtaskPreachform taskid={} æ¥ä¸å°ä»»å¡ï¼è·³è¿preachformå表çæ", serviceSubtask.getTaskid()); |
| | | return 0; |
| | | } |
| | | String preachformDesc = serviceTask.getPreachformDesc(); |
| | | |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | |
| | | }); |
| | | } catch (JsonProcessingException e) { |
| | | log.error("preachform转List<ServiceSubtaskPreachform>æ¥éäºï¼{}", e.getMessage()); |
| | | } |
| | | if (CollectionUtils.isEmpty(serviceSubtaskPreachformList)) { |
| | | log.error("preachformDescè§£æå为空ï¼è·³è¿preachformå表çæï¼taskid为ï¼{}ï¼preachformDesc为ï¼{}", |
| | | serviceSubtask.getTaskid(), preachformDesc); |
| | | return 0; |
| | | } |
| | | for (ServiceSubtaskPreachform serviceSubtaskPreachform : serviceSubtaskPreachformList) { |
| | | serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid()); |
| | |
| | | // patMedInhosp1.setRemark(patMedInhosp1.getRemark() + "& 该æ£è
ææ¯åºé¢æ¶é´ä¸ºç©º,åºé¢è®°å½ID为:" + patMedInhosp1.getInhospid()); |
| | | // patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); |
| | | //妿åºé¢æ¶é´ä¸ºç©ºï¼åè¿åä¸ä¸ªæ°å¯¹è±¡ |
| | | return new ServiceSubtask(); |
| | | return null; |
| | | } |
| | | serviceSubtask.setLongSendTime(newDate); |
| | | serviceSubtask.setVisitTime(newDate); |
| | |
| | | PatMedOperationItem patMedOperationItem = patMedOperationItemMapper.selectPatMedOperationItemById(opItem.getId()); |
| | | patMedOperationItem.setOpercheckFlag("2"); |
| | | patMedOperationItem.setLongTaskReason("ææ£çææ¯æªé
ç½®é¿æä»»å¡;"); |
| | | patMedOperationItem.setUpdateTime(new Date()); |
| | | patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem); |
| | | } else { |
| | | for (ServiceTaskoper serviceTaskoper : serviceTaskopers) { |
| | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | log.error("äººåææ¯å¤çåºå¼å¸¸äºï¼{}", e.getMessage()); |
| | | opItem.setUpdateTime(new Date()); |
| | | opItem.setOpercheckFlag("2"); |
| | | opItem.setLongTaskReason("äººåææ¯å¤çå¼å¸¸"); |
| | | patMedOperationItemMapper.updatePatMedOperationItem(opItem); |
| | |
| | | import java.time.ZoneId; |
| | | import java.time.temporal.ChronoUnit; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * æ£è
é¨è¯è®°å½Serviceä¸å¡å±å¤ç |
| | |
| | | @Override |
| | | public Integer dealPatMedOuthosp(PatMedOuthosp patMedOuthosp, Integer visitTimeNum){ |
| | | Integer num = 0; |
| | | ServiceSubtaskEntity serviceSubtask = new ServiceSubtaskEntity(); |
| | | serviceSubtask.setInhospid(patMedOuthosp.getId()); |
| | | serviceSubtask.setServiceType("3"); |
| | | serviceSubtask.setVisitCount(1); |
| | | List<ServiceSubtask> serviceSubtasks = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtask); |
| | | if(CollectionUtils.isEmpty(serviceSubtasks)){ |
| | | num = followUpByPatMedOuthosp(patMedOuthosp, visitTimeNum); |
| | | |
| | | //æ¯å® åå¨ç¸åè¯æçé¨è¯è®°å½åæ°å¢å次é访,å¦åæ°å¢é访 |
| | | if(ObjectUtils.isNotEmpty(patMedOuthosp.getOrgid()) && |
| | | patMedOuthosp.getOrgid().equals("47255004333112711A1001")){ |
| | | PatMedOuthosp patMedOuthospVo = new PatMedOuthosp(); |
| | | List<PatMedOuthosp> patMedOuthosps = new ArrayList<>(); |
| | | patMedOuthospVo.setOrgid(patMedOuthosp.getOrgid()); |
| | | patMedOuthospVo.setPatid(patMedOuthosp.getPatid()); |
| | | patMedOuthospVo.setIcd10code(patMedOuthosp.getIcd10code()); |
| | | // åä¸ä¸ªæ£è
+ åä¸ä¸ªè¯æï¼åå²ä¸å·²ç»æé¨è¯é访记å½ï¼æé¤æ¬æ¬¡å°±è¯ï¼æ¬æ¬¡å¨è°ç¨åå·²è½åºï¼ |
| | | patMedOuthosps = selectPatMedOuthospList(patMedOuthospVo); |
| | | Long currentId = patMedOuthosp.getId(); |
| | | List<Long> ids = patMedOuthosps.stream().map(PatMedOuthosp::getId).filter(ObjectUtils::isNotEmpty) |
| | | .filter(id -> !id.equals(currentId)) |
| | | .distinct() |
| | | .collect(Collectors.toList()); |
| | | ServiceSubtaskEntity serviceSubtask = new ServiceSubtaskEntity(); |
| | | //æ¯å® åªè¦åå¨ç¸åè¯æãæ£è
çé¨è¯è®°å½åå½å次é访å¤ç |
| | | serviceSubtask.setInhospids(ids); |
| | | serviceSubtask.setServiceType("3"); |
| | | List<ServiceSubtask> serviceSubtasks = CollectionUtils.isEmpty(ids) |
| | | ? new ArrayList<>() |
| | | : serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtask); |
| | | if(CollectionUtils.isEmpty(serviceSubtasks)){ |
| | | num = followUpByPatMedOuthosp(patMedOuthosp, visitTimeNum); |
| | | }else { |
| | | num = followUpAgainByPatMedOuthosp(patMedOuthosp, visitTimeNum, ids); |
| | | } |
| | | }else { |
| | | num = followUpAgainByPatMedOuthosp(patMedOuthosp, visitTimeNum); |
| | | ServiceSubtaskEntity serviceSubtask = new ServiceSubtaskEntity(); |
| | | serviceSubtask.setInhospid(patMedOuthosp.getId()); |
| | | serviceSubtask.setServiceType("3"); |
| | | serviceSubtask.setVisitCount(1); |
| | | List<ServiceSubtask> serviceSubtasks = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtask); |
| | | if(CollectionUtils.isEmpty(serviceSubtasks)){ |
| | | num = followUpByPatMedOuthosp(patMedOuthosp, visitTimeNum); |
| | | }else { |
| | | num = followUpAgainByPatMedOuthosp(patMedOuthosp, visitTimeNum, null); |
| | | } |
| | | } |
| | | return num; |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Integer followUpAgainByPatMedOuthosp(PatMedOuthosp patMedOuthosp, Integer visitTimeNum) { |
| | | public Integer followUpAgainByPatMedOuthosp(PatMedOuthosp patMedOuthosp, Integer visitTimeNum, List<Long> inhospids) { |
| | | Date adminDate = patMedOuthosp.getAdmitdate(); |
| | | Date newDate = addDays(adminDate, visitTimeNum); |
| | | |
| | |
| | | serviceSubtaskEntity0.setOrgid(patMedOuthosp.getOrgid()); |
| | | serviceSubtaskEntity0.setSendstates(new ArrayList<>(Arrays.asList(1L, 2L, 3L, 7L))); |
| | | serviceSubtaskEntity0.setPatid(patid); |
| | | serviceSubtaskEntity0.setDeptcode(deptcode); |
| | | //æ¯å®æ ¹æ®è¯æå次é访 |
| | | if(ObjectUtils.isNotEmpty(patMedOuthosp.getOrgid()) && |
| | | patMedOuthosp.getOrgid().equals("47255004333112711A1001") && !CollectionUtils.isEmpty(inhospids)){ |
| | | serviceSubtaskEntity0.setInhospids(inhospids); |
| | | }else { |
| | | serviceSubtaskEntity0.setDeptcode(deptcode); |
| | | } |
| | | |
| | | serviceSubtaskEntity0.setSort(0); |
| | | List<ServiceSubtask> serviceSubtaskList0 = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskEntity0); |
| | | if (!CollectionUtils.isEmpty(serviceSubtaskList0)) { |
| | | ServiceSubtask serviceSubtask0 = serviceSubtaskList0.get(0); |
| | | serviceSubtask0.setSendstate(6L); |
| | | serviceSubtask0.setUpdateTime(new Date()); |
| | | serviceSubtask0.setFinishtime(adminDate); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask0); |
| | | for (ServiceSubtask serviceSubtask0 : serviceSubtaskList0) { |
| | | serviceSubtask0.setSendstate(6L); |
| | | serviceSubtask0.setUpdateTime(new Date()); |
| | | serviceSubtask0.setFinishtime(adminDate); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask0); |
| | | |
| | | ServiceSubtask serviceSubtask1 = DtoConversionUtils.sourceToTarget(serviceSubtask0, ServiceSubtask.class); |
| | | serviceSubtask1.setId(null); |
| | | serviceSubtask1.setSendstate(2L); |
| | | serviceSubtask1.setUpid(serviceSubtask0.getId().intValue()); |
| | | serviceSubtask1.setVisitCount(serviceSubtask0.getVisitCount() + 1); |
| | | serviceSubtask1.setVisitType(serviceSubtask0.getVisitType()); |
| | | serviceSubtask1.setVisitDeptCode(serviceSubtask0.getVisitDeptCode()); |
| | | serviceSubtask1.setVisitDeptName(serviceSubtask0.getVisitDeptName()); |
| | | serviceSubtask1.setCreateTime(new Date()); |
| | | serviceSubtask1.setUpdateTime(new Date()); |
| | | serviceSubtask1.setFinishtime(null); |
| | | serviceSubtask1.setAdmindate(adminDate); |
| | | ServiceSubtask serviceSubtask1 = DtoConversionUtils.sourceToTarget(serviceSubtask0, ServiceSubtask.class); |
| | | serviceSubtask1.setId(null); |
| | | serviceSubtask1.setSendstate(2L); |
| | | serviceSubtask1.setUpid(serviceSubtask0.getId().intValue()); |
| | | //èæ°æ®çvisit_countå¯è½ä¸ºç©ºï¼é»è®¤æç¬¬1æ¬¡ç® |
| | | Integer visitCount = ObjectUtils.isEmpty(serviceSubtask0.getVisitCount()) ? 1 : serviceSubtask0.getVisitCount(); |
| | | serviceSubtask1.setVisitCount(visitCount + 1); |
| | | serviceSubtask1.setVisitType(serviceSubtask0.getVisitType()); |
| | | serviceSubtask1.setVisitDeptCode(serviceSubtask0.getVisitDeptCode()); |
| | | serviceSubtask1.setVisitDeptName(serviceSubtask0.getVisitDeptName()); |
| | | //æ°ä»»å¡ç§å®¤æ¯å½ååºé¢ç§å®¤ |
| | | serviceSubtask1.setDeptcode(patMedOuthosp.getDeptcode()); |
| | | serviceSubtask1.setCreateTime(new Date()); |
| | | serviceSubtask1.setUpdateTime(new Date()); |
| | | serviceSubtask1.setFinishtime(null); |
| | | serviceSubtask1.setAdmindate(adminDate); |
| | | |
| | | serviceSubtask1.setVisitTime(newDate); |
| | | serviceSubtask1.setLongSendTime(newDate); |
| | | i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask1); |
| | | serviceSubtask1.setVisitTime(newDate); |
| | | serviceSubtask1.setLongSendTime(newDate); |
| | | i = i + serviceSubtaskMapper.insertServiceSubtask(serviceSubtask1); |
| | | } |
| | | } else { |
| | | //æ¥ç已宿çä»»å¡ |
| | | // ServiceSubtaskEntity serviceSubtaskEntity = new ServiceSubtaskEntity(); |
| | |
| | | } |
| | | } |
| | | |
| | | String orgid = selectServiceSubtaskList.get(0).getOrgid(); |
| | | //æ¯å®-é访å¼å¸¸æç¤º å
¶ä»-å¼å¸¸æ»¡æåº¦æç¤º |
| | | boolean addTrace = false; |
| | | if(StringUtils.isNotEmpty(orgid) && orgid.equals("47255004333112711A1001")){ |
| | | if (stt != null) { |
| | | addTrace = Long.valueOf(1L).equals(stt.getIsabnormal()); |
| | | } |
| | | }else { |
| | | addTrace = StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getIsMydException()); |
| | | } |
| | | //夿ä¸ä¸å½åçé®é¢æ¯ä¸æ¯æ»¡æåº¦é®é¢ï¼å¹¶ä¸ dutyDeptCode æ¯å¦æå¼ï¼å¹¶ä¸é项æ¯ä¸æ¯å¼å¸¸é项ï¼å¦æå
¨ç¬¦åï¼å徿»¡æåº¦é®é¢å¼å¸¸è¡¨æ°å¢ |
| | | if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getDutyDeptCode()) && stt != null && Long.valueOf(1L).equals(stt.getIsabnormal()) || StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getDutyDeptCode()) && StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getIsMydException())) { |
| | | if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getDutyDeptCode()) && stt != null && Long.valueOf(1L).equals(stt.getIsabnormal()) || StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getDutyDeptCode()) |
| | | && addTrace) { |
| | | isabnormalFlag = 1L; |
| | | ServiceSubtaskDetailTrace subtaskDetailTrace = new ServiceSubtaskDetailTrace(); |
| | | subtaskDetailTrace.setDetailId(serviceSubtaskDetail.getId()); |
| | |
| | | //è·åææé项 |
| | | subtaskDetailTrace.setTargetid(stt != null ? stt.getId() : null); |
| | | subtaskDetailTrace.setTargetvalue(serviceSubtaskDetailVO.getTargetvalue()); |
| | | subtaskDetailTrace.setMatchedtext(stt != null ? stt.getOptioncontent() : svyTaskTemplateScriptVO.getIsMydException()); |
| | | subtaskDetailTrace.setGuid(svyTaskTemplateScriptVO.getGuid()); |
| | | subtaskDetailTrace.setValueType(serviceSubtaskDetail.getValueType()); |
| | | subtaskDetailTrace.setIsMydException(svyTaskTemplateScriptVO.getIsMydException()); |
| | | subtaskDetailTrace.setTemplateType(2); |
| | | |
| | | SvyLibScriptCategory svyLibScriptCategory = svyLibScriptCategoryMapper.selectSvyLibScriptCategoryById(svyTaskTemplateScriptVO.getCategoryid()); |
| | | subtaskDetailTrace.setType(svyLibScriptCategory != null ? svyLibScriptCategory.getType() : null); |
| | | |
| | | subtaskDetailTrace.setScriptid(svyTaskTemplateScriptVO.getId()); |
| | | //éæ»¡æåº¦æè§å¼å¸¸èªå¨å¡«å
¥ç©º |
| | | subtaskDetailTrace.setMatchedtext(stt != null ? stt.getOptioncontent() : svyTaskTemplateScriptVO.getIsMydException()); |
| | | subtaskDetailTrace.setAsrtext(stt != null ? stt.getOptioncontent() : svyTaskTemplateScriptVO.getIsMydException()); |
| | | subtaskDetailTrace.setIsMydException(svyTaskTemplateScriptVO.getIsMydException()); |
| | | |
| | | subtaskDetailTrace.setRecordpath(null); |
| | | subtaskDetailTrace.setPatid(selectServiceSubtaskList.get(0).getPatid()); |
| | | JSONObject patdescJson1 = new JSONObject(); |
| | |
| | | stt = ivrTaskTemplateTargetoption; |
| | | } |
| | | |
| | | |
| | | String orgid = selectServiceSubtaskList.get(0).getOrgid(); |
| | | //æ¯å®-é访å¼å¸¸æç¤º å
¶ä»-å¼å¸¸æ»¡æåº¦æç¤º |
| | | boolean addTrace = false; |
| | | if(StringUtils.isNotEmpty(orgid) && orgid.equals("47255004333112711A1001")){ |
| | | if (stt != null) { |
| | | addTrace = Long.valueOf(1L).equals(stt.getIsabnormal()); |
| | | } |
| | | }else { |
| | | addTrace = StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getIsMydException()); |
| | | } |
| | | //夿ä¸ä¸å½åçé®é¢æ¯ä¸æ¯æ»¡æåº¦é®é¢ï¼å¹¶ä¸dutyDeptCodeæ¯å¦æå¼ï¼å¹¶ä¸é项æ¯ä¸æ¯å¼å¸¸é项ï¼å¦æå
¨ç¬¦åï¼å徿»¡æåº¦é®é¢å¼å¸¸è¡¨æ°å¢ |
| | | if (StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getDutyDeptCode()) && 1 == stt.getIsabnormal() || StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getDutyDeptCode()) && StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getIsMydException())) { |
| | | if (StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getDutyDeptCode()) && 1 == stt.getIsabnormal() || StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getDutyDeptCode()) |
| | | && addTrace) { |
| | | isabnormalFlag = "1"; |
| | | ServiceSubtaskDetailTrace subtaskDetailTrace = new ServiceSubtaskDetailTrace(); |
| | | subtaskDetailTrace.setDetailId(serviceSubtaskDetail.getId()); |
| | |
| | | import com.smartor.common.MtSubmitSmUtil; |
| | | import com.smartor.common.ScheduleSubtaskBuilder; |
| | | import com.smartor.config.PhoneUtils; |
| | | import com.smartor.domain.DTO.QuestionCountKsOrBqDTO; |
| | | import com.smartor.domain.DTO.QuestionResultDTO; |
| | | import com.smartor.domain.DTO.ServiceSubtaskDetailDTO; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.domain.VO.HeLibraryCountVO; |
| | | import com.smartor.domain.VO.QuestionResultVO; |
| | | import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO; |
| | | import com.smartor.domain.VO.TransferDeptVO; |
| | | import com.smartor.domain.VO.*; |
| | | import com.smartor.domain.entity.ServiceSubtaskEntity; |
| | | import com.smartor.mapper.*; |
| | | import com.smartor.service.*; |
| | |
| | | //妿ä¸åå¨ï¼åæ°å¢ |
| | | ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid()); |
| | | if (ObjectUtils.isNotEmpty(serviceTask)) { |
| | | serviceSubtask.setDeptcode(serviceTask.getDeptcode()); |
| | | serviceSubtask.setTaskDesc(serviceTask.getTaskDesc()); |
| | | serviceSubtask.setTaskName(serviceTask.getTaskName()); |
| | | serviceSubtask.setDeptname(serviceTask.getDeptname()); |
| | | serviceSubtask.setTemplatename(serviceTask.getTemplatename()); |
| | | } |
| | | |
| | |
| | | collect = rawData.stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDrcode()).orElse("Unknown"))); |
| | | break; |
| | | case "management_doctor_code": |
| | | rawData = rawData.stream() |
| | | .peek(item -> { |
| | | item.setDrname(item.getManagementDoctor()); |
| | | item.setDrcode(item.getManagementDoctorCode()); |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | rawData = rawData.stream().peek(item -> { |
| | | item.setDrname(item.getManagementDoctor()); |
| | | item.setDrcode(item.getManagementDoctorCode()); |
| | | }).collect(Collectors.toList()); |
| | | collect = rawData.stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getManagementDoctorCode()).orElse("Unknown"))); |
| | | break; |
| | | case "deptcode": |
| | |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | //转æ16è¿å¶ |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | String url = ""; |
| | | SendMagParam sendMagParam = new SendMagParam(); |
| | | url = localIP + ":" + req_path + "/sf?p=" + format; |
| | | sendMagParam.setUrl(url); |
| | | sendMagParam.setContent("ãæ°åå»é¢ãæ¨å¥½ï¼é请æ¨å¡«ååºé¢éè®¿è°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "å¡«åãæè°¢æ¨é
åï¼"); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | serviceOutPath.setUrl(url); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | SendMagParam sendMagParam = new SendMagParam(); |
| | | sendMagParam.setUrl(localIP + ":" + req_path + "/sf?p=" + format); |
| | | sendMagParam.setContent("ãæ°åå»é¢ãæ¨å¥½ï¼é请æ¨å¡«ååºé¢éè®¿è°æ¥è¡¨ï¼è¯·ç¹å»" + sendMagParam.getUrl() + "å¡«åãæè°¢æ¨é
åï¼"); |
| | | Map<String, String> map = new HashMap<>(); |
| | | map.put("phone", serviceSubtask.getPhone()); |
| | | map.put("content", sendMagParam.getContent()); |
| | |
| | | serviceOutPath.setOrgid(serviceSubtask.getOrgid()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | |
| | | String url = ""; |
| | | SendMagParam sendMagParam = new SendMagParam(); |
| | | sendMagParam.setType("4"); |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setUrl(StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/wt?p=" + format : localIP + "/wt?p=" + format); |
| | | url = StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/wt?p=" + format : localIP + "/wt?p=" + format; |
| | | sendMagParam.setUrl(url); |
| | | |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | serviceOutPath.setUrl(url); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | SysConfig sysConfig = new SysConfig(); |
| | | |
| | | sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template"); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds, Date startOutHospTime, Date endOutHospTime, String scriptContent, Double scoreStart, Double scoreEnd,String valueType) { |
| | | public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds, Date startOutHospTime, Date endOutHospTime, String scriptContent, Double scoreStart, Double scoreEnd, String valueType) { |
| | | //å
æ¸
çä¸ä¸é夿°æ® |
| | | List<Long> repeatIds = serviceSubtaskDetailMapper.selectRepeatDetailIds(); |
| | | if (!CollectionUtils.isEmpty(repeatIds)) { |
| | |
| | | // 妿æå¤æ¡ç®æ å¼ï¼æåæå¤è¡ |
| | | for (String value : values) { |
| | | //å
å» result 䏿¥ä¸ä¸ï¼ææ²¡æè¿ä¸ª questiontext å对åºç targetvalue |
| | | ServiceSubtaskDetailRatioExport existingExport = result.stream() |
| | | .filter(e -> e.getQuestiontext().equals(export.getQuestiontext()) |
| | | && value.trim().equals(e.getTargetvalue())) |
| | | .findFirst() |
| | | .orElse(null); |
| | | ServiceSubtaskDetailRatioExport existingExport = result.stream().filter(e -> e.getQuestiontext().equals(export.getQuestiontext()) && value.trim().equals(e.getTargetvalue())).findFirst().orElse(null); |
| | | if (existingExport != null && existingExport.getRatio().equals("0") && existingExport.getCount().equals("0")) { |
| | | //妿åå¨ï¼åå° result éçè¿ä¸ªé®é¢æå¯¹åºç Targetvalue=value è¿æ¡æ°æ®æ´æ°æå½åè¿æ¡æ°æ® |
| | | if(value.equals(export.getOptionresult())) { |
| | | if (value.equals(export.getOptionresult())) { |
| | | existingExport.setRatio(export.getRatio()); |
| | | existingExport.setScore(export.getScore()); |
| | | existingExport.setCount(export.getCount()); |
| | |
| | | return result; |
| | | } |
| | | |
| | | /* |
| | | * æ ¹æ®ç§å®¤æç
åºç»è®¡é®å·é项(ç§å®¤ãé¢ç®æ¥è¯¢çç§å®¤è¯å表) |
| | | */ |
| | | @Override |
| | | public List<ServiceSubtaskDetailRatioExport> statQuestionOptionBySubtaskIds(List<Long> subtaskIds, Date startOutHospTime, Date endOutHospTime, String scriptContent, Double scoreStart, Double scoreEnd,String valueType) { |
| | | public List<QuestionCountKsOrBqDTO> statQuestionOptionByKsOrBq(QuestionCountKsOrBqVO questionCountKsOrBqVO) { |
| | | List<QuestionCountKsOrBqDTO> questionCountKsOrBqDTOS = serviceSubtaskMapper.statQuestionOptionByKsOrBq(questionCountKsOrBqVO); |
| | | |
| | | // å¤ç targetvalueï¼æ & å岿夿¡è®°å½ |
| | | List<QuestionCountKsOrBqDTO> result = new ArrayList<>(); |
| | | for (QuestionCountKsOrBqDTO questionCountKsOrBqDTO : questionCountKsOrBqDTOS) { |
| | | if (StringUtils.isNotEmpty(questionCountKsOrBqDTO.getTargetvalue()) && questionCountKsOrBqDTO.getTargetvalue().contains("&")) { |
| | | String[] values = questionCountKsOrBqDTO.getTargetvalue().split("&"); |
| | | // 妿æå¤æ¡ç®æ å¼ï¼æåæå¤è¡ |
| | | for (String value : values) { |
| | | //å
å» result 䏿¥ä¸ä¸ï¼ææ²¡æè¿ä¸ª questiontext å对åºç targetvalue |
| | | QuestionCountKsOrBqDTO existingExport = result.stream().filter(e -> e.getQeustionText().equals(questionCountKsOrBqDTO.getQeustionText()) && value.trim().equals(e.getTargetvalue())).findFirst().orElse(null); |
| | | if (existingExport != null && existingExport.getAnswerCount().equals("0") && existingExport.getSingleScore().equals("0")) { |
| | | //妿åå¨ï¼åå° result éçè¿ä¸ªé®é¢æå¯¹åºç Targetvalue=value è¿æ¡æ°æ®æ´æ°æå½åè¿æ¡æ°æ® |
| | | if (value.equals(questionCountKsOrBqDTO.getAsrtext())) { |
| | | existingExport.setAsrtext(questionCountKsOrBqDTO.getAsrtext()); |
| | | existingExport.setAnswerCount(questionCountKsOrBqDTO.getAnswerCount()); |
| | | existingExport.setSingleScore(questionCountKsOrBqDTO.getSingleScore()); |
| | | existingExport.setAvgScore(questionCountKsOrBqDTO.getAvgScore()); |
| | | } |
| | | } else if (existingExport != null && !existingExport.getAnswerCount().equals("0")) { |
| | | continue; |
| | | } else { |
| | | QuestionCountKsOrBqDTO qcDto = DtoConversionUtils.sourceToTarget(questionCountKsOrBqDTO, QuestionCountKsOrBqDTO.class); |
| | | qcDto.setTargetvalue(value.trim()); // targetvalue æ¾ç¤ºå个é项 |
| | | if (!value.equals(qcDto.getAsrtext())) { |
| | | existingExport.setAsrtext(null); |
| | | existingExport.setAnswerCount("0"); |
| | | existingExport.setSingleScore("0"); |
| | | existingExport.setAvgScore("0"); |
| | | } |
| | | result.add(qcDto); |
| | | } |
| | | } |
| | | } else { |
| | | // targetvalue ä¸å
å« &ï¼ç´æ¥æ·»å å°ç»æ |
| | | result.add(questionCountKsOrBqDTO); |
| | | } |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | @Override |
| | | public List<ServiceSubtaskDetailRatioExport> statQuestionOptionBySubtaskIds(List<Long> subtaskIds, Date startOutHospTime, Date endOutHospTime, String scriptContent, Double scoreStart, Double scoreEnd, String valueType) { |
| | | //å
æ¸
çä¸ä¸é夿°æ® |
| | | List<Long> repeatIds = serviceSubtaskDetailMapper.selectRepeatDetailIds(); |
| | | if (!CollectionUtils.isEmpty(repeatIds)) { |
| | | serviceSubtaskDetailMapper.deleteRepeatDetailByIds(repeatIds); |
| | | } |
| | | |
| | | List<ServiceSubtaskDetailRatioExport> serviceSubtaskDetailRatioExports = serviceSubtaskMapper.statQuestionOptionBySubtaskIds(subtaskIds, startOutHospTime, endOutHospTime, scoreStart, scoreEnd, scriptContent,valueType); |
| | | List<ServiceSubtaskDetailRatioExport> serviceSubtaskDetailRatioExports = serviceSubtaskMapper.statQuestionOptionBySubtaskIds(subtaskIds, startOutHospTime, endOutHospTime, scoreStart, scoreEnd, scriptContent, valueType); |
| | | // å¤ç targetvalueï¼æ & å岿夿¡è®°å½ |
| | | List<ServiceSubtaskDetailRatioExport> result = new ArrayList<>(); |
| | | for (ServiceSubtaskDetailRatioExport export : serviceSubtaskDetailRatioExports) { |
| | |
| | | // 妿æå¤æ¡ç®æ å¼ï¼æåæå¤è¡ |
| | | for (String value : values) { |
| | | //å
å» result 䏿¥ä¸ä¸ï¼ææ²¡æè¿ä¸ª questiontext å对åºç targetvalue |
| | | ServiceSubtaskDetailRatioExport existingExport = result.stream() |
| | | .filter(e -> e.getQuestiontext().equals(export.getQuestiontext()) |
| | | && value.trim().equals(e.getTargetvalue())) |
| | | .findFirst() |
| | | .orElse(null); |
| | | ServiceSubtaskDetailRatioExport existingExport = result.stream().filter(e -> e.getQuestiontext().equals(export.getQuestiontext()) && value.trim().equals(e.getTargetvalue())).findFirst().orElse(null); |
| | | if (existingExport != null && existingExport.getRatio().equals("0") && existingExport.getCount().equals("0")) { |
| | | //妿åå¨ï¼åå° result éçè¿ä¸ªé®é¢æå¯¹åºç Targetvalue=value è¿æ¡æ°æ®æ´æ°æå½åè¿æ¡æ°æ® |
| | | if(value.equals(export.getOptionresult())) { |
| | | if (value.equals(export.getOptionresult())) { |
| | | existingExport.setRatio(export.getRatio()); |
| | | existingExport.setScore(export.getScore()); |
| | | existingExport.setCount(export.getCount()); |
| | |
| | | if (StringUtils.isNotEmpty(questionResultVO.getServiceType()) && questionResultVO.getServiceType().equals("2")) { |
| | | //è·åserviceSubtaskListä¸çæætaskid |
| | | List<Long> taskIds = serviceSubtaskRes.stream().map(ServiceSubtaskRes::getTaskid).filter(ObjectUtils::isNotEmpty).distinct().collect(Collectors.toList()); |
| | | serviceSubtaskDetailRatioExports = statQuestionOption(taskIds, questionResultVO.getStartOutHospTime(), questionResultVO.getEndOutHospTime(), questionResultVO.getQuestionContent(), questionResultVO.getStartScore(), questionResultVO.getEndScore(),questionResultVO.getValueType()); |
| | | serviceSubtaskDetailRatioExports = statQuestionOption(taskIds, questionResultVO.getStartOutHospTime(), questionResultVO.getEndOutHospTime(), questionResultVO.getQuestionContent(), questionResultVO.getStartScore(), questionResultVO.getEndScore(), questionResultVO.getValueType()); |
| | | } else if (StringUtils.isNotEmpty(questionResultVO.getServiceType()) && questionResultVO.getServiceType().equals("6")) { |
| | | //满æåº¦ç»è®¡ ï¼éè¿ subtask ç id å»ç»è®¡ï¼ |
| | | List<Long> subtaskIds = serviceSubtaskRes.stream().map(ServiceSubtaskRes::getId).collect(Collectors.toList()); |
| | | serviceSubtaskDetailRatioExports = statQuestionOptionBySubtaskIds(subtaskIds, questionResultVO.getStartOutHospTime(), questionResultVO.getEndOutHospTime(), questionResultVO.getQuestionContent(), questionResultVO.getStartScore(), questionResultVO.getEndScore(),questionResultVO.getValueType()); |
| | | serviceSubtaskDetailRatioExports = statQuestionOptionBySubtaskIds(subtaskIds, questionResultVO.getStartOutHospTime(), questionResultVO.getEndOutHospTime(), questionResultVO.getQuestionContent(), questionResultVO.getStartScore(), questionResultVO.getEndScore(), questionResultVO.getValueType()); |
| | | } |
| | | return serviceSubtaskDetailRatioExports; |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | //éè¿æ£è
ä¿¡æ¯åä»»å¡ä¿¡æ¯ä¸çtextParam对é®é¢ä¸çåéè¿è¡å¡«å
|
| | | //éè¿æ£è
ä¿¡æ¯åä»»å¡ä¿¡æ¯ä¸ç textParam 对é®é¢ä¸çåéè¿è¡å¡«å
|
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | Map<String, Map<String, String>> ivrTaskMap = null; |
| | | try { |
| | |
| | | } catch (JsonProcessingException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | List<Map<String, String>> mapList = new ArrayList<>(); |
| | | |
| | | // ä¼å 1: é¢å
åå¹¶æææ¿æ¢è§å为ä¸ä¸ª Mapï¼é¿å
夿¬¡éå |
| | | Map<String, String> replaceMap = new HashMap<>(); |
| | | if (ivrTaskMap != null) { |
| | | for (Map<String, String> map : ivrTaskMap.values()) { |
| | | mapList.add(map); |
| | | replaceMap.putAll(map); |
| | | } |
| | | } |
| | | |
| | | //å°æ¨¡æ¿é®é¢è¯æ¯éçéé
ç¬¦æ¿æ¢ |
| | | for (SvyTaskTemplateScriptVO svyTaskTemplateScriptVO : svyTaskTemplateScriptVOS) { |
| | | if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptContent())) { |
| | | for (Map<String, String> map : mapList) { |
| | | for (String key : map.keySet()) { |
| | | svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : "")); |
| | | } |
| | | // ä¼å 2: ä½¿ç¨æ£å PatternMatcher æ¹éæ¿æ¢ï¼æåæ§è½ |
| | | String scriptContent = svyTaskTemplateScriptVO.getScriptContent(); |
| | | |
| | | // æ¹éæ¿æ¢ IVR ä»»å¡åæ° |
| | | for (Map.Entry<String, String> entry : replaceMap.entrySet()) { |
| | | String value = StringUtils.isNotEmpty(entry.getValue()) ? entry.getValue() : ""; |
| | | scriptContent = scriptContent.replace(entry.getKey(), value); |
| | | } |
| | | |
| | | //æ¿æ¢æ£è
ä¸ªäººä¿¡æ¯æ°æ® |
| | | log.info("é®é¢idï¼{}, é®é¢å
容ï¼{}", svyTaskTemplateScriptVO.getId(), svyTaskTemplateScriptVO.getScriptContent()); |
| | | if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptContent()) && ObjectUtils.isNotEmpty(patArchive)) { |
| | | svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : "")); |
| | | svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : "")); |
| | | svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : "")); |
| | | log.info("é®é¢ idï¼{}, é®é¢å
容ï¼{}", svyTaskTemplateScriptVO.getId(), scriptContent); |
| | | if (ObjectUtils.isNotEmpty(patArchive)) { |
| | | // ä¼å 3: åå°ä¸å¿
è¦çéç©ºå¤æï¼patArchive å·²ç»å¤è¿ï¼ |
| | | scriptContent = scriptContent.replace("${name}", StringUtils.defaultString(patArchive.getName())); |
| | | scriptContent = scriptContent.replace("${dzz}", StringUtils.defaultString(patArchive.getPlaceOfResidence())); |
| | | scriptContent = scriptContent.replace("${dhh}", StringUtils.defaultString(patArchive.getTelcode())); |
| | | } |
| | | svyTaskTemplateScriptVO.setScriptContent(scriptContent); |
| | | //è·åé®é¢é项 |
| | | SvyTaskTemplateTargetoption svyTaskTemplateTargetoption = new SvyTaskTemplateTargetoption(); |
| | | svyTaskTemplateTargetoption.setScriptid(svyTaskTemplateScriptVO.getId()); |
| | |
| | | <result property="scriptTopic" column="script_topic"/> |
| | | <result property="nextScriptno" column="next_scriptno"/> |
| | | <result property="otherdata" column="otherdata"/> |
| | | <result property="isMust" column="is_must"/> |
| | | <result property="ismandatory" column="ismandatory"/> |
| | | <result property="scriptDesc" column="script_desc"/> |
| | | <result property="scriptType" column="script_type"/> |
| | | <result property="branchFlag" column="branch_flag"/> |
| | |
| | | next_scriptno, |
| | | otherdata, |
| | | score, |
| | | is_must, |
| | | ismandatory, |
| | | playWavOnly, |
| | | del_flag, |
| | | update_by, |
| | |
| | | <if test="guid != null and guid != ''">and guid = #{guid}</if> |
| | | <if test="targetid != null ">and targetid = #{targetid}</if> |
| | | <if test="targetvalue != null and targetvalue != ''">and targetvalue = #{targetvalue}</if> |
| | | <if test="isMust != null and isMust != ''">and is_must = #{isMust}</if> |
| | | <if test="ismandatory != null and ismandatory != ''">and ismandatory = #{ismandatory}</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> |
| | |
| | | <if test="scriptTopic != null">script_topic,</if> |
| | | <if test="nextScriptno != null">next_scriptno,</if> |
| | | <if test="otherdata != null">otherdata,</if> |
| | | <if test="isMust != null and isMust != ''">is_must,</if> |
| | | <if test="ismandatory != null and ismandatory != ''">ismandatory,</if> |
| | | <if test="scriptDesc != null ">script_desc,</if> |
| | | <if test="scriptType != null ">script_type,</if> |
| | | <if test="branchFlag != null and branchFlag != ''">branch_flag,</if> |
| | |
| | | <if test="scriptTopic != null">#{scriptTopic},</if> |
| | | <if test="nextScriptno != null">#{nextScriptno},</if> |
| | | <if test="otherdata != null">#{otherdata},</if> |
| | | <if test="isMust != null and isMust != ''">#{isMust},</if> |
| | | <if test="ismandatory != null and ismandatory != ''">#{ismandatory},</if> |
| | | <if test="scriptDesc != null ">#{scriptDesc},</if> |
| | | <if test="scriptType != null ">#{scriptType},</if> |
| | | <if test="branchFlag != null and branchFlag != ''">#{branchFlag},</if> |
| | |
| | | <if test="scriptTopic != null">script_topic = #{scriptTopic},</if> |
| | | <if test="nextScriptno != null">next_scriptno = #{nextScriptno},</if> |
| | | <if test="otherdata != null">otherdata = #{otherdata},</if> |
| | | <if test="isMust != null and isMust != ''">is_must = #{isMust},</if> |
| | | <if test="ismandatory != null and ismandatory != ''">ismandatory = #{ismandatory},</if> |
| | | <if test="scriptDesc != null ">script_desc = #{scriptDesc},</if> |
| | | <if test="scriptType != null ">script_type = #{scriptType},</if> |
| | | <if test="isMydException != null and isMydException != ''">is_myd_exception = #{isMydException},</if> |
| | |
| | | <result property="targetid" column="targetid"/> |
| | | <result property="targetvalue" column="targetvalue"/> |
| | | <result property="otherdata" column="otherdata"/> |
| | | <result property="isMust" column="is_must"/> |
| | | <result property="ismandatory" column="ismandatory"/> |
| | | <result property="questionResult" column="question_result"/> |
| | | <result property="branchFlag" column="branch_flag"/> |
| | | <result property="branchNextscriptno" column="branch_nextscriptno"/> |
| | |
| | | noClearlyText, |
| | | noClearlyVoice, |
| | | script_assortname, |
| | | targetOptions, language, playWavOnly, value_type, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, orgid, pid, guid, targettype, targetid, targetvalue, otherdata, is_must, question_result |
| | | targetOptions, language, playWavOnly, value_type, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, orgid, pid, guid, targettype, targetid, targetvalue, otherdata, ismandatory, question_result |
| | | from ivr_task_template_script |
| | | </sql> |
| | | |
| | |
| | | <if test="targetid != null ">and targetid = #{targetid}</if> |
| | | <if test="targetvalue != null and targetvalue != ''">and targetvalue = #{targetvalue}</if> |
| | | <if test="otherdata != null and otherdata != ''">and otherdata = #{otherdata}</if> |
| | | <if test="isMust != null and isMust != ''">and is_must = #{isMust}</if> |
| | | <if test="ismandatory != null and ismandatory != ''">and ismandatory = #{ismandatory}</if> |
| | | <if test="questionResult != null and questionResult != ''">and question_result = #{questionResult}</if> |
| | | <if test="branchFlag != null and branchFlag != ''">and branch_flag = #{branchFlag}</if> |
| | | <if test="scriptType != null and scriptType != ''">and script_type = #{scriptType}</if> |
| | |
| | | <if test="targetid != null">targetid,</if> |
| | | <if test="targetvalue != null">targetvalue,</if> |
| | | <if test="otherdata != null">otherdata,</if> |
| | | <if test="isMust != null">is_must,</if> |
| | | <if test="ismandatory != null">ismandatory,</if> |
| | | <if test="questionResult != null">question_result,</if> |
| | | <if test="branchFlag != null and branchFlag != ''">branch_flag,</if> |
| | | <if test="branchNextscriptno != null and branchNextscriptno != ''">branch_nextscriptno,</if> |
| | |
| | | <if test="targetid != null">#{targetid},</if> |
| | | <if test="targetvalue != null">#{targetvalue},</if> |
| | | <if test="otherdata != null">#{otherdata},</if> |
| | | <if test="isMust != null">#{isMust},</if> |
| | | <if test="ismandatory != null">#{ismandatory},</if> |
| | | <if test="questionResult != null">#{questionResult},</if> |
| | | <if test="branchFlag != null and branchFlag != ''">#{branchFlag},</if> |
| | | <if test="branchNextscriptno != null and branchNextscriptno != ''">#{branchNextscriptno},</if> |
| | |
| | | <if test="targetid != null">targetid = #{targetid},</if> |
| | | <if test="targetvalue != null">targetvalue = #{targetvalue},</if> |
| | | <if test="otherdata != null">otherdata = #{otherdata},</if> |
| | | <if test="isMust != null">is_must = #{isMust},</if> |
| | | <if test="ismandatory != null">ismandatory = #{ismandatory},</if> |
| | | <if test="questionResult != null">question_result = #{questionResult},</if> |
| | | <if test="branchFlag != null and branchFlag != ''">branch_flag = #{branchFlag},</if> |
| | | <if test="branchNextscriptno != null and branchNextscriptno != ''">branch_nextscriptno = |
| | |
| | | create_time, |
| | | isupload, |
| | | upload_time, |
| | | orgid, |
| | | pid, |
| | | guid, |
| | | text_param, |
| | |
| | | leaveicd10code, |
| | | orgid, |
| | | visit_type, |
| | | management_doctor, |
| | | management_doctor_code, |
| | | continue_flag, |
| | | continue_time_now, |
| | | continue_content, |
| | |
| | | AND operation_item_id IN |
| | | <foreach collection="operationItemIds" item="operationItemIdItem" open="(" separator="," close=")"> |
| | | #{operationItemIdItem} |
| | | </foreach> |
| | | </if> |
| | | <if test="inhospids != null and inhospids.size() > 0"> |
| | | AND inhospid IN |
| | | <foreach collection="inhospids" item="inhospidItem" open="(" separator="," close=")"> |
| | | #{inhospidItem} |
| | | </foreach> |
| | | </if> |
| | | <if test="templateid != null and templateid != ''">and templateid = #{templateid}</if> |
| | |
| | | <if test="groupKey != null and groupKey != ''"> |
| | | ss.${groupKey} as groupKey, |
| | | </if> |
| | | SUM(CASE WHEN ss.finishtime IS NOT NULL AND DATE(ss.visit_time) <= DATE(ss.finishtime) THEN 1 ELSE 0 END) / COUNT(*) AS finishRate, |
| | | SUM(CASE WHEN ss.finishtime IS NOT NULL AND DATE(ss.visit_time) <= DATE(ss.finishtime) THEN 1 ELSE 0 END) / |
| | | COUNT(*) AS finishRate, |
| | | <if test="rateDay != null"> |
| | | SUM(CASE WHEN ss.finishtime IS NOT NULL |
| | | AND DATEDIFF(ss.finishtime, ss.endtime) <= #{rateDay} + COALESCE(cp.compensate_days, 0) |
| | |
| | | |
| | | <select id="getSfStatisticsHyperlink" parameterType="com.smartor.domain.ServiceSubtaskCountReq" |
| | | resultMap="ServiceSubtaskResult"> |
| | | select id, |
| | | visit_count, |
| | | is_visit_again, |
| | | type, |
| | | orgid, |
| | | drcode, |
| | | drname, |
| | | leavehospitaldistrictcode, |
| | | leavehospitaldistrictname, |
| | | deptcode, |
| | | deptname, |
| | | sendstate, |
| | | preachform, |
| | | current_preachform, |
| | | excep, |
| | | nurse_id, |
| | | nurse_name, |
| | | taskid, |
| | | task_name, |
| | | visit_time, |
| | | finishtime, |
| | | endtime, |
| | | senddate, |
| | | suggest, |
| | | result, |
| | | templateid, |
| | | templatename, |
| | | patid, |
| | | sendname, |
| | | send_type, |
| | | recordid, |
| | | exrecallcount, |
| | | continue_flag, |
| | | continue_time_now, |
| | | continue_content, |
| | | continue_count, |
| | | continue_time_next, |
| | | task_situation, |
| | | remark |
| | | from service_subtask |
| | | where 1=1 |
| | | and del_flag = 0 |
| | | <if test="orgid != null and orgid != ''"> |
| | | and orgid = #{orgid} |
| | | select id, |
| | | visit_count, |
| | | is_visit_again, |
| | | type, |
| | | orgid, |
| | | drcode, |
| | | drname, |
| | | leavehospitaldistrictcode, |
| | | leavehospitaldistrictname, |
| | | deptcode, |
| | | deptname, |
| | | sendstate, |
| | | preachform, |
| | | current_preachform, |
| | | excep, |
| | | nurse_id, |
| | | nurse_name, |
| | | taskid, |
| | | task_name, |
| | | visit_time, |
| | | finishtime, |
| | | endtime, |
| | | senddate, |
| | | suggest, |
| | | result, |
| | | templateid, |
| | | templatename, |
| | | patid, |
| | | sendname, |
| | | send_type, |
| | | recordid, |
| | | exrecallcount, |
| | | continue_flag, |
| | | continue_time_now, |
| | | continue_content, |
| | | continue_count, |
| | | continue_time_next, |
| | | task_situation, |
| | | remark |
| | | from service_subtask |
| | | where 1=1 |
| | | and del_flag = 0 |
| | | <if test="orgid != null and orgid != ''"> |
| | | and orgid = #{orgid} |
| | | </if> |
| | | <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0"> |
| | | AND leavehospitaldistrictcode IN |
| | | <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator="," |
| | | close=")"> |
| | | #{leavehospitaldistrictcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="deptcodes != null and deptcodes.size() > 0"> |
| | | AND deptcode IN |
| | | <foreach collection="deptcodes" item="deptcode" open="(" separator="," |
| | | close=")"> |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="serviceType != null and serviceType.size() > 0"> |
| | | AND service_type IN |
| | | <foreach collection="serviceType" item="serviceType" open="(" separator="," |
| | | close=")"> |
| | | #{serviceType} |
| | | </foreach> |
| | | </if> |
| | | <if test="startTime != null and endTime!=null"> |
| | | AND visit_time >= DATE(#{startTime}) |
| | | AND visit_time < DATE_ADD(DATE(#{endTime}), INTERVAL 1 DAY) |
| | | </if> |
| | | <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if> |
| | | <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if> |
| | | <if test="isabnormal != null">and isabnormal = #{isabnormal}</if> |
| | | <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if> |
| | | <if test="continueTimeNow != null ">and continue_time_now = #{continueTimeNow,jdbcType=TIMESTAMP}</if> |
| | | <if test="continueCount != null ">and continue_count = #{continueCount}</if> |
| | | <if test="continueTimeNext != null ">and continue_time_next = #{continueTimeNext,jdbcType=TIMESTAMP}</if> |
| | | <!-- ç®ååªç»è®¡è¯é³åé®å· --> |
| | | <if test="type != null"> |
| | | and type = #{type} |
| | | </if> |
| | | <if test="visitCount != null and visitCount == 1"> |
| | | AND visit_count = 1 |
| | | </if> |
| | | <if test="visitCount != null and visitCount > 1"> |
| | | AND visit_count > 1 |
| | | </if> |
| | | <if test="groupKey != null and groupKey != '' and groupKeyList != null and groupKeyList.size>0"> |
| | | AND ${groupKey} IN |
| | | <foreach collection="groupKeyList" item="key" open="(" separator="," |
| | | close=")"> |
| | | #{key} |
| | | </foreach> |
| | | </if> |
| | | AND sendstate IS NOT NULL |
| | | <if test="sendstates != null and sendstates.size() > 0"> |
| | | AND sendstate IN |
| | | <foreach collection="sendstates" item="state" open="(" separator="," close=")"> |
| | | #{state} |
| | | </foreach> |
| | | </if> |
| | | <if test="currentPreachform != null"> |
| | | AND current_preachform = #{currentPreachform} |
| | | <if test="followUpCountStyle != null and followUpCountStyle = '1'"> |
| | | AND sendstate != 4 |
| | | </if> |
| | | <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0"> |
| | | AND leavehospitaldistrictcode IN |
| | | <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator="," |
| | | close=")"> |
| | | #{leavehospitaldistrictcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="deptcodes != null and deptcodes.size() > 0"> |
| | | AND deptcode IN |
| | | <foreach collection="deptcodes" item="deptcode" open="(" separator="," |
| | | close=")"> |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="serviceType != null and serviceType.size() > 0"> |
| | | AND service_type IN |
| | | <foreach collection="serviceType" item="serviceType" open="(" separator="," |
| | | close=")"> |
| | | #{serviceType} |
| | | </foreach> |
| | | </if> |
| | | <if test="startTime != null and endTime!=null"> |
| | | AND visit_time >= DATE(#{startTime}) |
| | | AND visit_time < DATE_ADD(DATE(#{endTime}), INTERVAL 1 DAY) |
| | | </if> |
| | | <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if> |
| | | <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if> |
| | | <if test="isabnormal != null">and isabnormal = #{isabnormal}</if> |
| | | <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if> |
| | | <if test="continueTimeNow != null ">and continue_time_now = #{continueTimeNow,jdbcType=TIMESTAMP}</if> |
| | | <if test="continueCount != null ">and continue_count = #{continueCount}</if> |
| | | <if test="continueTimeNext != null ">and continue_time_next = #{continueTimeNext,jdbcType=TIMESTAMP}</if> |
| | | <!-- ç®ååªç»è®¡è¯é³åé®å· --> |
| | | <if test="type != null"> |
| | | and type = #{type} |
| | | </if> |
| | | <if test="visitCount != null and visitCount == 1"> |
| | | AND visit_count = 1 |
| | | </if> |
| | | <if test="visitCount != null and visitCount > 1"> |
| | | AND visit_count > 1 |
| | | </if> |
| | | <if test="groupKey != null and groupKey != '' and groupKeyList != null and groupKeyList.size>0"> |
| | | AND ${groupKey} IN |
| | | <foreach collection="groupKeyList" item="key" open="(" separator="," |
| | | close=")"> |
| | | #{key} |
| | | </foreach> |
| | | </if> |
| | | AND sendstate IS NOT NULL |
| | | <if test="sendstates != null and sendstates.size() > 0"> |
| | | AND sendstate IN |
| | | <foreach collection="sendstates" item="state" open="(" separator="," close=")"> |
| | | #{state} |
| | | </foreach> |
| | | </if> |
| | | <if test="currentPreachform != null"> |
| | | AND current_preachform = #{currentPreachform} |
| | | <if test="followUpCountStyle != null and followUpCountStyle = '1'"> |
| | | AND sendstate != 4 |
| | | </if> |
| | | </if> |
| | | <if test="excep != null and excep != ''"> |
| | | AND excep = #{excep} |
| | | </if> |
| | | <if test="taskSituation != null"> |
| | | AND task_situation = #{taskSituation} |
| | | </if> |
| | | <if test="drcode != null and drcode != ''"> |
| | | AND drcode = #{drcode} |
| | | </if> |
| | | <if test="leavehospitaldistrictcode != null and leavehospitaldistrictcode != ''"> |
| | | AND leavehospitaldistrictcode = #{leavehospitaldistrictcode} |
| | | </if> |
| | | <if test="deptcode != null and deptcode != ''"> |
| | | AND deptcode = #{deptcode} |
| | | </if> |
| | | order by endtime desc |
| | | <if test="pageSize != null and pageNum != null"> |
| | | limit ${pageSize} OFFSET ${pageNum} |
| | | </if> |
| | | </if> |
| | | <if test="excep != null and excep != ''"> |
| | | AND excep = #{excep} |
| | | </if> |
| | | <if test="taskSituation != null"> |
| | | AND task_situation = #{taskSituation} |
| | | </if> |
| | | <if test="drcode != null and drcode != ''"> |
| | | AND drcode = #{drcode} |
| | | </if> |
| | | <if test="leavehospitaldistrictcode != null and leavehospitaldistrictcode != ''"> |
| | | AND leavehospitaldistrictcode = #{leavehospitaldistrictcode} |
| | | </if> |
| | | <if test="deptcode != null and deptcode != ''"> |
| | | AND deptcode = #{deptcode} |
| | | </if> |
| | | order by endtime desc |
| | | <if test="pageSize != null and pageNum != null"> |
| | | limit ${pageSize} OFFSET ${pageNum} |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="getSfStatisticsJoy" parameterType="com.smartor.domain.ServiceSubtaskCountReq" |
| | |
| | | <select id="selectByScheduleIdAndLoop" resultMap="ServiceSubtaskResult"> |
| | | <include refid="selectServiceSubtaskVo"/> |
| | | where schedule_id = #{scheduleId} |
| | | and loop_count = #{loopCount} |
| | | and (del_flag is null or del_flag = '0') |
| | | and loop_count = #{loopCount} |
| | | and (del_flag is null or del_flag = '0') |
| | | order by schedule_seq asc, id asc |
| | | </select> |
| | | |
| | |
| | | t.task_name AS taskName, |
| | | d.asrtext AS optionresult, |
| | | d.score AS score, |
| | | s.deptcode AS deptcode, |
| | | s.deptname AS deptname, |
| | | s.leavehospitaldistrictcode AS leavehospitaldistrictcode, |
| | | s.leavehospitaldistrictname AS leavehospitaldistrictname, |
| | | d.targetvalue AS targetvalue, |
| | | d.value_type AS valueType, |
| | | COUNT(*) AS count, |
| | |
| | | INNER JOIN service_subtask_detail d ON d.sub_id = s.id |
| | | INNER JOIN ( |
| | | SELECT |
| | | d.questiontext, |
| | | COUNT(*) AS total_count |
| | | d.questiontext, |
| | | COUNT(*) AS total_count |
| | | FROM |
| | | service_task t |
| | | INNER JOIN service_subtask s ON s.taskid = t.taskid |
| | | INNER JOIN service_subtask_detail d ON d.sub_id = s.id |
| | | WHERE 1=1 |
| | | <if test="subtaskIds != null and subtaskIds.size() > 0"> |
| | | service_task t |
| | | INNER JOIN service_subtask s ON s.taskid = t.taskid |
| | | INNER JOIN service_subtask_detail d ON d.sub_id = s.id |
| | | WHERE 1=1 |
| | | <if test="subtaskIds != null and subtaskIds.size() > 0"> |
| | | AND s.id IN |
| | | <foreach collection="subtaskIds" item="subtaskId" open="(" separator="," close=")"> |
| | | #{subtaskId} |
| | | </foreach> |
| | | </if> |
| | | </if> |
| | | <if test="valueType != null">AND d.value_type >= #{valueType}</if> |
| | | <if test="scoreStart != null">AND d.score = #{scoreStart}</if> |
| | | <if test="scoreEnd != null">AND d.score <= #{scoreEnd}</if> |
| | | <if test="questiontext != null and questiontext != ''">and d.questiontext like concat('%', #{questiontext}, '%')</if> |
| | | AND s.sendstate = 6 |
| | | AND d.del_flag=0 |
| | | GROUP BY d.questiontext |
| | | <if test="questiontext != null and questiontext != ''">and d.questiontext like concat('%', #{questiontext}, |
| | | '%') |
| | | </if> |
| | | AND s.sendstate = 6 |
| | | AND d.del_flag=0 |
| | | GROUP BY d.questiontext |
| | | ) t2 ON t2.questiontext = d.questiontext |
| | | WHERE 1=1 |
| | | <if test="subtaskIds != null and subtaskIds.size() > 0"> |
| | | AND s.id IN |
| | | <foreach collection="subtaskIds" item="subtaskId" open="(" separator="," close=")"> |
| | | #{subtaskId} |
| | | </foreach> |
| | | AND s.id IN |
| | | <foreach collection="subtaskIds" item="subtaskId" open="(" separator="," close=")"> |
| | | #{subtaskId} |
| | | </foreach> |
| | | </if> |
| | | AND s.sendstate = 6 |
| | | AND d.del_flag=0 |
| | | <if test="valueType != null">AND d.value_type >= #{valueType}</if> |
| | | <if test="scoreStart != null">AND d.score >= #{scoreStart}</if> |
| | | <if test="scoreEnd != null">AND d.score <= #{scoreEnd}</if> |
| | | <if test="questiontext != null and questiontext != ''">and d.questiontext like concat('%', #{questiontext}, '%')</if> |
| | | <if test="startOutHospTime != null"> |
| | | AND date_format(s.endtime,'%y%m%d') >= date_format(#{startOutHospTime},'%y%m%d') |
| | | </if> |
| | | <if test="questiontext != null and questiontext != ''">and d.questiontext like concat('%', #{questiontext}, |
| | | '%') |
| | | </if> |
| | | <if test="startOutHospTime != null"> |
| | | AND date_format(s.endtime,'%y%m%d') >= date_format(#{startOutHospTime},'%y%m%d') |
| | | </if> |
| | | <if test="endOutHospTime != null"> |
| | | AND date_format(s.endtime,'%y%m%d') <= date_format(#{endOutHospTime},'%y%m%d') |
| | | </if> |
| | |
| | | t.taskid |
| | | </select> |
| | | |
| | | <select id="statQuestionOptionByKsOrBq" resultType="com.smartor.domain.DTO.QuestionCountKsOrBqDTO" |
| | | parameterType="com.smartor.domain.VO.QuestionCountKsOrBqVO"> |
| | | SELECT questiontext, |
| | | d.taskid, |
| | | s.deptname, |
| | | s.leavehospitaldistrictname, |
| | | d.targetvalue, |
| | | d.asrtext, |
| | | COUNT(d.asrtext) AS answercount, |
| | | SUM(d.score) AS singleScore |
| | | FROM service_subtask_detail d, |
| | | service_task s |
| | | WHERE d.taskid = s.taskid |
| | | AND deptname IS NOT NULL |
| | | AND leavehospitaldistrictname IS NOT NULL |
| | | <if test="endFinishTime != null"> |
| | | AND create_time < #{endFinishTime} |
| | | </if> |
| | | <if test="startFinishTime != null"> |
| | | AND create_time >= #{startFinishTime} |
| | | </if> |
| | | <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0"> |
| | | AND leavehospitaldistrictcode IN |
| | | <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" |
| | | separator="," |
| | | close=")"> |
| | | #{leavehospitaldistrictcode} |
| | | </foreach> |
| | | </if> |
| | | <if test=" leaveldeptcodes != null and leaveldeptcodes.size()>0"> |
| | | AND deptcode IN |
| | | <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator="," |
| | | close=")"> |
| | | #{leaveldeptcode} |
| | | </foreach> |
| | | </if> |
| | | GROUP BY d.questiontext, |
| | | d.taskid, |
| | | d.asrtext |
| | | ORDER BY d.taskid |
| | | </select> |
| | | |
| | | <select id="selectServiceSubtaskListDeadLine" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity" |
| | | resultMap="ServiceSubtaskResult"> |
| | | <include refid="selectServiceSubtaskVo"/> |
| | |
| | | <result property="language" column="language"/> |
| | | <result property="categoryName" column="categoryName"/> |
| | | <result property="scriptContent" column="script_content"/> |
| | | <result property="isMust" column="is_must"/> |
| | | <result property="ismandatory" column="ismandatory"/> |
| | | <result property="delFlag" column="del_flag"/> |
| | | <result property="updateBy" column="update_by"/> |
| | | <result property="updateTime" column="update_time"/> |
| | |
| | | scriptno, |
| | | templateID, |
| | | scriptid, |
| | | script_topic, language, categoryName, script_content, is_must, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, orgid, pid, guid, value_type, targetoptions, script_type, targetid, targetvalue, next_scriptno, script_result, otherdata, picture_path |
| | | script_topic, language, categoryName, script_content, ismandatory, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, orgid, pid, guid, value_type, targetoptions, script_type, targetid, targetvalue, next_scriptno, script_result, otherdata, picture_path |
| | | , duty_dept_person_name, duty_dept_person_code, report_dept_person_name, report_dept_person_code |
| | | , circulation_dept_person_code, circulation_dept_person_name |
| | | from svy_task_template_script |
| | |
| | | '%') |
| | | </if> |
| | | <if test="scriptContent != null and scriptContent != ''">and script_content = #{scriptContent}</if> |
| | | <if test="isMust != null and isMust != ''">and is_must = #{isMust}</if> |
| | | <if test="ismandatory != null and ismandatory != ''">and ismandatory = #{ismandatory}</if> |
| | | <if test="isupload != null ">and isupload = #{isupload}</if> |
| | | <if test="uploadTime != null ">and upload_time = #{uploadTime}</if> |
| | | <if test="orgid != null and orgid != ''">and orgid = #{orgid}</if> |
| | |
| | | <if test="language != null">language,</if> |
| | | <if test="categoryName != null">categoryName,</if> |
| | | <if test="scriptContent != null">script_content,</if> |
| | | <if test="isMust != null">is_must,</if> |
| | | <if test="ismandatory != null">ismandatory,</if> |
| | | <if test="delFlag != null">del_flag,</if> |
| | | <if test="updateBy != null">update_by,</if> |
| | | <if test="updateTime != null">update_time,</if> |
| | |
| | | <if test="language != null">#{language},</if> |
| | | <if test="categoryName != null">#{categoryName},</if> |
| | | <if test="scriptContent != null">#{scriptContent},</if> |
| | | <if test="isMust != null">#{isMust},</if> |
| | | <if test="ismandatory != null">#{ismandatory},</if> |
| | | <if test="delFlag != null">#{delFlag},</if> |
| | | <if test="updateBy != null">#{updateBy},</if> |
| | | <if test="updateTime != null">#{updateTime},</if> |
| | |
| | | <if test="language != null">language = #{language},</if> |
| | | <if test="categoryName != null">categoryName = #{categoryName},</if> |
| | | <if test="scriptContent != null">script_content = #{scriptContent},</if> |
| | | <if test="isMust != null">is_must = #{isMust},</if> |
| | | <if test="ismandatory != null">ismandatory = #{ismandatory},</if> |
| | | <if test="delFlag != null">del_flag = #{delFlag},</if> |
| | | <if test="updateBy != null">update_by = #{updateBy},</if> |
| | | <if test="updateTime != null">update_time = #{updateTime},</if> |