186 lines
7.4 KiB
C#
186 lines
7.4 KiB
C#
|
using BLL;
|
|||
|
using Newtonsoft.Json.Linq;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Collections.Specialized;
|
|||
|
using System.Data;
|
|||
|
using System.Data.SqlClient;
|
|||
|
using System.Linq;
|
|||
|
|
|||
|
namespace FineUIPro.Web.EditorManage
|
|||
|
{
|
|||
|
public partial class CMHTDEdit : PageBase
|
|||
|
{
|
|||
|
private bool AppendToEnd = false;
|
|||
|
|
|||
|
#region 加载
|
|||
|
protected void Page_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (!IsPostBack)
|
|||
|
{
|
|||
|
GetButtonPower();//权限设置
|
|||
|
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
|
|||
|
string eProjectId = Request.Params["eProjectId"];
|
|||
|
|
|||
|
BLL.ContractorService.InitContractorDropDownList(this.drpContractor, false);
|
|||
|
this.drpDiscipline.DataTextField = "ConstText";
|
|||
|
this.drpDiscipline.DataValueField = "ConstValue";
|
|||
|
this.drpDiscipline.DataSource = BLL.TDCService.GetTDCDiscByEprojectId(eProjectId);
|
|||
|
this.drpDiscipline.DataBind();
|
|||
|
//Funs.FineUIPleaseSelect(this.ddDisc);
|
|||
|
|
|||
|
|
|||
|
// 删除选中单元格的客户端脚本
|
|||
|
string deleteScript = GetDeleteScript();
|
|||
|
|
|||
|
JObject defaultObj = new JObject();
|
|||
|
defaultObj.Add("Contractor", "");
|
|||
|
defaultObj.Add("Discipline", "");
|
|||
|
defaultObj.Add("ReceiveDate", "");
|
|||
|
|
|||
|
// 在第一行新增一条数据
|
|||
|
btnNew.OnClientClick = Grid1.GetAddNewRecordReference(defaultObj, AppendToEnd);
|
|||
|
|
|||
|
// 删除选中行按钮
|
|||
|
btnDelete.OnClientClick = Grid1.GetNoSelectionAlertReference("Please select at least one record!") + deleteScript;
|
|||
|
|
|||
|
if (!string.IsNullOrEmpty(eProjectId))
|
|||
|
{
|
|||
|
BindGrid(eProjectId);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 绑定Grid
|
|||
|
|
|||
|
private void BindGrid(string eProjectId)
|
|||
|
{
|
|||
|
string strSql = @"SELECT htd.*,con.ContractorShortName AS ContractorName FROM dbo.Editor_CM_HTD htd
|
|||
|
LEFT JOIN dbo.Base_Contractor con ON con.ContractorId = htd.ContractorId
|
|||
|
WHERE EProjectId = @EProjectId ORDER BY con.ContractorName";
|
|||
|
SqlParameter[] parameter = new SqlParameter[]
|
|||
|
{
|
|||
|
new SqlParameter("@EProjectId",eProjectId)
|
|||
|
};
|
|||
|
DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter);
|
|||
|
|
|||
|
Grid1.DataSource = dt;
|
|||
|
Grid1.DataBind();
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 删除选中行脚本
|
|||
|
// 删除选中行的脚本
|
|||
|
private string GetDeleteScript()
|
|||
|
{
|
|||
|
//ShowNotify("表格数据没有变化!");
|
|||
|
return Confirm.GetShowReference("Make sure to delete the current data?", String.Empty, MessageBoxIcon.Question, Grid1.GetDeleteSelectedRowsReference(), String.Empty);
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 保存
|
|||
|
/// <summary>
|
|||
|
/// 提交按钮
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void btnSave_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
string eprojectId = Request.Params["eProjectId"];
|
|||
|
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
List<Model.Editor_CM_HTD> htdlist = new List<Model.Editor_CM_HTD>();
|
|||
|
List<Model.Editor_TDC> tdclist = new List<Model.Editor_TDC>();
|
|||
|
JArray cmHTDArr = Grid1.GetMergedData();
|
|||
|
if (cmHTDArr.Count > 0)
|
|||
|
{
|
|||
|
Model.Editor_CM_HTD htdModel = null;
|
|||
|
Model.Editor_TDC tdcModel = null;
|
|||
|
for (int i = 0; i < cmHTDArr.Count; i++)
|
|||
|
{
|
|||
|
JObject objects = (JObject)cmHTDArr[i];
|
|||
|
// 增加 HTD
|
|||
|
htdModel = new Model.Editor_CM_HTD();
|
|||
|
htdModel.HTDID = Guid.NewGuid().ToString();
|
|||
|
htdModel.EProjectId = eprojectId;
|
|||
|
string con = objects["values"]["ContractorName"].ToString();
|
|||
|
var c = BLL.ContractorService.GetContractorByShortName(con);
|
|||
|
htdModel.ContractorId = c.ContractorId;
|
|||
|
htdModel.Discipline = objects["values"]["Discipline"] != null ? objects["values"]["Discipline"].ToString() : null;
|
|||
|
htdModel.ReceiveDate = Funs.GetNewDateTime(objects["values"]["ReceiveDate"].ToString());
|
|||
|
htdModel.Status = objects["values"]["Status"] != null ? objects["values"]["Status"].ToString() : null;
|
|||
|
htdlist.Add(htdModel);
|
|||
|
|
|||
|
// 同步到TDC
|
|||
|
if (!TDCService.IsExistTDC(eprojectId, "D21_Construction", objects["values"]["Discipline"].ToString()))
|
|||
|
{
|
|||
|
tdcModel = new Model.Editor_TDC();
|
|||
|
tdcModel.TDCId = Guid.NewGuid().ToString();
|
|||
|
tdcModel.EProjectId = eprojectId;
|
|||
|
tdcModel.Type = "D21_Construction";
|
|||
|
tdcModel.Disc = objects["values"]["Discipline"].ToString();
|
|||
|
tdcModel.Remarks = c.ContractorName;
|
|||
|
tdcModel.IsSync = true;
|
|||
|
tdclist.Add(tdcModel);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 先删除再保存
|
|||
|
var cmHtd = from x in Funs.DB.Editor_CM_HTD where x.EProjectId == eprojectId select x.Discipline;
|
|||
|
if (cmHtd.Count()>0)
|
|||
|
{
|
|||
|
foreach (var d in cmHtd)
|
|||
|
{
|
|||
|
if (!htdlist.Select(x=>x.Discipline).Contains(d))
|
|||
|
{
|
|||
|
var tdc = from x in Funs.DB.Editor_TDC where x.EProjectId == eprojectId && x.Type == "D21_Construction" && x.Disc==d select x;
|
|||
|
if (tdc.Count() > 0)
|
|||
|
{
|
|||
|
BLL.TDCService.DeleteEditorTDCById(tdc.First().TDCId);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
BLL.TDCService.AddEditorTDC(tdclist);
|
|||
|
BLL.CMHTDService.DeleteCMHTD(eprojectId);
|
|||
|
BLL.CMHTDService.AddEditorCMHTD(htdlist);
|
|||
|
|
|||
|
BindGrid(eprojectId);
|
|||
|
|
|||
|
ShowNotify("Save Successfully!", MessageBoxIcon.Success);
|
|||
|
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
Alert.ShowInParent(ex.ToString());
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 权限设置
|
|||
|
/// <summary>
|
|||
|
/// 菜单按钮权限
|
|||
|
/// </summary>
|
|||
|
private void GetButtonPower()
|
|||
|
{
|
|||
|
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.UserId, BLL.Const.CMEditorMenuId);
|
|||
|
if (buttonList.Count > 0)
|
|||
|
{
|
|||
|
if (buttonList.Contains("Edit HTD"))
|
|||
|
{
|
|||
|
this.btnNew.Hidden = false;
|
|||
|
this.btnDelete.Hidden = false;
|
|||
|
this.btnSave.Hidden = false;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|