ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrTaskTemplateController.java
@@ -6,12 +6,15 @@ import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.poi.ExcelUtil; import com.smartor.domain.HeLibrary; import com.smartor.domain.IvrTaskTemplate; import com.smartor.domain.IvrTaskTemplateVO; import com.smartor.service.IIvrTaskTemplateService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -118,4 +121,16 @@ public AjaxResult remove(@PathVariable Long[] IDs) { return toAjax(ivrTaskTemplateService.deleteIvrTaskTemplateByIDs(IDs)); } /** * 查询模板详情根据条件 -- 语音任务模板库 */ @ApiOperation("查询语音任务模板详情根据条件") @PostMapping("/selectInfoByCondition") public AjaxResult selectInfoByCondition(@RequestBody IvrTaskTemplateVO vo) { if (ObjectUtils.isEmpty(vo)) { throw new BaseException("查询语音任务模板详情入参为空,请检查入参"); } return success(ivrTaskTemplateService.selectInfoByCondition(vo)); } } smartor/src/main/java/com/smartor/mapper/IvrTaskTemplateMapper.java
@@ -35,6 +35,7 @@ * @param ivrTaskTemplate 随访任务随访模板库 * @return 结果 */ //todo public int insertIvrTaskTemplate(IvrTaskTemplate ivrTaskTemplate); /** smartor/src/main/java/com/smartor/service/IIvrTaskTemplateService.java
@@ -71,7 +71,7 @@ public int deleteIvrTaskTemplateByID(Long ID); /** * 查询模板详情根据条件 * 查询语音任务模板详情根据条件 */ public IvrTaskTemplateVO selectInfoByCondition(IvrTaskTemplateVO ivrTaskTemplateVO); } smartor/src/main/java/com/smartor/service/impl/IvrTaskTemplateServiceImpl.java
@@ -118,6 +118,7 @@ @Override public int saveOrUpdateTempScript(IvrTaskTemplateVO ivrTaskTemplateVO) { Integer i = null; String orgId = ivrTaskTemplateVO.getOrgid(); IvrTaskTemplate ivrTaskTemplate = DtoConversionUtils.sourceToTarget(ivrTaskTemplateVO, IvrTaskTemplate.class); if (ivrTaskTemplateVO.getIsoperation() != null && ivrTaskTemplateVO.getIsoperation() == 1) { @@ -127,7 +128,16 @@ //新增 ivrTaskTemplate.setCreateTime(new Date()); ivrTaskTemplate.setDelFlag("0"); ivrTaskTemplate.setOrgid(orgId); log.info("准备插入模板,delFlag={}", ivrTaskTemplate.getDelFlag()); insertIvrTaskTemplate(ivrTaskTemplate); log.info("插入成功,模板ID={}", ivrTaskTemplate.getId()); // 立即查询验证 IvrTaskTemplate checkTemplate = ivrTaskTemplateMapper.selectIvrTaskTemplateByID(ivrTaskTemplate.getId()); log.info("立即查询结果: {}", checkTemplate != null ? "找到记录, delFlag=" + checkTemplate.getDelFlag() : "未找到记录"); i = ivrTaskTemplate.getId().intValue(); } else if (ivrTaskTemplateVO.getIsoperation() != null && ivrTaskTemplateVO.getIsoperation() == 2) { //修改 @@ -196,16 +206,16 @@ */ @Override public IvrTaskTemplateVO selectInfoByCondition(IvrTaskTemplateVO ivrTaskTemplateVO) { log.info("查询模板详情根据条件的入参为 : {}", ivrTaskTemplateVO); log.info("查询语音任务模板详情根据条件的入参为 : {}", ivrTaskTemplateVO); //先根据条件查询问题表信息 IvrTaskTemplate ivrTaskTemplate = DtoConversionUtils.sourceToTarget(ivrTaskTemplateVO, IvrTaskTemplate.class); List<IvrTaskTemplate> ivrTaskTemplates = selectIvrTaskTemplateList(ivrTaskTemplate); if (CollectionUtils.isEmpty(ivrTaskTemplates)) { log.info("提供的条件,查询模板详情数据为空:{}", ivrTaskTemplates); throw new BaseException("提供的条件,查询模板详情数据为空"); log.info("提供的条件,查询语音任务模板详情数据为空:{}", ivrTaskTemplates); throw new BaseException("提供的条件,查询语音任务模板详情数据为空"); } log.info("ivrLibaTemplates的查询结果为:{},数量为 : {}", ivrTaskTemplates.get(0), ivrTaskTemplates.size()); log.info("ivrTaskTemplates的查询结果为:{},数量为 : {}", ivrTaskTemplates.get(0), ivrTaskTemplates.size()); //定义IvrLibaTemplateVO 用于返参 IvrTaskTemplateVO templateVO = DtoConversionUtils.sourceToTarget(ivrTaskTemplates.get(0), IvrTaskTemplateVO.class); // @@ -222,7 +232,7 @@ //通过话术ID获取选项 for (IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO : ivrTaskTemplateScriptVOS) { log.info("ivrLibaTemplateScriptVO的主键id为:{}", ivrTaskTemplateScriptVO.getId()); log.info("IvrTaskTemplateScriptVO的主键id为:{}", ivrTaskTemplateScriptVO.getId()); IvrTaskTemplateTargetoption ivrTaskTemplateTargetoption = new IvrTaskTemplateTargetoption(); ivrTaskTemplateTargetoption.setScriptid(ivrTaskTemplateScriptVO.getId()); List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = ivrTaskTemplateTargetoptionMapper.selectIvrTaskTemplateTargetoptionList(ivrTaskTemplateTargetoption); smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -834,13 +834,21 @@ //如果是通知的话,需要提前几天将通过短信发出去(具体几天,这个可以配置在sys_conf表中) if ("3".equals(serviceTask.getType())) { serviceSubtask.setVisitTime(minusDay(newDate, StringUtils.isNotEmpty(config) ? Integer.parseInt(config) : 0)); //判断是不是景宁 if (patMedInhosp1.getOrgid().equals("47255004333112711A1001")) serviceSubtask.setVisitTime(null); //如果该出院记录有随访时间,则用他自己的随访时间 if (patMedInhosp1.getFudate() != null) serviceSubtask.setVisitTime(minusDay(patMedInhosp1.getFudate(), StringUtils.isNotEmpty(config) ? Integer.parseInt(config) : 0)); if (patMedInhosp1.getFudate() != null){ serviceSubtask.setVisitTime(minusDay(patMedInhosp1.getFudate(), StringUtils.isNotEmpty(config) ? Integer.parseInt(config) : 0)); }else{ //判断是不是景宁 if (patMedInhosp1.getOrgid().equals("47255004333112711A1001")) { serviceSubtask.setVisitTime(null); //不执行 serviceSubtask.setSendstate(4L); serviceSubtask.setRemark("景宁没有给随访时间,不发送通知短信"); } } } //患者发送时间 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -520,7 +520,15 @@ } if (ObjectUtils.isNotEmpty(serviceTaskVO.getIvrTaskTemplateVO())) { tempid = Long.valueOf(ivrTaskTemplateService.saveOrUpdateTempScript(serviceTaskVO.getIvrTaskTemplateVO())); tempName = ivrTaskTemplateService.selectIvrTaskTemplateByID(tempid).getTemplateName(); log.info("IVR模板插入成功,返回的tempid={}", tempid); IvrTaskTemplate ivrTaskTemplate = ivrTaskTemplateService.selectIvrTaskTemplateByID(tempid); if (ivrTaskTemplate == null) { log.error("根据tempid={}查询IVR模板失败,返回null!请检查del_flag字段是否正确设置", tempid); throw new BaseException("IVR模板保存成功但查询失败,请联系管理员检查数据"); } tempName = ivrTaskTemplate.getTemplateName(); log.info("IVR模板查询成功,tempName={}", tempName); } //往任务表中,新增任务 smartor/src/main/java/com/smartor/service/impl/SvyTaskTemplateServiceImpl.java
@@ -16,6 +16,7 @@ import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Collections; import java.util.Comparator; @@ -115,12 +116,14 @@ * @return */ @Override @Transactional(rollbackFor = Exception.class) public Integer saveOrUpdateTemplate(SvyTaskTemplateVO svyTaskTemplateVO) { Integer i = null; SvyTaskTemplate svyTaskTemplate = DtoConversionUtils.sourceToTarget(svyTaskTemplateVO, SvyTaskTemplate.class); if (svyTaskTemplateVO.getIsoperation() != null && svyTaskTemplateVO.getIsoperation() == 1) { //新增 svyTaskTemplate.setCreateTime(new Date()); svyTaskTemplate.setDelFlag("0"); svyTaskTemplateMapper.insertSvyTaskTemplate(svyTaskTemplate); i = svyTaskTemplate.getId().intValue(); } else if (svyTaskTemplateVO.getIsoperation() != null && svyTaskTemplateVO.getIsoperation() == 2) { smartor/src/main/resources/mapper/smartor/IvrTaskTemplateMapper.xml
@@ -92,7 +92,7 @@ resultMap="IvrTaskTemplateResult"> <include refid="selectIvrTaskTemplateVo"/> <where> del_flat=0 del_flag = 0 <if test="taskid != null ">and taskid = #{taskid}</if> <if test="sendDay != null ">and send_day = #{sendDay}</if> <if test="id != null ">and id = #{id}</if> @@ -155,7 +155,8 @@ <select id="selectIvrTaskTemplateByID" parameterType="Long" resultMap="IvrTaskTemplateResult"> <include refid="selectIvrTaskTemplateVo"/> where id = #{id} and del_flag=0 where id = #{id} and del_flag=0 </select> <insert id="insertIvrTaskTemplate" parameterType="com.smartor.domain.IvrTaskTemplate" useGeneratedKeys="true" @@ -190,7 +191,7 @@ <if test="deptIds != null">deptIds,</if> <if test="deptNames != null">dept_names,</if> <if test="fKsdm != null">F_KSDM,</if> <if test="delFlag != null and delFlag != ''">del_flag,</if> del_flag, <if test="updateBy != null">update_by,</if> <if test="updateTime != null">update_time,</if> <if test="createBy != null">create_by,</if> @@ -249,7 +250,7 @@ <if test="deptIds != null">#{deptIds},</if> <if test="deptNames != null">#{deptNames},</if> <if test="fKsdm != null">#{fKsdm},</if> <if test="delFlag != null and delFlag != ''">#{delFlag},</if> '0', <if test="updateBy != null">#{updateBy},</if> <if test="updateTime != null">#{updateTime},</if> <if test="createBy != null">#{createBy},</if>