251 lines
10 KiB
C#
251 lines
10 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace BLL
|
|
{
|
|
/// <summary>
|
|
/// 焊材入库录入
|
|
/// </summary>
|
|
public static class StockInService
|
|
{
|
|
/// <summary>
|
|
/// 根据主键获取焊材入库
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
public static Model.Weld_StockIn GetStockInById(string id)
|
|
{
|
|
return Funs.DB.Weld_StockIn.FirstOrDefault(e => e.StockInId == id);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 添加焊材入库
|
|
/// </summary>
|
|
/// <param name="stockIn"></param>
|
|
public static void AddStockIn(Model.Weld_StockIn stockIn)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Weld_StockIn newStockIn = new Model.Weld_StockIn();
|
|
newStockIn.StockInId = stockIn.StockInId;
|
|
newStockIn.ProjectId = stockIn.ProjectId;
|
|
newStockIn.WeldId = stockIn.WeldId;
|
|
newStockIn.Amount = stockIn.Amount;
|
|
newStockIn.Weight = stockIn.Weight;
|
|
newStockIn.RecycleAmount = stockIn.RecycleAmount;
|
|
newStockIn.RecycleWeight = stockIn.RecycleWeight;
|
|
newStockIn.Materialman = stockIn.Materialman;
|
|
newStockIn.InStockDate = stockIn.InStockDate;
|
|
newStockIn.IsReview = stockIn.IsReview;
|
|
newStockIn.ReviewMan = stockIn.ReviewMan;
|
|
newStockIn.ReviewDate = stockIn.ReviewDate;
|
|
newStockIn.ReviewResult = stockIn.ReviewResult;
|
|
newStockIn.AttachUrl = stockIn.AttachUrl;
|
|
newStockIn.Warrantybook = stockIn.Warrantybook;
|
|
newStockIn.HeartNo = stockIn.HeartNo;
|
|
newStockIn.SupplierId = stockIn.SupplierId;
|
|
newStockIn.UnitStoreId = stockIn.UnitStoreId;
|
|
newStockIn.Flag = stockIn.Flag;
|
|
newStockIn.UsingAmount = stockIn.UsingAmount;
|
|
newStockIn.Number = stockIn.Number;
|
|
newStockIn.MaterialCertificateNumber = stockIn.MaterialCertificateNumber;
|
|
|
|
db.Weld_StockIn.InsertOnSubmit(newStockIn);
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改焊材入库
|
|
/// </summary>
|
|
/// <param name="stockIn"></param>
|
|
public static void UpdateStockIn(Model.Weld_StockIn stockIn)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Weld_StockIn newStockIn = db.Weld_StockIn.FirstOrDefault(e => e.StockInId == stockIn.StockInId);
|
|
if (newStockIn != null)
|
|
{
|
|
newStockIn.WeldId = stockIn.WeldId;
|
|
newStockIn.Amount = stockIn.Amount;
|
|
newStockIn.Weight = stockIn.Weight;
|
|
newStockIn.RecycleAmount = stockIn.RecycleAmount;
|
|
newStockIn.RecycleWeight = stockIn.RecycleWeight;
|
|
//newStockIn.Materialman = stockIn.Materialman;
|
|
//newStockIn.InStockDate = stockIn.InStockDate;
|
|
newStockIn.IsReview = stockIn.IsReview;
|
|
//newStockIn.ReviewMan = stockIn.ReviewMan;
|
|
newStockIn.ReviewDate = stockIn.ReviewDate;
|
|
//newStockIn.ReviewResult = stockIn.ReviewResult;
|
|
newStockIn.AttachUrl = stockIn.AttachUrl;
|
|
//newStockIn.UsingAmount = stockIn.UsingAmount;
|
|
newStockIn.Warrantybook = stockIn.Warrantybook;
|
|
newStockIn.HeartNo = stockIn.HeartNo;
|
|
newStockIn.SupplierId = stockIn.SupplierId;
|
|
newStockIn.UnitStoreId = stockIn.UnitStoreId;
|
|
newStockIn.MaterialCertificateNumber = stockIn.MaterialCertificateNumber;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
public static void UpdateStockIn1(Model.Weld_StockIn stockIn)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Weld_StockIn newStockIn = db.Weld_StockIn.FirstOrDefault(e => e.StockInId == stockIn.StockInId);
|
|
if (newStockIn != null)
|
|
{
|
|
newStockIn.WeldId = stockIn.WeldId;
|
|
newStockIn.IsReview = stockIn.IsReview;
|
|
newStockIn.ReviewDate = stockIn.ReviewDate;
|
|
newStockIn.AttachUrl = stockIn.AttachUrl;
|
|
newStockIn.Warrantybook = stockIn.Warrantybook;
|
|
newStockIn.HeartNo = stockIn.HeartNo;
|
|
newStockIn.SupplierId = stockIn.SupplierId;
|
|
newStockIn.UnitStoreId = stockIn.UnitStoreId;
|
|
newStockIn.MaterialCertificateNumber = stockIn.MaterialCertificateNumber;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更新附件
|
|
/// </summary>
|
|
/// <param name="stockInId"></param>
|
|
/// <param name="attUrl"></param>
|
|
public static void UpdateAttachFile( string stockInId,string attUrl)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Weld_StockIn newStockIn = db.Weld_StockIn.FirstOrDefault(e => e.StockInId == stockInId);
|
|
if (newStockIn != null)
|
|
{
|
|
newStockIn.AttachUrl = attUrl;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更新焊材入库复验
|
|
/// </summary>
|
|
/// <param name="stockIn"></param>
|
|
public static void UpdateStockInCheck(Model.Weld_StockIn stockIn)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Weld_StockIn newStockIn = db.Weld_StockIn.FirstOrDefault(e => e.StockInId == stockIn.StockInId);
|
|
if (newStockIn != null)
|
|
{
|
|
newStockIn.ReviewMan = stockIn.ReviewMan;
|
|
newStockIn.ReviewDate = stockIn.ReviewDate;
|
|
newStockIn.ReviewResult = stockIn.ReviewResult;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更新焊材库存领用数量
|
|
/// </summary>
|
|
/// <param name="stockInId"></param>
|
|
/// <param name="oneUsedAmount"></param>
|
|
/// <param name="twoAmount"></param>
|
|
public static void UpdateStockInUsingAmount(string stockInId,decimal? oneUsedAmount,decimal? twoAmount)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Weld_StockIn newStockIn = db.Weld_StockIn.FirstOrDefault(e => e.StockInId == stockInId);
|
|
if (newStockIn != null)
|
|
{
|
|
decimal? usingAmount = newStockIn.UsingAmount.HasValue ? newStockIn.UsingAmount : 0;
|
|
decimal? recycleAmount = newStockIn.RecycleAmount.HasValue ? newStockIn.RecycleAmount : 0;
|
|
newStockIn.UsingAmount = usingAmount + oneUsedAmount;
|
|
newStockIn.RecycleAmount = recycleAmount - twoAmount;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更新库存数量(退回)
|
|
/// </summary>
|
|
/// <param name="stockInId">入库ID</param>
|
|
/// <param name="recycleAmount">退回数量</param>
|
|
public static void UpdateStockInAmount(string stockInId, decimal recycleAmount)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Weld_StockIn newStockIn = db.Weld_StockIn.FirstOrDefault(e => e.StockInId == stockInId);
|
|
if (newStockIn != null)
|
|
{
|
|
//var weld = BLL.WeldInfoService.GetWeldInfoById(newStockIn.WeldId);
|
|
//var type = BLL.WeldTypeService.GetWeldTypeById(weld.WeldTypeId);
|
|
|
|
//if (usingAmount >= recycleAmount)
|
|
//{
|
|
// newStockIn.UsingAmount = usingAmount - recycleAmount;
|
|
//}
|
|
//else
|
|
//{
|
|
// newStockIn.UsingAmount = 0;
|
|
//}
|
|
|
|
decimal? rec = newStockIn.RecycleAmount.HasValue ? newStockIn.RecycleAmount : 0;
|
|
newStockIn.RecycleAmount = rec + recycleAmount;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
public static void UpdateStockInAmount(string stockInId, decimal oldRecyclAmount, decimal newRecycleAmount)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Weld_StockIn newStockIn = db.Weld_StockIn.FirstOrDefault(e => e.StockInId == stockInId);
|
|
if (newStockIn != null)
|
|
{
|
|
decimal? rec = newStockIn.RecycleAmount.HasValue ? newStockIn.RecycleAmount : 0;
|
|
newStockIn.RecycleAmount = rec - oldRecyclAmount + newRecycleAmount;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据主键删除焊材入库
|
|
/// </summary>
|
|
/// <param name="stockInId"></param>
|
|
public static void DeleteStockInById(string stockInId)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Weld_StockIn stockIn = db.Weld_StockIn.FirstOrDefault(e => e.StockInId == stockInId);
|
|
if (stockIn != null)
|
|
{
|
|
db.Weld_StockIn.DeleteOnSubmit(stockIn);
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据材料ID和流水号获取焊材信息
|
|
/// </summary>
|
|
/// <param name="weldId"></param>
|
|
/// <param name="number"></param>
|
|
/// <returns></returns>
|
|
//public static Model.Weld_StockIn GetStockInByWeldIdAndNum(string weldId, string number)
|
|
//{
|
|
// return db.Weld_StockIn.FirstOrDefault(e => e.WeldId == weldId && e.Number == number);
|
|
//}
|
|
|
|
|
|
/// <summary>
|
|
/// 根据焊材Id获取入库列表
|
|
/// </summary>
|
|
/// <param name="weldId"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.Weld_StockIn> GetStockInListByWeldId(string weldId)
|
|
{
|
|
return (from x in Funs.DB.Weld_StockIn where x.WeldId == weldId select x).ToList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据焊材ID获取焊材入库数量
|
|
/// </summary>
|
|
/// <param name="weldId"></param>
|
|
/// <returns></returns>
|
|
public static int GetStockInByWeldId(string weldId)
|
|
{
|
|
return (from x in Funs.DB.Weld_StockIn where x.WeldId == weldId select x).Count();
|
|
}
|
|
}
|
|
}
|