using Admin.Core.IService;
using Admin.Core.Service;
using Admin.Core.IService.ISys;
using Admin.Core.Model;
using Admin.Core.Common.Resource;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Threading.Tasks;
using Admin.Core.Common;
using System.Linq;
using Admin.Core.Model.ViewModels;
using Microsoft.AspNetCore.Mvc.ViewEngines;
using System.Collections;
namespace Admin.Core.Api.Controllers.Business
{
///
/// 反应釜防错验证
///
[Route("api/[controller]/[action]")]
[ApiController]
[AllowAnonymous]
public class WarehouseController : BaseApiUserController
{
#region 整包信息
//000524-20230805-0001-CF-130|25kg
//000524:为物料编码
//CF-130:物料名称
//25kg物料重量
#endregion
///
/// 投料仓服务
///
private readonly IHw_WarehouseServices _hw_WarehouseService;
///
/// 构造方法
///
///
///
public WarehouseController(IHw_WarehouseServices hw_WarehouseServices, ISysUserService sysUserService) : base(sysUserService)
{
_sysUserService = sysUserService;
_hw_WarehouseService = hw_WarehouseServices;
}
#region 获取反应釜所有计划号
/////
///// 获取反应釜所有计划号
/////
/////
//[HttpGet]
//public async Task>> GetAllPlan()
//{
// var query = await _hw_WarehouseService.GetPlan();
// if (query == null)
// {
// return Failed>("未查询到计划号!");
// }
// return Success(query);
//}
#endregion
#region 扫描料桶条码 获取桶绑定物料信息
///
/// 扫描料桶条码 获取桶绑定物料信息
///
/// 桶条码
///
[HttpGet]
public async Task> GetByBarrelInfo(string code)
{
if (!code.IsNotEmptyOrNull())
{
return Failed("传入参数为空!");
}
var query = await _hw_WarehouseService.GetXlInfo(code.Trim());
if (query == null)
{
return Failed("查询失败!");
}
return Success(query);
}
#endregion
#region 根据条码查询投料釜设置的物料
///
/// 根据条码查询投料釜设置的物料
///
/// 投料釜条码
///
[HttpGet]
public async Task> GetByCode(string code)
{
if (!code.IsNotEmptyOrNull())
{
return Failed("传入参数为空!");
}
var query = await _hw_WarehouseService.QueryByCode(code.Trim());
if (query==null)
{
return Failed("查询失败!");
}
return Success(query);
}
#endregion
#region PLC更新状态——反应釜
///
/// PLC更新状态——反应釜
///
/// json 对象
///
[HttpPost]
public async Task> ExecPlcState([FromBody] KettleView view)
{
if (!view.IsNotEmptyOrNull())
{
return Failed("传入参数为空!");
}
var result = await _hw_WarehouseService.UpdatePlcState(view);
if (result)
{
return Success(result);
}
return Failed("执行失败!");
}
#endregion
}
}