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 { /// /// 溶剂称量 PDA接口 /// [Route("api/[controller]/[action]")] [ApiController] [AllowAnonymous] public class SolventController : BaseApiUserController { private readonly ISolventServices _solventServices; #region 构造函数 /// /// 构造函数 /// public SolventController(ISysUserService sysUserService, ISolventServices solventServices) : base(sysUserService) { _sysUserService = sysUserService; this._solventServices = solventServices; } #endregion #region 拉缸验证物料 /// /// 根据拉缸条码查询物料 /// /// 缸条码 /// [HttpGet] public async Task> GetByCylinderInfo(string code) { string weighbridge = "1号地磅"; if (!code.IsNotEmptyOrNull()) { return Failed("传入参数为空!"); } var query = await _solventServices.GetByCylinderCode(code.Trim(),weighbridge); if (query == null) { return Failed("查询失败!"); } return Success(query); } /// /// 拉缸执行PLC更改状态 /// /// /// [HttpPost] public async Task> ExecPlcState([FromBody] VerifyView view) { if (!view.IsNotEmptyOrNull()) { return Failed("传入参数为空!"); } view.Weighbridge = "1号地磅"; var result = await _solventServices.ExecPlcState(view); if (result) { return Success(result); } return Failed("执行失败!"); } #endregion #region 根据泵条码比对拉缸条码 /// /// 根据泵条码比对拉缸条码 /// /// 泵条码 /// [HttpGet] public async Task> GetByPumpInfo(string code) { if (!code.IsNotEmptyOrNull()) { return Failed("传入参数为空!"); } var query = await _solventServices.GetByPumpCode(code.Trim()); if (query == null) { return Failed("查询失败!"); } return Success(query); } /// /// 对比泵和拉缸条码匹配成功执行 /// /// 计划ID /// 泵Code /// 拉缸Code /// [HttpGet] public async Task> ExecState(string planId, string pumpCode, string cylinderCode) { if (!planId.IsNotEmptyOrNull()) { return Failed("传入计划参数为空!"); } if (!pumpCode.IsNotEmptyOrNull()) { return Failed("传入泵参数为空!"); } if (!cylinderCode.IsNotEmptyOrNull()) { return Failed("传入拉缸参数为空!"); } var query = await _solventServices.ExecState(planId, pumpCode.Trim(), cylinderCode.Trim()); if (query) { return Success(query); } return Failed("查询失败!"); } #endregion #region 获取所有溶剂计划 /// /// 获取所有溶剂计划 /// /// [HttpGet] public async Task>> GetSolventPlanInfo() { MessageModel> message = new MessageModel>(); var list = await _solventServices.GetSolventPlanInfo(); if (list.Count > 0) { message.success = true; message.data = list; } else { message.success = false; message.msg = "未查询到计划数据!"; } return message; } #endregion } }