72 lines
2.7 KiB
C#
72 lines
2.7 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
|
|||
|
|
namespace BLL
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 数据合并清理
|
|||
|
|
/// </summary>
|
|||
|
|
public class DataCleanupMergeHelper
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 数据合并清理
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="exTable">排除操作数据表</param>
|
|||
|
|
/// <param name="columType">替换字段(模糊匹配)</param>
|
|||
|
|
/// <param name="mergeDataIds">需要替换的数据值</param>
|
|||
|
|
/// <param name="dataId">新的字段数据值</param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static bool DataCleanupMerge(string exTable, string columType, List<string> mergeDataIds, string dataId, ref string msg)
|
|||
|
|
{
|
|||
|
|
bool result = false;
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
Model.SGGLDB db = Funs.DB;
|
|||
|
|
var clist = db.DataIdMove.Where(x => x.ColumType == columType && x.NewIds == dataId).ToList();
|
|||
|
|
db.DataIdMove.DeleteAllOnSubmit(clist);
|
|||
|
|
db.SubmitChanges();
|
|||
|
|
List<Model.DataIdMove> list = new List<Model.DataIdMove>();
|
|||
|
|
foreach (var mergeId in mergeDataIds)
|
|||
|
|
{
|
|||
|
|
list.Add(new Model.DataIdMove { OldId = mergeId.Trim(), NewIds = dataId.Trim(), ColumType = columType });
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
db.DataIdMove.InsertAllOnSubmit(list);
|
|||
|
|
db.SubmitChanges();
|
|||
|
|
|
|||
|
|
|
|||
|
|
//SP_DataIdMove[排除操作数据表,替换字段(模糊匹配),字段数据值]
|
|||
|
|
string strSql = $"exec SP_DataIdMove '{exTable}','{columType}','{dataId}'";
|
|||
|
|
result = BLL.SQLHelper.ExecuteSql(strSql);
|
|||
|
|
|
|||
|
|
//SqlParameter[] parameters = {
|
|||
|
|
// new SqlParameter("@exTable", exTable),
|
|||
|
|
// new SqlParameter("@colums", columType),
|
|||
|
|
// new SqlParameter("@trueId", dataId),
|
|||
|
|
// new SqlParameter("@returnVal", SqlDbType.Int)
|
|||
|
|
//};
|
|||
|
|
//BLL.SQLHelper.ExecuteNonQueryStoredProcedure("SP_DataIdMove", parameters);
|
|||
|
|
//int succ = BLL.SQLHelper.ExecuteProcedure("SP_DataIdMove", parameters);
|
|||
|
|
//Thread.Sleep(30000); // 等待30秒,30000毫秒等于30秒
|
|||
|
|
if (result)
|
|||
|
|
{
|
|||
|
|
db.DataIdMove.DeleteAllOnSubmit(list);
|
|||
|
|
db.SubmitChanges();
|
|||
|
|
msg = "数据合并成功!";
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
msg = "数据合并失败,请稍后再试!";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
msg = ex.Message;
|
|||
|
|
result = false;
|
|||
|
|
}
|
|||
|
|
return result;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|