/// <summary> 14.三包服务单状态查询-CRM /// </summary> /// <param name="billNum">CRM服务单号</param> /// <returns>-1为失败,0未成功</returns> public static bool LoadOrderStatus(string billNum) { //如果没有接入码或者sap代码,则不调用接口 if (string.IsNullOrEmpty(GlobalStaticObj_YT.ClientID) || string.IsNullOrEmpty(GlobalStaticObj_YT.SAPCode)) { return true; } Utility.Log.Log.writeLineToLog("【三包服务单状态查询】" + billNum, "接口"); //billNum = "BD00000167"; ServicePointManager.ServerCertificateValidationCallback = WebServUtil.ValidateServerCertificate; QueryOrderStatus.clientInfo clientInfo = new QueryOrderStatus.clientInfo(); clientInfo.clientID = GlobalStaticObj_YT.ClientID; clientInfo.serviceID = "serviceOrderStatusQuery"; QueryOrderStatus.serviceOrderStatusQueryService serv = new QueryOrderStatus.serviceOrderStatusQueryService(); billNum = Secret.Encrypt3DES_UTF8(billNum, GlobalStaticObj_YT.KeySecurity_YT);//加密字段 string stationCode = Secret.Encrypt3DES_UTF8(GlobalStaticObj_YT.SAPCode, GlobalStaticObj_YT.KeySecurity_YT); string dateStr = Secret.Encrypt3DES_UTF8(GlobalStaticObj_Server.Instance.CurrentDateTime.ToString("yyyy-MM-dd HH:mm:ss"), GlobalStaticObj_YT.KeySecurity_YT); string requestType = Secret.Encrypt3DES_UTF8("QUERY", GlobalStaticObj_YT.KeySecurity_YT); clientInfo = WebServUtil.EncModel<QueryOrderStatus.clientInfo>(clientInfo); QueryOrderStatus.Result result = serv.serviceOrderStatusQuery(stationCode, dateStr, requestType, billNum, clientInfo); string state = Secret.Decrypt3DES_UTF8(result.state, GlobalStaticObj_YT.KeySecurity_YT); if (state == "F") { string errMsg = Secret.Decrypt3DES_UTF8(result.errorMsg, GlobalStaticObj_YT.KeySecurity_YT); Utility.Log.Log.writeLineToLog("【三包服务单状态查询】" + errMsg, "接口"); return false; } result = WebServUtil.DesModel(result);//解密 string res = Newtonsoft.Json.JsonConvert.SerializeObject(result); if (string.IsNullOrEmpty(result.crm_service_bill_num)) { return true; } #region 添加三包服务单审核记录 Utility.Log.Log.writeLineToLog("【三包服务单状态查询】返回数据\r\n" + res, "接口"); string tg_id = DBHelper.GetSingleValue("根据CRM服务单号获取三包服务单ID", GlobalStaticObj_Server.DbPrefix + GlobalStaticObj_Server.Instance.MainAccCode, string.Format("select tg_id from tb_maintain_three_guaranty where service_no_yt='{0}'", result.crm_service_bill_num)); List<SysSQLString> listSql = new List<SysSQLString>(); SysSQLString sqlApprove = new SysSQLString(); sqlApprove.cmdType = CommandType.Text; sqlApprove.Param = new Dictionary<string, string>(); sqlApprove.Param.Add("approve_id", Guid.NewGuid().ToString()); string review_status = WebServUtil.GetLocalDicID("review_status_name", result.review_status_name); sqlApprove.Param.Add("approve_state", review_status); sqlApprove.Param.Add("approve_name", result.review_name); sqlApprove.Param.Add("approve_time", result.review_date.Length == 0 ? null : Common.LocalDateTimeToUtcLong(DateTime.Parse(result.review_date)).ToString()); sqlApprove.Param.Add("approve_idea", result.review_suggestion); sqlApprove.Param.Add("tg_id", tg_id); sqlApprove.sqlString = @"insert into tb_maintain_three_material_approve (approve_id,approve_state,approve_name,approve_time,approve_idea,tg_id) values (@approve_id,@approve_state,@approve_name,@approve_time,@approve_idea,@tg_id)"; listSql.Add(sqlApprove); if (result.review_status_name == "100000002")//如果是驳回,三包服务单修改为“审核未通过” { SysSQLString sqlStatus = new SysSQLString(); sqlStatus.cmdType = CommandType.Text; sqlStatus.Param = new Dictionary<string, string>(); sqlStatus.Param.Add("info_status", "4CE4693D-D8E9-8847-54FA-8B6C1318545C"); sqlStatus.Param.Add("tg_id", tg_id); sqlStatus.sqlString = "update tb_maintain_three_guaranty set info_status=@info_status where tg_id=@tg_id"; listSql.Add(sqlStatus); } SysSQLString sqlYTApprove = new SysSQLString(); sqlYTApprove.cmdType = CommandType.Text; sqlYTApprove.Param = new Dictionary<string, string>(); sqlYTApprove.sqlString = "update tb_maintain_three_guaranty set approve_status_yt=@approve_status_yt where tg_id=@tg_id"; sqlYTApprove.Param.Add("approve_status_yt", WebServUtil.GetLocalDicID("service_status", result.service_status)); sqlYTApprove.Param.Add("tg_id", tg_id); listSql.Add(sqlYTApprove); bool flag = false; try { flag = DBHelper.BatchExeSQLStrMultiByTransNoLogNoBackup("宇通:三包服务单审核", GlobalStaticObj_Server.Instance.MainAccCode, listSql); //if (DBHelper.Submit_AddOrEdit("宇通:三包服务单审核", GlobalStaticObj_Server.DbPrefix+GlobalStaticObj_Server.Instance.MainAccCode, "tb_maintain_three_material_approve", null, null, dic)) //{ // flag = true; //} } catch (Exception ex) { flag = false; } #endregion return flag; }
/// <summary>三包服务单状态查询 /// </summary> /// <param name="billNum">CRM服务单号</param> /// <returns>单据状态编码</returns> public static string SearchOrderStatus(string billNum) { //如果没有接入码或者sap代码,则不调用接口 if (string.IsNullOrEmpty(GlobalStaticObj_YT.ClientID) || string.IsNullOrEmpty(GlobalStaticObj_YT.SAPCode)) { return string.Empty; } Utility.Log.Log.writeLineToLog("【三包服务单状态查询】" + billNum, "接口"); //billNum = "BD00000167"; ServicePointManager.ServerCertificateValidationCallback = WebServUtil.ValidateServerCertificate; QueryOrderStatus.clientInfo clientInfo = new QueryOrderStatus.clientInfo(); clientInfo.clientID = GlobalStaticObj_YT.ClientID; clientInfo.serviceID = "serviceOrderStatusQuery"; QueryOrderStatus.serviceOrderStatusQueryService serv = new QueryOrderStatus.serviceOrderStatusQueryService(); billNum = Secret.Encrypt3DES_UTF8(billNum, GlobalStaticObj_YT.KeySecurity_YT);//加密字段 string stationCode = Secret.Encrypt3DES_UTF8(GlobalStaticObj_YT.SAPCode, GlobalStaticObj_YT.KeySecurity_YT); string dateStr = Secret.Encrypt3DES_UTF8(GlobalStaticObj_Server.Instance.CurrentDateTime.ToString("yyyy-MM-dd HH:mm:ss"), GlobalStaticObj_YT.KeySecurity_YT); string requestType = Secret.Encrypt3DES_UTF8("QUERY", GlobalStaticObj_YT.KeySecurity_YT); clientInfo = WebServUtil.EncModel<QueryOrderStatus.clientInfo>(clientInfo); QueryOrderStatus.Result result = serv.serviceOrderStatusQuery(stationCode, dateStr, requestType, billNum, clientInfo); string state = Secret.Decrypt3DES_UTF8(result.state, GlobalStaticObj_YT.KeySecurity_YT); if (state == "F") { string errMsg = Secret.Decrypt3DES_UTF8(result.errorMsg, GlobalStaticObj_YT.KeySecurity_YT); Utility.Log.Log.writeLineToLog("【三包服务单状态查询】" + errMsg, "接口"); return string.Empty; } if (string.IsNullOrEmpty(result.service_status)) { return string.Empty; } return Secret.Decrypt3DES_UTF8(result.service_status, GlobalStaticObj_YT.KeySecurity_YT); }