using Masuit.Tools; using MES.Service.DB; using MES.Service.Dto.webApi.SRM; using MES.Service.Modes.SRM; using SqlSugar; public class MesDeliveryNoteBarcodeManager : Repository { public dynamic Save(PrintBarcode barcode) { var mesDeliveryBarcode= GetMesDeliveryBarcode(barcode); return UseTransaction(db => { return SaveOrUpdateData(db, mesDeliveryBarcode) ? 1 : 0; }) > 0; } public dynamic SaveList(List barcode) { var result = barcode.Select(Save).ToList(); return result.All(b => b); } public dynamic DeleteBarcode(ErpBarcode barcode) { return UseTransaction(db => { return DeleteData(db, barcode) ? 1 : 0; }) > 0; } public dynamic DeleteBarcodeList(List barcode) { var result = barcode.Select(DeleteBarcode).ToList(); return result.All(b => b); } public dynamic DeleteByNo(ErpDelivery delivery) { return UseTransaction(db => { return DeleteDataByShd(db, delivery) ? 1 : 0; }) > 0; } public dynamic DeleteListByNo(List delivery) { var result = delivery.Select(DeleteByNo).ToList(); return result.All(b => b); } public dynamic DeleteByItem(DeliveryItem dt) { return UseTransaction(db => { return DeleteDataByItem(db, dt) ? 1 : 0; }) > 0; } public dynamic DeleteListByItem(List dts) { var result = dts.Select(DeleteByItem).ToList(); return result.All(b => b); } // 删除数据的方法 private bool DeleteDataByItem(SqlSugarScope db, DeliveryItem dt) { var del = db.Deleteable().Where(s => s.DeliveryNo == dt.DeliveryNo && s.ProductCode==dt.ItemNo).ExecuteCommand() > 0; if (del) { return true; } throw new NotImplementedException("删除失败"); } // 删除数据的方法 private bool DeleteData(SqlSugarScope db, ErpBarcode barcode) { var del = db.Deleteable().Where(s => s.SmallBarcode == barcode.SmallBarcode).ExecuteCommand() > 0; if (del) { return true; } throw new NotImplementedException("删除失败"); } // 删除数据的方法 private bool DeleteDataByShd(SqlSugarScope db, ErpDelivery delivery) { var del = db.Deleteable(). Where(s => s.DeliveryNo == delivery.DeliveryNo) .ExecuteCommand() > 0; if (del) { return true; } throw new NotImplementedException("删除失败"); } // 插入或更新数据的方法 private bool SaveOrUpdateData(SqlSugarScope db, MesDeliveryNoteBarcode mesDeliveryBarcode) { if (mesDeliveryBarcode.Id != null) { base.DeleteById(mesDeliveryBarcode.Id); } var orUpdate = base.Insert(mesDeliveryBarcode); if (orUpdate) { return true; } throw new NotImplementedException("插入或更新失败"); } public MesDeliveryNoteBarcode GetMesDeliveryBarcode(PrintBarcode barcode) { var mesDeliveryBarcode = new MesDeliveryNoteBarcode(); var single = base.GetSingle(it => it.SmallBarcode == barcode.SmallBarcode); if (single != null) { mesDeliveryBarcode.Id = single.Id; } mesDeliveryBarcode.DeliveryNo = barcode.DeliveryNo; mesDeliveryBarcode.ProductCode = barcode.ProductCode; mesDeliveryBarcode.LineNo = barcode.LineNo; mesDeliveryBarcode.SmallBarcode = barcode.SmallBarcode; mesDeliveryBarcode.IncludeQty = Convert.ToDecimal(barcode.IncludeQty); mesDeliveryBarcode.CreateDate = DateTime.Now; mesDeliveryBarcode.OuterBarcode = barcode.OuterBarcode; mesDeliveryBarcode.BarcodeType = barcode.BarcodeType; mesDeliveryBarcode.IsMegre = Convert.ToDecimal(barcode.IsMerge); return mesDeliveryBarcode; } }