using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using BLL; using Newtonsoft.Json.Linq; namespace FineUIPro.Web.HJGL.MaterialManage { public partial class EMaterialRegistEdit : PageBase { #region 定义项 /// /// 主键 /// public string EMaterialRegistId { get { return (string)ViewState["EMaterialRegistId"]; } set { ViewState["EMaterialRegistId"] = value; } } private bool AppendToEnd = false; #endregion #region 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.EMaterialRegistId = Request.Params["EMaterialRegistId"]; var project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); if (project != null) { this.lblProjectName.Text = project.ProjectName; } if (!string.IsNullOrEmpty(this.EMaterialRegistId)) { var electrode = BLL.HJGL_EMaterialRegistService.GetEMaterialRegistByID(this.EMaterialRegistId); if (electrode != null) { this.txtUnitName.Text = electrode.UnitName; this.txtEMaterialRegistCode.Text = electrode.EMaterialRegistCode; this.txtEMaterialRegistDate.Text = string.Format("{0:yyyy-MM-dd}", electrode.EMaterialRegistDate); this.txtDeliveryMan.Text = string.Format("{0:yyyy-MM-dd}", electrode.CompileDate); } } else { this.txtEMaterialRegistDate.Text = string.Format("{0:yyyy-MM-dd}", System.DateTime.Now); } ///制单人 /// this.drpWME_ID.DataTextField = "ConsumablesName"; this.drpWME_ID.DataValueField = "ConsumablesName"; this.drpWME_ID.DataSource = (from x in Funs.DB.Base_Consumables orderby x.ConsumablesCode select x).ToList(); this.drpWME_ID.DataBind(); // 删除选中单元格的客户端脚本 string deleteScript = GetDeleteScript(); // 新增数据初始值 JObject defaultObj = new JObject(); defaultObj.Add("WMT_MatName", ""); defaultObj.Add("SpecificationsModel", ""); defaultObj.Add("Models", ""); defaultObj.Add("UnitName", ""); defaultObj.Add("MaterialCount", ""); defaultObj.Add("ItemCode", ""); defaultObj.Add("Testrecords", ""); defaultObj.Add("Delete", String.Format("", deleteScript, IconHelper.GetResolvedIconUrl(Icon.Delete))); // 在第一行新增一条数据 btnNew.OnClientClick = Grid1.GetAddNewRecordReference(defaultObj, AppendToEnd); // 删除选中行按钮 btnDelete.OnClientClick = Grid1.GetNoSelectionAlertReference("请至少选择一项!") + deleteScript; // 绑定表格 this.BindGrid(); } } #endregion #region 数据绑定 /// /// 数据绑定 /// private void BindGrid() { string strSql = @"SELECT EMaterialRegistItemId,EMaterialRegistId,SpecificationsModel,UnitName,MaterialCount,ItemCode,Testrecords,Models,Item.WMT_ID,ConsumablesName as WMT_MatName" + @" FROM HJGL_EMaterialRegistItem AS Item" + @" LEFT JOIN Base_Consumables AS WeldMaterial ON Item.WMT_ID = WeldMaterial.ConsumablesId" + @" WHERE EMaterialRegistId=@EMaterialRegistId"; SqlParameter[] parameter = new SqlParameter[] { new SqlParameter("@EMaterialRegistId",this.EMaterialRegistId), }; DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.DataSource = tb; Grid1.DataBind(); } #endregion /// /// /// /// /// protected void Grid1_PreDataBound(object sender, EventArgs e) { // 设置LinkButtonField的点击客户端事件 LinkButtonField deleteField = Grid1.FindColumn("Delete") as LinkButtonField; deleteField.OnClientClick = GetDeleteScript(); } /// /// /// /// private string GetDeleteScript() { if (!CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_EMaterialRegistMenuId, Const.BtnDelete)) { ShowNotify("您没有这个权限,请与管理员联系!"); return null; } else { return Confirm.GetShowReference("删除选中行?", String.Empty, MessageBoxIcon.Question, Grid1.GetDeleteSelectedRowsReference(), String.Empty); } } #region 排序 /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { BindGrid(); } #endregion /// /// /// /// /// protected void btnSave_Click(object sender, EventArgs e) { if (!CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_EMaterialRegistMenuId, Const.BtnSave)) { ShowNotify("您没有这个权限,请与管理员联系!"); return; } Model.HJGL_EMaterialRegist eMaterialRegist = new Model.HJGL_EMaterialRegist(); eMaterialRegist.EMaterialRegistCode = this.txtEMaterialRegistCode.Text.Trim(); eMaterialRegist.EMaterialRegistDate = Funs.GetNewDateTime(this.txtEMaterialRegistDate.Text); eMaterialRegist.DeliveryMan = this.txtDeliveryMan.Text.Trim(); eMaterialRegist.UnitName = this.txtUnitName.Text.Trim(); eMaterialRegist.CompileMan = this.CurrUser.UserId; eMaterialRegist.CompileDate = DateTime.Now; eMaterialRegist.ProjectId = this.CurrUser.LoginProjectId; //修改 if (!string.IsNullOrEmpty(this.EMaterialRegistId)) { eMaterialRegist.EMaterialRegistId = this.EMaterialRegistId; BLL.HJGL_EMaterialRegistService.UpdateEMaterialRegist(eMaterialRegist); /// 删除到货明细 BLL.HJGL_EMaterialRegistService.DeleteEMaterialRegistItem(this.CurrUser.LoginProjectId, eMaterialRegist.Unit, this.EMaterialRegistId); //BLL.Sys_LogService.AddLog(BLL.Const.System_7, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "修改材料到货登记及验收记录!"); } else //添加 { eMaterialRegist.EMaterialRegistId = SQLHelper.GetNewID(typeof(Model.HJGL_EMaterialRegist)); this.EMaterialRegistId = eMaterialRegist.EMaterialRegistId; BLL.HJGL_EMaterialRegistService.AddEMaterialRegist(eMaterialRegist); //BLL.Sys_LogService.AddLog(BLL.Const.System_7, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "添加材料到货登记及验收记录!"); } if (Grid1.GetModifiedData().Count > 0) { JArray teamGroupData = Grid1.GetMergedData(); foreach (JObject teamGroupRow in teamGroupData) { //string status = teamGroupRow.Value("status"); JObject values = teamGroupRow.Value("values"); Model.HJGL_EMaterialRegistItem newItem = new Model.HJGL_EMaterialRegistItem(); newItem.EMaterialRegistId = this.EMaterialRegistId; newItem.EMaterialRegistItemId = SQLHelper.GetNewID(typeof(Model.HJGL_EMaterialRegistItem)); var mat = Funs.DB.Base_Consumables.FirstOrDefault(x => x.ConsumablesName == values.Value("WMT_MatName")); if (mat != null) { newItem.WMT_ID = mat.ConsumablesId; } newItem.SpecificationsModel = values.Value("SpecificationsModel"); newItem.Models = values.Value("Models"); newItem.UnitName = values.Value("UnitName"); newItem.MaterialCount = Funs.GetNewInt(values.Value("MaterialCount")); newItem.ItemCode = values.Value("ItemCode"); newItem.Testrecords = values.Value("Testrecords"); BLL.HJGL_EMaterialRegistService.AddEMaterialRegistItem(newItem); if (newItem.MaterialCount.HasValue && !string.IsNullOrEmpty(newItem.WMT_ID)) { BLL.HJGL_EMInventoryRecordsService.UpdateEMInventoryRecords(this.CurrUser.LoginProjectId, eMaterialRegist.Unit, newItem.WMT_ID, newItem.Models, newItem.SpecificationsModel, newItem.MaterialCount.Value); } } } Alert.ShowInTop("保存成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } } }