/// 保存日志类信息 /// <summary> /// 保存日志类信息 /// </summary> /// <param name="jsondata"></param> public void SaveLogsInfo(WOrderJsonData jsondata, int loginuserid, string loginusername) { try { LogForWebForCall("[保存日志类信息]Start", loginuserid, loginusername); //号码访问表 CustPhoneVisitBusiness CustPhoneVisitBusinessInfo visitinfo = new CustPhoneVisitBusinessInfo(); visitinfo.PhoneNum = jsondata.CustBaseInfo.Phone_Out; visitinfo.TaskID = jsondata.WOrderID; visitinfo.BusinessType = (int)VisitBusinessTypeEnum.S1_工单; //任务类型:-1 不存在 0 其他非CC系统 ,1:工单 3:客户核实 4:其他任务 5:YJK 6:CJK 7:易团购 visitinfo.TaskSource = (int)jsondata.Common.CallSource_Out; //任务来源 0:未知 1:呼入 2:呼出 3,4:IM visitinfo.CallID = jsondata.CustBaseInfo.CallIds_Out != null && jsondata.CustBaseInfo.CallIds_Out.Count > 0 ? CommonFunction.ObjectToLong(jsondata.CustBaseInfo.CallIds_Out[jsondata.CustBaseInfo.CallIds_Out.Count - 1]) : -1; //最后一次话务ID BLL.CustPhoneVisitBusiness.Instance.InsertOrUpdateCustPhoneVisitBusiness(visitinfo, loginuserid); LogForWebForCall("[保存日志类信息]访问记录表:电话=" + jsondata.CustBaseInfo.Phone_Out + ";任务ID=" + jsondata.WOrderID, loginuserid, loginusername); //话务结果表 CallResult_ORIG_Task if (jsondata.WOrderInfo.IsHuifang && jsondata.WOrderInfo.IsJxs) { BLL.CallResult_ORIG_Task.Instance.InseretOrUpdateOneData(jsondata.WOrderID, -1, ProjectSource.S3_工单, jsondata.WOrderInfo.IsJieTong_Out, jsondata.WOrderInfo.NoJtReason_Out, -1, -1); LogForWebForCall("[保存日志类信息]话务结果表 CallResult_ORIG_Task:工单ID=" + jsondata.WOrderID + ";结果=" + jsondata.WOrderInfo.IsJieTong_Out + "-" + jsondata.WOrderInfo.NoJtReason_Out, loginuserid, loginusername); } } catch (Exception ex) { LogForWebForCall("[保存日志类信息]保存日志类信息 " + ex.Message + ex.StackTrace, loginuserid, loginusername); } LogForWebForCall("[保存日志类信息]END\r\n", loginuserid, loginusername); }
/// 保存工单主表信息 /// <summary> /// 保存工单主表信息 /// </summary> /// <param name="jsondata"></param> /// <param name="sysinfo"></param> private void SaveWOrderMainInfo(WOrderJsonData jsondata, SysRightUserInfo sysinfo) { WOrderInfoInfo main = new WOrderInfoInfo(); main.OrderID = GetNewWOrderID(); main.CallSource = (int)jsondata.Common.CallSource_Out; main.ModuleSource = (int)jsondata.Common.ModuleSource_Out; main.DataSource = (int)jsondata.WOrderInfo.DataSource_Out; main.WorkOrderStatus = (int)jsondata.OrderStatus; main.CategoryID = (int)jsondata.WOrderInfo.Category_Out; main.ComplaintLevel = jsondata.WOrderInfo.ComplaintLevel_Out; main.BusinessType = jsondata.WOrderInfo.BusinessType_Out; main.BusinessTag = jsondata.WOrderInfo.BusinessTag_Out; main.IsSyncCRM = jsondata.WOrderInfo.IsSysCRM_Out; main.VisitType = jsondata.WOrderInfo.VisitType_Out; main.CBID = jsondata.CBID; main.Phone = jsondata.CustBaseInfo.Phone_Out; main.CRMCustID = jsondata.CRMCustID_Out; main.Content = jsondata.WOrderInfo.Content_Out; main.ContactName = jsondata.WOrderInfo.ContactName_Out; main.ContactTel = jsondata.WOrderInfo.ContactTel_Out; main.LastReceiverID = null; main.BGID = sysinfo.BGID; main.Status = 0; main.CreateUserID = sysinfo.UserID; main.CreateTime = DateTime.Now; main.LastUpdateUserID = sysinfo.UserID; main.LastUpdateTime = DateTime.Now; CommonBll.Instance.InsertComAdoInfo(main); //存储工单id jsondata.WOrderID = main.OrderID; }
/// 保存工单信息 /// <summary> /// 保存工单信息 /// </summary> /// <param name="jsondata"></param> public void SaveWOrderInfo(WOrderJsonData jsondata, SysRightUserInfo sysinfo) { //工单主表 WOrderInfo SaveWOrderMainInfo(jsondata, sysinfo); //保存WOrderProcess表 SaveWOrderProcessInfo(jsondata, sysinfo); //附件表 CommonAttachment SaveCommonAttachment(jsondata, sysinfo); }
/// 保存绑定信息 /// <summary> /// 保存绑定信息 /// </summary> /// <param name="jsondata"></param> public void SaveBindInfo(WOrderJsonData jsondata, int loginuserid, string loginusername) { try { LogForWebForCall("[保存绑定信息]Start", loginuserid, loginusername); //来去电表 CallRecordInfo,话务业务表 CallRecord_ORIG_Business,工单关联数据表 WOrderData,短信表 SMSSendHistory //话务信息 if (jsondata.CustBaseInfo.CallIds_Out != null && jsondata.CustBaseInfo.CallIds_Out.Count > 0) { foreach (string callid in jsondata.CustBaseInfo.CallIds_Out) { long callid_val = CommonFunction.ObjectToLong(callid); //工单关联数据表 WOrderData BLL.WOrderData.Instance.InsertWOrderDataForCC(jsondata.WOrderID, -1, callid_val, loginuserid); LogForWebForCall("[保存绑定信息]工单关联数据表:工单ID=" + jsondata.WOrderID + ";话务ID=" + callid_val, loginuserid, loginusername); } string callids = string.Join(",", jsondata.CustBaseInfo.CallIds_Out.ToArray()); //来去电表 CallRecordInfo (CustID,CustName,TaskTypeID,TaskID) BLL.CallAfterTaskProcess.Instance.UpdateCallRecordInfoAfterTask(callids, jsondata.CBID, jsondata.CustBaseInfo.CBName_Out, ProjectSource.S3_工单, jsondata.WOrderID); //话务业务表 CallRecord_ORIG_Business (BusinessID) BLL.CallAfterTaskProcess.Instance.UpdateCallRecord_ORIG_BusinessAfterTask(callids, jsondata.WOrderID); LogForWebForCall("[保存绑定信息]来去电表和话务业务表:工单ID=" + jsondata.WOrderID + ";话务ID=" + callids + ";CBID=" + jsondata.CBID, loginuserid, loginusername); } //对话信息 if ((jsondata.Common.CallSource_Out == CallSourceEnum.C03_IM对话 || jsondata.Common.CallSource_Out == CallSourceEnum.C04_IM留言) && jsondata.Common.RelatedCSID > 0) { //工单关联数据表 WOrderData BLL.WOrderData.Instance.InserWOrderDataForIM(jsondata.WOrderID, -1, jsondata.Common.RelatedCSID, loginuserid); LogForWebForCall("[保存绑定信息]工单关联数据表:工单ID=" + jsondata.WOrderID + ";会话ID=" + jsondata.Common.RelatedCSID, loginuserid, loginusername); } //未接来电 if (jsondata.Common.ModuleSource_Out == ModuleSourceEnum.M04_未接来电 && jsondata.Common.RelatedMissID > 0) { //保存工单id和cbid到未接来电表 CustomerVoiceMsg BLL.CustomerVoiceMsg.Instance.UpdateCustomerVoiceMsgInfoAfterNewOrder(jsondata.Common.RelatedMissID, jsondata.WOrderID, jsondata.CBID); LogForWebForCall("[保存绑定信息]保存工单id和cbid到未接来电表:RecID=" + jsondata.Common.RelatedMissID, loginuserid, loginusername); } //短信信息 if (jsondata.CustBaseInfo.SmsIds_Out != null && jsondata.CustBaseInfo.SmsIds_Out.Count > 0) { string smsids = string.Join(",", jsondata.CustBaseInfo.SmsIds_Out.ToArray()); //短信表 SMSSendHistory (CustID,CRMCustID,TaskType,TaskID) BLL.CallAfterTaskProcess.Instance.UpdateSMSSendHistoryAfterTask(smsids, jsondata.CBID, jsondata.CRMCustID_Out, ProjectSource.S3_工单, jsondata.WOrderID); LogForWebForCall("[保存绑定信息]短信表 SMSSendHistory:smsids=" + smsids, loginuserid, loginusername); } } catch (Exception ex) { LogForWebForCall("[保存绑定信息]保存绑定信息 " + ex.Message + ex.StackTrace, loginuserid, loginusername); } LogForWebForCall("[保存绑定信息]END\r\n", loginuserid, loginusername); }
/// 保存工单处理记录 /// <summary> /// 保存工单处理记录 /// </summary> /// <param name="jsondata"></param> /// <param name="sysinfo"></param> private void SaveWOrderProcessInfo(WOrderJsonData jsondata, SysRightUserInfo sysinfo) { WOrderProcessInfo process = new WOrderProcessInfo(); process.ProcessType = (int)jsondata.OperType; process.OrderID = jsondata.WOrderID; process.WorkOrderStatus = (int)jsondata.OrderStatus; process.IsReturnVisit = -1; process.ProcessContent = sysinfo.TrueName + jsondata.Oper + "了工单 [" + jsondata.WOrderID + "]"; process.Status = 0; process.CreateUserID = sysinfo.UserID; process.CreateUserNum = sysinfo.UserCode; process.CreateUserName = sysinfo.TrueName; process.CreateUserDeptName = sysinfo.MainDepartName; process.CreateTime = DateTime.Now; CommonBll.Instance.InsertComAdoInfo(process); }
/// 保存附件信息 /// <summary> /// 保存附件信息 /// </summary> /// <param name="jsondata"></param> /// <param name="sysinfo"></param> private void SaveCommonAttachment(WOrderJsonData jsondata, SysRightUserInfo sysinfo) { if (jsondata.WOrderInfo.Attachment != null) { foreach (AttachmentJsonData item in jsondata.WOrderInfo.Attachment) { CommonAttachmentInfo attach = new CommonAttachmentInfo(); attach.BTypeID = (int)BLL.Util.ProjectTypePath.WorkOrder; attach.RelatedID = jsondata.WOrderID; attach.FileName = item.FileRealName_Out; attach.FileType = item.FileType_Out; attach.FileSize = item.FileSize_Out; attach.FilePath = item.FileAllPath_Out; attach.Status = 0; attach.CreateUserID = sysinfo.UserID; attach.CreateTime = DateTime.Now; CommonBll.Instance.InsertComAdoInfo(attach); } } }
/// json转换实体类 /// <summary> /// json转换实体类 /// </summary> /// <param name="json"></param> /// <returns></returns> public static WOrderJsonData CreateWOrderJsonData(string json) { WOrderJsonData jsondata = (WOrderJsonData)Newtonsoft.Json.JsonConvert.DeserializeObject(json, typeof(WOrderJsonData)); return(jsondata); }
/// 保存个人信息 /// <summary> /// 保存个人信息 /// </summary> /// <param name="jsondata"></param> public void SaveCustBasicInfo(WOrderJsonData jsondata, int loginuserid) { //构造个人主表数据 Entities.CustBasicInfo model = new Entities.CustBasicInfo(); model.CustName = jsondata.CustBaseInfo.CBName_Out; model.Sex = jsondata.CustBaseInfo.CBSex_Out; model.CustCategoryID = (int)jsondata.CustBaseInfo.CustTypeID_Out; model.ProvinceID = jsondata.CustBaseInfo.ProvinceID_Out; model.CityID = jsondata.CustBaseInfo.CityID_Out; model.CountyID = jsondata.CustBaseInfo.CountyID_Out; //废弃字段 model.Address = null; model.DataSource = null; model.CallTime = null; model.Status = 0; //查询数据库 string cbid = BLL.CustBasicInfo.Instance.GetMaxNewCustBasicInfoByTel(jsondata.CustBaseInfo.Phone_Out); if (!string.IsNullOrEmpty(cbid)) { //更新 model.CustID = cbid; model.ModifyTime = DateTime.Now; model.ModifyUserID = loginuserid; BLL.CustBasicInfo.Instance.Update(model); } else { //新增 model.CreateTime = DateTime.Now; model.CreateUserID = loginuserid; model.ModifyTime = null; model.ModifyUserID = null; cbid = BLL.CustBasicInfo.Instance.Insert(model); //插入电话信息 Entities.CustTel model_Tel = new Entities.CustTel(); model_Tel.CustID = cbid; model_Tel.Tel = jsondata.CustBaseInfo.Phone_Out; model_Tel.CreateTime = DateTime.Now; model_Tel.CreateUserID = loginuserid; BLL.CustTel.Instance.Insert(model_Tel); } //存储 jsondata.CBID = cbid; //删除经销商信息 BLL.DealerInfo.Instance.Delete(cbid); //存储经销商信息 if (jsondata.CustBaseInfo.CustTypeID_Out == CustTypeEnum.T02_经销商) { //插入经销商信息 Entities.DealerInfo model_Dealer = new Entities.DealerInfo(); model_Dealer.CustID = cbid; model_Dealer.MemberCode = jsondata.CustBaseInfo.MemberCode_Out; model_Dealer.Name = jsondata.CustBaseInfo.MemberName_Out; model_Dealer.Status = 0; model_Dealer.CreateTime = DateTime.Now; model_Dealer.CreateUserID = loginuserid; BLL.DealerInfo.Instance.Insert(model_Dealer); } }
/// 保存日志类信息 /// <summary> /// 保存日志类信息 /// </summary> /// <param name="jsondata"></param> public void SaveLogsInfoASync(WOrderJsonData jsondata, int loginuserid, string loginusername) { Action <WOrderJsonData, int, string> func = new Action <WOrderJsonData, int, string>(SaveLogsInfo); func.BeginInvoke(jsondata, loginuserid, loginusername, null, null); }