xwt
2 小时以前 c8a9ab01f01ffdf522a5f174d684aff7722a9679
StandardInterface/MES.Service/service/BasicData/Sales/SalesReturnNoticeManager.cs
@@ -47,13 +47,37 @@
    private bool UpdateData(SqlSugarScope db, SalesReturnNotice mesSalesReturn,
        List<SalesReturnNoticeDetail> mesSalesReturnDatas)
    {
        var decimals = mesSalesReturnDatas.Select(s => s.Id).ToArray();
        var update = base.DeleteById(mesSalesReturn.Id);
        var insertOrUpdate = db
            .Deleteable<SalesReturnNoticeDetail>().In(decimals)
            .ExecuteCommand() > 0;
       // var decimals = mesSalesReturnDatas.Select(s => s.Id).ToArray();
        var decimals = mesSalesReturnDatas
             ?.Where(x => x.Id.HasValue)
             .Select(x => x.Id.Value)
             .ToArray() ?? new decimal[0];
        //扫码不允许删除
        var hasMaterialOut = db.Queryable<MesInvItemIns>()
                           .Any(x => x.CbillNo == mesSalesReturn.BillNo);
        if (update && insertOrUpdate) return true;
        if (hasMaterialOut)
        {
            throw new Exception($"MES有领料记录,单号:{mesSalesReturn.BillNo},不能删除!");
        }
        var update = true;
        if (mesSalesReturn != null)
        {
            if (mesSalesReturn.Id != null)
            {
                update = base.DeleteById(mesSalesReturn.Id);
            }
        }
        var insertOrUpdate = true;
        if (decimals != null || decimals.Length > 0)
        {
            insertOrUpdate = db.Deleteable<SalesReturnNoticeDetail>().In(decimals).ExecuteCommand() > 0;
        }
        if (update && insertOrUpdate)
        {
            return true;
        }
        throw new NotImplementedException("更新失败");
    }
@@ -107,6 +131,7 @@
            BillType = erpDto.FBillTypeID, // 单据类型
            Currency = erpDto.FSettleCurrld, // 结算币别
            SalesDept = erpDto.FSaleDeptId, //销售部门
            SalesOrg = erpDto.FSaleOrgId, //销售组织
            ReturnCustomer = erpDto.FRetcustId, // 退货客户
            ReturnReason = erpDto.FRetcustReason, // 退货原因
            DeliveryLocation = erpDto.FHeadLocId, // 交货地点