优化
This commit is contained in:
@@ -854,53 +854,52 @@ namespace WMS.Web.Domain.Services
|
|||||||
erpDetails.Add(item);
|
erpDetails.Add(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (erpDetails.Count != 0)
|
|
||||||
|
foreach (var det in erpDetails)
|
||||||
{
|
{
|
||||||
foreach (var det in erpDetails)
|
var erp_details = entity.ErpDetails
|
||||||
|
.Where(w => w.SourceBillNo.Equals(det)).Select(t => t.ErpDetailId).ToList();
|
||||||
|
var erpDto = new ErpPushDto()
|
||||||
{
|
{
|
||||||
var erp_details = entity.ErpDetails
|
RuleId = "PUR_PurchaseOrder-STK_InStock",//转换规则内码 采购订单下推采购入库单
|
||||||
.Where(w => w.SourceBillNo.Equals(det)).Select(t => t.ErpDetailId).ToList();
|
FormId = FormIdParam.PUR_PurchaseOrder.ToString(),
|
||||||
var erpDto = new ErpPushDto()
|
TargetFormId = FormIdParam.STK_InStock.ToString(),
|
||||||
{
|
DetailsId = det.ErpDetailId.ToString(),
|
||||||
RuleId = "PUR_PurchaseOrder-STK_InStock",//转换规则内码 采购订单下推采购入库单
|
IsDraftWhenSaveFail = true//是否需要暂存
|
||||||
FormId = FormIdParam.PUR_PurchaseOrder.ToString(),
|
};
|
||||||
TargetFormId = FormIdParam.STK_InStock.ToString(),
|
|
||||||
DetailsId = det.ErpDetailId.ToString(),
|
|
||||||
IsDraftWhenSaveFail = true//是否需要暂存
|
|
||||||
};
|
|
||||||
|
|
||||||
List<ErpPurchaseInStockDetailsDto> details = new List<ErpPurchaseInStockDetailsDto>();
|
List<ErpPurchaseInStockDetailsDto> details = new List<ErpPurchaseInStockDetailsDto>();
|
||||||
var resPurchaseInStockDetails_result = await sc_erpService.BillQueryForPurchaseInStockBy(det.ErpDetailId.ToString());
|
var resPurchaseInStockDetails_result = await sc_erpService.BillQueryForPurchaseInStockBy(det.ErpDetailId.ToString());
|
||||||
if (resPurchaseInStockDetails_result.IsSuccess)
|
if (resPurchaseInStockDetails_result.IsSuccess)
|
||||||
details = resPurchaseInStockDetails_result.Data;
|
details = resPurchaseInStockDetails_result.Data;
|
||||||
|
|
||||||
//金蝶已有的单;进行金蝶不同操作处理:保存,提交,审核
|
//金蝶已有的单;进行金蝶不同操作处理:保存,提交,审核
|
||||||
var currentDet = details.Where(x => x.Qty == det.Qty).FirstOrDefault();
|
var currentDet = details.Where(x => x.Qty == det.Qty).FirstOrDefault();
|
||||||
if (currentDet != null)
|
if (currentDet != null)
|
||||||
{
|
{
|
||||||
var res= await this.QueryFirst(currentDet, erpDto.FormId, entity.BillNo, det, sc_erpService);
|
var res = await this.QueryFirst(currentDet, erpDto.FormId, entity.BillNo, det, sc_erpService);
|
||||||
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
|
|
||||||
entity.SyncFail(res.result.Message, det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.syncStatus);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
entity.SyncFail(res.result.Message, det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.syncStatus);
|
||||||
//下推金蝶
|
|
||||||
var res = await this.Push(erpDto, det, entity.BillNo, sc_erpService, sc_inStockRepositories);
|
|
||||||
if (res.result.IsSuccess)
|
|
||||||
entity.SyncSuccess(det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.erpBillNo);
|
|
||||||
else
|
|
||||||
entity.SyncFail(res.result.Message, det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.syncStatus);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//下推金蝶
|
||||||
|
var res = await this.Push(erpDto, det, entity.BillNo, sc_erpService, sc_inStockRepositories);
|
||||||
|
if (res.result.IsSuccess)
|
||||||
|
entity.SyncSuccess(det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.erpBillNo);
|
||||||
|
else
|
||||||
|
entity.SyncFail(res.result.Message, det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.syncStatus);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
//else
|
||||||
erpDetails_tags.ForEach(x => { x.SuccessSync = SyncStatus.Fail; });
|
//{
|
||||||
entity.SyncFailAll("同步金蝶失败,该采购单已存在采购入库单", loginInfo?.UserInfo?.StaffId ?? 0);
|
// erpDetails_tags.ForEach(x => { x.SuccessSync = SyncStatus.Fail; });
|
||||||
}
|
// entity.SyncFailAll("同步金蝶失败,该采购单已存在采购入库单", loginInfo?.UserInfo?.StaffId ?? 0);
|
||||||
|
//}
|
||||||
//最好一条一条执行,否则执行失败 但是金蝶那边又同步成功 就会造成数据比价乱
|
//最好一条一条执行,否则执行失败 但是金蝶那边又同步成功 就会造成数据比价乱
|
||||||
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);
|
||||||
|
|||||||
Reference in New Issue
Block a user