Exemple #1
0
        /// <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);
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
        /// <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);
        }