ComplianceServer/oldcode/Core.Web/Controllers/ComplianceOrderController.cs

923 lines
38 KiB
C#

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<SelectListItem> productList = new List<SelectListItem>();
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<Dictionary<string, string>>();
foreach (var aiCall in aiCallType)
{
var item = new Dictionary<string, string>
{
{ "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<Dictionary<string, string>>();
foreach (var company in companyList)
{
var channel = new Dictionary<string, string>
{
{ "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<string> 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<RiskInfoDto>(res);
// if (ret.ret == 0 || ret.ret == -104)
// {
// item.CNAME = ret.name;
// }
//}
}
var data = new LayuiData<WX_SZZYORDER_View>()
{
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);
}
}
/// <summary>
/// 订单详细,用于订单数据补充,比如订单中赠送失败了需要赠送
/// </summary>
/// <param name="orderId"></param>
/// <returns></returns>
[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<OrderQueryDto>(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<WX_SZZYORDER_ExportView> res = new List<WX_SZZYORDER_ExportView>();
//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<WX_SZZYORDER_View>(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<ApiResult<PageResult<ScreenRecordDto>>>(result);
var list = new List<ScreenRecordDto>();
if (page.Code == 0)
{
list = page.Data.Data.ToList();
}
var data = new LayuiData<ScreenRecordDto>()
{
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<FTPConfig>(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("<script>alert('录屏文件尚未同步,请稍后再试')</script>");
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<Dictionary<string, string>>();
foreach (var item in list.CheckOrders)
{
var order = new Dictionary<string, string>
{
{ "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<CheckNewOrderListModel>()
{
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<Dictionary<string, string>>();
foreach (var company in companyList)
{
var channel = new Dictionary<string, string>
{
{ "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<CheckOrderList>()
{
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<CheckOrderQueryDto>(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<string>
{
"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<CheckOrderList>(list, "CheckOrderList", 30000, checkedFilds, checkedTitle, DataFormart, mergeExcelModel), "application/ms-excel", file);
}
#endregion
#region
/// <summary>
/// 违规通知单管理
/// </summary>
/// <returns></returns>
[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<PageResult<List<Hg_CheckQuality_Notice>>>(result);
var data = JsonConvert.DeserializeObject<ApiResult<PageResult<Hg_CheckQuality_Notice>>>(result);
var model = new LayuiData<Hg_CheckQuality_Notice>()
{
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<PersonInfo>() {
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<ApiResult<Hg_CheckQuality_Notice>>(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);
}
}
/// <summary>
/// 通知单查看
/// </summary>
/// <returns></returns>
[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<PageResult<List<Hg_CheckQuality_Notice>>>(result);
var data = JsonConvert.DeserializeObject<ApiResult<Hg_CheckQuality_Notice>>(result);
return View(data.Data);
}
/// <summary>
/// 处罚单查看
/// </summary>
/// <returns></returns>
[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<PageResult<List<Hg_CheckQuality_Notice>>>(result);
var data = JsonConvert.DeserializeObject<ApiResult<Hg_CheckQuality_Notice>>(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<ApiResult<Hg_CheckQuality_Notice>>(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<ApiResult<ContractResultView>>(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);
}
}
}