|
@ -66,6 +66,7 @@ import com.yihu.jw.restmodel.web.PageEnvelop;
|
|
|
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
|
|
|
import com.yihu.jw.rm.iot.IotRequestMapping;
|
|
|
import com.yihu.jw.util.common.IdCardUtil;
|
|
|
import com.yihu.jw.util.common.LatitudeUtils;
|
|
|
import com.yihu.jw.util.date.DateUtil;
|
|
|
import com.yihu.jw.utils.WebserviceUtil;
|
|
|
import com.yihu.jw.utils.hibernate.HibenateUtils;
|
|
@ -4671,13 +4672,16 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
public void saveInquirySystemMessage(WlyyOutpatientDO outpatient){
|
|
|
SystemMessageDO systemMessageDO = new SystemMessageDO();
|
|
|
String msg="";
|
|
|
String type="";
|
|
|
if("1".equals(outpatient.getType())){
|
|
|
type="9";
|
|
|
msg=outpatient.getPatientName()+",您好!您有一个图文复诊订单待支付,请及时支付。点击完成支付,如您已支付请忽略本条信息。";
|
|
|
}else {
|
|
|
type="16";
|
|
|
msg=outpatient.getPatientName()+",您好!您有一个视频复诊订单待支付,请及时支付。点击完成支付,如您已支付请忽略本条信息。";
|
|
|
}
|
|
|
|
|
|
systemMessageDO.setTitle("线上问诊支付提醒");
|
|
|
systemMessageDO.setTitle("支付提醒");
|
|
|
systemMessageDO.setType("11");
|
|
|
systemMessageDO.setSender(outpatient.getDoctor());
|
|
|
systemMessageDO.setSenderName(outpatient.getDoctorName());
|
|
@ -4692,6 +4696,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
data.put("gender",IdCardUtil.getSexForIdcard_new(outpatient.getIdcard()));
|
|
|
data.put("question",outpatient.getDescription());
|
|
|
data.put("msg",msg);
|
|
|
data.put("type",type);
|
|
|
systemMessageDO.setData(data.toString());
|
|
|
|
|
|
systemMessageService.saveMessage(systemMessageDO);
|
|
@ -5667,7 +5672,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
messageDO.setTitle("处方支付提醒");
|
|
|
messageDO.setSender(outpatientDO.getDoctor());
|
|
|
messageDO.setSenderName(outpatientDO.getDoctorName());
|
|
|
messageDO.setRelationCode(outpatientDO.getId());
|
|
|
messageDO.setRelationCode(outpatientDO.getId()+","+wlyyPrescriptionDO.getId());
|
|
|
messageDO.setReceiver(outpatientDO.getPatient());
|
|
|
messageDO.setReceiverName(outpatientDO.getPatientName());
|
|
|
|
|
@ -6243,4 +6248,76 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
//
|
|
|
// return PageEnvelop.getSuccessListWithPage(IotRequestMapping.Common.message_success_find,list,page,pagesize,count);
|
|
|
// }
|
|
|
|
|
|
/**
|
|
|
* 查询患者所有处方信息
|
|
|
* @param page
|
|
|
* @param size
|
|
|
* @return
|
|
|
*/
|
|
|
public PageEnvelop findPatientAllPrescription(String keyName,String status,Integer page, Integer size) {
|
|
|
String uid = userAgent.getUID();
|
|
|
StringBuffer sql = new StringBuffer("select a.* from wlyy_prescription a,wlyy_prescription_info b where a.patient_code ='");
|
|
|
StringBuffer countSql = new StringBuffer("select COUNT(a.id) count from wlyy_prescription a,wlyy_prescription_info b where a.patient_code ='");
|
|
|
sql.append(uid).append("' and a.status >= 0 AND a.id = b.prescription_id");
|
|
|
countSql.append(uid).append("' and a.status >= 0 AND a.id = b.prescription_id ");
|
|
|
|
|
|
if (StringUtils.isNotEmpty(keyName)){
|
|
|
sql.append(" AND (" +
|
|
|
" a.doctor_name LIKE '%"+keyName+"%' " +
|
|
|
" OR a.dept_name LIKE'%"+keyName+"%' " +
|
|
|
" OR a.hospital_name LIKE '%"+keyName+"%' " +
|
|
|
" OR b.drug_name LIKE '%"+keyName+"%' " +
|
|
|
" OR a.real_order LIKE '%"+keyName+"%' " +
|
|
|
")");
|
|
|
countSql.append(" AND (" +
|
|
|
" a.doctor_name LIKE '%"+keyName+"%' " +
|
|
|
" OR a.dept_name LIKE'%"+keyName+"%' " +
|
|
|
" OR a.hospital_name LIKE '%"+keyName+"%' " +
|
|
|
" OR b.drug_name LIKE '%"+keyName+"%' " +
|
|
|
" OR a.real_order LIKE '%"+keyName+"%' " +
|
|
|
")");
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(status)){
|
|
|
sql.append(" AND a.`status`=").append(status);
|
|
|
countSql.append(" AND a.`status`=").append(status);
|
|
|
}
|
|
|
sql.append(" order by a.prescribe_time limit ").append((page-1)*size).append(",").append(size);
|
|
|
List<WlyyPrescriptionDO> list = jdbcTemplate.query(sql.toString(), new BeanPropertyRowMapper<>(WlyyPrescriptionDO.class));
|
|
|
List<Map<String, Object>> mapList = jdbcTemplate.queryForList(countSql.toString());
|
|
|
long count = Long.parseLong(mapList.get(0).get("count").toString());
|
|
|
logger.info("sql="+sql.toString());
|
|
|
logger.info("countSql="+countSql.toString());
|
|
|
return PageEnvelop.getSuccessListWithPage(IotRequestMapping.Common.message_success_find,list,page,size,count);
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 查询取药地址
|
|
|
* @param outpatientId
|
|
|
* @param longitude
|
|
|
* @param dimension
|
|
|
* @return
|
|
|
*/
|
|
|
public MixEnvelop findDrugAddress(String outpatientId, String longitude, String dimension) {
|
|
|
String sql="SELECT\n" +
|
|
|
"\ta.*\n" +
|
|
|
"FROM\n" +
|
|
|
"\tbase_org a\n" +
|
|
|
"LEFT JOIN (\n" +
|
|
|
"\tSELECT\n" +
|
|
|
"\t\tc.*\n" +
|
|
|
"\tFROM\n" +
|
|
|
"\t\twlyy_prescription_expressage c\n" +
|
|
|
"\tWHERE\n" +
|
|
|
" c.outpatient_id = '"+outpatientId+"'" +
|
|
|
" ) d ON a.`code` = d.hospital_code";
|
|
|
BaseOrgDO baseOrgDO = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(BaseOrgDO.class)).get(0);
|
|
|
Map<String, String> rs = new HashMap<>();
|
|
|
rs.put("hospital",baseOrgDO.getName());
|
|
|
rs.put("address",baseOrgDO.getAddress());
|
|
|
String distance = LatitudeUtils.getDistance(longitude, dimension, baseOrgDO.getLongitude(), baseOrgDO.getLatitude());
|
|
|
rs.put("distance",distance);
|
|
|
return MixEnvelop.getSuccess(IotRequestMapping.Common.message_success_find,rs);
|
|
|
}
|
|
|
}
|