| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  | using BLL; | 
					
						
							| 
									
										
										
										
											2024-03-07 09:08:49 +08:00
										 |  |  |  | using Newtonsoft.Json.Linq; | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  | using System; | 
					
						
							| 
									
										
										
										
											2024-03-07 09:08:49 +08:00
										 |  |  |  | using System.Collections.Generic; | 
					
						
							|  |  |  |  | using System.Linq; | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | namespace FineUIPro.Web.TestRun.DriverGoods | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     public partial class GoodsBuyEdit : PageBase | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         #region 加载 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 页面加载 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void Page_Load(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (!IsPostBack) | 
					
						
							|  |  |  |  |             { | 
					
						
							| 
									
										
										
										
											2024-03-07 09:08:49 +08:00
										 |  |  |  |                 string id = Request.Params["GoodsBuyId"]; | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                 if (!string.IsNullOrEmpty(id)) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     Model.DriverGoods_GoodsBuy data = BLL.GoodsBuyService.GetGoodsBuyById(id); | 
					
						
							|  |  |  |  |                     if (data != null) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         this.hdId.Text = id; | 
					
						
							|  |  |  |  |                         this.txtCode.Text = data.Code; | 
					
						
							| 
									
										
										
										
											2024-03-07 09:08:49 +08:00
										 |  |  |  |                         if (!string.IsNullOrEmpty(data.BuyCode)) | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             this.hdBuyCode.Text = data.BuyCode; | 
					
						
							|  |  |  |  |                             this.txtBuyName.Text = GoodsBuyService.ConvertBugType(data.BuyCode); | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                         this.txtUnitCode.Text = data.UnitCode; | 
					
						
							|  |  |  |  |                         var list = from x in Funs.DB.View_DriverGoods_GoodsBuyItem where x.GoodsBuyId == id orderby x.Code select x; | 
					
						
							|  |  |  |  |                         this.Grid1.DataSource = list; | 
					
						
							|  |  |  |  |                         this.Grid1.DataBind(); | 
					
						
							|  |  |  |  |                         if (list.Count() > 0) | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                         { | 
					
						
							| 
									
										
										
										
											2024-03-07 09:08:49 +08:00
										 |  |  |  |                             var ids = list.Select(x => x.GoodsModelId).ToArray(); | 
					
						
							|  |  |  |  |                             this.hdItemsString.Text = Funs.GetStringByArray(ids); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                         } | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							| 
									
										
										
										
											2024-03-07 09:08:49 +08:00
										 |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     this.hdBuyCode.Text = Request.Params["BuyCode"]; | 
					
						
							|  |  |  |  |                     this.txtBuyName.Text = GoodsBuyService.ConvertBugType(this.hdBuyCode.Text); | 
					
						
							|  |  |  |  |                 } | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region 附件上传 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 附件上传 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void btnAttach_Click(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (string.IsNullOrEmpty(this.hdId.Text))   //新增记录 | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 this.hdId.Text = SQLHelper.GetNewID(typeof(Model.DriverGoods_GoodsBuy)); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/TestRun/DriverGoods/GoodsBuy&menuId={1}", this.hdId.Text, BLL.Const.GoodsBuyMenuId))); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region 保存 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 保存按钮 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void btnSave_Click(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							| 
									
										
										
										
											2024-03-07 09:08:49 +08:00
										 |  |  |  |             string id = Request.Params["GoodsBuyId"]; | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |             Model.DriverGoods_GoodsBuy newData = new Model.DriverGoods_GoodsBuy(); | 
					
						
							|  |  |  |  |             newData.Code = this.txtCode.Text.Trim(); | 
					
						
							|  |  |  |  |             newData.BuyName = this.txtBuyName.Text.Trim(); | 
					
						
							| 
									
										
										
										
											2024-03-07 09:08:49 +08:00
										 |  |  |  |             newData.BuyCode = this.hdBuyCode.Text.Trim(); | 
					
						
							|  |  |  |  |             newData.UnitCode = this.txtUnitCode.Text.Trim(); | 
					
						
							|  |  |  |  |             newData.CompileMan = this.CurrUser.UserId; | 
					
						
							|  |  |  |  |             newData.ApprovalDate = DateTime.Now; | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |             newData.ProjectId = this.CurrUser.LoginProjectId; | 
					
						
							|  |  |  |  |             if (!string.IsNullOrEmpty(id)) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 newData.GoodsBuyId = id; | 
					
						
							|  |  |  |  |                 BLL.GoodsBuyService.UpdateGoodsBuy(newData); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 if (!string.IsNullOrEmpty(this.hdId.Text)) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     newData.GoodsBuyId = this.hdId.Text.Trim(); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     newData.GoodsBuyId = SQLHelper.GetNewID(typeof(Model.DriverGoods_GoodsBuy)); | 
					
						
							|  |  |  |  |                     this.hdId.Text = newData.GoodsBuyId; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 BLL.GoodsBuyService.AddGoodsBuy(newData); | 
					
						
							|  |  |  |  |             } | 
					
						
							| 
									
										
										
										
											2024-03-07 09:08:49 +08:00
										 |  |  |  |             BLL.GoodsBuyItemService.DeleteGoodsBuyItemByGoodsBuyId(newData.GoodsBuyId); | 
					
						
							|  |  |  |  |             var details = jerqueSaveList(); | 
					
						
							|  |  |  |  |             foreach (var detail in details) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Model.DriverGoods_GoodsBuyItem item = new Model.DriverGoods_GoodsBuyItem(); | 
					
						
							|  |  |  |  |                 item.GoodsBuyItemId = SQLHelper.GetNewID(); | 
					
						
							|  |  |  |  |                 item.GoodsBuyId = newData.GoodsBuyId; | 
					
						
							|  |  |  |  |                 item.GoodsModelId = detail.GoodsModelId; | 
					
						
							| 
									
										
										
										
											2024-03-18 09:08:16 +08:00
										 |  |  |  |                 item.Num = detail.Num; | 
					
						
							| 
									
										
										
										
											2024-03-07 09:08:49 +08:00
										 |  |  |  |                 item.RequiredTime = detail.RequiredTime; | 
					
						
							|  |  |  |  |                 BLL.GoodsBuyItemService.AddGoodsBuyItem(item); | 
					
						
							|  |  |  |  |             } | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |             ShowNotify("保存成功!", MessageBoxIcon.Success); | 
					
						
							|  |  |  |  |             PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							| 
									
										
										
										
											2024-03-07 09:08:49 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region 搜索 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 搜索 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void btnNew_Click(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             string window = String.Format("ShowGoodsModel.aspx?Ids={0}", hdItemsString.Text, "查找 - "); | 
					
						
							|  |  |  |  |             PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdItemsString.ClientID) + Window1.GetShowReference(window)); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region  保存Grid集合 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 检查并保存集合 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         private List<Model.View_DriverGoods_GoodsBuyItem> jerqueSaveList() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             var models = from x in Funs.DB.DriverGoods_GoodsModel where x.ProjectId == this.CurrUser.LoginProjectId select x; | 
					
						
							|  |  |  |  |             List<Model.View_DriverGoods_GoodsBuyItem> details = new List<Model.View_DriverGoods_GoodsBuyItem>(); | 
					
						
							|  |  |  |  |             foreach (JObject mergedRow in Grid1.GetMergedData()) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 JObject values = mergedRow.Value<JObject>("values"); | 
					
						
							|  |  |  |  |                 int i = mergedRow.Value<int>("index"); | 
					
						
							|  |  |  |  |                 Model.View_DriverGoods_GoodsBuyItem detail = new Model.View_DriverGoods_GoodsBuyItem(); | 
					
						
							|  |  |  |  |                 detail.GoodsModelId = this.Grid1.Rows[i].RowID; | 
					
						
							|  |  |  |  |                 Model.DriverGoods_GoodsModel model = models.FirstOrDefault(x => x.GoodsModelId == detail.GoodsModelId); | 
					
						
							|  |  |  |  |                 detail.Purpose = model.Purpose; | 
					
						
							|  |  |  |  |                 detail.Description = model.Description; | 
					
						
							|  |  |  |  |                 detail.Attachment = model.Attachment; | 
					
						
							|  |  |  |  |                 detail.Remark = model.Remark; | 
					
						
							| 
									
										
										
										
											2024-03-18 09:08:16 +08:00
										 |  |  |  |                 detail.Num = values.Value<string>("Num"); | 
					
						
							| 
									
										
										
										
											2024-03-07 09:08:49 +08:00
										 |  |  |  |                 string requiredTime = values.Value<string>("RequiredTime"); | 
					
						
							|  |  |  |  |                 if (!string.IsNullOrEmpty(requiredTime)) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     detail.RequiredTime = Convert.ToDateTime(requiredTime); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 details.Add(detail); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return details; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region 关闭弹出窗口 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 关闭弹出窗口 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void Window1_Close(object sender, WindowCloseEventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (!string.IsNullOrEmpty(hdItemsString.Text)) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 string[] ids = hdItemsString.Text.Split(','); | 
					
						
							|  |  |  |  |                 var details = jerqueSaveList(); | 
					
						
							|  |  |  |  |                 var models = from x in Funs.DB.DriverGoods_GoodsModel where x.ProjectId == this.CurrUser.LoginProjectId select x; | 
					
						
							|  |  |  |  |                 foreach (var id in ids) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     var oldDetail = details.FirstOrDefault(x => x.GoodsModelId == id); | 
					
						
							|  |  |  |  |                     if (oldDetail == null)   //添加集合没有的新纪录 | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         Model.DriverGoods_GoodsModel model = models.FirstOrDefault(x => x.GoodsModelId == id); | 
					
						
							|  |  |  |  |                         if (model != null) | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             Model.View_DriverGoods_GoodsBuyItem detail = new Model.View_DriverGoods_GoodsBuyItem(); | 
					
						
							|  |  |  |  |                             detail.GoodsModelId = model.GoodsModelId; | 
					
						
							|  |  |  |  |                             detail.Purpose = model.Purpose; | 
					
						
							|  |  |  |  |                             detail.Description = model.Description; | 
					
						
							| 
									
										
										
										
											2024-03-18 09:08:16 +08:00
										 |  |  |  |                             detail.Quantity = model.Quantity; | 
					
						
							| 
									
										
										
										
											2024-03-07 09:08:49 +08:00
										 |  |  |  |                             detail.Attachment = model.Attachment; | 
					
						
							|  |  |  |  |                             detail.Remark = model.Remark; | 
					
						
							|  |  |  |  |                             details.Add(detail); | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 this.Grid1.DataSource = details; | 
					
						
							|  |  |  |  |                 this.Grid1.DataBind(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             string itemId = Grid1.DataKeys[e.RowIndex][0].ToString(); | 
					
						
							|  |  |  |  |             List<Model.View_DriverGoods_GoodsBuyItem> details = jerqueSaveList(); | 
					
						
							|  |  |  |  |             if (e.CommandName == "delete") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 foreach (Model.View_DriverGoods_GoodsBuyItem detail in details) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     if (detail.GoodsModelId == itemId) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         details.Remove(detail); | 
					
						
							|  |  |  |  |                         break; | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 Grid1.DataSource = details; | 
					
						
							|  |  |  |  |                 Grid1.DataBind(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | } |