|
@ -3219,7 +3219,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 订单查询
|
|
|
|
|
|
* 导出订单查询
|
|
*
|
|
*
|
|
* @param status
|
|
* @param status
|
|
* @param oneselfPickupFlg
|
|
* @param oneselfPickupFlg
|
|
@ -3230,7 +3230,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
* @param size
|
|
* @param size
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
public MixEnvelop findExpressageList(String status, String oneselfPickupFlg, String nameKey, String startTime, String endTime, Integer page, Integer size, String wxId,String patientName) {
|
|
|
|
|
|
public MixEnvelop findExpressageList2(String status, String oneselfPickupFlg, String nameKey, String startTime, String endTime, Integer page, Integer size, String wxId,String patientName) {
|
|
String totalSql = "SELECT " +
|
|
String totalSql = "SELECT " +
|
|
" COUNT(1) AS \"total\" " +
|
|
" COUNT(1) AS \"total\" " +
|
|
" FROM " +
|
|
" FROM " +
|
|
@ -3429,6 +3429,218 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
return MixEnvelop.getSuccessListWithPage2(BaseHospitalRequestMapping.Prescription.api_success, mapList);
|
|
return MixEnvelop.getSuccessListWithPage2(BaseHospitalRequestMapping.Prescription.api_success, mapList);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 订单查询
|
|
|
|
*
|
|
|
|
* @param status
|
|
|
|
* @param oneselfPickupFlg
|
|
|
|
* @param nameKey
|
|
|
|
* @param startTime
|
|
|
|
* @param endTime
|
|
|
|
* @param page
|
|
|
|
* @param size
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
public MixEnvelop findExpressageList(String status, String oneselfPickupFlg, String nameKey, String startTime, String endTime, Integer page, Integer size, String wxId,String patientName) {
|
|
|
|
String totalSql = "SELECT " +
|
|
|
|
" COUNT(1) AS \"total\" " +
|
|
|
|
" FROM " +
|
|
|
|
" wlyy_outpatient o " +
|
|
|
|
" JOIN wlyy_prescription p ON p.outpatient_id = o.id " +
|
|
|
|
" JOIN wlyy_prescription_expressage e ON e.outpatient_id = o.id" +
|
|
|
|
" WHERE" +
|
|
|
|
" 1=1 ";
|
|
|
|
if (StringUtils.isNotBlank(status)) {
|
|
|
|
totalSql += " AND p.status in(" + status + ") ";
|
|
|
|
}
|
|
|
|
if (StringUtils.isNotBlank(oneselfPickupFlg)) {
|
|
|
|
totalSql += " AND e.oneself_pickup_flg = " + oneselfPickupFlg+" ";
|
|
|
|
}
|
|
|
|
if (StringUtils.isNotBlank(nameKey)) {
|
|
|
|
totalSql += " AND e.name like '%" + nameKey + "%' ";
|
|
|
|
}
|
|
|
|
if (StringUtils.isNotBlank(patientName)) {
|
|
|
|
totalSql += " AND o.patient_name like '%" + patientName + "%' ";
|
|
|
|
}
|
|
|
|
if (StringUtils.isNotBlank(startTime)) {
|
|
|
|
if ("xm_ykyy_wx".equals(wxId)) {
|
|
|
|
if (flag){
|
|
|
|
totalSql += " and p.create_time >= str_to_date('" + startTime + " 00:00:00','YYYY-MM-DD HH24:MI:SS')";
|
|
|
|
}else {
|
|
|
|
totalSql += " and p.create_time >= to_date('" + startTime + " 00:00:00','YYYY-MM-DD HH24:MI:SS')";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
totalSql += " AND p.create_time >='" + startTime + " 00:00:00'";
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
if (StringUtils.isNotBlank(endTime)) {
|
|
|
|
if ("xm_ykyy_wx".equals(wxId)) {
|
|
|
|
if (flag){
|
|
|
|
totalSql += " and p.create_time <= str_to_date('" + endTime + " 23:59:59','YYYY-MM-DD HH24:MI:SS')";
|
|
|
|
}else {
|
|
|
|
totalSql += " and p.create_time <= to_date('" + endTime + " 23:59:59','YYYY-MM-DD HH24:MI:SS')";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
totalSql += " AND p.create_time <='" + endTime + " 23:59:59'";
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
List<Map<String, Object>> rstotal = hibenateUtils.createSQLQuery(totalSql);
|
|
|
|
|
|
|
|
Long count = 0L;
|
|
|
|
if (rstotal != null && rstotal.size() > 0) {
|
|
|
|
count = Long.parseLong(rstotal.get(0).get("total").toString());
|
|
|
|
}
|
|
|
|
String sql = "SELECT ";
|
|
|
|
if ("xm_ykyy_wx".equals(wxId)) {
|
|
|
|
if (flag){
|
|
|
|
sql = sql + "date_format(e.create_time,'YYYY-MM-DD hh24:mi:ss') AS \"expressCreateTime\",";
|
|
|
|
}else {
|
|
|
|
sql = sql + "to_char(e.create_time,'YYYY-MM-DD hh24:mi:ss') AS \"expressCreateTime\",";
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
sql = sql + "date_format(e.create_time,'%Y-%m-%d %H:%i:%S' ) AS \"expressCreateTime\",";
|
|
|
|
}
|
|
|
|
if ("xm_ykyy_wx".equals(wxId)) {
|
|
|
|
if (flag){
|
|
|
|
sql = sql + "date_format(p.create_time,'YYYY-MM-DD hh24:mi:ss') AS \"createTime\",";
|
|
|
|
}else {
|
|
|
|
sql = sql + "to_char(p.create_time,'YYYY-MM-DD hh24:mi:ss') AS \"createTime\",";
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
sql = sql + "date_format(p.create_time,'%Y-%m-%d %H:%i:%S' ) AS \"createTime\",";
|
|
|
|
}
|
|
|
|
if ("xm_ykyy_wx".equals(wxId)) {
|
|
|
|
if (flag){
|
|
|
|
sql = sql + "date_format(p.pay_time,'YYYY-MM-DD hh24:mi:ss') AS \"payTime\",";
|
|
|
|
}else {
|
|
|
|
sql = sql + "to_char(p.pay_time,'YYYY-MM-DD hh24:mi:ss') AS \"payTime\",";
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
sql = sql + "date_format(p.pay_time,'%Y-%m-%d %H:%i:%S' ) AS \"payTime\",";
|
|
|
|
}
|
|
|
|
sql = sql + "p.create_time\n" +
|
|
|
|
"as time,\n" +
|
|
|
|
"e. NAME\n" +
|
|
|
|
"as NAME,\n" +
|
|
|
|
"p.pay_time\n" +
|
|
|
|
"as pay_time,\n" +
|
|
|
|
"p.real_order\n" +
|
|
|
|
"as realOrder,\n" +
|
|
|
|
"o.patient_name\n" +
|
|
|
|
"as patientName,\n" +
|
|
|
|
"i.drug_name\n" +
|
|
|
|
"as infoName,\n" +
|
|
|
|
" CASE p.create_time\n" +
|
|
|
|
"WHEN NULL THEN\n" +
|
|
|
|
"\t'否'\n" +
|
|
|
|
"ELSE\n" +
|
|
|
|
"\t'是'\n" +
|
|
|
|
"END \"create_time\",\n" +
|
|
|
|
" CASE e.oneself_pickup_flg\n" +
|
|
|
|
"WHEN 1 THEN\n" +
|
|
|
|
"\t'自取'\n" +
|
|
|
|
"WHEN 2 THEN\n" +
|
|
|
|
"\t'快递配送'\n" +
|
|
|
|
"ELSE\n" +
|
|
|
|
"\t' '\n" +
|
|
|
|
"END \"oneself_pickup_flg\",\n" +
|
|
|
|
" CASE p. STATUS\n" +
|
|
|
|
"WHEN - 4 THEN\n" +
|
|
|
|
"\t'已作废'\n" +
|
|
|
|
"WHEN - 3 THEN\n" +
|
|
|
|
"\t'支付过期取消'\n" +
|
|
|
|
"WHEN - 2 THEN\n" +
|
|
|
|
"\t'患者自己取消'\n" +
|
|
|
|
"WHEN - 1 THEN\n" +
|
|
|
|
"\t'医生取消'\n" +
|
|
|
|
"WHEN 0 THEN\n" +
|
|
|
|
"\t'候诊中'\n" +
|
|
|
|
"WHEN 10 THEN\n" +
|
|
|
|
"\t'诊断中'\n" +
|
|
|
|
"WHEN 11 THEN\n" +
|
|
|
|
"\t'药师审核失败 / 调整中'\n" +
|
|
|
|
"WHEN 12 THEN\n" +
|
|
|
|
"\t'药师审核完成'\n" +
|
|
|
|
"WHEN 13 THEN\n" +
|
|
|
|
"\t'开方失败/调整中'\n" +
|
|
|
|
"WHEN 20 THEN\n" +
|
|
|
|
"\t'诊断完成/开方成功/待支付'\n" +
|
|
|
|
"WHEN 30 THEN\n" +
|
|
|
|
"\t'支付成功/等待配药'\n" +
|
|
|
|
"WHEN 31 THEN\n" +
|
|
|
|
"\t'配药成功/等待取药'\n" +
|
|
|
|
"WHEN 32 THEN\n" +
|
|
|
|
"\t'配送中'\n" +
|
|
|
|
"WHEN 100 THEN\n" +
|
|
|
|
"\t'已完成/未评价'\n" +
|
|
|
|
"WHEN 101 THEN\n" +
|
|
|
|
"\t'已完成/已经评价'\n" +
|
|
|
|
"ELSE\n" +
|
|
|
|
"\t' '\n" +
|
|
|
|
"END STATUS\n" +
|
|
|
|
"FROM\n" +
|
|
|
|
"\twlyy_outpatient o\n" +
|
|
|
|
"LEFT JOIN wlyy_prescription p ON p.outpatient_id = o.id\n" +
|
|
|
|
"LEFT JOIN wlyy_prescription_expressage e ON e.outpatient_id = o.id\n" +
|
|
|
|
"LEFT JOIN wlyy_prescription_info i ON i.prescription_id = p.id\n" +
|
|
|
|
"WHERE\n" +
|
|
|
|
"\t1 = 1";
|
|
|
|
if (StringUtils.isNotBlank(status)) {
|
|
|
|
sql += " AND p.status in(" + status + ") ";
|
|
|
|
}
|
|
|
|
if (StringUtils.isNotBlank(oneselfPickupFlg)) {
|
|
|
|
sql += " AND e.oneself_pickup_flg =" + oneselfPickupFlg+" ";
|
|
|
|
}
|
|
|
|
if (StringUtils.isNotBlank(nameKey)) {
|
|
|
|
sql += " AND e.name like '%" + nameKey + "%' ";
|
|
|
|
}
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(patientName)) {
|
|
|
|
sql += " AND o.patient_name like '%" + patientName + "%' ";
|
|
|
|
}
|
|
|
|
if (StringUtils.isNotBlank(startTime)) {
|
|
|
|
if ("xm_ykyy_wx".equals(wxId)) {
|
|
|
|
if (flag){
|
|
|
|
sql += " and p.create_time >= str_to_date('" + startTime + " 00:00:00','YYYY-MM-DD HH24:MI:SS')";
|
|
|
|
}else {
|
|
|
|
sql += " and p.create_time >= to_date('" + startTime + " 00:00:00','YYYY-MM-DD HH24:MI:SS')";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
sql += " AND p.create_time >='" + startTime + " 00:00:00'";
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
if (StringUtils.isNotBlank(endTime)) {
|
|
|
|
if ("xm_ykyy_wx".equals(wxId)) {
|
|
|
|
if (flag){
|
|
|
|
sql += " and p.create_time <= str_to_date('" + endTime + " 23:59:59','YYYY-MM-DD HH24:MI:SS')";
|
|
|
|
}else {
|
|
|
|
sql += " and p.create_time <= to_date('" + endTime + " 23:59:59','YYYY-MM-DD HH24:MI:SS')";
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
sql += " AND p.create_time <='" + endTime + " 23:59:59'";
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
sql +=" order by p.create_time desc ";
|
|
|
|
/* sql += " LIMIT " + (page - 1) * size + "," + size + "";*/
|
|
|
|
List<Map<String, Object>> mapList = hibenateUtils.createSQLQuery(sql,page,size);
|
|
|
|
for (Map<String, Object> map : mapList) {
|
|
|
|
if (map.get("prescriptionId") != null) {
|
|
|
|
List<WlyyPrescriptionInfoDO> wlyyPrescriptionInfoDOS = prescriptionInfoDao.findByPrescriptionId(map.get("prescriptionId").toString(), 1);
|
|
|
|
map.put("info", wlyyPrescriptionInfoDOS);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return MixEnvelop.getSuccessListWithPage(BaseHospitalRequestMapping.Prescription.api_success, mapList,page,size,count);
|
|
|
|
}
|
|
|
|
|
|
public Boolean setMailno(String mailno, String expressageId) {
|
|
public Boolean setMailno(String mailno, String expressageId) {
|
|
WlyyPrescriptionExpressageDO expressageDO = prescriptionExpressageDao.findOne(expressageId);
|
|
WlyyPrescriptionExpressageDO expressageDO = prescriptionExpressageDao.findOne(expressageId);
|
|
expressageDO.setMailno(mailno);
|
|
expressageDO.setMailno(mailno);
|