TG.WXCRM.V4/WEB/Controllers/WeiXin/AfterSalesController.cs

1454 lines
60 KiB
C#

using Ninject;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web.Mvc;
using WX.CRM.BLL;
using WX.CRM.BLL.Base;
using WX.CRM.BLL.Util;
using WX.CRM.Common;
using WX.CRM.Common.Layui;
using WX.CRM.IBLL.Cache;
using WX.CRM.IBLL.Ord;
using WX.CRM.IBLL.Wx;
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.WeiXin
{
public class AfterSalesController : BaseController
{
private readonly IWX_AFTERSALES _aftersales;
private IWX_SZZYPRODUCT wx_SzzyProduct_BL;
private IWX_ORDERCUSTOMERTYPE _wx_OrderCustomerType;
private IWX_ORDERCUSTOMERCLASSIFY _wx_OrderCustomerClassify;
private IWX_SZZYORDER _wx_SzzyOrder;
private List<WX_ORDERCUSTOMERTYPE> orderCustomerTypeList;
[Inject]
public IWX_AFTERSALES_LOG wx_AfterSales_Log_BL { get; set; }
[Inject]
public WX.CRM.IBLL.Base.IBAS_INNERUSER_Q innerUser_BL { get; set; }
[Inject]
public IWX_AFTERSALES2 _aftersales2 { get; set; }
[Inject]
public icache_ord_memo_bl _cacheOrdMemo { get; set; }
[Inject]
public IORD_MEMOCONTENT_Q _ordMemoContentQ { get; set; }
[Inject]
public IWX_SZZYMIDPRODUCT _midProduct { get; set; }
[Inject]
public CACHE_BL _cache { get; set; }
public AfterSalesController(IWX_AFTERSALES aftersales, IWX_SZZYPRODUCT wx_SzzyProduct_BL, IWX_ORDERCUSTOMERTYPE iWX_ORDERCUSTOMERTYPE, IWX_ORDERCUSTOMERCLASSIFY iWX_ORDERCUSTOMERCLASSIFY, IWX_SZZYORDER iWX_SZZYORDER)
{
_aftersales = aftersales;
this.wx_SzzyProduct_BL = wx_SzzyProduct_BL;
this._wx_OrderCustomerType = iWX_ORDERCUSTOMERTYPE;
this._wx_OrderCustomerClassify = iWX_ORDERCUSTOMERCLASSIFY;
this._wx_SzzyOrder = iWX_SZZYORDER;
orderCustomerTypeList = _wx_OrderCustomerType.GetList().ToList();
}
[HttpGet]
[AuthorizeRedirect(Roles = InitRights.CONST_售后分配)]
public ActionResult Index()
{
var tool = new ToolBar();
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights., userRightId);
tool.AllowButton(toolbtn);
tool.AddOtherButton("Other1", "提交", "icon-flag", "Save_Click", true);
tool.AddOtherButton("Other2", "重新绑定", "icon-flag", "Bind_Click", true);
tool.AddOtherButton("Other3", "批量重新绑定", "icon-flag", "BatchBind_Click", true);
tool.AddOtherButton("Other4", "导出", "icon-export", "export_Click", true);
ViewBag.ToolBar = tool;
Pager gp = new Pager() { page = 1, rows = 20 };
Table tab = new Table("tablist");
tab.AddHiddenHeadCol("res", "");
tab.AddHeadCol("resid", "", "客户ID");
tab.AddHeadCol("cname", "", "客户姓名");
tab.AddHeadCol("AmountTypeid", "", "资金量");
tab.AddHeadCol("subProductName", "", "产品");
tab.AddHeadCol("finalPay", "", "实付金额");
tab.AddHeadCol("oTime", "", "开通时间");
tab.AddHeadCol("ctime", "", "分配时间");
tab.AddHeadCol("ENDTIME", "", "到期时间");
tab.AddHeadCol("overtime", "", "赠送到期");
tab.AddHeadCol("LastServiceTime", "", "最后服务时间");
tab.AddHeadCol("saleUser", "", "主分成人");
tab.AddHeadCol("saleUserGroup", "", "主分成人组名");
tab.AddHeadCol("saleGroup", "", "售后组名");
tab.AddHeadCol("mainTraderUser", "", "所属售后");
tab.AddHeadCol("MemoResId", "", "销售备注");
tab.AddHeadCol("operation", "", "操作");
var ZJL = _cache.GetList_SubComType(ComType.CustomerZJL).Select(item => new SelectListItem() { Text = item.SUBTYPENAME, Value = item.SUBTYPECODE }).ToList();
ViewBag.ZJL = ZJL;
tab.AddHeadRow();
ViewBag.GroupList = tab.GetTable() + Pagination.GetPage(gp, "tablist", "20,30,50");
return View();
}
[HttpPost]
[AuthorizeRedirect(Roles = InitRights.CONST_售后分配)]
public JsonResult Index(Pager pg, string resid, decimal? aftersale, decimal? bindType, bool samllorder, DateTime? overstarttime, DateTime? overendtime, string amounttypeid, string columns)
{
try
{
Table tb = new Table(columns, true) { gridPager = pg };
decimal? innerUserId = null;
if (aftersale.HasValue)
{
innerUserId = InnerUserHelper.Instance.GetUserIdByEid(aftersale);
}
if (overendtime.HasValue)
{
overendtime = overendtime.Value.AddDays(1);
}
//var list = _aftersales.GetAfterSaleAssignViews(ref pg, resid, innerUserId, bindType, samllorder);
var list = _aftersales.GetAfterSaleAssignViewList(ref pg, resid, innerUserId, bindType, amounttypeid, samllorder, overstarttime, overendtime);
var memoResList = _aftersales.GetServiceResList();
int i = 1;
var ZJL = _cache.GetList_SubComType(ComType.CustomerZJL);
foreach (var model in list)
{
tb.AddHiddenCol(model.RESID);
var linkUrl = string.Format("<a href=\"javascript:parent.ChildAddTab('{0}', '{1}', '')\">{2}</a>", "客户详细", "/Csvr/CustomerInfo/CustomerDetail?resid=" + model.RESID, model.RESID);
tb.AddCol(linkUrl);
tb.AddCol(model.CNAME);
var am = ZJL.FirstOrDefault(m => m.SUBTYPECODE == model.amounttypeid);
if (am == null)
{
tb.AddCol("【未知】");
}
else
{
tb.AddCol(am.SUBTYPENAME);
}
tb.AddCol(model.SUBPRODUCTNAME);
tb.AddCol(model.FINALPAY);
tb.AddCol(model.OTIME);
tb.AddCol(model.CTIME);
tb.AddCol(model.ENDTIME);
tb.AddCol(model.overtime);
tb.AddCol(model.LastServiceTime);
tb.AddCol(InnerUserHelper.Instance.EidAndName(model.SALEUSERID));
tb.AddCol(InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(model.SALEUSERID)));
tb.AddCol(InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(model.INNERUSERID)));
tb.AddCol(InnerUserHelper.Instance.EidAndName(model.INNERUSERID));
var memoRes = memoResList.Select(m => m.ResId == model.RESID).FirstOrDefault();
tb.AddCol(memoRes ? "是" : "");
tb.AddCol(!model.INNERUSERID.HasValue ? string.Format("售后工号:<input type='text' name='aftersale' oldTUser='{3}' resid='{2}' id='{1}' value='{0}' style='width:100px;'/>", "", "aftersale" + i, model.RESID, model.INNERUSERID) : InnerUserHelper.Instance.GetEid(model.INNERUSERID));
tb.AddRow();
i++;
}
var json = new
{
totalPages = pg.totalPages,
totalRows = pg.totalRows,
rowsList = tb.GetRows()
};
return Json(json, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
LogHelper.Error(ex.ToString());
return JsonHandler.ManageMessage(ex.Message, false);
}
}
[HttpGet]
[AuthorizeRedirect(Roles = InitRights.CONST_售后订单)]
public ActionResult OrderList()
{
var tool = new ToolBar();
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights., userRightId);
tool.AllowButton(toolbtn);
tool.AddOtherButton("Other1", "导出", "icon-export", "export_Click", true);
tool.AddOtherButton("Other2", "客户归类", "icon-export", "sort_Click", true);
ViewBag.ToolBar = tool;
Pager pager = new Pager() { page = 1, rows = 20 };
string tableId = "tablist";
Table tab = new Table(tableId);
tab.AddHiddenHeadCol("ORDERID", "编号");
tab.AddHeadCol("RESID", "", "客户ID");
tab.AddHeadCol("AmountTypeid", "", "资金量");
tab.AddHeadCol("INNERUSERID", "", "所属售后");
tab.AddHeadCol("Uname", "", "下单人");
tab.AddHeadCol("Gname", "", "下单人组");
tab.AddHeadCol("SUBPRODUCTNAME", "", "产品");
tab.AddHeadCol("ARRIVALPAY", "", "到账金额");
tab.AddHeadCol("ORDERID", "", "订单ID");
tab.AddHeadCol("CNAME", "", "客户姓名");
tab.AddHeadCol("ORDERTYPE", "", "订单类型");
tab.AddHeadCol("ORDERSTATUS", "", "订单状态");
tab.AddHeadCol("OTIME", "", "开通时间", true, true);
tab.AddHeadCol("ENDTIME", "", "到期时间");
tab.AddHeadCol("GiftTime", "", "赠送到期");
tab.AddHeadCol("IsOverTime", "", "剩余天数");
tab.AddHeadCol("LastServiceTime", "", "最后服务时间", true);
tab.AddHeadCol("MemoSubTypeId", "", "销售备注");
tab.AddHeadCol("SOURCE", "", "客户来源");
tab.AddHeadCol("CUSTOMERUSERNAME", "", "客户微信用户名");
tab.AddHeadCol("CUSTOMERCLASSIFY", "", "客户归类");
tab.AddHeadRow();
ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "5,10,15,20");
ViewBag.productList = getProductList();
ViewBag.inneruserid = UserId;
ViewBag.userGroupId = userGroupId;
ViewBag.saleDeptId = saleDeptId;
ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
ViewBag.customerTypeList = orderCustomerTypeList;
var ZJL = DataCacheHelper.GetCache().GetList_SubComType(ComType.CustomerZJL).Select(item => new SelectListItem() { Text = item.SUBTYPENAME, Value = item.SUBTYPECODE }).ToList();
ViewBag.ZJL = ZJL;
return View();
}
[HttpPost]
[AuthorizeRedirect(Roles = InitRights.CONST_售后订单)]
public JsonResult OrderList(Pager pager, string resId, string contractCode, string szzyOrderId, decimal productId, decimal subProductId, decimal orderType, string stime, string etime, string orderStatus, string ostime, string oetime, string fcText, QueryUserComboDto usercomboDto, string cname, string customerType, DateTime? overstarttime, DateTime? overendtime, string amounttypeid, string columns)
{
var typeList = orderCustomerTypeList;
if (overendtime.HasValue)
{
overendtime = overendtime.Value.AddDays(1);
}
List<AfterSaleServiceView> list = _aftersales.GetList(ref pager, resId, szzyOrderId, productId, subProductId, orderType, stime, etime, usercomboDto, orderStatus, ostime, oetime, cname, customerType, overstarttime, overendtime, amounttypeid);
Table table = new Table(columns, true);
table.gridPager = pager;
var ZJL = DataCacheHelper.GetCache().GetList_SubComType(ComType.CustomerZJL);
foreach (var model in list)
{
table.AddHiddenCol(model.ORDERID);
var linkUrl = string.Format("<a href=\"javascript:parent.ChildAddTab('{0}', '{1}', '')\">{2}</a>"
, "客户详细"
, "/Csvr/CustomerInfo/CustomerDetail?resid=" + model.ResId
, model.ResId);
table.AddCol(linkUrl);
var am = ZJL.FirstOrDefault(m => m.SUBTYPECODE == model.amounttypeid);
if (am == null)
{
table.AddCol("【未知】");
}
else
{
table.AddCol(am.SUBTYPENAME);
}
table.AddCol(model.INNERUSERID.HasValue ? InnerUserHelper.Instance.EidAndName(model.INNERUSERID.Value) : "未知");
table.AddCol(string.IsNullOrEmpty(model.Uname) ? InnerUserHelper.Instance.GetEidAndTrueName(model.SALERID) : string.Format("{0}-{1}", model.Eid, model.Uname));
table.AddCol(string.IsNullOrEmpty(model.Gname) ? InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(model.SALERID)) : model.Gname);
table.AddCol(model.SUBPRODUCTNAME);
table.AddCol(model.ARRIVALPAY);
table.AddCol(model.ORDERID);
table.AddCol(model.CNAME);
table.AddCol(getOrderTypeStr(model.ORDERTYPE));
table.AddCol(model.ORDERSTATUSNAME);
table.AddCol(model.OTIME);
table.AddCol(model.ENDTIME);
var giftDays = model.GiftDays ?? 0;
var giftDays2 = model.GiftDays2 ?? 0;
if (giftDays > 0 || giftDays2 > 0)
{
var addDays = giftDays;
if (giftDays < giftDays2)
{
addDays = giftDays2;
}
var overTime = model.ENDTIME.Value.AddDays(Convert.ToDouble(addDays));
table.AddCol(overTime);
if (overTime < DateTime.Now)
{
table.AddCol("color:red", "", "已到期");
}
else
{
var ss = (overTime - DateTime.Now).Days + 1;
table.AddCol("color:green", "", string.Format("{0}天", ss));
}
}
else
{
table.AddCol(model.ENDTIME);
if (model.ENDTIME.HasValue)
{
if (model.ENDTIME < DateTime.Now)
{
table.AddCol("color:red", "", "已到期");
}
else
{
var ss = (model.ENDTIME.Value - DateTime.Now).Days + 1;
table.AddCol("color:green", "", string.Format("{0}天", ss));
//table.AddCol("color:green", "", "未到期");
}
}
else
{
table.AddCol("未知");
}
}
table.AddCol(model.LastServiceTime);
table.AddCol(model.MEMOSUBTYPEID != null ? "是" : "");
table.AddCol(Utility.getSourceText(model.SOURCE));
table.AddCol(model.CUSTOMERUSERNAME);
var customerClassify = "";
if (!string.IsNullOrWhiteSpace(model.CustomerClassify))
{
var ids = model.CustomerClassify.Split(',').Select(m => Convert.ToDecimal(m));
foreach (var id in ids)
{
WX_ORDERCUSTOMERTYPE customerTypeItem = typeList.Where(m => m.PKID == id).FirstOrDefault();
if (customerTypeItem != null)
{
customerClassify += customerTypeItem.NAME + ",";
}
}
if (!string.IsNullOrWhiteSpace(customerClassify))
{
customerClassify = customerClassify.Trim(',');
}
}
table.AddCol(customerClassify);
if (model.CUSTOMERUSERNAME == null && !string.IsNullOrEmpty(InnerUserHelper.Instance.GetEid(model.SALERID)))
{
table.AddRow("style=\"color:red;\" title=\"该客户还未绑定微信,请绑定!\"");
}
else
table.AddRow();
}
var json = new
{
totalPages = pager.totalPages,
totalRows = pager.totalRows,
rowsList = table.GetRows()
};
return Json(json, JsonRequestBehavior.AllowGet);
}
/// <summary>
/// 售后分配,列表填写工号提交
/// </summary>
/// <param name="aftersales"></param>
/// <returns></returns>
[HttpPost]
public JsonResult Save(string aftersales)
{
try
{
var list = new List<AfterSaleCommit>();
if (!string.IsNullOrEmpty(aftersales))
{
var traderlist = JsonHelper.JsonDivertToObj<List<AfterSaleCommit>>(aftersales);
foreach (var item in traderlist)
{
#region
if (item.NewUserId.HasValue)
{
decimal eid;
if (decimal.TryParse(item.NewUserId.ToString(), out eid))
{
decimal newUserId = InnerUserHelper.Instance.GetUserIdByEid(eid);
if (newUserId > 1)
{
AfterSaleCommit info = new AfterSaleCommit
{
Id = item.Id,
NewUserId = newUserId,
OldUserId = item.OldUserId,
ResId = item.ResId
};
list.Add(info);
}
else
{
ModelState.AddModelError(item.Id, "工号不存在");
}
}
else
{
ModelState.AddModelError(item.Id, "工号不正确");
}
}
else
{
if (item.OldUserId.HasValue)
{
list.Add(new AfterSaleCommit { Id = item.Id, NewUserId = item.NewUserId, OldUserId = item.OldUserId, ResId = item.ResId });
}
}
#endregion
}
}
if (!ModelState.IsValid)
{
return JsonHandler.JsonResultSerialize(ModelState);
}
var afterSaleList = new List<WX_AFTERSALES>();
foreach (var item in list)
{
if (item.NewUserId != item.OldUserId)
{
var info = new WX_AFTERSALES()
{
RESID = item.ResId,
INNERUSERID = item.NewUserId ?? 0
};
afterSaleList.Add(info);
}
}
_aftersales.SaveAfterSale(afterSaleList);
foreach (var item in list)
{
if (item.NewUserId.HasValue)
{
var afterSalesLog = new WX_AFTERSALES_LOG();
afterSalesLog.PKID = new SEQUENCES_BL().Seq_base_get();
afterSalesLog.RESID = item.ResId;
afterSalesLog.INNERUSERID = item.NewUserId.Value;
afterSalesLog.STARTDATE = DateTime.Now.Date;
afterSalesLog.ENDDATE = Convert.ToDateTime("2050-1-1").Date;
afterSalesLog.OPERATORID = UserId;
afterSalesLog.CTIME = DateTime.Now;
afterSalesLog.OLD_INNERUSERID = item.OldUserId;//旧员工
wx_AfterSales_Log_BL.Add(afterSalesLog);
}
}
return JsonHandler.ManageMessage("修改成功", true);
}
catch (Exception ex)
{
LogHelper.Error(ex.ToString());
return JsonHandler.ManageMessage(ex.Message, false);
}
}
#region
public ActionResult CustomerSort(string resid)
{
var model = _wx_OrderCustomerClassify.GetList(p => p.RESID == resid);
var modelType = _wx_OrderCustomerType.GetList().ToList();
var data = from a in model join b in modelType on a.TYPEID equals b.PKID select a.TYPEID;
ViewBag.OrderCustomerType = modelType;
ViewBag.OrderCustomerClassify = data.ToList();
ViewBag.Resid = resid;
return View();
}
public JsonResult SortSave(string resid, string TypeId)
{
try
{
string message = "归类失败";
bool result = false;
List<WX_ORDERCUSTOMERCLASSIFY> list = _wx_OrderCustomerClassify.GetList(p => p.RESID == resid).ToList();
List<decimal> ilist = new List<decimal>();
int sign = 1;
if (TypeId != "")
{
string[] id = TypeId.Split(',');
foreach (var a in id)
{
decimal tid = Convert.ToDecimal(a);
ilist.Add(tid);
var model = list.Where(p => p.TYPEID == tid).FirstOrDefault();
if (model == null)
{
WX_ORDERCUSTOMERCLASSIFY wx_ocy = new WX_ORDERCUSTOMERCLASSIFY()
{
PKID = new SEQUENCES_BL().Seq_base_get(),
TYPEID = tid,
RESID = resid,
CREATEUSER = UserId,
CTIME = DateTime.Now
};
sign = _wx_OrderCustomerClassify.Add(wx_ocy);
}
}
}
list = list.Where(p => !ilist.Contains(p.TYPEID)).ToList();
foreach (var data in list)
{
_wx_OrderCustomerClassify.Delete(data);
}
if (sign == 1)
{
message = "归类成功";
result = true;
_wx_SzzyOrder.UpdateCustomerClassify(resid, TypeId);
}
return JsonHandler.ManageMessage(message, result);
}
catch (Exception ex)
{
return JsonHandler.ManageMessage(ex.Message, false);
}
}
#endregion
[HttpGet]
[AuthorizeRedirect(Roles = InitRights.CONST_售后分配)]
public ActionResult Bind(string resId)
{
var model = _aftersales.Get(m => m.RESID == resId);
if (model != null)
{
var list = wx_AfterSales_Log_BL.GetList(m => m.RESID == resId).OrderByDescending(m => m.CTIME).ToList();
if (list != null && list.Count > 0)
{
string tableId = "tablist";
Table tab = new Table(tableId);
tab.AddHeadCol("EID", "", "售后");
tab.AddHeadCol("STARTDATE", "", "开始时间");
tab.AddHeadCol("ENDDATE", "", "结束时间");
tab.AddHeadCol("CTIME", "", "创建时间");
tab.AddHeadRow();
foreach (var item in list)
{
tab.AddCol(InnerUserHelper.Instance.GetEidAndTrueName(item.INNERUSERID));
tab.AddCol(item.STARTDATE);
tab.AddCol(item.ENDDATE);
tab.AddCol(item.CTIME);
tab.AddRow();
}
ViewBag.gridTable = tab.GetTable();
ViewBag.Eid = InnerUserHelper.Instance.GetEid(list.FirstOrDefault().INNERUSERID);
}
}
else
{
model = new WX_AFTERSALES();
}
return View(model);
}
[HttpPost]
[AuthorizeToolBar(InitRights.CONST_售后分配, InitToolBar.CONST_Other2)]
public JsonResult Bind(string eid, string startDate, string RESID)
{
var result = false;
var message = "更新失败";
decimal decEid;
if (!decimal.TryParse(eid, out decEid))
{
return JsonHandler.ManageMessage("员工工号格式输入有误!", result);
}
var innerUserId = InnerUserHelper.Instance.GetUserIdByEid(decEid);
if (innerUserId <= 1)
{
return JsonHandler.ManageMessage("找不到该员工工号记录!", result);
}
if (Convert.ToDateTime(startDate) > DateTime.Now.Date)
{
return JsonHandler.ManageMessage("开始日期,不能大于当日日期!", result);
}
var afterSales = _aftersales.Get(m => m.RESID == RESID);
if (afterSales == null)
{
return JsonHandler.ManageMessage("选择的绑定记录不存在!", result);
}
var list = wx_AfterSales_Log_BL.GetList(afterSales.RESID);
if (list != null && list.Count > 0)
{
var model = list.FirstOrDefault();
model.ENDDATE = Convert.ToDateTime(startDate).Date;
wx_AfterSales_Log_BL.Update(model);
}
var afterSalesLog = new WX_AFTERSALES_LOG()
{
PKID = new SEQUENCES_BL().Seq_base_get(),
RESID = RESID,
INNERUSERID = innerUserId,
STARTDATE = Convert.ToDateTime(startDate).Date,
ENDDATE = Convert.ToDateTime("2050-1-1").Date,
OPERATORID = UserId,
CTIME = DateTime.Now
};
wx_AfterSales_Log_BL.Add(afterSalesLog);
afterSales.INNERUSERID = innerUserId;
afterSales.CTIME = DateTime.Now;
result = _aftersales.Update(afterSales);
if (result)
{
message = "绑定成功";
}
return JsonHandler.ManageMessage(message, result);
}
[HttpGet]
[AuthorizeToolBar(InitRights.CONST_售后分配, InitToolBar.CONST_Other3)]
public ActionResult BatchBind()
{
Pager pager = new Pager() { page = 1, rows = 500 };
string tableId = "tablist";
Table tab = new Table(tableId);
tab.isCheckbox = true;
tab.AddHiddenHeadCol("pkid", "ID");//影藏列
tab.AddHeadCol("resid", "", "客户ID");
tab.AddHeadCol("subProductName", "", "产品");
tab.AddHeadCol("finalPay", "", "实付金额");
tab.AddHeadCol("saleGroup", "", "售后组名");
tab.AddHeadCol("mainTraderUser", "", "所属售后");
tab.AddHeadRow();
ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "50,100");
Table tab2 = new Table("tablis2");
tab2.isCheckbox = true;
tab2.AddHiddenHeadCol("pkid", "ID");//影藏列
tab2.AddHeadCol("resid", "", "客户ID");
tab2.AddHeadCol("subProductName", "", "产品");
tab2.AddHeadRow();
//添加分割线
tab2.AddTHeadAndTbodySplit();
ViewBag.gridTable2 = tab2.GetTable();
return View();
}
[HttpPost]
[AuthorizeToolBar(InitRights.CONST_售后分配, InitToolBar.CONST_Other3)]
public ActionResult BatchBind(string resIds, decimal? newEid)
{
decimal innerUserId;
if (!newEid.HasValue)
{
return JsonHandler.ManageMessage("售后服务工号不存在!", false);
}
var user = innerUser_BL.getInnerUserByEid(newEid.Value);
if (user == null)
{
return JsonHandler.ManageMessage("售后服务工号不存在!", false);
}
innerUserId = user.PKID;
try
{
string[] resIdArr = resIds.Split(',');
if (resIdArr != null && resIdArr.Length > 0)
{
foreach (var r in resIdArr)
{
var list = wx_AfterSales_Log_BL.GetList(r);
if (list != null && list.Count > 0)
{
var model = list.FirstOrDefault();
model.ENDDATE = DateTime.Now.Date;
wx_AfterSales_Log_BL.Update(model);
}
var afterSalesLog = new WX_AFTERSALES_LOG()
{
PKID = new SEQUENCES_BL().Seq_base_get(),
RESID = r,
INNERUSERID = innerUserId,
STARTDATE = DateTime.Now.Date,
ENDDATE = Convert.ToDateTime("2050-1-1").Date,
OPERATORID = UserId,
CTIME = DateTime.Now
};
wx_AfterSales_Log_BL.Add(afterSalesLog);
var afterSales = _aftersales.Get(m => m.RESID == r);
if (afterSales != null)
{
afterSales.INNERUSERID = innerUserId;
afterSales.CTIME = DateTime.Now;
_aftersales.Update(afterSales);
}
}
}
return JsonHandler.ManageMessage("更新成功!", true);
}
catch (Exception ex)
{
LogHelper.Error(ex);
return JsonHandler.ManageMessage("更新失败!", false);
}
}
[HttpPost]
[AuthorizeToolBar(InitRights.CONST_售后分配, InitToolBar.CONST_Other3)]
public JsonResult BatchBindGetHtmlList(Pager pg, decimal? eID, string columns)
{
try
{
Table tb = new Table(columns, true) { gridPager = pg };
decimal? innerUserId = null;
if (eID.HasValue)
{
innerUserId = InnerUserHelper.Instance.GetUserIdByEid(eID);
}
var list = _aftersales.GetAfterSaleAssignViews(ref pg, null, innerUserId, 1);
tb.isCheckbox = true;
foreach (var model in list)
{
tb.AddHiddenCol(model.RESID);
tb.AddCol(model.RESID);
tb.AddCol(model.SUBPRODUCTNAME);
tb.AddCol(model.FINALPAY);
tb.AddCol(InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(model.INNERUSERID)));
tb.AddCol(InnerUserHelper.Instance.EidAndName(model.INNERUSERID));
tb.AddRow();
}
var json = new
{
totalPages = pg.totalPages,
totalRows = pg.totalRows,
rowsList = tb.GetRows()
};
return Json(json, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
LogHelper.Error(ex.ToString());
return JsonHandler.ManageMessage(ex.Message, false);
}
}
[HttpGet]
[AuthorizeRedirect(InitRights.CONST_售后分配统计)]
public ActionResult Report()
{
var tab = new Table("tablist");
tab.AddHeadCol("Eid", "", "工号");
tab.AddHeadCol("Name", "", "姓名");
tab.AddHeadCol("CustomerAllNum", "", "总客户数");
tab.AddHeadCol("CustomerAllPrice", "", "总客户资金");
tab.AddHeadCol("CustomerNum", "", "区间客户数");
tab.AddHeadCol("CustomerPrice", "", "区间客户资金");
tab.AddHeadCol("CustomerAllNum2", "", "分配客户总数");
tab.AddHeadCol("CustomerAllPrice2", "", "分配客户总资金");
tab.AddHeadRow();
ViewBag.GroupList = tab.GetTable();
return View();
}
[HttpPost]
[AuthorizeRedirect(InitRights.CONST_售后分配统计)]
public JsonResult Report(DateTime sTime, DateTime eTime, string columns)
{
try
{
var tb = new Table(columns, true);
var list = _aftersales.GetAfterSaleResReports(sTime, eTime);
foreach (var model in list)
{
tb.AddCol(model.Eid);
tb.AddCol(model.Name);
tb.AddCol(model.CustomerAllNum);
tb.AddCol(model.CustomerAllPrice);
tb.AddCol(model.CustomerNum);
tb.AddCol(model.CustomerPrice);
tb.AddCol(model.CustomerAllNum2);
tb.AddCol(model.CustomerAllPrice2);
tb.AddRow();
}
var json = new
{
rowsList = tb.GetRows()
};
return Json(json, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
LogHelper.Error(ex.ToString());
return JsonHandler.ManageMessage(ex.Message, false);
}
}
[HttpGet]
[AuthorizeRedirect(InitRights.CONST_售后分配统计三部)]
public ActionResult Report2()
{
var tab = new Table("tablist");
tab.AddHeadCol("Eid", "", "工号");
tab.AddHeadCol("Name", "", "姓名");
tab.AddHeadCol("CustomerAllNum", "", "总客户数");
tab.AddHeadCol("CustomerAllPrice", "", "总客户资金");
tab.AddHeadCol("CustomerNum", "", "区间客户数");
tab.AddHeadCol("CustomerPrice", "", "区间客户资金");
tab.AddHeadCol("CustomerAllNum2", "", "分配客户总数");
tab.AddHeadCol("CustomerAllPrice2", "", "分配客户总资金");
tab.AddHeadRow();
ViewBag.GroupList = tab.GetTable();
return View();
}
[HttpPost]
[AuthorizeRedirect(InitRights.CONST_售后分配统计三部)]
public JsonResult Report2(DateTime sTime, DateTime eTime, string columns)
{
try
{
var tb = new Table(columns, true);
var list = _aftersales.GetAfterSaleResReports2(sTime, eTime);
foreach (var model in list)
{
tb.AddCol(model.Eid);
tb.AddCol(model.Name);
tb.AddCol(model.CustomerAllNum);
tb.AddCol(model.CustomerAllPrice);
tb.AddCol(model.CustomerNum);
tb.AddCol(model.CustomerPrice);
tb.AddCol(model.CustomerAllNum2);
tb.AddCol(model.CustomerAllPrice2);
tb.AddRow();
}
var json = new
{
rowsList = tb.GetRows()
};
return Json(json, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
LogHelper.Error(ex.ToString());
return JsonHandler.ManageMessage(ex.Message, false);
}
}
#region 1
[HttpGet]
[AuthorizeRedirect(Roles = InitRights.CONST_售后订单2)]
public ActionResult OrderList2()
{
var tool = new ToolBar();
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.2, userRightId);
tool.AllowButton(toolbtn);
tool.AddOtherButton("Other1", "批量添加", "icon-add", "Other1_Click", true);
tool.AddOtherButton("Other2", "调整", "icon-settings", "Other2_Click", true);
ViewBag.ToolBar = tool;
Pager pager = new Pager() { page = 1, rows = 20 };
string tableId = "tablist";
Table tab = new Table(tableId);
tab.isCheckbox = true;
tab.AddHiddenHeadCol("ID", "ID");
tab.AddHeadCol("RESID", "", "客户ID");
tab.AddHeadCol("SUBPRODUCTNAME", "", "产品");
tab.AddHeadCol("CNAME", "", "客户姓名");
tab.AddHeadCol("LastUser", "", "最后跟进人员");
tab.AddHeadCol("LastServiceTime", "", "最后跟进时间", true);
tab.AddHeadCol("INNERUSERID", "", "添加人");
tab.AddHeadCol("REMARK", "", "销售备注");
tab.AddHeadCol("ORDERSTATUSNAME", "", "订单状态");
tab.AddHeadCol("OTIME", "", "开通时间");
//tab.AddHeadCol("ENDTIME", "", "到期时间");
tab.AddHeadCol("OverTime", "", "赠送到期", true, true);
tab.AddHeadCol("IsOverTime", "", "剩余天数");
tab.AddHeadCol("Uname", "", "下单人");
tab.AddHeadCol("Gname", "", "下单人组别");
//tab.AddHeadCol("STRCONTENT", "", "工单");
//tab.AddHeadCol("ORDERID", "", "订单ID");
//tab.AddHeadCol("ORDERTYPE", "", "订单类型");
//tab.AddHeadCol("ARRIVALPAY", "", "到账金额");
//tab.AddHeadCol("CTIME", "", "创建时间");
tab.AddHeadRow();
ViewBag.gridTable = tab.GetTable() + Pagination.GetPage(pager, tableId, "10,20,50");
ViewBag.productList = getProductList();
ViewBag.inneruserid = UserId;
ViewBag.userGroupId = userGroupId;
ViewBag.saleDeptId = saleDeptId;
ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
//ViewBag.customerTypeList = orderCustomerTypeList;
ViewBag.midproductList = GetMidProductList();
var users = _cache.GetUserList();
var ugList = _cache.GetList_InnerUserGroup();
var ugData = ugList.Where(p => p.GID == 1259532625 && p.INNERUSERID != UserId);
var kfList = new List<SelectListItem>() { };
if (ugData != null && ugData.Any())
{
kfList = (from ug in ugData
join u in users on ug.INNERUSERID equals u.PKID
select new SelectListItem { Value = u.EID.ToString(), Text = u.UNAME }).ToList();
}
ViewBag.kfList = kfList;
return View();
}
[HttpPost]
public JsonResult OrderList2(Pager pager, AfterSales2QueryDto dto, string columns)
{
var list = _aftersales2.GetList(ref pager, dto);
Table table = new Table(columns, true)
{
gridPager = pager,
isCheckbox = true
};
var arr = new List<string>();
if (list.Any() && list != null)
{
arr = list.Select(p => p.RESID).ToList();
}
var memoList = _cacheOrdMemo.GetLastMemoByResIds(arr);
//var contentList = _ordMemoContentQ.GetOrdMemoContent(memoList.Select(p => p.MEMOCONTENTID.Value));
foreach (var model in list)
{
table.AddHiddenCol(model.ID);
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(model.SUBPRODUCTNAME);
table.AddCol(model.CNAME);
var lastMemo = memoList.FirstOrDefault(p => p.RESID == model.RESID);
if (lastMemo != null)
{
table.AddCol(InnerUserHelper.Instance.EidAndName(lastMemo.INNERUSERID));
}
else
{
table.AddCol("未知");
}
table.AddCol(model.LastServiceTime);
table.AddCol(string.Format("{0}-{1}", model.EID, model.UNAME));
table.AddCol(model.REMARK);
table.AddCol(model.ORDERSTATUSNAME);
table.AddCol(model.OTIME);
table.AddCol(model.OverTime);
if (model.OverTime.HasValue)
{
if (model.OverTime < DateTime.Now)
{
table.AddCol("color:red", "", "已到期");
}
else
{
var ss = (model.OverTime.Value - DateTime.Now).Days + 1;
table.AddCol("color:green", "", string.Format("{0}天", ss));
}
}
else
{
table.AddCol("");
}
table.AddCol(model.INNERUSERID.HasValue ? InnerUserHelper.Instance.EidAndName(model.INNERUSERID.Value) : "未知");
table.AddCol(model.INNERUSERID.HasValue ? InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(model.INNERUSERID.Value)) : "未知");
//var lastMemo = memoList.FirstOrDefault(p => p.RESID == model.RESID);
//if (lastMemo != null)
//{
// var content = contentList.FirstOrDefault(p => p.CONTENTID == lastMemo.MEMOCONTENTID);
// if (content != null)
// {
// table.AddCol(content.STRCONTENT);
// }
// else
// {
// table.AddCol("");
// }
//}
//else
//{
// table.AddCol("");
//}
//table.AddCol(model.ORDERID);
//table.AddCol(getOrderTypeStr(model.ORDERTYPE));
//table.AddCol(model.ARRIVALPAY);
//table.AddCol(model.ENDTIME);
//table.AddCol(model.CTIME);
//if(lastMemo != null)
//{
// table.AddCol(lastMemo.CTIME);
//}
//else
//{
// table.AddCol("");
//}
table.AddRow();
}
var json = new
{
totalPages = pager.totalPages,
totalRows = pager.totalRows,
rowsList = table.GetRows()
};
return Json(json, JsonRequestBehavior.AllowGet);
}
[HttpPost]
public JsonResult Save2(string resid, string remark)
{
try
{
var info = new WX_AFTERSALES2(resid, UserId, Eid, UserName, remark);
var ret = _aftersales2.Save(info);
return Json(ret, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
LogHelper.Error(ex);
return Json(new { result = false, retcode = 500, retmsg = "error" }, JsonRequestBehavior.AllowGet);
}
}
[HttpPost]
public JsonResult BatchSave(string resids)
{
try
{
var ret = _aftersales2.Batch(resids, UserId, Eid, UserName);
return Json(ret, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
LogHelper.Error(ex);
return Json(new { result = false, retcode = 500, retmsg = "error" }, JsonRequestBehavior.AllowGet);
}
}
public JsonResult Change(string resids, decimal eid)
{
try
{
var users = _cache.GetUserList();
var user = users.Find(p => p.EID == eid);
if (user != null)
{
var ret = _aftersales2.Change(resids, user.PKID, user.EID, user.UNAME);
return Json(ret, JsonRequestBehavior.AllowGet);
}
else
{
return Json(new { result = false, retcode = 500, retmsg = "error" }, JsonRequestBehavior.AllowGet);
}
}
catch (Exception ex)
{
LogHelper.Error(ex);
return Json(new { result = false, retcode = 500, retmsg = "error" }, JsonRequestBehavior.AllowGet);
}
}
[HttpPost]
public JsonResult Edit(string resid, string remark)
{
try
{
var ret = _aftersales2.Edit(resid, remark);
return Json(ret, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
LogHelper.Error(ex);
return Json(new { result = false, retcode = 500, retmsg = "error" }, JsonRequestBehavior.AllowGet);
}
}
[HttpPost]
public JsonResult Delete(string id)
{
try
{
var ret = _aftersales2.Delete(id);
return Json(new { result = ret, retcode = 200, retmsg = "success" }, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
LogHelper.Error(ex);
return Json(new { result = false, retcode = 500, retmsg = "error" }, JsonRequestBehavior.AllowGet);
}
}
[HttpPost]
public JsonResult OrderList2Export(AfterSales2QueryDto dto)
{
var pager = new Pager() { page = 1, rows = int.MaxValue };
var list = _aftersales2.GetList(ref pager, dto);
var export = new List<OrderList2ExportView>();
foreach (var item in list)
{
var model = new OrderList2ExportView()
{
RESID = item.RESID,
SUBPRODUCTNAME = item.SUBPRODUCTNAME,
CNAME = item.CNAME,
LastServiceTime = item.LastServiceTime,
INNERUSERID = item.EID + "-" + item.UNAME,
REMARK = item.REMARK,
ORDERSTATUSNAME = item.ORDERSTATUSNAME,
OTIME = item.OTIME,
OverTime = item.OverTime,
//IsOverTime = item.IsOverTime,
Uname = item.INNERUSERID.HasValue ? InnerUserHelper.Instance.EidAndName(item.INNERUSERID.Value) : "未知",
Gname = item.INNERUSERID.HasValue ? InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(item.INNERUSERID.Value)) : "未知"
};
if (model.OverTime.HasValue)
{
if (model.OverTime < DateTime.Now)
{
model.IsOverTime = "已到期";
}
else
{
var ss = (model.OverTime.Value - DateTime.Now).Days + 1;
model.IsOverTime = string.Format("{0}天", ss);
}
}
export.Add(model);
}
var data = new LayuiData<OrderList2ExportView>()
{
msg = "数据加载成功!",
count = 0,
code = 0,
data = export
};
return Json(data, JsonRequestBehavior.AllowGet);
}
#endregion
private string getOrderTypeStr(decimal? orderType)
{
if (!orderType.HasValue)
return "";
if (orderType == 1)
{
return "普通订单";
}
else if (orderType == 2)
{
return "续费订单";
}
else if (orderType == 3)
{
return "升级订单";
}
else
{
return "";
}
}
private string getOrderStatusStr(string orderStatus)
{
if (orderStatus == "0")
{
return string.Format("<font style=\"color:red\">下单失败</span>");
}
else if (orderStatus == "1")
{
return "未开通";
}
else if (orderStatus == "2")
{
return "部分支付";
}
else if (orderStatus == "3")
{
return "已支付";
}
else if (orderStatus == "4")
{
return "已开通";
}
else if (orderStatus == "5")
{
return string.Format("<font style=\"color:red\">已到期</span>");
}
else if (orderStatus == "6")
{
return "已升级";
}
else if (orderStatus == "7")
{
return "已退款";
}
else if (orderStatus == "8")
{
return "已取消";
}
else if (orderStatus == "9")
{
return "已关闭";
}
else if (orderStatus == "10")
{
return "隐藏";
}
else
{
return "";
}
}
private List<SelectListItem> getProductList()
{
List<SelectListItem> selectList = new List<SelectListItem>();
var where = PredicateExtensionses.True<WX_SZZYPRODUCT>();
Pager pager = new Pager() { page = 1, rows = int.MaxValue };
var list = wx_SzzyProduct_BL.GetList(where, m => m.PRODUCTID, pager, SortOrder.Ascending);
foreach (var szzyProduct in list)
{
selectList.Add(new SelectListItem() { Text = szzyProduct.PRODUCTNAME, Value = szzyProduct.PRODUCTID.ToString() });
}
return selectList;
}
#region
[AuthorizeRedirect(Roles = InitRights.CONST_售后分配)]
public FileResult Export(string resid, decimal? aftersale, decimal? bindType, bool? smallorder, DateTime? overstarttime, DateTime? overendtime, string amounttypeid)
{
decimal? innerUserId = null;
if (aftersale.HasValue)
{
innerUserId = InnerUserHelper.Instance.GetUserIdByEid(aftersale);
}
if (overendtime.HasValue)
{
overendtime = overendtime.Value.AddDays(1);
}
string checkedFilds = PageRequest.GetQueryString("checkedFilds");
checkedFilds = checkedFilds.Replace("[]", "");
string checkedTitles = PageRequest.GetQueryString("checkedTitles");
Pager pager = new Pager() { page = 1, rows = int.MaxValue };
var memoResList = _aftersales.GetServiceResList();
List<AfterSaleAssignView> list = _aftersales.GetAfterSaleAssignViewList(ref pager, resid, innerUserId, bindType, amounttypeid, smallorder, overstarttime, overendtime);
List<AfterSaleAssignView> list1 = new List<AfterSaleAssignView>();
var ZJL = _cache.GetList_SubComType(ComType.CustomerZJL);
foreach (var data in list)
{
data.saleUser = InnerUserHelper.Instance.EidAndName(data.SALEUSERID);
data.saleUserGroup = InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(data.SALEUSERID));
data.saleGroup = InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(data.INNERUSERID));
data.mainTraderUser = InnerUserHelper.Instance.EidAndName(data.INNERUSERID);
data.operation = !data.INNERUSERID.HasValue ? "" : InnerUserHelper.Instance.GetEid(data.INNERUSERID);
var memoRes = memoResList.Select(m => m.ResId == data.RESID).FirstOrDefault();
data.MemoResId = memoRes ? "是" : "";
var am = ZJL.FirstOrDefault(m => m.SUBTYPECODE == data.amounttypeid);
if (am == null)
{
data.amounttypeid = "【未知】";
}
else
{
data.amounttypeid = am.SUBTYPENAME;
}
list1.Add(data);
}
return File(ExcelHelper.ExportListModelToExcel<WX.CRM.Model.QueryMap.AfterSaleAssignView>(list1, "售后客户分配", 10000, checkedFilds, checkedTitles, null), "application/ms-excel", PageRequest.GetDlownLoadName("售后客户分配.xls"));
}
#endregion
#region
[AuthorizeRedirect(Roles = InitRights.CONST_售后订单)]
public FileResult OrderExport(string resId, string contractCode, string szzyOrderId, decimal productId, decimal subProductId, decimal orderType, string stime, string etime, string orderStatus, string ostime, string oetime, string fcText, QueryUserComboDto usercomboDto, string cname, string customerType, DateTime? overstarttime, DateTime? overendtime, string amounttypeid)
{
if (overendtime.HasValue)
{
overendtime = overendtime.Value.AddDays(1);
}
string checkedFilds = PageRequest.GetQueryString("checkedFilds");
checkedFilds = checkedFilds.Replace("[]", "");
string checkedTitles = PageRequest.GetQueryString("checkedTitles");
Pager pager = new Pager() { page = 1, rows = int.MaxValue };
List<AfterSaleServiceView> list = _aftersales.GetList(ref pager, resId, szzyOrderId, productId, subProductId, orderType, stime, etime, usercomboDto, orderStatus, ostime, oetime, cname, customerType, overstarttime, overendtime, amounttypeid);
var ZJL = _cache.GetList_SubComType(ComType.CustomerZJL);
foreach (var model in list)
{
if (string.IsNullOrEmpty(model.Uname))
{
model.Uname = InnerUserHelper.Instance.GetEidAndTrueName(model.SALERID);
}
else
{
model.Uname = string.Format("{0}-{1}", model.Eid, model.Uname);
}
if (string.IsNullOrEmpty(model.Gname))
{
model.Gname = InnerUserHelper.Instance.GetTrueNameByUserid(model.SALERID);
}
var giftDays = model.GiftDays ?? 0;
var giftDays2 = model.GiftDays2 ?? 0;
if (giftDays > 0 || giftDays2 > 0)
{
var addDays = giftDays;
if (giftDays < giftDays2)
{
addDays = giftDays2;
}
var overTime = model.ENDTIME.Value.AddDays(Convert.ToDouble(addDays));
model.GiftTime = overTime;
if (overTime < DateTime.Now)
{
model.IsOverTime = "已到期";
}
else
{
model.IsOverTime = "未到期";
}
}
else
{
model.GiftTime = model.ENDTIME;
if (model.ENDTIME.HasValue)
{
if (model.ENDTIME < DateTime.Now)
{
model.IsOverTime = "已到期";
}
else
{
model.IsOverTime = "未到期";
}
}
else
{
model.IsOverTime = "未知";
}
}
var am = ZJL.FirstOrDefault(m => m.SUBTYPECODE == model.amounttypeid);
if (am == null)
{
model.amounttypeid = "【未知】";
}
else
{
model.amounttypeid = am.SUBTYPENAME;
}
}
//list.ForEach(p => p.INNERUSERID = p.SALERID);
return File(ExcelHelper.ExportListModelToExcel<WX.CRM.Model.QueryMap.AfterSaleServiceView>(list, "我的售后客户", 50000, checkedFilds, checkedTitles, OrderDataFormart), "application/ms-excel", PageRequest.GetDlownLoadName("我的售后客户.xls"));
}
//用作委托传递
public string OrderDataFormart(string key, object value)
{
string formartValue = string.Empty;
switch (key)
{
case "INNERUSERID":
formartValue = InnerUserHelper.Instance.EidAndName(Convert.ToDecimal(value));
break;
case "ORDERTYPE":
formartValue = value != null ? getOrderTypeStr(Convert.ToDecimal(value.ToString())) : ""; break;
case "ORDERSTATUS":
formartValue = value != null ? getOrderStatusStr(value.ToString()) : ""; break;
case "MEMOSUBTYPEID":
formartValue = value != null ? "是" : ""; break;
case "SOURCE":
formartValue = Utility.getSourceText((value ?? "0").ToString()); break;
case "CustomerClassify":
if (value != null)
{
var ids = value.ToString().Split(',').Select(m => Convert.ToDecimal(m));
foreach (var id in ids)
{
WX_ORDERCUSTOMERTYPE customerTypeItem = orderCustomerTypeList.Where(m => m.PKID == id).FirstOrDefault();
if (customerTypeItem != null)
{
formartValue += customerTypeItem.NAME + ",";
}
}
if (!string.IsNullOrWhiteSpace(formartValue))
{
formartValue = formartValue.Trim(',');
}
}
break;
default: formartValue = string.Format("{0}", value); break;
}
return formartValue;
}
#endregion
private List<SelectListItem> GetMidProductList()
{
var data = new List<SelectListItem>();
var list = _midProduct.GetList();
foreach (var item in list)
{
data.Add(new SelectListItem() { Text = item.MIDPRODUCTNAME, Value = item.MIDPRODUCTID.ToString() });
}
return data;
}
public class AfterSaleCommit
{
public string Id { get; set; }
public string ResId { get; set; }
public decimal? OldUserId { get; set; }
public decimal? NewUserId { get; set; }
}
public class OrderList2ExportView
{
public string RESID { get; set; }
public string SUBPRODUCTNAME { get; set; }
public string CNAME { get; set; }
public DateTime? LastServiceTime { get; set; }
public string INNERUSERID { get; set; }
public string REMARK { get; set; }
public string ORDERSTATUSNAME { get; set; }
public DateTime? OTIME { get; set; }
public DateTime? OverTime { get; set; }
public string IsOverTime { get; set; }
public string Uname { get; set; }
public string Gname { get; set; }
}
}
}