Merge remote-tracking branch 'origin/master'
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.web.controller.smartor; |
| | | |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.smartor.domain.OutboundConfigAddReqVO; |
| | | import com.smartor.domain.OutboundInstanceResVO; |
| | | import com.smartor.domain.PhoneCallBackSHVO; |
| | | import com.smartor.domain.PhoneCallReqYQVO; |
| | | import com.smartor.domain.PhoneCallResultYQVO; |
| | | import com.smartor.service.IServicePhoneService; |
| | | import com.smartor.service.IServiceSubtaskService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 䏿±çµè¯æµç¨æå¡ Controller |
| | | * |
| | | * @author ls |
| | | * @date 2026-08-26 |
| | | */ |
| | | @Slf4j |
| | | @Api(description = "䏿±çµè¯æµç¨æå¡") |
| | | @RestController |
| | | @RequestMapping("/smartor/shphone") |
| | | public class ServicePhoneController extends BaseController { |
| | | @Autowired |
| | | private IServiceSubtaskService serviceSubtaskService; |
| | | |
| | | @Autowired |
| | | private IServicePhoneService iServicePhoneService; |
| | | |
| | | @ApiOperation("æ ¹æ®çµè¯å·ç ,è·åé¦ä¸ªé®é¢") |
| | | @PostMapping("/getFirstQues") |
| | | public Map<String, Object> getFirstQues(@RequestBody PhoneCallReqYQVO phoneCallReqYQVO) { |
| | | log.info("æ ¹æ®çµè¯å·ç ,è·åé¦ä¸ªé®é¢ï¼{}", phoneCallReqYQVO); |
| | | PhoneCallBackSHVO phoneCallBackSHVO = serviceSubtaskService.getFirstQues(phoneCallReqYQVO); |
| | | return success(phoneCallBackSHVO); |
| | | } |
| | | |
| | | @ApiOperation("䏿± ASR ç»æå¤ç") |
| | | @PostMapping("/processResust") |
| | | public Map<String, Object> processResust(@RequestBody PhoneCallResultYQVO resultYQVO) { |
| | | log.info("䏿± ASR ç»æå¤ç (䏿±)ï¼{}", resultYQVO); |
| | | PhoneCallBackSHVO phoneCallBackSHVO = serviceSubtaskService.processResust(resultYQVO); |
| | | return success(phoneCallBackSHVO); |
| | | } |
| | | |
| | | @ApiOperation("æ°å¢å¤å¼å®ä¾é
ç½®") |
| | | @PostMapping("/addOutboundInstance") |
| | | public Map<String, Object> addOutboundInstance(@RequestBody OutboundConfigAddReqVO request) { |
| | | log.info("æ°å¢å¤å¼å®ä¾é
ç½®ï¼{}", request); |
| | | OutboundInstanceResVO outboundInstanceResVO = iServicePhoneService.addOutboundInstance(request); |
| | | return success(outboundInstanceResVO); |
| | | } |
| | | |
| | | } |
| | |
| | | package com.ruoyi.web.controller.smartor; |
| | | |
| | | import com.ruoyi.common.annotation.Log; |
| | | import com.ruoyi.common.annotation.RepeatSubmit; |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | |
| | | return toAjax(serviceSubtaskAnswerService.deleteServiceSubtaskAnswerByIds(ids)); |
| | | } |
| | | |
| | | @ApiOperation("æ£è
é®é¢ç»æè®°å½(å¤é¾)") |
| | | /** |
| | | * æ£è
é®é¢ç»æè®°å½ (å¤é¾) - 弿¥å¤ç |
| | | */ |
| | | @ApiOperation("æ£è
é®é¢ç»æè®°å½ (å¤é¾)") |
| | | @PostMapping("/saveQuestionAnswer") |
| | | public AjaxResult saveQuestionAnswer(@RequestBody ServiceSubTaskAnswerReq serviceSubTaskAnswerReq) { |
| | | log.info("ãsaveQuestionCache-----saveQuestionAnswerãçå
¥å为prarm1ï¼{},prarm2ï¼{},typeï¼{},isabnormal:{}", serviceSubTaskAnswerReq.getParam1(), serviceSubTaskAnswerReq.getParam2(), serviceSubTaskAnswerReq.getType(), serviceSubTaskAnswerReq.getIsabnormal()); |
| | | return toAjax(serviceSubtaskAnswerService.saveQuestionAnswer(serviceSubTaskAnswerReq, 0L)); |
| | | log.info("ãsaveQuestionAnswerãçå
¥å为 param1:{},param2:{},type:{},isabnormal:{}", |
| | | serviceSubTaskAnswerReq.getParam1(), serviceSubTaskAnswerReq.getParam2(), |
| | | serviceSubTaskAnswerReq.getType(), serviceSubTaskAnswerReq.getIsabnormal()); |
| | | // 弿¥å¤çä¿åé»è¾ï¼ç«å³è¿åæåæ¶æ¯ |
| | | serviceSubtaskAnswerService.saveQuestionAnswer(serviceSubTaskAnswerReq, 0L); |
| | | return success("æäº¤æåï¼æ£å¨å¤çä¸..."); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("æ£è
é®é¢ç»æè®°å½ç¼å(å°ç¨åºå¤é¾)") |
| | | @RepeatSubmit |
| | | @PostMapping("/saveQuestionCacheXCH") |
| | | public AjaxResult saveQuestionCacheXCH(@RequestBody ServiceSubTaskCacheReq serviceSubTaskCacheReq) { |
| | | log.info("ãsaveQuestionCache-----saveQuestionCacheXCHãçå
¥å为ï¼{}", serviceSubTaskCacheReq); |
| | |
| | | } |
| | | |
| | | @ApiOperation("æ£è
é®é¢ç»æä¿å") |
| | | @RepeatSubmit |
| | | @PostMapping("/savequestiondetail") |
| | | public AjaxResult saveQuestionDetail(@RequestBody ServiceSubTaskCacheReq serviceSubTaskCacheReq) { |
| | | log.info("ãsaveQuestionDetail-----saveQuestionCacheãçprarm1ï¼{},prarm2ï¼{},typeï¼{},prarm6:{}", serviceSubTaskCacheReq.getParam1(), serviceSubTaskCacheReq.getParam2(), serviceSubTaskCacheReq.getType(), serviceSubTaskCacheReq.getParam6()); |
| | |
| | | } |
| | | |
| | | |
| | | @ApiOperation("æ£è
é®é¢ç»æè®°å½(å°ç¨å
å¤é¾)") |
| | | /** |
| | | * æ£è
é®é¢ç»æè®°å½ (å°ç¨åºå¤é¾) - 弿¥å¤ç |
| | | */ |
| | | @ApiOperation("æ£è
é®é¢ç»æè®°å½ (å°ç¨å
å¤é¾)") |
| | | @PostMapping("/saveQuestionAnswerXCH") |
| | | public AjaxResult saveQuestionAnswerXCH(@RequestBody ServiceSubTaskAnswerReq serviceSubTaskAnswerReq) { |
| | | log.info("ãsaveQuestionCache-----saveQuestionAnswerXCHãçå
¥å为ï¼{}", serviceSubTaskAnswerReq); |
| | | return toAjax(serviceSubtaskAnswerService.saveQuestionAnswer(serviceSubTaskAnswerReq, 1L)); |
| | | log.info("ãsaveQuestionAnswerXCHãçå
¥å为ï¼{}", serviceSubTaskAnswerReq); |
| | | // 弿¥å¤çä¿åé»è¾ï¼ç«å³è¿åæåæ¶æ¯ |
| | | serviceSubtaskAnswerService.saveQuestionAnswer(serviceSubTaskAnswerReq, 1L); |
| | | return success("æäº¤æåï¼æ£å¨å¤çä¸..."); |
| | | } |
| | | |
| | | @ApiOperation("è·åæ£è
é®é¢ç»æè®°å½ç¼å(å°ç¨åºå¤é¾)") |
| | |
| | | |
| | | |
| | | @ApiOperation("æ£è
满æåº¦ç»æè®°å½(å¤é¾)") |
| | | @RepeatSubmit |
| | | @PostMapping("/saveMYDQuestionAnswer") |
| | | public AjaxResult saveMYDQuestionAnswer(@RequestBody ServiceSubTaskMYDAnswerReq serviceSubTaskAnswerReq) { |
| | | log.info("ãsaveQuestionCache-----saveMYDQuestionAnswerãçå
¥å为ï¼{}", serviceSubTaskAnswerReq); |
| | |
| | | import com.ruoyi.system.service.ISysConfigService; |
| | | import com.ruoyi.system.service.ISysUserDeptService; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.domain.VO.HeLibraryCountVO; |
| | | import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO; |
| | | import com.smartor.domain.VO.ServiceSubtaskVO; |
| | | import com.smartor.domain.VO.TransferDeptVO; |
| | | import com.smartor.domain.DTO.QuestionResultDTO; |
| | | import com.smartor.domain.VO.*; |
| | | import com.smartor.domain.entity.ServiceSubtaskEntity; |
| | | import com.smartor.service.IServiceSubtaskRecordService; |
| | | import com.smartor.service.IServiceSubtaskService; |
| | |
| | | } |
| | | |
| | | /** |
| | | * 带Redisç¼åçç»è®¡æ¥è¯¢ï¼ä¾patItemåpatItemCountå
±ç¨ï¼æ¡ä»¶ä¸åæ¶ç´æ¥å½ä¸ç¼å |
| | | */ |
| | | private Map<String, Object> getPatItemCountWithCache(ServiceSubtaskEntity serviceSubtaskEntity) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | LoginUser loginUser = getLoginUser(); |
| | | Long userId = null; |
| | | if (ObjectUtils.isNotEmpty(loginUser) && ObjectUtils.isNotEmpty(loginUser.getUser())) { |
| | | userId = loginUser.getUser().getUserId(); |
| | | } |
| | | if (serviceSubtaskEntity.getSendstateView() != null) { |
| | | // 1ï¼å¾
é访ï¼1 被é¢åã2 å¾
åéã3 å·²åéã5 åé失败ã7ãè¶
æ¶ï¼ï¼2ï¼å·²å®æï¼ 6 已宿ï¼ã3ï¼æ éé访ï¼4 䏿§è¡ï¼ |
| | | if (serviceSubtaskEntity.getSendstateView() == 1) |
| | | serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(1L, 2L, 3L, 5L, 7L))); |
| | | if (serviceSubtaskEntity.getSendstateView() == 2) |
| | | serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(6L))); |
| | | if (serviceSubtaskEntity.getSendstateView() == 3) |
| | | serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(4L))); |
| | | } |
| | | if (ObjectUtils.isNotEmpty(userId)) { |
| | | Map<String, Object> redisMap = redisCache.getCacheObject(userId + "patItemCount"); |
| | | Boolean redisFlag = false; |
| | | if (MapUtils.isNotEmpty(redisMap)) { |
| | | ServiceSubtaskEntity oldCondition = (ServiceSubtaskEntity) redisMap.get("searchCondition"); |
| | | if (ObjectUtils.isNotEmpty(oldCondition) && isSameCondition(oldCondition, serviceSubtaskEntity)) { |
| | | redisFlag = true; |
| | | map = redisMap; |
| | | redisCache.setCacheObject(userId + "patItemCount", map, 60, TimeUnit.MINUTES); |
| | | } |
| | | } |
| | | if (!redisFlag) { |
| | | map = serviceSubtaskService.patItemCount(serviceSubtaskEntity); |
| | | map.put("searchCondition", serviceSubtaskEntity); |
| | | redisCache.setCacheObject(userId + "patItemCount", map, 120, TimeUnit.MINUTES); |
| | | } |
| | | } else { |
| | | map = serviceSubtaskService.patItemCount(serviceSubtaskEntity); |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * æ¯è¾ä¸¤ä¸ªServiceSubtaskVOçæ¥è¯¢æ¡ä»¶æ¯å¦ä¸è´ |
| | | * 使ç¨åå°æ¯è¾ææåæ®µï¼æé¤åé¡µåæ°åæ å
³å段 |
| | | */ |
| | | private boolean isSameCondition(ServiceSubtaskEntity oldCondition, ServiceSubtaskEntity newCondition) { |
| | | // 使ç¨ReflectUtilsçéç¨æ¹æ³æ¯è¾ï¼æé¤åé¡µåæ°çæ å
³å段 |
| | | return ReflectUtils.equalsAllFields(oldCondition, newCondition, |
| | | // æé¤çåæ®µï¼å页忰ãåºååIDãæ¶é´æ³ç |
| | | "pageNum", "pageSize", "serialVersionUID", "createBy", "createTime", "updateBy", "updateTime", "searchValue", "params"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 导åºåä¸ä»»å¡å表 |
| | | */ |
| | | //@PreAuthorize("@ss.hasPermi('system:taskcall:export')") |
| | |
| | | serviceSubtaskExport.setEndDay(endDay); |
| | | } |
| | | } |
| | | |
| | | //è·åserviceSubtaskListä¸çæætaskid |
| | | List<Long> taskIds = serviceSubtaskList.stream().map(ServiceSubtaskRes::getTaskid).filter(ObjectUtils::isNotEmpty).distinct().collect(Collectors.toList()); |
| | | serviceSubtaskDetailRatioExports = serviceSubtaskService.statQuestionOption(taskIds, serviceSubtaskVO.getStartOutHospTime(), serviceSubtaskVO.getEndOutHospTime()); |
| | | |
| | | QuestionResultVO questionResultVO = new QuestionResultVO(); |
| | | questionResultVO.setServiceType(serviceSubtaskVO.getServiceType()); |
| | | questionResultVO.setEndOutHospTime(serviceSubtaskVO.getEndOutHospTime()); |
| | | questionResultVO.setStartOutHospTime(serviceSubtaskVO.getStartOutHospTime()); |
| | | serviceSubtaskDetailRatioExports = serviceSubtaskService.getDetailRatio(questionResultVO, serviceSubtaskList); |
| | | } |
| | | |
| | | |
| | |
| | | if (ObjectUtils.isNotEmpty(user)) serviceSubtask.setOrgid(user.getOrgid()); |
| | | if (ObjectUtils.isNotEmpty(user)) serviceSubtask.setCampusid(user.getCampusid()); |
| | | serviceSubtask.setCampusid(user.getCampusid()); |
| | | serviceSubtask.setCreateBy(user.getNickName()); |
| | | serviceSubtask.setUpdateBy(user.getNickName()); |
| | | return success(serviceSubtaskService.insertServiceSubtask(serviceSubtask)); |
| | | } |
| | | |
| | |
| | | return AjaxResult.success("ãcollectHISDaysBeforeã忥任å¡å·²å¯å¨ï¼å¤©æ°ä¸º" + day + "天ï¼è¯·ç¨åæ¥çç»æ"); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/syncMedOperForShiyi") |
| | | public AjaxResult syncMedOperForShiyi(@RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime) { |
| | | // ç«å³è¿åï¼åå°å¼æ¥æ§è¡ |
| | | collectHISService.syncOper(startTime, endTime); |
| | | CompletableFuture.runAsync(() -> { |
| | | collectHISService.syncOper(startTime, endTime); |
| | | }); |
| | | return AjaxResult.success("忥任å¡å·²å¯å¨ï¼è¯·ç¨åæ¥çç»æ"); |
| | | } |
| | | |
| | |
| | | ryTask.dealSubtaskDeadline(orgid, day); |
| | | return AjaxResult.success("ãdealSubtaskDeadlineã忥任å¡å·²å¯å¨ï¼å¤©æ°ä¸º" + day + "天ï¼è¯·ç¨åæ¥çç»æ"); |
| | | } |
| | | /** |
| | | * 带Redisç¼åçç»è®¡æ¥è¯¢ï¼ä¾patItemåpatItemCountå
±ç¨ï¼æ¡ä»¶ä¸åæ¶ç´æ¥å½ä¸ç¼å |
| | | */ |
| | | private Map<String, Object> getPatItemCountWithCache(ServiceSubtaskEntity serviceSubtaskEntity) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | LoginUser loginUser = getLoginUser(); |
| | | Long userId = null; |
| | | if (ObjectUtils.isNotEmpty(loginUser) && ObjectUtils.isNotEmpty(loginUser.getUser())) { |
| | | userId = loginUser.getUser().getUserId(); |
| | | } |
| | | if (serviceSubtaskEntity.getSendstateView() != null) { |
| | | // 1ï¼å¾
é访ï¼1 被é¢åã2 å¾
åéã3 å·²åéã5 åé失败ã7ãè¶
æ¶ï¼ï¼2ï¼å·²å®æï¼ 6 已宿ï¼ã3ï¼æ éé访ï¼4 䏿§è¡ï¼ |
| | | if (serviceSubtaskEntity.getSendstateView() == 1) |
| | | serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(1L, 2L, 3L, 5L, 7L))); |
| | | if (serviceSubtaskEntity.getSendstateView() == 2) |
| | | serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(6L))); |
| | | if (serviceSubtaskEntity.getSendstateView() == 3) |
| | | serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(4L))); |
| | | } |
| | | if (ObjectUtils.isNotEmpty(userId)) { |
| | | Map<String, Object> redisMap = redisCache.getCacheObject(userId + "patItemCount"); |
| | | Boolean redisFlag = false; |
| | | if (MapUtils.isNotEmpty(redisMap)) { |
| | | ServiceSubtaskEntity oldCondition = (ServiceSubtaskEntity) redisMap.get("searchCondition"); |
| | | if (ObjectUtils.isNotEmpty(oldCondition) && isSameCondition(oldCondition, serviceSubtaskEntity)) { |
| | | redisFlag = true; |
| | | map = redisMap; |
| | | redisCache.setCacheObject(userId + "patItemCount", map, 60, TimeUnit.MINUTES); |
| | | } |
| | | } |
| | | if (!redisFlag) { |
| | | map = serviceSubtaskService.patItemCount(serviceSubtaskEntity); |
| | | map.put("searchCondition", serviceSubtaskEntity); |
| | | redisCache.setCacheObject(userId + "patItemCount", map, 120, TimeUnit.MINUTES); |
| | | } |
| | | } else { |
| | | map = serviceSubtaskService.patItemCount(serviceSubtaskEntity); |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ¯è¾ä¸¤ä¸ªServiceSubtaskVOçæ¥è¯¢æ¡ä»¶æ¯å¦ä¸è´ |
| | | * 使ç¨åå°æ¯è¾ææåæ®µï¼æé¤åé¡µåæ°åæ å
³å段 |
| | | */ |
| | | private boolean isSameCondition(ServiceSubtaskEntity oldCondition, ServiceSubtaskEntity newCondition) { |
| | | // 使ç¨ReflectUtilsçéç¨æ¹æ³æ¯è¾ï¼æé¤åé¡µåæ°çæ å
³å段 |
| | | return ReflectUtils.equalsAllFields(oldCondition, newCondition, |
| | | // æé¤çåæ®µï¼å页忰ãåºååIDãæ¶é´æ³ç |
| | | "pageNum", "pageSize", "serialVersionUID", "createBy", "createTime", "updateBy", "updateTime", "searchValue", "params"); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.core.domain.model.LoginUser; |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.common.utils.DtoConversionUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.system.service.ISysConfigService; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.domain.DTO.QuestionResultDTO; |
| | | import com.smartor.domain.DTO.ServiceSubtaskDetailDTO; |
| | | import com.smartor.domain.VO.QuestionResultVO; |
| | | import com.smartor.domain.entity.ServiceSubtaskEntity; |
| | | import com.smartor.service.IServiceSubtaskDetailService; |
| | | import com.smartor.service.IServiceSubtaskService; |
| | | import io.swagger.annotations.Api; |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static com.ruoyi.framework.datasource.DynamicDataSourceContextHolder.log; |
| | | |
| | |
| | | map = ServiceSubtaskDetailService.getServiceSubtaskDetails(serviceSubtaskDetailVO); |
| | | return map; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
éè®¿ä¿¡æ¯ |
| | | */ |
| | | @ApiOperation("çç«å德满æåº¦æ°æ®ç»è®¡") |
| | | @PostMapping("/sltaMydTotalByScore") |
| | | public Map<String, Object> sltaMydTotal(@RequestBody QuestionResultVO questionResultVO) { |
| | | List<ServiceSubtaskRes> serviceSubtaskResList = null; |
| | | ServiceSubtaskEntity serviceSubtaskEntity = new ServiceSubtaskEntity(); |
| | | serviceSubtaskEntity.setServiceType(questionResultVO.getServiceType()); |
| | | serviceSubtaskEntity.setEndOutHospTime(questionResultVO.getEndOutHospTime()); |
| | | serviceSubtaskEntity.setStartOutHospTime(questionResultVO.getStartOutHospTime()); |
| | | serviceSubtaskEntity.setDeptOrDistrict(questionResultVO.getDeptOrDistrict()); |
| | | serviceSubtaskEntity.setLeavehospitaldistrictcodes(questionResultVO.getLeavehospitaldistrictcodes()); |
| | | if (serviceSubtaskEntity != null) { |
| | | List<ServiceSubtask> serviceSubtasks = serviceSubtaskService.getServiceSubtasks(serviceSubtaskEntity); |
| | | serviceSubtaskResList = DtoConversionUtils.sourceToTarget(serviceSubtasks, ServiceSubtaskRes.class); |
| | | } |
| | | List<ServiceSubtaskDetailRatioExport> detailList = serviceSubtaskService.getDetailRatio(questionResultVO, serviceSubtaskResList); |
| | | |
| | | // æ questiontext åç»å转æ¢ä¸º QuestionResultVO |
| | | List<QuestionResultDTO> result = new ArrayList<>(); |
| | | if (!detailList.isEmpty()) { |
| | | Map<String, List<ServiceSubtaskDetailRatioExport>> groupedMap = detailList.stream() |
| | | .collect(Collectors.groupingBy(ServiceSubtaskDetailRatioExport::getQuestiontext)); |
| | | |
| | | groupedMap.forEach((questionText, exportList) -> { |
| | | QuestionResultDTO questionResultDTO = new QuestionResultDTO(); |
| | | questionResultDTO.setQeustionText(questionText); |
| | | questionResultDTO.setSubtaskDetailRatioExportList(exportList); |
| | | result.add(questionResultDTO); |
| | | }); |
| | | } |
| | | |
| | | return success(result); |
| | | } |
| | | } |
| | |
| | | import com.ruoyi.common.annotation.Log; |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.core.page.TableDataInfo; |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.common.utils.PageUtils; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.smartor.domain.DTO.DetailTraceDealDTO; |
| | | import com.smartor.domain.ServiceSubtaskDetailTrace; |
| | | import com.smartor.domain.VO.DetailTraceDealVO; |
| | | import com.smartor.domain.VO.SatisfactionExceptConfigQuestionReqVO; |
| | |
| | | |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.utils.PageUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | |
| | | //@PreAuthorize("@ss.hasPermi('smartor:smstemplet:list')") |
| | | @PostMapping("/list") |
| | | public Map<String, Object> list(@RequestBody SmsTemplet smsTemplet) { |
| | | smsTemplet.setPageNum(PageUtils.getOffset(smsTemplet.getPageNum(), smsTemplet.getPageSize())); |
| | | if (StringUtils.isEmpty(smsTemplet.getUserName()) && StringUtils.isEmpty(smsTemplet.getWardCode()) && StringUtils.isEmpty(smsTemplet.getDeptCode())) { |
| | | SysUser user = getLoginUser().getUser(); |
| | | smsTemplet.setUserName(user.getUserName()); |
| | | smsTemplet.setNickName(user.getNickName()); |
| | | } |
| | | List<SmsTemplet> list = smsTempletService.selectSmsTempletList(smsTemplet); |
| | | //è¿ä¸ªä¸éè¦å页ï¼ä¸ä¸ªç§å®¤ä¹ä¸ä¼æå¤å°æ¡çä¿¡æ¨¡æ¿ |
| | | smsTemplet.setPageNum(null); |
| | | smsTemplet.setPageSize(null); |
| | | List<SmsTemplet> list = smsTempletService.selectSmsTempletList(smsTemplet); |
| | | return getDataTable3(ObjectUtil.isNotEmpty(list) ? list.size() : 0, list); |
| | | List<SmsTemplet> total = smsTempletService.selectSmsTempletList(smsTemplet); |
| | | return getDataTable3(ObjectUtil.isNotEmpty(total) ? total.size() : 0, list); |
| | | } |
| | | |
| | | /** |
| | |
| | | //éç¨å¯ç ï¼Hrs#å½åå¹´ææ¥* |
| | | token = loginService.getTokenWN(loginBody.getUsername()); |
| | | } else { |
| | | token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid(), loginBody.getOrgid(), loginBody.getCampusid()); |
| | | token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid(), loginBody.getOrgid(), loginBody.getCampusid(), loginBody.getUserType()); |
| | | } |
| | | ajax.put(Constants.TOKEN, token); |
| | | return ajax; |
| | |
| | | */ |
| | | // @IpWhitelist |
| | | @GetMapping("/SSOLogin") |
| | | public RedirectView SSOLogin(@RequestParam(required = false) String campusid, @RequestParam(required = false) String deptId, String orgid, String userName, String token) { |
| | | public RedirectView SSOLogin(@RequestParam(required = false) String campusid, @RequestParam(required = false) String deptId, @RequestParam(required = false) String systype, String orgid, String userName, String token) { |
| | | log.info("SSOLoginçå
¥åï¼campusidï¼{}, deptId:{}, systype:{}, orgid:{}, userName:{}, token:{}",campusid,deptId,systype,orgid,userName,token); |
| | | if (StringUtils.isEmpty(userName) && StringUtils.isEmpty(token) && StringUtils.isEmpty(orgid)) { |
| | | throw new BaseException("åæ°ä¸è½ä¸ºç©º"); |
| | | } |
| | | String path = null; |
| | | if (StringUtils.isEmpty(systype)) path = sysConfigService.selectConfigByKey("sys.qddz"); |
| | | else path = sysConfigService.selectConfigByKey("sys.qddz.yd"); |
| | | log.info("qddzçæ¥è¯¢å¼ä¸ºï¼pathï¼{}",path); |
| | | |
| | | String path = sysConfigService.selectConfigByKey("sys.qddz"); |
| | | if (StringUtils.isEmpty(path)) { |
| | | throw new BaseException("请é
ç½®å端å°å"); |
| | | } |
| | |
| | | package com.ruoyi.web.controller.tool; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.LinkedHashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import org.springframework.web.bind.annotation.DeleteMapping; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.PutMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import io.swagger.annotations.ApiOperation; |
| | | |
| | | /** |
| | | * swagger ç¨æ·æµè¯æ¹æ³ |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | @Api("ç¨æ·ä¿¡æ¯ç®¡ç") |
| | | @RestController |
| | | @RequestMapping("/test/user") |
| | | public class TestController extends BaseController |
| | | { |
| | | private final static Map<Integer, UserEntity> users = new LinkedHashMap<Integer, UserEntity>(); |
| | | { |
| | | users.put(1, new UserEntity(1, "admin", "admin123", "15888888888")); |
| | | users.put(2, new UserEntity(2, "ry", "admin123", "15666666666")); |
| | | } |
| | | |
| | | @ApiOperation("è·åç¨æ·å表") |
| | | @GetMapping("/list") |
| | | public R<List<UserEntity>> userList() |
| | | { |
| | | List<UserEntity> userList = new ArrayList<UserEntity>(users.values()); |
| | | return R.ok(userList); |
| | | } |
| | | |
| | | @ApiOperation("è·åç¨æ·è¯¦ç»") |
| | | @ApiImplicitParam(name = "userId", value = "ç¨æ·ID", required = true, dataType = "int", paramType = "path", dataTypeClass = Integer.class) |
| | | @GetMapping("/{userId}") |
| | | public R<UserEntity> getUser(@PathVariable Integer userId) |
| | | { |
| | | if (!users.isEmpty() && users.containsKey(userId)) |
| | | { |
| | | return R.ok(users.get(userId)); |
| | | } |
| | | else |
| | | { |
| | | return R.fail("ç¨æ·ä¸åå¨"); |
| | | } |
| | | } |
| | | |
| | | @ApiOperation("æ°å¢ç¨æ·") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "userId", value = "ç¨æ·id", dataType = "Integer", dataTypeClass = Integer.class), |
| | | @ApiImplicitParam(name = "username", value = "ç¨æ·åç§°", dataType = "String", dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "password", value = "ç¨æ·å¯ç ", dataType = "String", dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "mobile", value = "ç¨æ·ææº", dataType = "String", dataTypeClass = String.class) |
| | | }) |
| | | @PostMapping("/save") |
| | | public R<String> save(UserEntity user) |
| | | { |
| | | if (StringUtils.isNull(user) || StringUtils.isNull(user.getUserId())) |
| | | { |
| | | return R.fail("ç¨æ·IDä¸è½ä¸ºç©º"); |
| | | } |
| | | users.put(user.getUserId(), user); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @ApiOperation("æ´æ°ç¨æ·") |
| | | @PutMapping("/update") |
| | | public R<String> update(@RequestBody UserEntity user) |
| | | { |
| | | if (StringUtils.isNull(user) || StringUtils.isNull(user.getUserId())) |
| | | { |
| | | return R.fail("ç¨æ·IDä¸è½ä¸ºç©º"); |
| | | } |
| | | if (users.isEmpty() || !users.containsKey(user.getUserId())) |
| | | { |
| | | return R.fail("ç¨æ·ä¸åå¨"); |
| | | } |
| | | users.remove(user.getUserId()); |
| | | users.put(user.getUserId(), user); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @ApiOperation("å é¤ç¨æ·ä¿¡æ¯") |
| | | @ApiImplicitParam(name = "userId", value = "ç¨æ·ID", required = true, dataType = "int", paramType = "path", dataTypeClass = Integer.class) |
| | | @DeleteMapping("/{userId}") |
| | | public R<String> delete(@PathVariable Integer userId) |
| | | { |
| | | if (!users.isEmpty() && users.containsKey(userId)) |
| | | { |
| | | users.remove(userId); |
| | | return R.ok(); |
| | | } |
| | | else |
| | | { |
| | | return R.fail("ç¨æ·ä¸åå¨"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @ApiModel(value = "UserEntity", description = "ç¨æ·å®ä½") |
| | | class UserEntity |
| | | { |
| | | @ApiModelProperty("ç¨æ·ID") |
| | | private Integer userId; |
| | | |
| | | @ApiModelProperty("ç¨æ·åç§°") |
| | | private String username; |
| | | |
| | | @ApiModelProperty("ç¨æ·å¯ç ") |
| | | private String password; |
| | | |
| | | @ApiModelProperty("ç¨æ·ææº") |
| | | private String mobile; |
| | | |
| | | public UserEntity() |
| | | { |
| | | |
| | | } |
| | | |
| | | public UserEntity(Integer userId, String username, String password, String mobile) |
| | | { |
| | | this.userId = userId; |
| | | this.username = username; |
| | | this.password = password; |
| | | this.mobile = mobile; |
| | | } |
| | | |
| | | public Integer getUserId() |
| | | { |
| | | return userId; |
| | | } |
| | | |
| | | public void setUserId(Integer userId) |
| | | { |
| | | this.userId = userId; |
| | | } |
| | | |
| | | public String getUsername() |
| | | { |
| | | return username; |
| | | } |
| | | |
| | | public void setUsername(String username) |
| | | { |
| | | this.username = username; |
| | | } |
| | | |
| | | public String getPassword() |
| | | { |
| | | return password; |
| | | } |
| | | |
| | | public void setPassword(String password) |
| | | { |
| | | this.password = password; |
| | | } |
| | | |
| | | public String getMobile() |
| | | { |
| | | return mobile; |
| | | } |
| | | |
| | | public void setMobile(String mobile) |
| | | { |
| | | this.mobile = mobile; |
| | | } |
| | | } |
| | | //package com.ruoyi.web.controller.tool; |
| | | // |
| | | //import java.util.ArrayList; |
| | | //import java.util.LinkedHashMap; |
| | | //import java.util.List; |
| | | //import java.util.Map; |
| | | // |
| | | //import org.springframework.web.bind.annotation.DeleteMapping; |
| | | //import org.springframework.web.bind.annotation.GetMapping; |
| | | //import org.springframework.web.bind.annotation.PathVariable; |
| | | //import org.springframework.web.bind.annotation.PostMapping; |
| | | //import org.springframework.web.bind.annotation.PutMapping; |
| | | //import org.springframework.web.bind.annotation.RequestBody; |
| | | //import org.springframework.web.bind.annotation.RequestMapping; |
| | | //import org.springframework.web.bind.annotation.RestController; |
| | | //import com.ruoyi.common.core.controller.BaseController; |
| | | //import com.ruoyi.common.core.domain.R; |
| | | //import com.ruoyi.common.utils.StringUtils; |
| | | //import io.swagger.annotations.Api; |
| | | //import io.swagger.annotations.ApiImplicitParam; |
| | | //import io.swagger.annotations.ApiImplicitParams; |
| | | //import io.swagger.annotations.ApiModel; |
| | | //import io.swagger.annotations.ApiModelProperty; |
| | | //import io.swagger.annotations.ApiOperation; |
| | | // |
| | | ///** |
| | | // * swagger ç¨æ·æµè¯æ¹æ³ |
| | | // * |
| | | // * @author ruoyi |
| | | // */ |
| | | //@Api("ç¨æ·ä¿¡æ¯ç®¡ç") |
| | | //@RestController |
| | | //@RequestMapping("/test/user") |
| | | //public class TestController extends BaseController { |
| | | // private final static Map<Integer, UserEntity> users = new LinkedHashMap<Integer, UserEntity>(); |
| | | // |
| | | // { |
| | | // users.put(1, new UserEntity(1, "admin", "admin123", "15888888888")); |
| | | // users.put(2, new UserEntity(2, "ry", "admin123", "15666666666")); |
| | | // } |
| | | // |
| | | // @ApiOperation("è·åç¨æ·å表") |
| | | // @GetMapping("/list") |
| | | // public R<List<UserEntity>> userList() { |
| | | // List<UserEntity> userList = new ArrayList<UserEntity>(users.values()); |
| | | // return R.ok(userList); |
| | | // } |
| | | // |
| | | // @ApiOperation("è·åç¨æ·è¯¦ç»") |
| | | // @ApiImplicitParam(name = "userId", value = "ç¨æ·ID", required = true, dataType = "int", paramType = "path", dataTypeClass = Integer.class) |
| | | // @GetMapping("/{userId}") |
| | | // public R<UserEntity> getUser(@PathVariable Integer userId) { |
| | | // if (!users.isEmpty() && users.containsKey(userId)) { |
| | | // return R.ok(users.get(userId)); |
| | | // } else { |
| | | // return R.fail("ç¨æ·ä¸åå¨"); |
| | | // } |
| | | // } |
| | | // |
| | | // @ApiOperation("æ°å¢ç¨æ·") |
| | | // @ApiImplicitParams({@ApiImplicitParam(name = "userId", value = "ç¨æ·id", dataType = "Integer", dataTypeClass = Integer.class), @ApiImplicitParam(name = "username", value = "ç¨æ·åç§°", dataType = "String", dataTypeClass = String.class), @ApiImplicitParam(name = "password", value = "ç¨æ·å¯ç ", dataType = "String", dataTypeClass = String.class), @ApiImplicitParam(name = "mobile", value = "ç¨æ·ææº", dataType = "String", dataTypeClass = String.class)}) |
| | | // @PostMapping("/save") |
| | | // public R<String> save(UserEntity user) { |
| | | // if (StringUtils.isNull(user) || StringUtils.isNull(user.getUserId())) { |
| | | // return R.fail("ç¨æ·IDä¸è½ä¸ºç©º"); |
| | | // } |
| | | // users.put(user.getUserId(), user); |
| | | // return R.ok(); |
| | | // } |
| | | // |
| | | // @ApiOperation("æ´æ°ç¨æ·") |
| | | // @PutMapping("/update") |
| | | // public R<String> update(@RequestBody UserEntity user) { |
| | | // if (StringUtils.isNull(user) || StringUtils.isNull(user.getUserId())) { |
| | | // return R.fail("ç¨æ·IDä¸è½ä¸ºç©º"); |
| | | // } |
| | | // if (users.isEmpty() || !users.containsKey(user.getUserId())) { |
| | | // return R.fail("ç¨æ·ä¸åå¨"); |
| | | // } |
| | | // users.remove(user.getUserId()); |
| | | // users.put(user.getUserId(), user); |
| | | // return R.ok(); |
| | | // } |
| | | // |
| | | // @ApiOperation("å é¤ç¨æ·ä¿¡æ¯") |
| | | // @ApiImplicitParam(name = "userId", value = "ç¨æ·ID", required = true, dataType = "int", paramType = "path", dataTypeClass = Integer.class) |
| | | // @GetMapping("/{userId}") |
| | | // public R<String> delete(@PathVariable Integer userId) { |
| | | // if (!users.isEmpty() && users.containsKey(userId)) { |
| | | // users.remove(userId); |
| | | // return R.ok(); |
| | | // } else { |
| | | // return R.fail("ç¨æ·ä¸åå¨"); |
| | | // } |
| | | // } |
| | | //} |
| | | // |
| | | //@ApiModel(value = "UserEntity", description = "ç¨æ·å®ä½") |
| | | //class UserEntity { |
| | | // @ApiModelProperty("ç¨æ·ID") |
| | | // private Integer userId; |
| | | // |
| | | // @ApiModelProperty("ç¨æ·åç§°") |
| | | // private String username; |
| | | // |
| | | // @ApiModelProperty("ç¨æ·å¯ç ") |
| | | // private String password; |
| | | // |
| | | // @ApiModelProperty("ç¨æ·ææº") |
| | | // private String mobile; |
| | | // |
| | | // public UserEntity() { |
| | | // |
| | | // } |
| | | // |
| | | // public UserEntity(Integer userId, String username, String password, String mobile) { |
| | | // this.userId = userId; |
| | | // this.username = username; |
| | | // this.password = password; |
| | | // this.mobile = mobile; |
| | | // } |
| | | // |
| | | // public Integer getUserId() { |
| | | // return userId; |
| | | // } |
| | | // |
| | | // public void setUserId(Integer userId) { |
| | | // this.userId = userId; |
| | | // } |
| | | // |
| | | // public String getUsername() { |
| | | // return username; |
| | | // } |
| | | // |
| | | // public void setUsername(String username) { |
| | | // this.username = username; |
| | | // } |
| | | // |
| | | // public String getPassword() { |
| | | // return password; |
| | | // } |
| | | // |
| | | // public void setPassword(String password) { |
| | | // this.password = password; |
| | | // } |
| | | // |
| | | // public String getMobile() { |
| | | // return mobile; |
| | | // } |
| | | // |
| | | // public void setMobile(String mobile) { |
| | | // this.mobile = mobile; |
| | | // } |
| | | //} |
| | |
| | | #æ¬ å° ç信请æ±å°å(è¿ä¸ªæå¡æ¯æä»¬èªå·±åç) |
| | | #xhsmsPath: http://192.168.2.13:8092/sendSms |
| | | #æ°åç信请æ±å°å(è¿ä¸ªæå¡æ¯æä»¬èªå·±åç) |
| | | xhsmsPath: http://192.16.4.220:8092/sendSms |
| | | xhsmsPath: http://192.16.4.220:8092/sms |
| | | #å¸å· |
| | | xhsmsAccount: 911124 |
| | | #æ¥å£å¯ç |
| | |
| | | */ |
| | | private String deptId; |
| | | |
| | | /** |
| | | * ç¨æ·ç±»å |
| | | */ |
| | | private String userType; |
| | | |
| | | } |
| | |
| | | // è¿æ»¤è¯·æ± |
| | | .authorizeRequests() |
| | | // 对äºç»å½login 注åregister éªè¯ç captchaImage å
许å¿åè®¿é® |
| | | .antMatchers("/login","/test/**", "/register", "/captchaImage", "/qrcode/generateStaticHtml", "/qrcode/getQRcode", "/qrcode/getFormDate", "/chat", "/system/file/admin/uploadFile", "/smartor/dingtalk/sendNotification", "/patient/read/patientInfo", "/socket", "/API_ESB_Service", "/API_ESB_Service/Run", "/magic/web/**", "/smartor/serviceSubtask/phoneCallBack", "/smartor/serviceSubtask/taskPull", "/smartor/serviceSubtask/phoneCallBackYQ", "/smartor/robot/callstatus", "/smartor/robot/aidialog", "/smartor/robot/cdrinfo", "/getToken", "/smartor/subtaskAnswer/getQuestionCache", "/smartor/subtaskAnswer/saveQuestionCache", "/smartor/servicetask/getScriptInfoByCondition", "/smartor/subtaskAnswer/saveQuestionAnswer", "/smartor/import/download", "/smartor/serviceSubtask/recordAccept", "/smartor/outPath/getInfoByParam", "/smartor/serviceExternal/addDeptInfo", "/smartor/serviceExternal/**", "/sso/**","/smartor/sltdHealthcareRecord/**","/smartor/servicetask/getScriptByCondition","/smartor/subtaskAnswer/saveMYDQuestionAnswer","smartor/serviceSubtask/goSfRelay","/smartor/serviceSubtask/scanGenerateSubtask").permitAll() |
| | | .antMatchers("/login","/test/**", "/register", "/captchaImage", "/qrcode/generateStaticHtml", "/qrcode/getQRcode", "/qrcode/getFormDate", "/chat", "/system/file/admin/uploadFile", "/smartor/dingtalk/sendNotification", "/patient/read/patientInfo", "/socket", "/API_ESB_Service", "/API_ESB_Service/Run", "/magic/web/**", "/smartor/serviceSubtask/phoneCallBack", "/smartor/serviceSubtask/taskPull", "/smartor/serviceSubtask/phoneCallBackYQ", "/smartor/robot/callstatus", "/smartor/robot/aidialog", "/smartor/robot/cdrinfo", "/getToken", "/smartor/subtaskAnswer/getQuestionCache", "/smartor/subtaskAnswer/saveQuestionCache", "/smartor/servicetask/getScriptInfoByCondition", "/smartor/subtaskAnswer/saveQuestionAnswer", "/smartor/import/download", "/smartor/serviceSubtask/recordAccept", "/smartor/outPath/getInfoByParam", "/smartor/serviceExternal/addDeptInfo", "/smartor/serviceExternal/**", "/sso/**","/smartor/sltdHealthcareRecord/**","/smartor/servicetask/getScriptByCondition","/smartor/subtaskAnswer/saveMYDQuestionAnswer","smartor/serviceSubtask/goSfRelay","/smartor/serviceSubtask/scanGenerateSubtask","/smartor/shphone/getFirstQues","/smartor/shphone/processResust","/smartor/shphone/addOutboundInstance").permitAll() |
| | | // éæèµæºï¼å¯å¿åè®¿é® |
| | | // .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**","/getDept/*","/SSOLogin/**").permitAll().antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() |
| | | .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**","/getDept/*","/SSOLogin/**","/system/dict/data/typeout/*").permitAll().antMatchers( "/druid/**").permitAll() |
| | |
| | | package com.ruoyi.framework.config; |
| | | |
| | | import com.ruoyi.common.utils.Threads; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.concurrent.BasicThreadFactory; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.context.annotation.Configuration; |
| | |
| | | * |
| | | * @author ruoyi |
| | | **/ |
| | | @Slf4j |
| | | @Configuration |
| | | public class ThreadPoolConfig |
| | | { |
| | |
| | | public ThreadPoolTaskExecutor threadPoolTaskExecutor() |
| | | { |
| | | ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); |
| | | executor.setMaxPoolSize(maxPoolSize); |
| | | // æ ¸å¿çº¿ç¨æ± å¤§å° |
| | | executor.setCorePoolSize(corePoolSize); |
| | | // æå¤§å¯å建ççº¿ç¨æ° |
| | | executor.setMaxPoolSize(maxPoolSize); |
| | | // éåæå¤§é¿åº¦ |
| | | executor.setQueueCapacity(queueCapacity); |
| | | // çº¿ç¨æ± ç»´æ¤çº¿ç¨æå
许çç©ºé²æ¶é´ |
| | | executor.setKeepAliveSeconds(keepAliveSeconds); |
| | | // çº¿ç¨æ± 对æç»ä»»å¡(æ 线ç¨å¯ç¨)çå¤ççç¥ |
| | | // 线ç¨åç§°åç¼ |
| | | executor.setThreadNamePrefix("async-task-executor-"); |
| | | // 设置线ç¨å·¥å (ç¨äºç»çº¿ç¨å½åï¼ä¾¿äºææ¥é®é¢) |
| | | executor.setThreadFactory(new BasicThreadFactory.Builder().namingPattern("async-task-%d").daemon(true).build()); |
| | | // çº¿ç¨æ± 对æç»ä»»å¡ (æ 线ç¨å¯ç¨) çå¤ççç¥ - è°ç¨è
è¿è¡çç¥ |
| | | executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); |
| | | // åå§å |
| | | executor.initialize(); |
| | | return executor; |
| | | } |
| | | |
| | |
| | | * @param uuid å¯ä¸æ è¯ |
| | | * @return ç»æ |
| | | */ |
| | | public String login(String username, String password, String code, String uuid, String orgid, String campusid) { |
| | | public String login(String username, String password, String code, String uuid, String orgid, String campusid, String userType) { |
| | | boolean captchaEnabled = configService.selectCaptchaEnabled(); |
| | | // éªè¯ç å¼å
³ |
| | | if (captchaEnabled) { |
| | |
| | | Authentication authentication = null; |
| | | try { |
| | | if (StringUtils.isEmpty(campusid)) campusid = "1"; |
| | | UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username + "&" + orgid + "&" + campusid, password); |
| | | UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username + "&" + orgid + "&" + campusid + "&" + userType, password); |
| | | AuthenticationContextHolder.setContext(authenticationToken); |
| | | // è¯¥æ¹æ³ä¼å»è°ç¨UserDetailsServiceImpl.loadUserByUsername |
| | | authentication = authenticationManager.authenticate(authenticationToken); |
| | |
| | | iIcd10Service.queryAddIcd10(); |
| | | } |
| | | |
| | | // nhfy/sltdåæº¯30天忮µééå¤æï¼æ¯æ®µæå¤7å¤©ï¼ |
| | | // nhfy/sltdåæº¯30天忮µééå¤æï¼æ¯æ®µæå¤4å¤©ï¼ |
| | | boolean isBackfill = (active.trim().equals("nhfy") || active.trim().equals("sltd")) && StringUtils.isNotBlank(todayZeroStr); |
| | | if (isBackfill) { |
| | | DateTimeFormatter dateFmt = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
| | |
| | | LocalDate segEndDate = todayZero.toLocalDate(); |
| | | int segCount = 0; |
| | | while (!segStart.isAfter(segEndDate)) { |
| | | LocalDate segEnd = segStart.plusDays(6); |
| | | LocalDate segEnd = segStart.plusDays(3); |
| | | if (segEnd.isAfter(segEndDate)) { |
| | | segEnd = segEndDate; |
| | | } |
| | |
| | | import com.ruoyi.common.constant.UserConstants; |
| | | import com.ruoyi.common.core.domain.entity.*; |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | import com.ruoyi.common.exception.base.BaseException; |
| | | import com.ruoyi.common.utils.DtoConversionUtils; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | |
| | | SysUserDept sysUserDept = new SysUserDept(); |
| | | sysUserDept.setUserId(sysUser.getUserId()); |
| | | sysUserDept.setDeptType(sysUser.getSearchscope()); |
| | | sysUserDept.setOrgid(sysUser.getOrgid()); |
| | | List<SysUserDept> sysUserDeptKSs = null; |
| | | List<SysUserDept> sysUserDeptBQs = null; |
| | | if (StringUtils.isNotEmpty(sysUser.getSearchscope()) && sysUser.getSearchscope().equals("0")) { |
| | |
| | | String[] split = userName.split("&"); |
| | | SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1], null); |
| | | if (Objects.isNull(sysUser)) return sysUser; |
| | | //è¿éåªå¡ç¨æ·ç±»åä¸ºâæ£è
âç |
| | | if (sysUser.getUserType().equals("æ£è
") && StringUtils.isNotEmpty(split[3]) && !split[3].equals("null") && !sysUser.getUserType().equals(split[3].trim())) |
| | | throw new BaseException("å½åç¨æ·ç±»åä¸ç»å½ç¨æ·ç±»åä¸ä¸è´"); |
| | | |
| | | boolean isAdmin = StringUtils.isNotEmpty(split[0]) && "admin".equals(split[0]); |
| | | IUserExtInfoService userExtInfoService = SpringUtils.getBean(IUserExtInfoService.class); |
| | | Executor executor = SpringUtils.getBean("threadPoolTaskExecutor"); |
| | | |
| | | // === å¹¶è¡æ¥è¯¢: ç¨æ·æºæä¿¡æ¯ + é¨é¨å表 === |
| | | CompletableFuture<Map<String, String>> orgInfoFuture = CompletableFuture.supplyAsync(() -> |
| | | userExtInfoService.getUserOrgInfo(sysUser.getUserId().toString(), split[1], split[2]), executor); |
| | | CompletableFuture<Map<String, String>> orgInfoFuture = CompletableFuture.supplyAsync(() -> userExtInfoService.getUserOrgInfo(sysUser.getUserId().toString(), split[1], split[2]), executor); |
| | | |
| | | CompletableFuture<List<SysDept>> deptsFuture; |
| | | if (isAdmin) { |
| | |
| | | |
| | | //è·åå½åç»éäººçæºæåé¢ï¿½? |
| | | IUserExtInfoService userExtInfoService2 = SpringUtils.getBean(IUserExtInfoService.class); |
| | | Map<String, String> userOrgInfo2 = userExtInfoService2.getUserOrgInfo( |
| | | sysUser.getUserId().toString(), |
| | | split[1], |
| | | split[3]); |
| | | Map<String, String> userOrgInfo2 = userExtInfoService2.getUserOrgInfo(sysUser.getUserId().toString(), split[1], split[3]); |
| | | if (!userOrgInfo2.isEmpty()) { |
| | | sysUser.setOrgid(userOrgInfo2.get("orgid")); |
| | | sysUser.setCampusid(userOrgInfo2.get("campusid")); |
| | |
| | | <if test="wardCode != null and wardCode != ''">and ward_code = #{wardCode}</if> |
| | | <if test="userName != null and userName != ''">and user_name = #{userName}</if> |
| | | <if test="nickName != null and nickName != ''">and nick_name = #{nickName}</if> |
| | | <if test="pageSize != null and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if> |
| | | </select> |
| | | |
| | | <select id="selectSmsTempletByTempletid" parameterType="Long" resultMap="SmsTempletResult"> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 QuestionResultDTO extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * é®å·é¢ç® |
| | | */ |
| | | @ApiModelProperty(value = "é®å·é¢ç®") |
| | | private String qeustionText; |
| | | |
| | | /** |
| | | * é®å·ç»æéå |
| | | */ |
| | | @ApiModelProperty(value = "é®å·ç»æéå") |
| | | private List<ServiceSubtaskDetailRatioExport> subtaskDetailRatioExportList; |
| | | |
| | | |
| | | } |
| | |
| | | @ApiModelProperty(value = "æ¥å¤ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String reportDeptPersonCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººç¼ç (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººåç§° (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonName; |
| | | |
| | | // /** |
| | | // * é®é¢ç»æï¼ç»âå¼ç±»åâæ¯ææ¬æè
æ°å¼ç¨çï¼ |
| | | // */ |
| | |
| | | @ApiModelProperty(value = "æ¥å¤ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String reportDeptPersonCode; |
| | | |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººç¼ç (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººåç§° (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonName; |
| | | |
| | | |
| | | |
| | | /** |
| | | * é®é¢é项 |
| | | */ |
| | |
| | | private String reportDeptPersonCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººç¼ç (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººåç§° (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonName; |
| | | |
| | | /** |
| | | * è¯æ¯é项 |
| | | */ |
| | | @ApiModelProperty(value = "è¯æ¯é项") |
| | |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç
åºé¿æä»»å¡ï¼æ¯å¦å¤çï¼0 æªå¤ç 1 å¤çæå 2 å¤ç失败 ") |
| | | private String inWardcheckFlag; |
| | | |
| | | |
| | | /** |
| | | * è¯å宣æé¿æä»»å¡ï¼æ¯å¦å¤çï¼0 æªå¤ç 1 å¤ç |
| | | */ |
| | |
| | | /** |
| | | * åºå
¥é¢æ è¯ |
| | | */ |
| | | @ApiModelProperty("åºå
¥é¢æ è¯ï¼0å
¥é¢ 1åºé¢ 2 è½¬ç§ 3 é¢å
¥é¢") |
| | | @ApiModelProperty("åºå
¥é¢æ è¯ï¼0å
¥é¢ 1åºé¢ 2 è½¬ç§ 3 é¢å
¥é¢ 4.满æåº¦") |
| | | private Integer cry; |
| | | |
| | | /** |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.domain; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * çµè¯é®é¢ååº(䏿±) |
| | | * |
| | | * @author ls |
| | | * 26 |
| | | */ |
| | | @Data |
| | | public class PhoneCallBackSHVO { |
| | | |
| | | /** |
| | | * åä»»å¡ID |
| | | */ |
| | | @ApiModelProperty(value = "åä»»å¡ID") |
| | | private Long subId; |
| | | |
| | | /** |
| | | * é®é¢ID |
| | | */ |
| | | @ApiModelProperty(value = "é®é¢ID") |
| | | private Long scriptId; |
| | | |
| | | /** |
| | | * 任塿¨¡æ¿ID |
| | | */ |
| | | @ApiModelProperty(value = "任塿¨¡æ¿ID") |
| | | private Long taskTemplateid; |
| | | |
| | | /** |
| | | * å¯ä»¥å¯¹å½åééçé³éè¿è¡éå½è°æ´,åå¼èå´ã-4,4ã |
| | | */ |
| | | @ApiModelProperty(value = "åºå·") |
| | | private Integer sort; |
| | | |
| | | |
| | | @ApiModelProperty(value = "é®é¢å
容") |
| | | private String scriptContent; |
| | | |
| | | |
| | | @ApiModelProperty(value = "é项") |
| | | private String option; |
| | | |
| | | @ApiModelProperty(value = "æµç¨ç¶æï¼0ç»æ 1è¿è¡ä¸") |
| | | private String status = "1"; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.domain; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * çµè¯ASRåè°è¯·æ±(é¨ç»®) |
| | | * |
| | | * @author ls |
| | | * @date 2024-08-8 |
| | | */ |
| | | @Data |
| | | public class PhoneCallResultYQVO { |
| | | |
| | | @ApiModelProperty(value = "ä»»å¡ç¼å·(è¿éåå¨çå°±æ¯subtaskID)") |
| | | private String taskid; |
| | | |
| | | |
| | | /** |
| | | * å½åå¼å«çç®æ å·ç |
| | | */ |
| | | @ApiModelProperty(value = "å½åå¼å«çç®æ å·ç ") |
| | | private String phone; |
| | | |
| | | /** |
| | | * å½ååè°ç请æ±ç±»åï¼å
æ¬ï¼AsrCallback: ASRææ¬åè° DtmfCallback:æ¶å°æé®åè° SilentCallback:éé»åè° PlayEvent:é³ä¹ææ¾å¼å§ãç»æäºä»¶åè° |
| | | */ |
| | | @ApiModelProperty(value = "å½ååè°ç请æ±ç±»åï¼å
æ¬ï¼AsrCallback: ASRææ¬åè° DtmfCallback:æ¶å°æé®åè° SilentCallback:éé»åè° PlayEvent:é³ä¹ææ¾å¼å§ãç»æäºä»¶åè°") |
| | | private String operate; |
| | | |
| | | /** |
| | | * asråççå
容 |
| | | */ |
| | | @ApiModelProperty(value = "asråççå
容") |
| | | private String asrResult; |
| | | |
| | | /** |
| | | * åä»»å¡ID |
| | | */ |
| | | @ApiModelProperty(value = "åä»»å¡ID") |
| | | private Long subId; |
| | | |
| | | /** |
| | | * é®é¢ID |
| | | */ |
| | | @ApiModelProperty(value = "é®é¢ID") |
| | | private Long scriptId; |
| | | |
| | | /** |
| | | * 任塿¨¡æ¿ID |
| | | */ |
| | | @ApiModelProperty(value = "任塿¨¡æ¿ID") |
| | | private Long taskTemplateid; |
| | | |
| | | /** |
| | | * å¯ä»¥å¯¹å½åééçé³éè¿è¡éå½è°æ´,åå¼èå´ã-4,4ã |
| | | */ |
| | | @ApiModelProperty(value = "åºå·") |
| | | private Integer sort; |
| | | |
| | | |
| | | @ApiModelProperty(value = "éè¿åºå¹é
çç»æ") |
| | | private String scriptContent; |
| | | |
| | | @ApiModelProperty(value = "æºæID") |
| | | private String orgid; |
| | | |
| | | @ApiModelProperty(value = "uuid") |
| | | private String uuid; |
| | | |
| | | @ApiModelProperty(value = "guid") |
| | | private String guid; |
| | | |
| | | } |
| | |
| | | @ApiModelProperty(value = "ç
人信æ¯") |
| | | private PatArchive patArchive; |
| | | |
| | | |
| | | /** |
| | | * æªå å¯çä»»å¡ID |
| | | */ |
| | | @ApiModelProperty("æªå å¯çä»»å¡ID") |
| | | @Excel(name = "æªå å¯çä»»å¡ID") |
| | | private Long taskId; |
| | | |
| | | |
| | | /** |
| | | * æªå å¯çåä»»å¡ID |
| | | */ |
| | | @ApiModelProperty("æªå å¯çåä»»å¡ID") |
| | | @Excel(name = "æªå å¯çåä»»å¡ID") |
| | | private Long subId; |
| | | |
| | | } |
| | | |
| | |
| | | package com.smartor.domain; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.common.annotation.Excel; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import com.ruoyi.common.annotation.Excel; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * åä¸ä»»å¡ï¼é访ï¼å¯¹è±¡ ivr_tasksingle |
| | |
| | | /** |
| | | * æ£è
æ¥æº |
| | | */ |
| | | @ApiModelProperty(value = "æ£è
æ¥æºï¼0æ¬å°æ£è
表 1å¤é¨æ£è
表") |
| | | @ApiModelProperty(value = "ä»»å¡ç
äººçæ¥æºï¼0ï¼å»é¢æ£è
ï¼1ï¼å¤é¨æ£è
2:导å
¥æ£è
") |
| | | private String patfrom; |
| | | |
| | | /** |
| | |
| | | @Excel(name = "æ¯ä¾") |
| | | private String ratio; |
| | | |
| | | @Excel(name = "åæ°") |
| | | private String score; |
| | | |
| | | @ApiModelProperty(value = "é®é¢ç±»åï¼1.åé 2å¤é 3é®ç 4填空 5å
¶å®ï¼") |
| | | private String valueType; |
| | | |
| | | @Excel(name = "é项") |
| | | private String targetvalue; |
| | | |
| | | @Excel(name = "ä»»å¡åç§°") |
| | | private String taskname; |
| | | |
| | |
| | | private String dutyDeptPersonCode; |
| | | |
| | | @Excel(name = "æ¥å¤ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æ¥å¤ç§å®¤åç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æ¥å¤ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String reportDeptPersonName; |
| | | |
| | | @Excel(name = "æ¥å¤ç§å®¤ç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æ¥å¤ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String reportDeptPersonCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººç¼ç (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººåç§° (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonName; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººç¼ç (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤ç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤ç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººåç§° (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤åç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤åç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptName; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººåç§° (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬è¯´æ") |
| | | @ApiModelProperty(value = "æµè½¬è¯´æ") |
| | | private String circulationExplain; |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººåç§° (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬æ¶é´") |
| | | @ApiModelProperty(value = "æµè½¬æ¶é´") |
| | | private Date circulationTime; |
| | | |
| | | /** |
| | | * æµè½¬ç¶æï¼0䏿µè½¬ï¼é»è®¤ï¼ 1æµè½¬ |
| | | */ |
| | | @Excel(name = "æµè½¬ç¶æï¼0䏿µè½¬ï¼é»è®¤ï¼ 1æµè½¬") |
| | | @ApiModelProperty(value = "æµè½¬ç¶æï¼0䏿µè½¬ï¼é»è®¤ï¼ 1æµè½¬") |
| | | private String circulationStatus; |
| | | |
| | | |
| | | @Excel(name = "æµè½¬äººå§å") |
| | | @ApiModelProperty(value = "æµè½¬äººå§å") |
| | | private String circulationPersonName; |
| | | |
| | | @Excel(name = "æµè½¬äººç¼ç ") |
| | | @ApiModelProperty(value = "æµè½¬äººç¼ç ") |
| | | private String circulationPersonCode; |
| | | } |
| | | |
| | |
| | | @Data |
| | | public class ServiceSubtaskExport extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | // |
| | | // /** |
| | | // * ç§å®¤åç§° |
| | | // */ |
| | | // @Excel(name = "主é®") |
| | | // @ApiModelProperty(value = "主é®") |
| | | // private Long id; |
| | | |
| | | |
| | | /** |
| | | * ç§å®¤åç§° |
| | |
| | | private String reportDeptPersonCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººç¼ç (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººåç§° (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonName; |
| | | |
| | | /** |
| | | * é®å¸é¢ç®åç±»IDéå |
| | | */ |
| | | @ApiModelProperty("满æåº¦æè§å¼å¸¸ï¼åªéå¯¹ææ¬ï¼") |
| | |
| | | @ApiModelProperty(value = "æ¥å¤ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String reportDeptPersonCode; |
| | | |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººç¼ç (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººåç§° (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonName; |
| | | |
| | | |
| | | @Excel(name = "åç±»IDéå") |
| | | @ApiModelProperty(value = "åç±»IDéå") |
| | | private List<Long> categoryids; |
| | |
| | | private String reportDeptPersonCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººç¼ç (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººåç§° (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonName; |
| | | /** |
| | | * é®å¸é¢ç®åç±»IDéå |
| | | */ |
| | | @ApiModelProperty("满æåº¦æè§å¼å¸¸ï¼åªéå¯¹ææ¬ï¼") |
| | |
| | | @ApiModelProperty(value = "æ¥å¤ç§å®¤åç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String reportDeptPersonName; |
| | | |
| | | @Excel(name = "æ¥å¤ç§å®¤ç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @Excel(name = "æ¥å¤ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æ¥å¤ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String reportDeptPersonCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººç¼ç (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººåç§° (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonName; |
| | | |
| | | /** |
| | | * é®å¸é¢ç®åç±»IDéå |
| | | */ |
| | | @ApiModelProperty("满æåº¦æè§å¼å¸¸ï¼åªéå¯¹ææ¬ï¼") |
| | |
| | | @Excel(name = "æ¥å¤ç§å®¤ç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æ¥å¤ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String reportDeptPersonCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººç¼ç (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººåç§° (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤è´£ä»»äººåç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptPersonName; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººç¼ç (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤ç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤ç¼ç ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptCode; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººåç§° (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬ç§å®¤åç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | @ApiModelProperty(value = "æµè½¬ç§å®¤åç§°ï¼å¦æå¤ä¸ªç§å®¤ç¨éå·åå²ï¼") |
| | | private String circulationDeptName; |
| | | |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººåç§° (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬è¯´æ") |
| | | @ApiModelProperty(value = "æµè½¬è¯´æ") |
| | | private String circulationExplain; |
| | | /** |
| | | * æµè½¬ç§å®¤è´£ä»»äººåç§° (妿å¤ä¸ªç§å®¤ç¨éå·åå²) |
| | | */ |
| | | @Excel(name = "æµè½¬æ¶é´") |
| | | @ApiModelProperty(value = "æµè½¬æ¶é´") |
| | | private Date circulationTime; |
| | | |
| | | /** |
| | | * æµè½¬ç¶æï¼0䏿µè½¬ï¼é»è®¤ï¼ 1æµè½¬ |
| | | */ |
| | | @Excel(name = "æµè½¬ç¶æï¼0䏿µè½¬ï¼é»è®¤ï¼ 1æµè½¬") |
| | | @ApiModelProperty(value = "æµè½¬ç¶æï¼0䏿µè½¬ï¼é»è®¤ï¼ 1æµè½¬") |
| | | private Integer circulationStatus; |
| | | |
| | | @Excel(name = "æµè½¬äººå§å") |
| | | @ApiModelProperty(value = "æµè½¬äººå§å") |
| | | private String circulationPersonName; |
| | | |
| | | @Excel(name = "æµè½¬äººç¼ç ") |
| | | @ApiModelProperty(value = "æµè½¬äººç¼ç ") |
| | | private String circulationPersonCode; |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * é®é¢ç»æDTO |
| | | * |
| | | * @author ruoyi |
| | | * @date 2024-02-02 |
| | | */ |
| | | |
| | | @ApiModel(value = "QuestionResultVO", description = "é®é¢ç»æVO") |
| | | @Data |
| | | public class QuestionResultVO 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; |
| | | |
| | | |
| | | /** |
| | | * 主é®idéå |
| | | */ |
| | | @ApiModelProperty(value = "主é®idéå") |
| | | private List<Long> subIdList; |
| | | |
| | | |
| | | /** |
| | | * å¼å§åºé¢æ¥æ |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "å¼å§åºé¢æ¥æ") |
| | | private Date startOutHospTime; |
| | | |
| | | /** |
| | | * ç»æåºé¢æ¥æ |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "ç»æåºé¢æ¥æ") |
| | | private Date endOutHospTime; |
| | | |
| | | |
| | | /** |
| | | * é®é¢å
容 |
| | | */ |
| | | @ApiModelProperty(value = "é®é¢å
容") |
| | | private String questionContent; |
| | | |
| | | /** |
| | | * åæ°æ¥è¯¢å¼å§ |
| | | */ |
| | | @ApiModelProperty(value = "åæ°æ¥è¯¢å¼å§") |
| | | private Double startScore; |
| | | |
| | | /** |
| | | * åæ°æ¥è¯¢ç»æ |
| | | */ |
| | | @ApiModelProperty(value = "åæ°æ¥è¯¢ç»æ") |
| | | private Double endScore; |
| | | |
| | | /** |
| | | * æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯éç¥ï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥) |
| | | */ |
| | | @Excel(name = "æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯ç®¡çï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥ 9使£é访 10.廿é访 11ï¼å½±åä¸ç§é访 12ãå¿çµä¸ç§éè®¿ï¼ 13ä¸ç§é访)") |
| | | @ApiModelProperty(value = "æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯ç®¡çï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥ 9使£é访 10.廿é访 11ï¼å½±åä¸ç§é访 12ãå¿çµä¸ç§éè®¿ï¼ 13ä¸ç§é访)") |
| | | private String serviceType; |
| | | |
| | | @ApiModelProperty(value = "é®é¢ç±»åï¼1.åé 2å¤é 3é®ç 4填空 5å
¶å®ï¼") |
| | | private String valueType; |
| | | } |
| | |
| | | /** |
| | | * æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯éç¥ï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥) |
| | | */ |
| | | @Excel(name = "æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯ç®¡çï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥ 9使£é访 10.廿é访 11ï¼å½±åä¸ç§é访 12ãå¿çµä¸ç§éè®¿ï¼ 13ä¸ç§é访)") |
| | | @ApiModelProperty(value = "æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯ç®¡çï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥ 9使£é访 10.廿é访 11ï¼å½±åä¸ç§é访 12ãå¿çµä¸ç§éè®¿ï¼ 13ä¸ç§é访)") |
| | | @Excel(name = "æå¡ç±»å(æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æ(åºé¢) 5ãå¤è¯ç®¡çï¼6ãä½é¢æ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥ 9使£é访 10.廿é访 11ï¼å½±åä¸ç§é访 12ãå¿çµä¸ç§éè®¿ï¼ 13ä¸ç§é访 14ãé¨è¯æ»¡æåº¦è°æ¥ 15æè¯å»ºè®® 16课é¢é访 17ã宣æå
³æ(å
¥é¢) 18ãå
¥é¢é访)") |
| | | @ApiModelProperty(value = "æå¡ç±»å(æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æ(åºé¢) 5ãå¤è¯ç®¡çï¼6ãä½é¢æ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥ 9使£é访 10.廿é访 11ï¼å½±åä¸ç§é访 12ãå¿çµä¸ç§éè®¿ï¼ 13ä¸ç§é访 14ãé¨è¯æ»¡æåº¦è°æ¥ 15æè¯å»ºè®® 16课é¢é访 17ã宣æå
³æ(å
¥é¢) 18ãå
¥é¢é访 19ææ¯é访 20 æ£è
å¼å¸¸æ¥å表)") |
| | | private String serviceType; |
| | | |
| | | /** |
| | |
| | | @ApiModelProperty(value = "宿æ¶é´") |
| | | private Date finishtime; |
| | | |
| | | /** |
| | | * 宿æ¶é´ |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "宿æ¶é´(å¼å§æ¥è¯¢)") |
| | | private Date finishtimeStart; |
| | | |
| | | /** |
| | | * 宿æ¶é´(ç»ææ¥è¯¢) |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "宿æ¶é´(ç»ææ¥è¯¢)") |
| | | private Date finishtimeEnd; |
| | | |
| | | |
| | | /** |
| | | * å°±è¯è®°å½ç¼å· |
| | |
| | | @ApiModelProperty(value = "宿æ¶é´") |
| | | private Date finishtime; |
| | | |
| | | /** |
| | | * 宿æ¶é´ |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "宿æ¶é´(å¼å§æ¥è¯¢)") |
| | | private Date finishtimeStart; |
| | | |
| | | /** |
| | | * 宿æ¶é´(ç»ææ¥è¯¢) |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "宿æ¶é´(ç»ææ¥è¯¢)") |
| | | private Date finishtimeEnd; |
| | | |
| | | /** |
| | | * å°±è¯è®°å½ç¼å· |
| | |
| | | * @param scheduleId 计åä¸»é® |
| | | * @param loopCount 轮次ï¼0=é¦è½®ï¼ |
| | | */ |
| | | public int countActiveByScheduleIdAndLoop(@Param("scheduleId") Long scheduleId, |
| | | @Param("loopCount") Long loopCount); |
| | | public int countActiveByScheduleIdAndLoop(@Param("scheduleId") Long scheduleId, @Param("loopCount") Long loopCount); |
| | | |
| | | /** |
| | | * ä»»å¡ç»ï¼appltype=5ï¼ï¼æåæä¸è½®æ¬¡çå
¨é¨ subtaskï¼ç¨äºå
éå°ä¸ä¸è½®ï¼ã |
| | | */ |
| | | public List<ServiceSubtask> selectByScheduleIdAndLoop(@Param("scheduleId") Long scheduleId, |
| | | @Param("loopCount") Long loopCount); |
| | | public List<ServiceSubtask> selectByScheduleIdAndLoop(@Param("scheduleId") Long scheduleId, @Param("loopCount") Long loopCount); |
| | | |
| | | /** |
| | | * éè®¿åæ¶çï¼åºé访æ¶é´<å®é
é访æ¶é´ |
| | |
| | | /** |
| | | * ç»è®¡é®é¢çé项çç¾åæ¯ |
| | | * |
| | | * @param taskIds |
| | | * @param taskIds ä»»å¡ ID å表 (ç¨äºæå¡ç±»å 2) |
| | | * @param startOutHospTime |
| | | * @param endOutHospTime |
| | | * @return |
| | | */ |
| | | List<ServiceSubtaskDetailRatioExport> statQuestionOption(@Param("taskIds") List<Long> taskIds, @Param("startOutHospTime") Date startOutHospTime, @Param("endOutHospTime") Date endOutHospTime); |
| | | List<ServiceSubtaskDetailRatioExport> statQuestionOption(@Param("taskIds") List<Long> taskIds, @Param("startOutHospTime") Date startOutHospTime, @Param("endOutHospTime") Date endOutHospTime, @Param("scoreStart") Double scoreStart, @Param("scoreEnd") Double scoreEnd, @Param("questiontext") String questiontext, @Param("valueType") String valueType); |
| | | |
| | | /** |
| | | * æ ¹æ®åä»»å¡ ID ç»è®¡é®é¢çé项çç¾åæ¯ï¼ç¨äºæ»¡æåº¦ç»è®¡ serviceType=6ï¼ |
| | | * |
| | | * @param subtaskIds åä»»å¡ ID å表 (åªè½å个 taskid ä¸çææåä»»å¡ id) |
| | | * @param startOutHospTime |
| | | * @param endOutHospTime |
| | | * @return |
| | | */ |
| | | 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); |
| | | |
| | | } |
| | |
| | | package com.smartor.mapper; |
| | | |
| | | import com.smartor.domain.IvrLibaTemplateScript; |
| | | import com.smartor.domain.SvyLibTemplateScript; |
| | | import com.smartor.domain.SvyLibTemplateScriptVO; |
| | | import org.apache.ibatis.annotations.Mapper; |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.service; |
| | | |
| | | import com.smartor.domain.*; |
| | | import com.smartor.domain.VO.HeLibraryCountVO; |
| | | import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO; |
| | | import com.smartor.domain.VO.TransferDeptVO; |
| | | import com.smartor.domain.entity.ServiceSubtaskEntity; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 䏿±çµè¯æå¡ |
| | | * |
| | | * @author ruoyi |
| | | * @date 2026-08-27 |
| | | */ |
| | | public interface IServicePhoneService { |
| | | OutboundInstanceResVO addOutboundInstance(OutboundConfigAddReqVO request); |
| | | } |
| | |
| | | |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.smartor.domain.*; |
| | | 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.entity.ServiceSubtaskEntity; |
| | |
| | | */ |
| | | public List<ServiceSubtaskRes> patItem(ServiceSubtaskEntity serviceSubtaskEntity); |
| | | |
| | | public List<ServiceSubtask> getServiceSubtasks(ServiceSubtaskEntity serviceSubtaskEntity); |
| | | |
| | | /** |
| | | * 转移ç§å®¤ç
åº |
| | | * |
| | | * @param transferDeptVO |
| | | * @return |
| | | */ |
| | |
| | | */ |
| | | public PhoneCallBackYQVO phoneCallBackYQ(PhoneCallReqYQVO phoneCallReqYQVO); |
| | | |
| | | public PhoneCallBackSHVO getFirstQues(PhoneCallReqYQVO phoneCallReqYQVO); |
| | | |
| | | public PhoneCallBackSHVO processResust(PhoneCallResultYQVO phoneCallReqYQVO); |
| | | |
| | | /** |
| | | * é®é¢ç»æå æ¯ |
| | | * |
| | | * @param QuestionResultVO |
| | | * @param serviceSubtaskRes |
| | | * @return |
| | | */ |
| | | public List<ServiceSubtaskDetailRatioExport> getDetailRatio(QuestionResultVO questionResultVO, List<ServiceSubtaskRes> serviceSubtaskRes); |
| | | |
| | | |
| | | /** |
| | | * é¨ç»®ä»»å¡æå |
| | | * |
| | |
| | | Map<String, Object> smsSubTask(Long subid); |
| | | |
| | | /** |
| | | * ç»è®¡é®é¢çé项çç¾åæ¯ |
| | | * ç»è®¡é®é¢çé项çç¾åæ¯ (ç¨äºæå¡ç±»å 2) |
| | | * |
| | | * @param taskIds |
| | | * @return |
| | | */ |
| | | public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds, Date startOutHospTime, Date endOutHospTime); |
| | | public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds, Date startOutHospTime, Date endOutHospTime, String scriptContent, Double scoreStart, Double scoreEnd, String valueType); |
| | | |
| | | /** |
| | | * æ ¹æ®åä»»å¡ ID ç»è®¡é®é¢çé项çç¾åæ¯ï¼ç¨äºæ»¡æåº¦ç»è®¡ serviceType=6ï¼ |
| | | * |
| | | * @param subtaskIds åä»»å¡ ID å表 |
| | | * @return |
| | | */ |
| | | public List<ServiceSubtaskDetailRatioExport> statQuestionOptionBySubtaskIds(List<Long> subtaskIds, Date startOutHospTime, Date endOutHospTime, String scriptContent, Double scoreStart, Double scoreEnd, String valueType); |
| | | |
| | | public String scanGenerateSubtask(ServiceTask serviceTaskVo); |
| | | |
| | |
| | | int start = patArchiveImport.getIdcardno().length() - 6; |
| | | String lastSixDigits = patArchiveImport.getIdcardno().substring(start, start + 6); |
| | | sysUser.setUserName(lastSixDigits); |
| | | //å¯ç ï¼xh@123456 |
| | | sysUser.setPassword("$2a$10$zja67LEWTESHutljd8bqEeRy.VgWb./8iJPpFR6VjTUa7ZYNfRRrO"); |
| | | //åå¯ç ï¼xh@123456 |
| | | //sysUser.setPassword("$2a$10$zja67LEWTESHutljd8bqEeRy.VgWb./8iJPpFR6VjTUa7ZYNfRRrO"); |
| | | //æ°å¯ç ï¼123456 |
| | | sysUser.setPassword("$2a$10$1CRhRCwPEqhEI4bkXYFOLu.ga0PLfDhI3pnvVQ1GX0sbHY3N/UJky"); |
| | | |
| | | sysUser.setPhonenumber(patArchiveImport.getTelcode()); |
| | | sysUser.setUserType("æ£è
"); |
| | | sysUser.setDeptId(395L); |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.service.impl; |
| | | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.fasterxml.jackson.core.JsonProcessingException; |
| | | import com.fasterxml.jackson.databind.JsonNode; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.google.gson.Gson; |
| | | import com.ruoyi.common.core.domain.entity.SysDept; |
| | | import com.ruoyi.common.core.redis.RedisCache; |
| | | import com.ruoyi.common.core.service.IConfigService; |
| | | import com.ruoyi.common.dx.MessageSend; |
| | | import com.ruoyi.common.exception.base.BaseException; |
| | | import com.ruoyi.common.utils.*; |
| | | import com.ruoyi.common.utils.http.HttpUtils; |
| | | import com.ruoyi.common.utils.spring.SpringUtils; |
| | | import com.ruoyi.system.domain.SysConfig; |
| | | import com.ruoyi.system.mapper.SysConfigMapper; |
| | | import com.ruoyi.system.service.ISysConfigService; |
| | | import com.smartor.common.FtpService; |
| | | import com.smartor.common.MtSubmitSmUtil; |
| | | import com.smartor.common.ScheduleSubtaskBuilder; |
| | | import com.smartor.config.PhoneUtils; |
| | | import com.smartor.domain.DTO.ServiceSubtaskDetailDTO; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.domain.VO.HeLibraryCountVO; |
| | | import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO; |
| | | import com.smartor.domain.VO.TransferDeptVO; |
| | | import com.smartor.domain.entity.ServiceSubtaskEntity; |
| | | import com.smartor.mapper.*; |
| | | import com.smartor.service.*; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import org.apache.commons.collections4.MapUtils; |
| | | import org.apache.commons.lang3.ObjectUtils; |
| | | import org.junit.Test; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.cache.annotation.Cacheable; |
| | | import org.springframework.data.redis.core.ListOperations; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.text.DecimalFormat; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.*; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.time.temporal.ChronoUnit; |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | | import java.util.regex.Matcher; |
| | | import java.util.regex.Pattern; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * åä¸ä»»å¡ï¼é访ï¼Serviceä¸å¡å±å¤ç |
| | | * |
| | | * @author ruoyi |
| | | * @date 2024-02-02 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class ServicPhoneServiceImpl implements IServicePhoneService { |
| | | @Value("${shurl}") |
| | | private String shurl; |
| | | |
| | | @Value("${shversion}") |
| | | private String shversion; |
| | | |
| | | /** |
| | | * æ°å¢å¤å¼å®ä¾é
ç½® |
| | | * |
| | | * @param request å¤å¼å®ä¾é
置请æ±å¯¹è±¡ |
| | | * @return å¤å¼å®ä¾é
ç½®ç»æ |
| | | * @throws BaseException æ¥å£è°ç¨å¤±è´¥ææ°æ®è§£æå¼å¸¸æ¶æåº |
| | | */ |
| | | @Override |
| | | public OutboundInstanceResVO addOutboundInstance(OutboundConfigAddReqVO request) { |
| | | // 1. åæ°æ ¡éª |
| | | validateRequest(request); |
| | | |
| | | // 2. åé HTTP è¯·æ± |
| | | String responseJson = sendHttpPostRequest(shurl + shversion + "/config/addOutboundInstance", request); |
| | | |
| | | // 3. è§£æååºå¹¶è¿åç»æ |
| | | return parseResponse(responseJson); |
| | | } |
| | | |
| | | /** |
| | | * åæ°æ ¡éª |
| | | */ |
| | | private void validateRequest(OutboundConfigAddReqVO request) { |
| | | if (request == null) { |
| | | throw new BaseException("请æ±åæ°ä¸è½ä¸ºç©º"); |
| | | } |
| | | |
| | | // å¿
ä¼ åæ°æ ¡éª |
| | | assertNotBlank(request.getName(), "项ç®åç§°ä¸è½ä¸ºç©º"); |
| | | assertNotBlank(request.getAgent(), "åå¸å·ä¸è½ä¸ºç©º"); |
| | | assertNotBlank(request.getTenantId(), "èµæºç»å·ä¸è½ä¸ºç©º"); |
| | | assertNotBlank(request.getCallType(), "å¼å«ç±»åä¸è½ä¸ºç©º"); |
| | | assertNotBlank(request.getActionID(), "actionID ä¸è½ä¸ºç©º"); |
| | | |
| | | // æ¡ä»¶å¿
å¡«æ ¡éªï¼isVgc=0 æ¶ï¼queueId å ratio 为å¿
å¡« |
| | | if ("0".equals(request.getIsVgc())) { |
| | | assertNotBlank(request.getQueueId(), "isVgc=0 æ¶ï¼æ§è¡åå¸ç» ID ä¸è½ä¸ºç©º"); |
| | | assertNotBlank(request.getRatio(), "isVgc=0 æ¶ï¼å¤å¼éçä¸è½ä¸ºç©º"); |
| | | } |
| | | // æ¡ä»¶å¿
å¡«æ ¡éªï¼isVgc=1 æ¶ï¼ivrId 为å¿
å¡« |
| | | else if ("1".equals(request.getIsVgc())) { |
| | | assertNotBlank(request.getIvrId(), "isVgc=1 æ¶ï¼IVR æµç¨ ID ä¸è½ä¸ºç©º"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * åé POST HTTP è¯·æ± |
| | | * |
| | | * @param url API å°å |
| | | * @param request 请æ±å¯¹è±¡ |
| | | * @return æå¡å¨ååº JSON å符串 |
| | | */ |
| | | private String sendHttpPostRequest(String url, Object request) { |
| | | log.info("å¼å§è°ç¨å¤å¼å®ä¾é
ç½®æ¥å£ï¼URL: {}", url); |
| | | |
| | | Map<String, String> headers = buildHeaders(); |
| | | String requestBody = new Gson().toJson(request); |
| | | |
| | | String response = HttpUtils.sendPostByHeader(url, requestBody, headers); |
| | | |
| | | if (StringUtils.isEmpty(response)) { |
| | | log.error("å¤å¼å®ä¾é
ç½®æ¥å£è°ç¨å¤±è´¥ï¼æªè¿åæææ°æ®ï¼URL: {}", url); |
| | | throw new BaseException("æ¥å£è°ç¨å¤±è´¥ï¼æªè¿åæææ°æ®"); |
| | | } |
| | | |
| | | log.info("å¤å¼å®ä¾é
ç½®æ¥å£è°ç¨æåï¼ååºï¼{}", response); |
| | | return response; |
| | | } |
| | | |
| | | /** |
| | | * æå»º HTTP 请æ±å¤´ |
| | | */ |
| | | private Map<String, String> buildHeaders() { |
| | | Map<String, String> headers = new HashMap<>(1); |
| | | headers.put("Content-Type", "application/json; charset=UTF-8"); |
| | | return headers; |
| | | } |
| | | |
| | | /** |
| | | * è§£æ HTTP ååºå¹¶è½¬æ¢ä¸º OutboundInstanceResVO |
| | | * |
| | | * @param responseJson ååº JSON å符串 |
| | | * @return å¤å¼å®ä¾é
ç½®ååºå¯¹è±¡ |
| | | * @throws BaseException å½ååºç ä¸ä¸º 200 æååºæ°æ®è§£æå¤±è´¥æ¶æåº |
| | | */ |
| | | private OutboundInstanceResVO parseResponse(String responseJson) { |
| | | try { |
| | | JSONObject response = JSON.parseObject(responseJson); |
| | | |
| | | // æ£æ¥ååºç |
| | | Integer code = response.getInteger("code"); |
| | | if (!"200".equals(code.toString())) { |
| | | String message = response.getString("message"); |
| | | log.error("å¤å¼å®ä¾é
ç½®æ¥å£è¿å失败ï¼code: {}, message: {}", code, message); |
| | | throw new BaseException("æ°å¢å¤å¼å®ä¾é
置失败ï¼" + message); |
| | | } |
| | | |
| | | // è§£æ data åæ®µ |
| | | JSONObject data = response.getJSONObject("data"); |
| | | if (data == null || data.isEmpty()) { |
| | | throw new BaseException("æ¥å£è¿åæ°æ®ä¸ºç©º"); |
| | | } |
| | | |
| | | return data.toJavaObject(OutboundInstanceResVO.class); |
| | | |
| | | } catch (BaseException e) { |
| | | throw e; |
| | | } catch (Exception e) { |
| | | log.error("è§£æå¤å¼å®ä¾é
ç½®ååºå¼å¸¸ï¼response: {}", responseJson, e); |
| | | throw new BaseException("è§£æååºæ°æ®å¼å¸¸ï¼" + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æè¨å符串é空工å
·æ¹æ³ |
| | | * |
| | | * @param value å¾
æ£æ¥çå¼ |
| | | * @param message æè¨å¤±è´¥æ¶çéè¯¯æ¶æ¯ |
| | | * @throws BaseException å½å¼ä¸ºç©ºæ¶æåº |
| | | */ |
| | | private void assertNotBlank(String value, String message) { |
| | | if (StringUtils.isBlank(value)) { |
| | | throw new BaseException(message); |
| | | } |
| | | } |
| | | } |
| | |
| | | import org.apache.commons.lang3.ObjectUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.scheduling.annotation.Async; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.math.BigDecimal; |
| | |
| | | return serviceSubtaskAnswerMapper.deleteServiceSubtaskAnswerById(id); |
| | | } |
| | | |
| | | /** |
| | | * ä¿åé®å·çæ¡ (弿¥å¤çï¼å¿«éè¿å) |
| | | * |
| | | * @param serviceSubTaskAnswerReq çæ¡è¯·æ± |
| | | * @param flag æ å¿ä½ |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | @Async("threadPoolTaskExecutor") |
| | | public Integer saveQuestionAnswer(ServiceSubTaskAnswerReq serviceSubTaskAnswerReq, Long flag) { |
| | | String threadName = Thread.currentThread().getName(); |
| | | log.info("[{}] å¼å§å¼æ¥å¤çä¿åé®å·çæ¡", threadName); |
| | | try { |
| | | //åæ°è§£å¯ |
| | | Long tid = null; |
| | | Long pid = null; |
| | |
| | | log.error("å°è¯¥keyåvalueä»redisä¸,serviceSubtaskçå¼ä¸º--------ï¼{}", serviceSubtask); |
| | | if (score != null && !score.isEmpty()) serviceSubtask.setScore(score); |
| | | serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask); |
| | | //ä¿®æ¹ä½é¢æ»¡æåº¦ç¶æï¼é¿å
é夿¥è¯¢ï¼ |
| | | if (serviceSubtask.getServiceType() != null && "6".equals(serviceSubtask.getServiceType())) { |
| | | Long inhospid = serviceSubtask.getInhospid(); |
| | | if (inhospid != null) { |
| | | PatMedInhosp patMedInhosp = new PatMedInhosp(); |
| | | patMedInhosp.setInhospMydFlag("1"); |
| | | patMedInhosp.setInhospid(inhospid); |
| | | patMedInhospMapper.updatePatMedInhosp(patMedInhosp); |
| | | } |
| | | } |
| | | |
| | | //å°å½ååéç¶ææ¹æ 9 宿ï¼ç¼å preachform æ¥è¯¢ï¼ |
| | | String currentPreachform = serviceSubtask.getCurrentPreachform(); |
| | |
| | | } |
| | | |
| | | } |
| | | log.info("[{}] 宿弿¥å¤çä¿åé®å·çæ¡", Thread.currentThread().getName()); |
| | | return 1; |
| | | } catch (Exception e) { |
| | | log.error("[{}] 弿¥å¤çä¿åé®å·çæ¡åçå¼å¸¸ : {},请æ±ç对象为ï¼{}", Thread.currentThread().getName(), e.getMessage(), e,serviceSubTaskAnswerReq); |
| | | throw new RuntimeException("ä¿åé®å·çæ¡å¤±è´¥", e); |
| | | } |
| | | |
| | | } |
| | | @Override |
| | | public Integer saveQuestionDetail(ServiceSubTaskCacheReq serviceSubTaskCacheReq, Long flag) { |
| | | Long tid = Long.valueOf(serviceSubTaskCacheReq.getParam1()); |
| | |
| | | subtaskDetailTrace.setDutyDeptPersonName(svyTaskTemplateScriptVO.getDutyDeptPersonName()); |
| | | subtaskDetailTrace.setReportDeptPersonCode(svyTaskTemplateScriptVO.getReportDeptPersonCode()); |
| | | subtaskDetailTrace.setReportDeptPersonName(svyTaskTemplateScriptVO.getReportDeptPersonName()); |
| | | subtaskDetailTrace.setCirculationDeptPersonCode(svyTaskTemplateScriptVO.getCirculationDeptPersonCode()); |
| | | subtaskDetailTrace.setCirculationDeptPersonName(svyTaskTemplateScriptVO.getCirculationDeptPersonName()); |
| | | |
| | | Long existTraceId = existingTraceIdMap.get(subtaskDetailTrace.getScriptid()); |
| | | if (existTraceId != null) { |
| | |
| | | import com.google.gson.Gson; |
| | | import com.ruoyi.common.core.domain.entity.SysDept; |
| | | import com.ruoyi.common.core.redis.RedisCache; |
| | | import com.ruoyi.common.core.service.IConfigService; |
| | | import com.ruoyi.common.dx.MessageSend; |
| | | import com.ruoyi.common.exception.base.BaseException; |
| | | import com.ruoyi.common.utils.*; |
| | |
| | | import com.smartor.common.MtSubmitSmUtil; |
| | | import com.smartor.common.ScheduleSubtaskBuilder; |
| | | import com.smartor.config.PhoneUtils; |
| | | 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.entity.ServiceSubtaskEntity; |
| | |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import org.apache.commons.collections4.MapUtils; |
| | | import org.apache.commons.lang3.ObjectUtils; |
| | | import org.checkerframework.checker.nullness.qual.NonNull; |
| | | import org.junit.Test; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.cache.annotation.Cacheable; |
| | |
| | | private PatMedOperationMapper patMedOperationMapper; |
| | | @Autowired |
| | | private PatMedOperationItemMapper patMedOperationItemMapper; |
| | | @Autowired |
| | | private ServiceOutPathMapper serviceOutPathMapper; |
| | | |
| | | /** |
| | | * æ¥è¯¢åä¸ä»»å¡ï¼éè®¿ï¼ |
| | |
| | | |
| | | @Override |
| | | public List<ServiceSubtaskRes> patItem(ServiceSubtaskEntity serviceSubtaskEntity) { |
| | | if (serviceSubtaskEntity.getSendstateView() != null) { |
| | | // 1ï¼å¾
é访ï¼1 被é¢åã2 å¾
åéã3 å·²åéã5 åé失败ã7ãè¶
æ¶ï¼ï¼2ï¼å·²å®æï¼ 6 已宿ï¼ã3ï¼æ éé访ï¼4 䏿§è¡ï¼ |
| | | if (serviceSubtaskEntity.getSendstateView() == 1) |
| | | serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(1L, 2L, 3L, 5L, 7L))); |
| | | if (serviceSubtaskEntity.getSendstateView() == 2) |
| | | serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(6L))); |
| | | if (serviceSubtaskEntity.getSendstateView() == 3) |
| | | serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(4L))); |
| | | } |
| | | //æ£è
è·åé访任å¡-éè¦æ¥è¯¢å个æ£è
ï¼èº«ä»½è¯ï¼ææçä»»å¡ æ¯å® |
| | | if (StringUtils.isNotEmpty(serviceSubtaskEntity.getOrgid()) && serviceSubtaskEntity.getOrgid().equals("47255004333112711A1001")) { |
| | | if (ObjectUtils.isNotEmpty(serviceSubtaskEntity.getPatid())) { |
| | | PatArchive patArchive = patArchiveService.selectPatArchiveByPatid(serviceSubtaskEntity.getPatid()); |
| | | if (ObjectUtils.isNotEmpty(patArchive) && StringUtils.isNotEmpty(patArchive.getIdcardno())) { |
| | | serviceSubtaskEntity.setPatid(null); |
| | | serviceSubtaskEntity.setSfzh(patArchive.getIdcardno()); |
| | | } |
| | | } |
| | | } |
| | | List<ServiceSubtask> selectServiceSubtaskList = this.selectServiceSubtaskList(serviceSubtaskEntity); |
| | | List<ServiceSubtask> selectServiceSubtaskList = getServiceSubtasks(serviceSubtaskEntity); |
| | | |
| | | List<ServiceSubtaskRes> serviceSubtaskResList = new ArrayList<>(); |
| | | for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { |
| | |
| | | serviceSubtaskResList.add(serviceSubtaskRes); |
| | | } |
| | | return serviceSubtaskResList; |
| | | } |
| | | |
| | | public List<ServiceSubtask> getServiceSubtasks(ServiceSubtaskEntity serviceSubtaskEntity) { |
| | | if (serviceSubtaskEntity.getSendstateView() != null) { |
| | | // 1ï¼å¾
é访ï¼1 被é¢åã2 å¾
åéã3 å·²åéã5 åé失败ã7ãè¶
æ¶ï¼ï¼2ï¼å·²å®æï¼ 6 已宿ï¼ã3ï¼æ éé访ï¼4 䏿§è¡ï¼ |
| | | if (serviceSubtaskEntity.getSendstateView() == 1) |
| | | serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(1L, 2L, 3L, 5L, 7L))); |
| | | if (serviceSubtaskEntity.getSendstateView() == 2) |
| | | serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(6L))); |
| | | if (serviceSubtaskEntity.getSendstateView() == 3) |
| | | serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(4L))); |
| | | } |
| | | //æ£è
è·åé访任å¡-éè¦æ¥è¯¢å个æ£è
ï¼èº«ä»½è¯ï¼ææçä»»å¡ æ¯å® |
| | | if (StringUtils.isNotEmpty(serviceSubtaskEntity.getOrgid()) && serviceSubtaskEntity.getOrgid().equals("47255004333112711A1001")) { |
| | | if (ObjectUtils.isNotEmpty(serviceSubtaskEntity.getPatid())) { |
| | | PatArchive patArchive = patArchiveService.selectPatArchiveByPatid(serviceSubtaskEntity.getPatid()); |
| | | if (ObjectUtils.isNotEmpty(patArchive) && StringUtils.isNotEmpty(patArchive.getIdcardno())) { |
| | | serviceSubtaskEntity.setPatid(null); |
| | | serviceSubtaskEntity.setSfzh(patArchive.getIdcardno()); |
| | | } |
| | | } |
| | | } |
| | | List<ServiceSubtask> selectServiceSubtaskList = this.selectServiceSubtaskList(serviceSubtaskEntity); |
| | | return selectServiceSubtaskList; |
| | | } |
| | | |
| | | @Override |
| | |
| | | */ |
| | | @Override |
| | | public Map<String, Object> insertServiceSubtask(ServiceSubtask serviceSubtask) { |
| | | serviceSubtask.setCreateTime(DateUtils.getNowDate()); |
| | | serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | List<ServiceSubtask> serviceSubtasks = null; |
| | | //å
æ¥è¯¢ä¸ä¸è¯¥æ£è
æ¯å¦å·²ç»åå»ºæ ¹æ®serviceType,sendstate,inhospid,patid,orgid |
| | | //è¿æ ·å¤æä¸»è¦æ¯ä¸ºäºæ³è®©æ°åå»é¢çå¤é¨å¯¼å
¥æ£è
å建任å¡ï¼ä¹è½ç¨è¿ä¸ªæ¥å£ |
| | | if (StringUtils.isEmpty(serviceSubtask.getPatfrom()) || !serviceSubtask.getPatfrom().equals("2")) { |
| | | ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity(); |
| | | serviceSubtaskVO.setServiceType(serviceSubtask.getServiceType()); |
| | | serviceSubtaskVO.setInhospid(serviceSubtask.getInhospid()); |
| | | serviceSubtaskVO.setSendstates(new ArrayList<>(Arrays.asList(1L, 2L, 3L, 5L, 7L))); |
| | | serviceSubtaskVO.setPatid(serviceSubtask.getPatid()); |
| | | serviceSubtaskVO.setOrgid(serviceSubtask.getOrgid()); |
| | | serviceSubtaskVO.setCampusid(serviceSubtask.getCampusid()); |
| | | serviceSubtasks = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); |
| | | } |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | String format = null; |
| | | if (CollectionUtils.isNotEmpty(serviceSubtasks)) { |
| | | ServiceSubtask serviceSubtask1 = serviceSubtasks.get(0); |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setSubId(serviceSubtask1.getId()); |
| | | List<ServiceOutPath> serviceOutPaths = serviceOutPathMapper.selectServiceOutPathList(serviceOutPath); |
| | | if (CollectionUtils.isNotEmpty(serviceOutPaths)) |
| | | format = String.format("%03X", serviceOutPaths.get(0).getId()); |
| | | else format = getOutPath(serviceSubtask1, rsaPublicKeyExample); |
| | | serviceSubtask = serviceSubtask1; |
| | | } else { |
| | | //妿ä¸åå¨ï¼åæ°å¢ |
| | | 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()); |
| | | } |
| | | |
| | | serviceSubtask.setCreateTime(DateUtils.getNowDate()); |
| | | serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | //ä¿®æ¹ä½é¢æ»¡æåº¦ç¶æï¼é¿å
é夿¥è¯¢ï¼ |
| | | if (serviceSubtask.getServiceType() != null && "6".equals(serviceSubtask.getServiceType())) { |
| | | Long inhospid = serviceSubtask.getInhospid(); |
| | | if (inhospid != null) { |
| | | PatMedInhosp patMedInhosp = new PatMedInhosp(); |
| | | patMedInhosp.setInhospMydFlag("1"); |
| | | patMedInhosp.setInhospid(inhospid); |
| | | patMedInhospMapper.updatePatMedInhosp(patMedInhosp); |
| | | } |
| | | } |
| | | format = getOutPath(serviceSubtask, rsaPublicKeyExample); |
| | | } |
| | | |
| | | Map<String, Object> result = new HashMap<>(); |
| | | if (StringUtils.isNotEmpty(format)) |
| | | result.put("url", StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/wt?p=" + format : localIP + "/wt?p=" + format); |
| | | else result.put("url", null); |
| | | result.put("subId", serviceSubtask.getId()); |
| | | return result; |
| | | } |
| | | |
| | | private String getOutPath(ServiceSubtask serviceSubtask, RSAPublicKeyExample rsaPublicKeyExample) { |
| | | String format; |
| | | String taskId = rsaPublicKeyExample.encryptedData(serviceSubtask.getTaskid().toString(), pub_key); |
| | | String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); |
| | | String subId = rsaPublicKeyExample.encryptedData(serviceSubtask.getId().toString(), pub_key); |
| | |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | serviceOutPath.setParam6(subId); |
| | | serviceOutPath.setOrgid(serviceSubtask.getOrgid()); |
| | | serviceOutPath.setTaskId(serviceSubtask.getTaskid()); |
| | | serviceOutPath.setSubId(serviceSubtask.getId()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | //转æ16è¿å¶ |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | |
| | | Map<String, Object> result = new HashMap<>(); |
| | | result.put("url", StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/wt?p=" + format : localIP + "/wt?p=" + format); |
| | | result.put("subId", serviceSubtask.getId()); |
| | | return result; |
| | | return format; |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | } |
| | | |
| | | } |
| | | else if (serviceTaskVO.getIsoperation() != null && serviceTaskVO.getIsoperation() == 2) { |
| | | } else if (serviceTaskVO.getIsoperation() != null && serviceTaskVO.getIsoperation() == 2) { |
| | | //ä»»å¡ä¿®æ¹ |
| | | if (ObjectUtils.isNotEmpty(serviceTaskVO.getSendTimeslot())) |
| | | serviceTask.setSendTimeSlot(JSON.toJSONString(serviceTaskVO.getSendTimeslot())); |
| | |
| | | patMedOuthosp.setServerState("0"); |
| | | patMedOuthospService.updatePatMedOuthosp(patMedOuthosp); |
| | | } |
| | | } |
| | | } else if (serviceSubtask.getServiceType().equals("19")) { |
| | | ServiceTask st = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid()); |
| | | //妿任塿¯é¿æä»»å¡ï¼éè¦å°è¯¥æ£è
çææ¯è¯¦æ
æ°æ® |
| | | if (st != null && st.getLongTask() == 1 && ObjectUtils.isNotEmpty(serviceSubtask.getOperationItemId())) { |
| | | PatMedOperationItem patMedOperationItem = new PatMedOperationItem(); |
| | | patMedOperationItem.setOpercheckFlag("0"); |
| | | patMedOperationItem.setId(serviceSubtask.getOperationItemId()); |
| | | patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds, Date startOutHospTime, Date endOutHospTime) { |
| | | 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)) { |
| | | serviceSubtaskDetailMapper.deleteRepeatDetailByIds(repeatIds); |
| | | } |
| | | return serviceSubtaskMapper.statQuestionOption(taskIds, startOutHospTime, endOutHospTime); |
| | | List<ServiceSubtaskDetailRatioExport> serviceSubtaskDetailRatioExports = serviceSubtaskMapper.statQuestionOption(taskIds, startOutHospTime, endOutHospTime, scoreStart, scoreEnd, scriptContent, valueType); |
| | | |
| | | // å¤ç targetvalueï¼æ & å岿夿¡è®°å½ |
| | | List<ServiceSubtaskDetailRatioExport> result = new ArrayList<>(); |
| | | for (ServiceSubtaskDetailRatioExport export : serviceSubtaskDetailRatioExports) { |
| | | if (StringUtils.isNotEmpty(export.getTargetvalue()) && export.getTargetvalue().contains("&")) { |
| | | String[] values = export.getTargetvalue().split("&"); |
| | | // 妿æå¤æ¡ç®æ å¼ï¼æåæå¤è¡ |
| | | 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); |
| | | if (existingExport != null && existingExport.getRatio().equals("0") && existingExport.getCount().equals("0")) { |
| | | //妿åå¨ï¼åå° result éçè¿ä¸ªé®é¢æå¯¹åºç Targetvalue=value è¿æ¡æ°æ®æ´æ°æå½åè¿æ¡æ°æ® |
| | | if(value.equals(export.getOptionresult())) { |
| | | existingExport.setRatio(export.getRatio()); |
| | | existingExport.setScore(export.getScore()); |
| | | existingExport.setCount(export.getCount()); |
| | | existingExport.setOptionresult(export.getOptionresult()); |
| | | } |
| | | } else if (existingExport != null && !existingExport.getRatio().equals("0")) { |
| | | continue; |
| | | } else { |
| | | ServiceSubtaskDetailRatioExport newExport = DtoConversionUtils.sourceToTarget(export, ServiceSubtaskDetailRatioExport.class); |
| | | newExport.setTargetvalue(value.trim()); // targetvalue æ¾ç¤ºå个é项 |
| | | if (!value.equals(export.getOptionresult())) { |
| | | newExport.setOptionresult(null); |
| | | newExport.setCount("0"); |
| | | newExport.setRatio("0"); |
| | | } |
| | | result.add(newExport); |
| | | } |
| | | } |
| | | } else { |
| | | // targetvalue ä¸å
å« &ï¼ç´æ¥æ·»å å°ç»æ |
| | | result.add(export); |
| | | } |
| | | } |
| | | |
| | | 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); |
| | | // å¤ç targetvalueï¼æ & å岿夿¡è®°å½ |
| | | List<ServiceSubtaskDetailRatioExport> result = new ArrayList<>(); |
| | | for (ServiceSubtaskDetailRatioExport export : serviceSubtaskDetailRatioExports) { |
| | | if (StringUtils.isNotEmpty(export.getTargetvalue()) && export.getTargetvalue().contains("&")) { |
| | | String[] values = export.getTargetvalue().split("&"); |
| | | // 妿æå¤æ¡ç®æ å¼ï¼æåæå¤è¡ |
| | | 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); |
| | | if (existingExport != null && existingExport.getRatio().equals("0") && existingExport.getCount().equals("0")) { |
| | | //妿åå¨ï¼åå° result éçè¿ä¸ªé®é¢æå¯¹åºç Targetvalue=value è¿æ¡æ°æ®æ´æ°æå½åè¿æ¡æ°æ® |
| | | if(value.equals(export.getOptionresult())) { |
| | | existingExport.setRatio(export.getRatio()); |
| | | existingExport.setScore(export.getScore()); |
| | | existingExport.setCount(export.getCount()); |
| | | existingExport.setOptionresult(export.getOptionresult()); |
| | | } |
| | | } else if (existingExport != null && !existingExport.getRatio().equals("0")) { |
| | | continue; |
| | | } else { |
| | | ServiceSubtaskDetailRatioExport newExport = DtoConversionUtils.sourceToTarget(export, ServiceSubtaskDetailRatioExport.class); |
| | | newExport.setTargetvalue(value.trim()); // targetvalue æ¾ç¤ºå个é项 |
| | | if (!value.equals(export.getOptionresult())) { |
| | | newExport.setOptionresult(null); |
| | | newExport.setCount("0"); |
| | | newExport.setRatio("0"); |
| | | } |
| | | result.add(newExport); |
| | | } |
| | | } |
| | | } else { |
| | | // targetvalue ä¸å
å« &ï¼ç´æ¥æ·»å å°ç»æ |
| | | result.add(export); |
| | | } |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | public PhoneCallBackSHVO getFirstQues(PhoneCallReqYQVO phoneCallReqYQVO) { |
| | | //ç¨äºè¿å |
| | | PhoneCallBackSHVO phoneCallBackSHVO = new PhoneCallBackSHVO(); |
| | | |
| | | //æ ¹æ®ææºå·è·åç¨æ·ççåä»»å¡ä¿¡æ¯ |
| | | ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity(); |
| | | serviceSubtaskVO.setPhone(phoneCallReqYQVO.getPhone()); |
| | | serviceSubtaskVO.setType("1"); |
| | | serviceSubtaskVO.setSendstate(2L); |
| | | List<ServiceSubtask> serviceSubtasks = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); |
| | | if (CollectionUtils.isNotEmpty(serviceSubtasks)) { |
| | | ServiceSubtask serviceSubtask = serviceSubtasks.get(0); |
| | | IvrTaskTemplate ivrTaskTemplate = ivrTaskTemplateService.selectIvrTaskTemplateByID(serviceSubtask.getTemplateid()); |
| | | |
| | | //éè¿ä»»å¡æ¨¡æ¿ä¸ç"ç¬¬ä¸æ¬¡é®é¢ç¼å·"è·å第ä¸ä¸ªé®é¢; |
| | | IvrTaskTemplateScript ivrTaskTemplateScript = null; |
| | | IvrTaskTemplateScript ivrTaskTemplateScript1 = new IvrTaskTemplateScript(); |
| | | ivrTaskTemplateScript1.setTemplateID(ivrTaskTemplate.getId()); |
| | | List<IvrTaskTemplateScript> ivrTaskTemplateScripts = iIvrTaskTemplateScriptService.selectIvrTaskTemplateScriptList(ivrTaskTemplateScript1); |
| | | |
| | | for (IvrTaskTemplateScript ivrTaskTemplateScript2 : ivrTaskTemplateScripts) { |
| | | if (ivrTaskTemplate.getFirstQuestionNum() == Long.valueOf(ivrTaskTemplateScript2.getSort())) { |
| | | ivrTaskTemplateScript = ivrTaskTemplateScript2; |
| | | break; |
| | | } |
| | | } |
| | | //è·åå¼åºç½ |
| | | ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid()); |
| | | |
| | | phoneCallBackSHVO.setSubId(serviceSubtask.getId()); |
| | | phoneCallBackSHVO.setScriptId(ivrTaskTemplateScript.getId()); |
| | | phoneCallBackSHVO.setSort(ivrTaskTemplateScript.getSort()); |
| | | phoneCallBackSHVO.setTaskTemplateid(ivrTaskTemplateScript.getTemplateID()); |
| | | phoneCallBackSHVO.setScriptContent(serviceTask.getKcb() + "," + ivrTaskTemplateScript.getScriptContent()); |
| | | } |
| | | return phoneCallBackSHVO; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 䏿±ASRç»æå¤ç |
| | | * |
| | | * @param phoneCallResultYQVO |
| | | * @return |
| | | */ |
| | | public PhoneCallBackSHVO processResust(PhoneCallResultYQVO phoneCallResultYQVO) { |
| | | PhoneCallBackSHVO phoneCallBackSHVO = new PhoneCallBackSHVO(); |
| | | //éè¿scriptidï¼è·åææçç»æ |
| | | String url = configService.selectConfigByKey("sys.voice.match.ai.url", phoneCallResultYQVO.getOrgid()); |
| | | ServiceSubtask serviceSubtask = serviceSubtaskMapper.selectServiceSubtaskById(phoneCallResultYQVO.getSubId()); |
| | | IvrTaskTemplate ivrTaskTemplate = ivrTaskTemplateService.selectIvrTaskTemplateByID(serviceSubtask.getTemplateid()); |
| | | IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO = iIvrTaskTemplateScriptService.getTaskTempScriptInfoByid(Long.valueOf(phoneCallResultYQVO.getScriptId())); |
| | | Integer i = matchOptionIndex(url, phoneCallResultYQVO.getScriptContent(), phoneCallResultYQVO.getAsrResult(), ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList(), phoneCallResultYQVO.getUuid()); |
| | | if (i >= 0) { |
| | | String optiondesc = ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(i).getOptiondesc(); |
| | | //å°æ£è
çåçåè¿service_subtask_detailä¸ |
| | | ServiceSubTaskDetailReq serviceSubTaskDetailReq = new ServiceSubTaskDetailReq(); |
| | | List<ServiceSubtaskDetail> serviceSubtaskDetailList = new ArrayList<>(); |
| | | ivrTaskTemplateScriptVO.setQuestionResult(optiondesc); |
| | | |
| | | PhoneCallReqYQVO phoneCallReqYQVO = new PhoneCallReqYQVO(); |
| | | phoneCallReqYQVO.setTaskid("" + serviceSubtask.getId()); |
| | | phoneCallReqYQVO.setPhone(phoneCallResultYQVO.getPhone()); |
| | | phoneCallReqYQVO.setAsrtext(phoneCallResultYQVO.getAsrResult()); |
| | | ServiceSubtaskDetail serviceSubtaskDetail = getServiceSubtaskDetail(phoneCallReqYQVO, ivrTaskTemplateScriptVO, serviceSubtask, ivrTaskTemplate); |
| | | //ä¿®æ¹ä¸ä¸è¯é³è·¯å¾ï¼æ¹æå端å¯ä»¥è®¿é®çï¼åå°æ°æ®åºä¸ï¼ |
| | | if (StringUtils.isNotEmpty(serviceSubtaskDetail.getQuestionvoice())) { |
| | | String questionvoice = serviceSubtaskDetail.getQuestionvoice(); |
| | | String[] split = questionvoice.split("\\\\"); |
| | | if (split.length > 0) { |
| | | String lastPart = split[split.length - 1]; |
| | | serviceSubtaskDetail.setQuestionvoice(voicePathPrefix + lastPart); |
| | | } |
| | | } |
| | | serviceSubtaskDetailList.add(serviceSubtaskDetail); |
| | | serviceSubTaskDetailReq.setServiceSubtaskDetailList(serviceSubtaskDetailList); |
| | | serviceSubTaskDetailReq.setGuid(phoneCallResultYQVO.getGuid()); |
| | | serviceSubTaskDetailReq.setOrgid(phoneCallResultYQVO.getOrgid()); |
| | | saveQuestionAnswerPhone(serviceSubTaskDetailReq); |
| | | |
| | | IvrTaskTemplateScript ivrTaskTemplateScript = new IvrTaskTemplateScript(); |
| | | ivrTaskTemplateScript.setTemplateID(ivrTaskTemplateScriptVO.getTemplateID()); |
| | | List<IvrTaskTemplateScript> ivrTaskTemplateScripts = iIvrTaskTemplateScriptService.selectIvrTaskTemplateScriptList(ivrTaskTemplateScript); |
| | | |
| | | //è·åä¸ä¸é¢ |
| | | for (IvrTaskTemplateScript script : ivrTaskTemplateScripts) { |
| | | if (ivrTaskTemplateScriptVO.getNextScriptno() == null || ivrTaskTemplateScriptVO.getNextScriptno() == 0) { |
| | | ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid()); |
| | | phoneCallBackSHVO.setScriptContent(serviceTask.getJsy()); |
| | | phoneCallBackSHVO.setTaskTemplateid(script.getTemplateID()); |
| | | phoneCallBackSHVO.setSort(script.getSort()); |
| | | phoneCallBackSHVO.setScriptId(script.getId()); |
| | | phoneCallBackSHVO.setSubId(serviceSubtask.getId()); |
| | | phoneCallBackSHVO.setStatus("0"); |
| | | } else if (script.getSort() == ivrTaskTemplateScriptVO.getNextScriptno().intValue()) { |
| | | phoneCallBackSHVO.setScriptContent(script.getScriptContent()); |
| | | phoneCallBackSHVO.setTaskTemplateid(script.getTemplateID()); |
| | | phoneCallBackSHVO.setSort(script.getSort()); |
| | | phoneCallBackSHVO.setScriptId(script.getId()); |
| | | phoneCallBackSHVO.setSubId(serviceSubtask.getId()); |
| | | break; |
| | | } |
| | | } |
| | | //æç¼åæ¸
é¤ |
| | | redisCache.deleteObject(phoneCallResultYQVO.getSubId() + "-" + phoneCallResultYQVO.getScriptId()); |
| | | } else { |
| | | //åå°éå¤è¯¢é® |
| | | //è®°å½ä¸ä¸è¿ä¸ªé®é¢è¢«é®é¢çæ¬¡æ° |
| | | Object cacheObject = redisCache.getCacheObject(phoneCallResultYQVO.getSubId() + "-" + phoneCallResultYQVO.getScriptId()); |
| | | if (cacheObject == null || (Integer) cacheObject < ivrTaskTemplate.getMateNum()) { |
| | | |
| | | |
| | | // è·åé项éåä¸ç optiondesc ç¨äºå¼å¯¼æ£è
|
| | | List<IvrTaskTemplateTargetoption> optionList = ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList(); |
| | | String optionDescStr = ""; |
| | | if (optionList != null && !optionList.isEmpty()) { |
| | | optionDescStr = optionList.stream().map(IvrTaskTemplateTargetoption::getTargetvalue).filter(StringUtils::isNotEmpty).collect(Collectors.joining("æ")); |
| | | } |
| | | |
| | | String scriptContent = "请é®" + phoneCallResultYQVO.getScriptContent(); |
| | | if (StringUtils.isNotEmpty(optionDescStr)) { |
| | | scriptContent += "ï¼ä½ å¯ä»¥åçï¼" + optionDescStr; |
| | | } |
| | | phoneCallBackSHVO.setScriptContent(scriptContent); |
| | | phoneCallBackSHVO.setTaskTemplateid(phoneCallResultYQVO.getTaskTemplateid()); |
| | | phoneCallBackSHVO.setSort(phoneCallResultYQVO.getSort()); |
| | | phoneCallBackSHVO.setScriptId(phoneCallResultYQVO.getScriptId()); |
| | | phoneCallBackSHVO.setSubId(phoneCallResultYQVO.getSubId()); |
| | | if (cacheObject == null) |
| | | redisCache.setCacheObject(phoneCallResultYQVO.getSubId() + "-" + phoneCallResultYQVO.getScriptId(), 1, 120, TimeUnit.MINUTES); |
| | | else |
| | | redisCache.setCacheObject(phoneCallResultYQVO.getSubId() + "-" + phoneCallResultYQVO.getScriptId(), (Integer) cacheObject + 1, 120, TimeUnit.MINUTES); |
| | | } else if ((Integer) cacheObject >= ivrTaskTemplate.getMateNum()) { |
| | | //妿已ç»é®äºè§å®æ¬¡æ°ï¼å°±ä¸é®äºï¼ç»§ç»é®ä¸ä¸é¢ï¼è¿ä¸ªè¦åéä¸ä¸ï¼æ¯ç»§ç»é®ä¸ä¸é¢ï¼è¿æ¯åäºï¼æ¯ä¸æ¯è¦å个å¼å
³ï¼ |
| | | IvrTaskTemplateScript ivrTaskTemplateScript = new IvrTaskTemplateScript(); |
| | | ivrTaskTemplateScript.setTemplateID(ivrTaskTemplateScriptVO.getTemplateID()); |
| | | List<IvrTaskTemplateScript> ivrTaskTemplateScripts = iIvrTaskTemplateScriptService.selectIvrTaskTemplateScriptList(ivrTaskTemplateScript); |
| | | //è·åä¸ä¸é¢ |
| | | for (IvrTaskTemplateScript script : ivrTaskTemplateScripts) { |
| | | if (script.getSort() == ivrTaskTemplateScriptVO.getNextScriptno().intValue()) { |
| | | phoneCallBackSHVO.setScriptContent(script.getScriptContent()); |
| | | phoneCallBackSHVO.setTaskTemplateid(script.getTemplateID()); |
| | | phoneCallBackSHVO.setSort(script.getSort()); |
| | | phoneCallBackSHVO.setScriptId(script.getId()); |
| | | phoneCallBackSHVO.setSubId(serviceSubtask.getId()); |
| | | break; |
| | | } |
| | | } |
| | | //æç¼åæ¸
é¤ |
| | | redisCache.deleteObject(phoneCallResultYQVO.getSubId() + "-" + phoneCallResultYQVO.getScriptId()); |
| | | } |
| | | } |
| | | return phoneCallBackSHVO; |
| | | } |
| | | |
| | | |
| | | public PhoneCallBackYQVO AiMatch(String url, PhoneCallReqYQVO phoneCallReqYQVO, PhoneCallBackYQVO phoneCallBackYQVO, IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO, ServiceSubtask serviceSubtask, IvrTaskTemplate ivrTaskTemplate, List<IvrTaskTemplateScript> ivrTaskTemplateScripts, String scriptId, Integer flag, String uuid) { |
| | | PhoneCallBackYQVO back = null; |
| | | List<IvrTaskTemplateTargetoption> options = ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList(); |
| | |
| | | return back; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * é®é¢ç»æå æ¯ |
| | | * |
| | | * @param serviceSubtaskEntity |
| | | * @param serviceSubtaskRes |
| | | * @return |
| | | */ |
| | | public List<ServiceSubtaskDetailRatioExport> getDetailRatio(QuestionResultVO questionResultVO, List<ServiceSubtaskRes> serviceSubtaskRes) { |
| | | List<ServiceSubtaskDetailRatioExport> serviceSubtaskDetailRatioExports = null; |
| | | 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()); |
| | | } 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()); |
| | | } |
| | | return serviceSubtaskDetailRatioExports; |
| | | } |
| | | |
| | | //è·åä»»å¡ç»ä¿¡æ¯ |
| | | private void findServiceTaskScheduleVO(ServiceTaskVO serviceTaskVO){ |
| | | if(StringUtils.isNotEmpty(serviceTaskVO.getAppltype()) && serviceTaskVO.getAppltype().equals("5")){ |
| | | private void findServiceTaskScheduleVO(ServiceTaskVO serviceTaskVO) { |
| | | if (StringUtils.isNotEmpty(serviceTaskVO.getAppltype()) && serviceTaskVO.getAppltype().equals("5")) { |
| | | //ä»»å¡ç»ä¿¡æ¯ |
| | | ServiceTaskSchedule schedule = serviceTaskScheduleService.selectByTaskid(serviceTaskVO.getTaskid()); |
| | | if (ObjectUtils.isNotEmpty(schedule)) { |
| | | ServiceTaskScheduleVO serviceTaskScheduleVO = DtoConversionUtils.sourceToTarget(schedule, ServiceTaskScheduleVO.class); |
| | | List<ServiceTaskScheduleDetail> scheduleDetailList = |
| | | serviceTaskScheduleService.selectDetailByScheduleid(schedule.getId()); |
| | | List<ServiceTaskScheduleDetail> scheduleDetailList = serviceTaskScheduleService.selectDetailByScheduleid(schedule.getId()); |
| | | serviceTaskScheduleVO.setDetailList(scheduleDetailList); |
| | | serviceTaskVO.setServiceTaskScheduleVO(serviceTaskScheduleVO); |
| | | } |
| | |
| | | <result property="dutyDeptPersonCode" column="duty_dept_person_code"/> |
| | | <result property="reportDeptPersonCode" column="report_dept_person_name"/> |
| | | <result property="reportDeptPersonName" column="report_dept_person_code"/> |
| | | <result property="circulationDeptPersonCode" column="circulation_dept_person_code"/> |
| | | <result property="circulationDeptPersonName" column="circulation_dept_person_name"/> |
| | | </resultMap> |
| | | |
| | | <sql id="selectIvrLibaTemplateScriptVo"> |
| | |
| | | duty_dept_person_code, |
| | | report_dept_person_name, |
| | | report_dept_person_code, |
| | | circulation_dept_person_code, |
| | | circulation_dept_person_name, |
| | | dimension, |
| | | sort, |
| | | script_assortname, |
| | |
| | | <if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">and report_dept_person_code like concat('%', #{reportDeptPersonCode}, |
| | | '%') |
| | | </if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">and circulation_dept_person_code like concat('%', #{circulationDeptPersonCode}, |
| | | '%') |
| | | </if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">and circulation_dept_person_name like concat('%', #{circulationDeptPersonName}, |
| | | '%') |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | |
| | | <if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">duty_dept_person_code,</if> |
| | | <if test="reportDeptPersonName != null and reportDeptPersonName != ''">report_dept_person_name,</if> |
| | | <if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">report_dept_person_code,</if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">circulation_dept_person_code,</if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">circulation_dept_person_name,</if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="scriptno != null">#{scriptno},</if> |
| | |
| | | <if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">#{dutyDeptPersonCode},</if> |
| | | <if test="reportDeptPersonName != null and reportDeptPersonName != ''">#{reportDeptPersonName},</if> |
| | | <if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">#{reportDeptPersonCode},</if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">#{circulationDeptPersonCode},</if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">#{circulationDeptPersonName},</if> |
| | | </trim> |
| | | </insert> |
| | | |
| | |
| | | <if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">duty_dept_person_code = #{dutyDeptPersonCode},</if> |
| | | <if test="reportDeptPersonName != null and reportDeptPersonName != ''">report_dept_person_name = #{reportDeptPersonName},</if> |
| | | <if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">report_dept_person_code = #{reportDeptPersonCode},</if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">circulation_dept_person_name = #{circulationDeptPersonName},</if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">circulation_dept_person_code = #{circulationDeptPersonCode},</if> |
| | | <if test="targetid != null">targetid = #{targetid},</if> |
| | | <if test="scriptTopic != null">script_topic = #{scriptTopic},</if> |
| | | <if test="nextScriptno != null">next_scriptno = #{nextScriptno},</if> |
| | |
| | | <result property="dutyDeptPersonCode" column="duty_dept_person_code"/> |
| | | <result property="reportDeptPersonCode" column="report_dept_person_name"/> |
| | | <result property="reportDeptPersonName" column="report_dept_person_code"/> |
| | | <result property="circulationDeptPersonCode" column="circulation_dept_person_code"/> |
| | | <result property="circulationDeptPersonName" column="circulation_dept_person_name"/> |
| | | </resultMap> |
| | | |
| | | <sql id="selectIvrTaskTemplateScriptVo"> |
| | |
| | | duty_dept_person_code, |
| | | report_dept_person_name, |
| | | report_dept_person_code, |
| | | circulation_dept_person_code, |
| | | circulation_dept_person_name, |
| | | sort, |
| | | ivrtext, |
| | | script_type, |
| | |
| | | #{reportDeptPersonCode}, |
| | | '%') |
| | | </if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">and circulation_dept_person_code like concat('%', |
| | | #{circulationDeptPersonCode}, |
| | | '%') |
| | | </if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">and circulation_dept_person_name like concat('%', |
| | | #{circulationDeptPersonName}, |
| | | '%') |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="selectIvrTaskTemplateScriptByID" parameterType="Long" resultMap="IvrTaskTemplateScriptResult"> |
| | |
| | | <if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">duty_dept_person_code,</if> |
| | | <if test="reportDeptPersonName != null and reportDeptPersonName != ''">report_dept_person_name,</if> |
| | | <if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">report_dept_person_code,</if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">circulation_dept_person_code,</if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">circulation_dept_person_name,</if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="taskid != null">#{taskid},</if> |
| | |
| | | <if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">#{dutyDeptPersonCode},</if> |
| | | <if test="reportDeptPersonName != null and reportDeptPersonName != ''">#{reportDeptPersonName},</if> |
| | | <if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">#{reportDeptPersonCode},</if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">#{circulationDeptPersonCode},</if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">#{circulationDeptPersonName},</if> |
| | | </trim> |
| | | </insert> |
| | | |
| | |
| | | <if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">duty_dept_person_code = #{dutyDeptPersonCode},</if> |
| | | <if test="reportDeptPersonName != null and reportDeptPersonName != ''">report_dept_person_name = #{reportDeptPersonName},</if> |
| | | <if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">report_dept_person_code = #{reportDeptPersonCode},</if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">circulation_dept_person_name = #{circulationDeptPersonName},</if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">circulation_dept_person_code = #{circulationDeptPersonCode},</if> |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | |
| | | order by b.endtime desc |
| | | </if> |
| | | <if test="cry != null and cry==0"> |
| | | order by b.starttime desc |
| | | order by b.starttime desc , b.bed_no asc |
| | | </if> |
| | | </select> |
| | | |
| | |
| | | <result property="wardName" column="ward_name"/> |
| | | <result property="deptCode" column="dept_code"/> |
| | | <result property="deptName" column="dept_name"/> |
| | | <result property="taskId" column="task_id"/> |
| | | <result property="subId" column="sub_id"/> |
| | | |
| | | </resultMap> |
| | | |
| | | <sql id="selectServiceOutPathVo"> |
| | |
| | | param3, |
| | | param5, |
| | | param6, |
| | | task_id, |
| | | sub_id, |
| | | create_time, |
| | | update_time, |
| | | radix, |
| | |
| | | <if test="deptName != null and deptName != ''"> |
| | | and dept_name=#{deptName} |
| | | </if> |
| | | <if test="subId != null"> |
| | | and sub_id=#{subId} |
| | | </if> |
| | | <if test="taskId != null"> |
| | | and task_id=#{taskId} |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="selectServiceOutPathById" parameterType="Long" |
| | |
| | | </if> |
| | | <if test="deptName != null">dept_name, |
| | | </if> |
| | | |
| | | <if test="subId != null"> |
| | | sub_id, |
| | | </if> |
| | | <if test="taskId != null "> |
| | | task_id, |
| | | </if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="param1 != null">#{param1}, |
| | |
| | | <if test="deptCode != null">#{deptCode}, |
| | | </if> |
| | | <if test="deptName != null">#{deptName}, |
| | | </if> |
| | | <if test="subId != null "> |
| | | #{subId}, |
| | | </if> |
| | | <if test="taskId != null "> |
| | | #{taskId}, |
| | | </if> |
| | | </trim> |
| | | </insert> |
| | |
| | | <if test="deptName != null">dept_name = |
| | | #{deptName}, |
| | | </if> |
| | | <if test="subId != null"> |
| | | sub_id=#{subId}, |
| | | </if> |
| | | <if test="taskId != null"> |
| | | task_id=#{taskId}, |
| | | </if> |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | |
| | | <result property="dutyDeptPersonCode" column="duty_dept_person_code"/> |
| | | <result property="reportDeptPersonCode" column="report_dept_person_name"/> |
| | | <result property="reportDeptPersonName" column="report_dept_person_code"/> |
| | | <result property="circulationDeptPersonCode" column="circulation_dept_person_code"/> |
| | | <result property="circulationDeptPersonName" column="circulation_dept_person_name"/> |
| | | <result property="circulationDeptCode" column="circulation_dept_code"/> |
| | | <result property="circulationDeptName" column="circulation_dept_name"/> |
| | | <result property="circulationExplain" column="circulation_explain"/> |
| | | <result property="circulationTime" column="circulation_time"/> |
| | | <result property="circulationStatus" column="circulation_status"/> |
| | | <result property="circulationPersonName" column="circulation_person_name"/> |
| | | <result property="circulationPersonCode" column="circulation_person_code"/> |
| | | |
| | | </resultMap> |
| | | |
| | | <sql id="selectServiceSubtaskDetailTtraceVo"> |
| | | select id, |
| | | circulation_status, |
| | | circulation_person_name, |
| | | circulation_person_code, |
| | | duty_dept_person_name, |
| | | duty_dept_person_code, |
| | | report_dept_person_name, |
| | | report_dept_person_code, |
| | | circulation_dept_person_code, |
| | | circulation_dept_person_name, |
| | | circulation_dept_code, |
| | | circulation_dept_name, |
| | | circulation_explain, |
| | | circulation_time, |
| | | detail_id, |
| | | is_myd_exception, |
| | | dimension, |
| | |
| | | <if test="reportDeptPersonCode != null and reportDeptPersonCode != ''"> |
| | | and report_dept_person_code like concat('%', #{reportDeptPersonCode}, '%') |
| | | </if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''"> |
| | | and circulation_dept_person_code like concat('%', #{circulationDeptPersonCode}, '%') |
| | | </if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''"> |
| | | and circulation_dept_person_name like concat('%', #{circulationDeptPersonName}, '%') |
| | | </if> |
| | | <if test="circulationDeptCode != null and circulationDeptCode != ''"> |
| | | and circulation_dept_code like concat('%', #{circulationDeptCode}, '%') |
| | | </if> |
| | | <if test="circulationDeptName != null and circulationDeptName != ''"> |
| | | and circulation_dept_name like concat('%', #{circulationDeptName}, '%') |
| | | </if> |
| | | <if test="circulationExplain != null and circulationExplain != ''"> |
| | | and circulation_explain like concat('%', #{circulationExplain}, '%') |
| | | </if> |
| | | <if test="circulationTime != null "> |
| | | and circulation_time = #{circulationTime} |
| | | </if> |
| | | <if test="circulationStatus != null "> |
| | | and circulation_status = #{circulationStatus} |
| | | </if> |
| | | <if test="circulationPersonName != null and circulationPersonName != ''"> |
| | | and circulation_person_name like concat('%', #{circulationPersonName}, '%') |
| | | </if> |
| | | <if test="circulationPersonCode != null and circulationPersonCode != ''"> |
| | | and circulation_person_code =#{circulationPersonCode} |
| | | </if> |
| | | <if test="pageSize != null and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if> |
| | | </select> |
| | | |
| | |
| | | </if> |
| | | <if test="reportDeptPersonCode != null and reportDeptPersonCode != ''"> |
| | | and report_dept_person_code like concat('%', #{reportDeptPersonCode}, '%') |
| | | </if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''"> |
| | | and circulation_dept_person_code like concat('%', #{circulationDeptPersonCode}, '%') |
| | | </if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''"> |
| | | and circulation_dept_person_name like concat('%', #{circulationDeptPersonName}, '%') |
| | | </if> |
| | | <if test="circulationDeptCode != null and circulationDeptCode != ''"> |
| | | and circulation_dept_code like concat('%', #{circulationDeptCode}, '%') |
| | | </if> |
| | | <if test="circulationDeptName != null and circulationDeptName != ''"> |
| | | and circulation_dept_name like concat('%', #{circulationDeptName}, '%') |
| | | </if> |
| | | <if test="circulationExplain != null and circulationExplain != ''"> |
| | | and circulation_explain like concat('%', #{circulationExplain}, '%') |
| | | </if> |
| | | <if test="circulationTime != null "> |
| | | and circulation_time = #{circulationTime} |
| | | </if> |
| | | <if test="circulationStatus != null "> |
| | | and circulation_status = #{circulationStatus} |
| | | </if> |
| | | <if test="circulationPersonName != null and circulationPersonName != ''"> |
| | | and circulation_person_name like concat('%', #{circulationPersonName}, '%') |
| | | </if> |
| | | <if test="circulationPersonCode != null and circulationPersonCode != ''"> |
| | | and circulation_person_code =#{circulationPersonCode} |
| | | </if> |
| | | </select> |
| | | |
| | |
| | | </if> |
| | | <if test="reportDeptPersonCode != null">report_dept_person_code, |
| | | </if> |
| | | <if test="circulationDeptPersonCode != null">circulation_dept_person_code, |
| | | </if> |
| | | <if test="circulationDeptPersonName != null">circulation_dept_person_name, |
| | | </if> |
| | | <if test="circulationDeptCode != null "> |
| | | circulation_dept_code, |
| | | </if> |
| | | <if test="circulationDeptName != null"> |
| | | circulation_dept_name, |
| | | </if> |
| | | <if test="circulationExplain != null "> |
| | | circulation_explain, |
| | | </if> |
| | | <if test="circulationTime != null "> |
| | | circulation_time, |
| | | </if> |
| | | <if test="circulationStatus != null "> |
| | | circulation_status, |
| | | </if> |
| | | <if test="circulationPersonName != null and circulationPersonName != ''"> |
| | | circulation_person_name, |
| | | </if> |
| | | <if test="circulationPersonCode != null and circulationPersonCode != ''"> |
| | | circulation_person_code, |
| | | </if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="detailId != null">#{detailId}, |
| | |
| | | <if test="reportDeptPersonName != null">#{reportDeptPersonName}, |
| | | </if> |
| | | <if test="reportDeptPersonCode != null">#{reportDeptPersonCode}, |
| | | </if> |
| | | <if test="circulationDeptPersonCode != null">#{circulationDeptPersonCode}, |
| | | </if> |
| | | <if test="circulationDeptPersonName != null">#{circulationDeptPersonName}, |
| | | </if> |
| | | <if test="circulationDeptCode != null"> |
| | | #{circulationDeptCode}, |
| | | </if> |
| | | <if test="circulationDeptName != null"> |
| | | #{circulationDeptName}, |
| | | </if> |
| | | <if test="circulationExplain != null"> |
| | | #{circulationExplain}, |
| | | </if> |
| | | <if test="circulationTime != null "> |
| | | #{circulationTime}, |
| | | </if> |
| | | <if test="circulationStatus != null "> |
| | | #{circulationStatus}, |
| | | </if> |
| | | <if test="circulationPersonName != null and circulationPersonName != ''"> |
| | | #{circulationPersonName}, |
| | | </if> |
| | | <if test="circulationPersonCode != null and circulationPersonCode != ''"> |
| | | #{circulationPersonCode}, |
| | | </if> |
| | | </trim> |
| | | </insert> |
| | |
| | | <if test="reportDeptPersonCode != null">report_dept_person_code = |
| | | #{reportDeptPersonCode}, |
| | | </if> |
| | | <if test="circulationDeptPersonCode != null">circulation_dept_person_code = |
| | | #{circulationDeptPersonCode}, |
| | | </if> |
| | | <if test="circulationDeptPersonName != null">circulation_dept_person_name = |
| | | #{circulationDeptPersonName}, |
| | | </if> |
| | | <if test="circulationDeptCode != null">circulation_dept_code = |
| | | #{circulationDeptCode}, |
| | | </if> |
| | | <if test="circulationDeptName != null">circulation_dept_name = |
| | | #{circulationDeptName}, |
| | | </if> |
| | | <if test="circulationExplain != null">circulation_explain = |
| | | #{circulationExplain}, |
| | | </if> |
| | | <if test="circulationTime != null">circulation_time = |
| | | #{circulationTime}, |
| | | </if> |
| | | <if test="circulationStatus != null "> |
| | | circulation_status = #{circulationStatus}, |
| | | </if> |
| | | <if test="circulationPersonName != null and circulationPersonName != ''"> |
| | | circulation_person_name =#{circulationPersonName}, |
| | | </if> |
| | | <if test="circulationPersonCode != null and circulationPersonCode != ''"> |
| | | circulation_person_code =#{circulationPersonCode}, |
| | | </if> |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | |
| | | <if test="endSendDateTime != null"> |
| | | AND date_format(visit_time,'%y%m%d') <= date_format(#{endSendDateTime},'%y%m%d') |
| | | </if> |
| | | <if test="finishtimeStart != null"> |
| | | AND date_format(finishtime,'%y%m%d') >= date_format(#{finishtimeStart},'%y%m%d') |
| | | </if> |
| | | <if test="finishtimeEnd != null"> |
| | | AND date_format(finishtime,'%y%m%d') <= date_format(#{finishtimeEnd},'%y%m%d') |
| | | </if> |
| | | <if test="longSendTime != null"> |
| | | AND date_format(long_send_time,'%y%m%d') <= date_format(#{longSendTime},'%y%m%d') |
| | | </if> |
| | |
| | | </if> |
| | | <if test="deptOrDistrict==2"> |
| | | AND (1=1 |
| | | <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0"> |
| | | <if test="leavehospitaldistrictcodes != null"> |
| | | AND leavehospitaldistrictcode IN |
| | | <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" |
| | | separator="," |
| | |
| | | #{leavehospitaldistrictcode} |
| | | </foreach> |
| | | </if> |
| | | <if test=" leaveldeptcodes != null and leaveldeptcodes.size()>0"> |
| | | <if test=" leaveldeptcodes != null"> |
| | | OR deptcode IN |
| | | <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator="," |
| | | close=")"> |
| | |
| | | t.taskid AS taskid, |
| | | t.task_name AS taskName, |
| | | d.asrtext AS optionresult, |
| | | d.score AS score, |
| | | d.targetvalue AS targetvalue, |
| | | d.value_type AS valueType, |
| | | COUNT(*) AS count, |
| | | CONCAT(ROUND(COUNT(*) * 100.0 / t2.total_count, 2), '%') AS ratio |
| | | 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 t.taskid IN |
| | | <foreach collection="taskIds" item="taskId" open="(" separator="," close=")"> |
| | | #{taskId} |
| | | </foreach> |
| | | WHERE 1=1 |
| | | <if test="taskIds != null and taskIds.size() > 0"> |
| | | AND t.taskid IN |
| | | <foreach collection="taskIds" item="taskId" open="(" separator="," close=")"> |
| | | #{taskId} |
| | | </foreach> |
| | | </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 |
| | | t.taskid, |
| | | d.questiontext |
| | | ) t2 ON t2.taskid = t.taskid AND t2.questiontext = d.questiontext |
| | | WHERE t.taskid IN |
| | | <foreach collection="taskIds" item="taskId" open="(" separator="," close=")"> |
| | | #{taskId} |
| | | </foreach> |
| | | WHERE 1=1 |
| | | <if test="taskIds != null and taskIds.size() > 0"> |
| | | AND t.taskid IN |
| | | <foreach collection="taskIds" item="taskId" open="(" separator="," close=")"> |
| | | #{taskId} |
| | | </foreach> |
| | | </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 |
| | | <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> |
| | | GROUP BY |
| | | t.taskid, |
| | | d.questiontext, |
| | | d.score, |
| | | d.targetvalue, |
| | | d.asrtext, |
| | | d.value_type |
| | | ORDER BY |
| | | d.questiontext, |
| | | t.taskid |
| | | </select> |
| | | |
| | | <!-- æ°æ¹æ³ï¼æ ¹æ®åä»»å¡ ID ç»è®¡é®é¢é项ç¾åæ¯ (ç¨äºæ»¡æåº¦ç»è®¡ serviceType=6) --> |
| | | <select id="statQuestionOptionBySubtaskIds" resultType="com.smartor.domain.ServiceSubtaskDetailRatioExport"> |
| | | SELECT |
| | | d.questiontext AS questiontext, |
| | | t.taskid AS taskid, |
| | | t.task_name AS taskName, |
| | | d.asrtext AS optionresult, |
| | | d.score AS score, |
| | | d.targetvalue AS targetvalue, |
| | | d.value_type AS valueType, |
| | | COUNT(*) AS count, |
| | | CONCAT(ROUND(COUNT(*) * 100.0 / t2.total_count, 2), '%') AS ratio |
| | | 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 |
| | | INNER JOIN ( |
| | | SELECT |
| | | 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"> |
| | | AND s.id IN |
| | | <foreach collection="subtaskIds" item="subtaskId" open="(" separator="," close=")"> |
| | | #{subtaskId} |
| | | </foreach> |
| | | </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 |
| | | ) 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> |
| | | </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> |
| | |
| | | GROUP BY |
| | | t.taskid, |
| | | d.questiontext, |
| | | d.score, |
| | | d.targetvalue, |
| | | d.asrtext |
| | | ORDER BY |
| | | d.questiontext, |
| | |
| | | <result property="reportDeptPersonName" column="report_dept_person_code"/> |
| | | <result property="isMydException" column="is_myd_exception"/> |
| | | <result property="dimension" column="dimension"/> |
| | | <result property="circulationDeptPersonCode" column="circulation_dept_person_code"/> |
| | | <result property="circulationDeptPersonName" column="circulation_dept_person_name"/> |
| | | |
| | | </resultMap> |
| | | |
| | |
| | | script_picture, |
| | | script_topic, |
| | | isavailable, language, otherdata, value_type, reply, scoretype |
| | | , circulation_dept_person_code, circulation_dept_person_name |
| | | from svy_lib_template_script |
| | | </sql> |
| | | |
| | |
| | | #{reportDeptPersonCode}, |
| | | '%') |
| | | </if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">and circulation_dept_person_code like concat('%', |
| | | #{circulationDeptPersonCode}, |
| | | '%') |
| | | </if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">and circulation_dept_person_name like concat('%', |
| | | #{circulationDeptPersonName}, |
| | | '%') |
| | | </if> |
| | | <if test="pageSize != null and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if> |
| | | </select> |
| | | |
| | |
| | | </if> |
| | | <if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">and report_dept_person_code like concat('%', |
| | | #{reportDeptPersonCode}, |
| | | '%') |
| | | </if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">and circulation_dept_person_code like concat('%', |
| | | #{circulationDeptPersonCode}, |
| | | '%') |
| | | </if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">and circulation_dept_person_name like concat('%', |
| | | #{circulationDeptPersonName}, |
| | | '%') |
| | | </if> |
| | | <if test="dimensionList == null ">and dimension IS NOT NULL </if> |
| | |
| | | <if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">duty_dept_person_code,</if> |
| | | <if test="reportDeptPersonName != null and reportDeptPersonName != ''">report_dept_person_name,</if> |
| | | <if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">report_dept_person_code,</if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">circulation_dept_person_code,</if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">circulation_dept_person_name,</if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="nextScriptno != null">#{nextScriptno},</if> |
| | |
| | | <if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">#{dutyDeptPersonCode},</if> |
| | | <if test="reportDeptPersonName != null and reportDeptPersonName != ''">#{reportDeptPersonName},</if> |
| | | <if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">#{reportDeptPersonCode},</if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">#{circulationDeptPersonCode},</if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">#{circulationDeptPersonName},</if> |
| | | </trim> |
| | | </insert> |
| | | |
| | |
| | | <if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">duty_dept_person_code = #{dutyDeptPersonCode},</if> |
| | | <if test="reportDeptPersonName != null and reportDeptPersonName != ''">report_dept_person_name = #{reportDeptPersonName},</if> |
| | | <if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">report_dept_person_code = #{reportDeptPersonCode},</if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">circulation_dept_person_name = #{circulationDeptPersonName},</if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">circulation_dept_person_code = #{circulationDeptPersonCode},</if> |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | |
| | | <result property="reportDeptPersonName" column="report_dept_person_code"/> |
| | | <result property="isMydException" column="is_myd_exception"/> |
| | | <result property="dimension" column="dimension"/> |
| | | <result property="circulationDeptPersonCode" column="circulation_dept_person_code"/> |
| | | <result property="circulationDeptPersonName" column="circulation_dept_person_name"/> |
| | | </resultMap> |
| | | |
| | | <sql id="selectSvyTaskTemplateScriptVo"> |
| | |
| | | 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 |
| | | , 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 |
| | | </sql> |
| | | |
| | |
| | | <if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">and report_dept_person_code like concat('%', #{reportDeptPersonCode}, |
| | | '%') |
| | | </if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">and circulation_dept_person_code like concat('%', #{circulationDeptPersonCode}, |
| | | '%') |
| | | </if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">and circulation_dept_person_name like concat('%', #{circulationDeptPersonName}, |
| | | '%') |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="selectSvyTaskTemplateScriptByID" parameterType="Long" resultMap="SvyTaskTemplateScriptResult"> |
| | |
| | | <if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">duty_dept_person_code,</if> |
| | | <if test="reportDeptPersonName != null and reportDeptPersonName != ''">report_dept_person_name,</if> |
| | | <if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">report_dept_person_code,</if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">circulation_dept_person_code,</if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">circulation_dept_person_name,</if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="taskid != null">#{taskid},</if> |
| | |
| | | <if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">#{dutyDeptPersonCode},</if> |
| | | <if test="reportDeptPersonName != null and reportDeptPersonName != ''">#{reportDeptPersonName},</if> |
| | | <if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">#{reportDeptPersonCode},</if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">#{circulationDeptPersonCode},</if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">#{circulationDeptPersonName},</if> |
| | | </trim> |
| | | </insert> |
| | | |
| | |
| | | <if test="dutyDeptPersonCode != null and dutyDeptPersonCode != ''">duty_dept_person_code = #{dutyDeptPersonCode},</if> |
| | | <if test="reportDeptPersonName != null and reportDeptPersonName != ''">report_dept_person_name = #{reportDeptPersonName},</if> |
| | | <if test="reportDeptPersonCode != null and reportDeptPersonCode != ''">report_dept_person_code = #{reportDeptPersonCode},</if> |
| | | <if test="circulationDeptPersonName != null and circulationDeptPersonName != ''">circulation_dept_person_name = #{circulationDeptPersonName},</if> |
| | | <if test="circulationDeptPersonCode != null and circulationDeptPersonCode != ''">circulation_dept_person_code = #{circulationDeptPersonCode},</if> |
| | | </trim> |
| | | where id = #{d} |
| | | </update> |