/// <summary> /// BulkCopyInsert 批量插入数据库 /// </summary> /// <param name="logAppendToForms"></param> /// <param name="jobInfo"></param> /// <param name="tableName"></param> /// <returns></returns> public int BulkCopyInsert(Log4netUtil.LogAppendToForms logAppendToForms, Model.JobEntity jobInfo, string tableName, string strSql) { string logMessage = string.Empty; //string strSql = Util.ConvertHelper.DataTableToStrInsert(dt, tableName) + "\r"; string targetDatabase = jobInfo.TargetDatabase; IDAL.IDBHelper _idbHelper = DALFactory.DBHelperFactory.CreateInstance(targetDatabase);//创建接口/创建接口 System.Data.Common.DbParameter[] cmdParams = null; string jsonSql = Util.DbSqlLog.SqlToJson("9999", strSql, cmdParams); logMessage = string.Format("【{0}_{1}】 JsonSql:{2} ", jobInfo.JobCode, jobInfo.JobName, jsonSql); Log4netUtil.Log4NetHelper.LogMessage(logAppendToForms, jobInfo.IsDebug, logMessage, @"Database"); try { if (_idbHelper.ExecuteNonQuery(System.Data.CommandType.Text, strSql, targetDatabase, cmdParams) > 0) { logMessage = string.Format("【{0}_{1}】 执行BulkCopyInsert成功!", jobInfo.JobCode, jobInfo.JobName); Newtonsoft.Json.Linq.JObject resultJObject = new Newtonsoft.Json.Linq.JObject(); resultJObject.Add("code", new Newtonsoft.Json.Linq.JValue("0000")); resultJObject.Add("msg", new Newtonsoft.Json.Linq.JValue(logMessage)); resultJObject.Add("sql", new Newtonsoft.Json.Linq.JObject(Newtonsoft.Json.Linq.JObject.Parse(jsonSql))); logMessage = string.Format("【{0}_{1}】 {2}", jobInfo.JobCode, jobInfo.JobName, Util.NewtonsoftCommon.SerializeObjToJson(resultJObject)); Log4netUtil.Log4NetHelper.LogMessage(logAppendToForms, jobInfo.IsDebug, logMessage, @"Database"); return(1); } else { logMessage = string.Format("【{0}_{1}】 执行BulkCopyInsert失败!", jobInfo.JobCode, jobInfo.JobName); Newtonsoft.Json.Linq.JObject resultJObject = new Newtonsoft.Json.Linq.JObject(); resultJObject.Add("code", new Newtonsoft.Json.Linq.JValue("9999")); resultJObject.Add("msg", new Newtonsoft.Json.Linq.JValue(logMessage)); resultJObject.Add("sql", new Newtonsoft.Json.Linq.JObject(Newtonsoft.Json.Linq.JObject.Parse(jsonSql))); logMessage = string.Format("【{0}_{1}】 {2}", jobInfo.JobCode, jobInfo.JobName, Util.NewtonsoftCommon.SerializeObjToJson(resultJObject)); Log4netUtil.Log4NetHelper.LogError(logAppendToForms, jobInfo.IsDebug, logMessage, @"Database"); return(-1); } } catch (Exception ex) { //违反了 PRIMARY KEY 约束 logMessage = string.Format("【{0}_{1}】 执行BulkCopyInsert失败! 失败原因:{2}", jobInfo.JobCode, jobInfo.JobName, ex.Message); Newtonsoft.Json.Linq.JObject resultJObject = new Newtonsoft.Json.Linq.JObject(); resultJObject.Add("code", new Newtonsoft.Json.Linq.JValue("9999")); resultJObject.Add("msg", new Newtonsoft.Json.Linq.JValue(logMessage)); resultJObject.Add("sql", new Newtonsoft.Json.Linq.JObject(Newtonsoft.Json.Linq.JObject.Parse(jsonSql))); logMessage = string.Format("【{0}_{1}】 {2}", jobInfo.JobCode, jobInfo.JobName, Util.NewtonsoftCommon.SerializeObjToJson(resultJObject)); Log4netUtil.Log4NetHelper.LogError(logAppendToForms, jobInfo.IsDebug, logMessage, @"Database"); if (ex.Message.Contains("违反了 PRIMARY KEY 约束")) { return(2); } else { return(-1); } } }
/// <summary> /// ErpWriteback /// </summary> /// <param name="logAppendToForms"></param> /// <param name="writebackParam"></param> /// <returns></returns> public bool ErpWriteback(Log4netUtil.LogAppendToForms logAppendToForms, Model.WritebackParam writebackParam) { string logMessage = string.Empty; string procedureName = writebackParam.ProcedureName; string targetDatabase = writebackParam.TargetDatabase; IDAL.IDBHelper _idbHelper = DALFactory.DBHelperFactory.CreateInstance(targetDatabase);//创建接口 System.Data.Common.DbParameter[] cmdParams = { _idbHelper.CreateInParam(targetDatabase, ":i_WritebackType", writebackParam.WritebackType), _idbHelper.CreateInParam(targetDatabase, ":i_BillCodes", string.IsNullOrEmpty(writebackParam.BillCodes)?string.Empty:writebackParam.BillCodes), _idbHelper.CreateInParam(targetDatabase, ":i_Type", string.IsNullOrEmpty(writebackParam.Type)?string.Empty:writebackParam.Type), _idbHelper.CreateInParam(targetDatabase, ":i_Status", writebackParam.Status), _idbHelper.CreateInParam(targetDatabase, ":i_WritebackInfo", string.IsNullOrEmpty(writebackParam.WritebackInfo)?string.Empty:writebackParam.WritebackInfo) }; try { writebackParam.IsDebug = true; int r = _idbHelper.ExecuteNonQuery(System.Data.CommandType.StoredProcedure, procedureName, targetDatabase, cmdParams); if (r > 0) { string jsonSql = Util.DbSqlLog.SqlToJson("0000", procedureName, cmdParams); logMessage = string.Format("ErpWriteback回写成功!!!{0}", string.Empty); Newtonsoft.Json.Linq.JObject resultJObject = new Newtonsoft.Json.Linq.JObject(); resultJObject.Add("code", new Newtonsoft.Json.Linq.JValue("0000")); resultJObject.Add("msg", new Newtonsoft.Json.Linq.JValue(logMessage)); resultJObject.Add("sql", new Newtonsoft.Json.Linq.JObject(Newtonsoft.Json.Linq.JObject.Parse(jsonSql))); logMessage = string.Format("【{0}_{1}】 {2}", writebackParam.jobInfo.JobCode, writebackParam.jobInfo.JobName.ToString(), Util.NewtonsoftCommon.SerializeObjToJson(resultJObject)); Log4netUtil.Log4NetHelper.LogMessage(logAppendToForms, writebackParam.IsDebug, logMessage, @"Database"); return(true); } else { string jsonSql = Util.DbSqlLog.SqlToJson("9999", procedureName, cmdParams); logMessage = string.Format("ErpWriteback回写失败!!!!{0}", string.Empty); Newtonsoft.Json.Linq.JObject resultJObject = new Newtonsoft.Json.Linq.JObject(); resultJObject.Add("code", new Newtonsoft.Json.Linq.JValue("9999")); resultJObject.Add("msg", new Newtonsoft.Json.Linq.JValue(logMessage)); resultJObject.Add("sql", new Newtonsoft.Json.Linq.JObject(Newtonsoft.Json.Linq.JObject.Parse(jsonSql))); logMessage = string.Format("【{0}_{1}】 {2}", writebackParam.jobInfo.JobCode, writebackParam.jobInfo.JobName.ToString(), Util.NewtonsoftCommon.SerializeObjToJson(resultJObject)); Log4netUtil.Log4NetHelper.LogError(logAppendToForms, writebackParam.IsDebug, logMessage, @"Database"); return(false); } } catch (Exception ex) { string jsonSql = Util.DbSqlLog.SqlToJson("9999", procedureName, cmdParams); logMessage = string.Format("ErpWriteback回写失败!!!原因:{0};", ex.Message); Newtonsoft.Json.Linq.JObject resultJObject = new Newtonsoft.Json.Linq.JObject(); resultJObject.Add("code", new Newtonsoft.Json.Linq.JValue("9999")); resultJObject.Add("msg", new Newtonsoft.Json.Linq.JValue(logMessage)); resultJObject.Add("sql", new Newtonsoft.Json.Linq.JObject(Newtonsoft.Json.Linq.JObject.Parse(jsonSql))); logMessage = string.Format("【{0}_{1}】 {2}", writebackParam.jobInfo.JobCode, writebackParam.jobInfo.JobName.ToString(), Util.NewtonsoftCommon.SerializeObjToJson(resultJObject)); Log4netUtil.Log4NetHelper.LogError(logAppendToForms, writebackParam.IsDebug, logMessage, @"Database"); return(false); } }