using Infrastructure.Attribute; using Infrastructure.Extensions; using SqlSugar; using System; using System.Linq; using ZR.Model; using ZR.Model.Business; using ZR.Model.Dto; using ZR.Repository; using ZR.Service.Business.IBusinessService; using ZR.Service.System.IService; namespace ZR.Service.Business { /// /// MES成品入库单主表(含产品信息及标签打印状态)Service业务层处理 /// [AppService(ServiceType = typeof(IProFinishedProductReceiptService), ServiceLifetime = LifeTime.Transient)] public class ProFinishedProductReceiptService : BaseService, IProFinishedProductReceiptService { /// /// 查询MES成品入库单主表(含产品信息及标签打印状态)列表 /// /// /// public PagedInfo GetList(ProFinishedProductReceiptQueryDto parm) { var predicate = Expressionable.Create() .AndIF(!string.IsNullOrEmpty(parm.ReceiptType), r => r.ReceiptType.Contains(parm.ReceiptType)) .AndIF(!string.IsNullOrEmpty(parm.Status), r => r.Status.Contains(parm.Status)) .AndIF(parm.StartTime != null, r => r.CreatedTime >= parm.StartTime) .AndIF(parm.EndTime != null, r => r.CreatedTime <= parm.EndTime); var response = Queryable() .Where(predicate.ToExpression()) .ToPage(parm); return response; } /// /// 获取详情 /// /// /// public ProFinishedProductReceipt GetInfo(string ReceiptNo) { var response = Queryable() .Where(x => x.ReceiptNo == ReceiptNo) .First(); return response; } /// /// 添加MES成品入库单主表(含产品信息及标签打印状态) /// /// /// public ProFinishedProductReceipt AddProFinishedProductReceipt(ProFinishedProductReceipt model) { ProFinishedProductReceiptLogService _receiptLogService = new (); try { model.CreatedTime = DateTime.Now; int result = Context.Insertable(model).ExecuteCommand(); _receiptLogService.AddProFinishedProductReceiptLog( new ProFinishedProductReceiptLog { ReceiptNo = model.ReceiptNo, OperatedBy = "系统", OperatedTime = DateTime.Now, OperationType = "CREATE", OperationContent = result > 0 ? "入库单创建成功": "入库单创建失败", OperationResult = result > 0 ? "SUCCESS": "FAIL", Remark = "" }); return model; } catch (Exception ex) { _receiptLogService.AddProFinishedProductReceiptLog( new ProFinishedProductReceiptLog { ReceiptNo = model.ReceiptNo, OperatedBy = "", OperatedTime = DateTime.Now, OperationType = "CREATE", OperationContent = "入库单创建失败", OperationResult = "FAIL", Remark = "" }); throw new Exception($"添加成品入库单失败:{ex.Message}", ex); } } /// /// 修改MES成品入库单主表(含产品信息及标签打印状态) /// /// /// public int UpdateProFinishedProductReceipt(ProFinishedProductReceipt model) { //var response = Update(w => w.ReceiptNo == model.ReceiptNo, it => new ProFinishedProductReceipt() //{ // ReceiptDate = model.ReceiptDate, // SiteNo = model.SiteNo, // WorkOrder = model.WorkOrder, // WarehouseCode = model.WarehouseCode, // ReceiptType = model.ReceiptType, // Status = model.Status, // PartNumber = model.PartNumber, // Description = model.Description, // Color = model.Color, // Specification = model.Specification, // ProductionLine = model.ProductionLine, // Team = model.Team, // ShiftNo = model.ShiftNo, // LabelFrom = model.LabelFrom, // ProductionTime = model.ProductionTime, // BatchCode = model.BatchCode, // Unit = model.Unit, // PackageCode = model.PackageCode, // PackageCount = model.PackageCount, // PackageNum = model.PackageNum, // LabelCode = model.LabelCode, // LabelPrintStatus = model.LabelPrintStatus, // StorageLocation = model.StorageLocation, // QcStatus = model.QcStatus, // CreatedBy = model.CreatedBy, // CreatedTime = model.CreatedTime, // UpdatedBy = model.UpdatedBy, // UpdatedTime = model.UpdatedTime, // ApprovedBy = model.ApprovedBy, // ApprovedTime = model.ApprovedTime, // Remark = model.Remark, //}); //return response; return Update(model, true); } } }