|
|
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;
|
|
|
using NPOI.SS.Formula.Functions;
|
|
|
|
|
|
namespace Admin.Core.Api.Controllers.Business
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// 反应釜防错验证
|
|
|
/// </summary>
|
|
|
[Route("api/[controller]/[action]")]
|
|
|
[ApiController]
|
|
|
[AllowAnonymous]
|
|
|
public class WarehouseController : BaseApiUserController
|
|
|
{
|
|
|
#region 整包信息
|
|
|
//000524-20230805-0001-CF-130|25kg
|
|
|
//000524:为物料编码
|
|
|
//CF-130:物料名称
|
|
|
//25kg物料重量
|
|
|
#endregion
|
|
|
|
|
|
/// <summary>
|
|
|
/// 投料仓服务
|
|
|
/// </summary>
|
|
|
private readonly IHw_WarehouseServices _hw_WarehouseService;
|
|
|
|
|
|
#region 构造方法
|
|
|
/// <summary>
|
|
|
/// 构造方法
|
|
|
/// </summary>
|
|
|
/// <param name="hw_WarehouseServices"></param>
|
|
|
/// <param name="sysUserService"></param>
|
|
|
public WarehouseController(IHw_WarehouseServices hw_WarehouseServices, ISysUserService sysUserService) : base(sysUserService)
|
|
|
{
|
|
|
_sysUserService = sysUserService;
|
|
|
_hw_WarehouseService = hw_WarehouseServices;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 扫描料桶条码 获取桶绑定物料信息
|
|
|
/// <summary>
|
|
|
/// 扫描料桶条码 获取桶绑定物料信息
|
|
|
/// </summary>
|
|
|
/// <param name="kettleBarCode">反应釜</param>
|
|
|
/// <param name="planId">计划Id</param>
|
|
|
/// <param name="code">料桶Id</param>
|
|
|
/// <returns></returns>
|
|
|
[HttpGet]
|
|
|
public async Task<MessageModel<BarrelView>> GetByBarrelInfo(string kettleBarCode, string planId,string code)
|
|
|
{
|
|
|
if (!code.IsNotEmptyOrNull())
|
|
|
{
|
|
|
return Failed<BarrelView>("传入参数为空!");
|
|
|
}
|
|
|
var query = await _hw_WarehouseService.GetXlInfo(kettleBarCode.Trim(),planId.Trim(),code.Trim());
|
|
|
if (query == null)
|
|
|
{
|
|
|
return Failed<BarrelView>("查询失败!");
|
|
|
}
|
|
|
return Success(query);
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 根据条码查询投料釜设置的物料
|
|
|
/// <summary>
|
|
|
/// 根据条码查询投料釜设置的物料
|
|
|
/// </summary>
|
|
|
/// <param name="code">投料釜条码</param>
|
|
|
/// <param name="planId">计划Id</param>
|
|
|
/// <returns></returns>
|
|
|
[HttpGet]
|
|
|
public async Task<MessageModel<WarehouseView>> GetByCode(string code,string planId)
|
|
|
{
|
|
|
|
|
|
if (!code.IsNotEmptyOrNull())
|
|
|
{
|
|
|
return Failed<WarehouseView>("传入物料编码参数为空!");
|
|
|
}
|
|
|
if (!planId.IsNotEmptyOrNull())
|
|
|
{
|
|
|
return Failed<WarehouseView>("传入计划ID参数为空!");
|
|
|
}
|
|
|
var query = await _hw_WarehouseService.QueryByCode(code.Trim(), planId);
|
|
|
|
|
|
if (query==null)
|
|
|
{
|
|
|
return Failed<WarehouseView>("查询失败!");
|
|
|
}
|
|
|
return Success(query);
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region PLC更新状态——反应釜
|
|
|
/// <summary>
|
|
|
/// PLC更新状态——反应釜
|
|
|
/// </summary>
|
|
|
/// <param name="view">json 对象</param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost]
|
|
|
public async Task<MessageModel<bool>> ExecPlcState([FromBody] KettleView view)
|
|
|
{
|
|
|
if (!view.IsNotEmptyOrNull())
|
|
|
{
|
|
|
return Failed<bool>("传入参数为空!");
|
|
|
}
|
|
|
var result = await _hw_WarehouseService.UpdatePlcState(view);
|
|
|
if (result)
|
|
|
{
|
|
|
return Success(result);
|
|
|
}
|
|
|
return Failed<bool>("执行失败!");
|
|
|
}
|
|
|
|
|
|
[HttpGet]
|
|
|
public async Task<MessageModel<bool>> DownLoadplanInfo()
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
string ss1 = "a82d016e813c4ac3bca0244c519da591";
|
|
|
string ss2 = "2408090522";
|
|
|
var ss3 = "D1-813";
|
|
|
var result = await _hw_WarehouseService.InsertXLPlanInfo(DateTime.Now, ss1, ss2, ss3);
|
|
|
if (result)
|
|
|
{
|
|
|
return Success(result);
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
return Failed<bool>("执行失败!");
|
|
|
}
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// 投料口开/投料口关
|
|
|
/// </summary>
|
|
|
/// <param name="code"></param>
|
|
|
/// <param name="state"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpGet]
|
|
|
public async Task<MessageModel<bool>> ExecPlcState(string code,int state)
|
|
|
{
|
|
|
if (!code.IsNotEmptyOrNull() || !state.IsNotEmptyOrNull())
|
|
|
{
|
|
|
return Failed<bool>("传入参数为空!");
|
|
|
}
|
|
|
var result = await _hw_WarehouseService.UpdatePlcState(code,state);
|
|
|
if (result)
|
|
|
{
|
|
|
return Success(result);
|
|
|
}
|
|
|
return Failed<bool>("执行失败!");
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// 查询称量重量
|
|
|
/// </summary>
|
|
|
/// <param name="WeightNo"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpGet]
|
|
|
public async Task<MessageModel<string>> GetWeight(string WeightNo)
|
|
|
{
|
|
|
if (!WeightNo.IsNotEmptyOrNull())
|
|
|
{
|
|
|
return Failed<string>("传入参数为空!");
|
|
|
}
|
|
|
var result = await _hw_WarehouseService.RealWeightInfo(WeightNo);
|
|
|
if (result != "")
|
|
|
{
|
|
|
return Success(result,"成功");
|
|
|
}
|
|
|
return Failed<string>("执行失败!");
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 查询反应釜计划
|
|
|
/// <summary>
|
|
|
/// 查询反应釜计划
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
[HttpGet]
|
|
|
public async Task<MessageModel<List<string>>> GetWarehousePlan(string code)
|
|
|
{
|
|
|
MessageModel<List<string>> messageModel = new MessageModel<List<string>>();
|
|
|
List<string> list = await _hw_WarehouseService.GetWarehousePlan(code);
|
|
|
if (list == null)
|
|
|
{
|
|
|
messageModel.success = false;
|
|
|
messageModel.msg = "未查询到数据";
|
|
|
return messageModel;
|
|
|
}
|
|
|
messageModel.success = true;
|
|
|
messageModel.data = list;
|
|
|
return Success(list);
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
} |