using CallCenter.Utility;
using CallCenterApi.BLL;
using CallCenterApi.Common;
using CallCenterApi.DB;
using CallCenterApi.Interface.Controllers.Base;
using CallCenterApi.Interface.Models.Common;
using CallCenterApi.Model;
using LumiSoft.Net.IO;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Net.Security;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Transactions;
using System.Web;
using System.Web.Mvc;
namespace CallCenterApi.Interface.Controllers.workorder
{
public class hb_affairsController : BaseController
{
private BLL.T_Bus_WorkOrder workorderBLL = new BLL.T_Bus_WorkOrder();
private BLL.T_Bus_Operation operBLL = new BLL.T_Bus_Operation();
private BLL.T_Sys_UserAccount userBLL = new BLL.T_Sys_UserAccount();
private information.InternalMessagesController msg = new information.InternalMessagesController();
private BLL.T_Cus_CustomerBase cusBLL = new BLL.T_Cus_CustomerBase();
private BLL.T_Bus_AssignedInfo assignBLL = new BLL.T_Bus_AssignedInfo();
private BLL.T_Sys_Affairs affairsBll = new BLL.T_Sys_Affairs();
string FrontUrl = Configs.GetValue("FrontUrl");
string NativeURL = Configs.GetValue("NativeURL");
///
/// 添加工单信息
///
///
public ActionResult receive_case_info()
{
StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
var postString = reader.ReadToEnd();
JObject paras = null;
paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
var txnBodyCom = paras["paras"].ToString();
var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
{
#region 保存工单信息
string creattime = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
string endtime = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
Model.T_Sys_Affairs affairs = new Model.T_Sys_Affairs();
if (result["TROWGUID"] != null)
{
if (!string.IsNullOrEmpty(result["TROWGUID"].ToString()))
{
affairs.TROWGUID = result["TROWGUID"].ToString();//任务单唯一标识
}
else
{
var obj = new
{
code = "0",
message = "请输入TROWGUID"
};
return Content(obj.ToJson());
}
}
else
{
var obj = new
{
code = "0",
message = "TROWGUID不能为NULL"
};
return Content(obj.ToJson());
}
var affairslist = new BLL.T_Sys_Affairs().GetModelList("TROWGUID='" + result["TROWGUID"].ToString() + "'");
if (affairslist != null && affairslist.Count > 0)
{
var obj = new
{
code = "0",
message = "此工单已交办"
};
return Content(obj.ToJson());
}
if (result["CASE_SERIAL"] != null)
{
if (!string.IsNullOrEmpty(result["CASE_SERIAL"].ToString()))
{
affairs.CASE_SERIAL = result["CASE_SERIAL"].ToString();//工单编号
}
else
{
var obj = new
{
code = "0",
message = "请输入CASE_SERIAL"
};
return Content(obj.ToJson());
}
}
else
{
var obj = new
{
code = "0",
message = "CASE_SERIAL不能为NULL"
};
return Content(obj.ToJson());
}
modelT_Bus_WorkOrder.F_WorkOrderId = workorderBLL.GetNewWorkOrderID(2580, 1, creattime, endtime);
modelT_Bus_WorkOrder.F_WorkOrderId = result["CASE_SERIAL"].ToString().Substring(0, 2) +
modelT_Bus_WorkOrder.F_WorkOrderId.Substring(2, modelT_Bus_WorkOrder.F_WorkOrderId.Length - 2);
modelT_Bus_WorkOrder.F_InfoSource = 2580;//信息来源
var type = result["CASE_TYPE"] == null ? "" : result["CASE_TYPE"].ToString();
if (!string.IsNullOrEmpty(type))
{
if (type == "10")
modelT_Bus_WorkOrder.F_InfoType = 9;
else if (type == "15")
modelT_Bus_WorkOrder.F_InfoType = 12;
else if (type == "20")
modelT_Bus_WorkOrder.F_InfoType = 11;
else if (type == "30")
modelT_Bus_WorkOrder.F_InfoType = 10;
else if (type == "35")
modelT_Bus_WorkOrder.F_InfoType = 13;
else
modelT_Bus_WorkOrder.F_InfoType = 90;
}
else
modelT_Bus_WorkOrder.F_InfoType = 90;
modelT_Bus_WorkOrder.F_SourceAddress = result["CASE_ADDRESS"] == null ? "" : result["CASE_ADDRESS"].ToString();
modelT_Bus_WorkOrder.F_CusName = result["APPLICANT_NAME"] == null ? "" : result["APPLICANT_NAME"].ToString();
if (string.IsNullOrEmpty(result["APPLICANT_NAME"].ToString()))
{
var obj = new
{
code = "0",
message = "请输入APPLICANT_NAME"
};
return Content(obj.ToJson());
}
if (result["APPLICANT_SEX"] != null)
{
if (result["APPLICANT_SEX"].ToString() == "1")
modelT_Bus_WorkOrder.F_CusSex = "0";//性别
else if (result["APPLICANT_SEX"].ToString() == "2")
modelT_Bus_WorkOrder.F_CusSex = "1";//性别
}
modelT_Bus_WorkOrder.F_CusPhone = result["APPLICANT_NUMBER"] == null ? "" : result["APPLICANT_NUMBER"].ToString();
if (string.IsNullOrEmpty(result["APPLICANT_NUMBER"].ToString()))
{
var obj = new
{
code = "0",
message = "请输入APPLICANT_NUMBER"
};
return Content(obj.ToJson());
}
modelT_Bus_WorkOrder.F_CusAddress = result["CASE_ADDRESS"] == null ? "" : result["CASE_ADDRESS"].ToString();
modelT_Bus_WorkOrder.F_ConName = result["APPLICANT_NAME"].ToString();
modelT_Bus_WorkOrder.F_ConPhone = result["APPLICANT_NUMBER"].ToString();//联系人电话
modelT_Bus_WorkOrder.F_ComTitle = result["CASE_TITLE"] == null ? "" : result["CASE_TITLE"].ToString();
modelT_Bus_WorkOrder.F_ComContent = result["CASE_CONTENT"] == null ? "" : result["CASE_CONTENT"].ToString();
if (result["CASE_ACCORD"] != null)
{
var KeyValue = DbHelperSQL.GetSingle("select F_ValueId from T_Sys_DictionaryValue where F_Remark = '" + result["CASE_ACCORD"].ToString() + "'");
if (KeyValue!=null )
{
modelT_Bus_WorkOrder.F_Key = KeyValue.ToString ();
}
}
affairs.CASE_TIME = result["CASE_TIME"] == null ? "" : result["CASE_TIME"].ToString();
if (result["CASE_ISPUBLIC"] != null)
{
if (result["CASE_ISPUBLIC"].ToString() == "1")
modelT_Bus_WorkOrder.F_IsProtect = 0;//保密方式0否1是
else
modelT_Bus_WorkOrder.F_IsProtect = 1;//保密方式0否1是
}
if (result["CASE_LNGLAT"] != null)
{
if (result["CASE_LNGLAT"].ToString() != "")
{
try
{
var CASE_LNGLAT = result["CASE_LNGLAT"].ToString().Substring(1, result["CASE_LNGLAT"].ToString().Length - 2);
if (CASE_LNGLAT.Split(',').Length > 1)
{
modelT_Bus_WorkOrder.F_Latitude = CASE_LNGLAT.Split(',')[0] != "" ? decimal.Parse(CASE_LNGLAT.Split(',')[0]) : 0;//纬度
modelT_Bus_WorkOrder.F_Longitude = CASE_LNGLAT.Split(',')[1] != "" ? decimal.Parse(CASE_LNGLAT.Split(',')[1]) : 0;//经度
}
}
catch
{
}
}
}
affairs.TSIGNTIME_BF = result["TSIGNTIME_BF"] == null ? "" : result["TSIGNTIME_BF"].ToString();
affairs.TFDBACKTIME_BF = result["TFDBACKTIME_BF"] == null ? "" : result["TFDBACKTIME_BF"].ToString();
affairs.TBACKTIME_BF = result["TBACKTIME_BF"] == null ? "" : result["TBACKTIME_BF"].ToString();
affairs.SEND_TIME = result["SEND_TIME"] == null ? "" : result["SEND_TIME"].ToString();
affairs.SEND_CONTENT = result["SEND_CONTENT"] == null ? "" : result["SEND_CONTENT"].ToString();
// modelT_Bus_WorkOrder.F_IsOpen = isopen;
//是否直办(即时答复)0:,否1: 是
if (result["CASE_ATTATH_ID"] != null)
{
if (!string.IsNullOrEmpty(result["CASE_ATTATH_ID"].ToString()))
modelT_Bus_WorkOrder.F_File = receive_info(result["CASE_ATTATH_ID"].ToString());
}
if (result["SEND_ATTATH_ID"] != null)
{
if (string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_File))
{
if (!string.IsNullOrEmpty(result["SEND_ATTATH_ID"].ToString()))
modelT_Bus_WorkOrder.F_File = receive_info(result["SEND_ATTATH_ID"].ToString());
}
else
{
if (!string.IsNullOrEmpty(result["SEND_ATTATH_ID"].ToString()))
modelT_Bus_WorkOrder.F_File += "," + receive_info(result["SEND_ATTATH_ID"].ToString());
}
}
//if (result["CASE_ISURGENT"] != null)
//{
// if (result["CASE_ISURGENT"].ToString() == "30")
// modelT_Bus_WorkOrder.F_Level = 1;
// else
// modelT_Bus_WorkOrder.F_Level = 2;
//}
modelT_Bus_WorkOrder.F_Level = 3;
modelT_Bus_WorkOrder.F_IsResult = 0;
modelT_Bus_WorkOrder.F_CreateUser = "省平台";//登记人工号
try
{
modelT_Bus_WorkOrder.F_CreateTime = DateTime.Parse(result["APPLICANT_TIME"].ToString());
}
catch
{
modelT_Bus_WorkOrder.F_CreateTime = DateTime.Now;//登记时间
}
modelT_Bus_WorkOrder.F_WorkState = 0;// 0;//工单状态0登记中
modelT_Bus_WorkOrder.F_IsClosed = 0;//工单是否关闭
modelT_Bus_WorkOrder.F_IsOverdue = 0;//是否逾期(0:否,1:是)
modelT_Bus_WorkOrder.F_IsDelete = 0;//是否删除(0:否,1:是)
#region
#endregion
modelT_Bus_WorkOrder.F_Id = workorderBLL.Add(modelT_Bus_WorkOrder);
affairs.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
affairs.CreateTime = DateTime.Now;
affairsBll.Add(affairs);
#endregion
trans.Complete();
}
if (modelT_Bus_WorkOrder.F_Id <= 0)
{
var obj = new
{
code = "0",
message = "失败"
};
return Content(obj.ToJson());
}
else
{
string userinfo = "省平台";
string message = "";
message = userinfo + " 登记了工单,工单编号:" + modelT_Bus_WorkOrder.F_WorkOrderId;
// var curuser = User;
Task.Run(() =>
{
#region 插入操作记录
Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
oper.F_CallRecordId = modelT_Bus_WorkOrder.F_CallRecordId;
oper.F_File = modelT_Bus_WorkOrder.F_File;
oper.F_Message = message;
oper.F_CreateUser = result["HWY_LOGINID"] == null ? "" : result["HWY_LOGINID"].ToString();
oper.F_CreateTime = DateTime.Now;
oper.F_IsDelete = 0;
operBLL.Add(oper);
#endregion
}).ContinueWith(p => {
System.Diagnostics.Debug.WriteLine(DateTime.Now);
});
var obj = new
{
code = "1",
message = "推送成功!"
}
;
return Content(obj.ToJson());
}
}
///
/// 申请延时结果
///
///
//[Authority]
public ActionResult receive_case_delay_audit()
{
StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
var postString = reader.ReadToEnd();
JObject paras = null;
paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
var txnBodyCom = paras["paras"].ToString();
var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
if (result["TROWGUID"] == null)
{
var obj = new
{
code = "0",
message = "TROWGUID不能为空"
};
return Content(obj.ToJson());
}
if (string.IsNullOrEmpty(result["TROWGUID"].ToString()))
{
var obj = new
{
code = "0",
message = "TROWGUID不能为空"
};
return Content(obj.ToJson());
}
var affairs = affairsBll.GetModelList("TROWGUID='" + result["TROWGUID"].ToString() + "'");
if (affairs != null && affairs.Count > 0)
{
Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(affairs.FirstOrDefault().F_WorkOrderId);
Model.T_Bus_DelayTime modelT_Bus_DelayTime = new BLL.T_Bus_DelayTime().GetNewModelByWorkOrderID(modelT_Bus_WorkOrder.F_WorkOrderId);
Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfo = assignBLL.GetNewModelByWorkOrderID(modelT_Bus_WorkOrder.F_WorkOrderId);
var modelT_Bus_AssignedInfo_Next = new BLL.T_Bus_AssignedInfo_Next().GetModelList("F_State=1 and F_IsDelete=0 and F_WorkOrderId='" + modelT_Bus_WorkOrder.F_WorkOrderId + "' order by F_CreateTime desc");
if (modelT_Bus_DelayTime != null && affairs != null)
{
using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
{
var autio = result["AUDIT_RESULT"] == null ? "" : result["AUDIT_RESULT"].ToString();
string type = "同意"; string des = "";
if (autio == "1")
{
if (modelT_Bus_DelayTime.F_AssignedId == 0)
{
affairs.FirstOrDefault().TBACKTIME_BF = modelT_Bus_DelayTime.F_NewTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
des = ",原定退回时间" + modelT_Bus_DelayTime.F_OldTime + ",申请延长到" + modelT_Bus_DelayTime.F_NewTime;
}
else
{
affairs.FirstOrDefault().TFDBACKTIME_BF = modelT_Bus_DelayTime.F_NewTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
TimeSpan ts = modelT_Bus_DelayTime.F_NewTime.Value.Subtract(modelT_Bus_DelayTime.F_OldTime.Value);
int tss = int.Parse(Math.Round(ts.TotalHours, 0).ToString());
modelT_Bus_WorkOrder.F_LimitTime =
modelT_Bus_WorkOrder.F_LimitTime.Value
.AddHours(tss);
des = ",原定办结时间" + modelT_Bus_DelayTime.F_OldTime + ",申请延长到" + modelT_Bus_DelayTime.F_NewTime;
int n = DbHelperSQL.ExecuteSql(" update T_Bus_WorkOrder set F_LimitTime='" + modelT_Bus_WorkOrder.F_LimitTime + "' where F_Id ='" + modelT_Bus_WorkOrder.F_Id + "'");
if (modelT_Bus_AssignedInfo != null)
{
modelT_Bus_AssignedInfo.F_LimitTime = modelT_Bus_WorkOrder.F_LimitTime;
assignBLL.Update(modelT_Bus_AssignedInfo);
}
if (!string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_SubWorkorder1))
{
var modellist = workorderBLL.GetModelList("F_WorkOrderId in(select col from dbo.SplitToNvarchar('" + modelT_Bus_WorkOrder.F_SubWorkorder1 + "',',' )) and F_IsDelete =0 ");
if (modellist != null && modellist.Count > 0)
{
foreach (var it in modellist)
{
it.F_LimitTime =
it.F_LimitTime.Value
.AddHours(tss);
des = ",原定办结时间" + modelT_Bus_DelayTime.F_OldTime + ",申请延长到" + it.F_LimitTime;
int t = DbHelperSQL.ExecuteSql(" update T_Bus_WorkOrder set F_LimitTime='" + it.F_LimitTime
+ "' where F_Id ='" + it.F_Id + "'");
Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfo1 = assignBLL.GetNewModelByWorkOrderID(it.F_WorkOrderId);
var modelT_Bus_AssignedInfo_Next1 = new BLL.T_Bus_AssignedInfo_Next().GetModelList("F_State=1 and F_IsDelete=0 and F_WorkOrderId='"
+ it.F_WorkOrderId + "' order by F_CreateTime desc");
if (modelT_Bus_AssignedInfo1 != null)
{
modelT_Bus_AssignedInfo1.F_LimitTime = it.F_LimitTime;
assignBLL.Update(modelT_Bus_AssignedInfo1);
}
if (modelT_Bus_AssignedInfo_Next1 != null && modelT_Bus_AssignedInfo_Next1.Count > 0)
{
modelT_Bus_AssignedInfo_Next1[0].F_LimitTime =
modelT_Bus_AssignedInfo_Next1[0].F_LimitTime.Value
.AddHours(tss);
new BLL.T_Bus_AssignedInfo_Next().Update(modelT_Bus_AssignedInfo_Next1[0]);
}
Model.T_Bus_DelayTime modelT_Bus_DelayTime1 = new BLL.T_Bus_DelayTime().GetNewModelByWorkOrderID(it.F_WorkOrderId);
modelT_Bus_DelayTime1.F_IsAudit = 1;//审核
modelT_Bus_DelayTime1.F_AuditUser = result["AUDIT_NAME"].ToString();
modelT_Bus_DelayTime1.F_AuditTime = DateTime.Now;
modelT_Bus_DelayTime1.F_RefuseReason = result["AUDIT_OPINION"] == null ? "" : result["AUDIT_OPINION"].ToString();
modelT_Bus_DelayTime1.F_AgreeTime = modelT_Bus_DelayTime1.F_NewTime;
new BLL.T_Bus_DelayTime().Update(modelT_Bus_DelayTime1);
Model.T_Bus_Operation oper1 = new Model.T_Bus_Operation();
oper1.F_WorkOrderId = it.F_WorkOrderId;
oper1.F_AssignedId = 0;
oper1.F_State = it.F_WorkState;
string userinfo1 = "省平台";
oper1.F_Message = userinfo1 + " " + type + "了工单延时申请" + des;
oper1.F_CreateUser = "省平台";
oper1.F_CreateTime = DateTime.Now;
oper1.F_IsDelete = 0;
operBLL.Add(oper1);
}
}
}
if (modelT_Bus_AssignedInfo_Next != null && modelT_Bus_AssignedInfo_Next.Count > 0)
{
modelT_Bus_AssignedInfo_Next[0].F_LimitTime =
modelT_Bus_AssignedInfo_Next[0].F_LimitTime.Value
.AddHours(tss);
new BLL.T_Bus_AssignedInfo_Next().Update(modelT_Bus_AssignedInfo_Next[0]);
}
}
modelT_Bus_DelayTime.F_IsAudit = 1;//审核
modelT_Bus_DelayTime.F_AuditUser = result["AUDIT_NAME"].ToString();
modelT_Bus_DelayTime.F_AuditTime = DateTime.Now;
modelT_Bus_DelayTime.F_RefuseReason = result["AUDIT_OPINION"] == null ? "" : result["AUDIT_OPINION"].ToString();
modelT_Bus_DelayTime.F_AgreeTime = modelT_Bus_DelayTime.F_NewTime;
new BLL.T_Bus_DelayTime().Update(modelT_Bus_DelayTime);
}
else
{
type = "拒绝";
//if (modelT_Bus_AssignedInfo != null && modelT_Bus_DelayTime.F_AssignedId != 0)
//{
// modelT_Bus_AssignedInfo.F_IsSure = 1;
// assignBLL.Update(modelT_Bus_AssignedInfo);
//}
modelT_Bus_DelayTime.F_IsAudit = 2;//审核
modelT_Bus_DelayTime.F_AuditUser = result["AUDIT_NAME"] == null ? "" : result["AUDIT_NAME"].ToString();
modelT_Bus_DelayTime.F_AuditTime = DateTime.Now;
modelT_Bus_DelayTime.F_RefuseReason = result["AUDIT_OPINION"] == null ? "" : result["AUDIT_OPINION"].ToString();
modelT_Bus_DelayTime.F_AgreeTime = modelT_Bus_DelayTime.F_NewTime;
new BLL.T_Bus_DelayTime().Update(modelT_Bus_DelayTime);
if (!string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_SubWorkorder1))
{
var modellist = workorderBLL.GetModelList("F_WorkOrderId in(select col from dbo.SplitToNvarchar('" + modelT_Bus_WorkOrder.F_SubWorkorder1 + "',',' )) and F_IsDelete =0 ");
if (modellist != null && modellist.Count > 0)
{
foreach (var it in modellist)
{
Model.T_Bus_DelayTime modelT_Bus_DelayTime1 = new BLL.T_Bus_DelayTime().GetNewModelByWorkOrderID(it.F_WorkOrderId);
modelT_Bus_DelayTime1.F_IsAudit = 2;//审核
modelT_Bus_DelayTime1.F_AuditUser = result["AUDIT_NAME"] == null ? "" : result["AUDIT_NAME"].ToString();
modelT_Bus_DelayTime1.F_AuditTime = DateTime.Now;
modelT_Bus_DelayTime1.F_RefuseReason = result["AUDIT_OPINION"] == null ? "" : result["AUDIT_OPINION"].ToString();
modelT_Bus_DelayTime1.F_AgreeTime = modelT_Bus_DelayTime.F_NewTime;
new BLL.T_Bus_DelayTime().Update(modelT_Bus_DelayTime1);
Model.T_Bus_Operation oper1 = new Model.T_Bus_Operation();
oper1.F_WorkOrderId = it.F_WorkOrderId;
oper1.F_AssignedId = 0;
oper1.F_State = it.F_WorkState;
string userinfo1 = "省平台";
oper1.F_Message = userinfo1 + " " + type + "了工单延时申请" + des;
oper1.F_CreateUser = "省平台";
oper1.F_CreateTime = DateTime.Now;
oper1.F_IsDelete = 0;
operBLL.Add(oper1);
}
}
}
}
#region 插入操作记录
Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
oper.F_AssignedId = 0;
oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
string userinfo = "省平台";
oper.F_Message = userinfo + " " + type + "了工单延时申请" + des;
oper.F_CreateUser = "省平台";
oper.F_CreateTime = DateTime.Now;
oper.F_IsDelete = 0;
operBLL.Add(oper);
trans.Complete();
}
var obj1 = new
{
code = "1",
message = "推送成功"
};
return Content(obj1.ToJson());
#endregion
}
else
{
var obj = new
{
code = "0",
message = "推送失败"
};
return Content(obj.ToJson());
}
}
else
{
var obj = new
{
code = "0",
message = "推送失败"
};
return Content(obj.ToJson());
}
}
///
/// 服务工单交办催单/撤单/补单接口
///
///
//[Authority]
public ActionResult receive_case_supply()
{
StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
var postString = reader.ReadToEnd();
JObject paras = null;
paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
var txnBodyCom = paras["paras"].ToString();
var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
if (result["TROWGUID"] == null)
{
var obj = new
{
code = "0",
message = "TROWGUID不能为空"
};
return Content(obj.ToJson());
}
if (string.IsNullOrEmpty(result["TROWGUID"].ToString()))
{
var obj = new
{
code = "0",
message = "TROWGUID不能为空"
};
return Content(obj.ToJson());
}
var affairs = affairsBll.GetModelList("TROWGUID='" + result["TROWGUID"].ToString() + "'");
if (affairs != null && affairs.Count > 0)
{
Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(affairs.FirstOrDefault().F_WorkOrderId);
using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
{
string Message = "";
var SUPPLY_TYPE = result["SUPPLY_TYPE"] == null ? "" : result["SUPPLY_TYPE"].ToString();
if (string.IsNullOrEmpty(SUPPLY_TYPE))
{
var obj = new
{
code = "0",
message = "SUPPLY_TYPE不能为空"
};
return Content(obj.ToJson());
}
if (result["SUPPLY_TYPE"].ToString() == "10")
{
if (result["SUPPLY_CONTENT"] != null && !string.IsNullOrEmpty(result["SUPPLY_CONTENT"].ToString()))
Message = "省平台催单,内容:" + result["SUPPLY_CONTENT"] == null ? "" : result["SUPPLY_CONTENT"].ToString();
else
Message = "省平台催单";
WebClient web = new WebClient();
web.Encoding = Encoding.UTF8;
string Dataurl = web.DownloadString(NativeURL + "Affairs/Reminders" + "?workorderid=" + modelT_Bus_WorkOrder.F_WorkOrderId);
}
else if (result["SUPPLY_TYPE"].ToString() == "20")
{
if (result["SUPPLY_CONTENT"] != null && !string.IsNullOrEmpty(result["SUPPLY_CONTENT"].ToString()))
Message = "省平台撤单,内容:" + result["SUPPLY_CONTENT"] == null ? "" : result["SUPPLY_CONTENT"].ToString();
else
Message = "省平台撤单";
Dictionary keyValuePairs = new Dictionary();
if (string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_Result))
{
// modelT_Bus_WorkOrder.F_Result = Message;
keyValuePairs.Add("F_Result", Message);
}
if (modelT_Bus_WorkOrder.F_DealTime == null)
keyValuePairs.Add("F_DealTime", DateTime.Now);
keyValuePairs.Add("F_WorkState", 9);
modelT_Bus_WorkOrder.F_WorkState = (int)EnumWorkState.finish;
keyValuePairs.Add("F_IsSatisfie", 1);
// modelT_Bus_WorkOrder.F_IsSatisfie = 1;
keyValuePairs.Add("F_IsClosed", 1);
// modelT_Bus_WorkOrder.F_IsClosed = 1;
// modelT_Bus_WorkOrder.F_CloseUser = User.F_UserCode;
keyValuePairs.Add("F_CloseTime", DateTime.Now);
// modelT_Bus_WorkOrder.F_CloseTime = DateTime.Now;
if (!string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_FinalOpinion))
keyValuePairs.Add("F_FinalOpinion", Message);
workorderBLL.UpdateWorkOrder(modelT_Bus_WorkOrder.F_Id, keyValuePairs);
}
else
{
if (result["SUPPLY_CONTENT"] != null && !string.IsNullOrEmpty(result["SUPPLY_CONTENT"].ToString()))
Message = "省平台补单,内容:" + result["SUPPLY_CONTENT"].ToString();
else
Message = "省平台补单";
Dictionary keyValuePairs = new Dictionary();
keyValuePairs.Add("F_ComContent", modelT_Bus_WorkOrder.F_ComContent + " " + Message);
// modelT_Bus_WorkOrder.F_ComContent += " " + Message;
workorderBLL.UpdateWorkOrder(modelT_Bus_WorkOrder.F_Id, keyValuePairs);
}
#region 插入操作记录
Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
oper.F_Message = Message;
oper.F_CreateUser = result["SUPPLY_NAME"] == null ? "" : result["SUPPLY_NAME"].ToString();
oper.F_CreateTime = DateTime.Now;
oper.F_IsDelete = 0;
operBLL.Add(oper);
#endregion
trans.Complete();
}
var obj1 = new
{
code = "1",
message = "推送成功"
};
return Content(obj1.ToJson());
}
else
{
var obj = new
{
code = "0",
message = "推送失败"
};
return Content(obj.ToJson());
}
}
///
/// 督查督办派发
///
///
//[Authority]
public ActionResult receive_jcsupervise_send()
{
StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
var postString = reader.ReadToEnd();
JObject paras = null;
paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
var txnBodyCom = paras["paras"].ToString();
var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
if (result["JC_RELATION_SERIALNUM"] == null)
{
var obj1 = new
{
code = "0",
message = "JC_RELATION_SERIALNUM不能为空"
};
return Content(obj1.ToJson());
}
if (string.IsNullOrEmpty(result["JC_RELATION_SERIALNUM"].ToString()))
{
var obj1 = new
{
code = "0",
message = "JC_RELATION_SERIALNUM不能为空"
};
return Content(obj1.ToJson());
}
var affairs = affairsBll.GetModelList("CASE_SERIAL='" + result["JC_RELATION_SERIALNUM"].ToString() + "'");
if (affairs != null && affairs.Count > 0)
{
Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(affairs.FirstOrDefault().F_WorkOrderId);
using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
{
Model.T_Bus_Supervision model = new Model.T_Bus_Supervision();
model.F_Code = result["JC_SERIALNUM"] == null ? "" : result["JC_SERIALNUM"].ToString();
model.F_UserCode = result["JC_NAME"] == null ? "" : result["JC_NAME"].ToString();
model.F_SERIALNUM = result["JC_RELATION_SERIALNUM"] == null ? "" : result["JC_RELATION_SERIALNUM"].ToString();
model.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
model.F_Title = result["JC_TITLE"] == null ? "" : result["JC_TITLE"].ToString();
model.F_Level = result["JC_DEGREE"] == null ? "" : result["JC_DEGREE"].ToString();
model.F_State = 0;
model.F_Type = 0;
model.F_CreateTime = DateTime.Now;
if (result["JC_FINISHTIME_BF"] != null && !string.IsNullOrEmpty(result["JC_FINISHTIME_BF"].ToString()))
model.F_LimitTime = DateTime.Parse(result["JC_FINISHTIME_BF"].ToString());
model.F_Opinion = result["JC_OPINION"] == null ? "" : result["JC_OPINION"].ToString();
string des = "";
if (!string.IsNullOrWhiteSpace(model.F_Opinion))
{
des = ",监察意见:" + model.F_Opinion;
}
model.F_Type = 0;
model.F_IsDelete = 0;
int n = new BLL.T_Bus_Supervision().Add(model);
if (n > 0)
{
Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
oper.F_Message = "省平台监察督办派发了工单" + des;
oper.F_CreateUser = result["JC_NAME"] == null ? "" : result["JC_NAME"].ToString();
oper.F_CreateTime = DateTime.Now;
oper.F_IsDelete = 0;
operBLL.Add(oper);
var obj1 = new
{
code = "1",
message = "推送成功"
};
trans.Complete();
return Content(obj1.ToJson());
}
else
{
var obj1 = new
{
code = "0",
message = "推送失败"
};
trans.Complete();
return Content(obj1.ToJson());
}
}
}
var obj = new
{
code = "0",
message = "推送失败"
};
return Content(obj.ToJson());
} ///
/// 督查督办派发
///
///
//[Authority]
public ActionResult receive_dcsupervise_send()
{
StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
var postString = reader.ReadToEnd();
JObject paras = null;
paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
var txnBodyCom = paras["paras"].ToString();
var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
if (result["DC_RELATION_SERIALNUM"] == null)
{
var obj = new
{
code = "0",
message = "DC_RELATION_SERIALNUM不能为空"
};
return Content(obj.ToJson());
}
if (string.IsNullOrEmpty(result["DC_RELATION_SERIALNUM"].ToString()))
{
var obj = new
{
code = "0",
message = "DC_RELATION_SERIALNUM不能为空"
};
return Content(obj.ToJson());
}
var affairs = affairsBll.GetModelList("CASE_SERIAL='" + result["DC_RELATION_SERIALNUM"].ToString() + "'");
if (affairs != null && affairs.Count > 0)
{
Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(affairs.FirstOrDefault().F_WorkOrderId);
using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
{
Model.T_Bus_Supervision model = new Model.T_Bus_Supervision();
model.F_Code = result["DC_SERIALNUM"] == null ? "" : result["DC_SERIALNUM"].ToString();
model.F_UserCode = result["DC_NAME"] == null ? "" : result["DC_NAME"].ToString();
model.F_SERIALNUM = result["DC_RELATION_SERIALNUM"] == null ? "" : result["DC_RELATION_SERIALNUM"].ToString();
model.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
model.F_Situation = result["DC_TYPE"] == null ? "" : result["DC_TYPE"].ToString();
model.F_Content = result["DC_CONTENT"] == null ? "" : result["DC_CONTENT"].ToString();
model.F_Opinion = result["DC_OPINION"] == null ? "" : result["DC_OPINION"].ToString();
model.F_State = 0;
model.F_Type = 1;
model.F_CreateTime = DateTime.Now;
if (result["DC_FINISHTIME_BF"] != null && !string.IsNullOrEmpty(result["DC_FINISHTIME_BF"].ToString()))
model.F_LimitTime = DateTime.Parse(result["DC_FINISHTIME_BF"].ToString());
if (result["DC_ATTATH_ID"] != null && !string.IsNullOrEmpty(result["DC_ATTATH_ID"].ToString()))
{
model.F_File = receive_info(result["DC_ATTATH_ID"].ToString());
}
string des = "";
if (!string.IsNullOrWhiteSpace(model.F_Opinion))
{
des = ",督察内容:" + model.F_Opinion;
}
model.F_Type = 1;
model.F_IsDelete = 0;
int n = new BLL.T_Bus_Supervision().Add(model);
if (n > 0)
{
Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
oper.F_Message = "省平台督查督办派发了工单" + des;
oper.F_CreateUser = result["DC_NAME"] == null ? "" : result["DC_NAME"].ToString();
oper.F_CreateTime = DateTime.Now;
oper.F_IsDelete = 0;
operBLL.Add(oper);
var obj1 = new
{
code = "1",
message = "推送成功"
};
trans.Complete();
return Content(obj1.ToJson());
}
else
{
var obj1 = new
{
code = "1",
message = "推送失败"
};
trans.Complete();
return Content(obj1.ToJson());
}
}
}
else
{
var obj = new
{
code = "0",
message = "推送失败"
};
return Content(obj.ToJson());
}
}
///
///催单短信
///
///
public void Reminders(string workorderid)
{
List workorder = new List();
Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(workorderid);
Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfo = assignBLL.GetNewModelByWorkOrderID(workorderid);
if (modelT_Bus_AssignedInfo != null)
{
if (modelT_Bus_AssignedInfo.F_IsNext == 1 || modelT_Bus_AssignedInfo.F_IsNext == 2)
{
// Model.T_Bus_AssignedInfo_Next modelT_Bus_AssignedInfo_Next = new BLL.T_Bus_AssignedInfo_Next().GetNewModelByWorkOrderID(workorderid);
var modelT_Bus_AssignedInfo_Next = new BLL.T_Bus_AssignedInfo_Next().GetModelList("F_State=1 and F_IsDelete=0 and F_IsSure in (0,1) and F_WorkOrderId='" + modelT_Bus_WorkOrder.F_WorkOrderId + "' order by F_CreateTime desc");
if (modelT_Bus_AssignedInfo_Next!=null && modelT_Bus_AssignedInfo_Next.Count >0)
{
var user = new BLL.T_Sys_UserAccount().GetModelList(" F_DeptId in(" + string.Join(",", modelT_Bus_AssignedInfo_Next.Select(x => x.F_MainDeptId)) + ") and F_DeleteFlag=0");
if (user != null)
{
foreach (var iv in user)
{
if (!string.IsNullOrEmpty(iv.F_Mobile))
{
string count = "您的工单" + workorderid + "收到催办,请及时处理!";
string c = PushMessageController.PushApp("催单提醒", count, iv.F_UserCode, workorderid);
}
}
}
}
}
else
{
var user = new BLL.T_Sys_UserAccount().GetModelList(" F_DeptId = " + (modelT_Bus_WorkOrder.F_MainDeptId ?? 0) + " and F_DeleteFlag=0");
if (user != null)
{
foreach (var iv in user)
{
if (!string.IsNullOrEmpty(iv.F_Mobile))
{
string count = "您的工单" + workorderid + "收到催办,请及时处理!";
string c = PushMessageController.PushApp("催单提醒", count, iv.F_UserCode, workorderid);
}
}
}
}
}
}
public class receive
{
public string ATTATH_STEP_ID { set; get; }
}
public class receive_material_infos
{
public string code { set; get; }
public string message { set; get; }
public List body { set; get; }
}
public class bodys
{
public string ATTATH_TYPE { set; get; }
public string ATTATH_NAME { set; get; }
public string ATTATH_CONTENT { set; get; }
}
///
/// 获取附件
///
///
///
private string receive_info(string ids)
{
string token = GetToken();
if (string.IsNullOrEmpty(token))
return "";
receive paras = new receive();
paras.ATTATH_STEP_ID = ids;
// values.Add("paras", paras);
string fileid = "";
//序列化参数
string jsonParam = "access_token=" + token + "¶s=" + paras.ToJson();
var responseString = HttpMethods.HttpPost("http://59.227.93.14:9000/share/fjcljk", jsonParam);
receive_material_infos jo = JsonConvert.DeserializeObject(responseString);
if (jo.code == "1")
{
if (jo.body != null && jo.body.Count > 0)
{
List acs = new List();
string path = "/Upload/ZhenWu/" + DateTime.Now.ToString("yyyy") + "/" + DateTime.Now.ToString("MM") + "/" + DateTime.Now.ToString("dd") + "/";
foreach (var it in jo.body)
{
// byte[] data = Encoding.UTF8.GetBytes(it.ATTATH_CONTENT);
FileUp fu = new FileUp();
fu.ByteSaveFile(it.ATTATH_CONTENT, path, it.ATTATH_NAME);
Model.T_Sys_Accessories model_T_Sys_Accessories = new Model.T_Sys_Accessories();
model_T_Sys_Accessories.F_AddTime = DateTime.Now;//上传时间
model_T_Sys_Accessories.F_FileName = it.ATTATH_NAME;//附件名称
model_T_Sys_Accessories.F_FileType = System.IO.Path.GetExtension(it.ATTATH_TYPE);//附件类型
model_T_Sys_Accessories.F_FileUrl = path + it.ATTATH_NAME;//附件地址
//model_T_Sys_Accessories.F_Size = file.ContentLength;
model_T_Sys_Accessories.F_UserCode = "省12345平台";//上传人
int id = new BLL.T_Sys_Accessories().Add(model_T_Sys_Accessories);
model_T_Sys_Accessories.F_FileId = id;
if (string.IsNullOrEmpty(fileid))
fileid = id.ToString();
else
fileid += "," + id.ToString();
acs.Add(model_T_Sys_Accessories);
}
}
}
else
{
string error = "";
error += " 获取附件失败:" + jo.message;
string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", paras.ToJson(), DateTime.Now, jo.code, jo.message, "获取附件失败", error, "");
object objres = DbHelperSQL.GetSingle(strSql);
}
WebClient web = new WebClient();
web.Encoding = Encoding.UTF8;
string Dataurl = web.DownloadString(NativeURL + "Affairs/SetFileData" + "?ids=" + fileid);
// string Dataurl = web.DownloadString("http://172.20.0.203:8888/" + "Affairs/SetFileData" + "?ids=" + fileid);
return fileid;
}
private string GetToken()
{
//Dictionary values = new Dictionary();
//values.Add("client_id", "d620caf2-d00f-41a9-ae99-c6dfd435875e");
//values.Add("client_secret", "4f75914e-d517-4325-ac64-c321377b12f0");
//values.Add("grant_type", "client_credentials");
//var jsonParam = JsonConvert.SerializeObject(values);
string jsonParam = "client_id=b3e2ed3b-672a-43a0-80db-21f790c0368d&client_secret=362b50d7-2aa5-4874-9363-6c0ba483dfe9&grant_type=client_credentials";
var responseString = HttpMethods.HttpPost("http://59.227.93.14:8183/rzpt_edc/rest/oauth2/token", jsonParam);
Token jo = JsonConvert.DeserializeObject(responseString);
if (jo.status.code == "1")
{
if (!string.IsNullOrEmpty(jo.custom.access_token))
return jo.custom.access_token;
else
return "";
}
else
return "";
}
private string GetTokenzsk()
{
//Dictionary values = new Dictionary();
//values.Add("client_id", "d620caf2-d00f-41a9-ae99-c6dfd435875e");
//values.Add("client_secret", "4f75914e-d517-4325-ac64-c321377b12f0");
//values.Add("grant_type", "client_credentials");
//var jsonParam = JsonConvert.SerializeObject(values);
string jsonParam = "client_id=b3e2ed3b-672a-43a0-80db-21f790c0368d&client_secret=362b50d7-2aa5-4874-9363-6c0ba483dfe9&grant_type=client_credentials";
var responseString = HttpMethods.HttpPost("http://59.227.93.14:8183/rzpt_edc/rest/oauth2/token", jsonParam);
Token jo = JsonConvert.DeserializeObject(responseString);
if (jo.status.code == "1")
{
if (!string.IsNullOrEmpty(jo.custom.access_token))
return jo.custom.access_token;
else
return "";
}
else
return "";
}
public class Token
{
public List controls { set; get; }
public Custom custom { set; get; }
public Status status { set; get; }
}
public class Controls
{
}
public class Custom
{
public string access_token { set; get; }
public string refresh_token { set; get; }
public string jsessionid { set; get; }
public string expires_in { set; get; }
}
public class Tokenbody
{
public string access_token { set; get; }
public string refresh_token { set; get; }
public string token_type { set; get; }
public int expires_in { set; get; }
}
public class Status
{
public string code { set; get; }
}
///
/// 服务工单推送处理结果接口
///
///
// [Authority]
public ActionResult push_case_finish()
{
StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
var postString = reader.ReadToEnd();
JObject paras = null;
paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
var txnBodyCom = paras["paras"].ToString();
var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
if (result["CASE_SERIAL"] == null)
{
var obj = new
{
code = "0",
message = "CASE_SERIAL不能为空"
};
return Content(obj.ToJson());
}
if (string.IsNullOrEmpty(result["CASE_SERIAL"].ToString()))
{
var obj = new
{
code = "0",
message = "CASE_SERIAL不能为空"
};
return Content(obj.ToJson());
}
var workoder = DbHelperSQL.GetSingle(" select top 1 F_OldWorkOrder from T_Bus_Mapping where F_NewWorkOrder='" + result["CASE_SERIAL"].ToString() + "'and F_Type=1 order by F_CreateTime desc ");
string workoderid = result["CASE_SERIAL"].ToString();
if (workoder != null)
{
workoderid = workoder.ToString()
;
}
Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(workoderid);
Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfo = assignBLL.GetNewModelByWorkOrderID(workoderid);
Model.T_Bus_Feedback modelT_Bus_Feedback = new Model.T_Bus_Feedback();
if (modelT_Bus_WorkOrder != null && modelT_Bus_AssignedInfo != null)
{
using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
{
#region 插入反馈记录
Dictionary keyValuePairs = new Dictionary();
modelT_Bus_Feedback.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;//工单编号
modelT_Bus_Feedback.F_AssignedId = modelT_Bus_AssignedInfo.F_Id;//交办id
modelT_Bus_Feedback.F_AuditUser = "";
modelT_Bus_Feedback.F_DealUser = result["FINISH_NAME"] == null ? "" : result["FINISH_NAME"].ToString();
modelT_Bus_Feedback.F_Result = result["FINISH_OUNAME"] == null ? "" : result["FINISH_OUNAME"].ToString() + "于时间(" + DateTime.Now.ToString("yyyy年MM月dd日 HH时mm分ss秒") + ")回复:" + result["FINISH_RESULT"] == null ? "" : result["FINISH_RESULT"].ToString();
#region 20200114新增字段 zhengbingbing
modelT_Bus_Feedback.F_ProSituation = "";//处理情况/方案/进程
modelT_Bus_Feedback.F_IsProtect = modelT_Bus_WorkOrder.F_IsProtect;
modelT_Bus_Feedback.F_DealUserContact = "";//承办人联系方式
DateTime contime = DateTime.Now;
modelT_Bus_Feedback.F_IsProResult = 1;
#endregion
if (result["FINISH_ATTATH_ID"] != null && !string.IsNullOrEmpty(result["FINISH_ATTATH_ID"].ToString()))
keyValuePairs.Add("F_File", receive_info(result["FINISH_ATTATH_ID"].ToString()));
modelT_Bus_Feedback.F_IsAudit = 0;
modelT_Bus_Feedback.F_IsDelete = 0;
modelT_Bus_Feedback.F_CreateUser = result["FINISH_NAME"] == null ? "" : result["FINISH_NAME"].ToString();
modelT_Bus_Feedback.F_CreateTime = DateTime.Now;//办理时间
modelT_Bus_Feedback.F_CreateDeptId = 633;//办理部门
modelT_Bus_Feedback.F_IsFeedEnd = 1;
modelT_Bus_Feedback.F_State = 1;
new BLL.T_Bus_Feedback().Add(modelT_Bus_Feedback);
#endregion
if (modelT_Bus_Feedback != null && modelT_Bus_Feedback.F_State == 1)
{
string typemsg = "办理";
#region 保存工单信息
keyValuePairs.Add("F_WorkState", 6);
// modelT_Bus_WorkOrder.F_WorkState = (int)EnumWorkState.dealed;//待回访
keyValuePairs.Add("F_Result", modelT_Bus_Feedback.F_Result);
// modelT_Bus_WorkOrder.F_Result = modelT_Bus_Feedback.F_Result;
keyValuePairs.Add("F_DealDeptId", 633);
modelT_Bus_WorkOrder.F_DealDeptId = 633;
keyValuePairs.Add("F_DealUser", result["FINISH_NAME"] == null ? "" : result["FINISH_NAME"].ToString());
// modelT_Bus_WorkOrder.F_DealUser = result["FINISH_NAME"] == null ? "" : result["FINISH_NAME"].ToString();
keyValuePairs.Add("F_DealTime", DateTime.Now);
// modelT_Bus_WorkOrder.F_DealTime = DateTime.Now;
keyValuePairs.Add("F_IsOverdue", 0);
// modelT_Bus_WorkOrder.F_IsOverdue = 0;
workorderBLL.UpdateWorkOrder(modelT_Bus_WorkOrder.F_Id, keyValuePairs);
#endregion
#region 保存交办信息
modelT_Bus_AssignedInfo.F_FeedbackTime = DateTime.Now;
modelT_Bus_AssignedInfo.F_IsOverdue = 0;
assignBLL.Update(modelT_Bus_AssignedInfo);
#endregion
typemsg = "主办";
#region 插入操作记录
Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
oper.F_AssignedId = modelT_Bus_AssignedInfo.F_Id;
oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
string userinfo = result["FINISH_NAME"] == null ? "" : result["FINISH_NAME"].ToString();
oper.F_Message = userinfo + " " + typemsg + "了工单";
oper.F_CreateUser = userinfo;
oper.F_CreateTime = DateTime.Now;
oper.F_IsDelete = 0;
operBLL.Add(oper);
//推送消息表
#endregion
}
trans.Complete();
}
var obj = new
{
code = "1",
message = "反馈成功!"
};
return Content(obj.ToJson());
}
else
{
var obj = new
{
code = "0",
message = "工单不存在!"
};
return Content(obj.ToJson());
}
}
///
/// HMACSHA1算法加密
///
private static string Hmacsha256Encrypt(string encryptText, string encryptKey)
{
var encoding = new System.Text.UTF8Encoding();
var shaKeyBytes = encoding.GetBytes(encryptKey);
StringBuilder builder = new StringBuilder();
using (var shaAlgorithm = new System.Security.Cryptography.HMACSHA256(shaKeyBytes))
{
var signatureBytes = System.Text.Encoding.UTF8.GetBytes(encryptText);
var signatureHashBytes = shaAlgorithm.ComputeHash(signatureBytes);
return System.Convert.ToBase64String(signatureHashBytes);
}
}
///
/// 用种子获取密钥
///
/// 种子
/// 密钥长度(默认为16)
/// 密钥Key
public static byte[] GetKeyBySeed(string Seed, int KeyLen = 16)
{
byte[] bySeed = Encoding.UTF8.GetBytes(Seed);
byte[] byKeyArray = null;
using (var st = new SHA1CryptoServiceProvider())
{
using (var nd = new SHA1CryptoServiceProvider())
{
var rd = nd.ComputeHash(st.ComputeHash(bySeed));
byKeyArray = rd.Take(KeyLen).ToArray();
}
}
return byKeyArray;
}
///
/// AES加密
///
/// 明文(byte[])
/// 密钥(byte[])
/// 向量
/// 密文(byte[])
public static byte[] Encrypt(byte[] Bytes, byte[] Key, string Vector)
{
RijndaelManaged aes = new RijndaelManaged();
aes.Mode = CipherMode.CBC;
aes.Padding = PaddingMode.PKCS7;
aes.Key = Key;
aes.IV = Encoding.UTF8.GetBytes(Vector);
ICryptoTransform cTransform = aes.CreateEncryptor();
return cTransform.TransformFinalBlock(Bytes, 0, Bytes.Length);
}
///
/// AES解密
///
/// 密文(byte[])
/// 密钥(byte[])
/// 向量
/// 明文(byte[])
public static byte[] Decrypt(byte[] Bytes, byte[] Key, string Vector)
{
RijndaelManaged aes = new RijndaelManaged();
aes.Mode = CipherMode.CBC;
aes.Padding = PaddingMode.PKCS7;
aes.Key = Key;
aes.IV = Encoding.UTF8.GetBytes(Vector);
ICryptoTransform cTransform = aes.CreateDecryptor();
return cTransform.TransformFinalBlock(Bytes, 0, Bytes.Length);
}
///
/// 附件材料接口
///
///
//[Authority]
public ActionResult receive_material_info()
{
StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
var postString = reader.ReadToEnd();
JObject paras = null;
paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
var txnBodyCom = paras["paras"].ToString();
var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
var body = GetFileData(result["ATTATH_STEP_ID"].ToString());
if (body != null)
{
var obj = new
{
code = "1",
message = "获取附件成功!",
body = body
};
return Content(obj.ToJson());
}
else
{
var obj = new
{
code = "0",
message = "获取附件失败!该附件不存在",
body = ""
};
return Content(obj.ToJson());
}
}
///
/// 获取附件数据
///
/// 附件id,多个用英文逗号,隔开
/// 前缀
///
public List GetFileData(string ids)
{
DataTable dt = DbHelperSQL.Query("select * from T_Sys_Accessories WITH(NOLOCK) where F_FileId in (" + ids + ")").Tables[0];
List bodys = new List();
foreach (DataRow dr in dt.Rows)
{
if (dr["F_UserCode"].ToString() != "知识附件")
{
string url = Upload(FrontUrl + dr["F_FileUrl"].ToString(), dr["F_FileName"].ToString(), "/" + dr["F_FileUrl"].ToString().Replace(dr["F_FileName"].ToString(), ""));
if (url != "1")
return null;
}
bodys body = new bodys();
body.ATTATH_TYPE = dr["F_FileType"].ToString();
body.ATTATH_NAME = dr["F_FileName"].ToString();
FileStream fs = new FileStream(System.Web.HttpContext.Current.Server.MapPath("..") + dr["F_FileUrl"].ToString(), FileMode.Open);
byte[] filebyte = new byte[fs.Length];
fs.Read(filebyte, 0, filebyte.Length);
fs.Close();
body.ATTATH_CONTENT = Convert.ToBase64String(filebyte);
bodys.Add(body);
}
return bodys;
}
public string Upload(string pathUrl, string newFileName, string path)
{
//文件下载地址
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(pathUrl);
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
Stream responseStream = response.GetResponseStream();
string Currentpath = System.Web.HttpContext.Current.Server.MapPath("..") + path;
// 如果不存在就创建file文件夹
if (!Directory.Exists(Currentpath))
{
if (Currentpath != null) Directory.CreateDirectory(Currentpath);
}
Stream stream = new FileStream(Currentpath + newFileName, FileMode.Create);
byte[] bArr = new byte[1024];
int size = responseStream.Read(bArr, 0, bArr.Length);
while (size > 0)
{
stream.Write(bArr, 0, size);
size = responseStream.Read(bArr, 0, bArr.Length);
}
stream.Close();
responseStream.Close();
return "1";
}
catch (Exception e)
{
return e.Message;
}
}
private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true; //总是接受
}
///
/// 知识审核退回接口
///
///
//[Authority]
public ActionResult transmit_kinfo_back()
{
StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
var postString = reader.ReadToEnd();
JObject paras = null;
paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
var txnBodyCom = paras["paras"].ToString();
var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
if (result["KINFO_ID"] == null)
{
var obj1 = new
{
code = "0",
message = "KINFO_ID不能为空"
};
return Content(obj1.ToJson());
}
using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
{
Model.T_Sys_kinfoQuestions model = new Model.T_Sys_kinfoQuestions();
model.KINFO_ID = result["KINFO_ID"].ToString();
model.KINFO_KNAME = result["KINFO_KNAME"].ToString();
model.KINFO_KCONTENT = result["KINFO_KCONTENT"].ToString();
model.KINFO_KCONTENT = result["KINFO_KCONTENT"].ToString();
model.ReKINFO_REASON = result["KINFO_REASON"].ToString();
model.F_CreateTime = DateTime.Now;
model.F_State = 3;
model.F_IsDelete = 0;
int n = new BLL.T_Sys_kinfoQuestions().Add(model);
if (n > 0)
{
var obj1 = new
{
code = "1",
message = "推送成功"
};
trans.Complete();
return Content(obj1.ToJson());
}
else
{
var obj1 = new
{
code = "0",
message = "推送失败"
};
trans.Complete();
return Content(obj1.ToJson());
}
}
}
///
/// 知识提问接口
///
///
//[Authority]
public ActionResult transmit_kinfo_quiz()
{
StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
var postString = reader.ReadToEnd();
JObject paras = null;
paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
var txnBodyCom = paras["paras"].ToString();
var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
if (result["KINFO_ID"] == null)
{
var obj1 = new
{
code = "0",
message = "KINFO_ID不能为空"
};
return Content(obj1.ToJson());
}
using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
{
Model.T_Sys_kinfoQuestions model = new Model.T_Sys_kinfoQuestions();
model.KINFO_ID = result["KINFO_ID"].ToString();
model.KINFO_KNAME = result["KINFO_KNAME"].ToString();
model.KINFO_KCONTENT = result["KINFO_KCONTENT"].ToString();
model.F_CreateTime = DateTime.Now;
model.F_State = 0;
model.F_IsDelete = 0;
int n = new BLL.T_Sys_kinfoQuestions().Add(model);
if (n > 0)
{
var obj1 = new
{
code = "1",
message = "推送成功"
};
trans.Complete();
return Content(obj1.ToJson());
}
else
{
var obj1 = new
{
code = "0",
message = "推送失败"
};
trans.Complete();
return Content(obj1.ToJson());
}
}
}
}
}