/// <summary> /// 退审时获取当前库存、实际库存、可用库存 /// </summary> /// <param name="objvalue_Param"></param> /// <param name="dtbResult"></param> /// <returns></returns> internal long m_lngDclGetMedicineGross(ref clsMs_MedicineWithdrawNumQueryCondition_VO objvalue_Param, ref DataTable dtbResult) { long lngRes = 0; com.digitalwave.iCare.middletier.MedicineStoreService.clsMiddletier_InStorageMedicineWithdrawSVC objSvc = (com.digitalwave.iCare.middletier.MedicineStoreService.clsMiddletier_InStorageMedicineWithdrawSVC)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.iCare.middletier.MedicineStoreService.clsMiddletier_InStorageMedicineWithdrawSVC)); lngRes = objSvc.m_lngGetMedicineGross(objPrincipal, ref objvalue_Param, ref dtbResult); return(lngRes); }
private void m_mthGetInnerWithdrawNum(clsMs_MedicineWithdrawNumQueryCondition_VO p_objValueParam, ref DataTable Query_dtbResult) { DataTable m_dtbResult = new DataTable(); decimal m_decNetAmount = 0; //出库数量 decimal m_decAvailAmount = 0; //可退数量 string m_strOutStorageID = string.Empty; decimal m_decReturnNum = 0; decimal m_decReturnAmount = 0; decimal m_decTmpReturnAmount = 0; string m_strMedicineID = string.Empty; string m_strLotNo = string.Empty; DataRow m_dtbQueryRow = null; DataRow m_dtbResultRow = null; m_objDomain.m_lngGetMedicineWithdrawSum(ref p_objValueParam, ref m_dtbResult); for (int i1 = 0; i1 < Query_dtbResult.Rows.Count; i1++) { m_dtbQueryRow = Query_dtbResult.Rows[i1]; m_strMedicineID = m_dtbQueryRow["MEDICINEID_CHR"].ToString(); m_strLotNo = m_dtbQueryRow["LOTNO_VCHR"].ToString(); m_strOutStorageID = m_dtbQueryRow["outstorageid_vchr"].ToString(); decimal.TryParse(m_dtbQueryRow["NETAMOUNT_INT"].ToString(), out m_decNetAmount); m_decReturnNum = 0; m_decReturnAmount = 0; for (int j1 = 0; j1 < m_dtbResult.Rows.Count; j1++) { m_dtbResultRow = m_dtbResult.Rows[j1]; if ((m_dtbResultRow["MEDICINEID_CHR"].ToString().Trim() == m_strMedicineID) && (m_dtbResultRow["LOTNO_VCHR"].ToString().Trim() == m_strLotNo) && (m_dtbResultRow["outstorageid_vchr"].ToString().Trim() == m_strOutStorageID)) { m_decReturnNum++; decimal.TryParse(m_dtbResultRow["amount"].ToString(), out m_decTmpReturnAmount); m_decReturnAmount += m_decTmpReturnAmount; } } //已退数量 m_dtbQueryRow["ReturnAmount"] = m_decReturnAmount; //可退数量 m_dtbQueryRow["AvailAmount"] = m_decNetAmount - m_decReturnAmount; //退药数量 m_dtbQueryRow["Amount"] = 0; //内退次数 m_dtbQueryRow["ReturnNum"] = m_decReturnNum; } }
/// <summary> /// 获取药品出库明细数据 /// </summary> /// <param name="p_strStorageID"></param> /// <param name="dtbResult"></param> /// <returns></returns> public long m_mthGetOutStorageDetailData(ref clsMs_MedicineWithdrawOutStorageQueryCondition_VO objvalue_Param) { long lngRes = 0; decimal m_decNetAmount = 0; //出库数量 int m_intMedicineWithdrawNum = 0; //退药次数 decimal m_decMedicineWithdrawSum = 0;//已退药数量 decimal m_decAvailAmount = 0;//可退数量 try { //调用Com+服务端 DataTable Query_dtbResult = new DataTable();//数据库返回的结果集 lngRes = m_objDomain.m_lngGetOutStorageDetailData_MakerBill(ref objvalue_Param, ref Query_dtbResult); if (lngRes > 0) { DataColumn[] drColumns = new DataColumn[] { new DataColumn("SortNum", typeof(int)), new DataColumn("ReturnAmount", typeof(decimal)), new DataColumn("AvailAmount", typeof(decimal)), new DataColumn("AMOUNT", typeof(decimal)), new DataColumn("AVAILAGROSS_INT", typeof(decimal)), //new DataColumn("validperiod_dat") , new DataColumn("ReturnNum", typeof(int)) }; Query_dtbResult.Columns.AddRange(drColumns); DataRow m_dtbResultRow = null; DataRow m_dtbCancelDetailRow = null; m_objMedicineWithdrawNumCondition = new clsMs_MedicineWithdrawNumQueryCondition_VO(); for (int i1 = 0; i1 < Query_dtbResult.Rows.Count; i1++) { m_dtbResultRow = Query_dtbResult.Rows[i1]; m_dtbResultRow["SortNum"] = i1 + 1; m_objMedicineWithdrawNumCondition.m_strStorageID = m_dtbResultRow["STORAGEID_CHR"].ToString(); m_objMedicineWithdrawNumCondition.m_strMedicineID = m_dtbResultRow["MEDICINEID_CHR"].ToString(); m_objMedicineWithdrawNumCondition.m_strLotNo = m_dtbResultRow["LOTNO_VCHR"].ToString(); m_objMedicineWithdrawNumCondition.m_strOutStorageID = m_dtbResultRow["OUTSTORAGEID_VCHR"].ToString(); m_objMedicineWithdrawNumCondition.m_strInStorageID = string.Empty; ////退药次数 //m_objDomain.m_lngGetMedicineWithdrawNum(ref m_objMedicineWithdrawNumCondition, out m_intMedicineWithdrawNum); //m_dtbResultRow["ReturnNum"] = m_intMedicineWithdrawNum; //出库数量 decimal.TryParse(m_dtbResultRow["NETAMOUNT_INT"].ToString(), out m_decNetAmount); //已退药数量 m_dtbResultRow["ReturnAmount"] = 0; //可退数量 m_dtbResultRow["AvailAmount"] = m_decNetAmount; //退药数量 m_dtbResultRow["Amount"] = 0; //内退次数 m_dtbResultRow["ReturnNum"] = 0; //药品当前库存 m_dtbResultRow["AVAILAGROSS_INT"] = m_dtbResultRow["realgross_int"]; //m_dtbResultRow["validperiod_dat"] = m_dtbResultRow["validperiod_dat"]; //m_decAvailAmount = 0; //for (int j1 = 0; j1 < m_dtbMedicineCancelDetail.Rows.Count; j1++) //{ // m_dtbCancelDetailRow = m_dtbMedicineCancelDetail.Rows[j1]; // if ((m_dtbCancelDetailRow["MEDICINEID_CHR"].ToString().Trim() == m_objMedicineWithdrawNumCondition.m_strMedicineID) // && (m_dtbCancelDetailRow["OUTSTORAGEID_VCHR"].ToString().Trim() == m_objMedicineWithdrawNumCondition.m_strOutStorageID) // && (m_dtbCancelDetailRow["LOTNO_VCHR"].ToString().Trim() == m_objMedicineWithdrawNumCondition.m_strLotNo)) // { // decimal.TryParse(m_dtbCancelDetailRow["Amount"].ToString(), out m_decAvailAmount); // break; // } //} } Query_dtbResult.AcceptChanges(); //已退药数量 m_objMedicineWithdrawNumCondition.m_strStorageID = objvalue_Param.m_strStorageID; m_objMedicineWithdrawNumCondition.m_strOutStorageID = objvalue_Param.m_strOutStorageID; m_objMedicineWithdrawNumCondition.m_strInStorageID = string.Empty; m_mthGetInnerWithdrawNum(m_objMedicineWithdrawNumCondition, ref Query_dtbResult); m_objViewer.m_dtbOutStorageDetail = Query_dtbResult; } else { m_objViewer.m_dtbOutStorageDetail = null; } return(lngRes); }//try catch (Exception objEx) { string strTmp = objEx.Message; com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText(); bool blnRes = objLogger.LogError(objEx); MessageBox.Show("查询失败!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Stop); } m_objViewer.m_dtbOutStorageDetail = null; return(lngRes); }