/// <summary> /// 绑定Repeater数据 /// </summary> protected void RepeaterDataBind(bool isExport) { Dictionary <string, string> dicCondition = new Dictionary <string, string>(); string taskNo = txtTaskNo.Text.Trim(); //任务编号 string projectName = txtProjectName.Text.Trim(); //工程名称 string shop = ddlShop.SelectedValue; //店铺 string expireDataStart = txtExpireDateStart.Text.Trim(); //截止时间范围开始 string expireDateEnd = txtExpireDateEnd.Text.Trim(); //截止时间范围结束 string expireDateMonth = txtExpireDateMonth.Text.Trim(); //截止时间月份 //如果截止时间月份,这个快速选择项不为空,那么以这个值为主 if (!string.IsNullOrEmpty(expireDateMonth)) { expireDataStart = string.Format("{0}-{1}", expireDateMonth, "01 00:00:00"); DateTime dtExpire = Convert.ToDateTime(expireDataStart); int daysInMonth = DateTime.DaysInMonth(dtExpire.Year, dtExpire.Month); expireDateEnd = string.Format("{0}-{1}{2}", expireDateMonth, daysInMonth.ToString().PadLeft(2, '0'), " 23:59:59"); } string orderDateStart = txtOrderDateStart.Text.Trim(); //下单时间开始 string orderDateEnd = txtOrderDateEnd.Text.Trim(); //下单时间结束 string orderDateMonth = txtOrderDateMonth.Text.Trim(); //截止时间月份 //如果订单时间月份,这个快速选择项不为空,那么以这个值为主 if (!string.IsNullOrEmpty(orderDateMonth)) { orderDateStart = string.Format("{0}-{1}", orderDateMonth, "01 00:00:00"); DateTime dtOrder = Convert.ToDateTime(orderDateStart); int daysInMonth = DateTime.DaysInMonth(dtOrder.Year, dtOrder.Month); orderDateEnd = string.Format("{0}-{1}{2}", orderDateMonth, daysInMonth.ToString().PadLeft(2, '0'), " 23:59:59"); } string orderAmountMin = txtOrderAmountMin.Text.Trim(); //金额最小值 string orderAmountMax = txtOrderAmountMax.Text.Trim(); //金额最大值 string buildingType = ddlBuildingType.SelectedValue; //建筑类型 string structureForm = ddlStructureForm.SelectedValue; //结构类型 string constructionAreaMin = txtConstructionAreaMin.Text.Trim(); //建筑面积范围开始 string constructionAreaMax = txtConstructionAreaMax.Text.Trim(); //建筑面积范围结束 string floorsMin = txtFloorsMin.Text.Trim(); //层数起始 string floorsMax = txtFloorsMax.Text.Trim(); //层数结束 string province = ddlProvince.SelectedValue; // Request.Form["ddlProvince"];//省份 string transactionStatus = ddlTransactionStatus.SelectedValue; //交易状态 string wangwangName = txtWangwangName.Text.Trim(); //旺旺名 string mobilePhone = txtMobilePhone.Text.Trim(); //手机号码 string qq = txtQQ.Text.Trim(); //QQ string modelingSoftware = ddlModelingSoftware.SelectedValue; //计价软件 string valuateSoftware = txtValuateSoftware.Text.Trim(); //建模软件 string finishedPerson = txtFinishedPerson.Text.Trim(); //完成人 string isFinished = ddlFinishedStatus.SelectedValue; //完成状态 string enteringPerson = txtEnteringPerson.Text.Trim(); //录入人(即客服) if (!string.IsNullOrEmpty(taskNo)) { dicCondition.Add("taskNo", taskNo); } if (!string.IsNullOrEmpty(projectName)) { dicCondition.Add("projectName", projectName); } if (!string.IsNullOrEmpty(shop)) { dicCondition.Add("shop", shop); } if (!string.IsNullOrEmpty(expireDataStart)) { dicCondition.Add("expireDateStart", expireDataStart); } if (!string.IsNullOrEmpty(expireDateEnd)) { dicCondition.Add("expireDateEnd", expireDateEnd); } if (!string.IsNullOrEmpty(orderDateStart)) { dicCondition.Add("orderDateStart", orderDateStart); } if (!string.IsNullOrEmpty(orderDateEnd)) { dicCondition.Add("orderDateEnd", orderDateEnd); } if (!string.IsNullOrEmpty(orderAmountMin)) { dicCondition.Add("orderAmountMin", orderAmountMin); } if (!string.IsNullOrEmpty(orderAmountMax)) { dicCondition.Add("orderAmountMax", orderAmountMax); } if (!string.IsNullOrEmpty(buildingType)) { dicCondition.Add("buildingType", buildingType); } if (!string.IsNullOrEmpty(structureForm)) { dicCondition.Add("structureForm", structureForm); } if (!string.IsNullOrEmpty(constructionAreaMin)) { dicCondition.Add("constructionAreaMin", constructionAreaMin); } if (!string.IsNullOrEmpty(constructionAreaMax)) { dicCondition.Add("constructionAreaMax", constructionAreaMax); } if (!string.IsNullOrEmpty(floorsMin)) { dicCondition.Add("floorsMin", floorsMin); } if (!string.IsNullOrEmpty(floorsMax)) { dicCondition.Add("floorsMax", floorsMax); } if (!string.IsNullOrEmpty(province)) { dicCondition.Add("province", province); } if (!string.IsNullOrEmpty(transactionStatus)) { dicCondition.Add("transactionStatus", transactionStatus); } if (!string.IsNullOrEmpty(wangwangName)) { dicCondition.Add("wangwangName", wangwangName); } if (!string.IsNullOrEmpty(mobilePhone)) { dicCondition.Add("mobilePhone", mobilePhone); } if (!string.IsNullOrEmpty(qq)) { dicCondition.Add("qq", qq); } if (!string.IsNullOrEmpty(modelingSoftware)) { dicCondition.Add("modelingSoftware", modelingSoftware); } if (!string.IsNullOrEmpty(valuateSoftware)) { dicCondition.Add("valuateSoftware", valuateSoftware); } if (!string.IsNullOrEmpty(finishedPerson)) { dicCondition.Add("finishedPerson", finishedPerson); } if (!string.IsNullOrEmpty(isFinished)) { dicCondition.Add("isfinished", isFinished); } //if (!string.IsNullOrEmpty(enteringPerson)) //{ // dicCondition.Add("enteringPerson",enteringPerson); //} //是否是管理员 bool isAdmin = false; bool isCustomerService = false; List <Role> lstRole = UserProfile.GetInstance().Role; for (int i = 0; i < lstRole.Count; i++) { //如果角色名称中包含管理员,则判定是管理员 if (lstRole[i].RoleName.Contains("管理员")) { isAdmin = true; break; } else if (lstRole[i].RoleName == "客服") { isCustomerService = true; } } //不是管理员的话,只能看当前登录人录入的信息 if (isCustomerService) { dicCondition.Add("enteringPerson", UserProfile.GetInstance().EmployeeNO); } //如果是管理员并且输入了录入人编号,则加入录入人的筛选条件 else if (isAdmin && !string.IsNullOrEmpty(enteringPerson)) { dicCondition.Add("enteringPerson", enteringPerson); } AspNetPager1.PageSize = Convert.ToInt32(ConfigurationManager.AppSettings["pageSize"]); int totalAmount = 0;//返回的记录数 //待用====================================================== StringBuilder sbSortExpression = new StringBuilder(); /*//如果EventTarget为Sort,才进行排序 * if (Request.Form["__EVENTTARGET"] == "Sort") * { * string orderField = Request.Form["__EVENTARGUMENT"]; * string orderDirection = sortOrder.Value; * * if (!string.IsNullOrEmpty(orderField)) * { * sbSortExpression.AppendFormat("{0} {1}", orderField, orderDirection); * } * } * //待用====================================================== * */ DataSet ds = new DataSet(); //导出需要的 if (isExport) { ds = pBll.GetListUnion(dicCondition, sbSortExpression.ToString(), 0, 0, out totalAmount); Session["dtTaskListExport"] = ds.Tables[0]; } //不是导出需要的 else { ds = pBll.GetListUnion(dicCondition, sbSortExpression.ToString(), AspNetPager1.CurrentPageIndex, AspNetPager1.PageSize, out totalAmount); AspNetPager1.RecordCount = totalAmount; lblTotalRecordAmount.Text = totalAmount.ToString(); if (ds != null) { DataTable dt = ds.Tables[0]; rptData.DataSource = dt; //遍历DataTable,将ID赋给sbIDs字符串 StringBuilder sbIDs = new StringBuilder(); for (int i = 0; i < dt.Rows.Count; i++) { sbIDs.AppendFormat("'{0}'{1}", dt.Rows[i]["ID"], ","); } if (dt.Rows.Count == 0) { sbIDs.Append("'',"); } string sIDs = sbIDs.ToString().TrimEnd(','); //查出任务的完成人 ProjectSharingBLL psBll = new ProjectSharingBLL(); DataTable dtFinishedPerson = psBll.GetListInnerJoinEmployee(string.Format("PROJECTID IN ({0})", sIDs)).Tables[0]; Session["dtFinishedPerson"] = dtFinishedPerson; } rptData.DataBind(); double totalOrderAmount = 0; double totalSalary = 0; double totalCommission = 0; double totalRefund = 0; CountSalary(false, isCustomerService, out totalOrderAmount, out totalSalary, out totalCommission, out totalRefund); lblTotalOrderAmount.Text = totalOrderAmount.ToString(); lblTotalRefund.Text = totalRefund.ToString(); lblSalary.Text = totalSalary.ToString(); //登录身份非客服并且录入人文本框输入查询条件时(也就是说管理员想查询某个客服录入的数据时),就显示出客服薪资 lblCsSalary.Text = !isCustomerService && string.IsNullOrEmpty(enteringPerson) ? string.Empty : totalCommission.ToString(); } }