/// <summary>
        /// 获取入库主表内容
        /// </summary>
        /// <returns></returns>
        private clsDS_Instorage_VO m_objGetMainISVO()
        {
            clsDS_Instorage_VO m_objCurrentMain = new clsDS_Instorage_VO();

            m_objCurrentMain.m_datMAKEORDER_DAT = clsPub.CurrentDateTimeNow;
            m_objCurrentMain.m_strMAKERID_CHR   = this.m_objViewer.LoginInfo.m_strEmpID;
            m_objCurrentMain.m_intSTATUS        = 2;
            //1、请领入库 2、药房自身入库(来源部门是本药房)  3、药房借调(来源部门是其它药房) 4、科室借调(来源部门除了药房以外的部门) 5、盘盈,
            m_objCurrentMain.m_intFORMTYPE_INT = 1;
            clsDcl_MakeOutStorageOrder objmain = new clsDcl_MakeOutStorageOrder();
            int intTypeCode;

            objmain.m_lngGetTypeCodeByName(0, "正常入库", out intTypeCode);
            m_objCurrentMain.m_strTYPECODE_VCHR     = intTypeCode.ToString();
            m_objCurrentMain.m_strOUTSTORAGEID_VCHR = this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtOutStorageid"].Value.ToString();
            if (this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["instoreid_vchr"].Value != null)
            {
                m_objCurrentMain.m_strINDRUGSTOREID_VCHR = this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["instoreid_vchr"].Value.ToString();
            }
            m_objCurrentMain.m_datSTORAGEEXAM_DATE    = Convert.ToDateTime(this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtExamDate"].Value.ToString());
            m_objCurrentMain.m_datDRUGSTOREEXAM_DATE  = clsPub.CurrentDateTimeNow;
            m_objCurrentMain.m_strSTORAGEEXAMID_CHR   = this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtExamerid"].Value.ToString();
            m_objCurrentMain.m_strDRUGSTOREEXAMID_CHR = this.m_objViewer.LoginInfo.m_strEmpID;
            m_objCurrentMain.m_strDRUGSTOREID_INT     = this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtAskDeptid"].Value.ToString();
            m_objCurrentMain.m_strBORROWDEPT_CHR      = this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtStorageID"].Value.ToString();
            m_objCurrentMain.m_strASKID_VCHR          = this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtAskid"].Value.ToString();
            return(m_objCurrentMain);
        }
Exemple #2
0
        /// <summary>
        /// 更新药房入库主表和明细表数据
        /// </summary>
        /// <param name="m_objMainVo"></param>
        /// <param name="m_objDetailArr"></param>
        /// <param name="p_intCommitFolow"></param>
        /// <param name="p_strExamerID"></param>
        /// <returns></returns>
        public long m_lngUpdateInStorageInfo(clsDS_Instorage_VO m_objMainVo, ref clsDS_Instorage_Detail[] m_objDetailArr, int p_intCommitFolow, string p_strExamerID)
        {
            long lngRes = 0;

            com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC objSvc =
                (com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC));
            lngRes = objSvc.m_lngUpdateInStorageInfo(objPrincipal, m_objMainVo, ref m_objDetailArr, p_intCommitFolow, p_strExamerID);
            return(lngRes);
        }
Exemple #3
0
        public long m_lngLoadBill(bool p_blnIsHospital, string p_strBillID, out clsDS_Instorage_VO p_objMain, out DataTable p_dtbSub)
        {
            long lngRes = 0;

            com.digitalwave.iCare.middletier.HIS.clsInstorage_Supported_SVC objSvc =
                (com.digitalwave.iCare.middletier.HIS.clsInstorage_Supported_SVC)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.iCare.middletier.HIS.clsInstorage_Supported_SVC));
            lngRes = objSvc.m_lngLoadBill(objPrincipal, p_blnIsHospital, p_strBillID, out p_objMain, out p_dtbSub);
            return(lngRes);
        }
Exemple #4
0
        internal long m_lngAddNewInstorage(ref clsDS_Instorage_VO p_objMainVo, ref clsDS_Instorage_Detail[] p_objInStorageDetailVoArr, ref clsDS_StorageDetail_VO[] p_objDetailVoArr, int p_intAddOrSubtract, long p_lngAskSeqid, int p_intState)
        {
            long lngRes = 0;

            com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC objSvc =
                (com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC));
            lngRes = objSvc.m_lngAddNewInstorage(objPrincipal, ref p_objMainVo, ref p_objInStorageDetailVoArr, 1, p_objMainVo.m_strDRUGSTOREEXAMID_CHR, ref p_objDetailVoArr, p_intAddOrSubtract, p_lngAskSeqid, p_intState);
            return(lngRes);
        }
Exemple #5
0
        /// <summary>
        /// 插入药房入库主表和明细表数据
        /// </summary>
        /// <param name="m_objMainVo"></param>
        /// <param name="m_objDetailArr"></param>
        /// <returns></returns>
        public long m_lngAddNewInstorage(ref clsDS_Instorage_VO m_objMainVo, ref clsDS_Instorage_Detail[] m_objDetailArr)
        {
            long lngRes = 0;

            com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC objSvc =
                (com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC));
            lngRes = objSvc.m_lngAddNewInstorage(objPrincipal, ref m_objMainVo, ref m_objDetailArr, 0, "");
            return(lngRes);
        }
        /// <summary>
        /// 根据流水号进行药房审核
        /// </summary>
        /// <param name="m_lngOutStorateSeqid">出库主表序列</param>
        /// <param name="m_lngAskSeqid">请领主表序列</param>
        public void m_mthDrugStoreExam(long m_lngOutStorateSeqid, long m_lngAskSeqid)
        {
            try
            {
                if (this.m_objViewer.m_dgvOutStorageMain.SelectedRows.Count == 0)
                {
                    return;
                }
                long lngRes = 0;
                clsDS_Instorage_VO m_objMainVo = null;
                m_objMainVo = this.m_objGetMainISVO();
                clsDS_StorageDetail_VO[] m_objDetailVoArr          = null;
                clsDS_Instorage_Detail[] m_objInStorageDetailVoArr = null;
                m_objInStorageDetailVoArr = this.m_objGetInstorageDetailArr(m_objMainVo.m_lngSERIESID_INT);
                m_objDetailVoArr          = this.m_mthGetDS_StorageDetail(m_objMainVo);

                lngRes = this.objDomainInStorage.m_lngAddNewInstorage(ref m_objMainVo, ref m_objInStorageDetailVoArr, ref m_objDetailVoArr, 1, m_lngAskSeqid, 4);

                //if (m_objDetailVoArr != null && m_objDetailVoArr.Length > 0)
                //{
                //    lngRes = this.objDomainInStorage.m_lngAddStorage(ref m_objDetailVoArr, 1);
                //    lngRes = this.objDomainInStorage.m_lngAddNewAccountDetail(m_objDetailVoArr);
                //}
                if (lngRes > 0)
                {
                    //long lngResult = -1;
                    //lngResult = m_objDomain.m_lngExamAskInfo(m_lngAskSeqid, 4, m_objMainVo.m_strINDRUGSTOREID_VCHR);
                    //if (lngResult > 0)
                    //{
                    MessageBox.Show("药房审核成功!", "药房请领提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    for (int i = 0; i < this.m_objViewer.m_dgvAskMedMain.Rows.Count; i++)
                    {
                        if (this.m_objViewer.m_dgvAskMedMain.Rows[i].Cells["m_txtSeq"].Value.ToString() == m_lngAskSeqid.ToString())
                        {
                            this.m_objViewer.m_dgvAskMedMain.Rows[i].Cells["m_txtStatus"].Value = "药房审核";
                            break;
                        }
                    }
                    this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtAskStausName"].Value = "药房审核";
                    this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtStatus_int"].Value   = 4;
                    this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["instoreid_vchr"].Value    = m_objMainVo.m_strINDRUGSTOREID_VCHR;
                    //this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].DefaultCellStyle.ForeColor = System.Drawing.Color.Magenta;
                    this.m_objViewer.m_btnReturn.PerformClick();
                    //}
                }
                else
                {
                    MessageBox.Show("药房审核失败!", "药房请领提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "药房请领提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        /// <summary>
        ///  获取药库出库单明细内容
        /// </summary>
        /// <param name="p_drDetail"></param>
        /// <param name="p_lngMainSEQ"></param>
        /// <returns></returns>
        private clsDS_StorageDetail_VO[] m_mthGetDS_StorageDetail(clsDS_Instorage_VO m_objMainVo)
        {
            clsDS_StorageDetail_VO[] objDetailArr = null;
            //20080724 数量为0 的不用更新库存。
            int intRow = 0;

            for (int i1 = 0; i1 < this.m_objViewer.m_dgvOutStorageDetail.Rows.Count; i1++)
            {
                if (Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[i1].Cells["m_dgvtxtOutAmount"].Value) != 0)
                {
                    intRow++;
                }
            }
            if (intRow > 0)
            {
                objDetailArr = new clsDS_StorageDetail_VO[intRow];
                intRow       = 0;
                for (int iRow = 0; iRow < this.m_objViewer.m_dgvOutStorageDetail.Rows.Count; iRow++)
                {
                    if (Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtOutAmount"].Value) == 0)
                    {
                        continue;
                    }
                    objDetailArr[intRow] = new clsDS_StorageDetail_VO();
                    objDetailArr[intRow].m_strDRUGSTOREID_CHR      = this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtAskDeptid"].Value.ToString();
                    objDetailArr[intRow].m_dtmINSTORAGEDATE_DAT    = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txtinstoragedate_dat"].Value == DBNull.Value ? DateTime.MinValue : Convert.ToDateTime(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txtinstoragedate_dat"].Value.ToString());
                    objDetailArr[intRow].m_strINSTOREID_VCHR       = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txtinstorageid_vchr"].Value.ToString();
                    objDetailArr[intRow].m_strMEDICINEID_CHR       = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["medicineid_chr"].Value.ToString();
                    objDetailArr[intRow].m_strMEDICINENAME_VCHR    = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtMedicineName"].Value.ToString();
                    objDetailArr[intRow].m_strMEDSPEC_VCHR         = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtMedicineSpec"].Value.ToString();
                    objDetailArr[intRow].m_strOPUNIT_CHR           = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtOutUint"].Value.ToString();
                    objDetailArr[intRow].m_dblOPREALGROSS_INT      = Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtOutAmount"].Value.ToString());
                    objDetailArr[intRow].m_strIPUNIT_CHR           = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txtipunit_chr"].Value.ToString();
                    objDetailArr[intRow].m_dblIPREALGROSS_INT      = Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txIPAmount"].Value.ToString());
                    objDetailArr[intRow].m_dblPACKQTY_DEC          = Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txtPackqty_dec"].Value.ToString());
                    objDetailArr[intRow].m_dtmVALIDPERIOD_DAT      = Convert.ToDateTime(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtEffectDate"].Value.ToString());
                    objDetailArr[intRow].m_strLOTNO_VCHR           = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtProduceNumber"].Value.ToString();
                    objDetailArr[intRow].m_dblOPWHOLESALEPRICE_INT = Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtBuyPrice"].Value.ToString());
                    objDetailArr[intRow].m_dblIPWHOLESALEPRICE_INT = Math.Round(Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtBuyPrice"].Value.ToString()) / Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txtPackqty_dec"].Value.ToString()), 4);
                    objDetailArr[intRow].m_dblOPRETAILPRICE_INT    = Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtSalePrice"].Value.ToString());
                    objDetailArr[intRow].m_dblIPRETAILPRICE_INT    = Math.Round(Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtSalePrice"].Value) / Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txtPackqty_dec"].Value.ToString()), 4);
                    objDetailArr[intRow].m_dtmDSINSTORAGEDATE_DAT  = m_objMainVo.m_datMAKEORDER_DAT;
                    objDetailArr[intRow].m_intType               = Convert.ToInt16(m_objMainVo.m_intFORMTYPE_INT);
                    objDetailArr[intRow].m_strDSINSTOREID_VCHR   = m_objMainVo.m_strINDRUGSTOREID_VCHR;
                    objDetailArr[intRow].m_strMEDICINETYPEID_CHR = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txtMedicineTypeid"].Value.ToString();
                    objDetailArr[intRow].m_strPRODUCTORID_CHR    = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["productorid_chr"].Value != DBNull.Value ? this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["productorid_chr"].Value.ToString() : string.Empty;
                    objDetailArr[intRow].STATUS = 1;
                    intRow++;
                }
            }
            return(objDetailArr);
        }
 /// <summary>
 /// 根据流水号进行药房入帐
 /// </summary>
 /// <param name="m_lngAskSeqid">请领主表序列</param>
 public void m_mthDrugStoreInAccount(long m_lngAskSeqid)
 {
     try
     {
         if (this.m_objViewer.m_dgvOutStorageMain.SelectedRows.Count == 0)
         {
             return;
         }
         clsDS_Instorage_VO m_objMainVo = null;
         m_objMainVo = this.m_objGetMainISVO();
         long lngResult = -1;
         lngResult = m_objDomain.m_lngInAccountAskInfo(m_lngAskSeqid, this.m_objViewer.LoginInfo.m_strEmpID, m_objMainVo.m_strINDRUGSTOREID_VCHR, m_objMainVo.m_strDRUGSTOREID_INT);
         if (lngResult > 0)
         {
             MessageBox.Show("入帐成功!", "药房请领提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
             for (int i = 0; i < this.m_objViewer.m_dgvAskMedMain.Rows.Count; i++)
             {
                 if (this.m_objViewer.m_dgvAskMedMain.Rows[i].Cells["m_txtSeq"].Value.ToString() == m_lngAskSeqid.ToString())
                 {
                     this.m_objViewer.m_dgvAskMedMain.Rows[i].Cells["m_txtStatus"].Value = "入帐";
                     break;
                 }
             }
             this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtAskStausName"].Value = "入帐";
             this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtStatus_int"].Value   = 5;
             this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].DefaultCellStyle.ForeColor       = System.Drawing.Color.Magenta;
             this.m_objViewer.m_btnReturn.PerformClick();
         }
         else
         {
             MessageBox.Show("入帐失败!", "药房请领提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "药房请领提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
        public long m_lngLoadBill(System.Security.Principal.IPrincipal p_objPrincipal, bool p_blnIsHospital, string p_strBillID, out clsDS_Instorage_VO p_objMain, out DataTable p_dtbSub)
        {
            p_objMain = null;
            p_dtbSub  = null;
            DataTable dtbMain = new DataTable();
            long      lngRes  = 0;

            try
            {
                string strSQL =
                    @"select a.seriesid_int,
       a.indrugstoreid_vchr,
       b.deptname_vchr as medstorename_vchr,
       a.askid_vchr,
       a.outstorageid_vchr,
       a.drugstoreid_chr,
       a.comment_vchr,
       decode(a.status,
              0,
              '删除',
              1,
              '新制',
              2,
              '审核',
              3,
              '入帐',
              4,
              '退审') as status,
       formtype_int,a.status as status_int,
       a.typecode_vchr,
       a.borrowdept_chr,
       c.deptname_vchr,
       a.makeorder_dat,
       a.storageexamid_chr,
       d.lastname_vchr as storageexamname,
       a.drugstoreexamid_chr,
       e.lastname_vchr as drugstoreexamname_chr,
       a.inaccounterid_chr,
       f.lastname_vchr as inaccountername,
       a.makerid_chr,
       h.lastname_vchr as makername,
       i.typename_vchr,
       a.drugstoreexam_date,
       a.inaccount_dat,
       0 summoney
  from t_ds_instorage   a,
       t_bse_deptdesc   b,
       t_bse_deptdesc   c,
       t_bse_employee   d,
       t_bse_employee   e,
       t_bse_employee   f,
       t_bse_employee   h,
       t_aid_impexptype i
 where a.drugstoreid_chr = b.deptid_chr(+)
   and a.borrowdept_chr = c.deptid_chr(+)
   and a.storageexamid_chr = d.empid_chr(+)
   and a.drugstoreexamid_chr = e.empid_chr(+)
   and a.inaccounterid_chr = f.empid_chr(+)
   and a.makerid_chr = h.empid_chr(+)
   and a.typecode_vchr = i.typecode_vchr(+)
   and a.indrugstoreid_vchr = ?";

                clsHRPTableService           objHRPServ   = new clsHRPTableService();
                System.Data.IDataParameter[] m_objParaArr = null;
                objHRPServ.CreateDatabaseParameter(1, out m_objParaArr);
                m_objParaArr[0].Value = p_strBillID;
                lngRes = objHRPServ.lngGetDataTableWithParameters(strSQL, ref dtbMain, m_objParaArr);
                if (dtbMain != null && dtbMain.Rows.Count > 0)
                {
                    p_objMain = new clsDS_Instorage_VO();
                    p_objMain.m_datMAKEORDER_DAT      = Convert.ToDateTime(dtbMain.Rows[0]["makeorder_dat"]);
                    p_objMain.m_strMakeName           = dtbMain.Rows[0]["makername"].ToString();
                    p_objMain.m_strTYPENAME_VCHR      = dtbMain.Rows[0]["typename_vchr"].ToString();
                    p_objMain.m_strBORROWDEPTName_CHR = dtbMain.Rows[0]["deptname_vchr"].ToString();
                    p_objMain.m_strDRUGSTOREName      = dtbMain.Rows[0]["medstorename_vchr"].ToString();
                    p_objMain.m_strINDRUGSTOREID_VCHR = dtbMain.Rows[0]["indrugstoreid_vchr"].ToString();
                    p_objMain.m_strCOMMENT_VCHR       = dtbMain.Rows[0]["comment_vchr"].ToString();

                    m_lngGetInstorageDetailByID(p_objPrincipal, p_blnIsHospital, Convert.ToInt64(dtbMain.Rows[0]["seriesid_int"]), out p_dtbSub);
                }
                objHRPServ.Dispose();
                objHRPServ = null;
            }
            catch (Exception objEx)
            {
                com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText();
                bool blnRes = objLogger.LogError(objEx);
            }
            return(lngRes);
        }