223 lines
9.2 KiB
C#
223 lines
9.2 KiB
C#
using BLL;
|
|
using Newtonsoft.Json.Linq;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
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)
|
|
{
|
|
string id = Request.Params["GoodsBuyId"];
|
|
if (!string.IsNullOrEmpty(id))
|
|
{
|
|
Model.DriverGoods_GoodsBuy data = BLL.GoodsBuyService.GetGoodsBuyById(id);
|
|
if (data != null)
|
|
{
|
|
this.hdId.Text = id;
|
|
this.txtCode.Text = data.Code;
|
|
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)
|
|
{
|
|
var ids = list.Select(x => x.GoodsModelId).ToArray();
|
|
this.hdItemsString.Text = Funs.GetStringByArray(ids);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.hdBuyCode.Text = Request.Params["BuyCode"];
|
|
this.txtBuyName.Text = GoodsBuyService.ConvertBugType(this.hdBuyCode.Text);
|
|
}
|
|
}
|
|
}
|
|
#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)
|
|
{
|
|
string id = Request.Params["GoodsBuyId"];
|
|
Model.DriverGoods_GoodsBuy newData = new Model.DriverGoods_GoodsBuy();
|
|
newData.Code = this.txtCode.Text.Trim();
|
|
newData.BuyName = this.txtBuyName.Text.Trim();
|
|
newData.BuyCode = this.hdBuyCode.Text.Trim();
|
|
newData.UnitCode = this.txtUnitCode.Text.Trim();
|
|
newData.CompileMan = this.CurrUser.UserId;
|
|
newData.ApprovalDate = DateTime.Now;
|
|
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);
|
|
}
|
|
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;
|
|
item.Quantity = detail.Quantity;
|
|
item.RequiredTime = detail.RequiredTime;
|
|
BLL.GoodsBuyItemService.AddGoodsBuyItem(item);
|
|
}
|
|
ShowNotify("保存成功!", MessageBoxIcon.Success);
|
|
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
|
}
|
|
#endregion
|
|
|
|
#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;
|
|
detail.Quantity = values.Value<string>("Quantity");
|
|
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;
|
|
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();
|
|
}
|
|
}
|
|
}
|
|
} |