Bladeren bron

修复我的处方

mengkang 4 jaren geleden
bovenliggende
commit
78b739f97f

+ 27 - 21
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java

@ -3325,7 +3325,12 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        return  rs;
    }
    /**
     * 发送微信模板消息  本地无法测试消息是否发送成功
     * @param wxId
     * @param outpatientDO
     * @param type
     */
    public void sendWxTemplateMsg(String wxId,WlyyOutpatientDO outpatientDO,String type){
        List<BasePatientWechatDo> ps = basePatientWechatDao.findByWechatIdAndPatientId(wxId, outpatientDO.getPatient());
        if(ps.isEmpty()){
@ -6598,43 +6603,44 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
     */
    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.id = b.prescription_id");
        countSql.append(uid).append("' AND a.id = b.prescription_id ");
        StringBuffer sql = new StringBuffer("SELECT b.*, c.oneself_pickup_flg FROM (SELECT a.* FROM wlyy_prescription a WHERE a.patient_code = '");
        StringBuffer countSql = new StringBuffer("select COUNT(b.id) count FROM (SELECT a.* FROM wlyy_prescription a WHERE a.patient_code = '");
        sql.append(uid).append("') b LEFT JOIN wlyy_prescription_info d ON b.id = d.prescription_id JOIN wlyy_prescription_expressage c ON c.outpatient_id = b.outpatient_id");
        countSql.append(uid).append("') b LEFT JOIN wlyy_prescription_info d ON b.id = d.prescription_id JOIN wlyy_prescription_expressage c ON c.outpatient_id = b.outpatient_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+"%' " +
                    " b.doctor_name LIKE '%"+keyName+"%' " +
                    " OR b.dept_name LIKE'%"+keyName+"%' " +
                    " OR b.hospital_name LIKE '%"+keyName+"%' " +
                    " OR d.drug_name LIKE '%"+keyName+"%' " +
                    " OR b.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+"%' " +
                    " b.doctor_name LIKE '%"+keyName+"%' " +
                    " OR b.dept_name LIKE'%"+keyName+"%' " +
                    " OR b.hospital_name LIKE '%"+keyName+"%' " +
                    " OR d.drug_name LIKE '%"+keyName+"%' " +
                    " OR b.real_order LIKE '%"+keyName+"%' " +
                    ")");
        }
        if (StringUtils.isNotEmpty(status)){
            status= status.substring(1, status.length() - 1);
            sql.append(" AND a.status IN(").append(status).append(")");
            countSql.append(" AND a.status IN(").append(status).append(")");
            sql.append(" AND b.status IN(").append(status).append(")");
            countSql.append(" AND b.status IN(").append(status).append(")");
        }else {
            sql.append("  and a.status IN(20,21,30,31,32,100,101)");
            countSql.append(" and a.status IN(20,21,30,31,32,100,101) ");
            sql.append("  and b.status IN(20,21,30,31,32,100,101)");
            countSql.append(" and b.status IN(20,21,30,31,32,100,101) ");
        }
        sql.append(" order by a.prescribe_time limit ").append((page-1)*size).append(",").append(size);
        sql.append(" order by b.prescribe_time limit ").append((page-1)*size).append(",").append(size);
        List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql.toString());
        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);
        return PageEnvelop.getSuccessListWithPage(IotRequestMapping.Common.message_success_find, maps,page,size,count);
    }