private IList<DBiddingProject> GetData() { DBiddingProjectDao mDao = new DBiddingProjectDao(); Hashtable htparm = new Hashtable(); htparm["start"] = 1; //记录开始数 htparm["end"] = 10; //记录结束数 IList<DBiddingProject> tempList= mDao.GetIndexPage(htparm); int pid = 0; foreach (DBiddingProject dbp in tempList) { dbp.NewProjectName = GetProjectName(dbp, out pid); dbp.ProjectID = pid; } return tempList; }
public ActionResult Detail(int id, int? pageNo, string parm, OpenBidProjectQuery query) { Dictionary<string, string> sitemaster = GetSiteMaster(); ViewData["SiteMaster"] = sitemaster; if (sitemaster["istest"] == "1") { int uid = Int32.Parse(sitemaster["userid"]); IList<int> bidprojectlist = CRMMapper.Get().QueryForList<int>("OpenBidNumForTest.myselectbid", uid); //先检查一共看的数目 if (bidprojectlist.Count > 0) { //如果有看得记录,先检查是否是看过的 Hashtable htt = new Hashtable(); htt["pid"] = id; htt["uid"] = uid; IList<int> sawid = CRMMapper.Get().QueryForList<int>("OpenBidNumForTest.myselectbidpid", htt); //如果没看过,就检查是否超过最大值 if (sawid.Count == 0) { if (bidprojectlist.Count < 5) { //没超过就写入记录 OpenBidNumForTest ob = new OpenBidNumForTest(); ob.BidprojectNum = id; ob.UserID = uid; new OpenBidNumForTestDao().Insert(ob); } else { //超过了 return RedirectToAction("List"); } } } else { //之前没有看过也写入记录 OpenBidNumForTest ob = new OpenBidNumForTest(); ob.BidprojectNum = id; ob.UserID = uid; new OpenBidNumForTestDao().Insert(ob); } } DBiddingProjectDao mDBiddingProjectDao = new DBiddingProjectDao(); DBiddingProject mDBiddingProject = mDBiddingProjectDao.Find(id); int interval = 0; if (EnterPriseMemberInfo.Memberlevel == 299) interval = 6; if (EnterPriseMemberInfo.Memberlevel == 301) interval = 12; DateTime limitedate = DateTime.Now.AddMonths(interval); if ((EnterPriseMemberInfo.Memberlevel == 201 || EnterPriseMemberInfo.Memberlevel == 301) && mDBiddingProject.BidDate > limitedate) { return RedirectToAction("MemberLevelError", "Base"); } ViewData["ProjectDescription"] = mDBiddingProject.NewProjectDescription; ViewData["Summary"] = mDBiddingProject.Summary; ViewData["OID"] = mDBiddingProject.OID; //如果有参数 if (query.IsHaveProperty()) { parm = query.GetParameter(); ViewData["Query"] = query; return RedirectToAction("Detail", new { id = id, pageNo = 1, parm = parm }); } else { //表明第一次进来 if (query.CommonName != null) { query.LoadProperties(parm); } //页码与记录数 int PageNo = pageNo ?? 1; if (string.IsNullOrEmpty(query.CommonName) && string.IsNullOrEmpty(query.ChineseSpecification) && string.IsNullOrEmpty(query.ProductEnterpriseName) && string.IsNullOrEmpty(query.TenderEnterpriseName) && query.CommonName.Length < 3) { PageNo = 1; } else { query.IsSearched = "1"; } //是否竞品条件 bool compete = false; int count; //取数据与记录数 List<string> th = new List<string>(); DBiddingMedicineDao m = new DBiddingMedicineDao(); DataTable data = m.GetData(id, PageNo, PageSizeDetail, query, out count, ref compete, ref th); #region 数据处理 if (data == null) { data = new DataTable(); } if (!data.Columns.Contains("ID")) { DataColumn dc = new DataColumn(); dc.ColumnName = "ID"; data.Columns.Add(dc); } int beginNo = 0; if (!compete) { beginNo = (PageNo - 1) * PageSizeDetail; } for (int i = 1; i <= data.Rows.Count; i++) { data.Rows[i - 1]["ID"] = (beginNo + i).ToString(); } if (data.Columns.Contains("IsCancel") && (!data.Columns.Contains("IsCancelText"))) { DataColumn dc = new DataColumn(); dc.ColumnName = "IsCancelText"; data.Columns.Add(dc); foreach (DataRow dr in data.Rows) { if (dr["IsCancel"].ToString() == "True") dr["IsCancelText"] = "是"; else dr["IsCancelText"] = ""; } //data.Columns.Remove("IsCancel"); } if (data.Columns.Contains("ROWID")) { data.Columns.Remove("ROWID"); } if (data.Columns.Contains("OID")) { data.Columns.Remove("OID"); } List<DataRow> listRow = new List<DataRow>(); foreach (DataRow dr in data.Rows) { listRow.Add(dr); } PagedList<DataRow> list; if (compete) { list = new PagedList<DataRow>(listRow, PageNo, PageSizeDetail); } else { list = new PagedList<DataRow>(listRow, PageNo, PageSizeDetail, count); } #endregion bool isExcel = query.Excel == "1" ? true : false; query.Excel = ""; ViewData["Query"] = query; ViewData["Count"] = count; ViewData["Th"] = th; #region 导出excel if (sitemaster["istest"] == "0" && isExcel) { ExcelExport mx = new ExcelExport(); mx.InitTh(); if (query.CommonName != null) mx._fileName = query.CommonName + DateTime.Now.ToShortDateString() + ".xls"; else { if (query.ProductEnterpriseName != null) mx._fileName = query.ProductEnterpriseName + DateTime.Now.ToShortDateString() + ".xls"; else mx._fileName = query.TenderEnterpriseName + DateTime.Now.ToShortDateString() + ".xls"; } //项目名称 TableItemStyle tiName = new TableItemStyle(); tiName.Font.Size = 14; tiName.ForeColor = System.Drawing.Color.Red; tiName.HorizontalAlign = HorizontalAlign.Center; mx.HeadExtrInfo.Add(mDBiddingProject.NewProjectName, tiName); //项目备注 TableItemStyle tiRemark = new TableItemStyle(); tiRemark.Font.Size = 13; tiRemark.ForeColor = System.Drawing.Color.Red; tiRemark.HorizontalAlign = HorizontalAlign.Left; mx.HeadExtrInfo.Add("项目备注说明:", tiRemark); //项目备注 TableItemStyle tiRemarkContent = new TableItemStyle(); tiRemarkContent.Font.Size = 12; tiRemarkContent.HorizontalAlign = HorizontalAlign.Left; mx.HeadExtrInfo.Add(mDBiddingProject.NewProjectDescription, tiRemarkContent); TableItemStyle tiCount = new TableItemStyle(); tiCount.Font.Size = 12; tiCount.HorizontalAlign = HorizontalAlign.Left; mx.HeadExtrInfo.Add("共有" + count.ToString() + "条", tiCount); if (data.Columns.Contains("ID")) { data.Columns.Remove("ID"); } //20111019修改按显示表头导出,去掉多余列 if (data.Columns.Contains("Mine")) { data.Columns.Remove("Mine"); } mx._thName = th.ToArray();//20111019修改按显示表头导出 mx.DataTableToExcel(data); } #endregion return View(list); } }
/// <summary> /// 得到中标项目 /// </summary> /// <param name="ht"></param> /// <returns></returns> private Dictionary<int, IList<ProductReport>> GetBidProject(Hashtable ht) { Dictionary<int, IList<ProductReport>> dict = new Dictionary<int, IList<ProductReport>>(); DBiddingProjectDao dpDao = new DBiddingProjectDao(); DBiddingMedicineDao dmDao = new DBiddingMedicineDao(); IList<DBiddingProject> list = dpDao.GetProjectByProductQuery(ht); if (list.Count > 0) { var a = (from c in list select c.OID).ToList(); if (a.Count == 0) { IList<ProductReport> ilist = new List<ProductReport>(); dict.Add(0, ilist); return dict; } long[] projectoids = new long[a.Count()]; for (int i = 0; i < projectoids.Length; i++) { projectoids[i] = a[i]; } ht.Add("projectids", projectoids); IList<DBiddingMedicine> listDetail = dmDao.GetProductQuery(ht); int total = dmDao.GetProductQueryCount(ht); List<ProductReport> listPR = new List<ProductReport>(); foreach (DBiddingMedicine d in listDetail) { DBiddingProject project = (from p in list where p.OID == d.ProjectOID select p).First(); ProductReport pr = new ProductReport(); pr.ProjectOID = (int)project.OID; pr.BidDate = project.BidDate; pr.BiddingPrice = GetBiddingPrice(d); pr.ChineseSpecification = d.ChineseSpecification; pr.City = project.Provice; pr.CommonName = d.CommonName; pr.Formulation = d.Formulation; pr.Material = d.Material; pr.Package = d.Packaging; pr.Unit = d.Unit; pr.ConvertCoefficient = d.ConvertCoefficient; pr.QualityLevel = d.QualityLevel; pr.ProductEnterprise = d.ProductEnterprise; pr.ProjectIntroduction = project.ProjectIntroduction; listPR.Add(pr); } dict.Add(total, listPR); } return dict; }
public JsonResult UserBid(string CommonName, string Formulation, string Year, string City, string Level) { Hashtable htparm = new Hashtable(); htparm["isprovice"] = Level.Trim('-').Split('-'); int iYear = Int32.Parse(Year); htparm["begindate"] = DateTime.Now.AddYears(-1 * iYear); htparm["enddate"] = DateTime.Now; htparm["cities"] = City.Trim('-').Split('-'); DBiddingProjectDao dDao = new DBiddingProjectDao(); IList<int> projectoids = dDao.GetCompeteAnalysis(htparm); if (projectoids.Count() > 0) { htparm.Add("projectids", projectoids.ToArray()); } htparm["commonname"] = CommonName; htparm["formulation"] = Formulation; int count = EmedDataCenterMapper.Get().QueryForObject<int>("DBiddingMedicine.SimulateQueryCount", htparm); IList<IDictionary> list = EmedDataCenterMapper.Get().QueryForList<IDictionary>("DBiddingMedicine.SimulateQuery", htparm); string html = string.Empty; foreach (IDictionary l in list) { html += "<tr class='tr_bg'>"; html += result(l["CommonName"]); html += result(l["Formulation"]); html += result(l["ChineseSpecification"]); html += result(l["ConvertCoefficient"]); html += result(l["Unit"]); html += result(l["Packaging"]); html += result(l["Material"]); html += result(l["QualityLevel"]); html += result(l["ProductEnterprise"]); html += result(l["BiddingPrice"]); html += "</tr>"; } return Json(html); }
public ActionResult Detail(int id, int? pageNo, string parm, FormCollection query) { Dictionary<string, string> sitemaster = GetSiteMaster(); ViewData["SiteMaster"] = sitemaster; int uid = Int32.Parse(sitemaster["userid"]); if (sitemaster["istest"] == "1") { IList<int> bidprojectlist = CRMMapper.Get().QueryForList<int>("OpenBidNumForTest.myselectbid", uid); //先检查一共看的数目 if (bidprojectlist.Count > 0) { //如果有看得记录,先检查是否是看过的 Hashtable htt = new Hashtable(); htt["pid"] = id; htt["uid"] = uid; IList<int> sawid = CRMMapper.Get().QueryForList<int>("OpenBidNumForTest.myselectbidpid", htt); //如果没看过,就检查是否超过最大值 if (sawid.Count == 0) { if (bidprojectlist.Count < 5) { //没超过就写入记录 OpenBidNumForTest ob = new OpenBidNumForTest(); ob.BidprojectNum = id; ob.UserID = uid; new OpenBidNumForTestDao().Insert(ob); } else { //超过了 return RedirectToAction("List"); } } } else { //之前没有看过也写入记录 OpenBidNumForTest ob = new OpenBidNumForTest(); ob.BidprojectNum = id; ob.UserID = uid; new OpenBidNumForTestDao().Insert(ob); } } DBiddingProjectDao mDBiddingProjectDao = new DBiddingProjectDao(); DBiddingProject mDBiddingProject = mDBiddingProjectDao.Find(id); int interval = 0; if (EnterPriseMemberInfo.Memberlevel == 299) interval = 6; if (EnterPriseMemberInfo.Memberlevel == 301) interval = 12; DateTime limitedate = DateTime.Now.AddMonths(interval); if ((EnterPriseMemberInfo.Memberlevel == 201 || EnterPriseMemberInfo.Memberlevel == 301) && mDBiddingProject.BidDate > limitedate) { return RedirectToAction("MemberLevelError", "Base"); } ViewData["ProjectDescription"] = mDBiddingProject.NewProjectDescription; ViewData["Summary"] = mDBiddingProject.Summary; ViewData["OID"] = mDBiddingProject.OID; Dictionary<string, string> dict = ParmHelper.Analysis(query); //如果有参数 if (dict.Count != 0) { string parmeter = ParmHelper.BuildParm(dict); return RedirectToAction("Detail", new { id = id, pageNo = 1, parm = parmeter }); } else { //页码与记录数 Hashtable memberkeys = new Hashtable(); int PageNo = pageNo ?? 1; if (parm != null) { dict = ParmHelper.AnalysisParm(parm); Hashtable ht = new Hashtable(); ht.Add("ID", dict["CommonName"]); ht.Add("UserID", uid); memberkeys = CRMMapper.Get().QueryForObject<Hashtable>("MemberMedicineKey.FindByID", ht); dict["IsSearched"] = "1"; //commonnames= } else { memberkeys.Add("KeyList", ""); dict.Add("excel", ""); } string commonnames = memberkeys["KeyList"].ToString().Replace(" ", "").Replace(" ", ""); int count; //取数据与记录数 List<string> th = new List<string>(); DBiddingMedicineDao m = new DBiddingMedicineDao(); DataTable data = m.GetExportData(id, PageNo, PageSizeDetail, commonnames, out count, ref th, dict["excel"]); #region 数据处理 if (data == null) { data = new DataTable(); } if (!data.Columns.Contains("ID")) { DataColumn dc = new DataColumn(); dc.ColumnName = "ID"; data.Columns.Add(dc); } int beginNo = 0; for (int i = 1; i <= data.Rows.Count; i++) { data.Rows[i - 1]["ID"] = (beginNo + i).ToString(); } if (data.Columns.Contains("IsCancel") && (!data.Columns.Contains("IsCancelText"))) { DataColumn dc = new DataColumn(); dc.ColumnName = "IsCancelText"; data.Columns.Add(dc); foreach (DataRow dr in data.Rows) { if (dr["IsCancel"].ToString() == "True") dr["IsCancelText"] = "是"; else dr["IsCancelText"] = ""; } //data.Columns.Remove("IsCancel"); } if (data.Columns.Contains("ROWID")) { data.Columns.Remove("ROWID"); } if (data.Columns.Contains("OID")) { data.Columns.Remove("OID"); } List<DataRow> listRow = new List<DataRow>(); foreach (DataRow dr in data.Rows) { listRow.Add(dr); } PagedList<DataRow> list = new PagedList<DataRow>(listRow, PageNo, PageSizeDetail, count); ; #endregion bool isExcel = dict["excel"] == "1" ? true : false; //dict["excel"] = ""; ViewData["Query"] = dict; ViewData["Count"] = count; ViewData["Th"] = th; ViewData["KeyList"] = memberkeys["KeyList"]; IList<IDictionary> ownkeys = CRMMapper.Get().QueryForList<IDictionary>("MemberMedicineKey.FindByUserID", uid); ViewData["OwnKeys"] = ownkeys; #region 导出excel if (sitemaster["istest"] == "0" && isExcel) { ExcelExport mx = new ExcelExport(); mx.InitTh(); mx._fileName = memberkeys["ListName"] + DateTime.Now.ToShortDateString() + ".xls"; //if (query.CommonName != null) // mx._fileName = query.CommonName + DateTime.Now.ToShortDateString() + ".xls"; //else //{ // if (query.ProductEnterpriseName != null) // mx._fileName = query.ProductEnterpriseName + DateTime.Now.ToShortDateString() + ".xls"; // else // mx._fileName = query.TenderEnterpriseName + DateTime.Now.ToShortDateString() + ".xls"; //} //项目名称 TableItemStyle tiName = new TableItemStyle(); tiName.Font.Size = 14; tiName.ForeColor = System.Drawing.Color.Red; tiName.HorizontalAlign = HorizontalAlign.Center; mx.HeadExtrInfo.Add(mDBiddingProject.NewProjectName, tiName); //项目备注 TableItemStyle tiRemark = new TableItemStyle(); tiRemark.Font.Size = 13; tiRemark.ForeColor = System.Drawing.Color.Red; tiRemark.HorizontalAlign = HorizontalAlign.Left; mx.HeadExtrInfo.Add("项目备注说明:", tiRemark); //项目备注 TableItemStyle tiRemarkContent = new TableItemStyle(); tiRemarkContent.Font.Size = 12; tiRemarkContent.HorizontalAlign = HorizontalAlign.Left; mx.HeadExtrInfo.Add(mDBiddingProject.NewProjectDescription, tiRemarkContent); TableItemStyle tiCount = new TableItemStyle(); tiCount.Font.Size = 12; tiCount.HorizontalAlign = HorizontalAlign.Left; mx.HeadExtrInfo.Add(memberkeys["ListName"] + "共有" + count.ToString() + "条", tiCount); if (data.Columns.Contains("ID")) { data.Columns.Remove("ID"); } //20111019修改按显示表头导出,去掉多余列 if (data.Columns.Contains("Mine")) { data.Columns.Remove("Mine"); } mx._thName = th.ToArray();//20111019修改按显示表头导出 mx.DataTableToExcel(data); } #endregion return View(list); } }