Пример #1
0
        /// <summary>
        /// 获取子表内容
        /// </summary>
        /// <param name="p_drDetail">子表数据</param>
        /// <returns></returns>
        private clsMS_OutStorageDetail_VO m_objGetOSDetail(DataRow p_drDetail)
        {
            if (p_drDetail == null)
            {
                return(null);
            }

            clsMS_OutStorageDetail_VO objDetail = new clsMS_OutStorageDetail_VO();

            objDetail.m_strMEDICINEID_CHR     = p_drDetail["MEDICINEID_CHR"].ToString();
            objDetail.m_strMEDICINENAME_VCH   = p_drDetail["MEDICINENAME_VCH"].ToString();
            objDetail.m_strMEDSPEC_VCHR       = p_drDetail["MEDSPEC_VCHR"].ToString();
            objDetail.m_strOPUNIT_CHR         = p_drDetail["OPUNIT_CHR"].ToString();
            objDetail.m_dblNETAMOUNT_INT      = Math.Abs(Convert.ToDouble(p_drDetail["CHECKRESULT_INT"]));
            objDetail.m_strLOTNO_VCHR         = p_drDetail["LOTNO_VCHR"].ToString();
            objDetail.m_strINSTORAGEID_VCHR   = string.Empty;
            objDetail.m_dcmCALLPRICE_INT      = Convert.ToDecimal(p_drDetail["CALLPRICE_INT"]);
            objDetail.m_dcmWHOLESALEPRICE_INT = Convert.ToDecimal(p_drDetail["WHOLESALEPRICE_INT"]);
            objDetail.m_dcmRETAILPRICE_INT    = Convert.ToDecimal(p_drDetail["RETAILPRICE_INT"]);
            objDetail.m_strVENDORID_CHR       = p_drDetail["VENDORID_CHR"].ToString();
            //objDetail.m_strVendorName = p_drDetail["vendorname_vchr"].ToString();
            objDetail.m_dtmValidperiod_dat   = Convert.ToDateTime(p_drDetail["validperiod_dat"]);
            objDetail.m_strProductorID_chr   = p_drDetail["productorid_chr"].ToString();
            objDetail.m_dtmINSTORAGEDATE_DAT = DateTime.MinValue;
            objDetail.m_intStatus            = 1;
            objDetail.m_intRETURNNUM_INT     = 0;

            return(objDetail);
        }
Пример #2
0
        /// <summary>
        /// 保存盘亏数据至出库表
        /// </summary>
        /// <param name="p_objOutMain">出库主表信息</param>
        /// <param name="p_objOutDetail">出库明细信息</param>
        /// <returns></returns>
        internal long m_lngSaveCheckToOutStorage(clsMS_OutStorage_VO p_objOutMain, clsMS_OutStorageDetail_VO p_objOutDetail)
        {
            long lngRes = 0;

            com.digitalwave.iCare.middletier.MedicineStoreService.clsStorageCheckSVC objSvc =
                (com.digitalwave.iCare.middletier.MedicineStoreService.clsStorageCheckSVC)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.iCare.middletier.MedicineStoreService.clsStorageCheckSVC));
            lngRes = objSvc.m_lngSaveCheckToOutStorage(objPrincipal, p_objOutMain, p_objOutDetail);
            return(lngRes);
        }
Пример #3
0
        /// <summary>
        /// 获取出库信息
        /// </summary>
        /// <param name="p_drData">数据</param>
        /// <returns></returns>
        private clsMS_OutStorageDetail_VO m_objGetOutVO(DataRow p_drData)
        {
            if (p_drData == null)
            {
                return(null);
            }
            clsMS_OutStorageDetail_VO objOut = new clsMS_OutStorageDetail_VO();

            objOut.m_dblAskAmount          = 0d;
            objOut.m_dblAvailaGross        = Convert.ToDouble(p_drData["availagross_int"]);
            objOut.m_dblNETAMOUNT_INT      = 0d;
            objOut.m_dblRealGross          = Convert.ToDouble(p_drData["realgross_int"]);
            objOut.m_dcmBuyInMoney         = Convert.ToDecimal(p_drData["inmoney"]);
            objOut.m_dcmCALLPRICE_INT      = Convert.ToDecimal(p_drData["callprice_int"]);
            objOut.m_dcmRetailMoney        = Convert.ToDecimal(p_drData["salemoney"]);
            objOut.m_dcmRETAILPRICE_INT    = Convert.ToDecimal(p_drData["retailprice_int"]);
            objOut.m_dcmWHOLESALEPRICE_INT = Convert.ToDecimal(p_drData["wholesaleprice_int"]);
            objOut.m_dtmINSTORAGEDATE_DAT  = Convert.ToDateTime(p_drData["instoragedate_dat"]);
            objOut.m_dtmValidperiod_dat    = Convert.ToDateTime(p_drData["validperiod_dat"]);
            objOut.m_intRETURNNUM_INT      = Convert.ToInt32(p_drData["ruturnnum_int"]);
            objOut.m_intStatus             = 1;
            objOut.m_lngSERIESID_INT       = -1;
            objOut.m_lngSERIESID2_INT      = -1;
            objOut.m_strINSTORAGEID_VCHR   = p_drData["instorageid_vchr"].ToString();
            objOut.m_strLOTNO_VCHR         = p_drData["lotno_vchr"].ToString();
            objOut.m_strMEDICINECode       = p_drData["assistcode_chr"].ToString();
            objOut.m_strMEDICINEID_CHR     = p_drData["medicineid_chr"].ToString();
            objOut.m_strMEDICINENAME_VCH   = p_drData["medicinename_vch"].ToString();
            objOut.m_strMEDSPEC_VCHR       = p_drData["medspec_vchr"].ToString();
            objOut.m_strOPUNIT_CHR         = p_drData["unit_vchr"].ToString();
            objOut.m_strProductorID_chr    = p_drData["productorid_chr"].ToString();
            objOut.m_strRejectReason       = string.Empty;
            objOut.m_strStorageUnit        = p_drData["unit_vchr"].ToString();
            objOut.m_strVENDORID_CHR       = p_drData["vendorid_chr"].ToString();
            objOut.m_strVendorName         = p_drData["vendorname_vchr"].ToString();

            return(objOut);
        }
Пример #4
0
        /// <summary>
        /// 修改出库
        /// </summary>
        internal void m_mthModify(out clsMS_OutStorage_VO p_objMain, out clsMS_OutStorageDetail_VO[] p_objDetail)
        {
            p_objMain   = null;
            p_objDetail = null;

            #region 主表
            clsMS_OutStorage_VO objMain = null;
            if (m_objViewer.m_dgvMainInfo.SelectedRows.Count == 1)
            {
                DataRowView drvMain = m_objViewer.m_dtvCurrentMainVienPage1[m_objViewer.m_dgvMainInfo.SelectedRows[0].Index];
                objMain = new clsMS_OutStorage_VO();
                DateTime dtmTemp = DateTime.MinValue;
                if (DateTime.TryParse(drvMain["ASKDATE_DAT"].ToString(), out dtmTemp))
                {
                    objMain.m_dtmASKDATE_DAT = dtmTemp;
                }
                if (DateTime.TryParse(drvMain["OUTSTORAGEDATE_DAT"].ToString(), out dtmTemp))
                {
                    objMain.m_dtmOutStorageDate = dtmTemp;
                }
                else
                {
                    objMain.m_dtmOutStorageDate = DateTime.Now;
                }
                if (DateTime.TryParse(drvMain["EXAMDATE_DAT"].ToString(), out dtmTemp))
                {
                    objMain.m_dtmEXAMDATE_DAT = dtmTemp;
                }
                if (DateTime.TryParse(drvMain["INACCOUNTDATE_DAT"].ToString(), out dtmTemp))
                {
                    objMain.m_dtmINACCOUNTDATE_DAT = dtmTemp;
                }
                objMain.m_intFORMTYPE_INT       = Convert.ToInt32(drvMain["FORMTYPE"]);
                objMain.m_intOutStorageTYPE_INT = Convert.ToInt32(drvMain["OUTSTORAGETYPE_INT"]);
                objMain.m_intSTATUS             = Convert.ToInt32(drvMain["STATUS"]);
                objMain.m_lngSERIESID_INT       = Convert.ToInt64(drvMain["SERIESID_INT"]);
                objMain.m_strASKDEPT_CHR        = drvMain["ASKDEPT_CHR"].ToString().Trim();
                objMain.m_strASKDEPTName        = drvMain["askdeptname"].ToString();
                objMain.m_strASKERID_CHR        = drvMain["ASKERID_CHR"].ToString();
                objMain.m_strASKERName          = drvMain["askername"].ToString();
                objMain.m_strASKID_VCHR         = drvMain["ASKID_VCHR"].ToString();
                objMain.m_strCOMMENT_VCHR       = drvMain["COMMENT_VCHR"].ToString();
                objMain.m_strEXAMERID_CHR       = drvMain["EXAMERID_CHR"].ToString();
                objMain.m_strEXAMERName         = drvMain["examername"].ToString();
                objMain.m_strEXPORTDEPT_CHR     = drvMain["EXPORTDEPT_CHR"].ToString();
                objMain.m_strINACCOUNTID_CHR    = drvMain["INACCOUNTID_CHR"].ToString();
                objMain.m_strOUTSTORAGEID_VCHR  = drvMain["OUTSTORAGEID_VCHR"].ToString();
                objMain.m_strPARENTNID          = drvMain["PARENTNID"].ToString();
                objMain.m_strSTORAGEID_CHR      = m_objViewer.m_strStorageID;
            }

            if (objMain == null)
            {
                return;
            }
            p_objMain = objMain;
            #endregion

            #region 子表
            clsMS_OutStorageDetail_VO[] objDetailArr = null;
            DataView dvSub = m_objViewer.m_dgvSubInfo.DataSource as DataView;
            if (dvSub != null && dvSub.Count > 0)
            {
                DataRowView drvTemp = null;
                objDetailArr = new clsMS_OutStorageDetail_VO[dvSub.Count];

                for (int iRow = 0; iRow < dvSub.Count; iRow++)
                {
                    drvTemp            = dvSub[iRow];
                    objDetailArr[iRow] = new clsMS_OutStorageDetail_VO();
                    objDetailArr[iRow].m_dblNETAMOUNT_INT      = Convert.ToDouble(drvTemp["NETAMOUNT_INT"]);
                    objDetailArr[iRow].m_dcmCALLPRICE_INT      = Convert.ToDecimal(drvTemp["CALLPRICE_INT"]);
                    objDetailArr[iRow].m_dcmRETAILPRICE_INT    = Convert.ToDecimal(drvTemp["RETAILPRICE_INT"]);
                    objDetailArr[iRow].m_dcmWHOLESALEPRICE_INT = Convert.ToDecimal(drvTemp["WHOLESALEPRICE_INT"]);
                    objDetailArr[iRow].m_dtmINSTORAGEDATE_DAT  = Convert.ToDateTime(drvTemp["instoragedate_dat"]);
                    objDetailArr[iRow].m_dtmValidperiod_dat    = Convert.ToDateTime(drvTemp["validperiod_dat"]);
                    objDetailArr[iRow].m_lngSERIESID_INT       = Convert.ToInt64(drvTemp["SERIESID_INT"]);
                    objDetailArr[iRow].m_lngSERIESID2_INT      = Convert.ToInt64(drvTemp["SERIESID2_INT"]);
                    objDetailArr[iRow].m_strINSTORAGEID_VCHR   = drvTemp["INSTORAGEID_VCHR"].ToString();
                    objDetailArr[iRow].m_strLOTNO_VCHR         = drvTemp["LOTNO_VCHR"].ToString();
                    objDetailArr[iRow].m_strMEDICINEID_CHR     = drvTemp["MEDICINEID_CHR"].ToString();
                    objDetailArr[iRow].m_strMEDICINENAME_VCH   = drvTemp["MEDICINENAME_VCH"].ToString();
                    objDetailArr[iRow].m_strMEDSPEC_VCHR       = drvTemp["MEDSPEC_VCHR"].ToString();
                    objDetailArr[iRow].m_strOPUNIT_CHR         = drvTemp["OPUNIT_CHR"].ToString();
                    objDetailArr[iRow].m_strProductorID_chr    = drvTemp["productorid_chr"].ToString();
                    objDetailArr[iRow].m_strVENDORID_CHR       = drvTemp["VENDORID_CHR"].ToString();
                    objDetailArr[iRow].m_strVendorName         = drvTemp["vendorname_vchr"].ToString();
                    if (drvTemp["askamount"] != DBNull.Value)
                    {
                        objDetailArr[iRow].m_dblAskAmount = Convert.ToDouble(drvTemp["askamount"]);
                    }
                    //if (drvTemp["inmoney"] != DBNull.Value)
                    //{
                    //    objDetailArr[iRow].m_dcmBuyInMoney = Convert.ToDecimal(drvTemp["inmoney"]);
                    //}
                    //if (drvTemp["retailmoney"] != DBNull.Value)
                    //{
                    //    objDetailArr[iRow].m_dcmRetailMoney = Convert.ToDecimal(drvTemp["retailmoney"]);
                    //}
                    if (drvTemp["realgross_int"] != DBNull.Value)
                    {
                        objDetailArr[iRow].m_dblRealGross = Convert.ToDouble(drvTemp["realgross_int"]);
                    }
                    if (drvTemp["availagross_int"] != DBNull.Value)
                    {
                        objDetailArr[iRow].m_dblAvailaGross = Convert.ToDouble(drvTemp["availagross_int"]);
                    }
                    objDetailArr[iRow].m_strStorageUnit        = drvTemp["storageunit"].ToString();
                    objDetailArr[iRow].m_strMEDICINECode       = drvTemp["assistcode_chr"].ToString();
                    objDetailArr[iRow].m_strRejectReason       = drvTemp["REJECTREASON"].ToString();
                    objDetailArr[iRow].m_strMedicineTypeID_chr = drvTemp["medicinetypeid_chr"].ToString();
                    objDetailArr[iRow].m_decPackQty            = Convert.ToDecimal(drvTemp["packqty_dec"]);
                }
            }
            p_objDetail = objDetailArr;
            #endregion
        }
Пример #5
0
        /// <summary>
        /// 获取选择的药品入库信息

        /// </summary>
        /// <param name="p_objDetailArr">药品入库信息</param>
        /// <returns></returns>
        internal long m_mthGetSelectedDetailVO(out clsMS_OutStorageDetail_VO[] p_objDetailArr)
        {
            p_objDetailArr = null;
            if (m_objViewer.m_dtbInStorageInfo == null || m_objViewer.m_dtbInStorageInfo.Rows.Count == 0)
            {
                return(0);
            }
            long lngRes = 0;

            List <DataRow> drCheckRowIndex = new List <DataRow>();

            for (int iSe = 0; iSe < m_objViewer.m_dgvInStorage.Rows.Count; iSe++)
            {
                if (Convert.ToBoolean(m_objViewer.m_dgvInStorage.Rows[iSe].Cells[0].Value))
                {
                    drCheckRowIndex.Add(m_objViewer.m_dtbInStorageInfo.Rows[iSe]);
                }
            }

            int intSelected = drCheckRowIndex.Count;

            if (intSelected == 0)
            {
                return(0);
            }

            clsDcl_ForeignRetreatOutStorageDetail objOSDomain      = new clsDcl_ForeignRetreatOutStorageDetail();
            List <clsMS_OutStorageDetail_VO>      objMSVO          = new List <clsMS_OutStorageDetail_VO>();
            List <clsMS_OutStorageDetail_VO>      objHasReturnMSVO = new List <clsMS_OutStorageDetail_VO>();//有退货历史的记录
            clsMS_OutStorageDetail_VO             objTemp          = null;
            int           intReturnTimes = 0;
            StringBuilder stbQuestion    = new StringBuilder(50);

            for (int iRow = 0; iRow < intSelected; iRow++)
            {
                objTemp = m_objGetOutVO(drCheckRowIndex[iRow]);
                lngRes  = objOSDomain.m_lngGetCurrentReturnTimes(drCheckRowIndex[iRow]["medicineid_chr"].ToString(), drCheckRowIndex[iRow]["lotno_vchr"].ToString(), drCheckRowIndex[iRow]["instorageid_vchr"].ToString(), out intReturnTimes);

                if (intReturnTimes > 1)
                {
                    stbQuestion.Append(Convert.ToDateTime(drCheckRowIndex[iRow]["instoragedate_dat"]).ToString("yyyy年MM月dd日"));
                    stbQuestion.Append("入库的");
                    stbQuestion.Append(drCheckRowIndex[iRow]["medicinename_vch"].ToString());
                    stbQuestion.Append("已有");
                    stbQuestion.Append((intReturnTimes - 1).ToString());
                    stbQuestion.Append("次退货记录");
                    stbQuestion.Append(Environment.NewLine);
                    if (objTemp != null)
                    {
                        objHasReturnMSVO.Add(objTemp);
                    }
                }
                else
                {
                    if (objTemp != null)
                    {
                        objMSVO.Add(objTemp);
                    }
                }
            }
            objOSDomain = null;

            string strQuestion = stbQuestion.ToString();

            if (!string.IsNullOrEmpty(strQuestion))
            {
                strQuestion += "是否继续添加至退药出库记录?";
                frmHintMessageBox HintBox  = new frmHintMessageBox(strQuestion);
                DialogResult      drResult = HintBox.ShowDialog();
                if (drResult == DialogResult.Yes)
                {
                    objMSVO.AddRange(objHasReturnMSVO.ToArray());
                }
                else
                {
                    objMSVO.Clear();
                    objMSVO = null;
                    objHasReturnMSVO.Clear();
                    objHasReturnMSVO = null;
                    return(-1);
                }
            }

            if (objMSVO.Count > 0)
            {
                p_objDetailArr = objMSVO.ToArray();
            }

            return(lngRes);
        }