ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -473,11 +473,11 @@ * 处理补偿任务 */ public void compensateTask() { //获取到sendstate=3 并且 visit_time为今天的subtask //获取到sendstate=3 并且 visit_time为小于等于今天的subtask ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); serviceSubtaskVO.setSendstate(3L); serviceSubtaskVO.setVisitTime(new Date()); List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.getCompensateServiceSubtaskList(serviceSubtaskVO); for (ServiceSubtask serviceSubtask : serviceSubtaskList) { //根据当前的执行方式,获取下一种执行方式 ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); @@ -748,11 +748,11 @@ serviceSubtask.setSendstate(3L); if (StringUtils.isNotEmpty(isSuccess) && isSuccess.equals("true")) { serviceSubtask.setResult("success"); serviceSubtask.setRemark("短信发送成功"); serviceSubtask.setRemark(serviceSubtask.getRemark() + "," + "短信发送成功"); setSuccessPreachForm(serviceSubtask, sendPreachform, "短信发送成功", "2"); } else { serviceSubtask.setResult("error"); serviceSubtask.setRemark("短信发送失败" + now); serviceSubtask.setRemark(serviceSubtask.getRemark() + "," +"短信发送失败" + now); setSuccessPreachForm(serviceSubtask, sendPreachform, "短信发送失败" + now, "5"); } } catch (Exception e) { @@ -792,18 +792,18 @@ if (active.equals("hzszlyy")) { //处理中文乱码问题 /**String title = URLEncoder.encode("您好,邀请您填写出院调查表,请点击填写。", StandardCharsets.UTF_8.toString()); String content = URLEncoder.encode("您好,邀请您填写出院调查表,请点击填写。", StandardCharsets.UTF_8.toString()); String encodedUrl = URLEncoder.encode(url, StandardCharsets.UTF_8.toString()); String urlTemp = "http://192.200.54.14:5003/sfjk/SendMessage?sfzh=" + serviceSubtask.getSfzh() + "&title=" + title + "&content=" + content + "&phone=" + patArchive.getTelcode() + "&url=" + encodedUrl + "&key=ff76f8904f5f32b5ee1739e8ea46e60g"; // HttpUtils.sendGet(urlTemp); String sendMsg = ""; sendMsg = HttpUtils.sendPost(urlTemp); log.info(sendMsg); **/ String content = URLEncoder.encode("您好,邀请您填写出院调查表,请点击填写。", StandardCharsets.UTF_8.toString()); String encodedUrl = URLEncoder.encode(url, StandardCharsets.UTF_8.toString()); String urlTemp = "http://192.200.54.14:5003/sfjk/SendMessage?sfzh=" + serviceSubtask.getSfzh() + "&title=" + title + "&content=" + content + "&phone=" + patArchive.getTelcode() + "&url=" + encodedUrl + "&key=ff76f8904f5f32b5ee1739e8ea46e60g"; // HttpUtils.sendGet(urlTemp); String sendMsg = ""; sendMsg = HttpUtils.sendPost(urlTemp); log.info(sendMsg); **/ wxCode = smsUtils.sendChat(url, patArchive.getTelcode(), serviceSubtask.getSfzh()); log.info(wxCode); smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
@@ -31,6 +31,13 @@ */ public List<ServiceSubtask> selectServiceSubtaskList(ServiceSubtaskVO serviceSubtaskVO); /** * 用于补偿查询 * @param serviceSubtaskVO * @return */ public List<ServiceSubtask> getCompensateServiceSubtaskList(ServiceSubtaskVO serviceSubtaskVO); public List<ServiceSubtask> selectServiceSubtaskByDiagname(ServiceSubtask serviceSubtask); public List<ServiceSubtask> queryServiceSubtaskList(ServiceSubtaskVO serviceSubtaskVO); smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -384,7 +384,7 @@ <if test="taskGuid != null">and task_guid = #{taskGuid}</if> <if test="isabnormal != null">and isabnormal = #{isabnormal}</if> <if test="isVisitAgain != null">and is_visit_again = #{isVisitAgain}</if> <!-- <if test="dateLimit != null and dateLimit = '1'"> and CURDATE() + 1 > long_send_time</if>--> <!-- <if test="dateLimit != null and dateLimit = '1'"> and CURDATE() + 1 > long_send_time</if>--> <!-- <if test="visitTime != null">and visit_time = #{visitTime}</if> --> <!--<if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if> <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>--> @@ -407,6 +407,19 @@ <if test="sort != null and sort==8">order by visit_time desc</if> <!-- order by update_time desc,id desc --> </select> <select id="getCompensateServiceSubtaskList" parameterType="com.smartor.domain.ServiceSubtaskVO" resultMap="ServiceSubtaskResult"> <include refid="selectServiceSubtaskVo"/> <where> del_flag=0 <if test="visitTime != null"> AND date_format(visit_time,'%y%m%d') <= date_format(#{visitTime},'%y%m%d') </if> <if test="sendstate != null ">and sendstate = #{sendstate}</if> </where> </select> <select id="selectServiceSubtaskListByCreateTime" parameterType="com.smartor.domain.ServiceSubtaskVO" @@ -1820,13 +1833,13 @@ <!-- 优化的统计查询:直接在数据库层完成聚合计算 --> <select id="countByCondition" parameterType="com.smartor.domain.ServiceSubtaskVO" resultType="map"> SELECT SUM(CASE WHEN sendstate = 4 THEN 1 ELSE 0 END) AS wzx, SUM(CASE WHEN sendstate != 4 AND sendstate != 2 THEN 1 ELSE 0 END) AS ysf, SUM(CASE WHEN sendstate = 5 THEN 1 ELSE 0 END) AS fssb, SUM(CASE WHEN sendstate >= 3 OR sendstate = 1 THEN 1 ELSE 0 END) AS yfs, SUM(CASE WHEN sendstate = 2 THEN 1 ELSE 0 END) AS dsf, SUM(CASE WHEN sendstate = 1 THEN 1 ELSE 0 END) AS blq, SUM(CASE WHEN excep IS NOT NULL AND excep != '0' THEN 1 ELSE 0 END) AS yc SUM(CASE WHEN sendstate = 4 THEN 1 ELSE 0 END) AS wzx, SUM(CASE WHEN sendstate != 4 AND sendstate != 2 THEN 1 ELSE 0 END) AS ysf, SUM(CASE WHEN sendstate = 5 THEN 1 ELSE 0 END) AS fssb, SUM(CASE WHEN sendstate >= 3 OR sendstate = 1 THEN 1 ELSE 0 END) AS yfs, SUM(CASE WHEN sendstate = 2 THEN 1 ELSE 0 END) AS dsf, SUM(CASE WHEN sendstate = 1 THEN 1 ELSE 0 END) AS blq, SUM(CASE WHEN excep IS NOT NULL AND excep != '0' THEN 1 ELSE 0 END) AS yc FROM service_subtask <where> del_flag = 0 @@ -1951,7 +1964,8 @@ <if test="deptOrDistrict == 1"> <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0"> AND leavehospitaldistrictcode IN <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator="," close=")"> <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator="," close=")"> #{leavehospitaldistrictcode} </foreach> </if>