2069 lines
94 KiB
C#
2069 lines
94 KiB
C#
using Ninject;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.IO;
|
||
using System.Linq;
|
||
using System.Web.Mvc;
|
||
using System.Xml.Serialization;
|
||
using WX.CRM.BLL.Util;
|
||
using WX.CRM.Common;
|
||
using WX.CRM.Common.Layui;
|
||
using WX.CRM.IBLL.Base;
|
||
using WX.CRM.IBLL.Res;
|
||
using WX.CRM.Model.crmModel;
|
||
using WX.CRM.Model.DTO;
|
||
using WX.CRM.Model.Entity;
|
||
using WX.CRM.Model.Enum;
|
||
using WX.CRM.Model.MAP;
|
||
using WX.CRM.Model.QueryMap;
|
||
using WX.CRM.WebHelper;
|
||
|
||
namespace WX.CRM.WEB.Controllers.Res
|
||
{
|
||
public class ActivityController : BaseController
|
||
{
|
||
private IRES_ACTIVITY_Q activityBiz_Q;
|
||
private IRES_ACTIVITY activityBiz;
|
||
private IRES_RESOURCETYPE_Q resourceTypeBiz_Q;
|
||
private IRES_ACTIVITY_EXPORTLOG activity_exportLog;
|
||
private IRES_ACTIVITY_EXPORTLOG_Q activity_exportLog_Q;
|
||
private IRES_IMPORTRES_Q importQ;
|
||
private IRES_IMPORTRES import;
|
||
private static readonly object sync = new object();
|
||
|
||
[Inject]
|
||
public IBAS_INNERGROUP_Q _INNERGROUP_Q { get; set; }
|
||
|
||
[Inject]
|
||
public IBAS_INNERUSER_Q inneruserBiz_Q { get; set; }
|
||
|
||
[Inject]
|
||
public IBAS_INNERUSERGROUP_Q inneruserGroupBiz_Q { get; set; }
|
||
|
||
[Inject]
|
||
public IBAS_COMPANY_Q companyBl { get; set; }
|
||
|
||
[Inject]
|
||
public IRES_DISTRIBUTE dISTRIBUTE_Q { get; set; }
|
||
|
||
[Inject]
|
||
public IRES_DISTRIBUTE_DETAIL _DISTRIBUTE_DETAIL { get; set; }
|
||
|
||
[Inject]
|
||
public CACHE_BL cache_BL { get; set; }
|
||
|
||
[Inject]
|
||
public IRES_ResRecycleRecord resRecycle_BL { get; set; }
|
||
|
||
[Inject]
|
||
public IRES_CUSTOMERDETAIL _res_customerdetail { get; set; }
|
||
|
||
[Inject]
|
||
public IBAS_SALESDEPARTMENT_Q bas_SalesDepartment_BL { get; set; }
|
||
|
||
private ValidationErrors errors = new ValidationErrors();
|
||
|
||
public ActivityController(
|
||
IRES_ACTIVITY_Q _activityBiz_Q,
|
||
IRES_ACTIVITY _activityBiz,
|
||
IRES_RESOURCETYPE_Q _resourceTypeBiz_Q,
|
||
IRES_ACTIVITY_EXPORTLOG _activity_exportLog,
|
||
IRES_ACTIVITY_EXPORTLOG_Q _activity_exportLog_Q,
|
||
IRES_IMPORTRES_Q _importQ,
|
||
IRES_IMPORTRES _import
|
||
)
|
||
{
|
||
this.activityBiz_Q = _activityBiz_Q;
|
||
this.activityBiz = _activityBiz;
|
||
this.resourceTypeBiz_Q = _resourceTypeBiz_Q;
|
||
this.activity_exportLog = _activity_exportLog;
|
||
this.activity_exportLog_Q = _activity_exportLog_Q;
|
||
this.importQ = _importQ;
|
||
this.import = _import;
|
||
}
|
||
|
||
#region 资源统计及输出
|
||
|
||
/// <summary>
|
||
/// 资源统计及输出
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_资源统计及输出)]
|
||
public ActionResult ActivityStOrEx()
|
||
{
|
||
ToolBar tool = new ToolBar();
|
||
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.资源统计及输出, userRightId);
|
||
tool.AllowButton(toolbtn);
|
||
//tool.AllowButton("Other1", "Other2", "Other3");
|
||
tool.AddOtherButton("Other1", "导出资源", "icon-excel", "Export_Res_Click", true);
|
||
tool.AddOtherButton("Other2", "续导出", "icon-excel", "Continued_Click", true);
|
||
tool.AddOtherButton("Other3", "筛选导出", "icon-excel", "Advanced_Search_Click", true);
|
||
tool.AddOtherButton("Other4", "资源分配", "icon-details", "Distbute_Click", true);
|
||
tool.AddOtherButton("Other5", "资源统计导出", "icon-excel", "ResourceCountExport_Click", true);
|
||
tool.AddOtherButton("Other6", "查看明细", "icon-details", "List_Click", true);
|
||
ViewBag.ToolBar = tool;
|
||
|
||
//移动(3g)推广table
|
||
string tableId = "tablist";
|
||
Table tab = new Table(tableId);
|
||
tab.AddHiddenHeadCol("ResTypeId", "ResTypeId");
|
||
tab.AddHiddenHeadCol("ActivityId", "ActivityId");
|
||
tab.AddHiddenHeadCol("RESTOTAL", "RESTOTAL");
|
||
tab.AddHeadCol("", "25px", " ");
|
||
tab.AddHeadCol("TypeName", "30%", "资源类型");
|
||
tab.AddHeadCol("ActivityCountByTime", "10%", "每日新增资源(不受上面时间筛选影响)");
|
||
tab.AddHeadCol("ActivityCountByCurDay", "15%", "资源合计");
|
||
tab.AddHeadCol("strategyname", "", "分配策略");
|
||
tab.AddHeadRow();
|
||
ViewBag.gridTable = tab.GetTable();
|
||
//策划table
|
||
string tableId1 = "tablist1";
|
||
Table tab1 = new Table(tableId1);
|
||
tab1.AddHiddenHeadCol("ResTypeId", "ResTypeId");
|
||
tab1.AddHiddenHeadCol("ActivityId", "ActivityId");
|
||
tab1.AddHiddenHeadCol("RESTOTAL", "RESTOTAL");
|
||
tab1.AddHeadCol("", "25px", " ");
|
||
tab1.AddHeadCol("TypeName", "30%", "资源类型");
|
||
tab1.AddHeadCol("ActivityCountByTime", "10%", "每日新增资源(不受上面时间筛选影响)");
|
||
tab1.AddHeadCol("ActivityCountByCurDay", "15%", "资源合计");
|
||
tab1.AddHeadCol("strategyname", "", "分配策略");
|
||
tab1.AddHeadRow();
|
||
ViewBag.gridTable1 = tab1.GetTable();
|
||
|
||
//pc推广table2
|
||
string tableId2 = "tablist2";
|
||
Table tab2 = new Table(tableId2);
|
||
tab2.AddHiddenHeadCol("ResTypeId", "ResTypeId");
|
||
tab2.AddHiddenHeadCol("ActivityId", "ActivityId");
|
||
tab2.AddHiddenHeadCol("RESTOTAL", "RESTOTAL");
|
||
// tab2.AddHeadCol("", "25px", " ");
|
||
tab2.AddHeadCol("TypeName", "30%", "资源类型");
|
||
tab2.AddHeadCol("ActivityCountByTime", "10%", "每日新增资源(不受上面时间筛选影响)");
|
||
tab2.AddHeadCol("ActivityCountByCurDay", "15%", "资源合计");
|
||
tab2.AddHeadCol("strategyname", "", "分配策略");
|
||
tab2.AddHeadRow();
|
||
ViewBag.gridTable2 = tab2.GetTable();
|
||
|
||
//table3 注册
|
||
string tableId3 = "tablist3";
|
||
Table tab3 = new Table(tableId3);
|
||
tab3.AddHiddenHeadCol("ResTypeId", "ResTypeId");
|
||
tab3.AddHiddenHeadCol("ActivityId", "ActivityId");
|
||
tab3.AddHiddenHeadCol("RESTOTAL", "RESTOTAL");
|
||
tab3.AddHeadCol("", "25px", " ");
|
||
tab3.AddHeadCol("TypeName", "30%", "资源类型");
|
||
tab3.AddHeadCol("ActivityCountByTime", "10%", "每日新增资源(不受上面时间筛选影响)");
|
||
tab3.AddHeadCol("ActivityCountByCurDay", "15%", "资源合计");
|
||
tab3.AddHeadCol("strategyname", "", "分配策略");
|
||
tab3.AddHeadRow();
|
||
ViewBag.gridTable3 = tab3.GetTable();
|
||
|
||
//table4 其他
|
||
string tableId4 = "tablist4";
|
||
Table tab4 = new Table(tableId4);
|
||
tab4.AddHiddenHeadCol("ResTypeId", "ResTypeId");
|
||
tab4.AddHiddenHeadCol("ActivityId", "ActivityId");
|
||
tab4.AddHiddenHeadCol("RESTOTAL", "RESTOTAL");
|
||
tab4.AddHeadCol("", "25px", " ");
|
||
tab4.AddHeadCol("TypeName", "40%", "资源类型");
|
||
tab4.AddHeadCol("ActivityCountByTime", "10%", "每日新增资源(不受上面时间筛选影响)");
|
||
tab4.AddHeadCol("ActivityCountByCurDay", "15%", "资源合计");
|
||
tab4.AddHeadCol("strategyname", "", "分配策略");
|
||
tab4.AddHeadRow();
|
||
ViewBag.gridTable4 = tab4.GetTable();
|
||
|
||
//table5 PC手机号注册资源统计
|
||
string tableId5 = "tablist5";
|
||
Table tab5 = new Table(tableId5);
|
||
tab5.AddHiddenHeadCol("ResTypeId", "ResTypeId");
|
||
tab5.AddHiddenHeadCol("ActivityId", "ActivityId");
|
||
tab5.AddHiddenHeadCol("RESTOTAL", "RESTOTAL");
|
||
tab5.AddHeadCol("", "25px", " ");
|
||
tab5.AddHeadCol("TypeName", "40%", "资源类型");
|
||
tab5.AddHeadCol("ActivityCountByTime", "10%", "每日新增资源(不受上面时间筛选影响)");
|
||
tab5.AddHeadCol("ActivityCountByCurDay", "15%", "资源合计");
|
||
tab5.AddHeadCol("strategyname", "", "分配策略");
|
||
tab5.AddHeadRow();
|
||
ViewBag.gridTable5 = tab5.GetTable();
|
||
|
||
return View();
|
||
}
|
||
|
||
#region 3g移动端
|
||
|
||
[HttpPost]
|
||
/// <summary>
|
||
/// 按照条件获取数据
|
||
/// </summary>
|
||
/// <param name="pager"></param>
|
||
/// <param name="queryStr"></param>
|
||
/// <returns></returns>
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_资源统计及输出)]
|
||
public JsonResult GetStaHtmlList3g(string columns, DateTime sTime, DateTime eTime, int? ResTypeId, int? ActivityId, bool? hasMemo, bool? hasRegisterSoftware, bool? hasOpenFuturesAccount, bool? hasOpenSilverAccount)
|
||
{
|
||
//var restypeCode = IsSanBu();
|
||
|
||
IList<WX.CRM.Model.QueryMap.GroupByActivity> list = activityBiz_Q.GetList_Activity(sTime, eTime, 1, UserId, HasRole());
|
||
//if (ResTypeId == null && hasMemo == null && hasRegisterSoftware == null && hasOpenFuturesAccount == null && hasOpenSilverAccount == null) //非高级查询
|
||
// list = activityBiz_Q.GetList_Activity(sTime, eTime, 1, restypeCode: restypeCode);
|
||
//else
|
||
// list = activityBiz_Q.GetList_Activity(sTime, eTime, ResTypeId, ActivityId, hasRegisterSoftware, hasOpenFuturesAccount, hasOpenSilverAccount, hasMemo, restypeCode);
|
||
|
||
Table table = new Table(columns, true);
|
||
//推广资源
|
||
var groupList = from q in list
|
||
group q by q.TypeName into g
|
||
select g;
|
||
|
||
string style1 = "text-align:left;padding-left:10px;";
|
||
string style2 = "text-align:left;padding-left:30px;";
|
||
string style3 = "text-align:left;padding-left:10px;color:red;font-weight:bold";
|
||
|
||
//推广资源table
|
||
foreach (var group in groupList)
|
||
{
|
||
table.AddHiddenCol(group.First().ResTypeId);
|
||
table.AddHiddenCol("");
|
||
table.AddHiddenCol(group.Sum(m => m.ActivityCountByTime));
|
||
table.AddCol("<span class='expand-activity txt-expand' title='" + group.Key + "'> </span>");
|
||
table.AddCol(style1, "", group.Key);
|
||
table.AddCol(style1, "", "合计:" + group.Sum(m => m.ActivityCountByCurDay));
|
||
table.AddCol(style1, "", "合计:" + group.Sum(m => m.ActivityCountByTime));
|
||
table.AddCol(style3, "", string.IsNullOrWhiteSpace(group.First().strategyname) ? "" : group.First().strategyname + "(" + group.First().strategymemo + ")");
|
||
table.AddRow();
|
||
foreach (var model in group)
|
||
{
|
||
table.AddHiddenCol(model.ResTypeId);
|
||
table.AddHiddenCol(model.ActivityId);
|
||
table.AddHiddenCol(model.ActivityCountByTime);
|
||
table.AddCol("");
|
||
table.AddCol(style2, "", model.ActivityName);
|
||
table.AddCol(style2, "", model.ActivityCountByCurDay);
|
||
table.AddCol(style2, "", model.ActivityCountByTime);
|
||
table.AddCol(style3, "", "");
|
||
table.AddRow("style='display:none' typeName='" + group.Key + "'");
|
||
}
|
||
}
|
||
|
||
var json = new
|
||
{
|
||
rowsList = table.GetRows()//推广
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
#endregion 3g移动端
|
||
|
||
#region 策划
|
||
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_资源统计及输出)]
|
||
public JsonResult GetStaHtmlListch(string columns, DateTime sTime, DateTime eTime, int? ResTypeId, int? ActivityId, bool? hasMemo, bool? hasRegisterSoftware, bool? hasOpenFuturesAccount, bool? hasOpenSilverAccount)
|
||
{
|
||
//var restypeCode = IsSanBu();
|
||
|
||
IList<WX.CRM.Model.QueryMap.GroupByActivity> list = activityBiz_Q.GetList_Activity(sTime, eTime, 0, UserId, HasRole());
|
||
//if (ResTypeId == null && hasMemo == null && hasRegisterSoftware == null && hasOpenFuturesAccount == null && hasOpenSilverAccount == null) //非高级查询
|
||
// list = activityBiz_Q.GetList_Activity(sTime, eTime, 0, UserId, HasRole());
|
||
//else
|
||
// list = activityBiz_Q.GetList_Activity(sTime, eTime, ResTypeId, ActivityId, hasRegisterSoftware, hasOpenFuturesAccount, hasOpenSilverAccount, hasMemo, restypeCode);
|
||
Table table1 = new Table(columns, true);
|
||
|
||
//策划资源
|
||
var groupList1 = from q in list
|
||
group q by q.TypeName into g
|
||
select g;
|
||
|
||
string style1 = "text-align:left;padding-left:10px;";
|
||
string style2 = "text-align:left;padding-left:30px;";
|
||
string style3 = "text-align:left;padding-left:10px;color:red;font-weight:bold";
|
||
|
||
//策划资源table
|
||
foreach (var group in groupList1)
|
||
{
|
||
table1.AddHiddenCol(group.First().ResTypeId);
|
||
table1.AddHiddenCol("");
|
||
table1.AddHiddenCol(group.Sum(m => m.ActivityCountByTime));
|
||
table1.AddCol("<span class='expand-activity txt-expand' title='" + group.Key + "'> </span>");
|
||
table1.AddCol(style1, "", group.Key);
|
||
table1.AddCol(style1, "", "合计:" + group.Sum(m => m.ActivityCountByCurDay));
|
||
table1.AddCol(style1, "", "合计:" + group.Sum(m => m.ActivityCountByTime));
|
||
table1.AddCol(style3, "", string.IsNullOrWhiteSpace(group.First().strategyname) ? "" : group.First().strategyname + "(" + group.First().strategymemo + ")");
|
||
table1.AddRow();
|
||
foreach (var model in group)
|
||
{
|
||
table1.AddHiddenCol(model.ResTypeId);
|
||
table1.AddHiddenCol(model.ActivityId);
|
||
table1.AddHiddenCol(model.ActivityCountByTime);
|
||
table1.AddCol("");
|
||
table1.AddCol(style2, "", model.ActivityName);
|
||
table1.AddCol(style2, "", model.ActivityCountByCurDay);
|
||
table1.AddCol(style2, "", model.ActivityCountByTime);
|
||
table1.AddCol(style3, "", "");
|
||
table1.AddRow("style='display:none' typeName='" + group.Key + "'");
|
||
}
|
||
}
|
||
|
||
var json = new
|
||
{
|
||
rowsList = table1.GetRows()//策划
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
#endregion 策划
|
||
|
||
#region pc端
|
||
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_资源统计及输出)]
|
||
public JsonResult GetStaHtmlListpc(string columns, DateTime sTime, DateTime eTime, int? ResTypeId, int? ActivityId, bool? hasMemo, bool? hasRegisterSoftware, bool? hasOpenFuturesAccount, bool? hasOpenSilverAccount)
|
||
{
|
||
//var restypeCode = IsSanBu();
|
||
|
||
IList<WX.CRM.Model.QueryMap.GroupByActivity> list = activityBiz_Q.GetList_Activity(sTime, eTime, 2, UserId, HasRole());
|
||
//if (ResTypeId == null && hasMemo == null && hasRegisterSoftware == null && hasOpenFuturesAccount == null && hasOpenSilverAccount == null) //非高级查询
|
||
// list = activityBiz_Q.GetList_Activity(sTime, eTime, 2, restypeCode: restypeCode);
|
||
//else
|
||
// list = activityBiz_Q.GetList_Activity(sTime, eTime, ResTypeId, ActivityId, hasRegisterSoftware, hasOpenFuturesAccount, hasOpenSilverAccount, hasMemo, restypeCode);
|
||
|
||
Table table = new Table(columns, true);
|
||
//pc推广资源
|
||
var groupList = from q in list
|
||
group q by q.TypeName into g
|
||
select g;
|
||
|
||
string style1 = "text-align:left;padding-left:10px;";
|
||
string style2 = "text-align:left;padding-left:30px;";
|
||
string style3 = "text-align:left;padding-left:10px;color:red;font-weight:bold";
|
||
|
||
//推广资源table
|
||
foreach (var group in groupList)
|
||
{
|
||
table.AddHiddenCol(group.First().ResTypeId);
|
||
table.AddHiddenCol("");
|
||
table.AddHiddenCol(group.Sum(m => m.ActivityCountByTime));
|
||
// table.AddCol("<span class='expand-activity txt-expand' title='" + group.Key + "'> </span>");
|
||
table.AddCol(style1, "", group.Key);
|
||
table.AddCol(style1, "", "合计:" + group.Sum(m => m.ActivityCountByCurDay));
|
||
table.AddCol(style1, "", "合计:" + group.Sum(m => m.ActivityCountByTime));
|
||
table.AddCol(style3, "", string.IsNullOrWhiteSpace(group.First().strategyname) ? "" : group.First().strategyname + "(" + group.First().strategymemo + ")");
|
||
table.AddRow();
|
||
foreach (var model in group)
|
||
{
|
||
table.AddHiddenCol(model.ResTypeId);
|
||
table.AddHiddenCol(model.ActivityId);
|
||
table.AddHiddenCol(model.ActivityCountByTime);
|
||
// table.AddCol("");
|
||
table.AddCol(style2, "", model.ActivityName);
|
||
table.AddCol(style2, "", model.ActivityCountByCurDay);
|
||
table.AddCol(style2, "", model.ActivityCountByTime);
|
||
table.AddCol(style3, "", "");
|
||
table.AddRow("style='display:none' typeName='" + group.Key + "'");
|
||
}
|
||
}
|
||
|
||
var json = new
|
||
{
|
||
rowsList = table.GetRows()
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
#endregion pc端
|
||
|
||
#region 注册
|
||
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_资源统计及输出)]
|
||
public JsonResult GetStaHtmlListappzc(string columns, DateTime sTime, DateTime eTime, int? ResTypeId, int? ActivityId, bool? hasMemo, bool? hasRegisterSoftware, bool? hasOpenFuturesAccount, bool? hasOpenSilverAccount)
|
||
{
|
||
IList<WX.CRM.Model.QueryMap.GroupByActivity> list = activityBiz_Q.GetList_Activity(sTime, eTime, 3, UserId, HasRole());
|
||
//if (ResTypeId == null && hasMemo == null && hasRegisterSoftware == null && hasOpenFuturesAccount == null && hasOpenSilverAccount == null) //非高级查询
|
||
// list = activityBiz_Q.GetList_Activity(sTime, eTime, 3);
|
||
//else
|
||
// list = activityBiz_Q.GetList_Activity(sTime, eTime, ResTypeId, ActivityId, hasRegisterSoftware, hasOpenFuturesAccount, hasOpenSilverAccount, hasMemo);
|
||
Table table1 = new Table(columns, true);
|
||
|
||
//策划资源
|
||
var groupList1 = from q in list
|
||
group q by q.TypeName into g
|
||
select g;
|
||
|
||
string style1 = "text-align:left;padding-left:10px;";
|
||
string style2 = "text-align:left;padding-left:30px;";
|
||
string style3 = "text-align:left;padding-left:10px;color:red;font-weight:bold";
|
||
|
||
//策划资源table
|
||
foreach (var group in groupList1)
|
||
{
|
||
table1.AddHiddenCol(group.First().ResTypeId);
|
||
table1.AddHiddenCol("");
|
||
table1.AddHiddenCol(group.Sum(m => m.ActivityCountByTime));
|
||
table1.AddCol("<span class='expand-activity txt-expand' title='" + group.Key + "'> </span>");
|
||
table1.AddCol(style1, "", group.Key);
|
||
table1.AddCol(style1, "", "合计:" + group.Sum(m => m.ActivityCountByCurDay));
|
||
table1.AddCol(style1, "", "合计:" + group.Sum(m => m.ActivityCountByTime));
|
||
table1.AddCol(style3, "", string.IsNullOrWhiteSpace(group.First().strategyname) ? "" : group.First().strategyname + "(" + group.First().strategymemo + ")");
|
||
table1.AddRow();
|
||
foreach (var model in group)
|
||
{
|
||
table1.AddHiddenCol(model.ResTypeId);
|
||
table1.AddHiddenCol(model.ActivityId);
|
||
table1.AddHiddenCol(model.ActivityCountByTime);
|
||
table1.AddCol("");
|
||
table1.AddCol(style2, "", model.ActivityName);
|
||
table1.AddCol(style2, "", model.ActivityCountByCurDay);
|
||
table1.AddCol(style2, "", model.ActivityCountByTime);
|
||
table1.AddCol(style3, "", "");
|
||
table1.AddRow("style='display:none' typeName='" + group.Key + "'");
|
||
}
|
||
}
|
||
|
||
var json = new
|
||
{
|
||
rowsList = table1.GetRows()//策划
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_资源统计及输出)]
|
||
public JsonResult GetStaHtmlListpczc(string columns, DateTime sTime, DateTime eTime, int? ResTypeId, int? ActivityId, bool? hasMemo, bool? hasRegisterSoftware, bool? hasOpenFuturesAccount, bool? hasOpenSilverAccount)
|
||
{
|
||
if (System.Configuration.ConfigurationManager.AppSettings["ResHasWword"] != null && System.Configuration.ConfigurationManager.AppSettings["ResHasWword"].ToString() == "true")
|
||
{
|
||
return GetStaHtmlListpczcHasWord(columns, sTime, eTime, ResTypeId, ActivityId, hasMemo, hasRegisterSoftware, hasOpenFuturesAccount, hasOpenSilverAccount);
|
||
}
|
||
|
||
var restypeCode = IsSanBu();
|
||
|
||
IList<WX.CRM.Model.QueryMap.GroupByActivity> list = activityBiz_Q.GetList_Activity(sTime, eTime, 5, UserId, HasRole());
|
||
//if (ResTypeId == null && hasMemo == null && hasRegisterSoftware == null && hasOpenFuturesAccount == null && hasOpenSilverAccount == null) //非高级查询
|
||
// list = activityBiz_Q.GetList_Activity(sTime, eTime, 5, restypeCode: restypeCode);
|
||
//else
|
||
// list = activityBiz_Q.GetList_Activity(sTime, eTime, ResTypeId, ActivityId, hasRegisterSoftware, hasOpenFuturesAccount, hasOpenSilverAccount, hasMemo, restypeCode);
|
||
Table table1 = new Table(columns, true);
|
||
|
||
//策划资源
|
||
var groupList1 = from q in list
|
||
group q by q.TypeName into g
|
||
select g;
|
||
|
||
string style1 = "text-align:left;padding-left:10px;";
|
||
string style2 = "text-align:left;padding-left:30px;";
|
||
string style3 = "text-align:left;padding-left:10px;color:red;font-weight:bold";
|
||
|
||
//策划资源table
|
||
foreach (var group in groupList1)
|
||
{
|
||
table1.AddHiddenCol(group.First().ResTypeId);
|
||
table1.AddHiddenCol("");
|
||
table1.AddHiddenCol(group.Sum(m => m.ActivityCountByTime));
|
||
table1.AddCol("<span class='expand-activity txt-expand' title='" + group.Key + "'> </span>");
|
||
|
||
table1.AddCol(style1, "", group.Key);
|
||
table1.AddCol(style1, "", "合计:" + group.Sum(m => m.ActivityCountByCurDay));
|
||
table1.AddCol(style1, "", "合计:" + group.Sum(m => m.ActivityCountByTime));
|
||
table1.AddCol(style3, "", string.IsNullOrWhiteSpace(group.First().strategyname) ? "" : group.First().strategyname + "(" + group.First().strategymemo + ")");
|
||
table1.AddRow();
|
||
foreach (var model in group)
|
||
{
|
||
table1.AddHiddenCol(model.ResTypeId);
|
||
table1.AddHiddenCol(model.ActivityId);
|
||
table1.AddHiddenCol(model.ActivityCountByTime);
|
||
table1.AddCol("");
|
||
table1.AddCol(style2, "", model.ActivityName);
|
||
table1.AddCol(style2, "", model.ActivityCountByCurDay);
|
||
table1.AddCol(style2, "", model.ActivityCountByTime);
|
||
table1.AddCol(style3, "", "");
|
||
table1.AddRow("style='display:none' typeName='" + group.Key + "'");
|
||
}
|
||
}
|
||
|
||
var json = new
|
||
{
|
||
rowsList = table1.GetRows()//策划
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
#endregion 注册
|
||
|
||
public JsonResult GetStaHtmlListpczcHasWord(string columns, DateTime sTime, DateTime eTime, int? ResTypeId, int? ActivityId, bool? hasMemo, bool? hasRegisterSoftware, bool? hasOpenFuturesAccount, bool? hasOpenSilverAccount)
|
||
{
|
||
//var restypeCode = IsSanBu();
|
||
|
||
IList<Model.QueryMap.GroupByActivity> list;
|
||
//if (ResTypeId == null && hasMemo == null && hasRegisterSoftware == null && hasOpenFuturesAccount == null && hasOpenSilverAccount == null) //非高级查询
|
||
list = activityBiz_Q.GetList_Activity(sTime, eTime, 5, UserId, HasRole());
|
||
//else
|
||
// list = activityBiz_Q.GetList_Activity(sTime, eTime, ResTypeId, ActivityId, hasRegisterSoftware, hasOpenFuturesAccount, hasOpenSilverAccount, hasMemo, restypeCode);
|
||
Table table1 = new Table(columns, true);
|
||
|
||
//策划资源
|
||
var groupList1 = from q in list
|
||
group q by q.TypeName into g
|
||
select g;
|
||
|
||
string style1 = "text-align:left;padding-left:10px;";
|
||
string style2 = "text-align:left;padding-left:30px;";
|
||
string style5 = "text-align:left;padding-left:50px;";
|
||
string style3 = "text-align:left;padding-left:10px;color:red;font-weight:bold";
|
||
|
||
//策划资源table
|
||
foreach (var group in groupList1)
|
||
{
|
||
table1.AddHiddenCol(group.First().ResTypeId);
|
||
table1.AddHiddenCol("");
|
||
table1.AddHiddenCol(group.Sum(m => m.ActivityCountByTime));
|
||
table1.AddCol("<span class='expand-activity txt-expand' title='" + group.Key + "'> </span>");
|
||
table1.AddCol(style1, "", group.Key);
|
||
table1.AddCol(style1, "", "合计:" + group.Sum(m => m.ActivityCountByCurDay));
|
||
table1.AddCol(style1, "", "合计:" + group.Sum(m => m.ActivityCountByTime));
|
||
table1.AddCol(style3, "", string.IsNullOrWhiteSpace(group.First().strategyname) ? "" : group.First().strategyname + "(" + group.First().strategymemo + ")");
|
||
table1.AddRow();
|
||
if (group.First().ResTypeId == 1201906702)
|
||
{
|
||
List<decimal> ActivityIds = new List<decimal>();
|
||
foreach (var model in group)
|
||
{
|
||
if (ActivityIds.Contains(model.ActivityId))
|
||
continue;
|
||
ActivityIds.Add(model.ActivityId);
|
||
table1.AddHiddenCol(model.ResTypeId);
|
||
table1.AddHiddenCol(model.ActivityId);
|
||
table1.AddHiddenCol(group.Where(i => i.ActivityId == model.ActivityId).Sum(m => m.ActivityCountByTime));
|
||
table1.AddCol("");
|
||
table1.AddCol(style1, "", "<span class='expand-activity txt-expand' title='" + model.ActivityName + "'> </span>" + model.ActivityName);
|
||
table1.AddCol(style2, "", "共:" + group.Where(i => i.ActivityId == model.ActivityId).Sum(m => m.ActivityCountByCurDay));
|
||
table1.AddCol(style2, "", "共:" + group.Where(i => i.ActivityId == model.ActivityId).Sum(m => m.ActivityCountByTime));
|
||
table1.AddCol(style3, "", "");
|
||
table1.AddRow("style='display:none' typeName='" + group.Key + "'");
|
||
foreach (var item in group)
|
||
{
|
||
if (item.ActivityId == model.ActivityId)
|
||
{
|
||
table1.AddHiddenCol(item.ActivityId);
|
||
table1.AddHiddenCol(item.kword);
|
||
table1.AddHiddenCol(item.ActivityCountByTime);
|
||
table1.AddCol("");
|
||
table1.AddCol(style5, "", item.kword);
|
||
table1.AddCol(style5, "", item.ActivityCountByCurDay);
|
||
table1.AddCol(style5, "", item.ActivityCountByTime);
|
||
table1.AddCol(style3, "", "");
|
||
table1.AddRow("style='display:none' typeName='" + item.ActivityName + "'");
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
foreach (var model in group)
|
||
{
|
||
table1.AddHiddenCol(model.ResTypeId);
|
||
table1.AddHiddenCol(model.ActivityId);
|
||
table1.AddHiddenCol(model.ActivityCountByTime);
|
||
table1.AddCol("");
|
||
table1.AddCol(style2, "", model.ActivityName);
|
||
table1.AddCol(style2, "", model.ActivityCountByCurDay);
|
||
table1.AddCol(style2, "", model.ActivityCountByTime);
|
||
table1.AddCol(style3, "", "");
|
||
table1.AddRow("style='display:none' typeName='" + group.Key + "'");
|
||
}
|
||
}
|
||
}
|
||
|
||
var json = new
|
||
{
|
||
rowsList = table1.GetRows()//策划
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
#region 其他
|
||
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_资源统计及输出)]
|
||
public JsonResult GetStaHtmlListqt(string columns, DateTime sTime, DateTime eTime, int? ResTypeId, int? ActivityId, bool? hasMemo, bool? hasRegisterSoftware, bool? hasOpenFuturesAccount, bool? hasOpenSilverAccount)
|
||
{
|
||
//var restypeCode = IsSanBu();
|
||
|
||
IList<WX.CRM.Model.QueryMap.GroupByActivity> list = activityBiz_Q.GetList_Activity(sTime, eTime, 4, UserId, HasRole());
|
||
//if (ResTypeId == null && hasMemo == null && hasRegisterSoftware == null && hasOpenFuturesAccount == null && hasOpenSilverAccount == null) //非高级查询
|
||
// list = activityBiz_Q.GetList_Activity(sTime, eTime, 4, restypeCode: restypeCode);
|
||
//else
|
||
// list = activityBiz_Q.GetList_Activity(sTime, eTime, ResTypeId, ActivityId, hasRegisterSoftware, hasOpenFuturesAccount, hasOpenSilverAccount, hasMemo, restypeCode);
|
||
Table table1 = new Table(columns, true);
|
||
|
||
//策划资源
|
||
var groupList1 = from q in list
|
||
group q by q.TypeName into g
|
||
select g;
|
||
|
||
string style1 = "text-align:left;padding-left:10px;";
|
||
string style2 = "text-align:left;padding-left:30px;";
|
||
string style3 = "text-align:left;padding-left:10px;color:red;font-weight:bold";
|
||
|
||
//策划资源table
|
||
foreach (var group in groupList1)
|
||
{
|
||
table1.AddHiddenCol(group.First().ResTypeId);
|
||
table1.AddHiddenCol("");
|
||
table1.AddHiddenCol(group.Sum(m => m.ActivityCountByTime));
|
||
table1.AddCol("<span class='expand-activity txt-expand' title='" + group.Key + "'> </span>");
|
||
table1.AddCol(style1, "", group.Key);
|
||
table1.AddCol(style1, "", "合计:" + group.Sum(m => m.ActivityCountByCurDay));
|
||
table1.AddCol(style1, "", "合计:" + group.Sum(m => m.ActivityCountByTime));
|
||
table1.AddCol(style3, "", string.IsNullOrWhiteSpace(group.First().strategyname) ? "" : group.First().strategyname + "(" + group.First().strategymemo + ")");
|
||
table1.AddRow();
|
||
foreach (var model in group)
|
||
{
|
||
table1.AddHiddenCol(model.ResTypeId);
|
||
table1.AddHiddenCol(model.ActivityId);
|
||
table1.AddHiddenCol(model.ActivityCountByTime);
|
||
table1.AddCol("");
|
||
table1.AddCol(style2, "", model.ActivityName);
|
||
table1.AddCol(style2, "", model.ActivityCountByCurDay);
|
||
table1.AddCol(style2, "", model.ActivityCountByTime);
|
||
table1.AddCol(style3, "", "");
|
||
table1.AddRow("style='display:none' typeName='" + group.Key + "'");
|
||
}
|
||
}
|
||
|
||
var json = new
|
||
{
|
||
rowsList = table1.GetRows()//策划
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
#endregion 其他
|
||
|
||
#endregion 资源统计及输出
|
||
|
||
#region 查看明细
|
||
|
||
[HttpGet]
|
||
public ActionResult List()
|
||
{
|
||
return View();
|
||
}
|
||
|
||
[HttpPost]
|
||
public JsonResult List(decimal? resTypeId, decimal? activityId, DateTime? sTime, DateTime? eTime)
|
||
{
|
||
//var pager = new Pager() { page = 1, rows = int.MaxValue };
|
||
|
||
var list = activityBiz_Q.GetResList(resTypeId, activityId, sTime, eTime);
|
||
|
||
foreach (var item in list)
|
||
{
|
||
if (!string.IsNullOrEmpty(item.ExtXml))
|
||
{
|
||
try
|
||
{
|
||
var xml = Deserialize<RES_CUSTOMERDETAIL>(item.ExtXml);
|
||
item.ExtXml = xml.CNAME;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
}
|
||
}
|
||
}
|
||
|
||
var data = new LayuiData<ActivityResListView>()
|
||
{
|
||
msg = "数据加载成功!",
|
||
count = 0,
|
||
code = 0,
|
||
data = list
|
||
};
|
||
return Json(data, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
/// <summary>
|
||
/// XML反序列化为对象
|
||
/// </summary>
|
||
/// <typeparam name="T">对象类型</typeparam>
|
||
/// <param name="xml">xml字符串</param>
|
||
/// <returns></returns>
|
||
public static T Deserialize<T>(string xml)
|
||
{
|
||
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
|
||
StringReader stringReader = new StringReader(xml);
|
||
return (T)xmlSerializer.Deserialize(stringReader);
|
||
}
|
||
|
||
#endregion 查看明细
|
||
|
||
#region 资源导出
|
||
|
||
/// <summary>
|
||
/// 资源导出
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[AuthorizeToolBar(InitRights.CONST_资源统计及输出, InitToolBar.CONST_Other1)]
|
||
public FileResult ResourceExport()
|
||
{
|
||
decimal ResTypeId = Convert.ToDecimal(Request.QueryString["ResTypeId"]);
|
||
decimal ActivityId = 0;
|
||
if (Request.QueryString["ActivityId"] != "")
|
||
ActivityId = Convert.ToDecimal(Request.QueryString["ActivityId"]);
|
||
string stime = Request.QueryString["stime"];
|
||
string etime = Request.QueryString["etime"];
|
||
string contentType = "application/ms-excel";
|
||
string downloadName = PageRequest.GetDlownLoadName("资源导出" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ".xls");
|
||
//List<Model.QueryMap.ActivitySourceExport> list = activityBiz_Q.GetListExport_Activity(ResTypeId, ActivityId, DateTime.Parse(stime), DateTime.Parse(etime)) as List<Model.QueryMap.ActivitySourceExport>;
|
||
List<WX.CRM.Model.QueryMap.ActivitySourceExport> list = activityBiz_Q.GetList_Activity_export(ResTypeId, ActivityId, DateTime.Parse(stime), DateTime.Parse(etime), UserId, HasRole()) as List<WX.CRM.Model.QueryMap.ActivitySourceExport>;
|
||
System.IO.Stream strem = ExcelHelper.ExportListModelToExcel<WX.CRM.Model.QueryMap.ActivitySourceExport>(list, "资源列表", 50000, null);
|
||
return File(strem, contentType, downloadName);
|
||
}
|
||
|
||
#endregion 资源导出
|
||
|
||
#region 续导出
|
||
|
||
/// <summary>
|
||
/// 续导出页面
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[HttpGet]
|
||
[AuthorizeToolBar(InitRights.CONST_资源统计及输出, InitToolBar.CONST_Other2)]
|
||
public ActionResult ContinuedExport()
|
||
{
|
||
string ResTypeId = Request.QueryString["ResTypeId"];
|
||
string ActivityId = Request.QueryString["ActivityId"];
|
||
string name = string.Empty;
|
||
decimal id = 0;
|
||
short sourceType = 0;
|
||
if (ActivityId.Trim() != "")
|
||
{
|
||
id = Convert.ToDecimal(ActivityId);
|
||
sourceType = 1;
|
||
WX.CRM.Model.Entity.RES_ACTIVITY acmodel = activityBiz_Q.GetModel(id);
|
||
if (acmodel != null)
|
||
name = acmodel.ACTIVITYNAME;
|
||
}
|
||
else
|
||
{
|
||
id = Convert.ToDecimal(ResTypeId);
|
||
WX.CRM.Model.Entity.RES_RESOURCETYPE tpmodel = resourceTypeBiz_Q.GetModel(id);
|
||
if (tpmodel != null)
|
||
name = tpmodel.TYPENAME;
|
||
}
|
||
WX.CRM.Model.Entity.RES_ACTIVITY_EXPORTLOG model = activity_exportLog_Q.GetModel(id, sourceType);
|
||
if (model == null)
|
||
{
|
||
model = new WX.CRM.Model.Entity.RES_ACTIVITY_EXPORTLOG();
|
||
model.CTIME = Convert.ToDateTime("2000-01-01");
|
||
model.SOURCETYPE = sourceType;
|
||
model.SOURCEID = id;
|
||
}
|
||
ViewBag.sourceName = name;
|
||
return View(model);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 续导出 excle
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[AuthorizeToolBar(InitRights.CONST_资源统计及输出, InitToolBar.CONST_Other2)]
|
||
public FileResult ContinuedResourceExport()
|
||
{
|
||
string contentType = "application/ms-excel";
|
||
string downloadName = PageRequest.GetDlownLoadName("资源续导出" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ".xls");
|
||
decimal ResTypeId = Convert.ToDecimal(Request.QueryString["ResTypeId"]);
|
||
decimal ActivityId = 0;
|
||
if (Request.QueryString["ActivityId"] != "")
|
||
ActivityId = Convert.ToDecimal(Request.QueryString["ActivityId"]);
|
||
string stime = Request.QueryString["stime"];
|
||
string etime = Request.QueryString["etime"];
|
||
//List<Model.QueryMap.ActivitySourceExport> list = activityBiz_Q.GetListExport_Activity(ResTypeId, ActivityId, DateTime.Parse(stime), DateTime.Parse(etime)) as List<Model.QueryMap.ActivitySourceExport>;
|
||
List<WX.CRM.Model.QueryMap.ActivitySourceExport> list = activityBiz_Q.GetList_Activity_export(ResTypeId, ActivityId, DateTime.Parse(stime), DateTime.Parse(etime), UserId, HasRole()) as List<WX.CRM.Model.QueryMap.ActivitySourceExport>;
|
||
System.IO.Stream strem = ExcelHelper.ExportListModelToExcel<WX.CRM.Model.QueryMap.ActivitySourceExport>(list, "资源列表", 50000, null);
|
||
|
||
//创建续导出的记录
|
||
WX.CRM.Model.Entity.RES_ACTIVITY_EXPORTLOG model = new WX.CRM.Model.Entity.RES_ACTIVITY_EXPORTLOG();
|
||
model.CREATEUSER = UserId;
|
||
model.CTIME = DateTime.Now;
|
||
if (string.IsNullOrEmpty(Request.QueryString["ActivityId"]))
|
||
{
|
||
model.SOURCEID = Convert.ToDecimal(Request.QueryString["ResTypeId"]);
|
||
model.SOURCETYPE = 0;//0资源类型、1活动
|
||
}
|
||
else
|
||
{
|
||
model.SOURCEID = Convert.ToDecimal(Request.QueryString["ActivityId"]);
|
||
model.SOURCETYPE = 1;//0资源类型、1活动
|
||
}
|
||
activity_exportLog.Create(ref errors, model);
|
||
return File(strem, contentType, downloadName);
|
||
}
|
||
|
||
#endregion 续导出
|
||
|
||
#region 资源统计数导出
|
||
|
||
[AuthorizeToolBar(InitRights.CONST_资源统计及输出, InitToolBar.CONST_Other5)]
|
||
public FileResult ResourceCountExport()
|
||
{
|
||
string contentType = "application/ms-excel";
|
||
string downloadName = PageRequest.GetDlownLoadName("资源统计数导出.xls");
|
||
decimal ResTypeId = Convert.ToDecimal(Request.QueryString["ResTypeId"]);
|
||
|
||
DateTime stime = Request.QueryString["stime"].GetDateTime() ?? DateTime.Now;
|
||
DateTime etime = Request.QueryString["etime"].GetDateTime() ?? DateTime.Now;
|
||
int Attribute = Request["attribute"].GetInt(5);
|
||
string checkedTitles = "资源类型,每日新增资源(不受上面时间筛选影响),资源合计,分配策略";
|
||
string checkedFilds = "[ActivityName][ActivityCountByCurDay][ActivityCountByTime][StrategyName]";
|
||
|
||
var restypeCode = IsSanBu();
|
||
IList<GroupByActivity> list = null;
|
||
if (Attribute == 5 && System.Configuration.ConfigurationManager.AppSettings["ResHasWword"] != null && System.Configuration.ConfigurationManager.AppSettings["ResHasWword"].ToString() == "true")
|
||
{
|
||
list = activityBiz_Q.GetList_Activity(stime, etime, Attribute, UserId, HasRole());
|
||
}
|
||
else
|
||
{
|
||
list = activityBiz_Q.GetList_Activity(stime, etime, Attribute, UserId, HasRole());
|
||
}
|
||
|
||
var groupList1 = from q in list
|
||
group q by q.TypeName into g
|
||
select g;
|
||
|
||
string style1 = "text-align:left;padding-left:10px;";
|
||
string style2 = "text-align:left;padding-left:30px;";
|
||
string style3 = "text-align:left;padding-left:10px;color:red;font-weight:bold";
|
||
var exportList = new List<GroupByActivity_Export>();
|
||
//策划资源table
|
||
foreach (var group in groupList1)
|
||
{
|
||
GroupByActivity_Export item = new GroupByActivity_Export()
|
||
{
|
||
ActivityName = group.Key,
|
||
ActivityCountByCurDay = "合计:" + group.Sum(m => m.ActivityCountByCurDay).ToString(),
|
||
ActivityCountByTime = "合计:" + group.Sum(m => m.ActivityCountByTime).ToString(),
|
||
StrategyName = string.IsNullOrWhiteSpace(group.First().strategyname) ? "" : group.First().strategyname + "(" + group.First().strategymemo + ")"
|
||
};
|
||
exportList.Add(item);
|
||
if (group.First().ResTypeId == 1201906702)
|
||
{
|
||
List<decimal> ActivityIds = new List<decimal>();
|
||
foreach (var model in group)
|
||
{
|
||
if (ActivityIds.Contains(model.ActivityId))
|
||
continue;
|
||
ActivityIds.Add(model.ActivityId);
|
||
GroupByActivity_Export item3 = new GroupByActivity_Export()
|
||
{
|
||
ActivityName = " |--" + model.ActivityName,
|
||
ActivityCountByCurDay = "共:" + group.Where(i => i.ActivityId == model.ActivityId).Sum(m => m.ActivityCountByCurDay),
|
||
ActivityCountByTime = "共:" + group.Where(i => i.ActivityId == model.ActivityId).Sum(m => m.ActivityCountByTime),
|
||
StrategyName = group.Key
|
||
};
|
||
exportList.Add(item3);
|
||
|
||
foreach (var item2 in group)
|
||
{
|
||
if (item2.ActivityId == model.ActivityId)
|
||
{
|
||
GroupByActivity_Export item4 = new GroupByActivity_Export()
|
||
{
|
||
ActivityName = " |--" + item2.kword,
|
||
ActivityCountByCurDay = item2.ActivityCountByCurDay.ToString(),
|
||
ActivityCountByTime = item2.ActivityCountByTime.ToString(),
|
||
StrategyName = item2.ActivityName
|
||
};
|
||
exportList.Add(item4);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
foreach (var model in group)
|
||
{
|
||
GroupByActivity_Export item2 = new GroupByActivity_Export()
|
||
{
|
||
ActivityName = " |--" + model.ActivityName,
|
||
ActivityCountByCurDay = model.ActivityCountByCurDay.ToString(),
|
||
ActivityCountByTime = model.ActivityCountByTime.ToString(),
|
||
StrategyName = ""
|
||
};
|
||
exportList.Add(item2);
|
||
}
|
||
}
|
||
}
|
||
System.IO.Stream strem = ExcelHelper.ExportListModelToExcel<WX.CRM.Model.QueryMap.GroupByActivity_Export>(exportList, "资源统计数", 50000, checkedFilds, checkedTitles, null);
|
||
return File(strem, contentType, downloadName);
|
||
}
|
||
|
||
#endregion 资源统计数导出
|
||
|
||
#region 高级导出
|
||
|
||
/// <summary>
|
||
/// 高级导出
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[AuthorizeToolBar(InitRights.CONST_资源统计及输出, InitToolBar.CONST_Other3)]
|
||
public ActionResult AdvancedExport()
|
||
{
|
||
//table
|
||
string tableId = "tablist";
|
||
Table tab = new Table(tableId);
|
||
tab.AddHiddenHeadCol("ResTypeId", "ResTypeId");
|
||
tab.AddHiddenHeadCol("ActivityId", "ActivityId");
|
||
tab.AddHiddenHeadCol("RESTOTAL", "RESTOTAL");
|
||
tab.AddHeadCol("", "25px", " ");
|
||
tab.AddHeadCol("TypeName", "20%", "资源类型");
|
||
tab.AddHeadCol("ActivityCountByTime", "20%", "每日新增资源(不受上面时间筛选影响)");
|
||
tab.AddHeadCol("ActivityCountByCurDay", "", "资源合计");
|
||
tab.AddHeadCol("StrategyName", "", "分配策略");
|
||
tab.AddHeadRow();
|
||
ViewBag.gridTable = tab.GetTable();
|
||
return View();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 高级导出excle
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public FileResult AdvancedResourceExport(bool? hasMemo, bool? hasRegisterSoftware, bool? hasOpenFuturesAccount, bool? hasOpenSilverAccount)
|
||
{
|
||
string contentType = "application/ms-excel";
|
||
string downloadName = PageRequest.GetDlownLoadName("资源高级导出" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ".xls");
|
||
|
||
decimal ResTypeId = Convert.ToDecimal(Request.QueryString["ResTypeId"]);
|
||
decimal ActivityId = 0;
|
||
if (Request.QueryString["ActivityId"] != "")
|
||
ActivityId = Convert.ToDecimal(Request.QueryString["ActivityId"]);
|
||
string stime = Request.QueryString["stime"];
|
||
string etime = Request.QueryString["etime"];
|
||
List<WX.CRM.Model.QueryMap.ActivitySourceExport> list = activityBiz_Q.GetListExport_Activity(ResTypeId, ActivityId, DateTime.Parse(stime), DateTime.Parse(etime), hasRegisterSoftware, hasOpenFuturesAccount, hasOpenSilverAccount, hasMemo) as List<WX.CRM.Model.QueryMap.ActivitySourceExport>;
|
||
System.IO.Stream strem = ExcelHelper.ExportListModelToExcel<WX.CRM.Model.QueryMap.ActivitySourceExport>(list, "资源列表", 50000, null);
|
||
|
||
return File(strem, contentType, downloadName);
|
||
}
|
||
|
||
#endregion 高级导出
|
||
|
||
#region 筛选导出
|
||
|
||
[AuthorizeToolBar(InitRights.CONST_资源统计及输出, InitToolBar.CONST_Other3)]
|
||
public FileResult DistbuteDataExport()
|
||
{
|
||
decimal ResTypeId = Convert.ToDecimal(Request.QueryString["ResTypeId"]);
|
||
decimal ActivityId = 0;
|
||
if (Request.QueryString["ActivityId"] != "")
|
||
ActivityId = Convert.ToDecimal(Request.QueryString["ActivityId"]);
|
||
DateTime? stime = Request.QueryString["stime"].GetDateTime();
|
||
DateTime? etime = Request.QueryString["etime"].GetDateTime();
|
||
string choices = Request.QueryString["choices"];
|
||
string excludeWeixinRes = Request.QueryString["excludeWeixinRes"];
|
||
string excludeOrderRes = Request.QueryString["excludeOrderRes"];
|
||
string excludeSpecialMemo = Request.QueryString["excludeSpecialMemo"];
|
||
|
||
DateTime? Memostime = Request.QueryString["Memostime"].GetDateTime();
|
||
DateTime? Memoetime = Request.QueryString["Memoetime"].GetDateTime();
|
||
|
||
int count = 0;
|
||
decimal importId = 0;
|
||
if (Memoetime != null)
|
||
Memoetime = Memoetime.Value.AddDays(1);
|
||
|
||
string contentType = "application/ms-excel";
|
||
string downloadName = PageRequest.GetDlownLoadName("资源导出" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ".xls");
|
||
|
||
List<WX.CRM.Model.QueryMap.ActivitySourceExport> list = activityBiz_Q.GetList_DistributeActivity_export(ResTypeId, ActivityId, stime, etime, choices, Memostime, Memoetime, excludeWeixinRes, excludeOrderRes, excludeSpecialMemo) as List<WX.CRM.Model.QueryMap.ActivitySourceExport>;
|
||
System.IO.Stream strem = ExcelHelper.ExportListModelToExcel<WX.CRM.Model.QueryMap.ActivitySourceExport>(list, "资源列表", 50000, null);
|
||
return File(strem, contentType, downloadName);
|
||
}
|
||
|
||
#endregion 筛选导出
|
||
|
||
#region 资源分配
|
||
|
||
#region 修改后 资源分配
|
||
|
||
public ActionResult Strategy()
|
||
{
|
||
ViewBag.projectType = cache_BL.GetValue_Parameter(Model.Enum.Parameter.Sys_ProjectType);
|
||
return View();
|
||
}
|
||
|
||
[HttpPost]
|
||
public JsonResult DistbuteDataQueryAndInsert(decimal ResTypeId, decimal? ActivityId, DateTime? stime, DateTime? etime)
|
||
{
|
||
try
|
||
{
|
||
int count = 0;
|
||
decimal importId = 0;
|
||
|
||
//lock (sync)
|
||
{
|
||
dISTRIBUTE_Q.DistbuteDataQueryAndInsert(ResTypeId, ActivityId ?? 0, stime, etime, UserId, HasRole(), ref count, ref importId);
|
||
}
|
||
LogHelper.Info("资源分配日志:工号:" + Eid.ToString() + ",进行了分配资源:" + count.ToString());
|
||
if (count >= 0)
|
||
return Json(new { Success = true, DataCount = count, ImportId = importId }, JsonRequestBehavior.AllowGet);
|
||
else
|
||
return Json(new { Success = false, DataCount = count, ImportId = importId }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error("ActivityController_DistbuteDataQueryAndInsert:" + ex.StackTrace + ";" + ex.Message);
|
||
return Json(new { Success = false, Message = ex.Message }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
|
||
public ActionResult Distbute(decimal ImportId, int DataCount)
|
||
{
|
||
var resTypeId = Request["ResTypeId"].GetDecimal(0);
|
||
var glist = _INNERGROUP_Q.GetList().OrderBy(p => p.SORT).ToList();
|
||
var ulist = inneruserBiz_Q.GetList();
|
||
var uglist = inneruserGroupBiz_Q.GetList();
|
||
|
||
var roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
|
||
if (roleCodes.Contains("[BMZG]") && !roleCodes.Contains("[ZJZL]"))
|
||
{
|
||
glist = glist.Where(m => m.SALEDEPTID == saleDeptId).ToList();
|
||
}
|
||
|
||
var ug = from t1 in uglist
|
||
join t2 in ulist on t1.INNERUSERID equals t2.PKID
|
||
join t3 in glist on t1.GID equals t3.GID
|
||
where t2.ISDISMISS == 0
|
||
select new { PKID = t2.PKID, UNAME = t2.UNAME, map_GID = t1.GID, DEPTID = t3.SALEDEPTID };
|
||
|
||
if (roleCodes.Contains("[BMZG]") && !roleCodes.Contains("[ZJZL]"))
|
||
{
|
||
ug = ug.Where(p => p.DEPTID == saleDeptId);
|
||
}
|
||
var ugView = from t1 in ug select new BAS_INNERUSER() { PKID = t1.PKID, UNAME = t1.UNAME, map_GID = t1.map_GID };
|
||
|
||
ViewData["ULIST"] = ugView;
|
||
|
||
ViewData["GLIST"] = glist;
|
||
ViewData["TOTAL"] = DataCount;
|
||
return View();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 长沙使用
|
||
/// </summary>
|
||
/// <param name="ImportId"></param>
|
||
/// <param name="DataCount"></param>
|
||
/// <returns></returns>
|
||
public ActionResult Distbute2(decimal ImportId, int DataCount)
|
||
{
|
||
var glist = _INNERGROUP_Q.GetList();
|
||
var ulist = inneruserBiz_Q.GetList();
|
||
ViewData["GLIST"] = glist;
|
||
var uglist = inneruserGroupBiz_Q.GetList();
|
||
var ug = from t1 in uglist
|
||
join t2 in ulist on t1.INNERUSERID equals t2.PKID
|
||
where t2.ISDISMISS == 0
|
||
select new BAS_INNERUSER() { PKID = t2.PKID, UNAME = t2.UNAME, map_GID = t1.GID };
|
||
ViewData["ULIST"] = ug;
|
||
ViewData["TOTAL"] = DataCount;
|
||
return View();
|
||
}
|
||
|
||
[HttpPost]
|
||
public JsonResult DistbuteSubmit(string distbuteData, decimal ImportId, decimal ResTypeId, decimal? ActivityId)
|
||
{
|
||
try
|
||
{
|
||
List<RES_DISTRIBUTE_DETAIL> list_DISTRIBUTE_DETAIL = new List<RES_DISTRIBUTE_DETAIL>();//_uploadtable.ToList<RES_DISTRIBUTE_DETAIL>();
|
||
RES_DISTRIBUTE model = new RES_DISTRIBUTE
|
||
{
|
||
PICI = "IM" + DateTime.Now.ToString("yyMMddHHmmss"),
|
||
RESTYPEID = ResTypeId,
|
||
ACTIVITYID = ActivityId ?? 0,
|
||
CREATEUSER = UserId,
|
||
CTIME = DateTime.Now,
|
||
DISLEADER = UserId.ToString(),
|
||
SALESREMARK = "",
|
||
REMARK = ""
|
||
};
|
||
bool rst = true;
|
||
rst &= dISTRIBUTE_Q.Create(ref errors, model);
|
||
if (distbuteData != null)
|
||
{
|
||
//List<IMP_RESIMPORTID> list = importQ.GetResImportIdList(ImportId);
|
||
List<EXP_RESIMPORTID> list = importQ.GetExpResImportIdList(ImportId);
|
||
if (list.Any())
|
||
{
|
||
int resindex = 0;
|
||
var disarray = distbuteData.Split(',');
|
||
foreach (string disitem in disarray)
|
||
{
|
||
var disitemarr = disitem.Split(':');
|
||
if (disitemarr.Length != 2)
|
||
continue;
|
||
int num = Convert.ToInt32(string.IsNullOrEmpty(disitemarr[1]) ? "0" : disitemarr[1]);
|
||
while (num-- > 0)
|
||
{
|
||
if (resindex >= list.Count)
|
||
{
|
||
return Json(new { Success = false, Message = "资源不足,分配失败!" }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
var detail = new RES_DISTRIBUTE_DETAIL
|
||
{
|
||
RESID = list[resindex++].IMPORTDATA,
|
||
SALESID = Convert.ToDecimal(disitemarr[0]),
|
||
DISTRIBUTEID = model.PKID,
|
||
CTIME = DateTime.Now
|
||
};
|
||
list_DISTRIBUTE_DETAIL.Add(detail);
|
||
}
|
||
}
|
||
rst &= _DISTRIBUTE_DETAIL.BatchAdd(ref errors, list_DISTRIBUTE_DETAIL);
|
||
|
||
try
|
||
{
|
||
import.BatchRemove(ImportId);
|
||
}
|
||
catch (Exception exx)
|
||
{
|
||
LogHelper.Error("删除导入的数据失败" + exx.ToString());
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return Json(new { Success = false, Message = "找不到数据,请重试!" + errors }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
LogHelper.Info("资源分配日志:工号:" + Eid.ToString() + ",提交了分配资源:" + list.Count.ToString());
|
||
}
|
||
if (rst)
|
||
return Json(new { Success = true, Message = "分配成功" }, JsonRequestBehavior.AllowGet);
|
||
else
|
||
{
|
||
LogHelper.Error("分配失败:" + errors);
|
||
return Json(new { Success = false, Message = "分配失败" + errors }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error("ActivityController/DistbuteSubmit" + ex);
|
||
return Json(new { Success = false, Message = "分配失败" }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
|
||
[HttpPost]
|
||
public JsonResult ClearDistribute(decimal ImportId)
|
||
{
|
||
try
|
||
{
|
||
import.BatchRemove(ImportId);
|
||
return Json(new { Success = true, Message = "分配成功" }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
catch (Exception exx)
|
||
{
|
||
LogHelper.Error("删除导入的数据失败" + exx.ToString());
|
||
return Json(new { Success = false, Message = "分配失败" }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 长沙使用
|
||
/// </summary>
|
||
/// <param name="distbuteData"></param>
|
||
/// <param name="ImportId"></param>
|
||
/// <param name="ResTypeId"></param>
|
||
/// <param name="ActivityId"></param>
|
||
/// <returns></returns>
|
||
[HttpPost]
|
||
public JsonResult DistbuteSubmit2(string distbuteData, decimal ImportId, decimal ResTypeId, decimal? ActivityId)
|
||
{
|
||
try
|
||
{
|
||
var list_DISTRIBUTE_DETAIL = new List<RES_DISTRIBUTE_DETAIL>();//_uploadtable.ToList<RES_DISTRIBUTE_DETAIL>();
|
||
var dis = new Dictionary<string, string>();
|
||
var model = new RES_DISTRIBUTE
|
||
{
|
||
PICI = "IM" + DateTime.Now.ToString("yyMMddHHmmss"),
|
||
RESTYPEID = ResTypeId,
|
||
ACTIVITYID = ActivityId ?? 0,
|
||
CREATEUSER = UserId,
|
||
CTIME = DateTime.Now,
|
||
DISLEADER = UserId.ToString(),
|
||
SALESREMARK = "",
|
||
REMARK = ""
|
||
};
|
||
var rst = true;
|
||
rst &= dISTRIBUTE_Q.Create(ref errors, model);
|
||
if (distbuteData != null)
|
||
{
|
||
List<EXP_RESIMPORTID> list = importQ.GetExpResImportIdList(ImportId);
|
||
int resindex = 0;
|
||
var disarray = distbuteData.Split(',');
|
||
foreach (string disitem in disarray)
|
||
{
|
||
var disitemarr = disitem.Split(':');
|
||
if (disitemarr.Length != 3)
|
||
continue;
|
||
int num = Convert.ToInt32(string.IsNullOrEmpty(disitemarr[1]) ? "0" : disitemarr[1]);
|
||
while (num-- > 0)
|
||
{
|
||
if (resindex >= list.Count)
|
||
{
|
||
return Json(new { Success = false, Message = "资源不足,分配失败!" }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
var detail = new RES_DISTRIBUTE_DETAIL();
|
||
detail.RESID = list[resindex++].IMPORTDATA;
|
||
detail.SALESID = Convert.ToDecimal(disitemarr[0]);
|
||
detail.DISTRIBUTEID = model.PKID;
|
||
detail.CTIME = DateTime.Now;
|
||
list_DISTRIBUTE_DETAIL.Add(detail);
|
||
dis.Add(detail.RESID, disitemarr[2]);
|
||
}
|
||
}
|
||
rst &= _DISTRIBUTE_DETAIL.BatchAdd(ref errors, list_DISTRIBUTE_DETAIL);
|
||
_res_customerdetail.UpdateCategoryDic(dis);
|
||
}
|
||
if (rst)
|
||
return Json(new { Success = true, Message = "分配成功" }, JsonRequestBehavior.AllowGet);
|
||
else
|
||
{
|
||
LogHelper.Error("分配失败:" + errors);
|
||
return Json(new { Success = false, Message = "分配失败" + errors }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error("ActivityController/DistbuteSubmit" + ex);
|
||
return Json(new { Success = false, Message = "分配失败" }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
|
||
public ActionResult DistbuteDisMiss(string resid, bool? isZhuguan, string groupId, decimal? userId, string HidRESOURCETAG, decimal? HidResourceId)
|
||
{
|
||
HidResourceId = HidResourceId.HasValue ? HidResourceId.Value : 0;
|
||
|
||
Pager pager = new Pager() { page = 1, rows = int.MaxValue };
|
||
var roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
|
||
|
||
var list = dISTRIBUTE_Q.GetDistbuteRes(ref pager, resid, userId, groupId, HidRESOURCETAG, HidResourceId.Value);
|
||
var glist = _INNERGROUP_Q.GetList();
|
||
|
||
if (roleCodes.Contains("[BMZG]"))
|
||
{
|
||
glist = glist.Where(m => m.SALEDEPTID == saleDeptId).ToList();
|
||
}
|
||
else if (!(roleCodes.Contains("[ZJZL]") || roleCodes.Contains("[GLY]")))
|
||
{
|
||
glist = glist.Where(m => userOnGroupId.Contains(m.GID)).ToList();
|
||
}
|
||
|
||
var ulist = inneruserBiz_Q.GetList();
|
||
ViewData["GLIST"] = glist;
|
||
var uglist = inneruserGroupBiz_Q.GetList();
|
||
var ug = from t1 in uglist
|
||
join t2 in ulist on t1.INNERUSERID equals t2.PKID
|
||
join t3 in glist on t1.GID equals t3.GID
|
||
where t2.ISDISMISS == 0
|
||
select new { PKID = t2.PKID, UNAME = t2.UNAME, map_GID = t1.GID, DEPTID = t3.SALEDEPTID };
|
||
if (roleCodes.Contains("[BMZG]"))
|
||
{
|
||
ug = ug.Where(p => p.DEPTID == saleDeptId);
|
||
}
|
||
else if (!(roleCodes.Contains("[ZJZL]") || roleCodes.Contains("[GLY]")))
|
||
{
|
||
ug = ug.Where(m => userOnGroupId.Contains(m.map_GID.Value)).ToList();
|
||
}
|
||
var ugView = from t1 in ug select new BAS_INNERUSER() { PKID = t1.PKID, UNAME = t1.UNAME, map_GID = t1.map_GID };
|
||
ViewData["ULIST"] = ugView;
|
||
ViewData["TOTAL"] = pager.totalRows;
|
||
return View();
|
||
}
|
||
|
||
public ActionResult DistbuteDisMissSubmit(string distbuteData, string resid, bool? isZhuguan, string groupId, decimal? userId, string HidRESOURCETAG, decimal? HidResourceId)
|
||
{
|
||
try
|
||
{
|
||
HidResourceId = HidResourceId.HasValue ? HidResourceId.Value : 0;
|
||
|
||
Pager pager = new Pager() { page = 1, rows = int.MaxValue };
|
||
|
||
var list_DISTRIBUTE_DETAIL = new List<RES_DISTRIBUTE_DETAIL>();
|
||
var removeDic = new List<decimal>();
|
||
var updateDic = new List<string>();
|
||
var resTypeId = cache_BL.GetValue_Parameter("RecycleResTypeId");
|
||
if (string.IsNullOrEmpty(resTypeId))
|
||
{
|
||
return Json(new { Success = false, Message = "回收类型ID为空,请联系管理员配置" }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
var model = new RES_DISTRIBUTE
|
||
{
|
||
PICI = "IM" + DateTime.Now.ToString("yyMMddHHmmss"),
|
||
RESTYPEID = decimal.Parse(resTypeId),
|
||
ACTIVITYID = 0,
|
||
CREATEUSER = UserId,
|
||
CTIME = DateTime.Now,
|
||
DISLEADER = UserId.ToString(),
|
||
SALESREMARK = "",
|
||
REMARK = ""
|
||
};
|
||
bool rst = true;
|
||
rst &= dISTRIBUTE_Q.Create(ref errors, model);
|
||
if (distbuteData != null)
|
||
{
|
||
var list = dISTRIBUTE_Q.GetDistbuteRes(ref pager, resid, userId, groupId, HidRESOURCETAG, HidResourceId.Value);
|
||
int resindex = 0;
|
||
var disarray = distbuteData.Split(',');
|
||
foreach (string disitem in disarray)
|
||
{
|
||
var disitemarr = disitem.Split(':');
|
||
if (disitemarr.Length != 2)
|
||
continue;
|
||
int num = Convert.ToInt32(string.IsNullOrEmpty(disitemarr[1]) ? "0" : disitemarr[1]);
|
||
while (num-- > 0)
|
||
{
|
||
if (resindex >= list.Count)
|
||
{
|
||
return Json(new { Success = false, Message = "资源不足,分配失败!" }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
var detail = new RES_DISTRIBUTE_DETAIL
|
||
{
|
||
RESID = list[resindex].resid,
|
||
SALESID = Convert.ToDecimal(disitemarr[0]),
|
||
DISTRIBUTEID = model.PKID,
|
||
CTIME = DateTime.Now
|
||
};
|
||
list_DISTRIBUTE_DETAIL.Add(detail);
|
||
|
||
removeDic.Add(list[resindex].logid);
|
||
updateDic.Add(list[resindex].resid);
|
||
|
||
resindex++;
|
||
}
|
||
}
|
||
rst &= _DISTRIBUTE_DETAIL.BatchAdd(ref errors, list_DISTRIBUTE_DETAIL);
|
||
_DISTRIBUTE_DETAIL.BatchRemove(removeDic);
|
||
_DISTRIBUTE_DETAIL.BatchUpdate(updateDic);
|
||
}
|
||
if (rst)
|
||
return Json(new { Success = true, Message = "分配成功" }, JsonRequestBehavior.AllowGet);
|
||
else
|
||
{
|
||
LogHelper.Error("分配失败:" + errors);
|
||
return Json(new { Success = false, Message = "分配失败" + errors }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error("ActivityController/DistbuteDisMissSubmit" + ex);
|
||
return Json(new { Success = false, Message = "分配失败" }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
|
||
#endregion 修改后 资源分配
|
||
|
||
#region 手工分配回收
|
||
|
||
[HttpGet]
|
||
public ActionResult ChangeDistbuteRes()
|
||
{
|
||
ToolBar tool = new ToolBar();
|
||
tool.AllowButton("Other2");
|
||
tool.AddOtherButton("Other2", "资源分配", "icon-details", "AllocateRes_Click", true);
|
||
ViewBag.ToolBar = tool;
|
||
|
||
//table
|
||
Pager pager = new Pager() { page = 1, rows = 50 };
|
||
string tableId = "tablist";
|
||
Table tab = new Table(tableId);
|
||
//tab.isCheckbox = true;
|
||
tab.AddHiddenHeadCol("PKID", "PKID");
|
||
tab.AddHeadCol("ResId", "15%", "客户ID");
|
||
tab.AddHeadCol("INNERUSERID", "", "员工");
|
||
tab.AddHeadCol("TypeName", "", "资源类型");
|
||
tab.AddHeadCol("ActivityName", "", "活动名称");
|
||
|
||
tab.AddHeadRow();
|
||
ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "50,100");
|
||
|
||
List<SelectListItem> lis = new List<SelectListItem>();
|
||
var rlis = resourceTypeBiz_Q.GetList();
|
||
lis.Add(new SelectListItem() { Value = "0", Text = "-请选择-" });
|
||
foreach (var obj in rlis)
|
||
{
|
||
lis.Add(new SelectListItem() { Value = string.Format("{0}", obj.RESTYPEID), Text = obj.TYPENAME });
|
||
}
|
||
|
||
var category = cache_BL.GetList_SubComType(ComType.CustomerCategory).Select(item => new SelectListItem() { Text = item.SUBTYPENAME, Value = item.SUBTYPENAME }).ToList();
|
||
category.Insert(0, new SelectListItem() { Text = "全部", Value = string.Empty });
|
||
category.Insert(1, new SelectListItem() { Text = "未知", Value = "unknown" });
|
||
ViewData["ResourctType1"] = lis;
|
||
|
||
ViewBag.inneruserid = UserId;
|
||
ViewBag.userGroupId = userGroupId;
|
||
ViewBag.saleDeptId = saleDeptId;
|
||
ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
|
||
|
||
return View();
|
||
}
|
||
|
||
[HttpPost]
|
||
public JsonResult ChangeDistbuteRes(Pager pager, string columns, string groupId, decimal? userId, string resId)
|
||
{
|
||
string resourcetag = Request.Form["HidRESOURCETAG"];
|
||
decimal resourcetypeid = Request.Form["HidResourceId"].GetDecimal(0);
|
||
|
||
var list = dISTRIBUTE_Q.GetDistbuteRes(ref pager, resId, userId, groupId, resourcetag, resourcetypeid);
|
||
Table table = new Table(columns, true);
|
||
table.gridPager = pager;
|
||
//table.isCheckbox = true;
|
||
foreach (var model in list)
|
||
{
|
||
table.AddHiddenCol(model.logid);
|
||
var linkUrl = string.Format("<a href=\"javascript:parent.ChildAddTab('{0}', '{1}', '')\">{2}</a>"
|
||
, "客户详细"
|
||
, "/Csvr/CustomerInfo/CustomerDetail?resid=" + model.resid
|
||
, model.resid);
|
||
|
||
table.AddCol(linkUrl);
|
||
table.AddCol(InnerUserHelper.Instance.GetEidAndTrueName(model.salesid));
|
||
table.AddCol(model.typename);
|
||
table.AddCol(model.activityname);
|
||
|
||
table.AddRow();
|
||
}
|
||
var json = new
|
||
{
|
||
totalPages = pager.totalPages,
|
||
totalRows = pager.totalRows,
|
||
rowsList = table.GetRows()
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
[HttpGet]
|
||
public ActionResult DisbuteResCount()
|
||
{
|
||
ToolBar tool = new ToolBar();
|
||
tool.AllowButton("Other2");
|
||
tool.AddOtherButton("Other2", "资源分配", "icon-details", "AllocateRes_Click", true);
|
||
ViewBag.ToolBar = tool;
|
||
|
||
//table
|
||
Pager pager = new Pager() { page = 1, rows = 50 };
|
||
string tableId = "tablist";
|
||
Table tab = new Table(tableId);
|
||
tab.AddHeadCol("salesid", "", "员工");
|
||
tab.AddHeadCol("typename", "", "资源类型");
|
||
tab.AddHeadCol("activityname", "", "活动名称");
|
||
tab.AddHeadCol("c", "", "数量");
|
||
|
||
tab.AddHeadRow();
|
||
ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "50,100");
|
||
|
||
List<SelectListItem> lis = new List<SelectListItem>();
|
||
var rlis = resourceTypeBiz_Q.GetList();
|
||
lis.Add(new SelectListItem() { Value = "0", Text = "-请选择-" });
|
||
foreach (var obj in rlis)
|
||
{
|
||
lis.Add(new SelectListItem() { Value = string.Format("{0}", obj.RESTYPEID), Text = obj.TYPENAME });
|
||
}
|
||
ViewData["ResourctType1"] = lis;
|
||
|
||
ViewBag.inneruserid = UserId;
|
||
ViewBag.userGroupId = userGroupId;
|
||
ViewBag.saleDeptId = saleDeptId;
|
||
ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
|
||
return View();
|
||
}
|
||
|
||
[HttpPost]
|
||
public JsonResult DisbuteResCount(Pager pager, string columns, string groupId, decimal? userId, DateTime sTime, DateTime eTime, decimal? HidResourceId, decimal? HidACTIVITYID)
|
||
{
|
||
var list = dISTRIBUTE_Q.GetDistbuteResCount(ref pager, userId, groupId, sTime, eTime, HidResourceId, HidACTIVITYID);
|
||
Table table = new Table(columns, true);
|
||
table.gridPager = pager;
|
||
foreach (var model in list)
|
||
{
|
||
table.AddCol(InnerUserHelper.Instance.GetEidAndTrueName(model.salesid));
|
||
table.AddCol(model.typename);
|
||
table.AddCol(model.activityname);
|
||
table.AddCol(model.c);
|
||
|
||
table.AddRow();
|
||
}
|
||
var json = new
|
||
{
|
||
totalPages = pager.totalPages,
|
||
totalRows = pager.totalRows,
|
||
rowsList = table.GetRows()
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
public FileResult DisbuteResCountExport(string groupId, decimal? userId, DateTime sTime, DateTime eTime, decimal? HidResourceId, decimal? HidACTIVITYID)
|
||
{
|
||
var pager = new Pager
|
||
{
|
||
page = 1,
|
||
rows = int.MaxValue
|
||
};
|
||
|
||
string contentType = "application/ms-excel";
|
||
string downloadName = PageRequest.GetDlownLoadName("资源分配统计导出" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ".xls");
|
||
|
||
var list = dISTRIBUTE_Q.GetDistbuteResCount(ref pager, userId, groupId, sTime, eTime, HidResourceId, HidACTIVITYID);
|
||
var data = from q in list
|
||
select new { 员工 = InnerUserHelper.Instance.GetEidAndTrueName(q.salesid), 资源类型 = q.typename, 活动名称 = q.activityname, 数量 = q.c };
|
||
System.IO.Stream strem = ExcelHelper.ExportListModelToExcel(data.ToList(), "资源分配统计导出", 50000, null);
|
||
return File(strem, contentType, downloadName);
|
||
}
|
||
|
||
#endregion 手工分配回收
|
||
|
||
#endregion 资源分配
|
||
|
||
#region 资源回收
|
||
|
||
[HttpGet]
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_资源统计及输出)]
|
||
public ActionResult ResRecycle()
|
||
{
|
||
List<SelectListItem> lis = new List<SelectListItem>();
|
||
var rlis = resourceTypeBiz_Q.GetList();
|
||
lis.Add(new SelectListItem() { Value = "0", Text = "-请选择-" });
|
||
foreach (var obj in rlis)
|
||
{
|
||
lis.Add(new SelectListItem() { Value = string.Format("{0}", obj.RESTYPEID), Text = obj.TYPENAME });
|
||
}
|
||
ViewData["ResourctType1"] = lis;
|
||
ViewData["ResourctType2"] = lis;
|
||
|
||
ViewBag.inneruserid = UserId;
|
||
ViewBag.userGroupId = userGroupId;
|
||
ViewBag.saleDeptId = saleDeptId;
|
||
ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
|
||
|
||
return View();
|
||
}
|
||
|
||
[HttpPost]
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_资源统计及输出)]
|
||
public JsonResult ResRecycle(string groupId, decimal? userId, DateTime? sTime, DateTime? eTime, decimal? HidResourceId, decimal? HidACTIVITYID, decimal? hasNum, decimal? hasOrder, decimal? hasRecord, decimal? hasMemo, decimal? tranResTypeId, decimal? tranResActivityId, string tranResTag, decimal? num)
|
||
{
|
||
try
|
||
{
|
||
dISTRIBUTE_Q.ExecDistbuteRecycle(userId, groupId, sTime, eTime, HidResourceId, HidACTIVITYID, hasNum, hasOrder, hasRecord, hasMemo, tranResTypeId, tranResActivityId, tranResTag, companyId, num);
|
||
return Json(new { ret = true }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error("回收资源出错:" + ex.ToString());
|
||
return Json(new { ret = false }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
|
||
public JsonResult ResRecycleCount(string groupId, decimal? userId, DateTime? sTime, DateTime? eTime, decimal? HidResourceId, decimal? HidACTIVITYID, decimal? hasNum, decimal? hasOrder, decimal? hasRecord, decimal? hasMemo)
|
||
{
|
||
try
|
||
{
|
||
Pager pager = new Pager() { page = 1, rows = int.MaxValue };
|
||
var list = dISTRIBUTE_Q.GetDistbuteResCount(ref pager, userId, groupId, sTime, eTime, HidResourceId, HidACTIVITYID, hasNum, hasOrder, hasRecord, hasMemo);
|
||
|
||
return Json(new { ret = true, count = list.Sum(p => p.c) / 2 }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
catch (Exception)
|
||
{
|
||
return Json(new { ret = false, count = 0 }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
|
||
#endregion 资源回收
|
||
|
||
#region 首页
|
||
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_资源活动管理)]
|
||
public ActionResult Index()
|
||
{
|
||
//ToolBar
|
||
ToolBar tool = new ToolBar();
|
||
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.资源活动管理, userRightId);
|
||
tool.AllowButton(toolbtn);
|
||
//tool.AllowButton("Create", "Edit", "Details", "Delete");
|
||
ViewBag.ToolBar = tool;
|
||
|
||
//table
|
||
Pager pager = new Pager() { page = 1, rows = 20, sort = "desc" };
|
||
string tableId = "tablist";
|
||
Table tab = new Table(tableId);
|
||
tab.AddHeadCol("ACTIVITYID", "8%", "活动ID");
|
||
tab.AddHeadCol("ACTIVITYNAME", "15%", "活动名称", true);
|
||
tab.AddHeadCol("ACTIVITYCODE", "8%", "活动编码", true);
|
||
tab.AddHeadCol("RESOURCETAG", "15%", "活动标签", true);
|
||
tab.AddHeadCol("ACTIVITYADDR", "14%", "活动地址");
|
||
tab.AddHeadCol("RESTYPEID", "15%", "资源类型", true);
|
||
tab.AddHeadCol("CTIME", "10%", "创建时间", true);
|
||
tab.AddHeadCol("MEMO", "", "备注");
|
||
tab.AddHeadRow();
|
||
ViewBag.gridTable = tab.GetTable() + Pagination.GetPage(pager, tableId, "10,20");
|
||
|
||
return View();
|
||
}
|
||
|
||
#endregion 首页
|
||
|
||
#region 列表
|
||
|
||
[HttpPost]
|
||
/// <summary>
|
||
/// 按照条件获取数据
|
||
/// </summary>
|
||
/// <param name="pager"></param>
|
||
/// <param name="queryStr"></param>
|
||
/// <returns></returns>
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_资源活动管理)]
|
||
public JsonResult GetHtmlList(Pager pager, string columns)
|
||
{
|
||
string activityName = Request.Form["activityName"];
|
||
string activityCode = Request.Form["activityCode"];
|
||
string resourceTag = Request.Form["resourceTag"];
|
||
string resTypeName = Request.Form["resTypeName"];
|
||
string stime = Request.Form["stime"];
|
||
string etime = Request.Form["etime"];
|
||
List<WX.CRM.Model.Entity.RES_ACTIVITY_EXTEND> list = activityBiz_Q.GetList(ref pager, activityName, activityCode, resourceTag, resTypeName, stime, etime);
|
||
Table tab = new Table(columns, true);
|
||
tab.gridPager = pager;
|
||
foreach (WX.CRM.Model.Entity.RES_ACTIVITY_EXTEND model in list)
|
||
{
|
||
tab.AddCol(model.res_ACTIVITY.ACTIVITYID);
|
||
tab.AddCol(model.res_ACTIVITY.ACTIVITYNAME);
|
||
tab.AddCol(model.res_ACTIVITY.ACTIVITYCODE);
|
||
tab.AddCol(model.res_ACTIVITY.RESOURCETAG);
|
||
tab.AddCol(model.res_ACTIVITY.ACTIVITYADDR);
|
||
tab.AddCol(model.TYPEName);
|
||
tab.AddCol(model.res_ACTIVITY.CTIME);
|
||
tab.AddCol(model.res_ACTIVITY.MEMO);
|
||
tab.AddRow();
|
||
}
|
||
|
||
var json = new
|
||
{
|
||
totalPages = pager.totalPages,
|
||
totalRows = pager.totalRows,
|
||
rowsList = tab.GetRows()
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
#endregion 列表
|
||
|
||
#region 详细
|
||
|
||
[AuthorizeToolBar(InitRights.CONST_资源活动管理, InitToolBar.CONST_Details)]
|
||
public ActionResult Details(string id)
|
||
{
|
||
WX.CRM.Model.Entity.RES_ACTIVITY model = null;
|
||
if (id != null)
|
||
model = activityBiz_Q.GetModel(Convert.ToDecimal(id));
|
||
else
|
||
model = new WX.CRM.Model.Entity.RES_ACTIVITY();
|
||
return View(model);
|
||
}
|
||
|
||
#endregion 详细
|
||
|
||
#region 编辑
|
||
|
||
[HttpGet]
|
||
[AuthorizeToolBar(InitRights.CONST_资源活动管理, InitToolBar.CONST_Edit)]
|
||
public ActionResult Edit(string id)
|
||
{
|
||
WX.CRM.Model.Entity.RES_ACTIVITY model = null;
|
||
if (id == null)
|
||
{
|
||
model = new WX.CRM.Model.Entity.RES_ACTIVITY();
|
||
// 数据初始化
|
||
}
|
||
else
|
||
model = activityBiz_Q.GetModel(Convert.ToDecimal(id));
|
||
List<WX.CRM.Model.Entity.RES_RESOURCETYPE> type = resourceTypeBiz_Q.GetList();
|
||
ViewBag.typeList = type;
|
||
return View(model);
|
||
}
|
||
|
||
[HttpPost]
|
||
[AuthorizeToolBar(InitRights.CONST_资源活动管理, InitToolBar.CONST_Edit)]
|
||
public JsonResult Edit(WX.CRM.Model.Entity.RES_ACTIVITY model)
|
||
{
|
||
//标签去空格
|
||
model.RESOURCETAG = model.RESOURCETAG.Trim();
|
||
if (!ModelState.IsValid)
|
||
{
|
||
return JsonHandler.ValidateFailMessage();
|
||
}
|
||
if (model.ACTIVITYID == 0)
|
||
{
|
||
model.CREATEUSER = UserId;
|
||
bool result = activityBiz.Create(ref errors, model);
|
||
return JsonHandler.InsertMessage(errors, result);
|
||
}
|
||
else
|
||
{
|
||
model.UPDATEUSER = UserId;
|
||
bool result = activityBiz.Update(ref errors, model);
|
||
return JsonHandler.UpdateMessage(errors, result);
|
||
}
|
||
}
|
||
|
||
#endregion 编辑
|
||
|
||
#region 删除
|
||
|
||
/// <summary>
|
||
/// 删除数据
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <returns></returns>
|
||
[AuthorizeToolBar(InitRights.CONST_资源活动管理, InitToolBar.CONST_Delete)]
|
||
public JsonResult Delete(string id)
|
||
{
|
||
if (string.IsNullOrWhiteSpace(id))
|
||
{
|
||
return JsonHandler.ManageMessage("删除失败", false);
|
||
}
|
||
bool result = activityBiz.Delete(ref errors, Convert.ToDecimal(id));
|
||
return JsonHandler.DeleteMessage(errors, result);
|
||
}
|
||
|
||
#endregion 删除
|
||
|
||
#region 客户资料业的活动信息
|
||
|
||
#region 活动信息
|
||
|
||
public ActionResult ActivityList(string ResId)
|
||
{
|
||
ViewBag.resid = ResId;
|
||
return View();
|
||
}
|
||
|
||
public JsonResult ActivityListHtml(string ResId)
|
||
{
|
||
Table tab = new Table("", true);
|
||
|
||
if (!string.IsNullOrEmpty(ResId))
|
||
{
|
||
var list = activityBiz_Q.GetMonthActivityByresid(ResId);
|
||
var deptList = cache_BL.GetDeptNameMapList();
|
||
foreach (var model in list)
|
||
{
|
||
tab.AddCol(model.ResId);
|
||
tab.AddCol(PhoneHelper.FormatPhoneUserName(model.UserName));
|
||
if (model.deptid.HasValue && model.deptid > 0)
|
||
{
|
||
var dept = deptList.FirstOrDefault(n => n.id == model.deptid);
|
||
if (dept == null)
|
||
{
|
||
tab.AddCol("");
|
||
}
|
||
else
|
||
{
|
||
tab.AddCol(dept.title);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
tab.AddCol("");
|
||
}
|
||
tab.AddCol(model.ActivityName);
|
||
tab.AddCol(model.TypeName);
|
||
tab.AddCol(model.DataType);
|
||
tab.AddCol(model.ExtXml);
|
||
tab.AddCol(model.ApplyTime);
|
||
tab.AddRow();
|
||
}
|
||
}
|
||
var json = new
|
||
{
|
||
rowsList = tab.GetRows()
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
#endregion 活动信息
|
||
|
||
#region 更多活动信息
|
||
|
||
public ActionResult ActivityListmore(string ResId)
|
||
{
|
||
//table
|
||
Pager pager = new Pager() { page = 1, rows = 10 };
|
||
string tableId = "tablist";
|
||
Table tab = new Table(tableId);
|
||
tab.AddHeadCol("resid", "10%", "客户ID");
|
||
tab.AddHeadCol("username", "10%", "用户名");
|
||
tab.AddHeadCol("deptname", "10%", "事业部");
|
||
tab.AddHeadCol("activityname", "10%", "活动名称");
|
||
tab.AddHeadCol("typename", "10%", "资源类型");
|
||
tab.AddHeadCol("datatype", "10%", "数据类型");
|
||
tab.AddHeadCol("extxml", "", "活动备注");
|
||
tab.AddHeadCol("applytime", "10%", "申请时间");
|
||
tab.AddHeadRow();
|
||
ViewBag.gridTable = tab.GetTable() + Pagination.GetPage(pager, tableId, "5,8,10,15");
|
||
ViewBag.resid = ResId;
|
||
return View();
|
||
}
|
||
|
||
public JsonResult ActivityListmoreHtml(Pager pager, string columns)
|
||
{
|
||
string stime = Request.Form["stime"];
|
||
string etime = Request.Form["etime"];
|
||
|
||
string ResId = Request.QueryString["ResId"];
|
||
Table tab = new Table("", true);
|
||
var deptList = cache_BL.GetDeptNameMapList();
|
||
if (!string.IsNullOrEmpty(ResId))
|
||
{
|
||
var list = activityBiz_Q.GetActivityInfoMoreList(ref pager, ResId, stime, etime);
|
||
foreach (var model in list)
|
||
{
|
||
tab.AddCol(model.ResId);
|
||
tab.AddCol(PhoneHelper.FormatPhoneUserName(model.UserName));
|
||
if (model.deptid.HasValue && model.deptid > 0)
|
||
{
|
||
var dept = deptList.FirstOrDefault(n => n.id == model.deptid);
|
||
if (dept == null)
|
||
{
|
||
tab.AddCol("");
|
||
}
|
||
else
|
||
{
|
||
tab.AddCol(dept.title);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
tab.AddCol("");
|
||
}
|
||
tab.AddCol(model.ActivityName);
|
||
tab.AddCol(model.TypeName);
|
||
tab.AddCol(model.DataType);
|
||
tab.AddCol(model.ExtXml);
|
||
tab.AddCol(model.ApplyTime);
|
||
tab.AddRow();
|
||
}
|
||
}
|
||
var json = new
|
||
{
|
||
totalPages = pager.totalPages,
|
||
totalRows = pager.totalRows,
|
||
rowsList = tab.GetRows()
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
#endregion 更多活动信息
|
||
|
||
#endregion 客户资料业的活动信息
|
||
|
||
#region 我的新单活动资源池
|
||
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_我的新单活动资源池)]
|
||
public ActionResult MyActivityRes()
|
||
{
|
||
var resourceType = Request["resourcetype"];
|
||
|
||
//table
|
||
Pager pager = new Pager() { page = 1, rows = 10 };
|
||
string tableId = "tablist";
|
||
Table tab = new Table(tableId);
|
||
tab.AddHeadCol("DeptName", "", "事业部");
|
||
tab.AddHeadCol("ResourceTypeName", "", "资源类型");
|
||
tab.AddHeadCol("ActivityName", "", "活动名称");
|
||
tab.AddHeadCol("ActivityRemark", "", "活动备注");
|
||
tab.AddHeadCol("CTime", "", "时间");
|
||
tab.AddHeadCol("ResId", "", "客户ID");
|
||
tab.AddHeadCol("CName", "", "客户姓名");
|
||
tab.AddHeadCol("ISBOUND", "", "加好友");
|
||
tab.AddHeadCol("FollowInfo", "", "跟进情况");
|
||
tab.AddHeadCol("FollowTime", "", "跟进时间");
|
||
tab.AddHeadCol("Group", "", "销售组");
|
||
tab.AddHeadCol("User", "", "归属客服");
|
||
tab.AddHeadRow();
|
||
ViewBag.gridTable = tab.GetTable() + Pagination.GetPage(pager, tableId, "10,20,50");
|
||
|
||
List<SelectListItem> lis = new List<SelectListItem>();
|
||
var rlis = resourceTypeBiz_Q.GetList();
|
||
lis.Add(new SelectListItem() { Value = "", Text = "-请选择-" });
|
||
foreach (var obj in rlis)
|
||
{
|
||
if (!string.IsNullOrEmpty(resourceType))
|
||
{
|
||
decimal resourceTypeId = 0;
|
||
decimal.TryParse(resourceType, out resourceTypeId);
|
||
if (resourceTypeId == obj.RESTYPEID)
|
||
{
|
||
lis.Add(new SelectListItem() { Value = string.Format("{0}", obj.RESTYPEID), Text = obj.TYPENAME, Selected = true });
|
||
}
|
||
else
|
||
{
|
||
lis.Add(new SelectListItem() { Value = string.Format("{0}", obj.RESTYPEID), Text = obj.TYPENAME });
|
||
}
|
||
}
|
||
else
|
||
{
|
||
lis.Add(new SelectListItem() { Value = string.Format("{0}", obj.RESTYPEID), Text = obj.TYPENAME });
|
||
}
|
||
}
|
||
|
||
ViewData["ResourctType1"] = lis;
|
||
ViewBag.inneruserid = UserId;
|
||
ViewBag.userGroupId = userGroupId;
|
||
ViewBag.saleDeptId = saleDeptId;
|
||
ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
|
||
|
||
var category = cache_BL.GetList_SubComType(ComType.CustomerCategory).Select(item => new SelectListItem() { Text = item.SUBTYPENAME, Value = item.SUBTYPENAME }).ToList();
|
||
|
||
category.Insert(0, new SelectListItem() { Text = string.Empty, Value = string.Empty });
|
||
|
||
ViewBag.category = category;
|
||
|
||
var deptList = cache_BL.GetList_BusinessLines().ToList();
|
||
ViewBag.deptList = deptList;
|
||
|
||
return View();
|
||
}
|
||
|
||
[HttpPost]
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_我的新单活动资源池)]
|
||
public JsonResult GetMyActiviryResList(Pager pager, string columns, QueryUserComboDto usercomboDto, string resid, decimal? HidResourceId, string HidRESOURCETAG, string activityName, string activityRemark, DateTime? cTime1, DateTime? cTime2, decimal? eid, int? deptlineId)
|
||
{
|
||
if (!string.IsNullOrWhiteSpace(resid))
|
||
resid = resid.Trim();
|
||
if (eid.HasValue)
|
||
{
|
||
eid = InnerUserHelper.Instance.GetUserIdByEid(eid.Value);
|
||
}
|
||
|
||
var list = activityBiz_Q.GetMyActiviryResList(ref pager, usercomboDto, resid, HidResourceId, HidRESOURCETAG, activityName, activityRemark, cTime1, cTime2, eid, deptlineId);
|
||
Table table = new Table(columns, true);
|
||
table.gridPager = pager;
|
||
foreach (var model in list)
|
||
{
|
||
table.AddCol(model.DeptName);
|
||
table.AddCol(model.ResourceTypeName);
|
||
table.AddCol(model.ActivityName);
|
||
table.AddCol(model.ActivityRemark);
|
||
table.AddCol(model.CTime);
|
||
|
||
var a = string.Format("<a href=\"javascript:parent.parent.ChildAddTab('{0}', '{1}', '')\">{2}</a>", "客户详细", "/Csvr/CustomerInfo/CustomerDetail?resid=" + model.ResId, model.ResId);
|
||
table.AddCol(a);
|
||
|
||
table.AddCol(model.CName);
|
||
|
||
table.AddCol(model.IsBound);
|
||
|
||
table.AddCol(model.FollowInfo);
|
||
table.AddCol(model.FollowTime);
|
||
table.AddCol(InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(model.InnerUserId)));
|
||
table.AddCol(InnerUserHelper.Instance.EidAndName(model.InnerUserId));
|
||
table.AddRow();
|
||
}
|
||
var json = new
|
||
{
|
||
totalPages = pager.totalPages,
|
||
totalRows = pager.totalRows,
|
||
rowsList = table.GetRows()
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
#endregion 我的新单活动资源池
|
||
|
||
#region
|
||
|
||
public ActionResult LookNotice(decimal type, DateTime? sdate)
|
||
{
|
||
resRecycle_BL.UpadteNoticeLookStatus(UserId, type);
|
||
if (type == 1)
|
||
return Redirect("/Res/Activity/ActivityStOrEx?sdate=" + (sdate.HasValue ? string.Format("{0:yyyy-MM-dd}", sdate) : ""));
|
||
return View();
|
||
}
|
||
|
||
#endregion
|
||
|
||
private decimal? IsSanBu()
|
||
{
|
||
var roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
|
||
if (!(roleCodes.Contains("[GLY]") || roleCodes.Contains("[ZJZL]") || roleCodes.Contains("[ZJ]") || roleCodes.Contains("[CKZY]")))
|
||
{
|
||
if (roleCodes.Contains("[BMZG]"))
|
||
return saleDeptId;
|
||
else
|
||
return 0;
|
||
}
|
||
return null;
|
||
}
|
||
|
||
private int HasRole()
|
||
{
|
||
var roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
|
||
if (roleCodes.Contains("[GLY]") || roleCodes.Contains("[ZJZL]") || roleCodes.Contains("[ZJ]") || roleCodes.Contains("[CKZY]"))
|
||
{
|
||
return 1;
|
||
}
|
||
return 0;
|
||
}
|
||
|
||
#region 新单资源列表
|
||
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_新单活动资源池)]
|
||
public ActionResult ResActivityIndex()
|
||
{
|
||
//ToolBar
|
||
ToolBar tool = new ToolBar();
|
||
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.新单活动资源池, userRightId);
|
||
tool.AllowButton(toolbtn);
|
||
tool.AddOtherButton("Other1", "资源分配", "icon-detail", "AllocateRes_Click", true);
|
||
ViewBag.ToolBar = tool;
|
||
List<SelectListItem> lis = new List<SelectListItem>();
|
||
var rlis = resourceTypeBiz_Q.GetList();
|
||
lis.Add(new SelectListItem() { Value = "0", Text = "-请选择-" });
|
||
foreach (var obj in rlis)
|
||
{
|
||
lis.Add(new SelectListItem() { Value = string.Format("{0}", obj.RESTYPEID), Text = obj.TYPENAME });
|
||
}
|
||
ViewBag.ResourceType = lis;
|
||
|
||
var deptList = cache_BL.GetList_BusinessLines().ToList();
|
||
ViewBag.deptList = deptList;
|
||
|
||
return View();
|
||
}
|
||
|
||
[HttpPost]
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_新单活动资源池)]
|
||
public JsonResult GetResActivityHtmlList(Laypage pager, ActiveQueryModel dto)
|
||
{
|
||
var layUidata = new LayuiData<MyActivityResDto>();
|
||
try
|
||
{
|
||
List<MyActivityResDto> list = activityBiz_Q.GetResModels(pager, dto);
|
||
foreach (var item in list)
|
||
{
|
||
item.gname = InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(item.InnerUserId));
|
||
item.eidInfo = InnerUserHelper.Instance.EidAndName(item.InnerUserId);
|
||
}
|
||
layUidata.msg = "数据加载成功";
|
||
layUidata.code = 0;
|
||
layUidata.data = list;
|
||
layUidata.count = pager.count;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex.ToString());
|
||
layUidata.SetFail(1, "出现错误!" + ex.Message);
|
||
}
|
||
return Json(layUidata);
|
||
}
|
||
|
||
#endregion
|
||
}
|
||
} |