金蝶获取采购入库单
This commit is contained in:
@@ -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;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
序列号
|
||||
|
||||
@@ -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提交新增
|
||||
|
||||
Reference in New Issue
Block a user