2025-08-27 11:12:41 +08:00
|
|
|
|
using System;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Web.UI.WebControls;
|
|
|
|
|
using BLL;
|
|
|
|
|
using NPOI.Util;
|
2025-09-02 10:48:28 +08:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using FineUIPro.Web.DataShow;
|
|
|
|
|
using System.Data.SqlClient;
|
|
|
|
|
using System.Threading;
|
2025-08-27 11:12:41 +08:00
|
|
|
|
|
|
|
|
|
namespace FineUIPro.Web.SysManage
|
|
|
|
|
{
|
|
|
|
|
public partial class UnitCleanupMerge : PageBase
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (!IsPostBack)
|
|
|
|
|
{
|
|
|
|
|
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
|
|
|
|
|
////权限按钮方法
|
|
|
|
|
this.GetButtonPower();
|
2025-09-02 10:48:28 +08:00
|
|
|
|
|
|
|
|
|
BindGrid();
|
|
|
|
|
BindGrid2();
|
2025-08-27 11:12:41 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-09-02 10:48:28 +08:00
|
|
|
|
#region 加载合并后的单位
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 加载合并后的单位
|
|
|
|
|
/// </summary>
|
|
|
|
|
private void BindGrid()
|
|
|
|
|
{
|
|
|
|
|
var list = (from x in Funs.DB.Base_Unit
|
|
|
|
|
join y in Funs.DB.Base_UnitType on x.UnitTypeId equals y.UnitTypeId into yGroup
|
|
|
|
|
from y in yGroup.DefaultIfEmpty()
|
|
|
|
|
orderby x.UnitName descending
|
|
|
|
|
select new
|
|
|
|
|
{
|
|
|
|
|
x.UnitId,
|
|
|
|
|
x.UnitCode,
|
|
|
|
|
x.UnitName,
|
|
|
|
|
x.ShortUnitName,
|
|
|
|
|
y.UnitTypeName
|
|
|
|
|
}).ToList();
|
|
|
|
|
string codeName = ttbUnitNameCodeSearch.Text.Trim();
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(codeName))
|
|
|
|
|
{
|
|
|
|
|
//list = list.Where(x => !string.IsNullOrWhiteSpace(x.UnitCode) && !string.IsNullOrWhiteSpace(x.UnitName)).ToList();
|
|
|
|
|
list = list.Where(x => (!string.IsNullOrWhiteSpace(x.UnitCode) && x.UnitCode.Contains(codeName)) || (!string.IsNullOrWhiteSpace(x.UnitName) && x.UnitName.Contains(codeName)) || (!string.IsNullOrWhiteSpace(x.ShortUnitName) && x.ShortUnitName.Contains(codeName))).ToList();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 1.设置总项数(特别注意:数据库分页一定要设置总记录数RecordCount)
|
|
|
|
|
Grid1.RecordCount = list.Count();
|
|
|
|
|
// 2.获取当前分页数据
|
|
|
|
|
DataTable table = Funs.LINQToDataTable(list);
|
|
|
|
|
|
|
|
|
|
// 3.绑定到Grid
|
|
|
|
|
//Grid1.DataSource = table;
|
|
|
|
|
Grid1.DataSource = this.GetPagedDataTable(Grid1, table);
|
|
|
|
|
Grid1.DataBind();
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
BindGrid();
|
|
|
|
|
}
|
|
|
|
|
protected void Grid1_Sort(object sender, GridSortEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
BindGrid();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected void ttbUnitNameCodeSearch_Trigger1Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
ttbUnitNameCodeSearch.Text = string.Empty;
|
|
|
|
|
ttbUnitNameCodeSearch.ShowTrigger1 = false;
|
|
|
|
|
BindGrid();
|
|
|
|
|
}
|
|
|
|
|
protected void ttbUnitNameCodeSearch_Trigger2Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
ttbUnitNameCodeSearch.ShowTrigger1 = true;
|
|
|
|
|
BindGrid();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
protected void TextBox_TextChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
BindGrid();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 加载需要合并的单位
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 加载需要合并的单位
|
|
|
|
|
/// </summary>
|
|
|
|
|
private void BindGrid2()
|
|
|
|
|
{
|
|
|
|
|
var list = (from x in Funs.DB.Base_Unit
|
|
|
|
|
join y in Funs.DB.Base_UnitType on x.UnitTypeId equals y.UnitTypeId into yGroup
|
|
|
|
|
from y in yGroup.DefaultIfEmpty()
|
|
|
|
|
where x.UnitId != Const.UnitId_CWCEC && x.UnitId != Const.UnitId_Con
|
|
|
|
|
orderby x.UnitName descending
|
|
|
|
|
select new
|
|
|
|
|
{
|
|
|
|
|
x.UnitId,
|
|
|
|
|
x.UnitCode,
|
|
|
|
|
x.UnitName,
|
|
|
|
|
x.ShortUnitName,
|
|
|
|
|
y.UnitTypeName
|
|
|
|
|
}).ToList();
|
|
|
|
|
//string unitId = this.drpUnitId.SelectedValue;
|
|
|
|
|
string unitId = this.drpUnitBox.Value;
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(unitId))
|
|
|
|
|
{
|
|
|
|
|
list = list.Where(x => x.UnitId != unitId).ToList();
|
|
|
|
|
}
|
|
|
|
|
string codeName = ttbMergeUnitNameCodeSearch.Text.Trim();
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(codeName))
|
|
|
|
|
{
|
|
|
|
|
//list = list.Where(x => !string.IsNullOrWhiteSpace(x.UnitCode) && !string.IsNullOrWhiteSpace(x.UnitName)).ToList();
|
|
|
|
|
list = list.Where(x => (!string.IsNullOrWhiteSpace(x.UnitCode) && x.UnitCode.Contains(codeName)) || (!string.IsNullOrWhiteSpace(x.UnitName) && x.UnitName.Contains(codeName)) || (!string.IsNullOrWhiteSpace(x.ShortUnitName) && x.ShortUnitName.Contains(codeName))).ToList();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 1.设置总项数(特别注意:数据库分页一定要设置总记录数RecordCount)
|
|
|
|
|
Grid2.RecordCount = list.Count();
|
|
|
|
|
// 2.获取当前分页数据
|
|
|
|
|
DataTable table = Funs.LINQToDataTable(list);
|
|
|
|
|
|
|
|
|
|
// 3.绑定到Grid
|
|
|
|
|
//Grid2.DataSource = table;
|
|
|
|
|
Grid2.DataSource = this.GetPagedDataTable(Grid2, table);
|
|
|
|
|
Grid2.DataBind();
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
protected void Grid2_PageIndexChange(object sender, GridPageEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
BindGrid2();
|
|
|
|
|
}
|
|
|
|
|
protected void Grid2_Sort(object sender, GridSortEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
BindGrid2();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected void ttbMergeUnitNameCodeSearch_Trigger1Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
ttbMergeUnitNameCodeSearch.Text = string.Empty;
|
|
|
|
|
ttbMergeUnitNameCodeSearch.ShowTrigger1 = false;
|
|
|
|
|
BindGrid2();
|
|
|
|
|
}
|
|
|
|
|
protected void ttbMergeUnitNameCodeSearch_Trigger2Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
ttbMergeUnitNameCodeSearch.ShowTrigger1 = true;
|
|
|
|
|
BindGrid2();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
protected void MergeTextBox_TextChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
BindGrid2();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
2025-08-27 11:12:41 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 保存按钮
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
protected void btnSave_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
2025-09-02 10:48:28 +08:00
|
|
|
|
string unitId = string.Empty;
|
|
|
|
|
string unitMergeId = string.Empty;
|
|
|
|
|
string unitName = string.Empty;
|
|
|
|
|
string unitMergeName = string.Empty;
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(this.drpUnitBox.Text))
|
|
|
|
|
{
|
|
|
|
|
unitId = this.drpUnitBox.Value.Trim();
|
|
|
|
|
unitName = this.drpUnitBox.Text;
|
|
|
|
|
}
|
|
|
|
|
else
|
2025-08-27 11:12:41 +08:00
|
|
|
|
{
|
|
|
|
|
Alert.ShowInParent("请选择合并后单位!", MessageBoxIcon.Warning);
|
|
|
|
|
return;
|
|
|
|
|
}
|
2025-09-02 10:48:28 +08:00
|
|
|
|
if (!string.IsNullOrWhiteSpace(this.drpMergeUnitBox.Text))
|
|
|
|
|
{
|
|
|
|
|
unitMergeId = this.drpMergeUnitBox.Value.Trim();
|
|
|
|
|
unitMergeName = this.drpMergeUnitBox.Text;
|
|
|
|
|
if (unitMergeId == unitId)
|
|
|
|
|
{
|
|
|
|
|
Alert.ShowInParent("两个单位为同一个单位,无需合并!", MessageBoxIcon.Warning);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
2025-08-27 11:12:41 +08:00
|
|
|
|
{
|
2025-09-02 10:48:28 +08:00
|
|
|
|
Alert.ShowInParent("请选择需要合并的单位!", MessageBoxIcon.Warning);
|
2025-08-27 11:12:41 +08:00
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2025-09-02 10:48:28 +08:00
|
|
|
|
List<string> unitMergeIds = unitMergeId.Split(',').ToList();
|
|
|
|
|
unitMergeIds = unitMergeIds.Where(x => x != unitId).ToList();
|
|
|
|
|
//db.DataIdMove.DeleteAllOnSubmit();
|
|
|
|
|
|
|
|
|
|
Model.SGGLDB db = Funs.DB;
|
|
|
|
|
var clist = db.DataIdMove.Where(x => x.ColumType == "Unit" && x.NewIds == unitId).ToList();
|
|
|
|
|
db.DataIdMove.DeleteAllOnSubmit(clist);
|
|
|
|
|
db.SubmitChanges();
|
|
|
|
|
List<Model.DataIdMove> list = new List<Model.DataIdMove>();
|
|
|
|
|
foreach (var mergeId in unitMergeIds)
|
|
|
|
|
{
|
|
|
|
|
list.Add(new Model.DataIdMove { OldId = mergeId.Trim(), NewIds = unitId.Trim(), ColumType = "Unit" });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
db.DataIdMove.InsertAllOnSubmit(list);
|
|
|
|
|
db.SubmitChanges();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
string strSql = $"exec SP_DataIdMove 'Unit','{unitId}'";
|
|
|
|
|
BLL.SQLHelper.ExecutSql(strSql);
|
|
|
|
|
|
|
|
|
|
//SqlParameter[] parameters = {
|
|
|
|
|
// new SqlParameter("@colums", "Unit"),
|
|
|
|
|
// 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秒
|
2025-08-27 11:12:41 +08:00
|
|
|
|
|
|
|
|
|
string txtRemark = this.txtRemark.Text.Trim();
|
2025-09-02 10:48:28 +08:00
|
|
|
|
//其他数据表单位数据合并后,删除单位表冗余单位
|
|
|
|
|
foreach (var mergeId in unitMergeIds)
|
|
|
|
|
{
|
|
|
|
|
string uId = mergeId.Trim();
|
|
|
|
|
var unit = BLL.UnitService.GetUnitByUnitId(uId);
|
|
|
|
|
if (unit != null)
|
|
|
|
|
{
|
|
|
|
|
UnitService.DeleteUnitById(uId);
|
|
|
|
|
string op = $"单位合并清理后,{Const.BtnDelete};备注:{txtRemark}";
|
|
|
|
|
LogService.AddSys_Log(this.CurrUser, unit.UnitCode, unit.UnitId, Const.UnitMenuId, op);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
db.DataIdMove.DeleteAllOnSubmit(list);
|
|
|
|
|
db.SubmitChanges();
|
|
|
|
|
|
2025-08-27 11:12:41 +08:00
|
|
|
|
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
|
|
|
|
|
}
|
|
|
|
|
|
2025-09-02 10:48:28 +08:00
|
|
|
|
|
2025-08-27 11:12:41 +08:00
|
|
|
|
#region 获取按钮权限
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取按钮权限
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="button"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
private void GetButtonPower()
|
|
|
|
|
{
|
|
|
|
|
if (this.CurrUser.UserId == Const.sysglyId || this.CurrUser.UserId == Const.hfnbdId || this.CurrUser.UserId == Const.fuweiId || this.CurrUser.UserId == Const.shenyinhangId)
|
|
|
|
|
{//系统管理员、合肥诺必达、付伟、申银行
|
|
|
|
|
this.btnSave.Hidden = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|