private void Bind() { int StaffID = int.Parse(ViewState["StaffID"].ToString()); if (StaffID <= 0) StaffID = int.Parse(Session["UserID"].ToString()); Org_StaffBLL _staff = new Org_StaffBLL(StaffID); int type = 0; int.TryParse(ViewState["Type"].ToString(),out type); int city=0; int.TryParse(ViewState["City"].ToString(),out city); switch (type) { case 1: p_headr.InnerText = "陈列费用下游待审批";break; case 2: p_headr.InnerText = "返利费用下游待审批";break; case 3: p_headr.InnerText = "导购工资下游待审批";break; case 4: p_headr.InnerText = "费用核销下游待审批";break; case 5: p_headr.InnerText = "促销品请购下游待审批";break; default: p_headr.InnerText = "其他费用下游待审批";break; } gv_Detail.DataSource = _staff.GetLowerPositionTask(type, city, (int)ViewState["Month"]); gv_Detail.DataBind(); gv_Detail.BindGrid(); }
private void Bind() { int StaffID = int.Parse(ViewState["StaffID"].ToString()); if (StaffID <= 0) { StaffID = int.Parse(Session["UserID"].ToString()); } Org_StaffBLL _staff = new Org_StaffBLL(StaffID); int type = 0; int.TryParse(ViewState["Type"].ToString(), out type); int city = 0; int.TryParse(ViewState["City"].ToString(), out city); switch (type) { case 1: p_headr.InnerText = "陈列费用下游待审批"; break; case 2: p_headr.InnerText = "返利费用下游待审批"; break; case 3: p_headr.InnerText = "导购工资下游待审批"; break; case 4: p_headr.InnerText = "费用核销下游待审批"; break; case 5: p_headr.InnerText = "促销品请购下游待审批"; break; default: p_headr.InnerText = "其他费用下游待审批"; break; } gv_Detail.DataSource = _staff.GetLowerPositionTask(type, city, (int)ViewState["Month"]); gv_Detail.DataBind(); gv_Detail.BindGrid(); }
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 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 state = int.Parse(ddl_State.SelectedValue); if (MCSTabControl1.SelectedTabItem.Value == "0") { #region 显示汇总数据 gv_List.Visible = true; gv_DetailList.Visible = false; DataTable dtSummary = FNA_FeeApplyBLL.GetFLFeeSummary2(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); #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); 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 level = int.Parse(ddl_Level.SelectedValue); int classify = int.Parse(ddl_GiftClassify.SelectedValue); int state = int.Parse(ddl_State.SelectedValue); int pdtbrand = int.Parse(ddl_Brand.SelectedValue); int client = 0; int.TryParse(select_Client.SelectValue, out client); switch (MCSTabControl1.SelectedTabItem.Value) { case "0": #region 显示统计分析 DataTable dtSummary = ORD_OrderApplyBLL.GetGiftSummary(month, organizecity, level, state, classify, (int)Session["UserID"], pdtbrand); if (level < 10) { dtSummary.Columns.Add("Key", Type.GetType("System.String"), "OrganizeCity+'-'+ProductBrand"); dtSummary.Columns.Add("赠品费率", Type.GetType("System.Decimal"), "IIF(实际销量>0,当月生成赠品额/实际销量,0)"); dtSummary.Columns.Add("申请费率", Type.GetType("System.Decimal"), "IIF(实际销量>0,申请总额/实际销量,0)"); dtSummary = MatrixTable.Matrix(dtSummary, new string[] { "管理片区", "订单品牌", "赠品费用类别", "Key", "实际销量", "赠品费率", "当月生成赠品额", "上月余额", "赠品抵扣额", "申请总额", "申请费率", "当月余额" }, new string[] { "GiftBrandName" }, new string[] { "申请金额", "申请占比" }, true, false); MatrixTable.TableAddRowSubTotal_Matric(dtSummary, new string[] { "管理片区" }, 4, new string[] { }, false); } else { dtSummary.Columns.Add("Key", Type.GetType("System.String"), "ClientID+'-'+ProductBrand"); dtSummary.Columns.Add("赠品费率", Type.GetType("System.Decimal"), "IIF(实际销量>0,当月生成赠品额/实际销量,0)"); dtSummary.Columns.Add("申请费率", Type.GetType("System.Decimal"), "IIF(实际销量>0,申请总额/实际销量,0)"); dtSummary = MatrixTable.Matrix(dtSummary, new string[] { "管理片区", "经销商名称", "订单品牌", "赠品费用类别", "Key", "实际销量", "赠品费率", "当月生成赠品额", "上月余额", "赠品抵扣额", "申请总额", "申请费率", "当月余额" }, new string[] { "GiftBrandName" }, new string[] { "申请金额", "申请占比" }, true, false); MatrixTable.TableAddRowSubTotal_Matric(dtSummary, new string[] { "管理片区", "经销商名称" }, 5, new string[] { }, false); } decimal totalsalesvolume = 0, totalavailableamount = 0, totalbalance = 0, totalapplycost = 0, prebalance = 0, deductibleamount = 0; if (dtSummary.Rows.Count == 0) { gv_Summary.DataBind(); return; } for (int i = 0; i < dtSummary.Rows.Count - 1; i++) { if (dtSummary.Rows[i][1].ToString() == "小计" || dtSummary.Rows[i][2].ToString() == "小计") { totalsalesvolume += (decimal)dtSummary.Rows[i]["实际销量"]; totalavailableamount += (decimal)dtSummary.Rows[i]["当月生成赠品额"]; totalbalance += (decimal)dtSummary.Rows[i]["当月余额"]; totalapplycost += (decimal)dtSummary.Rows[i]["申请总额"]; prebalance += (decimal)dtSummary.Rows[i]["上月余额"]; deductibleamount += (decimal)dtSummary.Rows[i]["赠品抵扣额"]; dtSummary.Rows[i]["赠品费率"] = (decimal)dtSummary.Rows[i]["实际销量"] == 0 ? 0 : (decimal)dtSummary.Rows[i]["当月生成赠品额"] / (decimal)dtSummary.Rows[i]["实际销量"]; dtSummary.Rows[i]["申请费率"] = (decimal)dtSummary.Rows[i]["实际销量"] == 0 ? 0 : (decimal)dtSummary.Rows[i]["申请总额"] / (decimal)dtSummary.Rows[i]["实际销量"]; for (int j = 0; j < dtSummary.Columns.Count; j++) { if (dtSummary.Columns[j].ColumnName.EndsWith("占比")) { dtSummary.Rows[i][j] = (decimal)dtSummary.Rows[i]["申请总额"] == 0 ? 0 : (decimal)dtSummary.Rows[i][j - 1] / (decimal)dtSummary.Rows[i]["申请总额"]; } } } } dtSummary.Rows[dtSummary.Rows.Count - 1]["实际销量"] = totalsalesvolume; dtSummary.Rows[dtSummary.Rows.Count - 1]["当月生成赠品额"] = totalavailableamount; dtSummary.Rows[dtSummary.Rows.Count - 1]["当月余额"] = totalbalance; dtSummary.Rows[dtSummary.Rows.Count - 1]["申请总额"] = totalapplycost; dtSummary.Rows[dtSummary.Rows.Count - 1]["上月余额"] = prebalance; dtSummary.Rows[dtSummary.Rows.Count - 1]["赠品抵扣额"] = deductibleamount ; dtSummary.Rows[dtSummary.Rows.Count - 1]["赠品费率"] = totalsalesvolume == 0 ? 0 : totalavailableamount / totalsalesvolume; dtSummary.Rows[dtSummary.Rows.Count - 1]["申请费率"] = totalsalesvolume == 0 ? 0 : totalapplycost / totalsalesvolume; for (int j = 0; j < dtSummary.Columns.Count; j++) { if (dtSummary.Columns[j].ColumnName.EndsWith("占比")) { dtSummary.Rows[dtSummary.Rows.Count - 1][j] = totalapplycost == 0 ? 0 : (decimal)dtSummary.Rows[dtSummary.Rows.Count - 1][j - 1] / totalapplycost; } } bt_Approve.Enabled = (dtSummary.Rows.Count > 0 && state == 1); bt_UnApprove.Enabled = (dtSummary.Rows.Count > 0 && state == 1); chkHeader1.Visible = (dtSummary.Rows.Count > 0 && state == 1); chkHeader1.Checked = false; gv_Summary.DataSource = dtSummary; gv_Summary.DataBind(); MatrixTable.GridViewMatric(gv_Summary); #endregion break; case "1": #region 显示申请明细 DataTable dt_detail = ORD_OrderApplyBLL.GetGiftDetail(month, organizecity, client, state, (int)Session["UserID"], pdtbrand, classify); if (dt_detail.Rows.Count == 0) { gv_ListDetail.DataBind(); return; } gv_ListDetail.DataSource = dt_detail; gv_ListDetail.BindGrid(); MatrixTable.GridViewMergSampeValueRow(gv_ListDetail, 0); MatrixTable.GridViewMergSampeValueRow(gv_ListDetail, 1); MatrixTable.GridViewMergSampeValueRow(gv_ListDetail, 2); MatrixTable.GridViewMergSampeValueRow(gv_ListDetail, 3); MatrixTable.GridViewMergSampeValueRow(gv_ListDetail, 4); MatrixTable.GridViewMergSampeValueRow(gv_ListDetail, 5); MatrixTable.GridViewMergSampeValueRow(gv_ListDetail, 6); MatrixTable.GridViewMergSampeValueRow(gv_ListDetail, 7); bt_Approve.Enabled = false; bt_UnApprove.Enabled = false; #endregion break; case "2": #region 显示统计汇总 DataTable dt = ORD_OrderApplyBLL.GetGiftSummaryTotal(month, organizecity, client, state, (int)Session["UserID"], pdtbrand); if (dt.Rows.Count == 0) { gv_Total.DataBind(); return; } gv_Total.DataSource = dt; gv_Total.DataBind(); #endregion break; default: break; } if (state != 1) { bt_Approve.Visible = false; bt_UnApprove.Visible = false; } else { Org_StaffBLL _staff = new Org_StaffBLL((int)Session["UserID"]); DataTable dt = _staff.GetLowerPositionTask(5, int.Parse(tr_OrganizeCity.SelectValue), month); if (AC_AccountMonthBLL.GetCurrentMonth() - 1 > int.Parse(ddl_Month.SelectedValue)) { bt_UnApprove.Enabled = false; } 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=5&StaffID=0&Month=" + ddl_Month.SelectedValue + "&City=" + tr_OrganizeCity.SelectValue + "&tempid='+tempid, window, 'dialogWidth:520px;DialogHeight=600px;status:yes;resizable=no');</script>", false); } } }
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 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; } }
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 state = int.Parse(ddl_State.SelectedValue); int rtchannel = int.Parse(ddl_RTChannel.SelectedValue); switch (MCSTabControl1.SelectedTabItem.Value) { case "0": { #region 显示统计分析 DataTable dtSummary = PM_SalaryBLL.GetSummary(month, organizecity, level, state, int.Parse(Session["UserID"].ToString()), int.Parse(ddl_SalaryClassify.SelectedValue)); if (dtSummary.Rows.Count == 0) { gv_List.DataBind(); return; } //MatrixTable.TableAddSummaryRow(dtSummary, "管理片区名称", // new string[] { "导购员人数", "我司实发额", "上上月总销量", "上月总销量", "上月与上上月增长量", "本月总销量", "本月与上月增长量", "本月婴儿粉销量", "费用A", "费用B", "经销商承担薪资合计" }); //dtSummary.Columns.Add("婴儿粉比(%)", Type.GetType("System.Decimal"), "IIF(本月总销量=0,0,本月婴儿粉销量/本月总销量*100)").SetOrdinal(10); //dtSummary.Columns.Add("费率A(%)", Type.GetType("System.Decimal"), "IIF(本月总销量=0,0,费用A/本月总销量*100)").SetOrdinal(13); //dtSummary.Columns.Add("费率B(%)", Type.GetType("System.Decimal"), "IIF(本月总销量=0,0,费用B/本月总销量*100)").SetOrdinal(14); //gv_List.Width = new Unit(100, UnitType.Percentage); if (txt_FeeRate.Text != "0") { dtSummary.DefaultView.RowFilter = "[奶粉部费率A(%)]" + ddl_FeeRateOP.SelectedValue + txt_FeeRate.Text; } gv_List.DataSource = dtSummary.DefaultView; gv_List.DataBind(); GridViewMergSampeValueRow(gv_List, 0, "", 0, ""); GridViewMergSampeValueRow(gv_List, 1, "", 0, ""); GridViewMergSampeValueRow(gv_List, 2, "", 0, ""); #endregion } break; case "1": { #region 显示汇总单数据源 DataTable dtSummary = PM_SalaryBLL.GetSummaryTotal(month, organizecity, level, state, int.Parse(Session["UserID"].ToString()), int.Parse(ddl_SalaryClassify.SelectedValue)); if (dtSummary.Rows.Count == 0) { gv_List.DataBind(); return; } if (dtSummary.Columns.Count >= 24) { gv_List.Width = new Unit(dtSummary.Columns.Count * 65); } else { gv_List.Width = new Unit(100, UnitType.Percentage); } dtSummary.Columns.Add("费率A(%)", Type.GetType("System.Decimal"), "IIF(本月总销量=0,0,费用A/本月总销量*100)").SetOrdinal(dtSummary.Columns.Count - 1); if (txt_FeeRate.Text != "0") { dtSummary.DefaultView.RowFilter = "[费率A(%)]" + ddl_FeeRateOP.SelectedValue + txt_FeeRate.Text; } #region 增加合计行 if (dtSummary.Rows.Count > 0) { DataRow dr = dtSummary.NewRow(); dr[0] = 0; dr["管理片区名称"] = "合计"; for (int column = 2; column < dtSummary.Columns.Count - 1; column++) { decimal sum = 0; for (int i = 0; i < dtSummary.Rows.Count; i++) { decimal d = 0; if (decimal.TryParse(dtSummary.Rows[i][column].ToString(), out d)) { sum += d; } } dr[column] = sum; } dtSummary.Rows.Add(dr); } #endregion gv_List.DataSource = dtSummary.DefaultView; gv_List.DataBind(); MatrixTable.GridViewMatric(gv_List); #endregion } break; case "2": { //string condition = " MCS_SYS.dbo.UF_Spilt(PM_SalaryDetail.ExtPropertys,'|',31)!='1' ";//--FlagCancel 是否取消已生成的导购人员导购工( 31) 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 PM_Salary.OrganizeCity IN (" + orgcitys + ")"; } if (ddl_SalaryClassify.SelectedValue != "0") { condition += "AND MCS_SYS.dbo.UF_Spilt2('MCS_Promotor.dbo.PM_Salary',PM_Salary.ExtPropertys,'PMClassfiy')=" + ddl_SalaryClassify.SelectedValue; } //会计月条件 condition += " AND PM_Salary.AccountMonth = " + ddl_Month.SelectedValue; //审批状态 if (ddl_State.SelectedValue == "0") { condition += " AND PM_Salary.State IN (2,3) "; } else if (ddl_State.SelectedValue == "1") { condition += @" AND PM_Salary.State = 2 AND MCS_SYS.dbo.UF_Spilt(PM_Salary.ExtPropertys,'|',1) 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 INNER JOIN MCS_EWF.dbo.EWF_Task ON EWF_Task_Job.Task= EWF_Task.ID INNER JOIN MCS_EWF.dbo.EWF_Flow_App ON EWF_Task.App=EWF_Flow_App.ID AND EWF_Flow_App.Code='PM_SalaryApplyFlow' 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 PM_Salary.State = 3 "; } else if (ddl_State.SelectedValue == "3") { AC_AccountMonth m = new AC_AccountMonthBLL(month).Model; condition += @" AND PM_Salary.State IN (2,3) AND MCS_SYS.dbo.UF_Spilt(PM_Salary.ExtPropertys,'|',1) 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 INNER JOIN MCS_EWF.dbo.EWF_Task ON EWF_Task_Job.Task= EWF_Task.ID INNER JOIN MCS_EWF.dbo.EWF_Flow_App ON EWF_Task.App=EWF_Flow_App.ID AND EWF_Flow_App.Code='PM_SalaryApplyFlow' 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(); } break; case "3": { DataTable dtSummary = PM_SalaryBLL.GetDetailByState(month, organizecity, level, state, int.Parse(Session["UserID"].ToString()), int.Parse(ddl_SalaryClassify.SelectedValue), rtchannel); if (dtSummary.Rows.Count == 0) { gv_PromotorSalary.DataBind(); return; } if (dtSummary.Columns.Count >= 24) { gv_PromotorSalary.Width = new Unit(dtSummary.Columns.Count * 65); } else { gv_PromotorSalary.Width = new Unit(100, UnitType.Percentage); } dtSummary.Columns.Add("所在门店").SetOrdinal(6); if (txt_FeeRate.Text != "0") { dtSummary.DefaultView.RowFilter = "[费率A%]" + ddl_FeeRateOP.SelectedValue + txt_FeeRate.Text; } gv_PromotorSalary.DataSource = dtSummary.DefaultView; gv_PromotorSalary.DataBind(); MatrixTable.GridViewMatric(gv_PromotorSalary); } break; } #region 是否可以批量审批 if (state != 1) { gv_List.Columns[0].ItemStyle.Width = new Unit(1); bt_Approved.Visible = false; bt_UnApproved.Visible = false; } else { bt_Approved.Visible = true; bt_UnApproved.Visible = true; gv_List.Columns[0].ItemStyle.Width = new Unit(68); Org_StaffBLL _staff = new Org_StaffBLL((int)Session["UserID"]); DataTable dt = _staff.GetLowerPositionTask(3, int.Parse(tr_OrganizeCity.SelectValue), month); if (AC_AccountMonthBLL.GetCurrentMonth() - 1 <= int.Parse(ddl_Month.SelectedValue)) { string[] allowday1 = Addr_OrganizeCityParamBLL.GetValueByType(1, 3).Split(new char[] { ',', ',', ';', ';' }); string[] allowday2 = Addr_OrganizeCityParamBLL.GetValueByType(1, 4).Split(new char[] { ',', ',', ';', ';' }); int day = DateTime.Now.Day; if (allowday1.Contains(day.ToString())) { bt_Approved.Visible = false; } else if (allowday2.Contains(day.ToString())) { #region 判断费用申请进度 Org_StaffBLL bll = new Org_StaffBLL((int)Session["UserID"]); DataTable dt2 = new DataTable(); if (bll.Model.Position == 210) { dt2 = bll.GetFillProcessDetail(3); } if (dt.Rows.Count > 0) { bt_Approved.Visible = false; } #endregion } else { bt_UnApproved.Enabled = false; bt_Approved.Enabled = dt.Rows.Count == 0; } } else { bt_UnApproved.Enabled = false; bt_Approved.Enabled = dt.Rows.Count == 0; } if (dt.Rows.Count > 0) { bt_Approved.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=3&StaffID=0&Month=" + ddl_Month.SelectedValue + "&City=" + tr_OrganizeCity.SelectValue + "&tempid='+tempid, window, 'dialogWidth:520px;DialogHeight=600px;status:yes;resizable=no');</script>", 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 (!(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; } }
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 state = int.Parse(ddl_State.SelectedValue); int rtchannel = int.Parse(ddl_RTChannel.SelectedValue); switch (MCSTabControl1.SelectedTabItem.Value) { case "0": { #region 显示统计分析 DataTable dtSummary = PM_SalaryBLL.GetSummary(month, organizecity, level, state, int.Parse(Session["UserID"].ToString()), int.Parse(ddl_SalaryClassify.SelectedValue)); if (dtSummary.Rows.Count == 0) { gv_List.DataBind(); return; } //MatrixTable.TableAddSummaryRow(dtSummary, "管理片区名称", // new string[] { "导购员人数", "我司实发额", "上上月总销量", "上月总销量", "上月与上上月增长量", "本月总销量", "本月与上月增长量", "本月婴儿粉销量", "费用A", "费用B", "经销商承担薪资合计" }); //dtSummary.Columns.Add("婴儿粉比(%)", Type.GetType("System.Decimal"), "IIF(本月总销量=0,0,本月婴儿粉销量/本月总销量*100)").SetOrdinal(10); //dtSummary.Columns.Add("费率A(%)", Type.GetType("System.Decimal"), "IIF(本月总销量=0,0,费用A/本月总销量*100)").SetOrdinal(13); //dtSummary.Columns.Add("费率B(%)", Type.GetType("System.Decimal"), "IIF(本月总销量=0,0,费用B/本月总销量*100)").SetOrdinal(14); //gv_List.Width = new Unit(100, UnitType.Percentage); if (txt_FeeRate.Text != "0") { dtSummary.DefaultView.RowFilter = "[奶粉部费率A(%)]" + ddl_FeeRateOP.SelectedValue + txt_FeeRate.Text; } gv_List.DataSource = dtSummary.DefaultView; gv_List.DataBind(); GridViewMergSampeValueRow(gv_List, 0, "", 0, ""); GridViewMergSampeValueRow(gv_List, 1, "", 0, ""); GridViewMergSampeValueRow(gv_List, 2, "", 0, ""); #endregion } break; case "1": { #region 显示汇总单数据源 DataTable dtSummary = PM_SalaryBLL.GetSummaryTotal(month, organizecity, level, state, int.Parse(Session["UserID"].ToString()), int.Parse(ddl_SalaryClassify.SelectedValue)); if (dtSummary.Rows.Count == 0) { gv_List.DataBind(); return; } if (dtSummary.Columns.Count >= 24) gv_List.Width = new Unit(dtSummary.Columns.Count * 65); else gv_List.Width = new Unit(100, UnitType.Percentage); dtSummary.Columns.Add("费率A(%)", Type.GetType("System.Decimal"), "IIF(本月总销量=0,0,费用A/本月总销量*100)").SetOrdinal(dtSummary.Columns.Count - 1); if (txt_FeeRate.Text != "0") { dtSummary.DefaultView.RowFilter = "[费率A(%)]" + ddl_FeeRateOP.SelectedValue + txt_FeeRate.Text; } #region 增加合计行 if (dtSummary.Rows.Count > 0) { DataRow dr = dtSummary.NewRow(); dr[0] = 0; dr["管理片区名称"] = "合计"; for (int column = 2; column < dtSummary.Columns.Count - 1; column++) { decimal sum = 0; for (int i = 0; i < dtSummary.Rows.Count; i++) { decimal d = 0; if (decimal.TryParse(dtSummary.Rows[i][column].ToString(), out d)) { sum += d; } } dr[column] = sum; } dtSummary.Rows.Add(dr); } #endregion gv_List.DataSource = dtSummary.DefaultView; gv_List.DataBind(); MatrixTable.GridViewMatric(gv_List); #endregion } break; case "2": { //string condition = " MCS_SYS.dbo.UF_Spilt(PM_SalaryDetail.ExtPropertys,'|',31)!='1' ";//--FlagCancel 是否取消已生成的导购人员导购工( 31) 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 PM_Salary.OrganizeCity IN (" + orgcitys + ")"; } if (ddl_SalaryClassify.SelectedValue != "0") { condition += "AND MCS_SYS.dbo.UF_Spilt2('MCS_Promotor.dbo.PM_Salary',PM_Salary.ExtPropertys,'PMClassfiy')=" + ddl_SalaryClassify.SelectedValue; } //会计月条件 condition += " AND PM_Salary.AccountMonth = " + ddl_Month.SelectedValue; //审批状态 if (ddl_State.SelectedValue == "0") condition += " AND PM_Salary.State IN (2,3) "; else if (ddl_State.SelectedValue == "1") condition += @" AND PM_Salary.State = 2 AND MCS_SYS.dbo.UF_Spilt(PM_Salary.ExtPropertys,'|',1) 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 INNER JOIN MCS_EWF.dbo.EWF_Task ON EWF_Task_Job.Task= EWF_Task.ID INNER JOIN MCS_EWF.dbo.EWF_Flow_App ON EWF_Task.App=EWF_Flow_App.ID AND EWF_Flow_App.Code='PM_SalaryApplyFlow' 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 PM_Salary.State = 3 "; else if (ddl_State.SelectedValue == "3") { AC_AccountMonth m = new AC_AccountMonthBLL(month).Model; condition += @" AND PM_Salary.State IN (2,3) AND MCS_SYS.dbo.UF_Spilt(PM_Salary.ExtPropertys,'|',1) 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 INNER JOIN MCS_EWF.dbo.EWF_Task ON EWF_Task_Job.Task= EWF_Task.ID INNER JOIN MCS_EWF.dbo.EWF_Flow_App ON EWF_Task.App=EWF_Flow_App.ID AND EWF_Flow_App.Code='PM_SalaryApplyFlow' 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(); } break; case "3": { DataTable dtSummary = PM_SalaryBLL.GetDetailByState(month, organizecity, level, state, int.Parse(Session["UserID"].ToString()), int.Parse(ddl_SalaryClassify.SelectedValue), rtchannel); if (dtSummary.Rows.Count == 0) { gv_PromotorSalary.DataBind(); return; } if (dtSummary.Columns.Count >= 24) gv_PromotorSalary.Width = new Unit(dtSummary.Columns.Count * 65); else gv_PromotorSalary.Width = new Unit(100, UnitType.Percentage); dtSummary.Columns.Add("所在门店").SetOrdinal(6); if (txt_FeeRate.Text != "0") { dtSummary.DefaultView.RowFilter = "[费率A%]" + ddl_FeeRateOP.SelectedValue + txt_FeeRate.Text; } gv_PromotorSalary.DataSource = dtSummary.DefaultView; gv_PromotorSalary.DataBind(); MatrixTable.GridViewMatric(gv_PromotorSalary); } break; } #region 是否可以批量审批 if (state != 1) { gv_List.Columns[0].ItemStyle.Width = new Unit(1); bt_Approved.Visible = false; bt_UnApproved.Visible = false; } else { bt_Approved.Visible = true; bt_UnApproved.Visible = true; gv_List.Columns[0].ItemStyle.Width = new Unit(68); Org_StaffBLL _staff = new Org_StaffBLL((int)Session["UserID"]); DataTable dt = _staff.GetLowerPositionTask(3, int.Parse(tr_OrganizeCity.SelectValue), month); if (AC_AccountMonthBLL.GetCurrentMonth() - 1 <= int.Parse(ddl_Month.SelectedValue)) { string[] allowday1 = Addr_OrganizeCityParamBLL.GetValueByType(1, 3).Split(new char[] { ',', ',', ';', ';' }); string[] allowday2 = Addr_OrganizeCityParamBLL.GetValueByType(1, 4).Split(new char[] { ',', ',', ';', ';' }); int day = DateTime.Now.Day; if (allowday1.Contains(day.ToString())) bt_Approved.Visible = false; else if (allowday2.Contains(day.ToString())) { #region 判断费用申请进度 Org_StaffBLL bll = new Org_StaffBLL((int)Session["UserID"]); DataTable dt2 = new DataTable(); if (bll.Model.Position == 210) dt2 = bll.GetFillProcessDetail(3); if (dt.Rows.Count > 0) { bt_Approved.Visible = false; } #endregion } else { bt_UnApproved.Enabled = false; bt_Approved.Enabled = dt.Rows.Count == 0; } } else { bt_UnApproved.Enabled = false; bt_Approved.Enabled = dt.Rows.Count == 0; } if (dt.Rows.Count > 0) { bt_Approved.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=3&StaffID=0&Month=" + ddl_Month.SelectedValue + "&City=" + tr_OrganizeCity.SelectValue + "&tempid='+tempid, window, 'dialogWidth:520px;DialogHeight=600px;status:yes;resizable=no');</script>", false); } } #endregion }