/// <summary> /// 删除指定药品 /// </summary> /// <param name="p_objMedicneSt">药品库存信息</param> /// <param name="p_strCheckID">盘点ID</param> /// <param name="p_lngSubSEQ">盘点明细序列</param> /// <param name="p_blnIsCommit">是否保存即审核</param> /// <returns></returns> internal long m_lngDeleteStorageCheckMedicine(clsMS_StorageDetail p_objMedicneSt, string p_strCheckID, long p_lngSubSEQ, bool p_blnIsCommit) { 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_lngDeleteStorageCheckMedicine(objPrincipal, p_objMedicneSt, p_strCheckID, p_lngSubSEQ, p_blnIsCommit); return(lngRes); }
/// <summary> /// 获取库存信息 /// </summary> /// <param name="p_drData">数据</param> /// <returns></returns> private clsMS_StorageDetail m_objStorageDetail(DataRow p_drData) { if (p_drData == null) { return(null); } clsMS_StorageDetail objDetail = new clsMS_StorageDetail(); objDetail.m_dblAVAILAGROSS_INT = Convert.ToDouble(p_drData["CHECKRESULT_INT"]); objDetail.m_dblREALGROSS_INT = Convert.ToDouble(p_drData["CHECKRESULT_INT"]); objDetail.m_strLOTNO_VCHR = p_drData["LOTNO_VCHR"].ToString(); objDetail.m_strINSTORAGEID_VCHR = p_drData["instorageid_vchr"].ToString(); objDetail.m_strMEDICINEID_CHR = p_drData["MEDICINEID_CHR"].ToString(); objDetail.m_dcmCALLPRICE_INT = Convert.ToDecimal(p_drData["CALLPRICE_INT"]); objDetail.m_dtmVALIDPERIOD_DAT = Convert.ToDateTime(p_drData["VALIDPERIOD_DAT"]); objDetail.m_strSTORAGEID_CHR = m_objViewer.m_strStorageID; return(objDetail); }
/// <summary> /// 获取库存信息 /// </summary> /// <param name="p_drData">数据</param> /// <returns></returns> private clsMS_StorageDetail[] m_objStorageDetailArr(DataRow[] p_drData) { if (p_drData == null || p_drData.Length == 0) { return(null); } List <clsMS_StorageDetail> lstDetail = new List <clsMS_StorageDetail>(); for (int iRow = 0; iRow < p_drData.Length; iRow++) { clsMS_StorageDetail objDetail = m_objStorageDetail(p_drData[iRow]); if (objDetail != null) { lstDetail.Add(objDetail); } } return(lstDetail.ToArray()); }
public long m_lngGetStorageMedicineDetail(System.Security.Principal.IPrincipal p_objPrincipal, string p_strMedicineID, string p_strStorageID, string p_strVendorID, out clsMS_StorageDetail[] p_objDetailArr) { p_objDetailArr = null; if (string.IsNullOrEmpty(p_strStorageID) || string.IsNullOrEmpty(p_strMedicineID)) { return(-1); } long lngRes = -1; try { clsHRPTableService objHRPServ = new clsHRPTableService(); IDataParameter[] objDPArr = null; string strSQL; if (p_strVendorID.Length > 0) { strSQL = @"select a.medicineid_chr, a.medicinename_vchr, a.medspec_vchr, a.syslotno_chr, case when a.lotno_vchr = 'UNKNOWN' then '' else a.lotno_vchr end lotno_vchr, a.retailprice_int, a.callprice_int, a.wholesaleprice_int, a.realgross_int, a.availagross_int, a.opunit_vchr, a.validperiod_dat, a.productorid_chr, a.instorageid_vchr, a.instoragedate_dat, a.vendorid_chr, a.seriesid_int, c.vendorname_vchr, b.assistcode_chr, d.amount instorageamount, b.medicinetypeid_chr, b.packqty_dec from t_ms_storage_detail a inner join t_ms_instorage e on a.instorageid_vchr = e.instorageid_vchr and e.state_int <> 0 inner join t_ms_instorage_detal d on e.seriesid_int = d.seriesid2_int and d.medicineid_chr = a.medicineid_chr and d.lotno_vchr = a.lotno_vchr and d.callprice_int = a.callprice_int and d.validperiod_dat = a.validperiod_dat and d.status = 1 inner join t_bse_medicine b on a.medicineid_chr = b.medicineid_chr left outer join t_bse_vendor c on a.vendorid_chr = c.vendorid_chr where a.medicineid_chr = ? and a.storageid_chr = ? and a.status = 1 and a.vendorid_chr = ? union all select a.medicineid_chr, a.medicinename_vchr, a.medspec_vchr, a.syslotno_chr, a.lotno_vchr, a.retailprice_int, a.callprice_int, a.wholesaleprice_int, a.realgross_int, a.availagross_int, a.opunit_vchr, a.validperiod_dat, a.productorid_chr, a.instorageid_vchr, a.instoragedate_dat, a.vendorid_chr, a.seriesid_int, c.vendorname_vchr, b.assistcode_chr, e.currentgross_num instorageamount, b.medicinetypeid_chr, b.packqty_dec from t_ms_storage_detail a inner join t_ms_initial e on e.medicineid_chr = a.medicineid_chr and e.lotno_vchr = a.lotno_vchr and e.initialid_chr = a.instorageid_vchr and e.callprice_int = a.callprice_int and e.validperiod_dat = a.validperiod_dat and e.examerid is not null inner join t_bse_medicine b on a.medicineid_chr = b.medicineid_chr left outer join t_bse_vendor c on a.vendorid_chr = c.vendorid_chr where a.medicineid_chr = ? and a.storageid_chr = ? and a.status = 1 and a.vendorid_chr = ? "; objHRPServ.CreateDatabaseParameter(6, out objDPArr); objDPArr[0].Value = p_strMedicineID; objDPArr[1].Value = p_strStorageID; objDPArr[2].Value = p_strVendorID; objDPArr[3].Value = p_strMedicineID; objDPArr[4].Value = p_strStorageID; objDPArr[5].Value = p_strVendorID; } else { strSQL = @"select a.medicineid_chr, a.medicinename_vchr, a.medspec_vchr, a.syslotno_chr, case when a.lotno_vchr = 'UNKNOWN' then '' else a.lotno_vchr end lotno_vchr, a.retailprice_int, a.callprice_int, a.wholesaleprice_int, a.realgross_int, a.availagross_int, a.opunit_vchr, a.validperiod_dat, a.productorid_chr, a.instorageid_vchr, a.instoragedate_dat, a.vendorid_chr, a.seriesid_int, c.vendorname_vchr, b.assistcode_chr, d.amount instorageamount, b.medicinetypeid_chr, b.packqty_dec from t_ms_storage_detail a inner join t_ms_instorage e on a.instorageid_vchr = e.instorageid_vchr and e.state_int <> 0 inner join t_ms_instorage_detal d on e.seriesid_int = d.seriesid2_int and d.medicineid_chr = a.medicineid_chr and d.lotno_vchr = a.lotno_vchr and d.callprice_int = a.callprice_int and d.validperiod_dat = a.validperiod_dat and d.status = 1 inner join t_bse_medicine b on a.medicineid_chr = b.medicineid_chr left outer join t_bse_vendor c on a.vendorid_chr = c.vendorid_chr where a.medicineid_chr = ? and a.storageid_chr = ? and a.status = 1 union all select a.medicineid_chr, a.medicinename_vchr, a.medspec_vchr, a.syslotno_chr, a.lotno_vchr, a.retailprice_int, a.callprice_int, a.wholesaleprice_int, a.realgross_int, a.availagross_int, a.opunit_vchr, a.validperiod_dat, a.productorid_chr, a.instorageid_vchr, a.instoragedate_dat, a.vendorid_chr, a.seriesid_int, c.vendorname_vchr, b.assistcode_chr, e.currentgross_num instorageamount, b.medicinetypeid_chr, b.packqty_dec from t_ms_storage_detail a inner join t_ms_initial e on e.medicineid_chr = a.medicineid_chr and e.lotno_vchr = a.lotno_vchr and e.initialid_chr = a.instorageid_vchr and e.callprice_int = a.callprice_int and e.validperiod_dat = a.validperiod_dat and e.examerid is not null inner join t_bse_medicine b on a.medicineid_chr = b.medicineid_chr left outer join t_bse_vendor c on a.vendorid_chr = c.vendorid_chr where a.medicineid_chr = ? and a.storageid_chr = ? and a.status = 1 "; objHRPServ.CreateDatabaseParameter(4, out objDPArr); objDPArr[0].Value = p_strMedicineID; objDPArr[1].Value = p_strStorageID; objDPArr[2].Value = p_strMedicineID; objDPArr[3].Value = p_strStorageID; } DataTable dtbValue = null; lngRes = objHRPServ.lngGetDataTableWithParameters(strSQL, ref dtbValue, objDPArr); if (dtbValue != null) { int intRowsCount = dtbValue.Rows.Count; if (intRowsCount > 0) { p_objDetailArr = new clsMS_StorageDetail[intRowsCount]; DataRow drTemp = null; for (int iRow = 0; iRow < intRowsCount; iRow++) { drTemp = dtbValue.Rows[iRow]; p_objDetailArr[iRow] = new clsMS_StorageDetail(); p_objDetailArr[iRow].m_strMEDICINEID_CHR = drTemp["MEDICINEID_CHR"].ToString(); p_objDetailArr[iRow].m_strMEDICINENAME_VCHR = drTemp["MEDICINENAME_VCHR"].ToString(); p_objDetailArr[iRow].m_strMEDSPEC_VCHR = drTemp["MEDSPEC_VCHR"].ToString(); p_objDetailArr[iRow].m_strSYSLOTNO_CHR = drTemp["SYSLOTNO_CHR"].ToString(); p_objDetailArr[iRow].m_strLOTNO_VCHR = drTemp["LOTNO_VCHR"].ToString(); p_objDetailArr[iRow].m_dcmRETAILPRICE_INT = Convert.ToDecimal(drTemp["RETAILPRICE_INT"]); p_objDetailArr[iRow].m_dcmCALLPRICE_INT = Convert.ToDecimal(drTemp["CALLPRICE_INT"]); p_objDetailArr[iRow].m_dcmWHOLESALEPRICE_INT = Convert.ToDecimal(drTemp["WHOLESALEPRICE_INT"]); if (drTemp["REALGROSS_INT"] == DBNull.Value) { p_objDetailArr[iRow].m_dblREALGROSS_INT = 0.00d; } else { p_objDetailArr[iRow].m_dblREALGROSS_INT = Convert.ToDouble(drTemp["REALGROSS_INT"]); } if (drTemp["AVAILAGROSS_INT"] == DBNull.Value) { p_objDetailArr[iRow].m_dblAVAILAGROSS_INT = 0.00d; } else { p_objDetailArr[iRow].m_dblAVAILAGROSS_INT = Convert.ToDouble(drTemp["AVAILAGROSS_INT"]); } p_objDetailArr[iRow].m_strOPUNIT_VCHR = drTemp["OPUNIT_VCHR"].ToString(); p_objDetailArr[iRow].m_dtmVALIDPERIOD_DAT = Convert.ToDateTime(drTemp["VALIDPERIOD_DAT"]); p_objDetailArr[iRow].m_strPRODUCTORID_CHR = drTemp["PRODUCTORID_CHR"].ToString(); p_objDetailArr[iRow].m_strINSTORAGEID_VCHR = drTemp["INSTORAGEID_VCHR"].ToString(); p_objDetailArr[iRow].m_dtmINSTORAGEDATE_DAT = Convert.ToDateTime(drTemp["INSTORAGEDATE_DAT"]); p_objDetailArr[iRow].m_strMEDICINECode = drTemp["assistcode_chr"].ToString(); p_objDetailArr[iRow].m_strVENDORID_CHR = drTemp["vendorid_chr"].ToString(); p_objDetailArr[iRow].m_strVENDORName = drTemp["vendorname_vchr"].ToString(); p_objDetailArr[iRow].m_lngSERIESID_INT = Convert.ToInt64(drTemp["seriesid_int"]); p_objDetailArr[iRow].m_dblInStorageAmount = Convert.ToDouble(drTemp["instorageamount"]); p_objDetailArr[iRow].m_strMEDICINETYPEID_CHR = drTemp["medicinetypeid_chr"].ToString(); p_objDetailArr[iRow].m_dblPackQty = Convert.ToDouble(drTemp["packqty_dec"]); } } } } catch (Exception objEx) { com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText(); bool blnRes = objLogger.LogError(objEx); } return(lngRes); }