示例#1
0
 /// <summary>
 /// 根据给定的一些条件来进行票据的模糊查询
 /// </summary>
 /// <param name="fromDate"></param>
 /// <param name="toDate"></param>
 /// <param name="companyCond"></param>
 /// <param name="drugsCond"></param>
 /// <param name="drugsFromCond"></param>
 /// <param name="drugsCategoryCond"></param>
 /// <param name="storeHouseCond"></param>
 /// <param name="billMaker"></param>
 /// <returns></returns>
 public List <Bills> SearchBill(DateTime fromDate, DateTime toDate, string companyCond, string drugsCond, string drugsFromCond, string drugsCategoryCond, string storeHouseCond, User billMaker, string billsID, BillsType billsType)
 {
     using (IDbConnection conn = DAOFactory.Instance.OpenConnection())
     {
         IBillsDAO           dao = DAOFactory.Instance.CreateBillsDAO();
         SearchBillsTemplate sbt = new SearchBillsTemplate();
         sbt.FromDate    = fromDate;
         sbt.ToDate      = toDate;
         sbt.CompanyCond = companyCond;
         sbt.BillMaker   = billMaker.Name;
         List <Bills> billsList = dao.SearchBills(sbt, conn);
         for (int i = billsList.Count - 1; i >= 0; i--)
         {
             Bills bill = billsList[i];
             if (!bill.ID.ToString().Contains(billsID))
             {
                 billsList.Remove(bill);
             }
             if (!billsType.Equals(bill.BillsType))
             {
                 billsList.Remove(bill);
             }
         }
         return(billsList);
     }
 }
示例#2
0
        public List <Bills> SearchBills(SearchBillsTemplate temp, IDbConnection conn)
        {
            string sql = @"
            select
               Mb.ID,Mb.BillsCode,Mb.Maker,Mb.MakerDate,Mb.CreateDate,Mb.Actived,Mb.IsCancleOut,Mb.IsRedBill,Mb.Remark,
               Msh.ID,Msh.StorehouseCode,Msh.StorehouseName,Msh.Actived,Msh.Remark,
               Mbt.ID,Mbt.Name,Mbt.IsOut,Mbt.Actived,Mbt.Remark,
               Mc.ID,Mc.CompanyCode,Mc.CompanyName,Mc.Actived,Mc.Remark,
               Mct.ID,Mct.CompanyTypeCode,Mct.CompanyTypeName,Mct.Actived,Mct.Remark 
            from MD_Bills as Mb 
            inner join MD_Storehouse as Msh on Mb.Storehouse_ID=Msh.ID 
            inner join MD_BillsType as Mbt on Mb.BillsType_ID=Mbt.ID 
            inner join MD_Company as Mc on Mb.Company_ID=Mc.ID
            inner join MD_CompanyType as Mct on Mc.CompanyType_ID=Mct.ID 
            where Mb.MakerDate between @FromDate and @ToDate
            and (Mc.CompanyCode like @CompanyCond or Mc.CompanyName like @CompanyCond)
            and (Mb.Maker like @Maker)
            ";
            List <SqlParameter> paramList = new List <SqlParameter>();

            paramList.Add(new SqlParameter("@FromDate", temp.FromDate));
            paramList.Add(new SqlParameter("@ToDate", temp.ToDate));
            paramList.Add(new SqlParameter("@CompanyCond", string.Format("%{0}%", temp.CompanyCond == null ? "" : temp.CompanyCond)));
            paramList.Add(new SqlParameter("@Maker", string.Format("%{0}%", temp.BillMaker == null ? "" : temp.BillMaker)));
            SqlDataReader reader = DataAccessUtil.ExecuteReader(sql, paramList, (SqlConnection)conn);
            List <Bills>  list   = new List <Bills>();

            while (reader.Read())
            {
                Bills bill = new Bills();
                BillModelHelper(reader, bill);
                list.Add(bill);
            }
            reader.Close();
            foreach (Bills b in list)
            {
                sql       = @"
                    Select Mbi.ID,Mbi.Count,Mbi.UnitPrice,Mbi.Money,Mbi.Remark,
                       Md.ID,Md.DrugCode,Md.DrugName,Md.UnitPrice,Md.Standard,Md.Unit,Md.Actived,Md.Remark,
                       Mdf.ID,Mdf.DrugFromCode,Mdf.DrugFromName,Mdf.Actived,Mdf.Remark,
                       Mdc.ID,Mdc.DrugCategoryCode,Mdc.DrugCategoryName,Mdc.Actived,Mdc.Remark
                    from MD_BillsItem as Mbi
                    inner join MD_Drugs as Md on Mbi.Drugs_ID=Md.ID 
                    inner join MD_DrugCategory as Mdc on Md.DrugCategory_ID=Mdc.ID
                    inner join MD_DrugFrom as Mdf on Md.DrugFrom_ID=Mdf.ID 
                    where Mbi.Bills_ID=@ID ";
                paramList = new List <SqlParameter>();
                paramList.Add(new SqlParameter("@ID", b.ID));
                reader = DataAccessUtil.ExecuteReader(sql, paramList, (SqlConnection)conn);
                while (reader.Read())
                {
                    BillsItem item = new BillsItem();
                    BillItemModelHelper(reader, item);
                    b.Items.Add(item);
                }
                reader.Close();
            }
            return(list);
        }
示例#3
0
 /// <summary>
 /// 根据给定的条件来进行票据的模糊查询
 /// </summary>
 /// <param name="sbt"></param>
 /// <returns></returns>
 public List <Bills> SearchBill(SearchBillsTemplate sbt)
 {
     using (IDbConnection conn = DAOFactory.Instance.OpenConnection())
     {
         IBillsDAO dao = DAOFactory.Instance.CreateBillsDAO();
         return(dao.SearchBills(sbt, conn));
     }
 }