/// <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); }
/// <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); }
/// <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); }
/// <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 }
/// <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); }