using Core.Web.WebHelper; using Core.Web.WebHelper.UserRight; using CRM.Core.BLL.Base; using CRM.Core.BLL.EventBus.Events; using CRM.Core.BLL.Res; using CRM.Core.BLL.Soft; using CRM.Core.BLL.Util; using CRM.Core.BLL.Wx; using CRM.Core.Common.EventBus; using CRM.Core.Common.Layui; using CRM.Core.Common.WebHelper; using CRM.Core.DTO; using CRM.Core.DTO.Ord; using CRM.Core.Model.Entity; using CRM.Core.Model.Enum; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Web; using System.Web.Mvc; using WX.CRM.Common; using CRM.Core.BLL.Level2; using CRM.Core.BLL; using CRM.Core.BLL.FB; using CRM.Core.Model.EntityFB; using CRM.Core.Model; using System.Data; using System.Configuration; using Core.Web.App_Start; using CRM.Core.BLL.Application.Order; using Newtonsoft.Json; using WX.CRM.WebHelper; using WX.CRM.Common.BlowFish; using WX.CRM.Common.StockHelper; using System.Net; namespace Core.Web.Controllers { public class ComplianceOrderController : BaseController { private WX_SZZYORDER_BL _order = new WX_SZZYORDER_BL(); private WX_SzzyOrderDeposit_BL _orderDeposit = new WX_SzzyOrderDeposit_BL(); private Csvr_HgRecord_BL _hgRecord = new Csvr_HgRecord_BL(ConStringHelper.CompanyCode.QBJZ); private WX_PRODUCT_BL product_bl = new WX_PRODUCT_BL(); private CACHE_BL cache_BL = new CACHE_BL(); private BAS_PARAMETER_BL paramter_bl = new BAS_PARAMETER_BL(); private OrderService _orderService = new OrderService(); private Wx_AutoOpenOrder_BL _autoOpenOrder = new Wx_AutoOpenOrder_BL(); private BAS_INNERUSER_BL _userBl = new BAS_INNERUSER_BL(); public ComplianceOrderController() { } [AuthorizeRedirect(RightsConfig.CONST_合规订单列表, ToolBarConfig.CONST_NotButton, true)] [HttpGet] public ActionResult Index() { ViewBag.rightCode = RightsConfig.CONST_合规订单列表; var list = product_bl.GetProductList().Where(p => p.parentid == 0); List productList = new List(); foreach (var item in list) { productList.Add(new SelectListItem { Text = item.PRODUCTNAME, Value = item.PRODUCTID.ToString() }); } var aiCallType = cache_BL.GetAiStatus().Select(n => new SelectListItem { Text = n.Text, Value = n.Value.ToString() }).ToList(); ViewBag.productList = productList; ViewBag.aiCallType = aiCallType; var aiCallTypeChannel = new List>(); foreach (var aiCall in aiCallType) { var item = new Dictionary { { "name", aiCall.Text }, { "value", aiCall.Value } }; aiCallTypeChannel.Add(item); } ViewBag.aiCallTypeJson = JsonHelper.ToJson(aiCallTypeChannel); ViewBag.companyList = cache_BL.GetCompanyVirtual(); ViewBag.hgServiceHost = cache_BL.GetValue_Parameter("HgCrm_ServiceHost"); ViewBag.aiCallServiceHost = cache_BL.GetValue_Parameter("AiCall_ServiceHost"); var companyList = cache_BL.GetCompanyVirtual(); ViewBag.companyList = cache_BL.GetCompanyVirtual(); var allChannel = new List>(); foreach (var company in companyList) { var channel = new Dictionary { { "name", company.CompanyName }, { "value", company.Channel.Replace(",", ";") } }; allChannel.Add(channel); } ViewBag.AllChannel = JsonHelper.ToJson(allChannel); return View(); } [HttpPost] [AuthorizeRedirect(RightsConfig.CONST_合规订单列表, ToolBarConfig.CONST_NotButton, false)] public JsonResult Index(Laypage pager, string columns, OrderQueryDto dto) { try { var list = _order.GetList(ref pager, dto); List resids = list.Select(m => m.RESID).ToList(); var extlist = _order.GetExtuser(resids); var wxuserlist = _order.GetWxUserName(resids); ViewBag.hgServiceHost = cache_BL.GetValue_Parameter("HgCrm_ServiceHost"); foreach (var item in list) { //附件 if (!string.IsNullOrEmpty(item.fujian)) { var http = ConfigurationManager.AppSettings["FuJian_" + item.companycode]; item.fujian = http + item.fujian; } //企业微信 var ext = extlist.Where((m) => m.resid == item.RESID).ToList(); //去重 ext = ext.Where((m, i) => ext.FindIndex(z => z.userid == m.userid) == i).ToList(); if (ext.Count > 0) { var extstr = string.Join(";", ext.Select(m => m.userid)); if (!string.IsNullOrEmpty(item.external_userid) && extstr.IndexOf(item.external_userid) == -1) { extstr += ";" + item.external_userid; } item.external_userid = extstr;//替换原来的值 } //微信 var wx = wxuserlist.Where(m => m.resid == item.RESID).ToList(); if (wx.Count > 0) { var extstr = string.Join(";", ext.Select(m => m.userid)); if (!string.IsNullOrEmpty(item.CUSTOMERUSERNAME) && extstr.IndexOf(item.CUSTOMERUSERNAME) == -1) { extstr += ";" + item.CUSTOMERUSERNAME; } item.CUSTOMERUSERNAME = extstr;//替换原来的值 } if (item.eid != null) { item.innerUserName = $"{item.eid}-{item.innerUserName}"; } //if (item.RISKCTRLSTATUS == 0 && item.ORDERID != 1) //{ // var bf = "{\"uid\": \"" + item.SOFTUSERNAME + "\"}"; // var hqr = BlowFish.encode(bf); // var para = new { hqr }; // string riskurl = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_Risk);//封装出来的接口 // if (string.IsNullOrEmpty(riskurl)) // riskurl = "https://r2.soft.dn8188.com/riskevaluate/h5/get_riskinfo"; // var res = Utility.PostAjaxData(riskurl, para.ToJson(), Encoding.UTF8); // var ret = JsonHelper.JsonDivertToObj(res); // if (ret.ret == 0 || ret.ret == -104) // { // item.CNAME = ret.name; // } //} } var data = new LayuiData() { msg = "数据加载成功!", count = pager.count, code = 0, data = list }; return Json(data, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error(ex.ToString()); return Json(new { }, JsonRequestBehavior.AllowGet); } } /// /// 订单详细,用于订单数据补充,比如订单中赠送失败了需要赠送 /// /// /// [HttpGet] [AuthorizeRedirect(RightsConfig.CONST_合规订单列表, ToolBarConfig.CONST_Details, true)] public ActionResult Detail(int orderId) { WX_SZZYORDER model = _order.GetModel(orderId); return View(model); } //补充赠送 [HttpPost] [AuthorizeRedirect(RightsConfig.CONST_合规订单列表, ToolBarConfig.CONST_Details, false)] public JsonResult SuperOrderGif(int orderId) { var ret = new OrderService().SuperOrderGif(orderId); return Json(ret, JsonRequestBehavior.AllowGet); } [HttpGet] public ActionResult SetTime(int orderId) { var model = _order.GetModel(orderId); return View(model); } [HttpGet] [AuthorizeRedirect(RightsConfig.CONST_合规订单列表, ToolBarConfig.CONST_Other8, false)] public FileResult ExportData(string param) { var dto = JsonConvert.DeserializeObject(param); Laypage pager = new Laypage { page = 1, limit = 100000, }; var list = _order.GetList(ref pager, dto); var hjcount = list.FirstOrDefault(m => m.ORDERID == 1); if (hjcount != null) list.Remove(hjcount); LogHelper.Info($"导出查询到{list.Count}数据"); //List res = new List(); //foreach(var item in list) //{ // res.Add(new WX_SZZYORDER_ExportView // { // ORDERID = item.ORDERID, // RESID = item.RESID, // CNAME = item.CNAME, // SUBPRODUCTNAME = item.SUBPRODUCTNAME, // ORDERSTATUSNAME = item.ORDERSTATUSNAME, // OTIME = item.OTIME, // ORIGINPAY = item.ORIGINPAY, // ARRIVALPAY = item.ARRIVALPAY, // ARRIVALTIME = item.ARRIVALTIME, // NEEDPAY = item.NEEDPAY, // OPENDAYS = item.OPENDAYS, // CTIME = item.CTIME, // UPGRADEORDERIDS = item.UPGRADEORDERIDS, // MidProductName = item.MidProductName, // CHANNELNAME = item.CHANNELNAME, // giftdays = item.giftdays, // CONTRACTCODE = item.CONTRACTCODE, // ai_hgrecord_statusname = item.ai_hgrecord_statusname // }); //} string checkedFilds = Server.UrlDecode(Request.Cookies["checkedFilds"].Value); string checkedTitle = Server.UrlDecode(Request.Cookies["checkedTitles"].Value); Request.Cookies.Remove("checkedFilds");//用完后删除cookies Request.Cookies.Remove("checkedTitles");//用完后删除cookies //string checkedFilds = Request.QueryString["checkedFilds"]; //checkedFilds = checkedFilds.Replace("[]", ""); //string checkedTitles = Request.QueryString["checkedTitles"]; String file = string.Format("OrderList{0}.xls", DateTime.Now.ToLocalTime().ToString("yyyyMMddHHmmssfffff")); return File(ExcelHelper.ExportListModelToExcel(list, "OrderList", 30000, checkedFilds, checkedTitle, DataFormart), "application/ms-excel", file); } public string DataFormart(string key, object value) { string formartValue = string.Empty; switch (key) { case "contract_status": if (Convert.ToInt32(value) == 1) formartValue = "已通过"; else if (Convert.ToInt32(value) == -1) formartValue = "驳回"; else formartValue = "未审核"; break; case "RISKCTRLSTATUS": if (Convert.ToInt32(value) == 0) formartValue = "未审核"; else if (Convert.ToInt32(value) == 2) formartValue = "已通过"; else formartValue = "驳回"; break; case "ORDERTYPE": if (Convert.ToInt32(value) == 1) formartValue = "普通订单"; else if (Convert.ToInt32(value) == 2) formartValue = "续费订单"; else formartValue = "升级订单"; break; case "MarkStatus": if (value == null) formartValue = ""; else if (value.ToString() == "true") formartValue = "已留痕"; else formartValue = "未留痕"; break; default: formartValue = string.Format("{0}", value); break; } return formartValue; } [HttpPost] public ActionResult SetTime(int orderId, string startTime, string endTime) { var ret = new retMsg { result = true, retcode = 200 }; try { var model = _order.GetModel(orderId); if (!string.IsNullOrWhiteSpace(startTime) && !string.IsNullOrWhiteSpace(endTime)) { var stime = Convert.ToInt32(startTime.Replace(":", "")); var etime = Convert.ToInt32(endTime.Replace(":", "")); if (stime > etime) { //return JsonHandler.ManageMessage("开始时间不能大于结束时间", false); ret = new retMsg { result = false, retcode = 200, retmsg = "开始时间不能大于结束时间" }; return Json(ret, JsonRequestBehavior.AllowGet); } var sSpan = Convert.ToInt32(startTime.Split(':')[0]) * 60 + Convert.ToInt32(startTime.Split(':')[1]); var eSpan = Convert.ToInt32(endTime.Split(':')[0]) * 60 + Convert.ToInt32(endTime.Split(':')[1]); if (eSpan - sSpan < 30) { ret = new retMsg { result = false, retcode = 200, retmsg = "结束时间必须大于开始时间30分钟" }; return Json(ret, JsonRequestBehavior.AllowGet); } } model.ai_hgrecord_stime = startTime; model.ai_hgrecord_etime = endTime; _order.Update(model); } catch (Exception ex) { ret = new retMsg { result = false, retcode = 200 }; } return Json(ret, JsonRequestBehavior.AllowGet); } [HttpGet] public ActionResult ScreenRecordList() { ViewBag.ResId = Request.QueryString["resid"]; return View(); } [HttpPost] public JsonResult ScreenRecordList(string resid) { var webApi = cache_BL.GetValue_Parameter("Zxd_Core_WebApi"); if (string.IsNullOrWhiteSpace(webApi)) { return Json(new { }, JsonRequestBehavior.AllowGet); } //webApi = "http://localhost:7009"; var url = $"{webApi}/Api/ScreenRecord/Page"; var para = $"PageIndex=1&PageSize=1000&ResId={resid}"; var result = Utility.GetData(url, para, Encoding.UTF8); LogHelper.Info(result); var page = JsonConvert.DeserializeObject>>(result); var list = new List(); if (page.Code == 0) { list = page.Data.Data.ToList(); } var data = new LayuiData() { msg = "数据加载成功!", count = page.Data.Total, code = 0, data = list }; return Json(data, JsonRequestBehavior.AllowGet); } public ActionResult ScreenRecordDownload(string fileUrl) { if (string.IsNullOrWhiteSpace(fileUrl)) return Content("文件路径不能为空"); MemoryStream outstream = new MemoryStream();//转成MS流 Stream ftpStream = null; WebResponse ftpResponse = null; try { var ftpConfigStr = cache_BL.GetValue_Parameter("FTPConfig"); if (string.IsNullOrWhiteSpace(ftpConfigStr)) return Content("配置地址为空"); var ftpConfig = Utility.JSONToObject(ftpConfigStr); if (fileUrl.Contains("/data/console-front/")) fileUrl = fileUrl.Replace("/data/console-front/", ""); var fileName = fileUrl.Substring(fileUrl.LastIndexOf("/") + 1); var url = $"ftp://{ftpConfig.Ip}/{fileUrl}"; FtpWebRequest ftpWeb = (FtpWebRequest)WebRequest.Create(url);//创建ftp连接 ftpWeb.Method = WebRequestMethods.Ftp.DownloadFile; ftpWeb.UseBinary = true; ftpWeb.UsePassive = false; ftpWeb.Credentials = new NetworkCredential(ftpConfig.UserName, ftpConfig.Password); ftpResponse = ftpWeb.GetResponse(); ftpStream = ftpResponse.GetResponseStream(); int bufferLen = 4096;//缓冲区 byte[] buffer = new byte[bufferLen]; int count = 0; while ((count = ftpStream.Read(buffer, 0, bufferLen)) > 0) { outstream.Write(buffer, 0, count); } return File(outstream.ToArray(), "application/zip", fileName); } catch (Exception ex) { Response.Write(""); return Content("录屏文件尚未同步,请稍后再试。错误:" + ex.Message); } finally { outstream.Close(); outstream.Dispose(); if (ftpStream != null) ftpStream.Close(); if (ftpResponse != null) ftpResponse.Close(); } } #region 质检列表 [HttpGet] [AuthorizeRedirect(RightsConfig.CONST_合规订单列表, ToolBarConfig.CONST_Other6, false)] public JsonResult CheckOrderRoot() { try { var ret = new retMsg { result = true, retcode = 200, retmsg = "校验成功" }; return Json(ret, JsonRequestBehavior.AllowGet); } catch (Exception ex) { var ret = new retMsg { result = false, retcode = 200, retmsg = ex.Message }; return Json(ret, JsonRequestBehavior.AllowGet); } } [HttpGet] [AuthorizeRedirect(RightsConfig.CONST_合规订单列表, ToolBarConfig.CONST_Other6, false)] public ActionResult CheckOrder(string umid, int? orderid) { try { QueryCheckDto dto = new QueryCheckDto() { resid = umid, orderid = orderid }; var list = _order.GetNewCheckModel(dto); var allOrder = new List>(); foreach (var item in list.CheckOrders) { var order = new Dictionary { { "name", item.name }, { "value", item.value.ToString() } }; allOrder.Add(order); } ViewBag.EidtJson = JsonHelper.ObjDivertToJson(allOrder); ViewBag.HgCheckSetting = list.HgCheckSetting; ViewBag.OrderId = orderid; ViewBag.umid = umid; ViewBag.CheckTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); ViewBag.CheckUser = UserName; ViewBag.Orderinfo = JsonHelper.ObjDivertToJson(list.OrderInfo); ViewBag.Eid = Eid; } catch (Exception ex) { LogHelper.Error(ex.ToString()); return Json(ex.Message, JsonRequestBehavior.AllowGet); } return View(); } [HttpPost] [AuthorizeRedirect(RightsConfig.CONST_合规订单列表, ToolBarConfig.CONST_Other6, false)] public JsonResult CheckOrder(Laypage pager, string columns, QueryCheckDto dto) { try { var list = _order.GetNewCheckList(ref pager, dto); var data = new LayuiData() { msg = "数据加载成功!", count = pager.count, code = 0, data = list }; return Json(data, JsonRequestBehavior.AllowGet); } catch (Exception ex) { var ret = new retMsg { result = false, retcode = 200, retmsg = ex.Message }; return Json(ret, JsonRequestBehavior.AllowGet); } } [HttpPost] [AuthorizeRedirect(RightsConfig.CONST_合规订单列表, ToolBarConfig.CONST_Other6, false)] public ActionResult CheckSave(string data) { try { var res = _order.CheckSave(data, Eid, UserName); var ret = new retMsg { result = res, retcode = 200 }; return Json(ret, JsonRequestBehavior.AllowGet); } catch (Exception ex) { var ret = new retMsg { result = false, retcode = 200, retmsg = ex.Message }; return Json(ret, JsonRequestBehavior.AllowGet); } } [HttpPost] public JsonResult initEditModel(QueryCheckDto dto) { try { var list = _order.GetinitEditModel(dto); return Json(list, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error(ex.ToString()); return Json(new { }, JsonRequestBehavior.AllowGet); } } [AuthorizeRedirect(RightsConfig.CONST_订单质检明细, ToolBarConfig.CONST_NotButton, true)] [HttpGet] public ActionResult CheckOrderList() { ViewBag.rightCode = RightsConfig.CONST_订单质检明细; var checkSetting = cache_BL.GetValue_Parameter("HgCheckSetting"); ViewBag.checkSetting = checkSetting; ViewBag.companyList = cache_BL.GetCompanyVirtual(); var companyList = cache_BL.GetCompanyVirtual(); ViewBag.companyList = cache_BL.GetCompanyVirtual(); var allChannel = new List>(); foreach (var company in companyList) { var channel = new Dictionary { { "name", company.CompanyName }, { "value", company.Channel.Replace(",", ";") } }; allChannel.Add(channel); } ViewBag.AllChannel = JsonHelper.ToJson(allChannel); return View(); } [HttpPost] [AuthorizeRedirect(RightsConfig.CONST_订单质检明细, ToolBarConfig.CONST_NotButton, false)] public JsonResult CheckOrderList(Laypage pager, string columns, CheckOrderQueryDto dto) { try { var list = _order.GetCheckList(ref pager, dto); var data = new LayuiData() { msg = "数据加载成功!", count = pager.count, code = 0, data = list }; return Json(data, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error(ex.ToString()); return Json(new { }, JsonRequestBehavior.AllowGet); } } [HttpGet] [AuthorizeRedirect(RightsConfig.CONST_订单质检明细, ToolBarConfig.CONST_Other8, false)] public FileResult ExportCheckData(string param) { var dto = JsonConvert.DeserializeObject(param); Laypage pager = new Laypage { page = 1, limit = 100000, }; var list = _order.GetCheckList(ref pager, dto); LogHelper.Info($"导出查询到{list.Count}数据"); string checkedFilds = Server.UrlDecode(Request.Cookies["checkedFilds"].Value); string checkedTitle = Server.UrlDecode(Request.Cookies["checkedTitles"].Value); Request.Cookies.Remove("checkedFilds");//用完后删除cookies Request.Cookies.Remove("checkedTitles");//用完后删除cookies String file = string.Format("CheckOrderList{0}.xls", DateTime.Now.ToLocalTime().ToString("yyyyMMddHHmmssfffff")); MergeExcelModel mergeExcelModel = new MergeExcelModel() { MergeId = "ID", MergeRow = new List { "Id", "ResId", "CNAME", "CHANNELNAME", "CTime", "AuditName", "AuditTime", "innerUserName", "checkStatusName", "OrderIds", "CheckTime", "Ename" } }; mergeExcelModel.MergeRow = mergeExcelModel.MergeRow.Select(n => n.ToLower()).ToList(); return File(ExcelHelper.ExportListModelToExcelMerge(list, "CheckOrderList", 30000, checkedFilds, checkedTitle, DataFormart, mergeExcelModel), "application/ms-excel", file); } #endregion 质检列表 #region 违规通知单 /// /// 违规通知单管理 /// /// [AuthorizeRedirect(RightsConfig.CONST_违规通知单, ToolBarConfig.CONST_NotButton, true)] public ActionResult CheckNoticeManage() { ViewBag.eid = Eid; ViewBag.rightCode = RightsConfig.CONST_违规通知单; ViewBag.companyList = cache_BL.GetDeptments(); return View(); } public JsonResult CheckNoticeManageList(Laypage pager, HgCheckQualitySearchDto dto) { 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 data = JsonConvert.DeserializeObject>>(result); var model = new LayuiData() { msg = "数据加载成功!", count = data.Data.Total, code = 0, data = data.Data.Data }; return Json(model, JsonRequestBehavior.AllowGet); } [AuthorizeRedirect(RightsConfig.CONST_违规通知单, ToolBarConfig.CONST_Add, true)] [HttpGet] public ActionResult AddCheckNotice() { //根据时间生成通知单号 //var noticeId = $@"ZJ{DateTime.Now.Year}{DateTime.Now.Month}{DateTime.Now.Day}"; return View(); } [AuthorizeRedirect(RightsConfig.CONST_违规通知单, ToolBarConfig.CONST_Add, false)] [HttpPost] [ValidateInput(false)] public JsonResult AddCheckNotice(HgCheckQualityNoticeSubmitDto dto) { try { var postDto = new HgCheckQualityNoticeDto(); postDto.NoticeCreator = Eid; postDto.NoticeCreatorName = UserName; postDto.Content = dto.Content; postDto.ToEid = dto.SaleEid; postDto.PersonList = new List() { new PersonInfo(){ Eid= dto.SaleEid , NoticeLevel="sale"}, new PersonInfo(){ Eid= dto.ManageEid , NoticeLevel="manage"} }; var res = _order.AddCheckNotice(postDto); var ret = new retMsg { result = res, retcode = 200 }; return Json(ret, JsonRequestBehavior.AllowGet); } catch (Exception ex) { var ret = new retMsg { result = false, retcode = 200, retmsg = ex.Message }; return Json(ret, JsonRequestBehavior.AllowGet); } } [AuthorizeRedirect(RightsConfig.CONST_违规通知单, ToolBarConfig.CONST_Edit, true)] [HttpGet] public ActionResult EditCheckNotice(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); return View(data.Data); } [AuthorizeRedirect(RightsConfig.CONST_违规通知单, ToolBarConfig.CONST_Edit, false)] [HttpPost] [ValidateInput(false)] public JsonResult EditCheckNotice(EditHgCheckQualityNoticeDto dto) { try { var res = _order.EditCheckNotice(dto); var ret = new retMsg { result = res, retcode = 200 }; return Json(ret, JsonRequestBehavior.AllowGet); } catch (Exception ex) { var ret = new retMsg { result = false, retcode = 200, retmsg = ex.Message }; return Json(ret, JsonRequestBehavior.AllowGet); } } /// /// 通知单查看 /// /// [AuthorizeRedirect(RightsConfig.CONST_违规通知单, ToolBarConfig.CONST_Other1, true)] [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(RightsConfig.CONST_违规通知单, ToolBarConfig.CONST_Other2, true)] [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(RightsConfig.CONST_违规通知单, ToolBarConfig.CONST_Other1, true)] public ActionResult LookNoticeShow(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); return View(data.Data); } [AuthorizeRedirect(RightsConfig.CONST_违规通知单合规负责人确认, ToolBarConfig.CONST_NotButton, false)] [HttpPost] public JsonResult AddNoticeOption(int id, string opinion) { try { var res = _order.AddNoticeOption(id, opinion, Eid); var ret = new retMsg { result = res, retcode = 200 }; return Json(ret, JsonRequestBehavior.AllowGet); } catch (Exception ex) { var ret = new retMsg { result = false, retcode = 200, retmsg = ex.Message }; return Json(ret, JsonRequestBehavior.AllowGet); } } [HttpPost] [AuthorizeRedirect(RightsConfig.CONST_违规通知单, ToolBarConfig.CONST_Delete, false)] public JsonResult DelCheckNotice(int id) { try { var res = _order.DelCheckNotice(id); var ret = new retMsg { result = res, retcode = 200 }; return Json(ret, JsonRequestBehavior.AllowGet); } catch (Exception ex) { var ret = new retMsg { result = false, retcode = 200, retmsg = ex.Message }; return Json(ret, JsonRequestBehavior.AllowGet); } } [AuthorizeRedirect(RightsConfig.CONST_违规处罚单添加, ToolBarConfig.CONST_NotButton, false)] [HttpPost] public JsonResult AddQualityPunish(int id, string content) { try { var res = _order.AddQualityPunish(id, content, Eid); var ret = new retMsg { result = res, retcode = 200 }; return Json(ret, JsonRequestBehavior.AllowGet); } catch (Exception ex) { var ret = new retMsg { result = false, retcode = 200, retmsg = ex.Message }; return Json(ret, JsonRequestBehavior.AllowGet); } } #endregion [HttpGet] public ActionResult ContractFreeOrderView(decimal orderId, int type = 1) { var hgapi = cache_BL.GetValue_Parameter(Parameter.Hg_Core_WebApi); //20220419 许总提出记录请求者信息 var viewSource = "合规数字化系统"; var pageSource = "Audit:赠送订单列表.合同状态"; var coreUrl = cache_BL.GetValue_Parameter(Parameter.Zxd_CoreApiUrl); var hgCoreUrl = $"{coreUrl.Trim('/')}/Api/Contract/GetContractView"; var parameter = $"orderid={orderId}&Eid={Eid}&UserName={UserName}&PageSource={pageSource}&ViewSource={viewSource}"; var htres = Utility.GetData(hgCoreUrl, parameter, Encoding.UTF8); var urlInfo = JsonHelper.JsonDivertToObj>(htres); if (urlInfo.Code == 0) { ViewBag.fxjssUrl = urlInfo?.Data?.fxjssUrl; ViewBag.tgfwxyUrl = urlInfo?.Data?.tgfwxyUrl; ViewBag.businesstype = urlInfo?.Data?.businesstype; ViewBag.fxpcUrl = urlInfo?.Data?.fxpcUrl; ViewBag.cphfwUrl = urlInfo?.Data?.cphfwUrl; ViewBag.sdxpgUrl = urlInfo?.Data?.sdxpgUrl; } ViewBag.OrderId = orderId; ViewBag.CONTRACTCODE = urlInfo?.Data?.CONTRACTCODE; ViewBag.ViewMsg = string.Empty; //ViewBag.fkUrl = fkUrl;//风控Url ViewBag.htUrl = urlInfo?.Data?.htUrl;//合同Url ViewBag.CONTRACTSTATUS = urlInfo?.Data?.CONTRACTSTATUS; ViewBag.hgapi = hgapi; ViewBag.eid = Eid; ViewBag.username = UserName; return View(); } public JsonResult ImportCheckOrder() { // 获取站点根目录的物理路径 var rootPath = Server.MapPath("~/"); // 构造要读取的文件的物理路径 var filePath = Path.Combine(rootPath, "导入违规等级.xlsx"); if (!System.IO.File.Exists(filePath)) { return Json(new { result = false, message = "文件不存在" }, JsonRequestBehavior.AllowGet); } var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); var stream = fileStream; var buffer = new byte[1024]; var bytesRead = stream.Read(buffer, 0, buffer.Length); var dt = ExcelToDataTable(fileStream, filePath); _order.ImportCheckOrder(dt); // 关闭FileStream fileStream.Close(); return Json(new { result = true, message = "ok" }, JsonRequestBehavior.AllowGet); } public JsonResult ImportCheckOrderOK() { // 获取站点根目录的物理路径 var rootPath = Server.MapPath("~/"); // 构造要读取的文件的物理路径 var filePath = Path.Combine(rootPath, "合规订单.xlsx"); if (!System.IO.File.Exists(filePath)) { return Json(new { result = false, message = "文件不存在" }, JsonRequestBehavior.AllowGet); } var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); var stream = fileStream; var buffer = new byte[1024]; var bytesRead = stream.Read(buffer, 0, buffer.Length); var dt = ExcelToDataTable(fileStream, filePath); _order.ImportCheckOrderOK(dt); // 关闭FileStream fileStream.Close(); return Json(new { result = true, message = "ok" }, JsonRequestBehavior.AllowGet); } } }