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

202 lines
9.0 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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();
}
}
}