增加MES-WMS接口
This commit is contained in:
78
WarehouseMgr/Tnb.WarehouseMgr/WmsCarryQueryService.cs
Normal file
78
WarehouseMgr/Tnb.WarehouseMgr/WmsCarryQueryService.cs
Normal file
@@ -0,0 +1,78 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Dynamic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Aop.Api.Domain;
|
||||
using Mapster;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using SqlSugar;
|
||||
using Tnb.WarehouseMgr.Entities;
|
||||
using Tnb.WarehouseMgr.Entities.Dto;
|
||||
using Tnb.WarehouseMgr.Entities.Dto.Inputs;
|
||||
using Tnb.WarehouseMgr.Entities.Dto.Outputs;
|
||||
using Tnb.WarehouseMgr.Interfaces;
|
||||
|
||||
namespace Tnb.WarehouseMgr
|
||||
{
|
||||
public class WmsCarryQueryService : BaseWareHouseService, IWmsCarryQueryService
|
||||
{
|
||||
private readonly ISqlSugarClient _db;
|
||||
public WmsCarryQueryService(ISqlSugarRepository<WmsCarryH> repository)
|
||||
{
|
||||
_db = repository.AsSugarClient();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 载具查询接口
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<dynamic> MESCarryQuery(MESCarryQueryInput input)
|
||||
{
|
||||
var results = new List<CarryQueryOutput>();
|
||||
try
|
||||
{
|
||||
var carrys = await _db.Queryable<WmsCarryH>()
|
||||
.InnerJoin<WmsCollocationSchemeH>((a, b) => a.collocation_scheme_id == b.id)
|
||||
.Where((a, b) => a.carry_code.Contains(input.carry_code) || b.bill_name.Contains(input.collocation_scheme_name))
|
||||
.ToListAsync();
|
||||
|
||||
results = carrys.Adapt<List<CarryQueryOutput>>();
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
await _db.Ado.RollbackTranAsync();
|
||||
return await ToApiResult(JNPF.Common.Enums.HttpStatusCode.InternalServerError, ex.Message);
|
||||
}
|
||||
return ToApiResult(results);
|
||||
}
|
||||
/// <summary>
|
||||
/// 载具查询返回接口
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<dynamic> MESCarryQueryResult(MESCarryQueryResultInput input)
|
||||
{
|
||||
var result = new CarryQueryOutput();
|
||||
try
|
||||
{
|
||||
var carry = await _db.Queryable<WmsCarryH>().SingleAsync(it => it.carry_code == input.carry_code);
|
||||
var carryCodes = await _db.Queryable<WmsCarryCode>().Where(it => it.carry_id == carry.id).ToListAsync();
|
||||
result = carry.Adapt<CarryQueryOutput>();
|
||||
result.wmsCarryCodes = carryCodes.Adapt<List<CarryCodeQueryOutput>>();
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
await _db.Ado.RollbackTranAsync();
|
||||
return await ToApiResult(JNPF.Common.Enums.HttpStatusCode.InternalServerError, ex.Message);
|
||||
}
|
||||
return ToApiResult(JNPF.Common.Enums.HttpStatusCode.OK, result);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user