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
{
///
/// 销售发货
///
public class WmsSaleService : WmsPurchaseAndSaleCommonService, IWmsSaleService
{
private readonly IWmsOutStockService _wmsOutStockService;
public WmsSaleService(ISqlSugarRepository repo, IUserManager userManager, IWmsOutStockService wmsOutStockService)
: base(repo, userManager)
{
_wmsOutStockService = wmsOutStockService;
}
///
/// 销售发货
///
///
///
///
///
[HttpPost]
public async Task Sale(PurchaseAndReceiveUpInput input)
{
_ = await PurchaseAndSaleUpdate(input);
VisualDevModelDataCrInput visualDevModelDataInput = new();
visualDevModelDataInput.data = PocoToDictionary.ToDictionary(input) as Dictionary;
visualDevModelDataInput.data["location_id"] = "26412597341221";
visualDevModelDataInput.data["location_code"] = "YCL01-01-01";
if (_wmsOutStockService != null)
{
await _wmsOutStockService.OutStockApplyFor(visualDevModelDataInput);
}
return await Task.FromResult(1);
}
///
/// 根据销售发货主表Id获取子表明细
///
///
///
[HttpGet("id")]
public async Task GetSaleDetailsByBillId(string id)
{
return await GetDetailsByPkId(id);
}
///
/// 审核反审核
///
///
///
///
///
[HttpPost]
public async Task Audit(PurchaseAndSaleAuditUpInput input)
{
return await Audit(input);
}
///
/// mes 检验完后通知wms(销售) 回调接口
///
///
///
///
[HttpPost]
public async Task MesCheckdSaleCallback(MesCheckdCallbackUpinput input)
{
return await UpdateChackStatus(input);
}
}
}