SGGL_SGY/SGGL/FineUIPro.Web/HJGL/MaterialManage/StockMove.aspx.cs

202 lines
9.0 KiB
C#
Raw Normal View History

2025-02-19 15:58:42 +08:00
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System.Linq;
using BLL;
using Newtonsoft.Json.Linq;
namespace FineUIPro.Web.HJGL.MaterialManage
{
public partial class StockMove : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
BLL.UserService.InitUsersDropDownList(this.drpMoveInMan, this.CurrUser.LoginProjectId, true, null);
drpMoveInMan.SelectedValue = CurrUser.UserId;
BLL.UnitStoreService.InitUnitStoreDropDownList(drpUnitStoreOut, string.Empty, true);
BLL.UnitStoreService.InitUnitStoreDropDownList(drpUnitStoreIn, string.Empty, true);
this.txtMoveInDate.Text = string.Format("{0:yyyy-MM-dd}", System.DateTime.Now);
Grid1.Hidden = true;
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
if (this.drpUnitStoreOut.SelectedValue == Const._Null)
{
Alert.ShowInTop("请选择要移出的仓库!", MessageBoxIcon.Warning);
return;
}
if (drpUnitStoreIn.SelectedValue == Const._Null)
{
Alert.ShowInTop("请选择要移入的仓库!", MessageBoxIcon.Warning);
return;
}
var outStort = from x in Funs.DB.Weld_StockIn where x.Flag == "1" && x.UnitStoreId == drpUnitStoreOut.SelectedValue select x;
int num = outStort.Count();
if (num > 0)
{
if (rdIsAll.SelectedValue == "1")
{
foreach (var q in outStort)
{
q.UnitStoreId = drpUnitStoreIn.SelectedValue;
q.MoveInStoreId = drpUnitStoreOut.SelectedValue;
q.MoveInManId = CurrUser.UserId;
q.MoveInDate = DateTime.Now;
}
Funs.DB.SubmitChanges();
ShowNotify("成功移库" + num.ToString() + "个!", MessageBoxIcon.Success);
}
else
{
if (Grid1.SelectedRowIDArray.Count() > 0)
{
JArray mergedData = Grid1.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
string rowID = values.Value<string>("StockInId").ToString();
if (Grid1.SelectedRowIDArray.Contains(rowID))
{
var q = BLL.StockInService.GetStockInById(rowID);
if (q != null)
{
decimal amount = Funs.GetNewDecimalOrZero(values.Value<string>("Amount").ToString());
decimal needMoveAmount = Funs.GetNewDecimalOrZero(values.Value<string>("NeedMoveAmount").ToString());
if (needMoveAmount == 0)
{
ShowNotify("需移库量不能为0", MessageBoxIcon.Warning);
return;
}
if (needMoveAmount > amount)
{
ShowNotify("需移库量大于焊材库存量!", MessageBoxIcon.Warning);
return;
}
else if (needMoveAmount == amount)
{
q.UnitStoreId = drpUnitStoreIn.SelectedValue;
q.MoveInStoreId = drpUnitStoreOut.SelectedValue;
q.MoveInManId = CurrUser.UserId;
q.MoveInDate = DateTime.Now;
}
else
{
q.Amount = amount - needMoveAmount;
Model.Weld_StockIn newStockIn = new Model.Weld_StockIn();
newStockIn.StockInId = SQLHelper.GetNewID();
newStockIn.WeldId = q.WeldId;
newStockIn.Amount = needMoveAmount;
newStockIn.Materialman = this.CurrUser.UserId;
newStockIn.InStockDate = DateTime.Now;
newStockIn.ReviewDate = q.ReviewDate;
newStockIn.Warrantybook = q.Warrantybook;
newStockIn.Flag = "1";
newStockIn.HeartNo = q.HeartNo;
newStockIn.UnitStoreId = drpUnitStoreIn.SelectedValue;
newStockIn.MoveInStoreId = drpUnitStoreOut.SelectedValue;
newStockIn.MoveInManId = CurrUser.UserId;
newStockIn.MoveInDate = DateTime.Now;
Funs.DB.Weld_StockIn.InsertOnSubmit(newStockIn);
}
Funs.DB.SubmitChanges();
}
}
}
ShowNotify("成功移库" + Grid1.SelectedRowIDArray.Count().ToString() + "个!", MessageBoxIcon.Success);
}
else
{
Alert.ShowInTop("请选择要移出的焊材!", MessageBoxIcon.Warning);
return;
}
}
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
Alert.ShowInTop("未发现移出仓库入库信息!", MessageBoxIcon.Warning);
return;
}
}
private void BindGrid()
{
string strSql = @"SELECT StockIn.StockInId,StockIn.WeldId,Weld.ConsumablesCode,Weld.ConsumablesName,Weld.SteelFormat,StockIn.Warrantybook,StockIn.Amount,
case Weld.ConsumablesType when '1' then '' when '2' then '' when '3' then '' else '' end as WeldTypeName,Weld.WeldUnit
FROM dbo.Weld_StockIn AS StockIn
LEFT JOIN dbo.Base_Consumables AS Weld ON Weld.ConsumablesId=StockIn.WeldId
WHERE StockIn.Flag='1' ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (drpUnitStoreOut.SelectedValue != BLL.Const._Null)
{
strSql += " AND StockIn.UnitStoreId = @UnitStoreId";
listStr.Add(new SqlParameter("@UnitStoreId", drpUnitStoreOut.SelectedValue));
}
if (!string.IsNullOrEmpty(this.txtCode.Text.Trim()))
{
strSql += " AND Weld.ConsumablesCode LIKE @ConsumablesCode";
listStr.Add(new SqlParameter("@ConsumablesCode", "%" + this.txtCode.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtWarrantybook.Text.Trim()))
{
strSql += " AND StockIn.Warrantybook LIKE @Warrantybook";
listStr.Add(new SqlParameter("@Warrantybook", "%" + this.txtWarrantybook.Text.Trim() + "%"));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.DataSource = dt;
Grid1.DataBind();
}
protected void rdIsAll_SelectedIndexChanged(object sender, EventArgs e)
{
if (rdIsAll.SelectedValue == "0")
{
if (this.drpUnitStoreOut.SelectedValue == Const._Null)
{
Alert.ShowInTop("请选择要移出的仓库!", MessageBoxIcon.Warning);
return;
}
else
{
Grid1.Hidden = false;
BindGrid();
}
}
else
{
Grid1.Hidden = true;
}
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
BindGrid();
}
}
}