Beispiel #1
0
        private void InsertTempSuiteOrderIntoTable(string doctor, DataRow[] selectedRows, bool isTempOrder)
        {
            if (selectedRows.Length == 0)
            {
                return;
            }

            object[,] selectedContents = new object[selectedRows.Length, 2];

            // 暂不处理出院带药bool needCalcTotalAmount = false ;
            string       checkMsg;
            DataRow      row;
            OrderContent content;

            try
            {
                for (int index = 0; index < selectedRows.Length; index++)
                {
                    row = selectedRows[index];
                    selectedContents[index, 1] = (GroupPositionKind)Convert.ToInt32(row[ConstSchemaNames.SuiteDetailColGroupFlag]);
                    content = PersistentObjectFactory.CreateAndIntializeObject(
                        OrderContentFactory.GetOrderContentClassName(row[ConstSchemaNames.SuiteDetailColOrderCatalog]), row) as OrderContent;
                    content.ProcessCreateOutputeInfo = new OrderContent.GenerateOutputInfo(CustomDrawOperation.CreateOutputeInfo);

                    //checkMsg = content.CheckProperties();
                    //if (!String.IsNullOrEmpty(checkMsg))
                    //   m_MessageBox.MessageShow(checkMsg, CustomMessageBoxKind.InformationOk);

                    selectedContents[index, 0] = content;
                }
                //// TODO: 暂时跳过医嘱检查
                m_CoreLogic.CheckCanInsertOrder(null, isTempOrder, null);
                m_CoreLogic.InsertSuiteOrder(m_CoreLogic.GetCurrentOrderTable(isTempOrder), doctor, selectedContents, null);
            }
            catch { }
        }
Beispiel #2
0
        private void CommitSelected()
        {
            DataRow[] selectedRows = m_SuiteTable.Select(ConstSchemaNames.SuiteDetailColAmount + " > 0");
            _selectedContents = new object[selectedRows.Length, 2];

            bool         needCalcTotalAmount = (gridColDays.Visible);
            string       checkMsg;
            DataRow      row;
            OrderContent content;
            //Druggery druggery;
            OutDruggeryContent outDruggery;

            for (int index = 0; index < selectedRows.Length; index++)
            {
                row = selectedRows[index];
                _selectedContents[index, 1] = (GroupPositionKind)Convert.ToInt32(row["GroupFlag"]);
                content = PersistentObjectFactory.CreateAndIntializeObject(
                    OrderContentFactory.GetOrderContentClassName(row[ConstSchemaNames.SuiteDetailColOrderCatalog]), row) as OrderContent;
                content.ProcessCreateOutputeInfo = new OrderContent.GenerateOutputInfo(CustomDrawOperation.CreateOutputeInfo);

                checkMsg = content.CheckProperties();
                if (!String.IsNullOrEmpty(checkMsg))
                {
                    m_MessageBox.MessageShow(checkMsg, CustomMessageBoxKind.InformationOk);
                }

                if (needCalcTotalAmount)
                {
                    outDruggery = content as OutDruggeryContent;
                    if (outDruggery != null)
                    {
                        outDruggery.ReCalcTotalAmount();
                    }
                }

                //// 赋其它属性
                //if (Convert.ToInt32(row["cdxh"]) == -1)
                //{
                //   content = new ChargeItemOrderContent();
                //   content.BeginInit();
                //   content.Item = new ChargeItem(row["ypdm"].ToString().Trim());
                //   content.Item.ReInitializeProperties();
                //   content.CurrentUnit = content.Item.BaseUnit;
                //}
                //else
                //{
                //   content = new DruggeryOrderContent();
                //   content.BeginInit();
                //   druggery = new Druggery(Convert.ToDecimal(row["cdxh"]));
                //   content.Item = druggery;
                //   content.Item.ReInitializeProperties();
                //   content.CurrentUnit = druggery.WardUnit;
                //}
                //content.Amount = Convert.ToDecimal(row["ypjl"]);
                //content.ItemUsage = new OrderUsage(row["yfdm"].ToString().Trim(), row["yfmc"].ToString().Trim());
                //content.ItemFrequency = new OrderFrequency(row["pcdm"].ToString().Trim(), row["pcmc"].ToString().Trim());
                //content.ProcessCreateOutputeInfo =
                //   new OrderContent.GenerateOutputInfo(CustomDrawOperation.CreateOutputeInfo);
                //content.EndInit();
                _selectedContents[index, 0] = content;
            }
        }