This commit is contained in:
2026-03-20 19:34:45 +08:00
parent 327b94c42b
commit dc8a8ad193
14 changed files with 1650 additions and 122 deletions
@@ -0,0 +1,131 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BLL
{
public class MaterialInAndOutRecordService
{
/// <summary>
/// 根据主键获取物资进出记录
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public static Model.MaterialInAndOutRecord GetMaterialInAndOutRecordById(string id)
{
return Funs.DB.MaterialInAndOutRecord.FirstOrDefault(e => e.Id == id);
}
/// <summary>
/// 添加物资进出记录
/// </summary>
/// <param name="GeneralMaterialInAndOutRecord"></param>
public static void AddMaterialInAndOutRecord(Model.MaterialInAndOutRecord materialInAndOutRecord)
{
Model.SGGLDB db = Funs.DB;
Model.MaterialInAndOutRecord newMaterialInAndOutRecord =
new Model.MaterialInAndOutRecord
{
Id = materialInAndOutRecord.Id,
ProjectId = materialInAndOutRecord.ProjectId,
GoodsCategoryId = materialInAndOutRecord.GoodsCategoryId,
GoodsCategoryName = materialInAndOutRecord.GoodsCategoryName,
MaterialModel = materialInAndOutRecord.MaterialModel,
InOutDate = materialInAndOutRecord.InOutDate,
UnitId = materialInAndOutRecord.UnitId,
InOrOut = materialInAndOutRecord.InOrOut,
Number = materialInAndOutRecord.Number,
MaterialUnitId = materialInAndOutRecord.MaterialUnitId,
Remark = materialInAndOutRecord.Remark,
CompileMan = materialInAndOutRecord.CompileMan,
CompileDate = materialInAndOutRecord.CompileDate
};
db.MaterialInAndOutRecord.InsertOnSubmit(newMaterialInAndOutRecord);
db.SubmitChanges();
}
/// <summary>
/// 修改物资进出记录
/// </summary>
/// <param name="GeneralMaterialInAndOutRecord"></param>
public static void UpdateMaterialInAndOutRecord(Model.MaterialInAndOutRecord materialInAndOutRecord)
{
Model.SGGLDB db = Funs.DB;
Model.MaterialInAndOutRecord newMaterialInAndOutRecord =
db.MaterialInAndOutRecord.FirstOrDefault(e => e.Id == materialInAndOutRecord.Id);
if (newMaterialInAndOutRecord != null)
{
newMaterialInAndOutRecord.GoodsCategoryId = materialInAndOutRecord.GoodsCategoryId;
newMaterialInAndOutRecord.GoodsCategoryName = materialInAndOutRecord.GoodsCategoryName;
newMaterialInAndOutRecord.MaterialModel = materialInAndOutRecord.MaterialModel;
newMaterialInAndOutRecord.InOutDate = materialInAndOutRecord.InOutDate;
newMaterialInAndOutRecord.UnitId = materialInAndOutRecord.UnitId;
newMaterialInAndOutRecord.InOrOut = materialInAndOutRecord.InOrOut;
newMaterialInAndOutRecord.Number = materialInAndOutRecord.Number;
newMaterialInAndOutRecord.MaterialUnitId = materialInAndOutRecord.MaterialUnitId;
newMaterialInAndOutRecord.Remark = materialInAndOutRecord.Remark;
newMaterialInAndOutRecord.CompileMan = materialInAndOutRecord.CompileMan;
newMaterialInAndOutRecord.CompileDate = materialInAndOutRecord.CompileDate;
db.SubmitChanges();
}
}
/// <summary>
/// 根据主键删除物资进出记录
/// </summary>
/// <param name="Id"></param>
public static void DeleteMaterialInAndOutRecordById(string id)
{
Model.SGGLDB db = Funs.DB;
Model.MaterialInAndOutRecord materialInAndOutRecord =
db.MaterialInAndOutRecord.FirstOrDefault(e => e.Id == id);
if (materialInAndOutRecord != null)
{
CodeRecordsService.DeleteCodeRecordsByDataId(id); //删除编号
CommonService.DeleteAttachFileById(id); //删除附件
db.MaterialInAndOutRecord.DeleteOnSubmit(materialInAndOutRecord);
db.SubmitChanges();
}
}
/// <summary>
/// 取物资进出记录列表
/// </summary>
/// <returns></returns>
public static IEnumerable<dynamic> GetMaterialInAndOutRecordList()
{
var result = (from record in Funs.DB.MaterialInAndOutRecord
join materialUnit in Funs.DB.Base_MaterialUnit on record.MaterialUnitId equals materialUnit
.MaterialUnitId into MaterialUnitGroup
from materialUnit in MaterialUnitGroup.DefaultIfEmpty()
join unit in Funs.DB.Base_Unit on record.UnitId equals unit.UnitId into UnitGroup
from unit in UnitGroup.DefaultIfEmpty()
join users in Funs.DB.Sys_User on record.CompileMan equals users.UserId into UsersGroup
from users in UsersGroup.DefaultIfEmpty()
select new
{
record.Id,
record.ProjectId,
record.GoodsCategoryId,
record.GoodsCategoryName,
record.MaterialModel,
record.InOutDate,
record.InOrOut,
record.Number,
record.Remark,
record.UnitId,
record.CompileMan,
record.CompileDate,
record.MaterialUnitId,
MaterialUnitName = materialUnit != null ? materialUnit.MaterialUnitName : null,
UnitName = unit != null ? unit.UnitName : null,
CompileManName = users != null ? users.UserName : null
}
).OrderByDescending(x => x.InOutDate).ToList();
return result;
}
}
}