Ejemplo n.º 1
0
        private void m_bgwGenerateAccount_DoWork_1(object sender, DoWorkEventArgs e)
        {
            clsDS_Account objAccount = null;

            ((clsCtl_Account)objController).m_mthGenerateAccount(out objAccount);
            e.Result = objAccount;
        }
Ejemplo n.º 2
0
        public long m_lngGetAccout(System.Security.Principal.IPrincipal p_objPrincipal, string p_strStorageID, string p_strAccountID, out clsDS_Account p_objRecord)
        {
            p_objRecord = null;
            long lngRes = 0;

            try
            {
                string strSQL = @"select t.seriesid_int,
       t.accountid_chr,
       t.drugstoreid_chr,
       t.comment_vchr,
       t.beginretailfigure_int,
       t.instorageretailfigure_int,
       t.outstorageretailfigure_int,
       t.reciperetailfigure_int,
       t.checkretailfigure_int,
       t.adjustretailfigure_int,
       t.endretailfigure_int,
       t.putmedretailfigure_int
  from t_ds_account t
 where t.drugstoreid_chr = ?
   and t.accountid_chr = ?";

                DataTable          dtbValue   = null;
                clsHRPTableService objHRPServ = new clsHRPTableService();
                IDataParameter[]   objDPArr   = null;
                objHRPServ.CreateDatabaseParameter(2, out objDPArr);
                objDPArr[0].Value = p_strStorageID;
                objDPArr[1].Value = p_strAccountID;

                lngRes = objHRPServ.lngGetDataTableWithParameters(strSQL, ref dtbValue, objDPArr);
                objHRPServ.Dispose();
                objHRPServ = null;
                if (lngRes > 0 && dtbValue != null && dtbValue.Rows.Count == 1)
                {
                    p_objRecord = new clsDS_Account();
                    DataRow drCurrent = dtbValue.Rows[0];
                    p_objRecord.m_dblBEGINRETAILFIGURE_INT      = Convert.ToDouble(drCurrent["beginretailfigure_int"]);
                    p_objRecord.m_dblINSTORAGERETAILFIGURE_INT  = Convert.ToDouble(drCurrent["instorageretailfigure_int"]);
                    p_objRecord.m_dblOUTSTORAGERETAILFIGURE_INT = Convert.ToDouble(drCurrent["outstorageretailfigure_int"]);
                    p_objRecord.m_dblRECIPERETAILFIGURE_INT     = Convert.ToDouble(drCurrent["reciperetailfigure_int"]);
                    p_objRecord.m_dblCHECKRETAILFIGURE_INT      = Convert.ToDouble(drCurrent["checkretailfigure_int"]);
                    p_objRecord.m_dblADJUSTRETAILFIGURE_INT     = Convert.ToDouble(drCurrent["adjustretailfigure_int"]);
                    p_objRecord.m_dblENDRETAILFIGURE_INT        = Convert.ToDouble(drCurrent["endretailfigure_int"]);
                    p_objRecord.m_lngSERIESID_INT           = Convert.ToInt64(drCurrent["SERIESID_INT"]);
                    p_objRecord.m_strACCOUNTID              = p_strAccountID;
                    p_objRecord.m_strCOMMENT_VCHR           = drCurrent["COMMENT_VCHR"].ToString();
                    p_objRecord.m_dblPutMedRetailFigure_INT = drCurrent["putmedretailfigure_int"].ToString() == ""?0D:Convert.ToDouble(drCurrent["putmedretailfigure_int"]);
                    p_objRecord.m_strDrugStoreid            = p_strStorageID;
                }
            }
            catch (Exception objEx)
            {
                com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText();
                bool blnRes = objLogger.LogError(objEx);
            }
            return(lngRes);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 获取药房总帐表内容
        /// </summary>
        /// <param name="p_strStorageID">药房ID</param>
        /// <param name="p_strAccountID">帐务期ID</param>
        /// <param name="p_objRecord">总帐表内容</param>
        /// <returns></returns>
        public long m_lngGetAccout(string p_strStorageID, string p_strAccountID, out clsDS_Account p_objRecord)
        {
            long lngRes = 0;

            com.digitalwave.iCare.middletier.HIS.clsAccount_Supported_SVC objSvc =
                (com.digitalwave.iCare.middletier.HIS.clsAccount_Supported_SVC)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.iCare.middletier.HIS.clsAccount_Supported_SVC));
            lngRes = objSvc.m_lngGetAccout(objPrincipal, p_strStorageID, p_strAccountID, out p_objRecord);
            return(lngRes);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 保存帐表
        /// </summary>
        /// <param name="p_objAccPe">帐务期结转内容</param>
        /// <param name="p_objAccount">帐表内容</param>
        /// <param name="p_lngMedSEQ">流水帐序列</param>
        /// <param name="p_strEmpID">员工ID</param>
        /// <param name="p_strAccountID">帐务期ID</param>
        /// <param name="p_lngMainSEQ">帐务期序列</param>
        /// <param name="p_lngSubSEQ">帐表序列</param>
        /// <returns></returns>
        public long m_lngSaveAccount(clsDS_AccountPeriodVO p_objAccPe, clsDS_Account p_objAccount, long[] p_lngMedSEQ, string p_strEmpID, out string p_strAccountID, out long p_lngMainSEQ, out long p_lngSubSEQ, int m_intTransfermode, long m_lngCheckSeqid)
        {
            long lngRes = 0;

            com.digitalwave.iCare.middletier.HIS.clsAccount_SVC objSvc =
                (com.digitalwave.iCare.middletier.HIS.clsAccount_SVC)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.iCare.middletier.HIS.clsAccount_SVC));
            lngRes = objSvc.m_lngSaveAccount(objPrincipal, p_objAccPe, p_objAccount, p_lngMedSEQ, p_strEmpID, out p_strAccountID, out p_lngMainSEQ, out p_lngSubSEQ, m_intTransfermode, m_lngCheckSeqid);
            return(lngRes);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 生成帐务
        /// </summary>
        /// <param name="p_objAccount">帐表内容</param>
        internal void m_mthGenerateAccount(out clsDS_Account p_objAccount)
        {
            p_objAccount = null;
            m_lngSEQArr  = null;

            DateTime dtmBegin = Convert.ToDateTime(m_objViewer.m_txtBeginTime.Text);
            DateTime dtmEnd   = Convert.ToDateTime(m_objViewer.m_txtEndTime.Text);

            long lngRes = m_objDomain.m_lngGenarateAccount(dtmBegin, dtmEnd, m_objViewer.m_strDrugStoreid, out p_objAccount, out m_lngSEQArr, this.m_objViewer.m_intTransferMode, this.m_objViewer.m_lngCheckSeqid);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 设置帐表内容至界面

        /// </summary>
        /// <param name="p_objAccount"></param>
        internal void m_mthSetAccountToUI(clsDS_Account p_objAccount)
        {
            if (p_objAccount == null)
            {
                return;
            }
            //
            m_objViewer.m_lblADJUSTRETAILFIGURE_INT.Text     = p_objAccount.m_dblADJUSTRETAILFIGURE_INT.ToString("0.0000");
            m_objViewer.m_lblBEGINRETAILFIGURE_INT.Text      = p_objAccount.m_dblBEGINRETAILFIGURE_INT.ToString("0.0000");
            m_objViewer.m_lblENDRETAILFIGURE_INT.Text        = p_objAccount.m_dblENDRETAILFIGURE_INT.ToString("0.0000");
            m_objViewer.m_lblINSTORAGERETAILFIGURE_INT.Text  = p_objAccount.m_dblINSTORAGERETAILFIGURE_INT.ToString("0.0000");
            m_objViewer.m_lblOUTSTORAGERETAILFIGURE_INT.Text = p_objAccount.m_dblOUTSTORAGERETAILFIGURE_INT.ToString("0.0000");
            m_objViewer.m_lblRECIPERETAILFIGURE_INT.Text     = p_objAccount.m_dblRECIPERETAILFIGURE_INT.ToString("0.0000");
            m_objViewer.m_lblPutMed.Text = p_objAccount.m_dblPutMedRetailFigure_INT.ToString("0.0000");
        }
Ejemplo n.º 7
0
        private void m_bgwGenerateAccount_RunWorkerCompleted_1(object sender, RunWorkerCompletedEventArgs e)
        {
            if (e.Result == null)
            {
                MessageBox.Show("帐务结转失败", "帐务期结转", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            clsDS_Account objAccount = e.Result as clsDS_Account;

            if (objAccount == null)
            {
                MessageBox.Show("帐务结转失败", "帐务期结转", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            m_objCurrentAccount = objAccount;
            ((clsCtl_Account)objController).m_mthSetAccountToUI(objAccount);
            m_blnHasGenerated = true;
            m_blhHasReSearch  = true;
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 设置数据至界面
        /// </summary>
        /// <param name="p_objAccPe">帐务期结转内容</param>
        internal void m_mthSetDataToUI(clsDS_AccountPeriodVO p_objAccPe)
        {
            if (p_objAccPe == null)
            {
                return;
            }
            m_objViewer.m_txtBeginTime.Text   = p_objAccPe.m_dtmSTARTTIME_DAT.ToString("yyyy年MM月dd日 HH:mm:ss");
            m_objViewer.m_txtEndTime.Text     = p_objAccPe.m_dtmENDTIME_DAT.ToString("yyyy年MM月dd日 HH:mm:ss");
            m_objViewer.m_txtRemark.Text      = p_objAccPe.m_strCOMMENT_VCHR;
            m_objViewer.m_txtRemark.ReadOnly  = true;
            m_objViewer.m_btnGenerate.Enabled = false;
            m_objViewer.m_btnQuery.Enabled    = false;

            clsDS_Account objAcc = null;
            long          lngRes = m_objDomain.m_lngGetAccout(m_objViewer.m_strDrugStoreid, p_objAccPe.m_strACCOUNTID_CHR, out objAcc);

            if (objAcc == null)
            {
                return;
            }

            m_objViewer.m_objCurrentAccount = objAcc;
            m_mthSetAccountToUI(objAcc);
        }
Ejemplo n.º 9
0
        public long m_lngAddNewAccount(System.Security.Principal.IPrincipal p_objPrincipal, clsDS_Account p_objRecord, out long p_lngSEQ)
        {
            p_lngSEQ = 0;
            if (p_objRecord == null)
            {
                return(-1);
            }
            long lngRes = 0;

            try
            {
                string strSQL = @"insert into t_ds_account
  (seriesid_int,
   accountid_chr,
   drugstoreid_chr,
   comment_vchr,
   beginretailfigure_int,
   instorageretailfigure_int,
   outstorageretailfigure_int,
   reciperetailfigure_int,
   putmedretailfigure_int,
   checkretailfigure_int,
   adjustretailfigure_int,
   endretailfigure_int)
values
  (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?)";

                clsHRPTableService         objHRPServ = new clsHRPTableService();
                clsDS_Public_Supported_SVC objPublic  = new clsDS_Public_Supported_SVC();
                long lngEff = -1;
                long lngSEQ = 0;
                lngRes = objPublic.m_lngGetSequence(p_objPrincipal, "SEQ_DS_ACCOUNT", out lngSEQ);
                if (lngSEQ <= 0)
                {
                    return(-1);
                }
                p_lngSEQ = lngSEQ;

                System.Data.IDataParameter[] objLisAddItemRefArr = null;
                objHRPServ.CreateDatabaseParameter(12, out objLisAddItemRefArr);
                objLisAddItemRefArr[0].Value  = lngSEQ;
                objLisAddItemRefArr[1].Value  = p_objRecord.m_strACCOUNTID;
                objLisAddItemRefArr[2].Value  = p_objRecord.m_strDrugStoreid;
                objLisAddItemRefArr[3].Value  = p_objRecord.m_strCOMMENT_VCHR;
                objLisAddItemRefArr[4].Value  = p_objRecord.m_dblBEGINRETAILFIGURE_INT;
                objLisAddItemRefArr[5].Value  = p_objRecord.m_dblINSTORAGERETAILFIGURE_INT;
                objLisAddItemRefArr[6].Value  = p_objRecord.m_dblOUTSTORAGERETAILFIGURE_INT;
                objLisAddItemRefArr[7].Value  = p_objRecord.m_dblRECIPERETAILFIGURE_INT;
                objLisAddItemRefArr[8].Value  = p_objRecord.m_dblPutMedRetailFigure_INT;
                objLisAddItemRefArr[9].Value  = p_objRecord.m_dblCHECKRETAILFIGURE_INT;
                objLisAddItemRefArr[10].Value = p_objRecord.m_dblADJUSTRETAILFIGURE_INT;
                objLisAddItemRefArr[11].Value = p_objRecord.m_dblENDRETAILFIGURE_INT;


                lngRes = objHRPServ.lngExecuteParameterSQL(strSQL, ref lngEff, objLisAddItemRefArr);
                objHRPServ.Dispose();
                objHRPServ = null;
            }
            catch (Exception objEx)
            {
                com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText();
                bool blnRes = objLogger.LogError(objEx);
            }
            return(lngRes);
        }
Ejemplo n.º 10
0
        public long m_lngSaveAccount(System.Security.Principal.IPrincipal p_objPrincipal, clsDS_AccountPeriodVO p_objAccPe, clsDS_Account p_objAccount, long[] p_lngMedSEQ, string p_strEmpID, out string p_strAccountID, out long p_lngMainSEQ, out long p_lngSubSEQ, int m_intTransferMode, long m_lngCheckSeqid)
        {
            p_strAccountID = string.Empty;
            p_lngMainSEQ   = 0;
            p_lngSubSEQ    = 0;

            if (p_objAccount == null || p_objAccPe == null)
            {
                return(-1);
            }

            long lngRes = -1;

            try
            {
                lngRes = m_lngAddAccountPeriod(p_objPrincipal, p_objAccPe, out p_lngMainSEQ, out p_strAccountID);
                if (lngRes <= 0)
                {
                    return(-1);
                }

                p_objAccount.m_strACCOUNTID = p_strAccountID;
                lngRes = m_lngAddNewAccount(p_objPrincipal, p_objAccount, out p_lngSubSEQ);
                if (lngRes <= 0)
                {
                    throw new Exception();
                }

                lngRes = m_lngSaveToAccountDetail(p_objPrincipal, p_strEmpID, p_objAccPe.m_dtmTRANSFERTIME_DAT, p_strAccountID, p_objAccount.m_strDrugStoreid, m_intTransferMode, m_lngCheckSeqid);
                if (lngRes <= 0)
                {
                    throw new Exception();
                }
            }
            catch (Exception objEx)
            {
                com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText();
                bool blnRes = objLogger.LogError(objEx);
            }
            return(lngRes);
        }
Ejemplo n.º 11
0
        public long m_lngGenarateAccount(System.Security.Principal.IPrincipal p_objPrincipal, DateTime p_dtmBegin, DateTime p_dtmEnd, string m_strDrugStoreid, out clsDS_Account p_objAccount, out long[] p_lngSEQArr, int m_intTransferMode, long m_lngCheckSeqid)
        {
            p_objAccount = new clsDS_Account();
            p_lngSEQArr  = null;

            long lngRes = 0;

            try
            {
                string strSQL = @"select t.ipretailprice_int,
       t.opretailprice_int,
       t.ipamount_int,
       t.opamount_int,
       t.chittyid_vchr,
       t.ipnewretailprice_int,
       t.opnewretailprice_int,
       t.seriesid_int,
       t.type_int,
       t.packqty_dec
  from t_ds_account_detail t, t_bse_medicine b
 where (t.state_int = 1 or t.state_int = 2)
   and t.operatedate_dat between ? and ?
   and t.drugstoreid_int = ?
   and t.isend_int = 0
   and t.medicineid_chr = b.medicineid_chr";

                DataTable          dtbValue   = null;
                clsHRPTableService objHRPServ = new clsHRPTableService();
                IDataParameter[]   objDPArr   = null;
                objHRPServ.CreateDatabaseParameter(3, out objDPArr);
                objDPArr[0].DbType = DbType.DateTime;
                objDPArr[0].Value  = p_dtmBegin;
                objDPArr[1].DbType = DbType.DateTime;
                objDPArr[1].Value  = p_dtmEnd;
                objDPArr[2].Value  = m_strDrugStoreid;

                lngRes = objHRPServ.lngGetDataTableWithParameters(strSQL, ref dtbValue, objDPArr);

                int intRowsCount = 0;
                if (dtbValue == null)
                {
                    intRowsCount = 0;
                }
                else
                {
                    intRowsCount = dtbValue.Rows.Count;
                }

                DataRow drCurrent      = null;
                int     intProcessType = 0;
                p_objAccount.m_strDrugStoreid = m_strDrugStoreid;
                p_lngSEQArr = new long[intRowsCount];

                for (int iRow = 0; iRow < intRowsCount; iRow++)
                {
                    drCurrent         = dtbValue.Rows[iRow];
                    intProcessType    = Convert.ToInt16(drCurrent["type_int"]);
                    p_lngSEQArr[iRow] = Convert.ToInt64(drCurrent["seriesid_int"]);

                    switch (intProcessType)
                    {
                    case 1:    //入库
                        p_objAccount.m_dblINSTORAGERETAILFIGURE_INT += Math.Round(Convert.ToDouble(drCurrent["opretailprice_int"]) / Convert.ToDouble(drCurrent["packqty_dec"]) * Convert.ToDouble(drCurrent["ipamount_int"]), 8);
                        break;

                    case 2:    //出库

                        p_objAccount.m_dblOUTSTORAGERETAILFIGURE_INT += Math.Round(Convert.ToDouble(drCurrent["opretailprice_int"]) / Convert.ToDouble(drCurrent["packqty_dec"]) * Convert.ToDouble(drCurrent["ipamount_int"]), 8);
                        break;

                    case 3:    //初始化

                        p_objAccount.m_dblBEGINRETAILFIGURE_INT += Math.Round(Convert.ToDouble(drCurrent["opretailprice_int"]) / Convert.ToDouble(drCurrent["packqty_dec"]) * Convert.ToDouble(drCurrent["ipamount_int"]), 8);
                        break;

                    case 0:    //调价
                        if (drCurrent["opnewretailprice_int"] != DBNull.Value && drCurrent["opretailprice_int"] != DBNull.Value && drCurrent["packqty_dec"] != DBNull.Value && drCurrent["ipamount_int"] != DBNull.Value)
                        {
                            p_objAccount.m_dblADJUSTRETAILFIGURE_INT += Math.Round((Convert.ToDouble(drCurrent["opnewretailprice_int"]) - Convert.ToDouble(drCurrent["opretailprice_int"])) / Convert.ToDouble(drCurrent["packqty_dec"]) * Convert.ToDouble(drCurrent["ipamount_int"]), 8);
                        }
                        break;
                    }
                }

                //bool blnIsHostpital = false;//是否住院药房
//                strSQL = @"select a.medstoretype_int
//  from t_bse_medstore a
// where a.deptid_chr = ?";
//                objDPArr = null;
//                objHRPServ.CreateDatabaseParameter(1, out objDPArr);
//                objDPArr[0].Value = m_strDrugStoreid;
//                DataTable dtbTemp = new DataTable();
//                objHRPServ.lngGetDataTableWithParameters(strSQL, ref dtbTemp, objDPArr);
                //if (dtbTemp != null && dtbTemp.Rows.Count > 0)
                //{
                //    if (Convert.ToInt16(dtbTemp.Rows[0][0]) == 2)
                //        blnIsHostpital = true;
                //}

                //if (blnIsHostpital)
                //{
                strSQL = @"select a.ipretailprice_int,
       a.opretailprice_int,
       a.ipamount_int,
       a.opamount_int,
       a.seriesid_int,
       a.type_int,
       b.packqty_dec
  from t_ds_putmedaccount_detail a, t_bse_medicine b
 where a.state_int = 1
   and a.operatedate_dat between ? and ?
   and a.drugstoreid_int = ?
   and a.isend_int = 0
   and a.medicineid_chr = b.medicineid_chr";
                //}
                //else
                //{
//                    strSQL = @"select a.ipretailprice_int,
//          a.opretailprice_int,
//          a.ipamount_int,
//          a.opamount_int,
//          a.seriesid_int,
//          a.type_int,
//          b.packqty_dec
//     from t_ds_recipeaccount_detail a, t_bse_medicine b
//    where a.state_int = 1
//      and a.operatedate_dat between ? and ?
//      and a.drugstoreid_int = ?
//      and a.isend_int = 0
//      and a.medicineid_chr = b.medicineid_chr";
                //}

                dtbValue = null;

                objDPArr = null;
                objHRPServ.CreateDatabaseParameter(3, out objDPArr);
                objDPArr[0].DbType = DbType.DateTime;
                objDPArr[0].Value  = p_dtmBegin;
                objDPArr[1].DbType = DbType.DateTime;
                objDPArr[1].Value  = p_dtmEnd;
                objDPArr[2].Value  = m_strDrugStoreid;

                lngRes = objHRPServ.lngGetDataTableWithParameters(strSQL, ref dtbValue, objDPArr);

                intRowsCount = 0;
                if (dtbValue == null)
                {
                    intRowsCount = 0;
                }
                else
                {
                    intRowsCount = dtbValue.Rows.Count;
                }

                drCurrent = null;


                //if (blnIsHostpital)
                //{
                for (int iRow = 0; iRow < intRowsCount; iRow++)
                {
                    drCurrent = dtbValue.Rows[iRow];

                    if (Convert.ToByte(drCurrent["type_int"]) == 1)
                    {
                        p_objAccount.m_dblPutMedRetailFigure_INT += Math.Round(Convert.ToDouble(drCurrent["opretailprice_int"]) / Convert.ToDouble(drCurrent["packqty_dec"]) * Convert.ToDouble(drCurrent["ipamount_int"]), 8);
                    }
                    else
                    {
                        p_objAccount.m_dblPutMedRetailFigure_INT -= Math.Round(Convert.ToDouble(drCurrent["opretailprice_int"]) / Convert.ToDouble(drCurrent["packqty_dec"]) * Convert.ToDouble(drCurrent["ipamount_int"]), 8);
                    }
                }
                //}
                //else
                //{
                strSQL = @"select a.ipretailprice_int,
          a.opretailprice_int,
          a.ipamount_int,
          a.opamount_int,
          a.seriesid_int,
          a.type_int,
          b.packqty_dec
     from t_ds_recipeaccount_detail a, t_bse_medicine b
    where a.state_int = 1
      and a.operatedate_dat between ? and ?
      and a.drugstoreid_int = ?
      and a.isend_int = 0
      and a.medicineid_chr = b.medicineid_chr";
                //}

                dtbValue = null;

                objDPArr = null;
                objHRPServ.CreateDatabaseParameter(3, out objDPArr);
                objDPArr[0].DbType = DbType.DateTime;
                objDPArr[0].Value  = p_dtmBegin;
                objDPArr[1].DbType = DbType.DateTime;
                objDPArr[1].Value  = p_dtmEnd;
                objDPArr[2].Value  = m_strDrugStoreid;

                lngRes = objHRPServ.lngGetDataTableWithParameters(strSQL, ref dtbValue, objDPArr);

                intRowsCount = 0;
                if (dtbValue == null)
                {
                    intRowsCount = 0;
                }
                else
                {
                    intRowsCount = dtbValue.Rows.Count;
                }

                drCurrent = null;

                //
                for (int iRow = 0; iRow < intRowsCount; iRow++)
                {
                    drCurrent = dtbValue.Rows[iRow];

                    if (Convert.ToByte(drCurrent["type_int"]) == 2)
                    {
                        p_objAccount.m_dblRECIPERETAILFIGURE_INT += Math.Round(Convert.ToDouble(drCurrent["opretailprice_int"]) / Convert.ToDouble(drCurrent["packqty_dec"]) * Convert.ToDouble(drCurrent["ipamount_int"]), 8);
                    }
                    else
                    {
                        p_objAccount.m_dblRECIPERETAILFIGURE_INT -= Math.Round(Convert.ToDouble(drCurrent["opretailprice_int"]) / Convert.ToDouble(drCurrent["packqty_dec"]) * Convert.ToDouble(drCurrent["ipamount_int"]), 8);
                    }
                }
                //}

                strSQL = @" select a.endretailfigure_int
   from t_ds_account a
  where a.drugstoreid_chr = ?
  order by a.seriesid_int desc";


                objHRPServ.CreateDatabaseParameter(1, out objDPArr);
                objDPArr[0].Value = m_strDrugStoreid;

                dtbValue = null;
                lngRes   = objHRPServ.lngGetDataTableWithParameters(strSQL, ref dtbValue, objDPArr);
                if (dtbValue != null && dtbValue.Rows.Count > 0)
                {
                    drCurrent = dtbValue.Rows[0];
                    p_objAccount.m_dblBEGINRETAILFIGURE_INT = Math.Round(Convert.ToDouble(drCurrent["endretailfigure_int"]), 8);
                }
                if (m_intTransferMode == 0)
                {
                    strSQL = @" select t.iprealgross_int, t.opretailprice_int, t.packqty_dec
   from t_ds_storage_detail t
  where t.drugstoreid_chr = ?
    and t.status = 1";

                    objHRPServ.CreateDatabaseParameter(1, out objDPArr);
                    objDPArr[0].Value = m_strDrugStoreid;
                }
                else
                {
                    strSQL = @"select t.opcheckgross_int,
       t.ipcheckgross_int,
       t.opchargeflg_int,
       t.ipchargeflg_int,
       t.opretailprice_int,
       t.packqty_dec
      from t_ds_drugstorecheck_detail t
     where t.status_int = 1
       and t.seriesid2_int = ?";

                    objHRPServ.CreateDatabaseParameter(1, out objDPArr);
                    objDPArr[0].Value = m_lngCheckSeqid;
                }
                dtbValue = null;
                lngRes   = objHRPServ.lngGetDataTableWithParameters(strSQL, ref dtbValue, objDPArr);

                if (dtbValue != null && dtbValue.Rows.Count > 0)
                {
                    intRowsCount = dtbValue.Rows.Count;
                    drCurrent    = null;
                    if (m_intTransferMode == 0)
                    {
                        for (int i = 0; i < intRowsCount; i++)
                        {
                            drCurrent = dtbValue.Rows[i];
                            if (drCurrent["opretailprice_int"] != DBNull.Value && drCurrent["packqty_dec"] != DBNull.Value && drCurrent["iprealgross_int"] != DBNull.Value)
                            {
                                p_objAccount.m_dblENDRETAILFIGURE_INT += Math.Round(Convert.ToDouble(drCurrent["opretailprice_int"]) / Convert.ToDouble(drCurrent["packqty_dec"]) * Convert.ToDouble(drCurrent["iprealgross_int"]), 8);
                            }
                        }
                    }
                    else
                    {
                        for (int i = 0; i < intRowsCount; i++)
                        {
                            drCurrent = dtbValue.Rows[i];
                            if (drCurrent["opretailprice_int"] != DBNull.Value && drCurrent["packqty_dec"] != DBNull.Value && drCurrent["opcheckgross_int"] != DBNull.Value && drCurrent["ipcheckgross_int"] != DBNull.Value)
                            {
                                p_objAccount.m_dblENDRETAILFIGURE_INT += Math.Round(Convert.ToDouble(drCurrent["opretailprice_int"]) / Convert.ToDouble(drCurrent["packqty_dec"]) * (Convert.ToDouble(drCurrent["opcheckgross_int"]) * Convert.ToDouble(drCurrent["packqty_dec"]) + Convert.ToDouble(drCurrent["ipcheckgross_int"])), 8);
                            }
                        }
                    }
                }
                objHRPServ.Dispose();
                objHRPServ = null;
            }
            catch (Exception objEx)
            {
                com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText();
                bool blnRes = objLogger.LogError(objEx);
            }
            return(lngRes);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 生成帐表
        /// </summary>
        /// <param name="p_dtmBegin">帐务期开始时间</param>
        /// <param name="p_dtmEnd">帐务期结束时间</param>
        /// <param name="m_strDrugStoreid">药房ID</param>
        /// <param name="p_objAccount">帐务表</param>
        /// <param name="p_lngSEQArr">序列</param>
        /// <returns></returns>
        public long m_lngGenarateAccount(DateTime p_dtmBegin, DateTime p_dtmEnd, string m_strDrugStoreid, out clsDS_Account p_objAccount, out long[] p_lngSEQArr, int m_intTransferMode, long m_lngCheckSeqid)
        {
            long lngRes = 0;

            com.digitalwave.iCare.middletier.HIS.clsAccount_Supported_SVC objSvc =
                (com.digitalwave.iCare.middletier.HIS.clsAccount_Supported_SVC)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.iCare.middletier.HIS.clsAccount_Supported_SVC));
            lngRes = objSvc.m_lngGenarateAccount(objPrincipal, p_dtmBegin, p_dtmEnd, m_strDrugStoreid, out p_objAccount, out p_lngSEQArr, m_intTransferMode, m_lngCheckSeqid);
            return(lngRes);
        }