Files
tnb.server/WarehouseMgr/Tnb.WarehouseMgr/WmsSaleService.cs

77 lines
2.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev;
using Mapster;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using Tnb.Common.Utils;
using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Dto;
using Tnb.WarehouseMgr.Entities.Dto.Inputs;
using Tnb.WarehouseMgr.Interfaces;
namespace Tnb.WarehouseMgr
{
/// <summary>
/// 销售发货
/// </summary>
public class WmsSaleService : WmsPurchaseAndSaleCommonService<WmsSaleD>
{
private readonly IWmsOutStockService _wmsOutStockService;
public WmsSaleService(ISqlSugarRepository<WmsPurchaseH> repo, IUserManager userManager, IWmsOutStockService wmsOutStockService)
: base(repo, userManager)
{
_wmsOutStockService = wmsOutStockService;
}
/// <summary>
/// 销售发货
/// </summary>
/// <param name="input">
///
/// </param>
/// <returns></returns>
[HttpPost]
public async Task<dynamic> Sale(PurchaseAndReceiveUpInput input)
{
_ = await PurchaseAndSaleUpdate(input);
VisualDevModelDataCrInput visualDevModelDataInput = new();
visualDevModelDataInput.data = PocoToDictionary.ToDictionary(input) as Dictionary<string, object>;
visualDevModelDataInput.data["location_id"] = "26412597341221";
visualDevModelDataInput.data["location_code"] = "YCL01-01-01";
if (_wmsOutStockService != null)
{
await _wmsOutStockService.OutStockApplyFor(visualDevModelDataInput);
}
return await Task.FromResult(1);
}
/// <summary>
/// 根据销售发货主表Id获取子表明细
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("id")]
public async Task<dynamic> GetSaleDetailsByBillId(string id)
{
return await GetDetailsByPkId(id);
}
/// <summary>
/// 审核反审核
/// </summary>
/// <param name="input">
///
/// </param>
/// <returns></returns>
[HttpPost]
public async Task<bool> Audit(PurchaseAndSaleAuditUpInput input)
{
return await Audit<WmsSaleH>(input);
}
}
}