|
@ -12,9 +12,11 @@ import com.yihu.jw.org.dao.BaseOrgDao;
|
|
|
import com.yihu.jw.patient.dao.servicepackage.ServicePackageDao;
|
|
|
import com.yihu.jw.patient.dao.servicepackage.ServicePackageItemDao;
|
|
|
import com.yihu.jw.patient.dao.servicepackage.ServicePackageSignRecordDao;
|
|
|
import com.yihu.jw.patient.service.myFamily.MyFamilyService;
|
|
|
import com.yihu.jw.patient.useragent.UserAgent;
|
|
|
import com.yihu.jw.restmodel.base.doctor.BaseDoctorOrgVO;
|
|
|
import com.yihu.jw.restmodel.base.org.OrgDistanceVO;
|
|
|
import com.yihu.jw.restmodel.patient.signPackage.ServicePackageRecordVO;
|
|
|
import com.yihu.jw.restmodel.patient.signPackage.ServicePackageVO;
|
|
|
import com.yihu.jw.restmodel.web.Envelop;
|
|
|
import com.yihu.jw.restmodel.web.MixEnvelop;
|
|
@ -25,6 +27,7 @@ import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
@ -58,6 +61,9 @@ public class PackageService {
|
|
|
@Autowired
|
|
|
private DictHospitalDeptDao dictHospitalDeptDao;
|
|
|
|
|
|
@Autowired
|
|
|
private MyFamilyService myFamilyService;
|
|
|
|
|
|
public MixEnvelop findPackageService(String city,String labelCode,String labelType,Integer page,Integer size){
|
|
|
|
|
|
String totalSql ="SELECT " +
|
|
@ -218,8 +224,10 @@ public class PackageService {
|
|
|
return MixEnvelop.getSuccessListWithPage(PatientRequestMapping.SignPackage.api_success, list, page, size, count);
|
|
|
}
|
|
|
|
|
|
public Envelop signPackage(ServicePackageSignRecordDO recordDO){
|
|
|
public Envelop signPackage(ServicePackageSignRecordDO recordDO) throws Exception{
|
|
|
|
|
|
servicePackageSignRecordDao.save(recordDO);
|
|
|
|
|
|
return Envelop.getSuccess(PatientRequestMapping.SignPackage.api_success);
|
|
|
}
|
|
|
|
|
@ -244,7 +252,126 @@ public class PackageService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// public MixEnvelop findSignPackage(){
|
|
|
//
|
|
|
// }
|
|
|
public MixEnvelop findPatientSignPackage(String label,String labelType,String patient,String operator,String familyModel,Integer status,String isHos, Integer page,Integer size){
|
|
|
|
|
|
String totalSql="SELECT DISTINCT " +
|
|
|
" r.id " +
|
|
|
" FROM " +
|
|
|
" base_service_package_sign_record r " +
|
|
|
" JOIN base_service_package p ON r.service_package_id = p.id ";
|
|
|
if(StringUtils.isNotBlank(label)&&StringUtils.isNotBlank(labelType)){
|
|
|
totalSql += " JOIN base_package_label_info l ON r.service_package_id = l.service_package_id ";
|
|
|
}
|
|
|
totalSql +=" WHERE 1=1 ";
|
|
|
|
|
|
if("1".equals(familyModel)){
|
|
|
//自己
|
|
|
if(StringUtils.isNotBlank(patient)){
|
|
|
totalSql +=" AND r.patient = '"+patient+"'";
|
|
|
}
|
|
|
}else if("2".equals(familyModel)){
|
|
|
//未经授权查询家人,只查自己创建的
|
|
|
if(StringUtils.isNotBlank(patient)&&StringUtils.isNotBlank(operator)){
|
|
|
totalSql +=" AND r.operator = '"+operator+"' " +
|
|
|
" AND r.patient = '"+patient+"' ";
|
|
|
}
|
|
|
}else if("3".equals(familyModel)){
|
|
|
//查询已经授权,自己创建和家人相关记录
|
|
|
if(StringUtils.isNotBlank(patient)&&StringUtils.isNotBlank(operator)){
|
|
|
totalSql +=" AND (r.operator = '"+operator+"' " +
|
|
|
" OR r.patient = '"+patient+"' )";
|
|
|
}
|
|
|
}
|
|
|
if(status != null){
|
|
|
totalSql +=" AND r.`status` ="+status;
|
|
|
}
|
|
|
if(StringUtils.isNotBlank(isHos)){
|
|
|
totalSql +=" AND r.`status` < 0 ";
|
|
|
}else{
|
|
|
totalSql +=" AND r.`status` >= 0 ";
|
|
|
}
|
|
|
|
|
|
if(StringUtils.isNotBlank(label)&&StringUtils.isNotBlank(labelType)){
|
|
|
totalSql +=" AND l.label ='"+label+"'" +
|
|
|
" AND l.label_type ='"+labelType+"'";
|
|
|
}
|
|
|
|
|
|
List<Map<String, Object>> rstotal = jdbcTemplate.queryForList(totalSql);
|
|
|
|
|
|
Long count = 0L;
|
|
|
if (rstotal != null && rstotal.size() > 0) {
|
|
|
count =(long)rstotal.size();
|
|
|
}
|
|
|
|
|
|
|
|
|
String sql="SELECT DISTINCT " +
|
|
|
" r.id, " +
|
|
|
" r.saas_id AS saasId," +
|
|
|
" p.id AS servicePackageId, " +
|
|
|
" p.name AS servicePackageName, " +
|
|
|
" r.patient," +
|
|
|
" r.name," +
|
|
|
" r.idcard," +
|
|
|
" r.sign_doctor AS signDoctor, " +
|
|
|
" r.sign_doctor_name AS signDoctorName, " +
|
|
|
" r.ssc," +
|
|
|
" r.hospital," +
|
|
|
" r.hospital_name AS hospitalName," +
|
|
|
" r.admin_team_code AS adminTeamCode," +
|
|
|
" r.price," +
|
|
|
" r.start_time AS startTime," +
|
|
|
" r.end_time AS endTime," +
|
|
|
" r.status," +
|
|
|
" r.doctor_team_code AS doctorTeamCode," +
|
|
|
" r.operator," +
|
|
|
" r.create_time AS createTime," +
|
|
|
" r.sort," +
|
|
|
" p.introduce, " +
|
|
|
" p.end_introduce AS endIntroduce " +
|
|
|
" FROM " +
|
|
|
" base_service_package_sign_record r " +
|
|
|
" JOIN base_service_package p ON r.service_package_id = p.id ";
|
|
|
if(StringUtils.isNotBlank(label)&&StringUtils.isNotBlank(labelType)){
|
|
|
sql += " JOIN base_package_label_info l ON r.service_package_id = l.service_package_id ";
|
|
|
}
|
|
|
sql +=" WHERE 1=1 ";
|
|
|
|
|
|
if("1".equals(familyModel)){
|
|
|
//自己
|
|
|
if(StringUtils.isNotBlank(patient)){
|
|
|
sql +=" AND r.patient = '"+patient+"'";
|
|
|
}
|
|
|
}else if("2".equals(familyModel)){
|
|
|
//未经授权查询家人,只查自己创建的
|
|
|
if(StringUtils.isNotBlank(patient)&&StringUtils.isNotBlank(operator)){
|
|
|
sql +=" AND r.operator = '"+operator+"' " +
|
|
|
" AND r.patient = '"+patient+"' ";
|
|
|
}
|
|
|
}else if("3".equals(familyModel)){
|
|
|
//查询已经授权,自己创建和家人相关记录
|
|
|
if(StringUtils.isNotBlank(patient)&&StringUtils.isNotBlank(operator)){
|
|
|
sql +=" AND (r.operator = '"+operator+"' " +
|
|
|
" OR r.patient = '"+patient+"' )";
|
|
|
}
|
|
|
}
|
|
|
if(status != null){
|
|
|
sql +=" AND r.`status` ="+status;
|
|
|
}
|
|
|
if(StringUtils.isNotBlank(isHos)){
|
|
|
sql +=" AND r.`status` < 0 ";
|
|
|
}else{
|
|
|
sql +=" AND r.`status` >= 0 ";
|
|
|
}
|
|
|
|
|
|
if(StringUtils.isNotBlank(label)&&StringUtils.isNotBlank(labelType)){
|
|
|
sql +=" AND l.label ='"+label+"'" +
|
|
|
" AND l.label_type ='"+labelType+"'";
|
|
|
}
|
|
|
sql +=" ORDER BY r.sort ASC "+
|
|
|
" LIMIT " + (page - 1) * size + "," + size + "";
|
|
|
|
|
|
List<ServicePackageRecordVO> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper(ServicePackageRecordVO.class));
|
|
|
|
|
|
return MixEnvelop.getSuccessListWithPage(PatientRequestMapping.SignPackage.api_success, list, page, size, count);
|
|
|
}
|
|
|
}
|