using CRM.Core.DTO;
using CRM.Core.DTO.Hg;
using Newtonsoft.Json;
using Ninject;
using System;
using System.Collections.Generic;
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.Common.StockHelper;
using WX.CRM.Model.Enum;
using WX.CRM.WebHelper;
using WX.CRM.WebHelper.DoItems;
namespace WX.CRM.WEB.Controllers
{
///
/// 合规控制器
///
public class HgController : BaseController
{
[Inject]
public CACHE_BL cache_BL { get; set; }
///
/// 我的违规处罚单
///
///
[HttpGet]
[AuthorizeRedirect(Roles = InitRights.CONST_违规通知单)]
public ActionResult MyCheckNoticeIndex()
{
return View();
}
[AuthorizeRedirect(Roles = InitRights.CONST_违规通知单)]
public JsonResult CheckNoticeManageList(Laypage pager, HgCheckQualitySearchDto dto)
{
string roleCode = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
if (!roleCode.Contains("[ZXFZR]"))//中心责任人看全部,如果不是,那么就只能看到自己或者主管责任人的
{
dto.eid = Convert.ToInt32(Eid);
}
dto.PageSize = pager.limit;
dto.PageIndex = pager.page;
var webapi = cache_BL.GetValue_Parameter(Parameter.Hg_Core_WebApi);
var url = $"{webapi}/order/GetCheckQualityNotice";
var result = Utility.PostAjaxData(url, dto.ToJson(), Encoding.UTF8);
var data = JsonConvert.DeserializeObject>>(result);
var model = new LayuiData()
{
msg = "数据加载成功!",
count = data.Data.Total,
code = 0,
data = (List)data.Data.Data
};
PopupMessageFactory.hgPunishNoticeMessage.SetView(UserId);
return Json(model, JsonRequestBehavior.AllowGet);
}
///
/// 通知单查看
///
///
[AuthorizeRedirect(Roles = InitRights.CONST_违规通知单)]
[HttpGet]
public ActionResult ShowTZD(int id)
{
var webapi = cache_BL.GetValue_Parameter(Parameter.Hg_Core_WebApi);
var url = $"{webapi}/order/GetCheckQualityInfo";
var result = Utility.GetData(url, "id=" + id, Encoding.UTF8);
//var data = JsonConvert.DeserializeObject>>(result);
var data = JsonConvert.DeserializeObject>(result);
return View(data.Data);
}
///
/// 处罚单查看
///
///
[AuthorizeRedirect(Roles = InitRights.CONST_违规通知单)]
[HttpGet]
public ActionResult ShowCFD(int id)
{
var webapi = cache_BL.GetValue_Parameter(Parameter.Hg_Core_WebApi);
var url = $"{webapi}/order/GetCheckQualityInfo";
var result = Utility.GetData(url, "id=" + id, Encoding.UTF8);
//var data = JsonConvert.DeserializeObject>>(result);
var data = JsonConvert.DeserializeObject>(result);
return View(data.Data);
}
[AuthorizeRedirect(Roles = InitRights.CONST_违规通知单)]
[HttpGet]
public ActionResult LookNoticeShow(int id)
{
string roleCode = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
ViewBag.isCenterManger = roleCode.Contains("[ZXFZR]");//是不是中心负责人
var webapi = cache_BL.GetValue_Parameter(Parameter.Hg_Core_WebApi);
var url = $"{webapi}/order/GetCheckQualityInfo";
var result = Utility.GetData(url, "id=" + id, Encoding.UTF8);
var data = JsonConvert.DeserializeObject>(result);
if (data.Code == 0)
{
ViewBag.isSale = data.Data.ToEid == Eid.ToString();//是不是责任人
ViewBag.isManage = data.Data.Hg_CheckQuality_NoticeSigns.Where(m => m.NoticeLevel == "manage" && m.eid == Eid).Count() > 0;//是不是责任人主管
}
return View(data.Data);
}
[AuthorizeRedirect(Roles = InitRights.CONST_违规通知单)]
[HttpPost]
public JsonResult AddNoticeOption(int id, string opinion, string NoticeLevel)
{
var ret = new retMsg { result = true, retcode = 200 };
try
{
var webapi = cache_BL.GetValue_Parameter(Parameter.Hg_Core_WebApi);
var url = $"{webapi}/Order/AddQualityNoticeOption";
QualityNoticeOption dto = new QualityNoticeOption()
{
eid = Convert.ToInt32(Eid),
id = id,
NoticeLevel = NoticeLevel,
opinion = opinion
};
var result = Utility.PostAjaxData(url, JsonConvert.SerializeObject(dto), Encoding.UTF8);
var data = JsonConvert.DeserializeObject>(result);
if (data.code == 0)
{
}
else
{
throw new Exception(data.message);
}
return Json(ret, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
ret = new retMsg { result = false, retcode = 200, retmsg = ex.Message };
return Json(ret, JsonRequestBehavior.AllowGet);
}
}
}
}