209 lines
7.9 KiB
C#
209 lines
7.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web.Mvc;
|
|
using WX.CRM.Common;
|
|
using WX.CRM.IBLL.Base;
|
|
using WX.CRM.WebHelper;
|
|
//using Ninject;
|
|
|
|
namespace WX.CRM.WEB.Controllers.Base
|
|
{
|
|
public class CompanyController : BaseController
|
|
{
|
|
private IBAS_COMPANY companyBiz;
|
|
private IBAS_COMPANY_Q companyBiz_Q;
|
|
private IBAS_BUSINESS_Q businessBiz_Q;
|
|
ValidationErrors errors = new ValidationErrors();
|
|
|
|
public CompanyController(IBAS_COMPANY _companyBiz, IBAS_COMPANY_Q _companyBiz_Q, IBAS_BUSINESS_Q _businessBiz_Q)
|
|
{
|
|
this.companyBiz = _companyBiz;
|
|
this.companyBiz_Q = _companyBiz_Q;
|
|
this.businessBiz_Q = _businessBiz_Q;
|
|
}
|
|
|
|
#region 首页
|
|
[AuthorizeRedirect(Roles = InitRights.CONST_代理商管理)]
|
|
public ActionResult Index()
|
|
{
|
|
//IBAS_COMPANY_Q doa = WebHelper.Infrastructure.NinjectControllerFactory.ninjectKernel.Get<IBAS_COMPANY_Q>();
|
|
//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 = 10 };
|
|
string tableId = "tablist";
|
|
Table tab = new Table(tableId);
|
|
tab.AddHeadCol("companyId", "8%", "公司ID", "sortTable('tablist',1,'int');", "cursor:pointer");
|
|
tab.AddHeadCol("companyName", "8%", "公司名称", "sortTable('tablist',2);", "cursor:pointer");
|
|
tab.AddHeadCol("systemCode", "5%", "系统前缀");
|
|
tab.AddHeadCol("companyCode", "5%", "公司编码");
|
|
tab.AddHeadCol("isOuterAgent", "10%", "机构");
|
|
tab.AddHeadCol("isOuterAgent", "10%", "外部公司");
|
|
tab.AddHeadCol("parentId", "10%", "父公司");
|
|
tab.AddHeadCol("businessValue", "20%", "公司业务");
|
|
tab.AddHeadCol("comments", "", "公司简介");
|
|
tab.AddHeadRow();
|
|
|
|
ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "10,20,30");
|
|
|
|
|
|
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 companyName = Request.Form["companyName"];
|
|
string isOutAgent = Request.Form["isOutAgent"];
|
|
string companyCode = Request.Form["companyCode"];
|
|
string cTime1 = Request.Form["cTime1"];
|
|
string cTime2 = Request.Form["cTime2"];
|
|
List<WX.CRM.Model.Entity.BAS_COMPANY> list = companyBiz_Q.GetList_Company(ref pager, companyName, isOutAgent, companyCode, cTime1, cTime2);
|
|
List<WX.CRM.Model.Entity.BAS_BUSINESS> business = businessBiz_Q.GetList();
|
|
List<WX.CRM.Model.Entity.BAS_COMPANY> allCompanyList = DataCacheHelper.GetCache().GetList_innerCompany();//缓存中读取全部公司数据
|
|
WX.CRM.Model.Entity.BAS_COMPANY company = null;
|
|
Table table = new Table(columns, true);
|
|
table.gridPager = pager;
|
|
foreach (WX.CRM.Model.Entity.BAS_COMPANY model in list)
|
|
{
|
|
table.AddCol(model.COMPANYID);
|
|
table.AddCol(model.COMPANYNAME);
|
|
table.AddCol(model.SYSTEMCODE);
|
|
table.AddCol(model.COMPANYCODE);
|
|
table.AddCol(model.ORGANNAME);
|
|
table.AddCol(model.ISOUTERAGENT.Value == 1 ? "是" : "否");
|
|
|
|
if (model.PARENTID == null || model.PARENTID.Value == 0)
|
|
company = null;
|
|
else
|
|
company = allCompanyList.FirstOrDefault(m => m.COMPANYID == model.PARENTID);
|
|
if (company == null)
|
|
table.AddCol("");
|
|
else
|
|
table.AddCol(company.COMPANYNAME);
|
|
|
|
table.AddCol("text-align:left;", "", " " + GetBusiness(business, Convert.ToInt32(model.BUSINESSVALUE)));
|
|
table.AddCol(model.COMMENTS);
|
|
table.AddRow();
|
|
}
|
|
|
|
var json = new
|
|
{
|
|
totalPages = pager.totalPages,
|
|
totalRows = pager.totalRows,
|
|
rowsList = table.GetRows()
|
|
};
|
|
return Json(json, JsonRequestBehavior.AllowGet);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 详细
|
|
[AuthorizeToolBar(InitRights.CONST_代理商管理, InitToolBar.CONST_Details)]
|
|
public ActionResult Details(string id)
|
|
{
|
|
WX.CRM.Model.Entity.BAS_COMPANY model = null;
|
|
if (id != null)
|
|
model = companyBiz_Q.GetModel_Company(Convert.ToDecimal(id));
|
|
else
|
|
model = new WX.CRM.Model.Entity.BAS_COMPANY();
|
|
return View(model);
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 编辑
|
|
[HttpGet]
|
|
[AuthorizeToolBar(InitRights.CONST_代理商管理, InitToolBar.CONST_Edit)]
|
|
public ActionResult Edit(string id)
|
|
{
|
|
WX.CRM.Model.Entity.BAS_COMPANY model = null;
|
|
if (id == null)
|
|
{
|
|
model = new WX.CRM.Model.Entity.BAS_COMPANY();
|
|
model.ISOUTERAGENT = 0;//默认不是外部公司
|
|
}
|
|
else
|
|
model = companyBiz_Q.GetModel_Company(Convert.ToDecimal(id));
|
|
ViewBag.BusinessList = businessBiz_Q.GetList();
|
|
return View(model);
|
|
}
|
|
|
|
[HttpPost]
|
|
[AuthorizeToolBar(InitRights.CONST_代理商管理, InitToolBar.CONST_Edit)]
|
|
public JsonResult Edit(WX.CRM.Model.Entity.BAS_COMPANY model)
|
|
{
|
|
if (!ModelState.IsValid)
|
|
{
|
|
return JsonHandler.ValidateFailMessage();
|
|
}
|
|
if (model.COMPANYID == 0)
|
|
{
|
|
model.CREATEUSER = UserId;
|
|
bool result = companyBiz.Create_Company(ref errors, model);
|
|
return JsonHandler.InsertMessage(errors, result);
|
|
}
|
|
else
|
|
{
|
|
model.UPDATEUSER = UserId;
|
|
bool result = companyBiz.Update_Company(ref errors, model);
|
|
return JsonHandler.UpdateMessage(errors, result);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
private string GetBusiness(List<WX.CRM.Model.Entity.BAS_BUSINESS> business, int businessValue)
|
|
{
|
|
string businesstr = "";
|
|
foreach (WX.CRM.Model.Entity.BAS_BUSINESS model in business)
|
|
{
|
|
if ((businessValue & Convert.ToInt32(model.BUSINESSID)) > 0)
|
|
{
|
|
businesstr += "[" + model.BUSINESSNAME + "] ";
|
|
}
|
|
}
|
|
return businesstr;
|
|
}
|
|
#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 = companyBiz.Delete_Company(ref errors, Convert.ToDecimal(id));
|
|
return JsonHandler.DeleteMessage(errors, result);
|
|
}
|
|
#endregion
|
|
|
|
#region 组织结构图
|
|
[AuthorizeRedirect(Roles = InitRights.CONST_组织结构图)]
|
|
public ActionResult OrganizationMap()
|
|
{
|
|
return View();
|
|
}
|
|
#endregion
|
|
}
|
|
}
|