ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -19,6 +19,7 @@ import com.smartor.mapper.SvyTaskSingleMapper; import com.smartor.service.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.connection.Message; @@ -162,22 +163,37 @@ if (StringUtils.isNotEmpty(commonTaskcallMQ.getPreachform())) { //如何任务发送方式不为空 String[] split = commonTaskcallMQ.getPreachform().split(","); System.out.println("split的值为:" + split); log.error("split的值为:{}", split); //定义一个集合,用与存没有执行的子任务ID List<Long> subIds = new ArrayList<>(); //临时存没有执行的子任务ID List<Long> lssubIds = new ArrayList<>(); //是否将全部患者者发送完 Boolean isSend = false; aa: for (String serviceFrom : split) { String descByCode = ServiceFromEnum.getDescByCode(Integer.valueOf(serviceFrom)); //这里可以考虑用策略模式优化一下,不然太难看了 // //通过模板ID获取模板问题 // IvrTaskTemplateVO ivrTaskTemplateVO = new IvrTaskTemplateVO(); // ivrTaskTemplateVO.setId(Long.valueOf(commonTaskcallMQ.getTemplateid())); // IvrTaskTemplateVO ivrTaskTemplateVO1 = ivrTaskTemplateService.selectInfoByCondition(ivrTaskTemplateVO); if (isSend == true) { break aa; } //通过任务ID拿到患者信息 ServiceSubtaskVO ivrTaskcall = new ServiceSubtaskVO(); ivrTaskcall.setTaskid(commonTaskcallMQ.getTaskid()); ivrTaskcall.setSendstate(1L); List<ServiceSubtask> selectServiceSubtaskList = ivrTaskcallMapper.selectServiceSubtaskList(ivrTaskcall); if (descByCode.equals("电话")) { for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { //先判断一下,subIds是否为空,如果不为空,只执行subIds里的患者 if (CollectionUtils.isNotEmpty(subIds)) { boolean contains = subIds.contains(serviceSubtask.getId()); //如果contains不为true,说明当前的患者已经发送成功,直接循环下一个人就行 if (!contains) continue; } try { ServiceTask ivrTask = ivrTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid()); if (ivrTask.getSendState() != null && ivrTask.getSendState() == 3 || ivrTask.getSendState() != null && ivrTask.getSendState() == 4) { //如何任务被“暂停”或“终止” @@ -215,19 +231,48 @@ } redisCache.setCacheObject(key, value); } //任务发送记录(这个代码应该写在phoneTask中,先写在这,后面再改) } catch (Exception exception) { ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); serviceSubtaskRecord.setPreachform("3"); serviceSubtaskRecord.setResult("fail"); serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); serviceSubtaskRecord.setRemark("电话发送失败"); log.error("电话发送失败:{}", exception.getMessage()); lssubIds.add(serviceSubtask.getId()); serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); // //通过多线程的方式去打电话 // executorService.submit(new PhoneTask(serviceSubtask, ivrTaskTemplateVO1, redisCache, sendService, phonePath, robotPhoneUtils)); continue; } //在子任务表里记录一下 String uuid = UUID.randomUUID().toString(); serviceSubtask.setResult("success"); serviceSubtask.setRemark("电话发送成功"); serviceSubtask.setGuid(uuid); serviceSubtask.setSendstate(6L); serviceSubtask.setFinishtime(new Date()); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); //任务发送记录 ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); serviceSubtaskRecord.setUuid(uuid); serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); serviceSubtaskRecord.setPreachform("3"); serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); serviceSubtaskRecord.setRemark("电话发送成功"); serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); } if (CollectionUtils.isEmpty(lssubIds)) { //如果“临时子任务”为空,说明全发送完了 isSend = true; } //将子任务ID清空,将“临时子任务”数据 放到 “子任务” 中 subIds.clear(); subIds.addAll(lssubIds); lssubIds.clear(); } else if (descByCode.equals("多媒体")) { //多媒体 continue; @@ -242,6 +287,13 @@ String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key); for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { //先判断一下,subIds是否为空,如果不为空,只执行subIds里的患者 if (CollectionUtils.isNotEmpty(subIds)) { boolean contains = subIds.contains(serviceSubtask.getId()); //如果contains不为true,说明当前的患者已经发送成功,直接循环下一个人就行 if (!contains) continue; } try { String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); SendMagParam sendMagParam = new SendMagParam(); @@ -255,27 +307,64 @@ } Boolean aBoolean = sendService.sendMsg(sendMagParam); //任务发送记录 if (!aBoolean) { ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); serviceSubtaskRecord.setPreachform("4"); serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); serviceSubtaskRecord.setResult(aBoolean == true ? "success" : "error"); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); serviceSubtaskRecord.setRemark("短信发送失败"); lssubIds.add(serviceSubtask.getId()); serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); } catch (UnsupportedEncodingException e) { String guid = UUID.randomUUID().toString(); log.error("短信任务,发送失败原因:{},{}", e.getMessage(), guid); serviceSubtask.setResult("error"); serviceSubtask.setRemark("系统错误(任务)"); serviceSubtask.setGuid(guid); serviceSubtask.setSendstate(4L); continue; } } catch (Exception e) { ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); serviceSubtaskRecord.setPreachform("4"); serviceSubtaskRecord.setResult("fail"); serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); serviceSubtaskRecord.setRemark("短信发送失败"); log.error("短信发送失败:{}", e.getMessage()); lssubIds.add(serviceSubtask.getId()); serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); continue; } //在子任务表里记录一下 String uuid = UUID.randomUUID().toString(); serviceSubtask.setResult("success"); serviceSubtask.setRemark("短信发送成功"); serviceSubtask.setGuid(uuid); serviceSubtask.setSendstate(3L); serviceSubtask.setFinishtime(new Date()); serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); //任务发送记录 ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); serviceSubtaskRecord.setUuid(uuid); serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); serviceSubtaskRecord.setPreachform("5"); serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); serviceSubtaskRecord.setResult("success"); serviceSubtaskRecord.setRemark("短信发送成功"); serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); } if (CollectionUtils.isEmpty(lssubIds)) { //如果“临时子任务”为空,说明全发送完了 isSend = true; } //将子任务ID清空,将“临时子任务”数据 放到 “子任务” 中 subIds.clear(); subIds.addAll(lssubIds); lssubIds.clear(); } else if (descByCode.equals("公众号")) { //公众号 RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); @@ -310,39 +399,79 @@ serviceSubtask.setResult("success"); serviceSubtask.setSendstate(3L); if ((Boolean) map.get("succ") == false) { serviceSubtask.setResult("error"); serviceSubtask.setRemark(map.get("msg").toString()); serviceSubtask.setSendstate(5L); } } //任务发送记录 ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); serviceSubtaskRecord.setPreachform("5"); serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); serviceSubtaskRecord.setResult("success"); if ((Boolean) map.get("succ") == false) { serviceSubtaskRecord.setResult("error"); } serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); serviceSubtaskRecord.setRemark(map.get("msg").toString()); lssubIds.add(serviceSubtask.getId()); serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); continue; } } } catch (Exception e) { String guid = UUID.randomUUID().toString(); log.error("公众号任务,发送失败原因:{},{}", e.getMessage(), guid); ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); serviceSubtaskRecord.setPreachform("5"); serviceSubtaskRecord.setResult("fail"); serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); serviceSubtaskRecord.setRemark("公众号发送失败"); log.error("公众号发送失败:{}", e.getMessage()); lssubIds.add(serviceSubtask.getId()); serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); continue; } //在子任务表里记录一下 String uuid = UUID.randomUUID().toString(); serviceSubtask.setResult("success"); serviceSubtask.setRemark("公众号发送成功"); serviceSubtask.setGuid(uuid); serviceSubtask.setSendstate(3L); serviceSubtask.setFinishtime(new Date()); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); //任务发送记录 ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); serviceSubtaskRecord.setUuid(uuid); serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); serviceSubtaskRecord.setPreachform("5"); serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); serviceSubtaskRecord.setResult("success"); serviceSubtaskRecord.setRemark("公众号发送成功"); serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); } if (CollectionUtils.isEmpty(lssubIds)) { //如果“临时子任务”为空,说明全发送完了 isSend = true; } //将子任务ID清空,将“临时子任务”数据 放到 “子任务” 中 subIds.clear(); subIds.addAll(lssubIds); lssubIds.clear(); } //通知 MQ 消息已被接收,可以ACK(从队列中删除)了 (这个需要根据业务再去处理ACK) } if (CollectionUtils.isNotEmpty(subIds)) { //如果全部的发送方式都发完了,还有是未发送的,需要去subTask表中,记录一下,发送失败 for (Long id : subIds) { ServiceSubtask serviceSubtask = new ServiceSubtask(); serviceSubtask.setResult("error"); serviceSubtask.setRemark("系统错误(任务)"); serviceSubtask.setGuid(guid); serviceSubtask.setRemark("发送失败"); serviceSubtask.setSendstate(5L); serviceSubtask.setId(id); serviceSubtask.setFinishtime(new Date()); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); } } } //通知 MQ 消息已被接收,可以ACK(从队列中删除)了 (这个需要根据业务再去处理ACK) } } } // /** smartor/src/main/java/com/smartor/domain/IvrLibScript.java
@@ -55,6 +55,10 @@ @Excel(name = " 上传标记 ") private Long isupload; /** 电话语音文本 */ @Excel(name = " 电话语音文本 ") private String ivrtext; /** 上传时间 */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = " 上传时间 ", width = 30, dateFormat = "yyyy-MM-dd") smartor/src/main/java/com/smartor/domain/IvrLibaScript.java
@@ -61,7 +61,7 @@ */ @ApiModelProperty("话术语音") @Excel(name = "话术语音") private String scriptVoice; private String ivrVoice; /** * 无匹配话术 @@ -324,6 +324,13 @@ private String tag; /** * 话术语音文本 */ @Excel(name = "话术语音文本") @ApiModelProperty(value = "话术语音文本") private String ivrtext; /** * pageNum */ @ApiModelProperty(value = "pageNum") smartor/src/main/java/com/smartor/domain/IvrLibaScriptVO.java
@@ -69,7 +69,14 @@ */ @ApiModelProperty("话术语音") @Excel(name = "话术语音") private String scriptVoice; private String ivrVoice; /** * 话术语音文本 */ @ApiModelProperty("话术语音文本") @Excel(name = "话术语音文本") private String ivrtext; /** * 无匹配话术 smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java
@@ -103,7 +103,14 @@ */ @Excel(name = "话术语音") @ApiModelProperty(value = "话术语音") private String scriptVoice; private String ivrVoice; /** * 话术语音文本 */ @Excel(name = "话术语音文本") @ApiModelProperty(value = "话术语音文本") private String ivrtext; /** * 无匹配话术 smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScriptVO.java
@@ -81,7 +81,14 @@ */ @Excel(name = "话术语音") @ApiModelProperty(value = "话术语音") private String scriptVoice; private String ivrVoice; /** * 话术语音文本 */ @Excel(name = "话术语音文本") @ApiModelProperty(value = "话术语音文本") private String ivrtext; /** * 问题结果 smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScript.java
@@ -277,6 +277,13 @@ private String branchNextscriptno; /** * 话术语音文本 */ @Excel(name = "话术语音文本") @ApiModelProperty(value = "话术语音文本") private String ivrtext; /** * 选项分支的下一个话术编号 */ @Excel(name = "选项分支的下一个话术编号") smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScriptVO.java
@@ -165,6 +165,13 @@ private String targetOptions; /** * 话术语音文本 */ @Excel(name = "话术语音文本") @ApiModelProperty(value = "话术语音文本") private String ivrtext; /** * 语言 */ @Excel(name = "语言") smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
@@ -407,7 +407,7 @@ * 就诊类型(1门诊 2出院) */ @Excel(name = " 就诊类型(1门诊 2出院)") @ApiModelProperty(value = "就诊类型(1门诊 2出院 3.专病)") @ApiModelProperty(value = "就诊类型(1门诊 2出院 3.专病 4.外部导入)") private String hospType; smartor/src/main/java/com/smartor/domain/ServiceSubtaskRecord.java
@@ -29,9 +29,16 @@ /** * 子任务ID */ @Excel(name = "任务ID") @ApiModelProperty(value = "任务ID") private String taskid; /** * 子任务ID */ @Excel(name = "子任务ID") @ApiModelProperty(value = "子任务ID") private String taskid; private Long subtaskId; /** * 任务UUID @@ -124,5 +131,12 @@ @ApiModelProperty(value = "GUID") private String guid; /** * 备注 */ @Excel(name = "备注") @ApiModelProperty(value = "备注") private String remark; } smartor/src/main/java/com/smartor/domain/ServiceTask.java
@@ -379,6 +379,13 @@ @Excel(name = " 出院病区名称 ") private String leavehospitaldistrictname; /** * 补偿时间(未领取 ,发起补偿:从任务发送成功开始,compensate_date分钟后,患者仍未领取)单位:分钟 */ @ApiModelProperty(value = "补偿时间(未领取 ,发起补偿:从任务发送成功开始,compensate_date分钟后,患者仍未领取)单位:分钟 ") @Excel(name = " 补偿时间(未领取 ,发起补偿:从任务发送成功开始,compensate_date分钟后,患者仍未领取)单位:分钟 ") private String compensateDate; /** * 开始出院日期 smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java
@@ -332,4 +332,11 @@ @ApiModelProperty(value = "出院病区名称") @Excel(name = " 出院病区名称 ") private String leavehospitaldistrictname; /** * 补偿时间(未领取 ,发起补偿:从任务发送成功开始,compensate_date分钟后,患者仍未领取)单位:分钟 */ @ApiModelProperty(value = "补偿时间(未领取 ,发起补偿:从任务发送成功开始,compensate_date分钟后,患者仍未领取)单位:分钟 ") @Excel(name = " 补偿时间(未领取 ,发起补偿:从任务发送成功开始,compensate_date分钟后,患者仍未领取)单位:分钟 ") private String compensateDate; } smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java
@@ -6,10 +6,7 @@ import com.smartor.mapper.PatArchiveImportMapper; import com.smartor.service.IPatArchiveImportService; import org.apache.commons.lang3.ObjectUtils; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -21,6 +18,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.regex.Pattern; /** * Excel导入患者档案Service业务层处理 @@ -123,11 +121,28 @@ //判断数据是否有问题 if (ObjectUtils.isNotEmpty(row.getCell(0).toString())) { if (ObjectUtils.isNotEmpty(row.getCell(0))) { patArchiveImport.setName(row.getCell(0).toString()); } else { continue; } if (ObjectUtils.isNotEmpty(row.getCell(1))) { Cell cell = row.getCell(1); if (row.getCell(1).toString().contains("X") || row.getCell(1).toString().contains("x")) { patArchiveImport.setIdcardno(row.getCell(1).toString()); } else { Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); boolean matches = pattern.matcher(row.getCell(1).toString()).matches(); if (matches) { patArchiveImport.setIdcardno(row.getCell(1).toString()); } else { double numericCellValue = cell.getNumericCellValue(); DecimalFormat decimalFormat = new DecimalFormat("#"); String formattedValue = decimalFormat.format(numericCellValue); patArchiveImport.setIdcardno(formattedValue); } } boolean contains = qc.contains(row.getCell(1).toString()); if (contains) continue; } smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -27,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.sql.Time; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalTime; @@ -817,7 +818,7 @@ Object obj = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE"); Double score = (obj == null ? new Double(0.00) : new Double(((Double) obj).doubleValue())); score = BigDecimal.valueOf(score).add(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(j).getScore()).doubleValue(); redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "SCORE", score); redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "SCORE", score,120,TimeUnit.MINUTES); } for (IvrTaskTemplateScript script : ivrTaskTemplateScripts) { @@ -903,7 +904,7 @@ double score = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE"); score = BigDecimal.valueOf(score).add(script.getScore()).doubleValue(); redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "SCORE", score); redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "SCORE", score,120, TimeUnit.MINUTES); } } } @@ -942,7 +943,7 @@ //更新一下分数 double score = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE"); score = BigDecimal.valueOf(score).add(ivrTaskTemplateScriptVO.getScore()).doubleValue(); redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "SCORE", score); redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "SCORE", score,120, TimeUnit.MINUTES); // return phoneCallBackYQVO; } smartor/src/main/resources/mapper/smartor/IvrLibaScriptMapper.xml
@@ -8,7 +8,8 @@ <result property="id" column="id"/> <result property="scriptTopic" column="script_topic"/> <result property="scriptContent" column="script_content"/> <result property="scriptVoice" column="script_voice"/> <result property="ivrVoice" column="ivr_voice"/> <result property="ivrtext" column="ivrtext"/> <result property="scriptDesc" column="script_desc"/> <result property="noMatchText" column="nomatchtext"/> <result property="nomatchvoice" column="nomatchvoice"/> @@ -66,7 +67,8 @@ isAvailable, script_content, script_desc, script_voice, ivr_voice, ivrtext, nomatchtext, nomatchvoice, sliencetext, @@ -101,7 +103,8 @@ <if test="valueType != null ">and value_type = #{valueType}</if> <if test="scriptContent != null and scriptContent != ''">and script_content = #{scriptContent}</if> <if test="scriptDesc != null and scriptDesc != ''">and script_desc = #{scriptDesc}</if> <if test="scriptVoice != null and scriptVoice != ''">and script_voice = #{scriptVoice}</if> <if test="ivrVoice != null and ivrVoice != ''">and ivr_voice = #{ivrVoice}</if> <if test="ivrtext != null and ivrtext != ''">and ivrtext = #{ivrtext}</if> <if test="noMatchText != null and noMatchText != ''">and nomatchtext = #{noMatchText}</if> <if test="nomatchvoice != null and nomatchvoice != ''">and nomatchvoice = #{nomatchvoice}</if> <if test="slienceText != null and slienceText != ''">and sliencetext = #{slienceText}</if> @@ -150,7 +153,8 @@ <if test="reply != null">reply,</if> <if test="scriptContent != null">script_content,</if> <if test="scriptDesc != null">script_desc,</if> <if test="scriptVoice != null">script_voice,</if> <if test="ivrVoice != null">ivr_voice,</if> <if test="ivrtext != null">ivrtext,</if> <if test="noMatchText != null">nomatchtext,</if> <if test="nomatchvoice != null">nomatchvoice,</if> <if test="slienceText != null">sliencetext,</if> @@ -198,7 +202,8 @@ <if test="reply != null">#{reply},</if> <if test="scriptContent != null">#{scriptContent},</if> <if test="scriptDesc != null">#{scriptDesc},</if> <if test="scriptVoice != null">#{scriptVoice},</if> <if test="ivrVoice != null">#{ivrVoice},</if> <if test="ivrtext != null">#{ivrtext},</if> <if test="noMatchText != null">#{noMatchText},</if> <if test="nomatchvoice != null">#{nomatchvoice},</if> <if test="slienceText != null">#{slienceText},</if> @@ -247,7 +252,8 @@ <if test="reply != null">reply = #{reply},</if> <if test="scriptContent != null">script_content = #{scriptContent},</if> <if test="scriptDesc != null">script_desc = #{scriptDesc},</if> <if test="scriptVoice != null">script_voice = #{scriptVoice},</if> <if test="ivrVoice != null">ivr_voice = #{ivrVoice},</if> <if test="ivrtext != null">ivrtext = #{ivrtext},</if> <if test="noMatchText != null">nomatchtext = #{noMatchText},</if> <if test="nomatchvoice != null">nomatchvoice = #{nomatchvoice},</if> <if test="slienceText != null">sliencetext = #{slienceText},</if> smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml
@@ -12,7 +12,8 @@ <result property="scriptPoint" column="script_point"/> <result property="scriptContent" column="script_content"/> <result property="scriptDesc" column="script_content"/> <result property="scriptVoice" column="script_voice"/> <result property="ivrVoice" column="ivr_voice"/> <result property="ivrtext" column="ivrtext"/> <result property="noMatchText" column="noMatchText"/> <result property="noMatchVoice" column="noMatchVoice"/> <result property="slienceText" column="slienceText"/> @@ -57,10 +58,11 @@ templateid, script_type, scriptid, ivrtext, script_point, script_content, script_desc, script_voice, ivr_voice, noMatchText, noMatchVoice, slienceText, @@ -102,7 +104,8 @@ <if test="templateid != null ">and templateid = #{templateid}</if> <if test="scriptPoint != null and scriptPoint != ''">and script_point = #{scriptPoint}</if> <if test="scriptContent != null and scriptContent != ''">and script_content = #{scriptContent}</if> <if test="scriptVoice != null and scriptVoice != ''">and script_voice = #{scriptVoice}</if> <if test="ivrVoice != null and ivrVoice != ''">and ivr_voice = #{ivrVoice}</if> <if test="ivrtext != null and ivrtext != ''">and ivrtext = #{ivrtext}</if> <if test="noMatchText != null and noMatchText != ''">and noMatchText = #{noMatchText}</if> <if test="noMatchVoice != null and noMatchVoice != ''">and noMatchVoice = #{noMatchVoice}</if> <if test="slienceText != null and slienceText != ''">and slienceText = #{slienceText}</if> @@ -154,7 +157,7 @@ <if test="scriptid != null">scriptid,</if> <if test=" scriptPoint != null and scriptPoint != ''">script_point,</if> <if test="scriptContent != null">script_content,</if> <if test="scriptVoice != null">script_voice,</if> <if test="ivrVoice != null">ivr_voice,</if> <if test="noMatchText != null">noMatchText,</if> <if test="noMatchVoice != null">noMatchVoice,</if> <if test="slienceText != null">slienceText,</if> @@ -188,6 +191,7 @@ <if test="branchNextscriptno != null and branchNextscriptno != ''">branch_nextscriptno,</if> <if test="sort != null ">sort,</if> <if test="score != null ">score,</if> <if test="ivrtext != null ">ivrtext,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="scriptno != null">#{scriptno},</if> @@ -195,7 +199,7 @@ <if test="scriptid != null">#{scriptid},</if> <if test="scriptPoint != null and scriptPoint != ''">#{scriptPoint},</if> <if test="scriptContent != null">#{scriptContent},</if> <if test="scriptVoice != null">#{scriptVoice},</if> <if test="ivrVoice != null">#{ivrVoice},</if> <if test="noMatchText != null">#{noMatchText},</if> <if test="noMatchVoice != null">#{noMatchVoice},</if> <if test="slienceText != null">#{slienceText},</if> @@ -229,6 +233,7 @@ <if test="branchNextscriptno != null and branchNextscriptno != ''">#{branchNextscriptno},</if> <if test="sort != null ">#{sort},</if> <if test="score != null ">#{score},</if> <if test="ivrtext != null ">#{ivrtext},</if> </trim> </insert> @@ -240,7 +245,7 @@ <if test="scriptid != null">scriptid = #{scriptid},</if> <if test="scriptPoint != null and scriptPoint != ''">script_point = #{scriptPoint},</if> <if test="scriptContent != null">script_content = #{scriptContent},</if> <if test="scriptVoice != null">script_voice = #{scriptVoice},</if> <if test="ivrVoice != null">ivr_voice = #{ivrVoice},</if> <if test="noMatchText != null">noMatchText = #{noMatchText},</if> <if test="noMatchVoice != null">noMatchVoice = #{noMatchVoice},</if> <if test="slienceText != null">slienceText = #{slienceText},</if> @@ -270,6 +275,7 @@ <if test="scriptDesc != null ">script_desc = #{scriptDesc},</if> <if test="scriptType != null ">script_type = #{scriptType},</if> <if test="sort != null ">sort = #{sort},</if> <if test="ivrtext != null ">ivrtext = #{ivrtext},</if> <if test="branchFlag != null and branchFlag != ''">branch_flag = #{branchFlag},</if> <if test="score != null ">score = #{score},</if> <if test="branchNextscriptno != null and branchNextscriptno != ''">branch_nextscriptno = smartor/src/main/resources/mapper/smartor/IvrTaskTemplateScriptMapper.xml
@@ -45,12 +45,14 @@ <result property="scriptContent" column="script_content"/> <result property="sort" column="sort"/> <result property="score" column="score"/> <result property="ivrtext" column="ivrtext"/> </resultMap> <sql id="selectIvrTaskTemplateScriptVo"> select id, taskid, sort, ivrtext, script_type, score, branch_flag, @@ -78,6 +80,7 @@ <where> <if test="taskid != null ">and taskid = #{taskid}</if> <if test="score != null ">and score = #{score}</if> <if test="ivrtext != null ">and ivrtext = #{ivrtext}</if> <if test="sort != null ">and sort = #{sort}</if> <if test="templateID != null ">and templateID = #{templateID}</if> <if test="questionPoint != null and questionPoint != ''">and questionPoint = #{questionPoint}</if> @@ -165,6 +168,7 @@ <if test="sort != null ">sort,</if> <if test="nextScriptno != null and nextScriptno != ''">next_scriptno,</if> <if test="score != null ">score,</if> <if test="ivrtext != null ">ivrtext,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="taskid != null">#{taskid},</if> @@ -206,6 +210,7 @@ <if test="sort != null">#{sort},</if> <if test="nextScriptno != null and nextScriptno != ''">#{nextScriptno},</if> <if test="score != null ">#{score},</if> <if test="ivrtext != null ">#{ivrtext},</if> </trim> </insert> @@ -253,6 +258,7 @@ <if test="sort != null">sort = #{sort},</if> <if test="nextScriptno != null and nextScriptno != ''">next_scriptno = #{nextScriptno},</if> <if test="score != null">score = #{score},</if> <if test="ivrtext != null">ivrtext = #{ivrtext},</if> </trim> where id = #{id} </update> smartor/src/main/resources/mapper/smartor/ServiceSubtaskRecordMapper.xml
@@ -24,6 +24,7 @@ <result property="orgid" column="orgid"/> <result property="pid" column="pid"/> <result property="guid" column="guid"/> <result property="remark" column="remark"/> </resultMap> <sql id="selectServiceSubtaskRecordVo"> @@ -45,6 +46,7 @@ upload_time, orgid, pid, remark, guid from service_subtask_record </sql> @@ -66,6 +68,7 @@ <if test="orgid != null and orgid != ''">and orgid = #{orgid}</if> <if test="pid != null ">and pid = #{pid}</if> <if test="guid != null and guid != ''">and guid = #{guid}</if> <if test="remark != null and remark != ''">and remark = #{remark}</if> </where> </select> @@ -96,6 +99,7 @@ <if test="orgid != null">orgid,</if> <if test="pid != null">pid,</if> <if test="guid != null">guid,</if> <if test="remark != null">remark,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="id != null">#{id},</if> @@ -117,6 +121,7 @@ <if test="orgid != null">#{orgid},</if> <if test="pid != null">#{pid},</if> <if test="guid != null">#{guid},</if> <if test="remark != null">#{remark},</if> </trim> </insert> @@ -141,6 +146,7 @@ <if test="orgid != null">orgid = #{orgid},</if> <if test="pid != null">pid = #{pid},</if> <if test="guid != null">guid = #{guid},</if> <if test="remark != null">remark = #{remark},</if> </trim> where id = #{id} </update> smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml
@@ -49,6 +49,7 @@ <result property="longTask" column="long_task"/> <result property="kcb" column="kcb"/> <result property="jsy" column="jsy"/> <result property="compensateDate" column="compensate_date"/> <result property="leavehospitaldistrictcode" column="leavehospitaldistrictcode"/> <result property="leavehospitaldistrictname" column="leavehospitaldistrictname"/> </resultMap> @@ -58,6 +59,7 @@ task_name, long_task, show_date, compensate_date, show_time_morn, show_time_noon, show_time_night, @@ -139,13 +141,18 @@ <if test="isupload != null ">and isupload = #{isupload}</if> <if test="uploadTime != null ">and upload_time = #{uploadTime}</if> <if test="orgid != null and orgid != ''">and orgid = #{orgid}</if> <if test="compensateDate != null and compensateDate != ''">and compensate_date = #{compensateDate}</if> <if test="hospType != null and hospType != ''">and hosp_type = #{hospType}</if> <if test="libtemplateid != null ">and libtemplateid = #{libtemplateid}</if> <if test="libtemplatename != null and libtemplatename != ''">and libtemplatename = #{libtemplatename}</if> <if test="createBy != null and createBy != ''">and create_by = #{createBy}</if> <if test="sendState != null ">and send_state = #{sendState}</if> <if test="leavehospitaldistrictname != null ">and leavehospitaldistrictname = #{leavehospitaldistrictname}</if> <if test="leavehospitaldistrictcode != null ">and leavehospitaldistrictcode = #{leavehospitaldistrictcode}</if> <if test="leavehospitaldistrictname != null ">and leavehospitaldistrictname = #{leavehospitaldistrictname} </if> <if test="leavehospitaldistrictcode != null ">and leavehospitaldistrictcode = #{leavehospitaldistrictcode} </if> <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size()>0"> AND leavehospitaldistrictcode IN @@ -221,6 +228,7 @@ <if test="jsy != null and jsy != ''">jsy,</if> <if test="leavehospitaldistrictname != null ">leavehospitaldistrictname,</if> <if test="leavehospitaldistrictcode != null ">leavehospitaldistrictcode,</if> <if test="compensateDate != null and compensateDate != ''">compensate_date</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="taskName != null">#{taskName},</if> @@ -268,6 +276,7 @@ <if test="jsy != null and jsy != ''">#{jsy},</if> <if test="leavehospitaldistrictname != null ">#{leavehospitaldistrictname},</if> <if test="leavehospitaldistrictcode != null ">#{leavehospitaldistrictcode},</if> <if test="compensateDate != null and compensateDate != ''">#{compensateDate}</if> </trim> </insert> @@ -317,8 +326,11 @@ <if test="longTask != null and longTask != ''">long_task = #{longTask},</if> <if test="kcb != null and kcb != ''">kcb = #{kcb},</if> <if test="jsy != null and jsy != ''">jsy = #{jsy},</if> <if test="leavehospitaldistrictname != null ">leavehospitaldistrictname = #{leavehospitaldistrictname},</if> <if test="leavehospitaldistrictcode != null ">leavehospitaldistrictcode = #{leavehospitaldistrictcode},</if> <if test="leavehospitaldistrictname != null ">leavehospitaldistrictname = #{leavehospitaldistrictname}, </if> <if test="leavehospitaldistrictcode != null ">leavehospitaldistrictcode = #{leavehospitaldistrictcode}, </if> <if test="compensateDate != null and compensateDate != ''">compensate_date = #{compensateDate}</if> </trim> where taskid = #{taskid} </update>