Files
WMS-Api/src/WMS.Web.Api/Controllers/TestController.cs
2023-11-09 14:58:15 +08:00

91 lines
3.0 KiB
C#

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.Dto;
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
{
[Route("api/[controller]")]
[ApiController]
public class TestController : ControllerBase
{
private readonly IErpService _erpService;
private IInStockTaskService _inStockTaskService;
private IBasicsRepositories _transactionRepositories;
private readonly IOpsService _opsService;
private readonly IBoxService _boxService;
public TestController(IErpService erpService, IInStockTaskService inStockTaskService,
IBasicsRepositories transactionRepositories, IOpsService opsService, IBoxService boxService)
{
this._erpService = erpService;
this._inStockTaskService = inStockTaskService;
this._transactionRepositories = transactionRepositories;
_opsService = opsService;
_boxService = boxService;
}
[HttpGet]
[Route("hj")]
public async Task<string> TestHJ()
{
await _boxService.Sync();
//var res = await this._erpService.BillQueryForSubStock();
//var result= await this._erpService.BillQueryForPurchaseInStock();
//var result = await this._erpService.BillQueryForOrg();
var result = await this._erpService.BillQueryForMaterial();
if (!result.IsSuccess)
return "";
return JsonConvert.SerializeObject(result.Data);
}
[HttpGet]
[Route("tf")]
public async Task<string> TestTF()
{
var result = await this._erpService.BillQueryForOrg();
if (!result.IsSuccess)
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;
}
}
}