示例#1
0
        /// <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);
        }