TG.WXCRM.V4/WEB/Controllers/Res/ActivityController.cs

2069 lines
94 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}
}