修改被删除的意外

This commit is contained in:
2025-09-03 17:26:56 +08:00
parent 326a616289
commit 69c381cf4e

View File

@@ -1,10 +1,12 @@
using AutoMapper; using AutoMapper;
using Microsoft.EntityFrameworkCore.ChangeTracking;
using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Newtonsoft.Json; using Newtonsoft.Json;
using Npoi.Mapper; using Npoi.Mapper;
using NPOI.SS.Formula.Functions;
using StackExchange.Redis; using StackExchange.Redis;
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
@@ -955,7 +957,15 @@ namespace WMS.Web.Domain.Services
var sourceBillNos = entity.ErpDetails.GroupBy(x => x.SourceBillNo).Select(x => x.Key).ToList(); var sourceBillNos = entity.ErpDetails.GroupBy(x => x.SourceBillNo).Select(x => x.Key).ToList();
var erp_InStockErpDetails = await sc_inStockRepositories.GetErpDetails(sourceBillNos); var erp_InStockErpDetails = await sc_inStockRepositories.GetErpDetails(sourceBillNos);
if (erpDetails.Count == 0)
{
for (int i = 0; i < entity.ErpDetails.Count; i++)
{
entity.SyncFail("失败,找不到数据,请检查采购订单是否反审核或是否有被删除", entity.ErpDetails[0].ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, SyncStatus.Fail);
}
}
else
{
foreach (var det in erpDetails) foreach (var det in erpDetails)
{ {
var erpDto = new ErpPushDto() var erpDto = new ErpPushDto()
@@ -991,7 +1001,7 @@ namespace WMS.Web.Domain.Services
else else
{ {
//下推金蝶 //下推金蝶
var res = await this.Push(erpDto, det, entity.BillNo, sc_erpService, sc_inStockRepositories,"pur"); var res = await this.Push(erpDto, det, entity.BillNo, sc_erpService, sc_inStockRepositories, "pur");
if (res.result.IsSuccess) if (res.result.IsSuccess)
entity.SyncSuccess(det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.erpBillNo); entity.SyncSuccess(det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.erpBillNo);
else else
@@ -1002,6 +1012,7 @@ namespace WMS.Web.Domain.Services
} }
}
//最好一条一条执行,否则执行失败 但是金蝶那边又同步成功 就会造成数据比价乱 //最好一条一条执行,否则执行失败 但是金蝶那边又同步成功 就会造成数据比价乱
var isSuccess = await sc_InStockRepositories.Update(entity, true); var isSuccess = await sc_InStockRepositories.Update(entity, true);
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
@@ -1045,7 +1056,15 @@ namespace WMS.Web.Domain.Services
var sourceBillNos = entity.ErpDetails.GroupBy(x => x.SourceBillNo).Select(x => x.Key).ToList(); var sourceBillNos = entity.ErpDetails.GroupBy(x => x.SourceBillNo).Select(x => x.Key).ToList();
var erp_InStockErpDetails = await sc_inStockRepositories.GetErpDetails(sourceBillNos); var erp_InStockErpDetails = await sc_inStockRepositories.GetErpDetails(sourceBillNos);
if (erpDetails.Count == 0)
{
for (int i = 0; i < entity.ErpDetails.Count; i++)
{
entity.SyncFail("失败,找不到数据,请检查生产汇报单是否反审核或是否有被删除", entity.ErpDetails[0].ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, SyncStatus.Fail);
}
}
else
{
foreach (var det in erpDetails) foreach (var det in erpDetails)
{ {
var erpDto = new ErpPushDto() var erpDto = new ErpPushDto()
@@ -1090,6 +1109,7 @@ namespace WMS.Web.Domain.Services
//记录金蝶入库单明细ID //记录金蝶入库单明细ID
det.RecodErpInStockDetailId(res.instockDetailId); det.RecodErpInStockDetailId(res.instockDetailId);
} }
}
} }