controler
/**
*
*张子辉
* pc 状态码 0 1 0进行中 1已完成
* 安卓 状态码 2 3 2 医院code 排序 3创建时间排序
* 空 默认时间排序
*/
@ApiOperation(value = "患者列表综合", notes = "患者列表综合", httpMethod = "GET")
@GetMapping("/queryAllPatientS")
public PageList<PatientRegisterDomain> queryAllPatientS(String name,String idCard,String callTime,String firstaidStatus,String createTime,int pageCurrent, int pageSize,String statu,Integer carId,String orgName,String account){
return patientRegisterImpl.queryAllpatient(name,idCard,callTime,firstaidStatus,createTime,pageCurrent,pageSize,statu,carId,orgName,account);
}
service
//患者列表
PageList<PatientRegisterDomain> queryAllpatient(String name,String idCard,String callTime,String firstaidStatus,String createTime,int pageCurrent, int pageSize,String statu,Integer carId,String orgName,String account);
serviceImpl
//患者列表
@Override
public PageList<PatientRegisterDomain> queryAllpatient(String name,String idCard,String callTime,String firstaidStatus,String createTime,int pageCurrent, int pageSize,String statu,Integer carId,String orgName,String account) {
PageHelper.startPage(pageCurrent, pageSize);
//调用 马磊患者id接口
String o = null;
if (account != null && account != "") {
YqjjFirstaid yqjjFirstaid = YqjjFirstaidImpl.selectByAccount(account);
o = yqjjFirstaid.getId().toString();
}
List<PatientRegisterDomain> all = patientRegisterDao.queryAllpatient(name,idCard,callTime,firstaidStatus,createTime,pageCurrent,pageSize,statu,carId,orgName,o);
for (int i = 0; i < all.size(); i++) {
String accounts = yqjjFirstaidDao.selectAccountById(all.get(i).getFirstaidId());
all.get(i).setFirstaidAccount(accounts);
}
PageInfo<PatientRegisterDomain> pageInfo = new PageInfo<>(all);
PageList pageList = new PageList(pageInfo.getTotal(), pageInfo.getList());
return pageList;
}
dao
//患者列表
List<PatientRegisterDomain> queryAllpatient(String name,String idCard,String callTime,String firstaidStatus,String createTime,int pageCurrent, int pageSize,String statu,Integer carId,String orgName,String o);
mapper
<!--患者列表sql-->
<select id="queryAllpatient" parameterType="com.xyhsoft.ygt.yqjj.api.patient.domain.PatientRegisterDomain" resultMap="BaseResultMap">
select
p.ID,
p.FIRSTAID_ID,
p.CAR_ID,
p.RECORD_NUM,
p.NAME,
p.ID_CARD,
p.GENDER,
p.AGE,
p.PHONE,
p.NATIONALITY,
p.NATION,
p.PROFESSION,
p.SITE_LOCATION,
p.HOME_ADDRESS,
p.CALL_TIME,
p.VISIT_TIME,
p.ARRIVAL_TIME,
p.DEPARTURE_TIME,
p.CHIEF_COMPLAINT,
p.HPI,
p.PAST_HISTORY,
p.ALLERGIC_HISTORY,
p.POSITIVE_SIGN,
p.NEGATIVE_SYMPTOMS,
p.MEDICALHISTORY_PROVIDER,
p.PATIENT_RELATION,
p.CHECK_T,
p.CHECK_P,
p.CHECK_R,
p.CHECK_SYS,
p.CHECK_DIA,
p.CONSCIOUSNESS,
p.PUPIL,
p.LIGHT_REFLEX,
p.HEAD_NECK,
p.THORACIC_DORSAL,
p.HEART_LUNG,
p.ABDOMEN,
p.SPINE_LIMBS,
p.NERVOUS_SYSTEM,
p.RECORD_OTHER,
p.REFLEX_SKIN,
p.HOSPITAL_DIAGNOSIS,
p.THERAPEUTIC_MEASURES,
p.AUXILIARY_EXAMINATION,
p.MEASURES_OTHER,
p.MEASURES_SPO2H,
p.MEASURES_GLU,
p.MEASURES_THERAPY,
p.DOCTOR_NAME,
p.VISIT_RESULT,
p.VISIT_DOCTOR,
p.VISIT_NURSE,
p.VISIT_DRIVER,
p.PATIENT_TO,
p.PATIENT_OTHER,
p.DELIVERY_ADDRESS,
p.DELIVERY_TIME,
p.ILLNESS_P,
p.ILLNESS_T,
p.ILLNESS_SYS,
p.ILLNESS_DIA,
p.DELIVERY_CONSCIOUSNESS,
p.DISEASE_CLASSIFY,
p.REMEDY_RESULT,
p.PATIENT_COOPERATION,
p.MEDICAL_STAFF,
p.HOSPITAL_OUTCOME,
p.DEATH_CERTIFICATE,
p.FIRSTAID_STATUS,
p.HOSP_NAME,
p.NOTIFICATION_OTHER,
p.PATIENT_RELATION2,
p.DUTY_SIGNATURE,
p.NUNCIATOR_SIGNATURE,
p.NUNCIATOR_TIME,
p.ECG_CODE,
p.ECG_DIAGNOSIS,
p.CREATE_BY,
p.UPDATE_BY,
p.CREATE_TIME,
p.UPDATE_TIME,
p.ORG_CODE,
p.ORG_NAME,
f.org_name,
f.LONGITUDE,
f.LATITUDE
from yqjj_patient p left join yqjj_firstaid f on p.FIRSTAID_ID = f.ID
<where>
<if test="name != null and name != ''">
p.NAME like concat('%',#{name},'%')
</if>
<if test="idCard != null and idCard != ''">
and p.ID_CARD = #{idCard}
</if>
<if test=" callTime != null and callTime != '' ">
and p.CALL_TIME >= DATE_FORMAT(#{callTime},'%Y-%m-%d 00:00:00')
</if>
<if test=" callTime != null and callTime != ''">
and p.CALL_TIME <= DATE_FORMAT(#{callTime},'%Y-%m-%d 23:59:59')
</if>
<if test="firstaidStatus != null and firstaidStatus != ''">
and p.FIRSTAID_STATUS = #{firstaidStatus}
</if>
<if test=" createTime != null and createTime != ''">
and p.CREATE_TIME >= DATE_FORMAT(#{createTime},'%Y-%m-%d 00:00:00')
</if>
<if test=" createTime != null and createTime != '' ">
and p.CREATE_TIME <= DATE_FORMAT(#{createTime},'%Y-%m-%d 23:59:59')
</if>
<if test="carId != null and carId != ''">
and p.CAR_ID = #{carId}
</if>
<if test="orgName != null and orgName != ''">
and f.ORG_NAME = #{orgName}
</if>
<if test="o != null and o != ''">
and p.FIRSTAID_ID = #{o}
</if>
</where>
order by
<choose>
<when test="statu == 2">
p.ORG_CODE asc
</when>
<when test="statu ==3 ">
p.CREATE_TIME desc
</when>
<otherwise>
p.CREATE_TIME desc
</otherwise>
</choose>
第二种方式
<!--<if test="statu == 2">p.ORG_CODE asc</if>-->
<!--<if test="statu == 3">p.CREATE_TIME asc</if>-->
多条件查询 让我们的结果展示的更快 减少代码的冗余