|
@ -1,6 +1,7 @@
|
|
|
package com.yihu.jw.care.service.admin;
|
|
|
|
|
|
import com.yihu.jw.care.dao.assistance.EmergencyAssistanceDao;
|
|
|
import com.yihu.jw.care.dao.message.UrgeReminderRecordDao;
|
|
|
import com.yihu.jw.care.dao.security.SecurityMonitoringOrderDao;
|
|
|
import com.yihu.jw.care.dao.team.BaseTeamMemberDao;
|
|
|
import com.yihu.jw.care.service.common.PermissionService;
|
|
@ -10,6 +11,7 @@ import com.yihu.jw.care.vo.UserVo;
|
|
|
import com.yihu.jw.doctor.dao.BaseDoctorDao;
|
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
|
|
|
import com.yihu.jw.entity.care.assistance.EmergencyAssistanceDO;
|
|
|
import com.yihu.jw.entity.care.message.UrgeReminderRecordDO;
|
|
|
import com.yihu.jw.entity.care.securitymonitoring.SecurityMonitoringOrderDO;
|
|
|
import com.yihu.jw.restmodel.web.PageEnvelop;
|
|
|
import com.yihu.jw.util.common.IdCardUtil;
|
|
@ -47,35 +49,52 @@ public class AdminManageService {
|
|
|
private PermissionService permissionService;
|
|
|
@Resource
|
|
|
private BaseDoctorDao doctorDao;
|
|
|
@Resource
|
|
|
private UrgeReminderRecordDao urgeReminderRecordDao;
|
|
|
|
|
|
/**
|
|
|
* 获取紧急救助预警中的工单数
|
|
|
*/
|
|
|
public Integer getEmergencyAssistanceNum(){
|
|
|
String sql = "select count(id) from base_emergency_assistance_order where status =1";
|
|
|
return jdbcTemplate.queryForObject(sql,Integer.class);
|
|
|
}
|
|
|
/**
|
|
|
* 工单催促提醒
|
|
|
* 20紧急呼叫22安防工单
|
|
|
*/
|
|
|
public void orderUrgeReminder(String id,String orderType){
|
|
|
String sender = permissionService.getUID();
|
|
|
BaseDoctorDO baseDoctorDO = doctorDao.findById(sender);
|
|
|
String patient;
|
|
|
String name;
|
|
|
String teamCode;
|
|
|
if("20".equals(orderType)){
|
|
|
EmergencyAssistanceDO orderDO = emergencyAssistanceDao.findOne(id);
|
|
|
patient = orderDO.getPatient();
|
|
|
name = orderDO.getPatientName();
|
|
|
teamCode = orderDO.getTeamCode();
|
|
|
}else {
|
|
|
SecurityMonitoringOrderDO orderDO = securityMonitoringOrderDao.findOne(id);
|
|
|
patient = orderDO.getPatient();
|
|
|
name = orderDO.getPatientName();
|
|
|
teamCode = orderDO.getTeamCode();
|
|
|
}
|
|
|
List<BaseDoctorDO> doctorDOS = baseTeamMemberDao.findAllMembersByLevel(teamCode,2);
|
|
|
for (BaseDoctorDO doctorDO:doctorDOS){
|
|
|
String dingDingBody = doctorDO.getName()+"社工您好,"+name+"老人的紧急预警还未处理,管理员提醒您及时处理,请进入朝晖云照护应用查看。";
|
|
|
messageUtil.sendDoctorDingdingMessage(doctorDO,null,"text","2",dingDingBody,null,null);
|
|
|
messageUtil.createToDoWorkReminder(doctorDO.getId(),baseDoctorDO.getId(),baseDoctorDO.getName(),id,orderType);
|
|
|
synchronized (id.intern()){
|
|
|
UrgeReminderRecordDO recordDO = urgeReminderRecordDao.findByTypeAndOrderId(orderType,id);
|
|
|
if(recordDO==null){
|
|
|
recordDO = new UrgeReminderRecordDO();
|
|
|
recordDO.setOrderId(id);
|
|
|
recordDO.setType(orderType);
|
|
|
urgeReminderRecordDao.save(recordDO);
|
|
|
String sender = permissionService.getUID();
|
|
|
BaseDoctorDO baseDoctorDO = doctorDao.findById(sender);
|
|
|
String patient;
|
|
|
String name;
|
|
|
String teamCode;
|
|
|
if("20".equals(orderType)){
|
|
|
EmergencyAssistanceDO orderDO = emergencyAssistanceDao.findOne(id);
|
|
|
patient = orderDO.getPatient();
|
|
|
name = orderDO.getPatientName();
|
|
|
teamCode = orderDO.getTeamCode();
|
|
|
}else {
|
|
|
SecurityMonitoringOrderDO orderDO = securityMonitoringOrderDao.findOne(id);
|
|
|
patient = orderDO.getPatient();
|
|
|
name = orderDO.getPatientName();
|
|
|
teamCode = orderDO.getTeamCode();
|
|
|
}
|
|
|
List<BaseDoctorDO> doctorDOS = baseTeamMemberDao.findAllMembersByLevel(teamCode,2);
|
|
|
for (BaseDoctorDO doctorDO:doctorDOS){
|
|
|
String dingDingBody = doctorDO.getName()+"社工您好,"+name+"老人的紧急预警还未处理,管理员提醒您及时处理,请进入朝晖云照护应用查看。";
|
|
|
messageUtil.sendDoctorDingdingMessage(doctorDO,null,"text","2",dingDingBody,null,null);
|
|
|
messageUtil.createToDoWorkReminder(doctorDO.getId(),baseDoctorDO.getId(),baseDoctorDO.getName(),id,orderType);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
//type 2社工 3助老员 4教师
|