xinjiang/SGGL/BLL/HJGL/MaterialManage/HJGL_MaterialApplyService.cs

214 lines
7.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security;
using System.Text;
using System.Threading.Tasks;
namespace BLL.HJGL.MaterialManage
{
public class HJGL_MaterialApplyService
{
public static Model.SGGLDB db = Funs.DB;
/// <summary>
/// 根据焊条发放回收记录ID获取焊条发放回收记录信息
/// </summary>
/// <param name="electrodeRecoveryID">焊条发放回收记录ID</param>
/// <returns></returns>
public static Model.HJGL_Material_Apply getMaterialApply(string id)
{
Model.SGGLDB db = Funs.DB;
var electrodeRecovery = db.HJGL_Material_Apply.FirstOrDefault(e => e.ID == id);
return electrodeRecovery;
}
public static List<Model.HJGL_Material_Apply_Item> getMaterialApplyItem(string ApplyID)
{
Model.SGGLDB db = Funs.DB;
var res = db.HJGL_Material_Apply_Item.Where(e => e.ApplyID == ApplyID).ToList();
return res;
}
/// <summary>
/// 添加焊条发放回收记录信息
/// </summary>
/// <param name="electrodeRecovery"></param>
public static void AddMaterialApply(Model.HJGL_Material_Apply apply)
{
Model.SGGLDB db = Funs.DB;
db.HJGL_Material_Apply.InsertOnSubmit(apply);
db.SubmitChanges();
}
/// <summary>
/// 修改焊条发放回收记录
/// </summary>
/// <param name="electrodeRecovery"></param>
public static void UpdateMaterialApply(Model.HJGL_Material_Apply apply)
{
Model.SGGLDB db = Funs.DB;
Model.HJGL_Material_Apply newApply = db.HJGL_Material_Apply.FirstOrDefault(e => e.ID == apply.ID);
if (newApply != null)
{
if (!string.IsNullOrEmpty(apply.ApplyUnitId))
{
newApply.ApplyUnitId = apply.ApplyUnitId;
}
if (!string.IsNullOrEmpty(apply.ApplyName))
{
newApply.ApplyName = apply.ApplyName;
}
if (!string.IsNullOrEmpty(apply.ApplyDes))
{
newApply.ApplyDes = apply.ApplyDes;
}
if (!string.IsNullOrEmpty(apply.ApplyCode))
{
newApply.ApplyCode = apply.ApplyCode;
}
if (!string.IsNullOrEmpty(apply.ProjectId))
{
newApply.ProjectId = apply.ProjectId;
}
if (!string.IsNullOrEmpty(apply.State))
{
newApply.State = apply.State;
}
if (!string.IsNullOrEmpty(apply.CreateMan))
{
newApply.CreateMan = apply.CreateMan;
}
if ( !apply.CreateDate.HasValue)
{
newApply.CreateDate = apply.CreateDate;
}
db.SubmitChanges();
}
}
public static void UpdateMaterialApplyItem(List<Model.HJGL_Material_Apply_Item> items)
{
Model.SGGLDB db = Funs.DB;
var oldList = db.HJGL_Material_Apply_Item.Where(x => x.ApplyID == items[0].ApplyID).ToList();
//删除 数据库内该删除的 并且修改不该删除的
foreach (var olditem in oldList)
{
var hasFind = false;
foreach (var item in items)
{
if (item.ID == olditem.ID)
{
hasFind = true;
olditem.MaterialCode = item.MaterialCode;
olditem.LocNum = item.LocNum;
olditem.Des = item.Des;
olditem.Unit = item.Unit;
olditem.Amount_Design = item.Amount_Design;
olditem.Amount_Re = item.Amount_Re;
olditem.Amount_This = item.Amount_This;
olditem.Amount_Total = item.Amount_Total;
olditem.Size1 = item.Size1;
olditem.Size2 = item.Size2;
break;
}
}
if (!hasFind)
{
db.HJGL_Material_Apply_Item.DeleteOnSubmit(olditem);
}
}
foreach (var newitem in items)
{
var hasFind2 = false;
foreach (var olditem2 in oldList)
{
if (newitem.ID == olditem2.ID)
{
hasFind2 = true;
break;
}
}
if (!hasFind2)
{
db.HJGL_Material_Apply_Item.InsertOnSubmit(newitem);
}
}
db.SubmitChanges();
}
/// <summary>
/// 删除焊条发放回收记录
/// </summary>
/// <param name="electrodeRecoveryId"></param>
public static void DeleteElectrodeRecovery(string id)
{
Model.SGGLDB db = Funs.DB;
Model.HJGL_Material_Apply apply = db.HJGL_Material_Apply.FirstOrDefault(e => e.ID == id);
if (apply != null)
{
var item = db.HJGL_Material_Apply_Item.Where(e => e.ApplyID == id);
db.HJGL_Material_Apply_Item.DeleteAllOnSubmit(item);
var itemApprove = db.HJGL_Material_Apply_Approve.Where(e => e.MaterialApplyId == id);
db.HJGL_Material_Apply_Approve.DeleteAllOnSubmit(itemApprove);
db.HJGL_Material_Apply.DeleteOnSubmit(apply);
db.SubmitChanges();
}
}
public static void AddMaterialApplyApprove(Model.HJGL_Material_Apply_Approve approve)
{
Model.SGGLDB db = Funs.DB;
db.HJGL_Material_Apply_Approve.InsertOnSubmit(approve);
db.SubmitChanges();
}
public static List< Model.HJGL_Material_Apply_Approve> getMaterialApplyApproveList(string ApplyId)
{
Model.SGGLDB db = Funs.DB;
var res = db.HJGL_Material_Apply_Approve.Where(a => a.MaterialApplyId == ApplyId && a.ApproveDate != null).OrderBy(x=>x.ApproveDate).ToList();
return res;
}
public static Model.HJGL_Material_Apply_Approve getCurrMaterialApplyApprove(string ApplyId)
{
Model.SGGLDB db = Funs.DB;
var res = db.HJGL_Material_Apply_Approve.Where(a => a.MaterialApplyId == ApplyId && a.ApproveDate ==null).FirstOrDefault();
return res;
}
public static void UpdateMaterialApplyApprove(Model.HJGL_Material_Apply_Approve approve)
{
Model.SGGLDB db = Funs.DB;
var res = db.HJGL_Material_Apply_Approve.Where(a => a.MaterialApplyApproveId == approve.MaterialApplyApproveId).FirstOrDefault();
if (res != null)
{
if (approve.ApproveDate.HasValue)
res.ApproveDate = approve.ApproveDate;
if (!string.IsNullOrEmpty(approve.ApproveIdea))
res.ApproveIdea = approve.ApproveIdea;
if (!string.IsNullOrEmpty(approve.ApproveMan))
res.ApproveMan = approve.ApproveMan;
if (!string.IsNullOrEmpty(approve.ApproveType))
res.ApproveType = approve.ApproveType;
if (approve.CreateTime.HasValue)
res.CreateTime = approve.CreateTime;
}
db.SubmitChanges();
}
}
}