Ejemplo n.º 1
0
 void view_OnCheckData(object sender, Views.CheckReportArgs e)
 {
     if (e.PatientData != null && e.PatientData.Rows.Count > 0)
     {
         List <DataRow> drList = new List <DataRow>();
         Tools.Loading  load   = new Tools.Loading();
         Tools.Help.NewRedBorderShowFrom(load);
         Application.DoEvents();
         foreach (DataRow patDr in e.PatientData.Rows)
         {
             Model.AddInToTemp(patDr);//将数据插入临时表
         }
         load.ParentForm.Close();
         //foreach (DataRow patDr in e.PatientData.Rows)
         //{
         //    DataTable data = Model.GetMyPatient(patDr["P3"].ToString(), patDr["P2"].ToString());
         //    if (data.Rows.Count > 0)  //本地库有此病人
         //    {
         //        string checkState = data.Rows[0]["CHECK_STATE"].ToString(); //审核状态
         //        if (checkState == "1") //已通过审核
         //        {
         //            drList.Add(patDr);  //去除已审核通过的病人
         //        }
         //        //调用此方法注意:视图中病人的字段顺序一定要和本地病人表中字段顺序一致
         //        //Model.AddPatient(trans.ID, patDr); //将此病人copy到本地库
         //    }
         //}
         DataTable data = Model.GetTempPatient();
         data.DefaultView.Sort = "P3";
         DataTable newData = data.DefaultView.ToTable();
         newData.Columns.Remove("CHECK_STATE");
         newData.Columns.Remove("REPORT_STATE");
         //if (drList != null && drList.Count > 0)
         //{
         //    foreach (DataRow dr in drList)
         //    {
         //        e.PatientData.Rows.Remove(dr);
         //    }
         //}
         //e.PatientData = data;
         DataTable resultData = CheckOut2(newData); //审核
         View.ExeBindCheckResult(resultData);
         Model.DeleteTable();                       //删除临时表数据
     }
 }
Ejemplo n.º 2
0
 void view_OnReportData(object sender, Views.CheckReportArgs e)
 {
     //判断审核结果数据源中有无强制类型
     if (CanReport(e.CheckResultPatientData))
     {
         if (Message.ShowQuery("确定上报数据?", Message.Button.OkCancel) == Message.Result.Ok)
         {
             using (CJia.Transaction trans = new CJia.Transaction(CJia.DefaultOleDb.DefaultAdapter))
             {
                 Tools.Loading load = new Tools.Loading();
                 Tools.Help.NewRedBorderShowFrom(load);
                 Application.DoEvents();
                 bool isSuccess = true;
                 foreach (DataRow dr in e.PatientData.Rows)
                 {
                     //将非强制类型病人copy到本地库
                     DataTable data = Model.GetMyPatient(dr["P3"].ToString(), dr["P2"].ToString());
                     if (data.Rows.Count == 0)  //本地库无此病人
                     {
                         Model.AddPatient(trans.ID, dr);
                     }
                     isSuccess = Model.ModifyPatientReportState(trans.ID, dr["P3"].ToString(), dr["P2"].ToString());
                     if (!isSuccess)
                     {
                         break;
                     }
                 }
                 load.ParentForm.Close();
                 bool bol = View.ExeBindIsSuccessReport(isSuccess);
                 if (bol)
                 {
                     trans.Complete();
                     Message.Show("上报数据成功!");
                 }
                 else
                 {
                     Message.Show("上报数据失败!");
                 }
             }
         }
     }
     //修改病人审核状态,上报过的不能继续上报
     //修改病人上报状态
     //生成DBF文件
 }