/// <summary> /// 获取药品调价明细 /// </summary> /// <param name="p_lngMainSEQ">主表序列</param> /// <returns></returns> internal clsMS_Adjustment_Detail[] m_objDetail(long p_lngMainSEQ) { DataTable dtbDetail = null; long lngRes = m_objDomain.m_lngGetAdjustmentDetail(p_lngMainSEQ, out dtbDetail); if (dtbDetail == null || dtbDetail.Rows.Count == 0) { return(null); } int intRowsCount = dtbDetail.Rows.Count; long lngSEQ = 0; clsMS_Adjustment_Detail[] objDetail = new clsMS_Adjustment_Detail[intRowsCount]; DataRow drTemp = null; for (int iRow = 0; iRow < intRowsCount; iRow++) { drTemp = dtbDetail.Rows[iRow]; objDetail[iRow] = new clsMS_Adjustment_Detail(); objDetail[iRow].m_dblCURRENTGROSS_INT = Convert.ToDouble(drTemp["currentgross_int"]); objDetail[iRow].m_dblNEWRETAILPRICE_INT = Convert.ToDouble(drTemp["newretailprice_int"]); objDetail[iRow].m_dblOLDRETAILPRICE_INT = Convert.ToDouble(drTemp["oldretailprice_int"]); objDetail[iRow].m_dtmVALIDPERIOD_DAT = Convert.ToDateTime(drTemp["validperiod_dat"]); objDetail[iRow].m_intSTATUS_INT = 1; objDetail[iRow].m_strLOTNO_VCHR = drTemp["lotno_vchr"].ToString(); objDetail[iRow].m_strMEDICINEID_CHR = drTemp["medicineid_chr"].ToString(); objDetail[iRow].m_strMEDICINENAME_VCH = drTemp["medicinename_vch"].ToString(); objDetail[iRow].m_strMEDSPEC_VCHR = drTemp["medspec_vchr"].ToString(); objDetail[iRow].m_strREASON_VCHR = drTemp["reason_vchr"].ToString(); objDetail[iRow].m_strOPUNIT_VCHR = drTemp["OPUNIT_VCHR"].ToString(); objDetail[iRow].m_strMedicineCode = drTemp["assistcode_chr"].ToString(); objDetail[iRow].m_strINSTORAGEID_VCHR = drTemp["INSTORAGEID_VCHR"].ToString(); if (long.TryParse(drTemp["SERIESID_INT"].ToString(), out lngSEQ)) { objDetail[iRow].m_lngSERIESID_INT = lngSEQ; } objDetail[iRow].m_dblCALLPRICE_INT = Convert.ToDouble(drTemp["callprice_int"]); objDetail[iRow].m_strPRODUCTORID_CHR = drTemp["productorid_chr"].ToString(); objDetail[iRow].m_dblPackage = Convert.ToDouble(drTemp["packqty_dec"]); objDetail[iRow].m_strIPUNIT_VCHR = drTemp["ipunit_chr"].ToString(); objDetail[iRow].m_dblINPUTCALLPRICE_INT = Convert.ToDouble(drTemp["inputcallprice_int"]); objDetail[iRow].m_dblOLDWHOLESALEPRICE_INT = Convert.ToDouble(drTemp["oldwholesaleprice_int"]); objDetail[iRow].m_dblNEWWHOLESALEPRICE_INT = Convert.ToDouble(drTemp["newwholesaleprice_int"]); } return(objDetail); }
public long m_lngGetAdjustmentDetailArr(System.Security.Principal.IPrincipal p_objPrincipal, long m_lngMainSeq, clsMS_Adjustment_Detail m_objMsAdjustmentDetail, ref List <clsDS_Adjustment_Detail> m_objDsAdjustDetailList) { DataTable p_dtbValue = null; clsDS_Adjustment_Detail objTempDetailVo; long lngRes = 0; try { for (int i = 0; i < m_objDsAdjustDetailList.Count; i++) { if (m_objDsAdjustDetailList[i].m_strMEDICINEID_CHR == m_objMsAdjustmentDetail.m_strMEDICINEID_CHR) { return(lngRes); } } string strSQL = @"select a.drugstoreid_chr, round(a.opretailprice_int / a.packqty_dec, 4) as ipretailprice_int, a.opretailprice_int, sum(a.iprealgross_int) as iprealgross_int, sum(round(a.iprealgross_int / a.packqty_dec, 2)) as oprealgross_int, a.lotno_vchr, a.validperiod_dat from t_ds_storage_detail a where a.medicineid_chr = ? and a.status = 1 group by a.drugstoreid_chr, a.opretailprice_int, a.packqty_dec, a.lotno_vchr, a.validperiod_dat"; clsHRPTableService objHRPServ = new clsHRPTableService(); IDataParameter[] objDPArr = null; objHRPServ.CreateDatabaseParameter(1, out objDPArr); objDPArr[0].Value = m_objMsAdjustmentDetail.m_strMEDICINEID_CHR; lngRes = objHRPServ.lngGetDataTableWithParameters(strSQL, ref p_dtbValue, objDPArr); objHRPServ.Dispose(); objHRPServ = null; if (lngRes > 0 && p_dtbValue.Rows.Count > 0) { for (int i = 0; i < p_dtbValue.Rows.Count; i++) { objTempDetailVo = new clsDS_Adjustment_Detail(); objTempDetailVo.m_dblIPNEWRETAILPRICE_INT = Convert.ToDouble(Convert.ToDouble(m_objMsAdjustmentDetail.m_dblNEWRETAILPRICE_INT / m_objMsAdjustmentDetail.m_dblPackage).ToString("0.0000")); objTempDetailVo.m_dblOPNEWRETAILPRICE_INT = m_objMsAdjustmentDetail.m_dblNEWRETAILPRICE_INT; objTempDetailVo.m_dblIPOLDRETAILPRICE_INT = Convert.ToDouble(p_dtbValue.Rows[i]["ipretailprice_int"].ToString()); objTempDetailVo.m_dblOPOLDRETAILPRICE_INT = Convert.ToDouble(p_dtbValue.Rows[i]["opretailprice_int"].ToString()); objTempDetailVo.m_strDrugStoreid = p_dtbValue.Rows[i]["drugstoreid_chr"].ToString(); objTempDetailVo.m_dblIPCURRENTGROSS_INT = Convert.ToDouble(p_dtbValue.Rows[i]["iprealgross_int"].ToString()); objTempDetailVo.m_dblOPCURRENTGROSS_INT = Convert.ToDouble(p_dtbValue.Rows[i]["oprealgross_int"].ToString()); objTempDetailVo.m_dblPackage = m_objMsAdjustmentDetail.m_dblPackage; if (Convert.ToDateTime(p_dtbValue.Rows[i]["validperiod_dat"]).ToString("yyyy-MM-dd") != "0001-01-01") { objTempDetailVo.m_dtmVALIDPERIOD_DAT = Convert.ToDateTime(p_dtbValue.Rows[i]["validperiod_dat"]); } objTempDetailVo.m_intSTATUS_INT = m_objMsAdjustmentDetail.m_intSTATUS_INT; objTempDetailVo.m_lngSERIESID2_INT = m_lngMainSeq; objTempDetailVo.m_strIPUNIT_VCHR = m_objMsAdjustmentDetail.m_strIPUNIT_VCHR; objTempDetailVo.m_strOPUNIT_VCHR = m_objMsAdjustmentDetail.m_strOPUNIT_VCHR; objTempDetailVo.m_strREASON_VCHR = m_objMsAdjustmentDetail.m_strREASON_VCHR; objTempDetailVo.m_strMEDICINEID_CHR = m_objMsAdjustmentDetail.m_strMEDICINEID_CHR; objTempDetailVo.m_strMEDICINENAME_VCHR = m_objMsAdjustmentDetail.m_strMEDICINENAME_VCH; objTempDetailVo.m_strMEDSPEC_VCHR = m_objMsAdjustmentDetail.m_strMEDSPEC_VCHR; objTempDetailVo.m_strLOTNO_VCHR = p_dtbValue.Rows[i]["lotno_vchr"].ToString(); objTempDetailVo.m_strPRODUCTORID_CHR = m_objMsAdjustmentDetail.m_strPRODUCTORID_CHR; objTempDetailVo.m_intHasGross = 1; m_objDsAdjustDetailList.Add(objTempDetailVo); } } else if (lngRes > 0 && p_dtbValue.Rows.Count == 0) { objTempDetailVo = new clsDS_Adjustment_Detail(); objTempDetailVo.m_dblIPNEWRETAILPRICE_INT = Convert.ToDouble(Convert.ToDouble(m_objMsAdjustmentDetail.m_dblNEWRETAILPRICE_INT / m_objMsAdjustmentDetail.m_dblPackage).ToString("0.0000")); objTempDetailVo.m_dblOPNEWRETAILPRICE_INT = m_objMsAdjustmentDetail.m_dblNEWRETAILPRICE_INT; objTempDetailVo.m_dblIPOLDRETAILPRICE_INT = Convert.ToDouble(Convert.ToDouble(m_objMsAdjustmentDetail.m_dblOLDRETAILPRICE_INT / m_objMsAdjustmentDetail.m_dblPackage).ToString("0.0000")); objTempDetailVo.m_dblOPOLDRETAILPRICE_INT = m_objMsAdjustmentDetail.m_dblOLDRETAILPRICE_INT; objTempDetailVo.m_strDrugStoreid = string.Empty; objTempDetailVo.m_dblIPCURRENTGROSS_INT = 0; objTempDetailVo.m_dblOPCURRENTGROSS_INT = 0; objTempDetailVo.m_dblPackage = m_objMsAdjustmentDetail.m_dblPackage; objTempDetailVo.m_dtmVALIDPERIOD_DAT = m_objMsAdjustmentDetail.m_dtmVALIDPERIOD_DAT; objTempDetailVo.m_intSTATUS_INT = m_objMsAdjustmentDetail.m_intSTATUS_INT; objTempDetailVo.m_lngSERIESID2_INT = m_lngMainSeq; objTempDetailVo.m_strIPUNIT_VCHR = m_objMsAdjustmentDetail.m_strIPUNIT_VCHR; objTempDetailVo.m_strOPUNIT_VCHR = m_objMsAdjustmentDetail.m_strOPUNIT_VCHR; objTempDetailVo.m_strREASON_VCHR = m_objMsAdjustmentDetail.m_strREASON_VCHR; objTempDetailVo.m_strMEDICINEID_CHR = m_objMsAdjustmentDetail.m_strMEDICINEID_CHR; objTempDetailVo.m_strMEDICINENAME_VCHR = m_objMsAdjustmentDetail.m_strMEDICINENAME_VCH; objTempDetailVo.m_strMEDSPEC_VCHR = m_objMsAdjustmentDetail.m_strMEDSPEC_VCHR; objTempDetailVo.m_strLOTNO_VCHR = m_objMsAdjustmentDetail.m_strLOTNO_VCHR; objTempDetailVo.m_strPRODUCTORID_CHR = m_objMsAdjustmentDetail.m_strPRODUCTORID_CHR; objTempDetailVo.m_intHasGross = 0; m_objDsAdjustDetailList.Add(objTempDetailVo); } } catch (Exception objEx) { com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText(); bool blnRes = objLogger.LogError(objEx); } return(lngRes); }