金蝶获取采购入库单

This commit is contained in:
tongfei
2023-11-01 12:02:20 +08:00
parent 9dd32beba4
commit 6f1ce6c954
4 changed files with 53 additions and 17 deletions

View File

@@ -2,12 +2,16 @@
using ERP;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore.Storage;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Threading.Tasks;
using WMS.Web.Core.Internal.Results;
using WMS.Web.Domain.Infrastructure;
using WMS.Web.Domain.IService;
using WMS.Web.Domain.IService.Public;
namespace WMS.Web.Api.Controllers
@@ -17,9 +21,13 @@ namespace WMS.Web.Api.Controllers
public class TestController : ControllerBase
{
private readonly IErpService _erpService;
public TestController(IErpService erpService)
private IInStockTaskService _inStockTaskService;
private ITransactionRepositories _transactionRepositories;
public TestController(IErpService erpService, IInStockTaskService inStockTaskService, ITransactionRepositories transactionRepositories)
{
this._erpService = erpService;
this._inStockTaskService = inStockTaskService;
this._transactionRepositories = transactionRepositories;
}
[HttpGet]
@@ -32,5 +40,30 @@ namespace WMS.Web.Api.Controllers
return "";
return JsonConvert.SerializeObject(result.Data);
}
/// <summary>
/// 测试:同步采购单的入库
/// </summary>
/// <returns></returns>
[HttpGet]
[Route("InStock")]
public async Task<Result> InStock()
{
//1.事务
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
bool isRollback = false;
bool isTransaction = false;
//3.同步数据
var result = await _inStockTaskService.SsynPurchaseInStock(isTransaction);
if (!result.IsSuccess) isRollback = true;
//4.提交事务
var isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
if (!isSuccess)
return Result.ReFailure(result.Message,result.Status);
return result;
}
}
}

View File

@@ -282,5 +282,11 @@
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Api.Controllers.TestController.InStock">
<summary>
测试:同步采购单的入库
</summary>
<returns></returns>
</member>
</members>
</doc>

View File

@@ -300,11 +300,6 @@
目标箱子
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ChangeBoxRecord.ChangeBoxRecordQueryRequest.StockId">
<summary>
仓库
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ChangeBoxRecord.ChangeBoxRecordQueryRequest.SrcSubStockId">
<summary>
原仓位ID
@@ -350,11 +345,6 @@
物料规格型号
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ChangeBoxRecord.ChangeBoxRecordQueryInfoResponse.Stock">
<summary>
仓库
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ChangeBoxRecord.ChangeBoxRecordQueryInfoResponse.SerialNumbers">
<summary>
序列号

View File

@@ -61,8 +61,10 @@ namespace WMS.Web.Domain.Services
var data_list_details = data_list.SelectMany(x => x.Details).ToList();
foreach (var item in data_list_details)
{
var data= data_list.Where(x => x.Id == item.Fid).FirstOrDefault();
//2.1.1对比erp的物料信息
var erp_data = erp_list.Where(x => x.FMaterialId == item.MaterialId).FirstOrDefault();
var erp_data = erp_list.Where(x =>x.FBillNo==data.SourceBillNo && x.FMaterialId == item.MaterialId).FirstOrDefault();
if (erp_data != null)
{
//2.1.2修改数量
@@ -84,15 +86,20 @@ namespace WMS.Web.Domain.Services
}
//3.wms任务单的来源单据编号不存在于erp中那么就新增
if (SourceBillNo_list.Count != 0)
if (erp_list.Count != 0)
{
var add_entitys = new List<InStockTask>();
foreach (var sourceBillNo in SourceBillNo_list)
var billNos = erp_list.GroupBy(x => x.FBillNo).Select(x => x.Key).ToList();
foreach (var item in billNos)
{
var dto = new InStockTask();
dto.SourceBillNo = sourceBillNo;
dto.SourceBillNo = item;
dto.Create(InstockType.Purchase);
dto.Details = _mapper.Map<List<InStockTaskDetails>>(erp_list);
//找到当前对应来源单据编号的集合数据
var current_erp_details= erp_list.Where(x => x.FBillNo == item).ToList();
//给到dto的实体明细中
dto.Details = _mapper.Map<List<InStockTaskDetails>>(current_erp_details);
add_entitys.Add(dto);
}
//3.1提交新增