using Infrastructure.Attribute; using SqlSugar; using System; using ZR.Model; using ZR.Model.MES.wms; using ZR.Model.MES.wms.Dto; using ZR.Repository; using ZR.Service.mes.wms.IService; namespace ZR.Service.mes.wms { /// /// 物料记录表Service业务层处理 /// [AppService(ServiceType = typeof(IWmMaterialService), ServiceLifetime = LifeTime.Transient)] public class WmMaterialService : BaseService, IWmMaterialService { /// /// 查询物料记录表列表 /// /// /// public PagedInfo GetList(WmMaterialQueryDto parm) { var predicate = Expressionable.Create() .AndIF(parm.Partnumber != null, it => it.Partnumber.Contains(parm.Partnumber)) .AndIF(parm.U8InventoryCode != null, it => it.U8InventoryCode.Contains(parm.U8InventoryCode)) .AndIF(parm.BlankNum != null, it => it.BlankNum.Contains(parm.BlankNum)) .AndIF(parm.ProductName != null, it => it.ProductName.Contains(parm.ProductName)) .AndIF(parm.Color != null, it => it.Color.Contains(parm.Color)) .AndIF(parm.Specification != null, it => it.Specification.Contains(parm.Specification)) .AndIF(parm.Description != null, it => it.Description.Contains(parm.Description)) .AndIF(!string.IsNullOrEmpty(parm.Search1), it => it.Search1.Contains(parm.Search1) || it.Search1.Contains(parm.Search2)) .AndIF(parm.Type > 0, it => it.Type == parm.Type) .AndIF(parm.Status > -1, it => it.Status == parm.Status); var response = Queryable() .Where(predicate.ToExpression()).OrderByDescending(it => it.CreatedTime) .ToPage(parm); return response; } /// /// 获取详情 /// /// /// public WmMaterial GetInfo(string Id) { var response = Queryable() .Where(x => x.Id == Id) .First(); return response; } /// /// 添加物料记录表 /// /// /// public WmMaterial AddWmMaterial(WmMaterial model) { model.Id = SnowFlakeSingle.Instance.NextId().ToString(); return Context.Insertable(model).ExecuteReturnEntity(); } /// /// 修改物料记录表 /// /// /// public int UpdateWmMaterial(WmMaterial model) { //var response = Update(w => w.Id == model.Id, it => new WmMaterial() //{ // Partnumber = model.Partnumber, // U8InventoryCode = model.U8InventoryCode, // BlankNum = model.BlankNum, // Unit = model.Unit, // ProductName = model.ProductName, // Color = model.Color, // Specification = model.Specification, // Description = model.Description, // Version = model.Version, // Remarks = model.Remarks, // Sort = model.Sort, // Search1 = model.Search1, // Search2 = model.Search2, // Status = model.Status, // CreatedBy = model.CreatedBy, // CreatedTime = model.CreatedTime, // UpdatedBy = model.UpdatedBy, // UpdatedTime = model.UpdatedTime, //}); //return response; return Update(model, true); } /// /// 通过外箱标签解析后得到的批次号,获取货物仓库内的货物信息 /// /// /// /// public WmGoodsNowProduction GetInfoByPatchCode(string patchCode) { return Context.Queryable() .Where(it => it.PackageCodeClient == patchCode).First(); } /// /// excel 插入或者更新 /// /// /// public (int, int) ExcelADD(List materials) { if (materials == null || materials.Count == 0) { return (-1, -1); } var x = Context.Storageable(materials) .WhereColumns(it => it.Id) .ToStorage(); int insert = x.AsInsertable.ExecuteCommand(); //执行插入 int update = x.AsUpdateable.ExecuteCommand(); //执行更新  return (insert, update); } } }