sjz
2025-09-02 5612526544b3532c5efc9c002d1c97b4af286bd1
MES.Service/service/BasicData/MesDeliveryNoteManager.cs
@@ -14,9 +14,7 @@
    {
        var erpDelivery = delivery.ErpDelivery;
        var mesDeliveryNote = GetMesDeliveryNote(erpDelivery);
        var mesDeliveryNoteDetails = GetMesDeliveryNoteDetails(
            delivery.ErpDeliveryData, erpDelivery.DeliveryNo,
            mesDeliveryNote.Status);
        var mesDeliveryNoteDetails = GetMesDeliveryNoteDetails(delivery.ErpDeliveryData, erpDelivery.DeliveryNo,mesDeliveryNote.Status);
        return UseTransaction(db =>
        {
@@ -25,16 +23,10 @@
                case "2":
                case "4":
                case "5":
                    return SaveOrUpdateData(db, mesDeliveryNote,
                        mesDeliveryNoteDetails)
                        ? 1
                        : 0;
                    return SaveOrUpdateData(db, mesDeliveryNote,mesDeliveryNoteDetails) ? 1 : 0;
                case "3":
                case "6":
                    return DeleteData(db, mesDeliveryNote,
                        mesDeliveryNoteDetails)
                        ? 1
                        : 0;
                    return DeleteData(db, mesDeliveryNote,mesDeliveryNoteDetails) ? 1 : 0;
                default:
                    throw new NotImplementedException(
                        $"type没有{erpDelivery.Type}这个类型");
@@ -44,35 +36,37 @@
    // 更新数据的方法
    private bool DeleteData(SqlSugarScope db, MesDeliveryNote mesDeliveryNote,
        List<MesDeliveryNoteDetails> mesDeliveryNoteDetails)
    private bool DeleteData(SqlSugarScope db, MesDeliveryNote mesDeliveryNote,List<MesDeliveryNoteDetails> mesDeliveryNoteDetails)
    {
        var decimals = mesDeliveryNoteDetails.Select(s => s.Id).ToArray();
        var update = base.DeleteById(mesDeliveryNote.Id);
        var insertOrUpdate = db.Deleteable<MesDeliveryNoteDetails>()
            .Where(s => s.DeliveryNo == mesDeliveryNote.DeliveryNo)
            .ExecuteCommand() > 0;
        var insertOrUpdate = db.Deleteable<MesDeliveryNoteDetails>().Where(s => s.DeliveryNo == mesDeliveryNote.DeliveryNo).ExecuteCommand() > 0;
        if (update && insertOrUpdate) return true;
        if (update && insertOrUpdate)
        {
            return true;
        }
        throw new NotImplementedException("删除失败");
    }
    // 插入或更新数据的方法
    private bool SaveOrUpdateData(SqlSugarScope db,
        MesDeliveryNote mesDeliveryNote,
        List<MesDeliveryNoteDetails> mesDeliveryNoteDetails)
    private bool SaveOrUpdateData(SqlSugarScope db,MesDeliveryNote mesDeliveryNote,List<MesDeliveryNoteDetails> mesDeliveryNoteDetails)
    {
        if (mesDeliveryNote.Id != null) base.DeleteById(mesDeliveryNote.Id);
        if (mesDeliveryNote.Id != null)
        {
            base.DeleteById(mesDeliveryNote.Id);
        }
        if (mesDeliveryNoteDetails.Count > 0)
            db.Deleteable<MesDeliveryNoteDetails>()
                .Where(s => s.DeliveryNo == mesDeliveryNote.DeliveryNo)
                .ExecuteCommand();
        {
            db.Deleteable<MesDeliveryNoteDetails>().Where(s => s.DeliveryNo == mesDeliveryNote.DeliveryNo).ExecuteCommand();
        }
        var orUpdate = base.Insert(mesDeliveryNote);
        var baOrUpdate =
            mesDeliveryNoteManager.InsertRange(mesDeliveryNoteDetails);
        if (orUpdate && baOrUpdate) return true;
        var baOrUpdate = mesDeliveryNoteManager.InsertRange(mesDeliveryNoteDetails);
        if (orUpdate && baOrUpdate)
        {
            return true;
        }
        throw new NotImplementedException("插入或更新失败");
    }