• 多返回值的例子


        public void getMedicationAndEncounterInfo() throws Exception
        {
            String sql = getParameter("sql");
            if (sql == null || sql.trim().length() < 1)
                return;
    
            List<List<Object>> list = new MedicationDAO()
                    .getMedicationAndEncounterInfo(sql);
    
            List<PatientOrder> medicationList = list != null && list.size() > 0 ? (List) list
                    .get(0) : new ArrayList<PatientOrder>();
    
            List<PatientInEncounter> encounterList = list != null
                    && list.size() > 1 ? (List) list.get(1)
                    : new ArrayList<PatientInEncounter>();
    
            List<PatientDemographics> demoList = list != null && list.size() > 2 ? (List) list
                    .get(2) : new ArrayList<PatientDemographics>();
    
            resp.addParameter("medicationList", medicationList);
            resp.addParameter("encounterList", encounterList);
            resp.addParameter("demoList", demoList);
        }
    public List<List<Object>> getMedicationAndEncounterInfo(String sql)
                throws Exception
        {
            DBOperator dbo = getDBOperator();
            try
            {
                PatientOrderTableAdapter adapt = new PatientOrderTableAdapter(dbo);
                PatientInEncounterTableAdapter paAdapt = new PatientInEncounterTableAdapter(
                        dbo);
                PatientDemographicsTableAdapter deAdapt = new PatientDemographicsTableAdapter(
                        dbo);
                System.out.println("sql=" + sql);
                List<List<Object>> list = dbo.executeQuery(sql, new TableAdapter[]
                { adapt, paAdapt, deAdapt });
                return list;
            } catch (Exception e)
            {
                dbo.rollback();
                throw e;
            } finally
            {
                dbo.close();
            }
        }
    public void LoadPatientOrder()
            {
                ServiceRequest request = new MedicationAction().ServiceReqGetMedicationAndEncounterInfo;
                //string sql = "select a.*,b.*,c.* from gemr.patient_order a,gemr.patient_in_encounter b, patient_demographics c"
                //                + " where (a.status='" + Constant.OrderStatus_Submited
                //                + "' or a.status='" + Constant.OrderStatus_NurseConfirmed
                //                + "' or (a.status='" + Constant.OrderStatus_NurseExecuted
                //                + "'and a.long_flag='Y' and a.date_stopped>'" + DateTime.Today.ToString("yyyy-MM-dd") + "')) and a.record_flag = '" + App.RecordFlag + "' and b.ward_id = '"
                //                + App.CurrentUserRoleWardepComb.Ward.WardId + "'"
                //                + " and a.encounter_id = b.encounter_id and b.demographics_id = c.demographics_id"
                //                + " and (a.deleted_flag <> 'Y' or a.deleted_flag is null) and (b.deleted_flag <> 'Y' or b.deleted_flag is null) and (c.deleted_flag <> 'Y' or c.deleted_flag is null)"
                //                + " order by b.bed_num,a.encounter_id, a.date_started";
    
                string sql = "select a.*,b.*,c.* from gemr.patient_order a,gemr.patient_in_encounter b, patient_demographics c"
                              + " where a.status=" + "'"+ Constant.OrderStatus_Submited+ "'"
                              + " and a.record_flag = "  + "'"+App.RecordFlag +"'" 
                              +" and b.ward_id = "+"'"+  App.CurrentUserRoleWardepComb.Ward.WardId + "'"
                              + " and a.encounter_id = b.encounter_id and b.demographics_id = c.demographics_id"
                              + " and (a.deleted_flag <> 'Y' or a.deleted_flag is null) and (b.deleted_flag <> 'Y' or b.deleted_flag is null) and (c.deleted_flag <> 'Y' or c.deleted_flag is null)"
                              + " order by b.bed_num,a.encounter_id, a.date_started";
    
                request.AddParameter("sql", sql);
    
                InvokeService(request, (e) =>
                {
                    if (e.Response == null) return;
                    List<PatientOrder> medicationList = e.Response.GetParameterAsList<PatientOrder>("medicationList");
                    List<PatientInEncounter> encounterList = e.Response.GetParameterAsList<PatientInEncounter>("encounterList");
                    List<PatientDemographics> demoList = e.Response.GetParameterAsList<PatientDemographics>("demoList");
                    List<PatientMedicationCombo> comboList = new List<PatientMedicationCombo>();
                    for (int i = 0; i < medicationList.Count; i++)
                    {
                        PatientInEncounter encou = null;
                        PatientDemographics demo = null;
                        PatientOrder medi = medicationList[i];
    
                        if (OrderType.Medication.ToString() != medi.OrderType
                            && Constant.OrderStatus_NurseExecuted.Equals(medi.Status))
                        {
                            continue;
                        }
    
                        if (i < encounterList.Count)
                        {
                            encou = encounterList[i];
                        }
                        if (i < demoList.Count)
                        {
                            demo = demoList[i];
                        }
                        PatientMedicationCombo combo = new PatientMedicationCombo(medi, encou, demo);
                        comboList.Add(combo);
                    }
    
                    //if (comboList != null && comboList.Count > 0)
                    //{
                    //    comboList = comboList.OrderByDescending(c => c.EncounterInfo).ToList();
                    //}
    
                    gridControl1.ItemsSource = comboList;
                    gridControl1.ExpandAllGroups();
                });
            }
  • 相关阅读:
    spring-session+Redis实现Session共享
    SQLServer语法常用总结
    [PDFBox]后台操作pdf的工具类
    类加载器
    SQLServer常用分页方式
    Tesseract识别图片提取文字&字库训练
    AbstractQueuedSynchronizer的简单介绍
    CountDownLatch 闭锁、FutureTask、Semaphore信号量、Barrier栅栏
    Java线程实现的第三种方式Callable方式与结合Future获取返回值
    原子类型的使用&Unsafe&CAS
  • 原文地址:https://www.cnblogs.com/quietwalk/p/3535153.html
Copyright © 2020-2023  润新知