/// <summary> /// 获取盘点顺序VO /// </summary> /// <param name="p_dtbSource">数据源</param> /// <returns></returns> internal clsMS_CheckMedicineOrderVO[] m_objGetOrderVO(DataTable p_dtbSource) { if (p_dtbSource == null || p_dtbSource.Rows.Count == 0) { return(null); } string strPackID = string.Empty; if (m_objViewer.m_txtStoragePack.Tag != null) { strPackID = m_objViewer.m_txtStoragePack.Tag.ToString(); } int intRowsCount = p_dtbSource.Rows.Count; clsMS_CheckMedicineOrderVO[] objOrderVO = new clsMS_CheckMedicineOrderVO[intRowsCount]; DataRow drTemp = null; for (int iRow = 0; iRow < intRowsCount; iRow++) { drTemp = p_dtbSource.Rows[iRow]; objOrderVO[iRow] = new clsMS_CheckMedicineOrderVO(); objOrderVO[iRow].m_strCHECKMEDICINEORDER_CHR = drTemp["checkmedicineorder_chr"].ToString(); objOrderVO[iRow].m_strMEDICINEID_CHR = drTemp["medicineid_chr"].ToString(); objOrderVO[iRow].m_strSTORAGEID_CHR = m_objViewer.m_strStorageID; objOrderVO[iRow].m_strSTORAGERACKID_CHR = strPackID; } return(objOrderVO); }
/// <summary> /// 删除选定盘点药品顺序设置 /// </summary> internal void m_mthDeleteMedicinOrder() { if (m_objViewer.m_dtvCurrentView == null || m_objViewer.m_dtvCurrentView.Count == 0) { return; } DataRow dtvDtr = null; List <clsMS_CheckMedicineOrderVO> lstOrder = new List <clsMS_CheckMedicineOrderVO>(); List <int> lstDelRow = new List <int>(); //需删除的索引 List <int> lstNewRow = new List <int>(); //未保存过的新行 for (int iRow = 0; iRow < m_objViewer.m_dgvMedicineOrder.Rows.Count; iRow++) { if (Convert.ToBoolean(m_objViewer.m_dgvMedicineOrder.Rows[iRow].Cells[0].Value)) { if (m_objViewer.m_dtvCurrentView[iRow]["medicinename_vchr"] == DBNull.Value) { lstNewRow.Add(iRow); } else { dtvDtr = m_objViewer.m_dtvCurrentView[iRow].Row; clsMS_CheckMedicineOrderVO objOrder = m_objGetOrderVO(m_objViewer.m_dtvCurrentView[iRow]); if (objOrder != null) { lstOrder.Add(objOrder); lstDelRow.Add(iRow); } } } } if (lstOrder.Count > 0) { if (m_objViewer.m_txtStoragePack.Visible) { long lngRes = m_objDomain.m_lngDeleteMedicineOrder(lstOrder.ToArray()); } else { long lngRes = m_objDomain.m_lngDeleteMedicineOrderWithoutPack(lstOrder.ToArray()); } if (lstNewRow.Count > 0) { lstDelRow.AddRange(lstNewRow.ToArray()); } lstDelRow.Sort(); for (int iDel = lstDelRow.Count - 1; iDel >= 0; iDel--) { m_objViewer.m_dtvCurrentView.Delete(lstDelRow[iDel]); } m_mthSetAllOrderSort(); MessageBox.Show("删除成功", "盘点药品顺序设置", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
/// <summary> /// 获取盘点顺序VO /// </summary> /// <param name="p_drvSource">数据源</param> /// <returns></returns> internal clsMS_CheckMedicineOrderVO m_objGetOrderVO(DataRowView p_drvSource) { if (p_drvSource == null) { return(null); } string strPackID = string.Empty; if (m_objViewer.m_txtStoragePack.Tag != null) { strPackID = m_objViewer.m_txtStoragePack.Tag.ToString(); } clsMS_CheckMedicineOrderVO objOrderVO = new clsMS_CheckMedicineOrderVO(); objOrderVO.m_strCHECKMEDICINEORDER_CHR = p_drvSource["checkmedicineorder_chr"].ToString(); objOrderVO.m_strMEDICINEID_CHR = p_drvSource["medicineid_chr"].ToString(); objOrderVO.m_strSTORAGEID_CHR = m_objViewer.m_strStorageID; objOrderVO.m_strSTORAGERACKID_CHR = strPackID; return(objOrderVO); }