shgx_tz_mom/ZR.Service/mes/wms/WmPackageLclService.cs

108 lines
4.0 KiB
C#

using Infrastructure.Attribute;
using SqlSugar;
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
{
/// <summary>
/// 拼箱/拆箱待打标签记录表Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IWmPackageLclService), ServiceLifetime = LifeTime.Transient)]
public class WmPackageLclService : BaseService<WmPackageLcl>, IWmPackageLclService
{
/// <summary>
/// 查询拼箱/拆箱待打标签记录表列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<WmPackageLclDto> GetList(WmPackageLclQueryDto parm)
{
var predicate = Expressionable.Create<WmPackageLcl>()
.AndIF(!string.IsNullOrEmpty(parm.Partnumber), it => it.Partnumber.Contains(parm.Partnumber))
.AndIF(!string.IsNullOrEmpty(parm.LocationCode), it => it.Partnumber.Contains(parm.LocationCode))
.AndIF(!string.IsNullOrEmpty(parm.PackageCode), it => it.Partnumber.Contains(parm.PackageCode))
.AndIF(parm.Status > -1, it => it.Status == parm.Status)
.AndIF(parm.Type > 0, it => it.Type == parm.Type)
;
var response = Queryable()
.Where(predicate.ToExpression())
.OrderByDescending(it => it.CreatedTime)
.ToPage<WmPackageLcl, WmPackageLclDto>(parm);
if (response.Result.Count > 0)
{
foreach (WmPackageLclDto item in response.Result)
{
WmMaterial material = Context.Queryable<WmMaterial>()
.Where(it => it.Partnumber == item.Partnumber)
.First();
if (material == null)
{
item.Description = "此零件号不在物料清单内!";
continue;
}
item.Description = !string.IsNullOrEmpty(material.Description) ? material.Description : material.ProductName;
}
}
return response;
}
/// <summary>
/// 获取详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public WmPackageLcl GetInfo(string Id)
{
var response = Queryable()
.Where(x => x.Id == Id)
.First();
return response;
}
/// <summary>
/// 添加拼箱/拆箱待打标签记录表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public WmPackageLcl AddWmPackageLcl(WmPackageLcl model)
{
model.Id = SnowFlakeSingle.Instance.NextId().ToString();
model.Remark = "手动添加";
return Context.Insertable(model).ExecuteReturnEntity();
}
/// <summary>
/// 修改拼箱/拆箱待打标签记录表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int UpdateWmPackageLcl(WmPackageLcl model)
{
//var response = Update(w => w.Id == model.Id, it => new WmPackageLcl()
//{
// Partnumber = model.Partnumber,
// PackageCode = model.PackageCode,
// SerialNumber = model.SerialNumber,
// LocationCode = model.LocationCode,
// GoodsNum = model.GoodsNum,
// Team = model.Team,
// Status = model.Status,
// CreatedBy = model.CreatedBy,
// CreatedTime = model.CreatedTime,
// UpdatedBy = model.UpdatedBy,
// UpdatedTime = model.UpdatedTime,
//});
//return response;
model.Remark = "手动修改";
return Update(model, true);
}
}
}