健康日历

This commit is contained in:
zhangheng 2024-04-22 17:26:56 +08:00
parent 1708d21ca4
commit 5e51aaf1f9
6 changed files with 88 additions and 4 deletions

View File

@ -22,7 +22,7 @@ public enum ReleaseStatusEnum {
UNPUBLISHED("UNPUBLISHED"),
/**
* 不同意
* 全部
*/
ALL("ALL"),
;

View File

@ -1,13 +1,18 @@
package com.xinelu.mobile.controller.homepage;
import com.xinelu.common.core.controller.BaseController;
import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.core.page.TableDataInfo;
import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord;
import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO;
import com.xinelu.mobile.service.homepage.HomePageService;
import com.xinelu.mobile.vo.myfollowup.MyFollowUpVO;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import static com.xinelu.common.utils.PageUtils.startPage;
/**
* 机构信息Controller
@ -17,7 +22,7 @@ import javax.annotation.Resource;
*/
@RestController
@RequestMapping("/postDischarge/homePage")
public class HomePageController {
public class HomePageController extends BaseController {
@Resource
private HomePageService homePageService;
@ -54,8 +59,21 @@ public class HomePageController {
return homePageService.selectQuestionSubmit(patientTaskExecuteRecordId);
}
/**
* 问卷提交
*/
@PostMapping("/updateTaskExecuteRecord")
public AjaxResult updatePatientTaskExecuteRecord(@RequestBody PatientQuestionSubmitResultDTO dto) {
return homePageService.updatePatientTaskExecuteRecord(dto);
}
/**
* 健康日志
*/
@GetMapping("/selectTaskExecuteRecord")
public TableDataInfo selectPatientTaskExecuteRecord(Long residentId) {
startPage();
List<PatientTaskExecuteRecord> list = homePageService.selectPatientTaskExecuteRecord(residentId);
return getDataTable(list);
}
}

View File

@ -1,6 +1,8 @@
package com.xinelu.mobile.mapper.homepage;
import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord;
import com.xinelu.mobile.vo.myfollowup.MyFollowUpVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -19,4 +21,13 @@ public interface HomePageMapper {
* @return TableDataInfo
*/
List<MyFollowUpVO> selectManageRouteNode(MyFollowUpVO myFollowUp);
/**
* 健康日志
*
* @param residentId 用户id
* @param nodeExecuteStatus 节点状态
* @return PatientTaskExecuteRecord
*/
List<PatientTaskExecuteRecord> selectTaskExecuteRecordByResidentId(@Param("residentId") Long residentId, @Param("nodeExecuteStatus") String nodeExecuteStatus);
}

View File

@ -2,10 +2,13 @@ package com.xinelu.mobile.service.homepage;
import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.core.page.TableDataInfo;
import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord;
import com.xinelu.manage.domain.scriptInfo.ScriptInfo;
import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO;
import com.xinelu.mobile.vo.myfollowup.MyFollowUpVO;
import java.util.List;
public interface HomePageService {
/**
@ -40,5 +43,19 @@ public interface HomePageService {
*/
AjaxResult selectQuestionSubmit(Long patientTaskExecuteRecordId);
/**
* 问卷提交
*
* @param dto 提交信息
* @return AjaxResult
*/
AjaxResult updatePatientTaskExecuteRecord(PatientQuestionSubmitResultDTO dto);
/**
* 健康日志
*
* @param residentId 用户id
* @return AjaxResult
*/
List<PatientTaskExecuteRecord> selectPatientTaskExecuteRecord(Long residentId);
}

View File

@ -228,6 +228,17 @@ public class HomePageServiceImpl implements HomePageService {
return AjaxResult.success();
}
/**
* 健康日志
*
* @param residentId 用户id
* @return AjaxResult
*/
@Override
public List<PatientTaskExecuteRecord> selectPatientTaskExecuteRecord(Long residentId) {
return homePageMapper.selectTaskExecuteRecordByResidentId(residentId, NodeExecuteStatusEnum.EXECUTED.getInfo());
}
/**
* 更新节点任务表
*/

View File

@ -24,11 +24,38 @@
LEFT JOIN patient_task_execute_record pter ON pter.manage_route_node_id = spmrn.id
<where>
<if test="residentId != null ">
and resident_id = #{residentId}
and pi.resident_id = #{residentId}
</if>
<if test="routeNodeName != null and routeNodeName != ''">
and route_node_name = #{routeNodeName}
and spmrn.route_node_name = #{routeNodeName}
</if>
</where>
</select>
<select id="selectTaskExecuteRecordByResidentId"
resultType="com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord">
select
CASE
WHEN spmrn.task_type = 'PHONE_OUTBOUND' THEN spmrn.phone_template_name
WHEN spmrn.task_type = 'QUESTIONNAIRE_SCALE' THEN spmrn.questionnaire_name
WHEN spmrn.task_type = 'PROPAGANDA_ARTICLE' THEN spmrn.propaganda_title
WHEN spmrn.task_type = 'TEXT_REMIND' THEN '文字提醒'
WHEN spmrn.task_type = 'ARTIFICIAL_FOLLOW_UP' THEN spmrn.follow_template_name
END AS manageRouteNodeName,
pter.execute_time
from resident_info ri
LEFT JOIN patient_info pi ON ri.id = pi.resident_id
LEFT JOIN patient_task_execute_record pter ON pter.patient_id = pi.id
LEFT JOIN sign_patient_manage_route_node spmrn ON spmrn.id = pter.manage_route_node_id
<where>
ri.del_flag = 0 AND pi.del_flag = 0
<if test="residentId != null ">
and pi.resident_id = #{residentId}
</if>
<if test="nodeExecuteStatus != null and nodeExecuteStatus != ''">
and spmrn.node_execute_status = #{nodeExecuteStatus}
</if>
</where>
ORDER BY pter.execute_time desc
</select>
</mapper>