private void BindGrid() { gv_List.DataSource = FNA_StaffBounsLevelBLL.GetData(int.Parse(ddl_Quarter.SelectedValue)); gv_List.BindGrid(); approveflag = FNA_StaffBounsLevelBLL.GetApproveState(int.Parse(ddl_Quarter.SelectedValue)); bt_Submit.Visible = !(approveflag == 1); lb_ApproveFlag.Text = approveflag == 1 ? "已审核" : (approveflag == 4 ? "已提交" : "未审核"); div_header.InnerText = ddl_Quarter.SelectedItem.Text + "全国办事处绩效考核明细表"; MatrixTable.GridViewMatric(gv_List); MatrixTable.GridViewMergSampeValueRow(gv_List, 0); }
private void BindGrid() { int month = int.Parse(ddl_Month.SelectedValue); int organizecity = int.Parse(tr_OrganizeCity.SelectValue); DataTable dtSummary = new DataTable(); int state = int.Parse(ddl_State.SelectedValue); string accountname = ddl_Month.SelectedItem.Text; string preaccountname = DateTime.Parse(accountname + "-01").AddMonths(-3).ToString("yyyy-MM"); switch (MCSTabControl1.SelectedTabItem.Value) { case "0": { dtSummary = FNA_FeeApplyBLL.GetDiaplayFeeSummary(month, organizecity, int.Parse(ddl_Level.SelectedValue), state, int.Parse(Session["UserID"].ToString())); if (dtSummary.Rows.Count == 0) { gv_List.DataBind(); return; } dtSummary = MatrixTable.Matrix(dtSummary, new string[] { "管理片区名称", "责任人员", "行政属性" }, new string[] { "RTChannel", "DisplayFeeType", "Title" }, "Summary", true, false); MatrixTable.TableAddRowSubTotal_Matric(dtSummary, new string[] { "责任人员" }, 3, new string[] { "RTChannel", "DisplayFeeType", "Title" }, false); #region 重新计算总计行的费率 if (dtSummary.Rows.Count > 1) { foreach (DataRow dr in dtSummary.Rows) { if (dr[0].ToString().EndsWith("计") || dr[2].ToString().EndsWith("计")) { foreach (DataColumn dc in dtSummary.Columns) { if (dc.ColumnName.EndsWith("费率%")) { string title = dc.ColumnName; int pos = title.IndexOf('→'); if (pos > 0) { title = title.Substring(0, pos); if (dtSummary.Columns.Contains(title + "→2.陈列费总计(元/月)→A.我司承担") && dtSummary.Columns.Contains(title + "→3.销量及费率→C." + accountname + "预计销量(元/月)") && (decimal)dr[title + "→3.销量及费率→C." + accountname + "预计销量(元/月)"] != 0) { dr[dc.ColumnName] = Math.Round((decimal)dr[title + "→2.陈列费总计(元/月)→A.我司承担"] / (decimal)dr[title + "→3.销量及费率→C." + accountname + "预计销量(元/月)"] * 100, 1, MidpointRounding.AwayFromZero); } } } if (dc.ColumnName.EndsWith("E.费率(较" + preaccountname + ")%")) { string title = dc.ColumnName; int pos = title.IndexOf('→'); if (pos > 0) { title = title.Substring(0, pos); if (dtSummary.Columns.Contains(title + "→2.陈列费总计(元/月)→A.我司承担") && dtSummary.Columns.Contains(title + "→3.销量及费率→A." + preaccountname + "实际销量(元/月)") && (decimal)dr[title + "→3.销量及费率→A." + preaccountname + "实际销量(元/月)"] != 0) { dr[dc.ColumnName] = Math.Round((decimal)dr[title + "→2.陈列费总计(元/月)→A.我司承担"] / (decimal)dr[title + "→3.销量及费率→A." + preaccountname + "实际销量(元/月)"] * 100, 1, MidpointRounding.AwayFromZero); } } } } } } } #endregion } break; case "1": { dtSummary = FNA_FeeApplyBLL.GetDiaplayFeeByDisplay(month, organizecity, int.Parse(ddl_Level.SelectedValue), state, int.Parse(Session["UserID"].ToString())); if (dtSummary.Rows.Count == 0) { gv_List.DataBind(); return; } dtSummary = MatrixTable.Matrix(dtSummary, new string[] { "管理片区名称", "责任人员" }, new string[] { "DisplayMode", "Title" }, "Summary", true, false); #region 重新计算总计行的费率 if (dtSummary.Rows.Count > 1) { foreach (DataRow dr in dtSummary.Rows) { if (dr[0].ToString().EndsWith("计")) { foreach (DataColumn dc in dtSummary.Columns) { if (dc.ColumnName.EndsWith("费率%")) { string title = dc.ColumnName; int pos = title.IndexOf('→'); if (pos > 0) { title = title.Substring(0, pos); if (dtSummary.Columns.Contains(title + "→B.我司费用") && dtSummary.Columns.Contains(title + "→D." + accountname + "预计销量(元/月)") && (decimal)dr[title + "→D." + accountname + "预计销量(元/月)"] != 0) { dr[dc.ColumnName] = Math.Round((decimal)dr[title + "→B.我司费用"] / (decimal)dr[title + "→D." + accountname + "预计销量(元/月)"] * 100, 1, MidpointRounding.AwayFromZero); } } } } } } } #endregion } break; case "2": { dtSummary = FNA_FeeApplyBLL.GetByPayMode(month, organizecity, int.Parse(ddl_Level.SelectedValue), state, int.Parse(Session["UserID"].ToString())); if (dtSummary.Rows.Count == 0) { gv_List.DataBind(); return; } dtSummary = MatrixTable.Matrix(dtSummary, new string[] { "管理片区名称", "责任人员" }, new string[] { "付款周期", "Title" }, "Summary", true, false); #region 重新计算总计行的费率 if (dtSummary.Rows.Count > 1) { foreach (DataRow dr in dtSummary.Rows) { if (dr[0].ToString().EndsWith("计")) { foreach (DataColumn dc in dtSummary.Columns) { if (dc.ColumnName.EndsWith("比")) { string title = dc.ColumnName; int pos = title.IndexOf('→'); if (pos > 0) { title = title.Substring(0, pos); if (dtSummary.Columns.Contains(title + "→我司费用") && dtSummary.Columns.Contains("总计→我司费用") && (decimal)dr["总计→我司费用"] != 0) { dr[dc.ColumnName] = Math.Round((decimal)dr[title + "→我司费用"] / (decimal)dr["总计→我司费用"] * 100, 1, MidpointRounding.AwayFromZero); } } } } } } } #endregion } break; } gv_List.DataSource = dtSummary; gv_List.DataBind(); if (dtSummary.Columns.Count >= 24) { gv_List.Width = new Unit(dtSummary.Columns.Count * 65); } else { gv_List.Width = new Unit(100, UnitType.Percentage); } MatrixTable.GridViewMatric(gv_List); MatrixTable.GridViewMergSampeValueRow(gv_List, 0); MatrixTable.GridViewMergSampeValueRow(gv_List, 1); #region 是否可以批量审批 if (Right_Assign_BLL.GetAccessRight(Session["UserName"].ToString(), 1509, "BatApproveFee")) { bt_Approve.Visible = (ddl_State.SelectedValue == "1"); bt_UnApprove.Visible = (ddl_State.SelectedValue == "1"); bt_Approve.Enabled = (ddl_State.SelectedValue == "1"); bt_UnApprove.Enabled = (ddl_State.SelectedValue == "1"); #region 判断费用申请进度 if (ddl_State.SelectedValue == "1") { Org_StaffBLL _staff = new Org_StaffBLL((int)Session["UserID"]); DataTable dt = _staff.GetLowerPositionTask(1, organizecity, month); if (dt.Rows.Count > 0) { bt_Approve.Enabled = false; //bt_UnApprove.Enabled = false; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "message", "<script language='javascript'>var tempid = Math.random() * 10000; \r\n window.showModalDialog('" + Page.ResolveClientUrl("~/SubModule/Pop_ShowLowerPositionTask.aspx") + "?Type=1&StaffID=0&Month=" + ddl_Month.SelectedValue + "&City=" + tr_OrganizeCity.SelectValue + "&tempid='+tempid, window, 'dialogWidth:520px;DialogHeight=600px;status:yes;resizable=no');</script>", false); } } #endregion } else { bt_Approve.Visible = false; bt_UnApprove.Visible = false; } #endregion }
private void BindGrid() { int month = int.Parse(ddl_Month.SelectedValue); int organizecity = int.Parse(tr_OrganizeCity.SelectValue); int level = int.Parse(ddl_Level.SelectedValue); int feetype = int.Parse(ddl_FeeType.SelectedValue); int state = int.Parse(ddl_State.SelectedValue); if (MCSTabControl1.SelectedIndex == 0) { #region 显示汇总单数据源 Dictionary_Data dicFeeType = null; if (feetype > 0) { dicFeeType = DictionaryBLL.GetDicCollections("FNA_FeeType")[feetype.ToString()]; } #region 额外条件 string condition = ""; //费用代垫客户 if (select_Client.SelectValue != "") { condition += " AND FNA_FeeWriteOff.InsteadPayClient=" + select_Client.SelectValue; } //费用代垫员工 if (Select_InsteadPayStaff.SelectValue != "") { condition += " AND MCS_SYS.dbo.UF_Spilt2('MCS_FNA.dbo.FNA_FeeWriteOff',FNA_FeeWriteOff.ExtPropertys,'InsteadPayStaff')=" + Select_InsteadPayStaff.SelectValue; } //核销申请人 if (Select_InsertStaff.SelectValue != "") { condition += " AND FNA_FeeWriteOff.InsertStaff=" + Select_InsertStaff.SelectValue; } #endregion DataTable dtSummary = FNA_FeeWriteOffBLL.GetSummaryTotal(month, organizecity, level, feetype, state, int.Parse(Session["UserID"].ToString()), condition); if (dtSummary.Rows.Count == 0) { gv_List.DataBind(); return; } #region 矩阵化数据表,扩展表数据列 dtSummary.Columns.Add(new DataColumn("ID", Type.GetType("System.Int32"))); if (level < 10) { foreach (DataRow row in dtSummary.Rows) { row["ID"] = row["OrganizeCity"]; } dtSummary = MatrixTable.Matrix(dtSummary, new string[] { "ID", "管理片区名称" }, new string[] { "FeeTypeName", "AccountTitleName" }, "WriteOffCost", true, true); } else { if (level == 10) { //按经销商查看 #region 将经销商的所属管理片区赋至管理片区列 Dictionary <int, string> dicFullOrganizeCityName = new Dictionary <int, string>(); foreach (DataRow row in dtSummary.Rows) { row["ID"] = row["经销商ID"] == DBNull.Value ? 0 : row["经销商ID"]; row["经销商名称"] = row["经销商名称"] == DBNull.Value ? "无" : row["经销商名称"]; if ((int)row["ID"] > 0) { CM_Client c = new CM_ClientBLL((int)row["ID"]).Model; if (c != null) { if (!dicFullOrganizeCityName.ContainsKey(c.OrganizeCity)) { dicFullOrganizeCityName.Add(c.OrganizeCity, TreeTableBLL.GetFullPathName("MCS_SYS.dbo.Addr_OrganizeCity", c.OrganizeCity)); } row["管理片区名称"] = dicFullOrganizeCityName[c.OrganizeCity]; } } } #endregion dtSummary = MatrixTable.Matrix(dtSummary, new string[] { "ID", "管理片区名称", "经销商名称" }, new string[] { "FeeTypeName", "AccountTitleName" }, "WriteOffCost", true, true); } else if (level == 20) { //按门店查看 #region 将门店的所属管理片区赋至管理片区列 Dictionary <int, string> dicFullOrganizeCityName = new Dictionary <int, string>(); foreach (DataRow row in dtSummary.Rows) { row["ID"] = row["客户ID"] == DBNull.Value ? 0 : row["客户ID"]; row["客户名称"] = row["客户名称"] == DBNull.Value ? "无" : row["客户名称"]; if ((int)row["ID"] > 0) { CM_Client c = new CM_ClientBLL((int)row["ID"]).Model; if (c != null) { if (!dicFullOrganizeCityName.ContainsKey(c.OrganizeCity)) { dicFullOrganizeCityName.Add(c.OrganizeCity, TreeTableBLL.GetFullPathName("MCS_SYS.dbo.Addr_OrganizeCity", c.OrganizeCity)); } row["管理片区名称"] = dicFullOrganizeCityName[c.OrganizeCity]; } } } #endregion dtSummary = MatrixTable.Matrix(dtSummary, new string[] { "ID", "管理片区名称", "客户名称" }, new string[] { "FeeTypeName", "AccountTitleName" }, "WriteOffCost", true, true); } } dtSummary = MatrixTable.ColumnSummaryTotal(dtSummary, new int[] { 1 }, new string[] { "WriteOffCost" }); #endregion #region 暂不计算分析数据 //dtSummary.Columns["合计"].ColumnName = "费用合计"; //dtSummary.Columns.Add("预计销量", Type.GetType("System.Decimal")); //if (dicFeeType != null && dicFeeType.Description == "BudgetControl" && level < 10) //{ // dtSummary.Columns.Add("预算总额", Type.GetType("System.Decimal")); // dtSummary.Columns.Add("其中扩增额", Type.GetType("System.Decimal")); // dtSummary.Columns.Add("预算余额", Type.GetType("System.Decimal")); //} //if (dicFeeType != null && dicFeeType.Description == "FeeRateControl") // dtSummary.Columns.Add("上月余额", Type.GetType("System.Decimal")); //dtSummary.Columns.Add("费点", Type.GetType("System.String")); //decimal sumTotalVolume = 0, sumTotalBudget = 0, sumExtBudget = 0, sumPreMonthBudgetBalance = 0, sumUsableAmount = 0; //foreach (DataRow row in dtSummary.Rows) //{ // int id = 0; // if (int.TryParse(row[0].ToString(), out id) && id > 0) // { // bool includechild = true; // if (level < 10 && new Addr_OrganizeCityBLL(id).Model.Level < level) includechild = false; // #region 计算费点 // if (level < 10) // row["预计销量"] = SVM_SalesForcastBLL.GetTotalVolume(month, id, includechild); // else if (level == 10 || level == 20) // row["预计销量"] = SVM_SalesForcastBLL.GetTotalVolumeByClient(month, id); // sumTotalVolume += (decimal)row["预计销量"]; // if (dicFeeType != null && dicFeeType.Description == "BudgetControl" && level < 10) // { // row["预算总额"] = (FNA_BudgetBLL.GetSumBudgetAmount(month, id, feetype, includechild) + FNA_BudgetBLL.GetSumBudgetAmount(month, id, 0, includechild)); // sumTotalBudget += (decimal)row["预算总额"]; // row["其中扩增额"] = (FNA_BudgetExtraApplyBLL.GetExtraAmount(month, id, feetype, includechild) + FNA_BudgetExtraApplyBLL.GetExtraAmount(month, id, 0, includechild)); // sumExtBudget += (decimal)row["其中扩增额"]; // row["预算余额"] = (FNA_BudgetBLL.GetUsableAmount(month, id, feetype, includechild) + FNA_BudgetBLL.GetUsableAmount(month, id, 0, includechild)); // sumUsableAmount += (decimal)row["预算余额"]; // } // if (dicFeeType != null && dicFeeType.Description == "FeeRateControl" && level < 10) // { // row["上月余额"] = FNA_BudgetBLL.GetUsableAmount(month - 1, id, feetype, includechild); // sumPreMonthBudgetBalance += (decimal)row["上月余额"]; // if ((decimal)row["预计销量"] != 0) // row["费点"] = (((decimal)row["费用合计"] - (decimal)row["上月余额"]) / (decimal)row["预计销量"]).ToString("0.00%"); // } // else if ((decimal)row["预计销量"] != 0) // row["费点"] = ((decimal)row["费用合计"] / (decimal)row["预计销量"]).ToString("0.00%"); // #endregion // } // #region 求合计行 // if (id == 0) // { // row["预计销量"] = sumTotalVolume.ToString("0.00"); // #region 预算总额及余额 // if (dicFeeType != null && dicFeeType.Description == "BudgetControl" && level < 10) // { // row["预算总额"] = sumTotalBudget.ToString("0.00"); // row["其中扩增额"] = sumExtBudget.ToString("0.00"); // row["预算余额"] = sumUsableAmount.ToString("0.00"); // } // #endregion // #region 费点 // if (sumTotalVolume != 0) // { // if (dicFeeType != null && dicFeeType.Description == "FeeRateControl" && level < 10) // { // row["上月余额"] = sumPreMonthBudgetBalance; // row["费点"] = (((decimal)row["费用合计"] - sumPreMonthBudgetBalance) / sumTotalVolume).ToString("0.##%"); // } // else // row["费点"] = ((decimal)row["费用合计"] / sumTotalVolume).ToString("0.##%"); // } // #endregion // } // #endregion //} #endregion #endregion gv_List.DataSource = dtSummary; gv_List.DataBind(); if (dtSummary.Columns.Count >= 24) { gv_List.Width = new Unit(dtSummary.Columns.Count * 55); } else { gv_List.Width = new Unit(100, UnitType.Percentage); } MatrixTable.GridViewMatric(gv_List); if (level == 20) { //按终端门店显示时,将上下行相同管理片区合并 MatrixTable.GridViewMergSampeValueRow(gv_List, 0); MatrixTable.GridViewMergSampeValueRow(gv_List, 1); } #region 是否可以批量审批 if (state != 1 || level >= 10) { gv_List.Columns[0].ItemStyle.Width = new Unit(1); foreach (GridViewRow row in gv_List.Rows) { row.FindControl("bt_Approved").Visible = false; row.FindControl("bt_UnApproved").Visible = false; } } else { gv_List.Columns[0].ItemStyle.Width = new Unit(68); } #endregion } else { string condition = "1=1"; #region 组织明细记录的查询条件 //管理片区及所有下属管理片区 if (tr_OrganizeCity.SelectValue != "1") { Addr_OrganizeCityBLL orgcity = new Addr_OrganizeCityBLL(int.Parse(tr_OrganizeCity.SelectValue)); string orgcitys = orgcity.GetAllChildNodeIDs(); if (orgcitys != "") { orgcitys += ","; } orgcitys += tr_OrganizeCity.SelectValue; condition += " AND FNA_FeeWriteOff.OrganizeCity IN (" + orgcitys + ")"; } //会计月条件 condition += " AND FNA_FeeWriteOff.AccountMonth = " + ddl_Month.SelectedValue; int accounttile = 0; int.TryParse(tr_AccountTitle.SelectValue, out accounttile); decimal _cost = 0; decimal.TryParse(tbx_WriteOffCost.Text, out _cost); //费用类型 if (ddl_FeeType.SelectedValue != "0" && !(accounttile > 1)) { IList <AC_AccountTitleInFeeType> titles = AC_AccountTitleInFeeTypeBLL.GetModelList("FeeType=" + ddl_FeeType.SelectedValue); string ids = ""; foreach (AC_AccountTitleInFeeType item in titles) { ids += item.AccountTitle + ","; } if (ids.EndsWith(",")) { ids = ids.Substring(0, ids.Length - 1); } condition += " AND FNA_FeeWriteOff.ID IN (SELECT WriteOffID FROM MCS_FNA.dbo.FNA_FeeWriteOffDetail WHERE AccountTitle IN(" + ids + ") AND FNA_FeeWriteOffDetail.WriteOffID=FNA_FeeWriteOff.ID)"; } //费用科目 if (accounttile > 1) { DataTable dt = TreeTableBLL.GetAllChildByNodes("MCS_PUB.dbo.AC_AccountTitle", "ID", "SuperID", accounttile.ToString()); string ids = ""; foreach (DataRow dr in dt.Rows) { ids += dr["ID"].ToString() + ","; } ids += accounttile.ToString(); if (_cost == 0) { condition += " AND FNA_FeeWriteOff.ID IN (SELECT WriteOffID FROM MCS_FNA.dbo.FNA_FeeWriteOffDetail WHERE AccountTitle IN(" + ids + ") AND FNA_FeeWriteOffDetail.WriteOffID=FNA_FeeWriteOff.ID)"; } else { condition += " AND FNA_FeeWriteOff.ID IN (SELECT WriteOffID FROM MCS_FNA.dbo.FNA_FeeWriteOffDetail WHERE AccountTitle IN(" + ids + ") AND (WriteOffCost+AdjustCost)" + ddl_WriteOffCostOP.SelectedValue + " " + _cost.ToString() + " AND FNA_FeeWriteOffDetail.WriteOffID=FNA_FeeWriteOff.ID)"; } } else if (_cost != 0) { //核销金额判断 condition += " AND FNA_FeeWriteOff.ID IN (SELECT WriteOffID FROM MCS_FNA.dbo.FNA_FeeWriteOffDetail WHERE (WriteOffCost+AdjustCost)" + ddl_WriteOffCostOP.SelectedValue + " " + _cost.ToString() + " AND FNA_FeeWriteOffDetail.WriteOffID=FNA_FeeWriteOff.ID)"; } //审批状态 if (ddl_State.SelectedValue == "0") { condition += " AND FNA_FeeWriteOff.State IN (2,3) "; } else if (ddl_State.SelectedValue == "1") { condition += @" AND FNA_FeeWriteOff.State = 2 AND FNA_FeeWriteOff.ApproveTask IN (SELECT EWF_Task_Job.Task FROM MCS_EWF.dbo.EWF_Task_JobDecision INNER JOIN MCS_EWF.dbo.EWF_Task_Job ON EWF_Task_JobDecision.Job = EWF_Task_Job.ID WHERE EWF_Task_JobDecision.RecipientStaff=" + Session["UserID"].ToString() + @" AND EWF_Task_JobDecision.DecisionResult=1 and EWF_Task_Job.Status=3)"; } else if (ddl_State.SelectedValue == "2") { condition += " AND FNA_FeeWriteOff.State = 3 "; } else if (ddl_State.SelectedValue == "3") { AC_AccountMonth m = new AC_AccountMonthBLL(month).Model; condition += @" AND FNA_FeeWriteOff.State IN (2,3) AND FNA_FeeWriteOff.ApproveTask IN (SELECT EWF_Task_Job.Task FROM MCS_EWF.dbo.EWF_Task_JobDecision INNER JOIN MCS_EWF.dbo.EWF_Task_Job ON EWF_Task_JobDecision.Job = EWF_Task_Job.ID WHERE EWF_Task_JobDecision.RecipientStaff=" + Session["UserID"].ToString() + @" AND EWF_Task_JobDecision.DecisionResult IN(2,5,6) AND EWF_Task_JobDecision.DecisionTime BETWEEN DATEADD(month,-1,'" + m.BeginDate.ToString("yyyy-MM-dd") + @"') AND DATEADD(month,3,'" + m.BeginDate.ToString("yyyy-MM-dd") + @"'))"; } //费用代垫客户 if (select_Client.SelectValue != "") { condition += " AND FNA_FeeWriteOff.InsteadPayClient=" + select_Client.SelectValue; } //费用代垫员工 if (Select_InsteadPayStaff.SelectValue != "") { condition += " AND MCS_SYS.dbo.UF_Spilt2('MCS_FNA.dbo.FNA_FeeWriteOff',FNA_FeeWriteOff.ExtPropertys,'InsteadPayStaff')=" + Select_InsteadPayStaff.SelectValue; } //核销申请人 if (Select_InsertStaff.SelectValue != "") { condition += " AND FNA_FeeWriteOff.InsertStaff=" + Select_InsertStaff.SelectValue; } #endregion gv_ListDetail.ConditionString = condition; gv_ListDetail.BindGrid(); } }
private void BindGrid() { int month = int.Parse(ddl_Month.SelectedValue); int organizecity = int.Parse(tr_OrganizeCity.SelectValue); int state = int.Parse(ddl_State.SelectedValue); if (MCSTabControl1.SelectedTabItem.Value == "0") { #region 显示汇总数据 gv_List.Visible = true; gv_DetailList.Visible = false; DataTable dtSummary = FNA_FeeApplyBLL.GetFLFeeSummary(month, organizecity, int.Parse(ddl_Level.SelectedValue), state, int.Parse(Session["UserID"].ToString())); if (dtSummary.Rows.Count == 0) { gv_List.DataBind(); return; } dtSummary = MatrixTable.Matrix(dtSummary, new string[] { "管理片区名称", "行政属性" }, new string[] { "RTChannel", "DisplayFeeType", "Title" }, "Summary", true, false); MatrixTable.TableAddRowSubTotal_Matric(dtSummary, new string[] { "管理片区名称" }, 2, new string[] { "RTChannel", "DisplayFeeType", "Title" }, false); #region 重新计算总计行的费率 if (dtSummary.Rows.Count > 1) { foreach (DataRow dr in dtSummary.Rows) { if (dr[1].ToString().EndsWith("计") || dr[2].ToString().EndsWith("计")) { foreach (DataColumn dc in dtSummary.Columns) { if (dc.ColumnName.EndsWith("费率%")) { string title = dc.ColumnName; int pos = title.IndexOf('→'); if (pos > 0) { title = title.Substring(0, pos); if (dtSummary.Columns.Contains(title + "→1.返利费总计(元/月)→A.我司承担") && dtSummary.Columns.Contains(title + "→2.销量及费率→A.实际进货(元/月)") && (decimal)dr[title + "→2.销量及费率→A.实际进货(元/月)"] != 0) { dr[dc.ColumnName] = Math.Round((decimal)dr[title + "→1.返利费总计(元/月)→A.我司承担"] / (decimal)dr[title + "→2.销量及费率→A.实际进货(元/月)"] * 100, 1, MidpointRounding.AwayFromZero); } } } } } } } #endregion gv_List.DataSource = dtSummary; gv_List.DataBind(); if (dtSummary.Columns.Count >= 24) { gv_List.Width = new Unit(dtSummary.Columns.Count * 65); } else { gv_List.Width = new Unit(100, UnitType.Percentage); } MatrixTable.GridViewMatric(gv_List); MatrixTable.GridViewMergSampeValueRow(gv_List, 0); MatrixTable.GridViewMergSampeValueRow(gv_List, 1); #endregion } else { gv_List.Visible = false; gv_DetailList.Visible = true; if (ddl_State.SelectedValue == "1" && Right_Assign_BLL.GetAccessRight(Session["UserName"].ToString(), 1510, "BatApproveFee")) { bt_Approve.Visible = false; bt_UnApprove.Visible = true; bt_Approve.OnClientClick = "return confirm('是否确认将所选中所有申请单批量设为审批通过?注意该操作可能耗时较长,请耐心等待!')"; bt_UnApprove.OnClientClick = "return confirm('是否确认将所选中所有申请单批量设为审批不通过?注意该操作可能耗时较长,请耐心等待!')"; } #region 组织明细查询条件 string condition = ""; condition += @"FNA_FeeApply.FeeType=7 AND EXISTS(SELECT 1 FROM MCS_FNA.dbo.FNA_FeeApplyDetail WHERE FNA_FeeApplyDetail.AccountTitle=82 AND FNA_FeeApplyDetail.ApplyID=FNA_FeeApply.ID AND BeginMonth=" + ddl_Month.SelectedValue + ")"; if (tr_OrganizeCity.SelectValue != "1") { Addr_OrganizeCityBLL orgcity = new Addr_OrganizeCityBLL(organizecity); string orgcitys = orgcity.GetAllChildNodeIDs(); if (orgcitys != "") { orgcitys += ","; } orgcitys += organizecity; condition += " AND FNA_FeeApply.OrganizeCity IN (" + orgcitys + ")"; } if (state == 0) { condition += " AND FNA_FeeApply.State IN (2,3) "; } else if (state == 1) { condition += @" AND FNA_FeeApply.State = 2 AND EXISTS ( SELECT EWF_Task_Job.Task FROM MCS_EWF.dbo.EWF_Task_JobDecision INNER JOIN MCS_EWF.dbo.EWF_Task_Job ON EWF_Task_JobDecision.Job = EWF_Task_Job.ID INNER JOIN MCS_EWF.dbo.EWF_Task ON EWF_Task_Job.Task= EWF_Task.ID AND EWF_Task.App='4eb9e905-3502-4caf-88d0-aadcfec6e4dd' WHERE EWF_Task_JobDecision.RecipientStaff=" + Session["UserID"].ToString() + @" AND EWF_Task_JobDecision.DecisionResult=1 and EWF_Task_Job.Status=3 AND FNA_FeeApply.ApproveTask=EWF_Task_Job.Task)" ; } else if (state == 2) { condition += " AND FNA_FeeApply.State = 3 "; } else if (state == 3) { AC_AccountMonth m = new AC_AccountMonthBLL(month).Model; condition += @" AND FNA_FeeApply.State IN (2,3) AND EXISTS (SELECT EWF_Task_Job.Task FROM MCS_EWF.dbo.EWF_Task_JobDecision INNER JOIN MCS_EWF.dbo.EWF_Task_Job ON EWF_Task_JobDecision.Job = EWF_Task_Job.ID INNER JOIN MCS_EWF.dbo.EWF_Task ON=EWF_Task_Job.Task=EWF_Task.ID AND EWF_Task.App='4eb9e905-3502-4caf-88d0-aadcfec6e4dd' WHERE EWF_Task_JobDecision.RecipientStaff=" + Session["UserID"].ToString() + @" AND EWF_Task_JobDecision.DecisionResult IN(2,5,6) AND FNA_FeeApply.ApproveTask=EWF_Task_Job.Task)" ; } #endregion gv_DetailList.ConditionString = condition; gv_DetailList.BindGrid(); } #region 是否可以批量审批 if (Right_Assign_BLL.GetAccessRight(Session["UserName"].ToString(), 1510, "BatApproveFee")) { bt_Approve.Visible = (ddl_State.SelectedValue == "1"); bt_UnApprove.Visible = (ddl_State.SelectedValue == "1"); bt_Approve.Enabled = (ddl_State.SelectedValue == "1"); bt_UnApprove.Enabled = (ddl_State.SelectedValue == "1"); #region 判断费用申请进度 if (ddl_State.SelectedValue == "1") { Org_StaffBLL _staff = new Org_StaffBLL((int)Session["UserID"]); DataTable dt = _staff.GetLowerPositionTask(2, int.Parse(tr_OrganizeCity.SelectValue), month); if (AC_AccountMonthBLL.GetCurrentMonth() - 1 <= int.Parse(ddl_Month.SelectedValue)) { string[] allowdays1 = Addr_OrganizeCityParamBLL.GetValueByType(1, 5).Replace(" ", "").Split(new char[] { ',', ',', ';', ';' }); string[] allowdays2 = Addr_OrganizeCityParamBLL.GetValueByType(1, 6).Replace(" ", "").Split(new char[] { ',', ',', ';', ';' }); string date = DateTime.Now.Day.ToString(); if (allowdays1.Contains(date)) { bt_Approve.Enabled = false; } else if (allowdays2.Contains(date)) { DataTable dt2 = new DataTable(); if (_staff.Model.Position == 210) { dt2 = _staff.GetFillProcessDetail(2); } if (dt.Rows.Count > 0 || dt2.Rows.Count > 0) { bt_Approve.Enabled = false; } } else { bt_UnApprove.Enabled = false; } } else { bt_UnApprove.Enabled = false; } if (dt.Rows.Count > 0) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "message", "<script language='javascript'>var tempid = Math.random() * 10000; \r\n window.showModalDialog('" + Page.ResolveClientUrl("~/SubModule/Pop_ShowLowerPositionTask.aspx") + "?Type=2&StaffID=0&Month=" + ddl_Month.SelectedValue + "&City=" + tr_OrganizeCity.SelectValue + "&tempid='+tempid, window, 'dialogWidth:520px;DialogHeight=600px;status:yes;resizable=no');</script>", false); bt_Approve.Enabled = false; } } #endregion } else { bt_Approve.Visible = false; bt_UnApprove.Visible = false; } #endregion }
private void BindGrid() { int month = int.Parse(ddl_Month.SelectedValue); int organizecity = int.Parse(tr_OrganizeCity.SelectValue); int state = int.Parse(ddl_State.SelectedValue); int RTChannel = int.Parse(ddl_RTChannel.SelectedValue); int RTType = int.Parse(ddl_RTType.SelectedValue); string condition = ""; if (tbx_ApplyCost.Text != "0") { condition = "TotalApplyCost" + ddl_OP.SelectedValue + tbx_ApplyCost.Text; } if (txt_FeeRate.Text != "0") { if (condition != "") { condition += " AND "; } condition += "CONVERT(DECIMAL(10,3),REPLACE(ApplyCostRate,'%',''))" + ddl_FeeRateOP.SelectedValue + txt_FeeRate.Text; } DataTable dtSummary = FNA_FeeApplyBLL.GetRTChannelFLFee (month, organizecity, state, int.Parse(Session["UserID"].ToString()), RTChannel, condition, RTType); if (dtSummary.Rows.Count == 0) { gv_List.DataBind(); return; } #region 求行小计 MatrixTable.TableAddRowSubTotal(dtSummary, new string[] { "区域信息→大区", "区域信息→营业部", "区域信息→办事处", "零售店基本情况→费用代垫客户" }, new string[] { "卖场销售额→上月", "卖场销售额→本月", "费用情况→总费用", "费用情况→我司费用", "费用情况→经销商费用" }, true); //计算小计行费率 foreach (DataRow dr in dtSummary.Rows) { if (dr[0].ToString() == "总计" || dr[1].ToString() == "小计" || dr[2].ToString() == "小计" || dr[3].ToString() == "小计" || dr[4].ToString() == "小计") { dr["费用情况→我司费率"] = (decimal)dr["卖场销售额→本月"] == 0 ? "100%" : ((decimal)dr["费用情况→我司费用"] / (decimal)dr["卖场销售额→本月"]).ToString("0.#%"); dr["费用情况→经销商费率"] = (decimal)dr["卖场销售额→本月"] == 0 ? "100%" : ((decimal)dr["费用情况→经销商费用"] / (decimal)dr["卖场销售额→本月"]).ToString("0.#%"); } } #endregion gv_List.DataSource = dtSummary; gv_List.DataBind(); if (dtSummary.Columns.Count >= 24) { gv_List.Width = new Unit(dtSummary.Columns.Count * 60); } else { gv_List.Width = new Unit(100, UnitType.Percentage); } MatrixTable.GridViewMatric(gv_List); for (int i = 0; i < 4; i++) { MatrixTable.GridViewMergSampeValueRow(gv_List, i); } if (Right_Assign_BLL.GetAccessRight(Session["UserName"].ToString(), 1510, "BatApproveFee")) { bt_Approve.Visible = (ddl_State.SelectedValue == "1"); bt_UnApprove.Visible = (ddl_State.SelectedValue == "1"); bt_ExcludeApplyDetail.Visible = (ddl_State.SelectedValue == "1"); if (state == 1 && condition == "" && RTChannel == 0 && RTType == 0) { bt_Approve.Enabled = true; bt_UnApprove.Enabled = true; #region 判断能否审批 if (ddl_State.SelectedValue == "1") { Org_StaffBLL _staff = new Org_StaffBLL((int)Session["UserID"]); DataTable dt = _staff.GetLowerPositionTask(2, int.Parse(tr_OrganizeCity.SelectValue), month); if (AC_AccountMonthBLL.GetCurrentMonth() - 1 <= int.Parse(ddl_Month.SelectedValue)) { string[] allowdays1 = Addr_OrganizeCityParamBLL.GetValueByType(1, 5).Replace(" ", "").Split(new char[] { ',', ',', ';', ';' }); string[] allowdays2 = Addr_OrganizeCityParamBLL.GetValueByType(1, 6).Replace(" ", "").Split(new char[] { ',', ',', ';', ';' }); string date = DateTime.Now.Day.ToString(); if (allowdays1.Contains(date)) { bt_Approve.Enabled = false; } else if (allowdays2.Contains(date)) { DataTable dt2 = new DataTable(); if (_staff.Model.Position == 210) { dt2 = _staff.GetFillProcessDetail(2); } if (dt2.Rows.Count > 0) { bt_Approve.Enabled = false; } } else { bt_UnApprove.Enabled = false; } } else { bt_UnApprove.Enabled = false; } if (dt.Rows.Count > 0) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "message", "<script language='javascript'>var tempid = Math.random() * 10000; \r\n window.showModalDialog('" + Page.ResolveClientUrl("~/SubModule/Pop_ShowLowerPositionTask.aspx") + "?Type=2&StaffID=0&Month=" + ddl_Month.SelectedValue + "&City=" + tr_OrganizeCity.SelectValue + "&tempid='+tempid, window, 'dialogWidth:520px;DialogHeight=600px;status:yes;resizable=no');</script>", false); bt_Approve.Enabled = false; } } #endregion } else { bt_Approve.Enabled = false; bt_UnApprove.Enabled = false; } } else { bt_Approve.Visible = false; bt_UnApprove.Visible = false; bt_ExcludeApplyDetail.Visible = false; } }
private void BindGrid() { int month = int.Parse(ddl_Month.SelectedValue); int organizecity = int.Parse(tr_OrganizeCity.SelectValue); int level = int.Parse(ddl_Level.SelectedValue); int feetype = int.Parse(ddl_FeeType.SelectedValue); int state = int.Parse(ddl_State.SelectedValue); int flag = int.Parse(ddl_Flag.SelectedValue); if (MCSTabControl1.SelectedIndex == 0) { #region 显示汇总单数据源 Dictionary_Data dicFeeType = null; if (feetype > 0) { dicFeeType = DictionaryBLL.GetDicCollections("FNA_FeeType")[feetype.ToString()]; } DataTable dtSummary_Sub; DataTable dtSummary = FNA_FeeApplyBLL.GetSummaryTotal(month, organizecity, level, feetype, state, flag, int.Parse(Session["UserID"].ToString())); if (dtSummary.Rows.Count == 0) { gv_List.DataBind(); return; } else { dtSummary_Sub = FNA_FeeApplyBLL.GetSummaryTotal_Sub(month, organizecity, level, feetype, state, flag, int.Parse(Session["UserID"].ToString())); } #region 矩阵化数据表,扩展表数据列 dtSummary.Columns.Add(new DataColumn("ID", Type.GetType("System.Int32"))); if (level < 10) { foreach (DataRow row in dtSummary.Rows) { row["ID"] = row["OrganizeCity"]; } dtSummary = MatrixTable.Matrix(dtSummary, new string[] { "ID", "管理片区名称" }, new string[] { "FeeTypeName", "AccountTitleName" }, "ApplyCost", true, true); } else { if (level == 10) { //按经销商查看 #region 将经销商的ID赋至表ID列 foreach (DataRow row in dtSummary.Rows) { row["ID"] = row["经销商ID"] == DBNull.Value ? 0 : row["经销商ID"]; row["经销商名称"] = row["经销商名称"] == DBNull.Value ? "无" : row["经销商名称"]; } #endregion dtSummary = MatrixTable.Matrix(dtSummary, new string[] { "ID", "管理片区名称", "经销商名称" }, new string[] { "FeeTypeName", "AccountTitleName" }, "ApplyCost", true, true); } else if (level == 20) { //按门店查看 #region 将门店的ID赋至表ID列 foreach (DataRow row in dtSummary.Rows) { row["ID"] = row["客户ID"] == DBNull.Value ? 0 : row["客户ID"]; row["客户名称"] = row["客户名称"] == DBNull.Value ? "无" : row["客户名称"]; } #endregion dtSummary = MatrixTable.Matrix(dtSummary, new string[] { "ID", "管理片区名称", "客户名称" }, new string[] { "FeeTypeName", "AccountTitleName" }, "ApplyCost", true, true); } } dtSummary = MatrixTable.ColumnSummaryTotal(dtSummary, new int[] { 1 }, new string[] { "sales" }); dtSummary.Columns["合计"].ColumnName = "费用合计"; dtSummary.Columns.Add("本月费用合计", Type.GetType("System.Decimal")); dtSummary.Columns.Add("预计销量", Type.GetType("System.Decimal")); dtSummary.Columns.Add("上月销量", Type.GetType("System.Decimal")); dtSummary.Columns.Add("平均销量", Type.GetType("System.Decimal")); dtSummary.Columns.Add("预计费点", Type.GetType("System.String")); if (dicFeeType != null && dicFeeType.Description == "BudgetControl" && level < 10) { dtSummary.Columns.Add("预算总额", Type.GetType("System.Decimal")); dtSummary.Columns.Add("其中扩增额", Type.GetType("System.Decimal")); dtSummary.Columns.Add("预算余额", Type.GetType("System.Decimal")); dtSummary.Columns.Add("终结费用", Type.GetType("System.Decimal")); } if (dicFeeType != null && dicFeeType.Description == "FeeRateControl") { dtSummary.Columns.Add("上月余额", Type.GetType("System.Decimal")); } #endregion decimal sumTotalVolume = 0, sumAvgVolume = 0, sumSalesForcast = 0, sumHappenApplyCost = 0; decimal sumTotalBudget = 0, sumExtBudget = 0, sumPreMonthBudgetBalance = 0, sumUsableAmount = 0, sumCancelCost = 0; int premonth = month - 1; if (premonth >= AC_AccountMonthBLL.GetCurrentMonth()) { premonth = AC_AccountMonthBLL.GetCurrentMonth() - 1; } foreach (DataRow row in dtSummary.Rows) { int id = 0; if (int.TryParse(row["ID"].ToString(), out id) && id > 0) { string filter = "ID=" + id; bool includechild = false; if (level < 10 && new Addr_OrganizeCityBLL(id).Model.Level >= level) { includechild = true; } #region 计算销量数据 decimal happenApplyCost = 0, forcast = 0, preSales = 0, aVGSales = 0, feeRate = 0; DataRow[] drows = dtSummary_Sub.Select(filter); if (drows.Length > 0) { decimal.TryParse(drows[0]["HappenApplyCost"].ToString(), out happenApplyCost); decimal.TryParse(drows[0]["Forcast"].ToString(), out forcast); decimal.TryParse(drows[0]["PreSales"].ToString(), out preSales); decimal.TryParse(drows[0]["AVGSales"].ToString(), out aVGSales); decimal.TryParse(drows[0]["FeeRate"].ToString(), out feeRate); } row["本月费用合计"] = happenApplyCost.ToString("0.##"); row["上月销量"] = preSales.ToString("0.##"); row["平均销量"] = aVGSales.ToString("0.##"); row["预计销量"] = forcast.ToString("0.##"); row["预计费点"] = feeRate.ToString("0.##%"); sumHappenApplyCost += (decimal)row["本月费用合计"]; sumTotalVolume += (decimal)row["上月销量"]; sumAvgVolume += (decimal)row["平均销量"]; sumSalesForcast += (decimal)row["预计销量"]; #endregion #region 预算总额及余额 if (dicFeeType != null && dicFeeType.Description == "BudgetControl" && level < 10) { row["预算总额"] = (FNA_BudgetBLL.GetSumBudgetAmount(month, id, feetype, includechild) + FNA_BudgetBLL.GetSumBudgetAmount(month, id, 0, includechild)); sumTotalBudget += (decimal)row["预算总额"]; row["其中扩增额"] = (FNA_BudgetExtraApplyBLL.GetExtraAmount(month, id, feetype, includechild) + FNA_BudgetExtraApplyBLL.GetExtraAmount(month, id, 0, includechild)); sumExtBudget += (decimal)row["其中扩增额"]; row["预算余额"] = (FNA_BudgetBLL.GetUsableAmount(month, id, feetype, includechild) + FNA_BudgetBLL.GetUsableAmount(month, id, 0, includechild)); sumUsableAmount += (decimal)row["预算余额"]; row["终结费用"] = (FNA_FeeApplyBLL.GetCancelCost(month, id, feetype, includechild) + FNA_FeeApplyBLL.GetCancelCost(month, id, 0, includechild)); sumCancelCost += (decimal)row["终结费用"]; } #endregion //#region 计算预计费点 //if (dicFeeType != null && dicFeeType.Description == "FeeRateControl" && level < 10) //{ // row["上月余额"] = FNA_BudgetBLL.GetUsableAmount(month - 1, id, feetype, includechild); // sumPreMonthBudgetBalance += (decimal)row["上月余额"]; // if ((decimal)row["预计销量"] != 0) // row["预计费点"] = (((decimal)row["费用合计"] - (decimal)row["上月余额"]) / (decimal)row["预计销量"]).ToString("0.00%"); //} //else if ((decimal)row["预计销量"] != 0) // row["预计费点"] = ((decimal)row["费用合计"] / (decimal)row["预计销量"]).ToString("0.00%"); //#endregion } #region 求合计行 if (id == 0) { row["本月费用合计"] = sumHappenApplyCost.ToString("0.##"); row["上月销量"] = sumTotalVolume.ToString("0.##"); row["平均销量"] = sumAvgVolume.ToString("0.##"); row["预计销量"] = sumSalesForcast.ToString("0.##"); #region 预算总额及余额 if (dicFeeType != null && dicFeeType.Description == "BudgetControl" && level < 10) { row["预算总额"] = sumTotalBudget.ToString("0.##"); row["其中扩增额"] = sumExtBudget.ToString("0.##"); row["预算余额"] = sumUsableAmount.ToString("0.##"); row["终结费用"] = sumCancelCost.ToString("0.##"); } #endregion #region 预计费点 if (sumSalesForcast != 0) { if (dicFeeType != null && dicFeeType.Description == "FeeRateControl" && level < 10) { row["上月余额"] = sumPreMonthBudgetBalance; row["预计费点"] = (((decimal)row["费用合计"] - sumPreMonthBudgetBalance) / sumSalesForcast).ToString("0.##%"); } else { row["预计费点"] = ((decimal)row["费用合计"] / sumSalesForcast).ToString("0.##%"); } } #endregion } #endregion } gv_List.DataSource = dtSummary; gv_List.DataBind(); if (dtSummary.Columns.Count >= 24) { gv_List.Width = new Unit(dtSummary.Columns.Count * 55); } else { gv_List.Width = new Unit(100, UnitType.Percentage); } MatrixTable.GridViewMatric(gv_List); if (level == 20) { //按终端门店显示时,将上下行相同管理片区合并 MatrixTable.GridViewMergSampeValueRow(gv_List, 0); MatrixTable.GridViewMergSampeValueRow(gv_List, 1); } #region 是否可以批量审批 if (state != 1 || level >= 10) { gv_List.Columns[0].ItemStyle.Width = new Unit(1); foreach (GridViewRow row in gv_List.Rows) { row.FindControl("bt_Approved").Visible = false; row.FindControl("bt_UnApproved").Visible = false; } } else { gv_List.Columns[0].ItemStyle.Width = new Unit(68); } #endregion #endregion } else { string condition = "1=1"; #region 组织明细记录的查询条件 //管理片区及所有下属管理片区 if (tr_OrganizeCity.SelectValue == "0") { #region 绑定用户可管辖的管理片区 Org_StaffBLL staff = new Org_StaffBLL((int)Session["UserID"]); tr_OrganizeCity.DataSource = staff.GetStaffOrganizeCity(); if (tr_OrganizeCity.DataSource.Select("ID = 1").Length > 0) { tr_OrganizeCity.RootValue = "0"; tr_OrganizeCity.SelectValue = "1"; } else { tr_OrganizeCity.RootValue = new Addr_OrganizeCityBLL(staff.Model.OrganizeCity).Model.SuperID.ToString(); tr_OrganizeCity.SelectValue = staff.Model.OrganizeCity.ToString(); } if ((int)ViewState["OrganizeCity"] > 0) { tr_OrganizeCity.SelectValue = ViewState["OrganizeCity"].ToString(); } #endregion } if (tr_OrganizeCity.SelectValue != "1") { Addr_OrganizeCityBLL orgcity = new Addr_OrganizeCityBLL(int.Parse(tr_OrganizeCity.SelectValue)); string orgcitys = orgcity.GetAllChildNodeIDs(); if (orgcitys != "") { orgcitys += ","; } orgcitys += tr_OrganizeCity.SelectValue; condition += " AND FNA_FeeApply.OrganizeCity IN (" + orgcitys + ")"; } //会计月条件 condition += " AND FNA_FeeApply.AccountMonth = " + ddl_Month.SelectedValue; //费用类型 if (ddl_FeeType.SelectedValue != "0") { condition += " AND FNA_FeeApply.FeeType = " + ddl_FeeType.SelectedValue; } int accounttile = 0; int.TryParse(tr_AccountTitle.SelectValue, out accounttile); decimal _cost = 0; decimal.TryParse(tbx_ApplyCost.Text, out _cost); //费用科目 if (accounttile > 1) { DataTable dt = TreeTableBLL.GetAllChildByNodes("MCS_PUB.dbo.AC_AccountTitle", "ID", "SuperID", accounttile.ToString()); string ids = ""; foreach (DataRow dr in dt.Rows) { ids += dr["ID"].ToString() + ","; } ids += accounttile.ToString(); if (_cost == 0) { condition += " AND FNA_FeeApply.ID IN (SELECT ApplyID FROM MCS_FNA.dbo.FNA_FeeApplyDetail WHERE AccountTitle IN(" + ids + ") AND FNA_FeeApplyDetail.ApplyID=FNA_FeeApply.ID)"; } else { condition += " AND FNA_FeeApply.ID IN (SELECT ApplyID FROM MCS_FNA.dbo.FNA_FeeApplyDetail WHERE AccountTitle IN(" + ids + ") AND (ApplyCost+AdjustCost)" + ddl_ApplyCostOP.SelectedValue + " " + _cost.ToString() + " AND FNA_FeeApplyDetail.ApplyID=FNA_FeeApply.ID)"; } } else if (_cost != 0)//金额判断 { condition += " AND FNA_FeeApply.ID IN (SELECT ApplyID FROM MCS_FNA.dbo.FNA_FeeApplyDetail WHERE (ApplyCost+AdjustCost)" + ddl_ApplyCostOP.SelectedValue + " " + _cost.ToString() + " AND FNA_FeeApplyDetail.ApplyID=FNA_FeeApply.ID)"; } //审批状态 if (ddl_State.SelectedValue == "0") { condition += " AND FNA_FeeApply.State IN (2,3) "; } else if (ddl_State.SelectedValue == "1") { condition += @" AND FNA_FeeApply.State = 2 AND FNA_FeeApply.ApproveTask IN (SELECT EWF_Task_Job.Task FROM MCS_EWF.dbo.EWF_Task_JobDecision INNER JOIN MCS_EWF.dbo.EWF_Task_Job ON EWF_Task_JobDecision.Job = EWF_Task_Job.ID WHERE EWF_Task_JobDecision.RecipientStaff=" + Session["UserID"].ToString() + @" AND EWF_Task_JobDecision.DecisionResult=1 and EWF_Task_Job.Status=3)"; } else if (ddl_State.SelectedValue == "2") { condition += " AND FNA_FeeApply.State = 3 "; } else if (ddl_State.SelectedValue == "3") { AC_AccountMonth m = new AC_AccountMonthBLL(month).Model; condition += @" AND FNA_FeeApply.State IN (2,3) AND FNA_FeeApply.ApproveTask IN (SELECT EWF_Task_Job.Task FROM MCS_EWF.dbo.EWF_Task_JobDecision INNER JOIN MCS_EWF.dbo.EWF_Task_Job ON EWF_Task_JobDecision.Job = EWF_Task_Job.ID WHERE EWF_Task_JobDecision.RecipientStaff=" + Session["UserID"].ToString() + @" AND EWF_Task_JobDecision.DecisionResult IN(2,5,6) AND EWF_Task_JobDecision.DecisionTime BETWEEN DATEADD(month,-1,'" + m.BeginDate.ToString("yyyy-MM-dd") + @"') AND DATEADD(month,3,'" + m.BeginDate.ToString("yyyy-MM-dd") + @"'))"; } #endregion gv_ListDetail.ConditionString = condition; gv_ListDetail.BindGrid(); btn_Approve.Visible = state == 1; btn_UnApprove.Visible = state == 1; gv_ListDetail.Columns[gv_ListDetail.Columns.Count - 1].Visible = state == 1; } }
private void BindGrid() { int month = int.Parse(ddl_Month.SelectedValue); int organizecity = int.Parse(tr_OrganizeCity.SelectValue); int state = int.Parse(ddl_State.SelectedValue); int RTChannel = int.Parse(ddl_RTChannel.SelectedValue); int RTType = int.Parse(ddl_RTType.SelectedValue); string condition = ""; if (!(ddl_OP.SelectedValue == ">" && tbx_ApplyCost.Text == "0")) { condition = "TotalApplyCost" + ddl_OP.SelectedValue + tbx_ApplyCost.Text; } if (txt_FeeRate.Text != "0") { if (condition != "") { condition += " AND "; } condition += "CONVERT(DECIMAL(10,3),REPLACE(ApplyCostRate,'%',''))" + ddl_FeeRateOP.SelectedValue + txt_FeeRate.Text; } if (ddl_Flag.SelectedValue != "0") { if (condition != "") { condition += " AND "; } if (ddl_Flag.SelectedValue == "1") { condition += "发生月='" + ddl_Month.SelectedItem.Text + "'"; } else { condition += "发生月<>'" + ddl_Month.SelectedItem.Text + "'"; } } #region 获取科目过滤条件 string ATSuppierIDs = ""; if (ddl_AccountTitle.SelectedValue == "34") { ATSuppierIDs = "176"; } else if (ddl_AccountTitle.SelectedValue == "33") { ATSuppierIDs = "73"; } else if (ddl_AccountTitle.SelectedValue != "0") { ATSuppierIDs = ddl_AccountTitle.SelectedValue; } #endregion DataTable dtSummary = FNA_FeeApplyBLL.GetRTChannelDiaplayFee (month, organizecity, state, int.Parse(Session["UserID"].ToString()), RTChannel, condition, RTType, ATSuppierIDs); if (dtSummary.Rows.Count == 0) { gv_List.DataBind(); return; } #region 求行小计 MatrixTable.TableAddRowSubTotal(dtSummary, new string[] { "区域信息→大区", "区域信息→营业部", "区域信息→办事处", "零售店基本情况→费用代垫客户" }, new string[] { "陈列费用明细信息→我司费用", "陈列费用明细信息→经销商费用" }, true); //计算小计行费率 //foreach (DataRow dr in dtSummary.Rows) //{ // if (dr[0].ToString() == "总计" || // dr[1].ToString() == "小计" || // dr[2].ToString() == "小计" || // dr[3].ToString() == "小计" || // dr[4].ToString() == "小计") // { // dr["陈列费用合计→我司费率"] = (decimal)dr["卖场销量合计→本月预估"] == 0 ? "100%" : ((decimal)dr["陈列费用明细信息→我司费用"] / (decimal)dr["卖场销量合计→本月预估"]).ToString("0.#%"); // dr["陈列费用合计→经销商费率"] = (decimal)dr["卖场销量合计→本月预估"] == 0 ? "100%" : ((decimal)dr["陈列费用明细信息→经销商费用"] / (decimal)dr["卖场销量合计→本月预估"]).ToString("0.#%"); // } //} #endregion gv_List.DataSource = dtSummary; gv_List.DataBind(); if (dtSummary.Columns.Count >= 24) { gv_List.Width = new Unit(dtSummary.Columns.Count * 50); } else { gv_List.Width = new Unit(100, UnitType.Percentage); } ViewState["condition"] = condition; ViewState["ATSuppierIDs"] = ATSuppierIDs; MatrixTable.GridViewMatric(gv_List); for (int i = 0; i < 19; i++) { MatrixTable.GridViewMergSampeValueRow(gv_List, i); } if (Right_Assign_BLL.GetAccessRight(Session["UserName"].ToString(), 1509, "BatApproveFee")) { bt_Approve.Visible = (ddl_State.SelectedValue == "1"); bt_UnApprove.Visible = (ddl_State.SelectedValue == "1"); bt_ExcludeApplyDetail.Visible = (ddl_State.SelectedValue == "1"); if (state == 1 && condition == "" && RTChannel == 0 && RTType == 0 && ATSuppierIDs == "") { bt_Approve.Enabled = true; bt_UnApprove.Enabled = true; #region 判断费用申请进度 if (ddl_State.SelectedValue == "1") { Org_StaffBLL _staff = new Org_StaffBLL((int)Session["UserID"]); DataTable dt = _staff.GetLowerPositionTask(1, int.Parse(tr_OrganizeCity.SelectValue), month); if (dt.Rows.Count > 0) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "message", "<script language='javascript'>var tempid = Math.random() * 10000; \r\n window.showModalDialog('" + Page.ResolveClientUrl("~/SubModule/Pop_ShowLowerPositionTask.aspx") + "?Type=1&StaffID=0&Month=" + ddl_Month.SelectedValue + "&City=" + tr_OrganizeCity.SelectValue + "&tempid='+tempid, window, 'dialogWidth:520px;DialogHeight=600px;status:yes;resizable=no');</script>", false); bt_Approve.Enabled = false; //bt_UnApprove.Enabled = false; } } #endregion } else { bt_Approve.Enabled = false; bt_UnApprove.Enabled = false; } } else { bt_Approve.Visible = false; bt_UnApprove.Visible = false; bt_ExcludeApplyDetail.Visible = false; } }