金蝶获取采购入库单
This commit is contained in:
@@ -2,12 +2,16 @@
|
|||||||
using ERP;
|
using ERP;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.ServiceModel;
|
using System.ServiceModel;
|
||||||
using System.Threading.Tasks;
|
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;
|
using WMS.Web.Domain.IService.Public;
|
||||||
|
|
||||||
namespace WMS.Web.Api.Controllers
|
namespace WMS.Web.Api.Controllers
|
||||||
@@ -17,9 +21,13 @@ namespace WMS.Web.Api.Controllers
|
|||||||
public class TestController : ControllerBase
|
public class TestController : ControllerBase
|
||||||
{
|
{
|
||||||
private readonly IErpService _erpService;
|
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._erpService = erpService;
|
||||||
|
this._inStockTaskService = inStockTaskService;
|
||||||
|
this._transactionRepositories = transactionRepositories;
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
@@ -32,5 +40,30 @@ namespace WMS.Web.Api.Controllers
|
|||||||
return "";
|
return "";
|
||||||
return JsonConvert.SerializeObject(result.Data);
|
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>
|
<param name="dto"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:WMS.Web.Api.Controllers.TestController.InStock">
|
||||||
|
<summary>
|
||||||
|
测试:同步采购单的入库
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
</members>
|
</members>
|
||||||
</doc>
|
</doc>
|
||||||
|
|||||||
@@ -300,11 +300,6 @@
|
|||||||
目标箱子
|
目标箱子
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.ChangeBoxRecord.ChangeBoxRecordQueryRequest.StockId">
|
|
||||||
<summary>
|
|
||||||
仓库
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:WMS.Web.Core.Dto.ChangeBoxRecord.ChangeBoxRecordQueryRequest.SrcSubStockId">
|
<member name="P:WMS.Web.Core.Dto.ChangeBoxRecord.ChangeBoxRecordQueryRequest.SrcSubStockId">
|
||||||
<summary>
|
<summary>
|
||||||
原仓位ID
|
原仓位ID
|
||||||
@@ -350,11 +345,6 @@
|
|||||||
物料规格型号
|
物料规格型号
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.ChangeBoxRecord.ChangeBoxRecordQueryInfoResponse.Stock">
|
|
||||||
<summary>
|
|
||||||
仓库
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:WMS.Web.Core.Dto.ChangeBoxRecord.ChangeBoxRecordQueryInfoResponse.SerialNumbers">
|
<member name="P:WMS.Web.Core.Dto.ChangeBoxRecord.ChangeBoxRecordQueryInfoResponse.SerialNumbers">
|
||||||
<summary>
|
<summary>
|
||||||
序列号
|
序列号
|
||||||
|
|||||||
@@ -61,10 +61,12 @@ namespace WMS.Web.Domain.Services
|
|||||||
var data_list_details = data_list.SelectMany(x => x.Details).ToList();
|
var data_list_details = data_list.SelectMany(x => x.Details).ToList();
|
||||||
foreach (var item in data_list_details)
|
foreach (var item in data_list_details)
|
||||||
{
|
{
|
||||||
|
var data= data_list.Where(x => x.Id == item.Fid).FirstOrDefault();
|
||||||
|
|
||||||
//2.1.1对比erp的物料信息
|
//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)
|
if (erp_data != null)
|
||||||
{
|
{
|
||||||
//2.1.2修改数量
|
//2.1.2修改数量
|
||||||
item.AccruedQty = erp_data.FQty;
|
item.AccruedQty = erp_data.FQty;
|
||||||
erp_removeList.Add(erp_data);
|
erp_removeList.Add(erp_data);
|
||||||
@@ -84,15 +86,20 @@ namespace WMS.Web.Domain.Services
|
|||||||
}
|
}
|
||||||
|
|
||||||
//3.wms任务单的来源单据编号不存在于erp中,那么就新增
|
//3.wms任务单的来源单据编号不存在于erp中,那么就新增
|
||||||
if (SourceBillNo_list.Count != 0)
|
if (erp_list.Count != 0)
|
||||||
{
|
{
|
||||||
var add_entitys = new List<InStockTask>();
|
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();
|
var dto = new InStockTask();
|
||||||
dto.SourceBillNo = sourceBillNo;
|
dto.SourceBillNo = item;
|
||||||
dto.Create(InstockType.Purchase);
|
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);
|
add_entitys.Add(dto);
|
||||||
}
|
}
|
||||||
//3.1提交新增
|
//3.1提交新增
|
||||||
|
|||||||
Reference in New Issue
Block a user