using Masuit.Tools;
|
using MES.Service.DB;
|
using MES.Service.Dto.webApi.SRM;
|
using MES.Service.Modes.SRM;
|
using SqlSugar;
|
|
public class MesDeliveryNoteBarcodeManager : Repository<MesDeliveryNoteBarcode>
|
{
|
|
public dynamic Save(PrintBarcode barcode)
|
{
|
var mesDeliveryBarcode= GetMesDeliveryBarcode(barcode);
|
|
return UseTransaction(db =>
|
{
|
return SaveOrUpdateData(db, mesDeliveryBarcode) ? 1 : 0;
|
}) > 0;
|
}
|
|
public dynamic SaveList(List<PrintBarcode> 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<ErpBarcode> 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<ErpDelivery> 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<DeliveryItem> dts)
|
{
|
var result = dts.Select(DeleteByItem).ToList();
|
return result.All(b => b);
|
}
|
|
// 删除数据的方法
|
private bool DeleteDataByItem(SqlSugarScope db, DeliveryItem dt)
|
{
|
var del = db.Deleteable<MesDeliveryNoteBarcode>().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<MesDeliveryNoteBarcode>().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<MesDeliveryNoteBarcode>().
|
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;
|
}
|
|
}
|