TG.WXCRM.V4/WEB/Controllers/Csvr/ToDoItemController.cs

750 lines
32 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 Common;
using Newtonsoft.Json;
using Ninject;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Web.Mvc;
using ThoughtWorks.QRCode.Geom;
using WX.CRM.BLL.Application.UserComBox;
using WX.CRM.BLL.Base;
using WX.CRM.BLL.Util;
using WX.CRM.Common;
using WX.CRM.Common.StockHelper;
using WX.CRM.IBLL.Base;
using WX.CRM.IBLL.Csvr;
using WX.CRM.IBLL.Res;
using WX.CRM.IBLL.Util;
using WX.CRM.Model.DTO;
using WX.CRM.Model.Entity;
using WX.CRM.Model.Enum;
using WX.CRM.Model.MAP;
using WX.CRM.WebHelper;
using WX.CRM.WebHelper.DoItems;
using static WX.CRM.WEB.Controllers.Quality.ComplainCustomerController;
namespace WX.CRM.WEB.Controllers.Csvr
{
public class ToDoItemController : BaseController
{
[Inject]
public BAS_BUSSINESSLINE_BL line_BL { get; set; }
[Inject]
public CACHE_BL cache_BL { get; set; }
//
// GET: /ToDoItem/
private ICSVR_TODOITEM _todoItem;
private ICSVR_TODOITEM_Q _todoItemq;
private IRES_CUSTOMER_Q _customer;
private IBAS_INNERUSER_Q _inneruserq;
private IRES_CUSTOMERDETAIL_Q _customerDetail;
private IBAS_MENULOG _menulog;
private ICACHE_Q _cache;
private ValidationErrors errors = new ValidationErrors();
public ToDoItemController(
ICSVR_TODOITEM todoItem,
ICSVR_TODOITEM_Q todoItemq,
IRES_CUSTOMER_Q customer,
IBAS_INNERUSER_Q inneruserq,
IRES_CUSTOMERDETAIL_Q customerDetail,
ICACHE_Q cache,
IBAS_MENULOG menulog)
{
this._todoItem = todoItem;
this._todoItemq = todoItemq;
this._customer = customer;
this._inneruserq = inneruserq;
_customerDetail = customerDetail;
_cache = cache;
_menulog = menulog;
}
public ActionResult Index()
{
var tool = new ToolBar();
tool.AllowButton("Create", "Edit", "Other1");
tool.AddOtherButton("Other1", "完成", "icon-flag", "Complete_Click", true);
ViewBag.ToolBar = tool;
var pager = new Pager() { page = 1, rows = 10 };
var tableId = "tablist";
var tab = new Table(tableId);
tab.isCheckbox = true;
tab.AddHiddenHeadCol("pkid", "ID");//隐藏列
tab.AddHeadCol("map_SENDEDUSERID", "10%", "发起待办事项人 ");
tab.AddHeadCol("map_RECEIVEDUSERID", "10%", "接收待办事项人 ");
tab.AddHeadCol("DEPTNAME", "10%", "事业部 ");
tab.AddHeadCol("map_RESID", "10%", "客户ID号");
tab.AddHeadCol("CNAME", "", "姓名");
tab.AddHeadCol("RESOURCETAG", "", "事件");
tab.AddHeadCol("map_MEMO", "10%", "待办事项");
tab.AddHeadCol("ACTIVITYNAME", "", "活动备注");
tab.AddHeadCol("REMARK", "", "备注");
tab.AddHeadCol("map_STARTTIME", "10%", "提醒时间");
tab.AddHeadCol("map_DOSTATUS", "", "状态");
//tab.AddHeadCol("map_DOREMARK", "", "处理结果");
tab.AddHeadCol("map_DOUSERID", "", "完成人");
tab.AddHeadCol("map_DOTIME", "", "完成时间");
tab.AddHeadCol("URL", "", "");
tab.AddHeadRow();
ViewBag.List = tab.GetTable() + Pagination.GetPage(pager, tableId, "10,20,50,100,200");
ViewBag.inneruserid = UserId;
ViewBag.userGroupId = userGroupId;
ViewBag.saleDeptId = saleDeptId;
ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
var deptList = _cache.GetList_BusinessLines().ToList();
ViewBag.deptList = deptList;
return View();
}
[HttpPost]
public JsonResult GetHtmlList(Pager pager, string resid, string columns, string memo, QueryUserComboDto usercomboDto, string resourcetag, int? deptlineid)
{
try
{
//记录待办事项埋点
try
{
var field1 = string.Empty;
if (!string.IsNullOrWhiteSpace(resourcetag))
field1 = EnumHelper.GetEnumDescription((ToDoItemTagEnum)Enum.Parse(typeof(ToDoItemTagEnum), resourcetag, true));
else
field1 = "全部";
var parameter = Utility.GetFormPara().ToJson();
var url = Request.UrlReferrer.AbsolutePath;
var type = _cache.GetList_LeftMemu().FirstOrDefault(x => x.URL.ToLower() == url.ToLower())?.MNAME;
_menulog.Create(ref errors, new BAS_MENULOG { EID = Eid, INNERUSERID = UserId, CTIME = DateTime.Now, FIELD1 = field1, IP = Utility.GetIp(), MENU = url, PARAMETER = parameter, TYPE = type, FIELD2 = memo });
}
catch (Exception ex)
{
LogHelper.Error("待办事项埋点记录出错:" + ex.StackTrace + ";" + ex.Message);
}
DateTime? ctime = Request.Form["ctime"].GetDateTime();
DateTime? etime = Request.Form["etime"].GetDateTime();
decimal status = Request.Form["status"].GetDecimal(-1);
//string groupId = Request.Form["groupId"];
//string userId = Request.Form["userId"];
var activity = Request.Form["activity"];
var list = _todoItemq.GetToDoItemsByParam(ref pager, resid, memo, ctime, etime, status, usercomboDto, resourcetag, activity, deptlineid);
var resids = list.Select(p => p.RESID);
var customers = _customerDetail.GetList(p => resids.Contains(p.RESID));
var table = new Table(columns, true)
{
gridPager = pager
};
table.isCheckbox = true;
var sx = new List<string> { "softlogin", "RFM" };
var tags = EnumHelper.GetSelectItems<ToDoItemTagEnum>();
foreach (var model in list)
{
var customer = customers.FirstOrDefault(p => p.RESID == model.RESID);
var linkUrl = string.Format("<a href=\"javascript:parent.ChildAddTab('{0}', '{1}', '')\">{2}</a>"
, "客户详细"
, "/Csvr/CustomerInfo/CustomerDetail?resid=" + model.RESID
, model.RESID);
table.AddHiddenCol(model.PKID);//影藏列
table.AddCol(InnerUserHelper.Instance.EidAndName(model.SENDEDUSERID));
table.AddCol(InnerUserHelper.Instance.EidAndName(model.RECEIVEDUSERID));
table.AddCol(model.DEPTNAME);
if (string.IsNullOrEmpty(model.URL))
{
table.AddCol(model.RESID);
}
else
{
table.AddCol(linkUrl);
}
table.AddCol(customer == null ? "" : customer.CNAME);
var tagName = "";
if (!string.IsNullOrEmpty(model.RESOURCETAG))
{
var tag = tags.Where(w => w.Key.ToLower() == model.RESOURCETAG.ToLower()).FirstOrDefault();
if (tag != null)
{
tagName = tag.Description;
}
else
{
if (!sx.Contains(model.RESOURCETAG) && !model.RESOURCETAG.StartsWith("UserCenterEvent"))
{
tagName = "报名";
}
}
}
table.AddCol(tagName);
table.AddCol(model.MEMO);
table.AddCol(model.EXTXML ?? "");
table.AddCol(model.REMARK);
table.AddCol(model.STARTTIME);
table.AddCol(model.DOSTATUS == 0 ? "未完成" : "已完成");
//table.AddCol(model.map_DOREMARK);
table.AddCol(InnerUserHelper.Instance.EidAndName(model.DOUSERID));
table.AddCol(model.DOTIME);
if (model.DOSTATUS == 0)
{
if (string.IsNullOrEmpty(model.URL))
{
table.AddCol("");
}
else
{
table.AddCol(string.Format("<a href=\"javascript:gotoComplete('{0}', '{1}', '{3}')\">{2}</a>", model.URLTITLE, model.URL, "去完成", model.PKID));
}
}
else
table.AddCol("");
table.AddRow();
}
var json = new
{
totalPages = pager.totalPages,
totalRows = pager.totalRows,
rowsList = table.GetRows()
};
return Json(json, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
LogHelper.Error("ToDoItemController_GetHtmlList:" + ex.StackTrace + ";" + ex.Message);
var json = new
{
errorMessag = "系统错误:" + ex.Message
};
return Json(json, JsonRequestBehavior.AllowGet);
}
}
public ActionResult Important()
{
var tool = new ToolBar();
tool.AllowButton("Create", "Edit", "Other1");
tool.AddOtherButton("Other1", "完成", "icon-flag", "Complete_Click", true);
ViewBag.ToolBar = tool;
var pager = new Pager() { page = 1, rows = 10 };
var tableId = "tablist";
var tab = new Table(tableId);
tab.isCheckbox = false;
tab.AddHiddenHeadCol("pkid", "ID");//隐藏列
tab.AddHeadCol("deptname", "10%", "业务部 ");
tab.AddHeadCol("ename", "10%", "员工 ");
tab.AddHeadCol("resid", "10%", "客户id");
tab.AddHeadCol("cname", "", "姓名");
tab.AddHeadCol("eventname", "", "重要线索大类");
tab.AddHeadCol("eventtypename", "10%", "重要线索小类");
tab.AddHeadCol("eventmemo", "", "重要内容");
tab.AddHeadCol("noticetime", "10%", "提醒时间");
tab.AddHeadCol("isread", "10%", "是否已读");
tab.AddHeadCol("readtime", "10%", "已读时间");
tab.AddHeadCol("detail", "10%", "重要线索");
tab.AddHeadRow();
ViewBag.List = tab.GetTable() + Pagination.GetPage(pager, tableId, "10,20,50,100,200");
ViewBag.inneruserid = UserId;
ViewBag.userGroupId = userGroupId;
ViewBag.saleDeptId = saleDeptId;
ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
var deptList = _cache.GetList_BusinessLines().ToList();
ViewBag.deptList = deptList;
var webapi = cache_BL.GetValue_Parameter("ToDoItemDetailHost");
if (string.IsNullOrEmpty(webapi))
{
webapi = "http://192.168.11.81:8096";
}
ViewBag.Host = webapi;
return View();
}
[HttpPost]
public JsonResult GetImportantHtmlList(Pager pager, string resid, string columns, QueryUserComboDto usercomboDto, string cname, string eventid, string eventtypename, string eventmemo, DateTime? ctime, DateTime? etime, int? isread, DateTime? readtimestart, DateTime? readtimeend)
{
try
{
var table = new Table(columns, true)
{
gridPager = pager
};
table.isCheckbox = false;
var lineList = line_BL.GetBusinessLineByRoot(UserId);
var lineid = string.Join(",", lineList.Select(o => o.BUSINESSID));
var deptid = default(int?);
if (usercomboDto.departmentid.HasValue)
{
deptid = usercomboDto.departmentid.Value;
}
var eid = default(int?);
if (usercomboDto.eid.HasValue)
{
eid = usercomboDto.eid.Value;
}
var webapi = cache_BL.GetValue_Parameter(Parameter.ZXD_CORE_WEBAPI);
//webapi="http://localhost:5244";
webapi = $"{webapi}/Api/TodoItem/GetList";
var para = $"pageIndex={pager.page}&pageSize={pager.rows}&lineid={lineid}&deptid={deptid}&eid={eid}&resid={resid}&cname={cname}&eventid={eventid}&eventtypename={eventtypename}&eventmemo={eventmemo}&noticetimeBegin={ctime}&noticetimeEnd={etime}&isread={isread}&readtimeBegin={readtimestart}&readtimeEnd={readtimeend}";
var result = Utility.GetData(webapi, para, Encoding.UTF8);
var rsp = Newtonsoft.Json.JsonConvert.DeserializeObject<WX.CRM.Common.StockHelper.ApiResult<WX.CRM.Common.StockHelper.PageResult<TodoItemDto>>>(result);
if (rsp.Data != null)
{
if (rsp.Data.Data != null && rsp.Data.Data.Any())
{
foreach (var model in rsp.Data.Data)
{
table.AddHiddenCol(model.id);//影藏列
table.AddCol(model.deptname);
table.AddCol($"{model.eid} {model.ename}");
table.AddCol(string.Format("<a href=\"javascript:;\" onclick=\"show_user(this,'{0}','{1}','{2}')\">{1}</a>", model.id, model.resid, model.isread.GetValueOrDefault()));
table.AddCol(model.cname);
table.AddCol(model.eventname);
table.AddCol(model.eventtypename);
table.AddCol(model.eventmemo);
table.AddCol($"{model.noticetime?.ToString("yyyy-MM-dd HH:mm:ss")}");
table.AddCol(model.isread.GetValueOrDefault() == 1 ? "已读" : "未读");
table.AddCol($"{model.readtime?.ToString("yyyy-MM-dd HH:mm:ss")}");
table.AddCol(string.Format("<a href=\"javascript:;\" onclick=\"show_detail(this,'{0}','{1}','{3}','{4}','{5}')\">{2}</a>", model.id, model.resid, "查看", model.appid, model.appuserid, model.isread.GetValueOrDefault()));
table.AddRow();
}
}
pager.totalRows = rsp.Data.Total;
}
var json = new
{
pager.totalPages,
pager.totalRows,
rowsList = table.GetRows()
};
return Json(json, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
LogHelper.Error("ToDoItemController_GetImportantHtmlList:" + ex.StackTrace + ";" + ex.Message);
var json = new
{
errorMessag = "系统错误:" + ex.Message
};
return Json(json, JsonRequestBehavior.AllowGet);
}
}
[HttpGet]
[AuthorizeRedirect(Roles = InitRights.CONST_重要线索列表)]
public ActionResult ImportantNew()
{
ToolBar tool = new ToolBar();
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.线, userRightId);
tool.AllowButton(toolbtn);
tool.AddOtherButton("Other1", "导出", "icon-detail", "Export_Click", true);
ViewBag.ToolBar = tool;
ViewBag.inneruserid = UserId;
ViewBag.userGroupId = userGroupId;
ViewBag.saleDeptId = saleDeptId;
ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
var deptList = _cache.GetList_BusinessLines().ToList();
ViewBag.deptList = deptList;
var webapi = cache_BL.GetValue_Parameter("ToDoItemDetailHost");
if (string.IsNullOrEmpty(webapi))
{
webapi = "http://192.168.11.81:8096";
}
ViewBag.Host = webapi;
ViewBag.eid = Eid;
var resid = Request.QueryString["resid"];
ViewBag.resid = resid;
return View();
}
[HttpPost]
[AuthorizeRedirect(Roles = InitRights.CONST_重要线索列表)]
public string ImportantNew(int PageIndex, int PageSize, string Sort, string Order, string resid, int? txt_departmentid, int? txt_eid, string cname, string eventid, string eventtypename, string eventmemo, DateTime? ctime, DateTime? etime, int? isread, DateTime? readtimestart, DateTime? readtimeend, string txt_deptIds)
{
var webapi = cache_BL.GetValue_Parameter(Parameter.ZXD_CORE_WEBAPI);
string lineid = "";
if (!string.IsNullOrWhiteSpace(txt_deptIds))
{
txt_departmentid = null;
lineid = txt_deptIds;
}
else
{
var lineList = line_BL.GetBusinessLineByRoot(UserId);
lineid = string.Join(",", lineList.Select(o => o.BUSINESSID));
}
//webapi="http://localhost:5244";
webapi = $"{webapi}/Api/TodoItem/GetList";
var para = $"pageIndex={PageIndex}&pageSize={PageSize}&lineid={lineid}&deptid={txt_departmentid}&eid={txt_eid}&resid={resid}&cname={cname}&eventid={eventid}&eventtypename={eventtypename}&eventmemo={eventmemo}&noticetimeBegin={ctime}&noticetimeEnd={etime}&isread={isread}&readtimeBegin={readtimestart}&readtimeEnd={readtimeend}";
var result = Utility.GetData(webapi, para, Encoding.UTF8);
return result;
}
[AuthorizeRedirect(Roles = InitRights.CONST_重要线索列表)]
public ActionResult Export(string param)
{
TodoItemRequestDto dto = JsonConvert.DeserializeObject<TodoItemRequestDto>(param);
var webapi = cache_BL.GetValue_Parameter(Parameter.ZXD_CORE_WEBAPI);
string lineid = "";
if (!string.IsNullOrWhiteSpace(dto.txt_deptIds))
{
dto.txt_departmentid = null;
lineid = dto.txt_deptIds;
}
else
{
var lineList = line_BL.GetBusinessLineByRoot(UserId);
lineid = string.Join(",", lineList.Select(o => o.BUSINESSID));
}
//webapi="http://localhost:5244";
webapi = $"{webapi}/Api/TodoItem/GetList";
var para = $"pageIndex=1&pageSize=10000&lineid={lineid}&deptid={dto.txt_departmentid}&eid={dto.txt_eid}&resid={dto.resid}" +
$"&cname={dto.cname}&eventid={dto.eventid}&eventtypename={dto.eventtypename}&eventmemo={dto.eventmemo}&noticetimeBegin={dto.ctime}&noticetimeEnd={dto.etime}&isread={dto.isread}&readtimeBegin={dto.readtimestart}&readtimeEnd={dto.readtimeend}";
var result = Utility.GetData(webapi, para, Encoding.UTF8);
var data = JsonConvert.DeserializeObject<ApiResult<PageResult<TodoItemDto>>>(result);
if (data.Code == 0)
{
string checkedFilds = Server.UrlDecode(Request.Cookies["checkedFilds"].Value);
string checkedTitle = Server.UrlDecode(Request.Cookies["checkedTitles"].Value);
return File(ExcelHelper.ExportListModelToExcel<TodoItemDto>(data.Data.Data.ToList(), "重要线索列表", 10000, checkedFilds, checkedTitle, DataFormart), "application/ms-excel", PageRequest.GetDlownLoadName("重要线索列表.xls"));
}
return Json(new { message = "数据获取错误!" }, JsonRequestBehavior.AllowGet);
}
[HttpPost]
public JsonResult GetEventTypeSelect(string eventid)
{
try
{
var webapi = cache_BL.GetValue_Parameter(Parameter.ZXD_CORE_WEBAPI);
//webapi="http://localhost:5244";
webapi = $"{webapi}/Api/TodoItem/GetEventTypeSelect";
var para = $"eventid={eventid}";
var result = Utility.GetData(webapi, para, Encoding.UTF8);
var rsp = Newtonsoft.Json.JsonConvert.DeserializeObject<WX.CRM.Common.StockHelper.ApiResult<List<SelectItem>>>(result);
var json = new
{
data = rsp.Data,
};
return Json(json, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
LogHelper.Error("ToDoItemController_GetEventTypeSelect:" + ex.StackTrace + ";" + ex.Message);
var json = new
{
errorMessag = "系统错误:" + ex.Message
};
return Json(json, JsonRequestBehavior.AllowGet);
}
}
[HttpPost]
public JsonResult EditRead(int? id)
{
try
{
var webapi = cache_BL.GetValue_Parameter(Parameter.ZXD_CORE_WEBAPI);
//webapi="http://localhost:5244";
webapi = $"{webapi}/Api/TodoItem/EditRead";
var para = $"id={id}";
var result = Utility.GetData(webapi, para, Encoding.UTF8);
var rsp = Newtonsoft.Json.JsonConvert.DeserializeObject<WX.CRM.Common.StockHelper.ApiResult<string>>(result);
var json = new
{
data = rsp.Data,
};
return Json(json, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
LogHelper.Error("ToDoItemController_GetEventTypeSelect:" + ex.StackTrace + ";" + ex.Message);
var json = new
{
errorMessag = "系统错误:" + ex.Message
};
return Json(json, JsonRequestBehavior.AllowGet);
}
}
public class SelectItem
{
public object Key { get; set; }
public object Value { get; set; }
}
[HttpGet]
public ActionResult Add(string id)
{
CSVR_TODOITEM model = null;
if (id != null)
{
model = _todoItemq.GetToDoItemById(Convert.ToDecimal(id));
// var inneruser = _inneruserq.GetModel(model.map_RECEIVEDUSERID);
decimal? RECEIVEDUSERID = InnerUserHelper.Instance.GetEidByUserId(model.map_RECEIVEDUSERID);
model.map_RECEIVEDUSERID = RECEIVEDUSERID.HasValue ? RECEIVEDUSERID.Value : 0;
}
ViewBag.mySelf = UserId;
return View(model);
}
[HttpPost]
public ActionResult Add(CSVR_TODOITEM model)
{
try
{
model.map_SENDEDUSERID = UserId;
model.map_DOSTATUS = 0;
//model.RESID = model.RESID.Trim();
if (model.map_SENDEDUSERID == model.map_RECEIVEDUSERID)
{
model.map_ISPRIVATE = 1;
}
else { model.map_ISPRIVATE = 0; }
model.map_RECEIVEDUSERID = InnerUserHelper.Instance.GetUserIdByEid(model.map_RECEIVEDUSERID);
if (ModelState.IsValid)
{
if (model.PKID == 0)
{
bool result = this._todoItem.Create(ref errors, model);
return JsonHandler.InsertMessage(errors, result);
}
else
{
if (model.map_DOSTATUS == 0)
{
bool result = this._todoItem.Update(ref errors, model);
return JsonHandler.UpdateMessage(errors, result);
}
else { return JsonHandler.ManageMessage("该事项已完成", false); }
}
}
else
{
return JsonHandler.JsonResultSerialize(ModelState);
}
}
catch (Exception ex)
{
LogHelper.Error(ex.Message);
return JsonHandler.ManageMessage(ex.Message, false);
}
}
[HttpPost]
public ActionResult DoItems()
{
string msg = "";
string msginfo = "";
string url = "";
string urk = "";
try
{
foreach (var tool in WebHelper.DoItems.PopupMessageFactory.PopupMessageArray)
{
msg = tool.GetMessage(UserId);
if (msg != string.Empty)
{
url = tool.GetUrl().IndexOf("?") > -1 ? (tool.GetUrl() + "&userid=" + UserId) : (tool.GetUrl() + "?userid=" + UserId);
msginfo += msg + ",";
urk += url + ",";
}
}
if (!string.IsNullOrEmpty(msginfo))
{
string[] msglist = msginfo.Substring(0, msginfo.Length - 1).Split(',');
string[] urllist = urk.Substring(0, urk.Length - 1).Split(',');
var json = new { result = true, messages = msglist, url = urllist };//数组初始化
return Json(json, JsonRequestBehavior.AllowGet);
}
else
{
var json = new
{
result = false,
messages = "",
url = ""
};
return Json(json, JsonRequestBehavior.AllowGet);
}
}
catch (Exception ex)
{
LogHelper.Error("DoItems" + ex.ToString());
var json = new
{
result = false,
messages = ex.Message,
url = ""
};
return Json(json, JsonRequestBehavior.AllowGet);
}
}
//public ActionResult SetNeedRefresh()
//{
// WebHelper.DoItems.PopupMessageFactory.toDoItemMessage.SetNeedRefresh();
// var json = new
// {
// result = true,
// messages = "",
// url = ""
// };
// return Json(json, JsonRequestBehavior.AllowGet);
//}
[HttpPost]
public ActionResult Complete(string allid)
{
if (string.IsNullOrEmpty(allid))
{
return JsonHandler.ManageMessage("参数有误!", false);
}
var ids = allid.Replace("][", ";").Replace("]", "").Replace("[", "");
string nojieshouren = "";
foreach (var item in ids.Split(';'))
{
var id = Convert.ToDecimal(item);
var model = _todoItemq.GetToDoItemById(id);
if (model != null)
{
if (model.DOSTATUS < 1)
{
if (model.RECEIVEDUSERID == UserId)
{
model.DOSTATUS = 1;
model.DOTIME = DateTime.Now;
model.DOUSERID = UserId;
model.DOREMARK = "完成";
bool result = this._todoItem.Update(ref errors, model);
if (!result)
{
return JsonHandler.UpdateMessage(errors, result);
}
else
{
PopupMessageFactory.toDoItemMessage.SetView(model.map_RECEIVEDUSERID, model.map_PKID.ToString());
}
}
else
{
nojieshouren += string.IsNullOrEmpty(nojieshouren) ? $"{id}" : $",{id}";
//return JsonHandler.ManageMessage("非接收人不能完成该待办事项", false);
}
}
//else
//{
// return JsonHandler.ManageMessage("该事项已完成", false);
//}
//return JsonHandler.ManageMessage("修改成功", true);
}
else
{
//return JsonHandler.ManageMessage("找不到该数据", false);
}
}
if (string.IsNullOrEmpty(nojieshouren))
return JsonHandler.ManageMessage("修改成功", true);
else
{
return JsonHandler.ManageMessage($"ID:{nojieshouren}非接收人不能完成该待办事项", false);
}
}
[AuthorizeRedirect(Roles = InitRights.CONST_公共权限)]
public FileResult ExportAll(string resid, string columns, QueryUserComboDto usercomboDto, string resourcetag)
{
Pager pager = new Pager() { page = 1, rows = int.MaxValue };
string checkedFilds = PageRequest.GetQueryString("checkedFilds");
string checkedTitles = PageRequest.GetQueryString("checkedTitles");
DateTime? ctime = Request.QueryString["ctime"].GetDateTime();
DateTime? etime = Request.QueryString["etime"].GetDateTime();
decimal status = Request.QueryString["status"].GetDecimal(-1);
var list = _todoItemq.GetToDoItemsByParamExport(ref pager, resid, ctime, etime, status, usercomboDto, resourcetag);
//List<WX.CRM.Model.Entity.BAS_INNERUSER_Extend> list = inneruserBiz_Q.GetList(ref pager, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
return File(ExcelHelper.ExportListModelToExcel<WX.CRM.Model.Entity.CSVR_TODOITEM_MAP>(list, "代办事项", 10000, checkedFilds, checkedTitles, DataFormart), "application/ms-excel", PageRequest.GetDlownLoadName("代办事项.xls"));
}
//用作委托传递
public string DataFormart(string key, object value)
{
string formartValue = string.Empty;
switch (key)
{
case "map_DOSTATUS":
switch (Convert.ToString(value))
{
case "0": formartValue = "未完成"; break;
default: formartValue = "已完成"; break;
}; break;
case "map_SENDEDUSERID":
formartValue = InnerUserHelper.Instance.EidAndName(Convert.ToDecimal(value)); break;
case "map_RECEIVEDUSERID":
formartValue = InnerUserHelper.Instance.EidAndName(Convert.ToDecimal(value)); break;
case "URL":
formartValue = ""; break;
default: formartValue = string.Format("{0}", value); break;
}
return formartValue;
}
}
public class TodoItemDto
{
public int? id { get; set; }
public int? deptid { get; set; }
public string deptname { get; set; }
public int? eid { get; set; }
public string ename { get; set; }
public string resid { get; set; }
public string umid { get; set; }
public int? customerid { get; set; }
public string cname { get; set; }
public int? eventid { get; set; }
public string eventname { get; set; }
public string eventmemo { get; set; }
public DateTime? noticetime { get; set; }
public string eventtypename { get; set; }
public int? isread { get; set; }
public DateTime? readtime { get; set; }
public string appid { get; set; }
public string appuserid { get; set; }
}
}