You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

167 lines
5.4 KiB
C#

1 year ago
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 Admin.Core.Service.Sys;
using Admin.Core.Model.ViewModels;
using System.Collections;
using NPOI.SS.Formula.Functions;
using System.Numerics;
namespace Admin.Core.Api
{
/// <summary>
/// 溶剂称量 PDA接口
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
[AllowAnonymous]
public class SolventController : BaseApiUserController
{
private readonly ISolventServices _solventServices;
#region 构造函数
/// <summary>
/// 构造函数
/// </summary>
public SolventController(ISysUserService sysUserService, ISolventServices solventServices) : base(sysUserService)
{
_sysUserService = sysUserService;
this._solventServices = solventServices;
1 year ago
}
1 year ago
#endregion
#region 拉缸验证物料
/// <summary>
/// 根据拉缸条码查询物料
/// </summary>
/// <param name="code">缸条码</param>
1 year ago
/// <param name="weighbridge">地磅名称1号地磅|2号地磅</param>
1 year ago
/// <returns></returns>
[HttpGet]
1 year ago
public async Task<MessageModel<WaitePlanView>> GetByCylinderInfo(string code,string weighbridge)
1 year ago
{
if (!code.IsNotEmptyOrNull())
{
return Failed<WaitePlanView>("传入参数为空!");
}
1 year ago
var query = await _solventServices.GetByCylinderCode(code.Trim(),weighbridge.Trim());
1 year ago
if (query == null)
{
1 year ago
return Failed<WaitePlanView>("未查询到计划信息!");
1 year ago
}
return Success(query);
}
/// <summary>
/// 拉缸执行PLC更改状态
/// </summary>
/// <param name="view"></param>
/// <returns></returns>
[HttpPost]
public async Task<MessageModel<bool>> ExecPlcState([FromBody] VerifyView view)
{
if (!view.IsNotEmptyOrNull())
{
return Failed<bool>("传入参数为空!");
}
12 months ago
10 months ago
MessageModel<bool> result = await _solventServices.ExecPlcState(view);
if (result.success)
1 year ago
{
10 months ago
return result;
1 year ago
}
10 months ago
return result;
1 year ago
}
#endregion
#region 根据泵条码比对拉缸条码
/// <summary>
/// 根据泵条码比对拉缸条码
/// </summary>
/// <param name="code">泵条码</param>
/// <returns></returns>
[HttpGet]
public async Task<MessageModel<PumpAndCylinderView>> GetByPumpInfo(string code)
{
if (!code.IsNotEmptyOrNull())
{
return Failed<PumpAndCylinderView>("传入参数为空!");
}
var query = await _solventServices.GetByPumpCode(code.Trim());
if (query == null)
{
return Failed<PumpAndCylinderView>("查询失败!");
}
return Success(query);
}
/// <summary>
/// 对比泵和拉缸条码匹配成功执行
/// </summary>
/// <param name="planId">计划ID</param>
/// <param name="pumpCode">泵Code</param>
/// <param name="cylinderCode">拉缸Code</param>
/// <returns></returns>
[HttpGet]
public async Task<MessageModel<bool>> ExecState(string planId, string pumpCode, string cylinderCode)
{
if (!planId.IsNotEmptyOrNull())
{
return Failed<bool>("传入计划参数为空!");
}
if (!pumpCode.IsNotEmptyOrNull())
{
return Failed<bool>("传入泵参数为空!");
}
if (!cylinderCode.IsNotEmptyOrNull())
{
return Failed<bool>("传入拉缸参数为空!");
}
var query = await _solventServices.ExecState(planId, pumpCode.Trim(), cylinderCode.Trim());
if (query)
{
return Success(query);
}
return Failed<bool>("查询失败!");
}
#endregion
10 months ago
#region 查询整包称量物料
/// <summary>
/// 整包物料查询
/// </summary>
/// <param name="code">整包物料编码</param>
/// <param name="weighbridge">地磅名称1号地磅|2号地磅</param>
/// <returns></returns>
[HttpGet]
public async Task<MessageModel<PlanView>> GetByZbCode(string code, string weighbridge)
{
if (!code.IsNotEmptyOrNull())
{
return Failed<PlanView>("传入物料条码参数为空!");
}
if (!weighbridge.IsNotEmptyOrNull())
{
return Failed<PlanView>("传入地磅参数为空!");
}
var query = await _solventServices.GetByZbCode(code.Trim(), weighbridge.Trim());
if (query == null)
{
return Failed<PlanView>("未查询到计划信息!");
}
return Success(query);
}
#endregion
1 year ago
}
}