Browse Source

通知所有用户急救状态

master
zhizhi wu 4 years ago
parent
commit
fe804dfa42
  1. 2
      src/main/java/com/ccsens/carbasics/bean/dto/ButtonDto.java
  2. 16
      src/main/java/com/ccsens/carbasics/bean/vo/EquipmentVo.java
  3. 21
      src/main/java/com/ccsens/carbasics/bean/vo/message/ButtonStartVo.java
  4. 22
      src/main/java/com/ccsens/carbasics/bean/vo/message/UpdateStatusVo.java
  5. 189
      src/main/java/com/ccsens/carbasics/mq/QcpButtonReceive.java
  6. 8
      src/main/java/com/ccsens/carbasics/persist/dao/EquipmentInformDao.java
  7. 22
      src/main/java/com/ccsens/carbasics/persist/dao/EquipmentStatusDao.java
  8. 7
      src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDao.java
  9. 24
      src/main/java/com/ccsens/carbasics/persist/dao/QcpDao.java
  10. 40
      src/main/java/com/ccsens/carbasics/service/EquipmentService.java
  11. 3
      src/main/java/com/ccsens/carbasics/service/IEquipmentService.java
  12. 12
      src/main/resources/mapper_dao/EquipmentInformDao.xml
  13. 32
      src/main/resources/mapper_dao/EquipmentStatusDao.xml
  14. 15
      src/main/resources/mapper_dao/OrganizationDao.xml
  15. 41
      src/main/resources/mapper_dao/QcpDao.xml

2
src/main/java/com/ccsens/carbasics/bean/dto/ButtonDto.java

@ -43,6 +43,8 @@ public class ButtonDto {
private String idcard;
@ApiModelProperty("设备userId")
private Long userId;
@ApiModelProperty("启动时间")
private Long time = System.currentTimeMillis();
}
@Data
@ApiModel("状态更改-mq入参")

16
src/main/java/com/ccsens/carbasics/bean/vo/EquipmentVo.java

@ -14,6 +14,8 @@ public class EquipmentVo {
@ApiModel("未完成的设备信息")
@Data
public static class Unfinished{
@ApiModelProperty("设备状态(0身份证识别,1进行中,2结束)")
private Byte equipmentStatus;
@ApiModelProperty("开始时间")
private Long time;
@ApiModelProperty("通知内容")
@ -21,4 +23,18 @@ public class EquipmentVo {
@ApiModelProperty("总倒计时")
private Long totalCountdown;
}
@Data
@ApiModel("设备信息")
public static class ButtonInfo{
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("设备userId")
private Long userId;
@ApiModelProperty("设备类型(0分诊台,1收费处,2ct室,3溶栓区)")
private Byte type;
@ApiModelProperty("qcp的医院id")
private Long hospitalId;
}
}

21
src/main/java/com/ccsens/carbasics/bean/vo/message/ButtonStartVo.java

@ -0,0 +1,21 @@
package com.ccsens.carbasics.bean.vo.message;
import lombok.Data;
@Data
public class ButtonStartVo {
private String type = "buttonStart";
private Data data;
@lombok.Data
public static class Data{
private String name;
private String content;
private Long totalCountdown;
private Long realCountdown;
private Long time;
private Long firstAidId;
}
}

22
src/main/java/com/ccsens/carbasics/bean/vo/message/UpdateStatusVo.java

@ -0,0 +1,22 @@
package com.ccsens.carbasics.bean.vo.message;
import lombok.Data;
@Data
public class UpdateStatusVo {
private String type = "updateStatus";
private Data data;
@lombok.Data
public static class Data{
private Long time;
private Byte status;
private Long firstAidId;
public Data(Long time, Byte status, Long firstAidId) {
this.time = time;
this.status = status;
this.firstAidId = firstAidId;
}
}
}

189
src/main/java/com/ccsens/carbasics/mq/QcpButtonReceive.java

@ -1,26 +1,41 @@
package com.ccsens.carbasics.mq;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.ccsens.carbasics.bean.dto.ButtonDto;
import com.ccsens.carbasics.bean.dto.PatientDto;
import com.ccsens.carbasics.bean.po.EquipmentInform;
import com.ccsens.carbasics.bean.po.EquipmentStatus;
import com.ccsens.carbasics.bean.po.FirstAid;
import com.ccsens.carbasics.bean.vo.EquipmentVo;
import com.ccsens.carbasics.bean.vo.message.ButtonStartVo;
import com.ccsens.carbasics.bean.vo.message.UpdateStatusVo;
import com.ccsens.carbasics.persist.dao.*;
import com.ccsens.carbasics.service.IFirstAidService;
import com.ccsens.carbasics.util.Constant;
import com.ccsens.carbasics.util.DefaultCodeError;
import com.ccsens.util.JacksonUtil;
import com.ccsens.util.RedisUtil;
import com.ccsens.util.bean.message.common.InMessage;
import com.ccsens.util.bean.message.common.MessageConstant;
import com.ccsens.util.bean.message.common.MessageRule;
import com.ccsens.util.config.RabbitMQConfig;
import com.ccsens.util.exception.BaseException;
import com.fasterxml.jackson.core.JsonProcessingException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* 暴风眼接收qcp一键通知相关消息
@ -47,6 +62,10 @@ public class QcpButtonReceive {
private EquipmentInformDao equipmentInformDao;
@Resource
private FirstAidDao firstAidDao;
@Resource
private AmqpTemplate amqpTemplate;
@Resource
private OrganizationMemberDao organizationMemberDao;
@RabbitHandler
public void process(String messageJson) throws Exception {
@ -71,13 +90,14 @@ public class QcpButtonReceive {
* 身份证识别处理
* @param param 参数
*/
public void idCardDiscern(ButtonDto.IdCardInfoMq param) {
public void idCardDiscern(ButtonDto.IdCardInfoMq param) throws Exception {
log.info("暴风眼身份证识别接收到的参数{}",param);
String idCard = (String) redisUtil.get(param.getName() + param.getIdcard());
if (StrUtil.isNotBlank(idCard)) {
return;
}
redisUtil.set(param.getName()+param.getIdcard(),param.getIdcard(),300);
//根据设备userId查询项目id
Long projectId = qcpDao.queryProjectByUserId(param.getUserId());
log.info("查询到的项目id:{}",projectId);
@ -89,8 +109,20 @@ public class QcpButtonReceive {
PatientDto.SavePatient savePatient = new PatientDto.SavePatient();
BeanUtil.copyProperties(param,savePatient);
savePatient.setGender(param.getSex());
firstAidService.getFirstAid(savePatient,param.getUserId(), (byte) 5,organizationId);
FirstAid firstAid = firstAidService.getFirstAid(savePatient, param.getUserId(), (byte) 5, organizationId);
//查询设备信息,并保存状态
EquipmentVo.ButtonInfo buttonInfo = qcpDao.queryEquipmentInfoByUserId(param.getUserId());
if (ObjectUtil.isNotNull(buttonInfo)) {
EquipmentStatus equipmentStatus = new EquipmentStatus();
equipmentStatus.setId(snowflake.nextId());
equipmentStatus.setEquipmentId(buttonInfo.getId());
equipmentStatus.setEquipmentStatus((byte) 0);
equipmentStatus.setFirstAidId(firstAid.getId());
equipmentStatus.setTime(System.currentTimeMillis());
}
sendDoctor(firstAid.getId(), firstAid.getName(), firstAid.getHospitalId());
}
}
}
@ -99,14 +131,63 @@ public class QcpButtonReceive {
* 一键启动处理
* @param param 参数
*/
public void buttonStart(ButtonDto.ButtonStartMq param) {
public void buttonStart(ButtonDto.ButtonStartMq param) throws Exception {
log.info("暴风眼一键启动接收到的参数{}",param);
Long projectId = qcpDao.queryProjectByUserId(param.getUserId());
Long organizationId = organizationProjectDao.queryByProjectId(projectId);
FirstAid firstAid = firstAidDao.queryByOidAndIdcard(organizationId,param.getIdcard());
if (ObjectUtil.isNotNull(firstAid)) {
EquipmentStatus equipmentStatus = new EquipmentStatus();
equipmentStatus.setId(snowflake.nextId());
//查询设备信息
EquipmentVo.ButtonInfo buttonInfo = qcpDao.queryEquipmentInfoByUserId(param.getUserId());
if (ObjectUtil.isNotNull(buttonInfo)) {
Long projectId = qcpDao.queryProjectByUserId(param.getUserId());
Long organizationId = organizationProjectDao.queryByProjectId(projectId);
FirstAid firstAid = firstAidDao.queryByOidAndIdcard(organizationId,param.getIdcard());
if (ObjectUtil.isNotNull(firstAid)) {
Long firstAidId = firstAid.getId();
EquipmentStatus equipmentStatus = equipmentStatusDao.queryByEidAndFid(buttonInfo.getId(), firstAidId);
if (ObjectUtil.isNotNull(equipmentStatus)) {
return;
}
EquipmentStatus triageStatus = new EquipmentStatus();
triageStatus.setId(snowflake.nextId());
triageStatus.setFirstAidId(firstAidId);
triageStatus.setEquipmentId(buttonInfo.getId());
triageStatus.setEquipmentStatus(Constant.Equipment.RUNNING_STATUS);
triageStatus.setTime(param.getTime());
equipmentStatusDao.insertSelective(equipmentStatus);
Long hospitalId = buttonInfo.getHospitalId();
String name = firstAid.getName();
Long time = param.getTime();
sendEquipmentStart(firstAidId, hospitalId, name, time);
sendDoctor(firstAidId, firstAid.getName(), firstAid.getHospitalId());
}
}
}
public void sendEquipmentStart(Long firstAidId, Long hospitalId, String name, Long time) throws JsonProcessingException {
//查询医院其他设备
List<EquipmentVo.ButtonInfo> buttonInfoList = qcpDao.queryOtherEquipment(hospitalId);
log.info("查询医院其他设备:{}",buttonInfoList);
if (CollectionUtil.isNotEmpty(buttonInfoList)) {
for (EquipmentVo.ButtonInfo info : buttonInfoList) {
//查询需要发送的消息内容
EquipmentInform equipmentInform = equipmentInformDao.queryByType(info.getType());
HashSet<String> userSet = new HashSet<>();
userSet.add(info.getUserId().toString());
ButtonStartVo.Data data = new ButtonStartVo.Data();
data.setName(name);
data.setContent(name + equipmentInform.getContent());
data.setFirstAidId(firstAidId);
data.setTotalCountdown(equipmentInform.getTotalCountdown());
data.setRealCountdown(System.currentTimeMillis() - time);
data.setTime(time);
ButtonStartVo buttonStartVo = new ButtonStartVo();
buttonStartVo.setData(data);
InMessage inMessage = new InMessage();
inMessage.setTos(userSet);
inMessage.setData(JacksonUtil.beanToJson(buttonStartVo));
inMessage.setToDomain(MessageConstant.DomainType.User);
log.info("一键启动调用消息系统传参{}",inMessage);
amqpTemplate.convertAndSend(RabbitMQConfig.MESSAGE_QUEUE_NAME,JacksonUtil.beanToJson(inMessage));
}
}
}
@ -115,8 +196,96 @@ public class QcpButtonReceive {
* 修改状态处理
* @param param 参数
*/
public void updateStatus(ButtonDto.UpDateStatusMq param) {
public void updateStatus(ButtonDto.UpDateStatusMq param) throws Exception {
log.info("暴风眼修改状态接收到的参数{}",param);
EquipmentVo.ButtonInfo buttonInfo = qcpDao.queryEquipmentInfoByUserId(param.getUserId());
if (ObjectUtil.isNull(buttonInfo)) {
return;
}
FirstAid firstAid = firstAidDao.selectByPrimaryKey(param.getFirstAidId());
if (firstAid == null) {
log.info("{}未找到急救", param.getFirstAidId());
return;
}
EquipmentStatus equipmentStatus = equipmentStatusDao.queryByEidAndFidAndStatus(buttonInfo.getId(),param.getFirstAidId(),param.getStatus());
if (ObjectUtil.isNotNull(equipmentStatus)) {
return;
}
if (1 == buttonInfo.getType()) {
if (param.getStatus() ==1 || param.getStatus() == 2) {
//查询分诊台的设备id
List<EquipmentVo.ButtonInfo> triageTableList = qcpDao.queryTriageTable(buttonInfo.getHospitalId());
log.info("查询分诊台的设备id列表:{}",triageTableList);
if (CollectionUtil.isNotEmpty(triageTableList)) {
HashSet<String> userSet = new HashSet<>();
for (EquipmentVo.ButtonInfo triageTable : triageTableList) {
userSet.add(triageTable.getUserId().toString());
//保存分诊台关闭的信息
EquipmentStatus triageTableStatus = new EquipmentStatus();
triageTableStatus.setId(snowflake.nextId());
triageTableStatus.setTime(System.currentTimeMillis());
triageTableStatus.setEquipmentStatus((byte) 2);
triageTableStatus.setEquipmentId(triageTable.getId());
triageTableStatus.setFirstAidId(param.getFirstAidId());
equipmentStatusDao.insertSelective(triageTableStatus);
}
UpdateStatusVo.Data data = new UpdateStatusVo.Data(System.currentTimeMillis(), (byte) 2,param.getFirstAidId());
UpdateStatusVo updateStatusVo = new UpdateStatusVo();
updateStatusVo.setData(data);
InMessage inMessage = new InMessage();
inMessage.setTos(userSet);
inMessage.setData(JacksonUtil.beanToJson(updateStatusVo));
inMessage.setToDomain(MessageConstant.DomainType.User);
log.info("更改状态调用消息系统传参{}",inMessage);
amqpTemplate.convertAndSend(RabbitMQConfig.MESSAGE_QUEUE_NAME,JacksonUtil.beanToJson(inMessage));
}
}
}
//保存设备更改状态的信息
EquipmentStatus saveEquipmentStatus = new EquipmentStatus();
saveEquipmentStatus.setId(snowflake.nextId());
saveEquipmentStatus.setTime(System.currentTimeMillis());
saveEquipmentStatus.setEquipmentStatus(param.getStatus());
saveEquipmentStatus.setEquipmentId(buttonInfo.getId());
saveEquipmentStatus.setFirstAidId(param.getFirstAidId());
equipmentStatusDao.insertSelective(saveEquipmentStatus);
sendDoctor(param.getFirstAidId(), firstAid.getName(), firstAid.getHospitalId());
}
/**
* 通知医院的所有成员病例进度
* @param firstAidId 病例
*/
private void sendDoctor(Long firstAidId, String firstAidName, Long organizationId) throws Exception {
// 查询医院所有成员
List<Long> userIds = organizationMemberDao.queryUserIdsByOrganizationId(organizationId);
// 查询当前未完成的状态
EquipmentVo.Unfinished inform = equipmentStatusDao.getUnfinished(firstAidId);
log.info("未完成的设备:{}", inform);
if (inform == null) {
return;
}
Set<String> userIdSet = new HashSet<>();
userIds.forEach(userId -> userIdSet.add(userId + ""));
// 封装对象
ButtonStartVo.Data data = new ButtonStartVo.Data();
data.setName(firstAidName);
data.setContent(inform.getEquipmentStatus() == Constant.Equipment.ID_CARD_IDENTIFY_STATUS ? firstAidName : firstAidName + inform.getContent());
data.setFirstAidId(firstAidId);
data.setTotalCountdown(inform.getTotalCountdown());
data.setRealCountdown(System.currentTimeMillis() - inform.getTime());
data.setTime(inform.getTime());
ButtonStartVo buttonStartVo = new ButtonStartVo();
buttonStartVo.setData(data);
MessageRule messageRule = MessageRule.defaultRule(MessageConstant.DomainType.User);
messageRule.setAckRule(MessageRule.AckRule.NONE);
messageRule.setOfflineDiscard((byte) 1);
InMessage inMessage = InMessage.newToUserMessage(null, userIdSet, null, messageRule, "");
log.info("发送消息:{}", inMessage);
//发送消息
amqpTemplate.convertAndSend(RabbitMQConfig.MESSAGE_QUEUE_NAME,JacksonUtil.beanToJson(inMessage));
}
}

8
src/main/java/com/ccsens/carbasics/persist/dao/EquipmentInformDao.java

@ -1,8 +1,16 @@
package com.ccsens.carbasics.persist.dao;
import com.ccsens.carbasics.bean.po.EquipmentInform;
import com.ccsens.carbasics.persist.mapper.EquipmentInformMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@Repository
public interface EquipmentInformDao extends EquipmentInformMapper {
/**
* 根据类型查询需要发送的内容
* @param type 设备类型
* @return 发送内容
*/
EquipmentInform queryByType(@Param("type") Byte type);
}

22
src/main/java/com/ccsens/carbasics/persist/dao/EquipmentStatusDao.java

@ -1,6 +1,8 @@
package com.ccsens.carbasics.persist.dao;
import com.ccsens.carbasics.bean.vo.EquipmentVo;
import com.ccsens.carbasics.bean.po.EquipmentStatus;
import com.ccsens.carbasics.persist.mapper.EquipmentStatusMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@ -21,14 +23,30 @@ public interface EquipmentStatusDao extends EquipmentStatusMapper {
/**
* 查询虚拟设备的ID
* @param type 虚拟设备类型
* @return
* @return 虚拟设备的ID
*/
Long getVirtual(@Param("type") byte type);
/**
* 查询未完成设备信息
* @param firstAidId 急救ID
* @return
* @return 未完成设备信息
*/
EquipmentVo.Unfinished getUnfinished(@Param("firstAidId") Long firstAidId);
/**
* 根据设备id和急救id查询是否启动过
* @param eid 设备id
* @param fid 急救id
* @return 设备状态
*/
EquipmentStatus queryByEidAndFid(@Param("eid") Long eid,@Param("fid") Long fid);
/**
* 根据设备id和急救id和状态查询是否已存在
* @param eid 设备id
* @param fid 急救id
* @param status 设备状态
* @return 设备状态信息
*/
EquipmentStatus queryByEidAndFidAndStatus(@Param("eid") Long eid,@Param("fid") Long fid,@Param("status") Byte status);
}

7
src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDao.java

@ -110,4 +110,11 @@ public interface OrganizationDao extends OrganizationMapper {
* @return 返回医院列表
*/
List<OrganizationVo.HospitalRankItem> hospitalRankStatistical(@Param("areaId")String areaId,@Param("level")String level, @Param("type")byte type);
/**
* 查询医院ID
* @param hospitalId 医院ID
* @return QCP医院ID
*/
Long getQcpHospitalId(@Param("id") Long hospitalId);
}

24
src/main/java/com/ccsens/carbasics/persist/dao/QcpDao.java

@ -1,8 +1,11 @@
package com.ccsens.carbasics.persist.dao;
import com.ccsens.carbasics.bean.vo.EquipmentVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 查询qcp中的信息
* @author AUSU
@ -15,4 +18,25 @@ public interface QcpDao {
* @return 项目id
*/
Long queryProjectByUserId(@Param("userId") Long userId);
/**
* 根据设备userId查询设备信息
* @param userId 设备userId
* @return 设备信息
*/
EquipmentVo.ButtonInfo queryEquipmentInfoByUserId(@Param("userId") Long userId);
/**
* 根据医院id查询其他
* @param hospitalId 医院id
* @return 其他设备列表
*/
List<EquipmentVo.ButtonInfo> queryOtherEquipment(@Param("hid") Long hospitalId);
/**
* 查询分诊台设备id
* @param hospitalId qcp医院id
* @return 分诊台列表
*/
List<EquipmentVo.ButtonInfo> queryTriageTable(@Param("hid") Long hospitalId);
}

40
src/main/java/com/ccsens/carbasics/service/EquipmentService.java

@ -2,14 +2,13 @@ package com.ccsens.carbasics.service;
import cn.hutool.core.lang.Snowflake;
import com.ccsens.carbasics.bean.dto.EquipmentDto;
import com.ccsens.carbasics.bean.po.EquipmentInform;
import com.ccsens.carbasics.bean.po.EquipmentStatus;
import com.ccsens.carbasics.bean.po.FirstAid;
import com.ccsens.carbasics.bean.po.OrganizationMember;
import com.ccsens.carbasics.bean.vo.EquipmentVo;
import com.ccsens.carbasics.mq.QcpButtonReceive;
import com.ccsens.carbasics.persist.dao.EquipmentStatusDao;
import com.ccsens.carbasics.persist.dao.FirstAidDao;
import com.ccsens.carbasics.persist.dao.OrganizationDao;
import com.ccsens.carbasics.persist.dao.OrganizationMemberDao;
import com.ccsens.carbasics.util.Constant;
import com.ccsens.carbasics.util.DefaultCodeError;
@ -26,7 +25,6 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@ -49,13 +47,12 @@ public class EquipmentService implements IEquipmentService {
@Resource
private QcpButtonReceive qcpButtonReceive;
@Resource
private IMessageService messageService;
@Resource
private OrganizationMemberDao organizationMemberDao;
private OrganizationDao organizationDao;
@Override
public CodeError.Code start(EquipmentDto.Start param, Long userId) {
public CodeError.Code start(EquipmentDto.Start param, Long userId) throws JsonProcessingException {
Long firstAidId = param.getFirstAidId();
// TODO 1.身份校验
// 病例是否存在
@ -83,32 +80,11 @@ public class EquipmentService implements IEquipmentService {
status.setTime(System.currentTimeMillis());
equipmentStatusDao.insertSelective(status);
log.info("保存分诊台启动:{}", status);
//TODO 通知各设备
// 使用QCP的医院ID
Long qcpHospitalId = organizationDao.getQcpHospitalId(firstAid.getHospitalId());
qcpButtonReceive.sendEquipmentStart(firstAidId, qcpHospitalId, firstAid.getName(), status.getTime());
return DefaultCodeError.SUCCESS;
}
/**
* 通知医院的所有成员病例进度
* @param firstAidId 病例
*/
private void sendDoctor(Long firstAidId, String firstAidName, Long organizationId) throws Exception {
// 查询医院所有成员
List<Long> userIds = organizationMemberDao.queryUserIdsByOrganizationId(organizationId);
// 查询当前未完成的状态
EquipmentVo.Unfinished inform = equipmentStatusDao.getUnfinished(firstAidId);
log.info("未完成的设备:{}", inform);
if (inform == null) {
return;
}
Set<String> userIdSet = new HashSet<>();
userIds.forEach(userId -> userIdSet.add(userId + ""));
// 封装对象
MessageRule messageRule = MessageRule.defaultRule(MessageConstant.DomainType.User);
messageRule.setAckRule(MessageRule.AckRule.NONE);
messageRule.setOfflineDiscard((byte) 1);
InMessage inMessage = InMessage.newToUserMessage(null, userIdSet, null, messageRule, "");
log.info("发送消息:{}", inMessage);
//发送消息
messageService.sendTo(inMessage);
}
}

3
src/main/java/com/ccsens/carbasics/service/IEquipmentService.java

@ -2,6 +2,7 @@ package com.ccsens.carbasics.service;
import com.ccsens.carbasics.bean.dto.EquipmentDto;
import com.ccsens.util.CodeError;
import com.fasterxml.jackson.core.JsonProcessingException;
/**
* @author whj
@ -13,5 +14,5 @@ public interface IEquipmentService {
* @param userId 启动者信息
* @return 启动结果
*/
CodeError.Code start(EquipmentDto.Start param, Long userId);
CodeError.Code start(EquipmentDto.Start param, Long userId) throws JsonProcessingException;
}

12
src/main/resources/mapper_dao/EquipmentInformDao.xml

@ -2,4 +2,16 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.carbasics.persist.dao.EquipmentInformDao">
<select id="queryByType" resultType="com.ccsens.carbasics.bean.po.EquipmentInform">
SELECT
id,
type,
content,
total_countdown
FROM
t_qcp_equipment_inform
WHERE
rec_status = 0
AND type = #{type}
</select>
</mapper>

32
src/main/resources/mapper_dao/EquipmentStatusDao.xml

@ -32,6 +32,7 @@
</select>
<select id="getUnfinished" resultType="com.ccsens.carbasics.bean.vo.EquipmentVo$Unfinished">
SELECT
t1.equipment_status as equipmentStatus,
t1.time,
t2.content,
t2.totalCountdown
@ -68,4 +69,35 @@
ORDER BY t1.time
LIMIT 1
</select>
<select id="queryByEidAndFid" resultType="com.ccsens.carbasics.bean.po.EquipmentStatus">
SELECT
id,
equipment_id,
first_aid_id,
equipment_status,
time
FROM
t_qcp_equipment_status
WHERE
rec_status = 0
AND first_aid_id = #{fid}
AND equipment_id = #{eid}
AND equipment_status = 1
</select>
<select id="queryByEidAndFidAndStatus" resultType="com.ccsens.carbasics.bean.po.EquipmentStatus">
SELECT
id,
equipment_id,
first_aid_id,
equipment_status,
time
FROM
t_qcp_equipment_status
WHERE
rec_status = 0
AND first_aid_id = #{fid}
AND equipment_id = #{eid}
AND equipment_status = #{status}
</select>
</mapper>

15
src/main/resources/mapper_dao/OrganizationDao.xml

@ -462,5 +462,20 @@
d.submit_status = 1
ORDER BY `value` DESC
</select>
<select id="getQcpHospitalId" resultType="java.lang.Long">
SELECT
h.id
FROM
t_organization o,
t_organization_project p,
qcp.t_qcp_hospital h
WHERE
o.id = p.organization_id
AND p.project_id = h.project_id
AND o.id = #{id}
AND o.rec_status = 0
AND p.rec_status = 0
AND h.rec_status = 0
</select>
</mapper>

41
src/main/resources/mapper_dao/QcpDao.xml

@ -13,4 +13,45 @@
AND h.rec_status = 0
AND he.user_id = #{userId}
</select>
<select id="queryEquipmentInfoByUserId" resultType="com.ccsens.carbasics.bean.vo.EquipmentVo$ButtonInfo">
SELECT
id,
user_id,
`type`,
hospital_id
FROM
qcp.t_qcp_hospital_equipment
WHERE
rec_status = 0
AND user_id =#{userId}
</select>
<select id="queryOtherEquipment" resultType="com.ccsens.carbasics.bean.vo.EquipmentVo$ButtonInfo">
SELECT
id,
user_id,
type,
hospital_id
FROM
t_qcp_hospital_equipment
WHERE
rec_status = 0
AND hospital_id = #{hid}
AND user_id != 0
</select>
<select id="queryTriageTable" resultType="com.ccsens.carbasics.bean.vo.EquipmentVo$ButtonInfo">
SELECT
id,
user_id,
type,
hospital_id
FROM
qcp.t_qcp_hospital_equipment
WHERE
rec_status = 0
AND hospital_id = #{hid}
AND type = 0
</select>
</mapper>
Loading…
Cancel
Save