154 lines
6.0 KiB
C#
154 lines
6.0 KiB
C#
using Ninject;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Web;
|
|
using System.Web.Mvc;
|
|
using WX.CRM.BLL.Util;
|
|
using WX.CRM.Common;
|
|
using WX.CRM.Common.Layui;
|
|
using WX.CRM.IBLL.Ord;
|
|
using WX.CRM.IBLL.Wx;
|
|
using WX.CRM.Model.DTO;
|
|
using WX.CRM.Model.QueryMap;
|
|
using WX.CRM.WebHelper;
|
|
|
|
namespace WX.CRM.WEB.Controllers.Res
|
|
{
|
|
public class TranUserController : Controller
|
|
{
|
|
[Inject]
|
|
public CACHE_BL _cache { get; set; }
|
|
[Inject]
|
|
public IWX_SZZYMIDPRODUCT _midProduct { get; set; }
|
|
[Inject]
|
|
public IORD_SERVICEMEMO_Q _ordServerMemo { get; set; }
|
|
|
|
[HttpGet]
|
|
public ActionResult Index()
|
|
{
|
|
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() });
|
|
}
|
|
ViewBag.midproductList = data;
|
|
return View();
|
|
}
|
|
[HttpPost]
|
|
public JsonResult Index(WxTranUserQueryDTO dto)
|
|
{
|
|
//LogHelper.Info($"WxTranUserQueryDTO=>{dto.ToJson()}");
|
|
|
|
var layUidata = new LayuiData<WxTranUserResultDTO>();
|
|
try
|
|
{
|
|
var host = _cache.GetValue_Parameter("Core_ZxdService_Api");
|
|
var url = $"{host}/TranUserHandler.ashx";
|
|
|
|
// 使用列表收集非空参数
|
|
var parameters = new List<string>();
|
|
parameters.Add($"action={dto.action}");
|
|
if (!string.IsNullOrEmpty(dto.umid)) parameters.Add($"umid={dto.umid}");
|
|
if (dto.starttime.HasValue) parameters.Add($"starttime={dto.starttime}");
|
|
if (dto.endtime.HasValue) parameters.Add($"endtime={dto.endtime}");
|
|
if (!string.IsNullOrEmpty(dto.midproductId)) parameters.Add($"MidProductId={dto.midproductId}");
|
|
if (!string.IsNullOrEmpty(dto.subProductId)) parameters.Add($"SubProductId={dto.subProductId}");
|
|
if (!string.IsNullOrEmpty(dto.txt_eid)) parameters.Add($"Eid={dto.txt_eid}");
|
|
if (!string.IsNullOrEmpty(dto.txt_groupIds)) parameters.Add($"Gid={dto.txt_groupIds}");
|
|
if (!string.IsNullOrEmpty(dto.txt_deptId)) parameters.Add($"DeptId={dto.txt_deptId}");
|
|
parameters.Add($"page={dto.page}");
|
|
parameters.Add($"limit={dto.limit}");
|
|
|
|
var para = string.Join("&", parameters);
|
|
|
|
// 删除原来的 umid 判断代码(已整合到参数列表)
|
|
LogHelper.Info($"请求url=>{url}?{para}");
|
|
|
|
var result = Utility.GetData(url, para, Encoding.UTF8);
|
|
var data = result.ToObject<LayuiData<WxTranUserResultDTO>>();
|
|
|
|
var resids = data.data.Select(p => p.ResId).Distinct();
|
|
var dic = _ordServerMemo.GetLastServerMemo(resids);
|
|
|
|
foreach (var item in data.data)
|
|
{
|
|
if (!string.IsNullOrEmpty(item.Eids))
|
|
{
|
|
var eidArr = item.Eids.Split(';');
|
|
var eidandname = string.Empty;
|
|
if(eidArr.Any())
|
|
{
|
|
foreach (var eid in eidArr)
|
|
{
|
|
eidandname += InnerUserHelper.Instance.GetEidAndNameByEid(Convert.ToDecimal(eid)) + ";";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
eidandname = InnerUserHelper.Instance.GetEidAndNameByEid(Convert.ToDecimal(item.Eids));
|
|
}
|
|
item.Eids = eidandname;
|
|
}
|
|
if (dic.TryGetValue(item.ResId, out LastServerMemoInfo memo))
|
|
{
|
|
item.LastServiceTime = memo.Ctime == null ? string.Empty : memo.Ctime.ToString();
|
|
item.LastServiceEid = InnerUserHelper.Instance.GetEidAndTrueName(memo.UserId);
|
|
}
|
|
}
|
|
|
|
layUidata.msg = "数据加载成功";
|
|
layUidata.code = 0;
|
|
layUidata.data = data.data;
|
|
layUidata.count = data.count;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Error(ex.ToString());
|
|
layUidata.SetFail(1, "出现错误!" + ex.Message);
|
|
}
|
|
return Json(layUidata);
|
|
}
|
|
}
|
|
|
|
public class WxTranUserQueryDTO
|
|
{
|
|
public string action { get; set; }
|
|
public string umid { get; set; }
|
|
public DateTime? starttime { get; set; }
|
|
public DateTime? endtime { get; set; }
|
|
public string midproductId { get; set; }
|
|
public string subProductId { get; set; }
|
|
public string txt_groupIds { get; set; }
|
|
public string txt_eid { get; set; }
|
|
public string txt_departmentid { get; set; }
|
|
public string txt_userId { get; set; }
|
|
public string txt_deptIds { get; set; }
|
|
public string txt_deptId { get; set; }
|
|
public int page { get; set; } = 1;
|
|
public int limit { get; set; } = 10;
|
|
}
|
|
|
|
public class WxTranUserResultDTO
|
|
{
|
|
public string SoftUserName { get; set; }
|
|
public string Umid { get; set; }
|
|
public string ResId { get; set; }
|
|
public string CName { get; set; }
|
|
public string MidProductId { get; set; }
|
|
public string SubProductId { get; set; }
|
|
public string SubProductName { get; set; }
|
|
public DateTime? EndTime { get; set; }
|
|
public string Eids { get; set; }
|
|
public string Gids { get; set; }
|
|
public string Deptids { get; set; }
|
|
public bool HasInComplaint { get; set; }
|
|
public bool HasOutComplaint { get; set; }
|
|
public string LastServiceTime { get; set; }
|
|
public string LastServiceEid { get; set;}
|
|
}
|
|
}
|