/// <summary> /// 获取出库明细数据 /// </summary> /// <param name="objvalue_Param">查询条件D</param> /// <param name="dtbResult">结果集</param> /// <returns></returns> internal long m_lngGetOutStorageDetailData(ref clsMs_OutStorageDetailQueryCondition_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_lngGetOutStorageDetailData(objPrincipal, ref objvalue_Param, ref dtbResult); return(lngRes); }
/// <summary> /// 获取出库明细数据 /// </summary> private void m_mthGetOutStorageDetailDate() { long lngRes = 0; if ((m_dtbOutStorageMain != null) && (m_dtbOutStorageMain.Rows.Count > 0)) { int m_intSn = 0; int m_intRowIndex = 0; clsMs_OutStorageDetailQueryCondition_VO objvalue_Param = new clsMs_OutStorageDetailQueryCondition_VO(); m_dtbOutStorageDetail = null; //m_dgvSubInfo.DataSource = ""; m_intRowIndex = m_dgvMainInfo.CurrentRow.Index; objvalue_Param.m_strStorageID = m_strStorageID; int.TryParse(m_dtbOutStorageMain.Rows[m_intRowIndex]["SERIESID_INT"].ToString(), out objvalue_Param.m_intSERIESID2_INT); objvalue_Param.m_strOutStorageID = m_dtbOutStorageMain.Rows[m_intRowIndex]["OUTSTORAGEID_VCHR"].ToString(); objvalue_Param.m_intStatus = 1; lngRes = ((clsCtl_MedicWithdrawCallOutStorage)objController).m_mthGetOutStorageDetailData(ref objvalue_Param, ref m_dtbMedicineCancelDetail, out m_dtbOutStorageDetail); if (lngRes > 0) { m_dgvSubInfo.DataSource = m_dtbOutStorageDetail; DataRow m_dtbRow = null; for (int i1 = 0; i1 < m_dtbOutStorageDetail.Rows.Count; i1++) { m_dtbRow = m_dtbOutStorageDetail.Rows[i1]; if (Convert.ToDecimal(m_dtbRow["AvailAmount"].ToString()) <= 0) { for (int j1 = 0; j1 < m_dgvSubInfo.ColumnCount; j1++) { m_dgvSubInfo.Rows[i1].Cells[j1].Style.ForeColor = Color.Red; m_dgvSubInfo.Rows[i1].Cells[j1].Style.SelectionForeColor = Color.Red; } m_dgvSubInfo.Rows[i1].Cells[0].ReadOnly = true; m_dgvSubInfo.Rows[i1].Cells[m_intAmountColIndex].ReadOnly = true; } }//for if (m_dgvSubInfo.Rows.Count > 0) { m_dgvSubInfo.CurrentCell = m_dgvSubInfo[7, 0]; } } } }
/// <summary> /// 获取药品出库明细数据 /// </summary> /// <param name="p_strStorageID"></param> /// <param name="dtbResult"></param> /// <returns></returns> public long m_mthGetOutStorageDetailData(ref clsMs_OutStorageDetailQueryCondition_VO objvalue_Param, ref DataTable m_dtbMedicineCancelDetail, out DataTable dtbResult) { 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(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",typeof(DateTime)) , 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; //已退药数量 //m_objDomain.m_lngGetMedicineWithdrawSum(ref m_objMedicineWithdrawNumCondition, out m_decMedicineWithdrawSum); //m_dtbResultRow["ReturnAmount"] = m_decMedicineWithdrawSum; //出库数量 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); dtbResult = Query_dtbResult; } else { dtbResult = 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); } dtbResult = null; return(lngRes); }