服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-11-22 57e1796bf33346c3992edde1a63f635cfae0def9
Tiger.Controllers.MES/Controllers/MESController.BIZ_MES_WO.cs
@@ -7,6 +7,8 @@
using Tiger.Model.Entitys.MES.BizMesWo;
using Tiger.Model.Entitys.MES.BizMesWoBatch;
using Tiger.Api.iBiz;
using Newtonsoft.Json;
using Tiger.Model.Entitys.MES.Position;
namespace Tiger.Api.Controllers.MES
{
@@ -119,6 +121,27 @@
        }
        /// <summary>
        /// 从工单中解绑正在生产的条码
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> UnbindWipSnFromWO([FromBody] ApiAction<UnbindWipSnInput> action)
        {
            ApiAction response = new();
            try
            {
                response = response.GetResponse(await DI.Resolve<IBIZ_MES_WO>().UnbindWipSnFromWO(action.Data));
            }
            catch (System.Exception ex)
            {
                response = response.GetResponse().CatchExceptionWithLog(ex);
            }
            return Ok(response);
        }
        /// <summary>
        /// 更新工单模板变量
        /// </summary>
        /// <param name="action"></param>
@@ -160,25 +183,118 @@
            return Ok(response);
        }
        [HttpPost]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> SavePrintLabelInAct([FromBody] ApiAction action)
        {
            ApiAction response = new();
            try
            {
                response = response.GetResponse(await DI.Resolve<IBIZ_MES_WO>().SavePrintLabelInAct(action.Data?.ToString()));
            }
            catch (System.Exception ex)
            {
                response = response.GetResponse().CatchExceptionWithLog(ex);
            }
            return Ok(response);
        }
        /// <summary>
        /// 获取重打标签信息
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> GetRePrintInfo([FromBody] ApiAction<RePrintInput> action)
        {
            ApiAction response = new();
            try
            {
                response = response.GetResponse(await DI.Resolve<IBIZ_MES_WO>().GetRePrintInfo(action.Data));
            }
            catch (System.Exception ex)
            {
                response = response.GetResponse().CatchExceptionWithLog(ex);
            }
            return Ok(response);
        }
        /// <summary>
        /// 获取出货信息
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> GetShipList([FromBody] ApiAction<ShippingInput> action)
        {
            ApiAction response = new();
            try
            {
                response = response.GetResponse(await DI.Resolve<IBIZ_MES_WO>().GetShipList(action.Data));
            }
            catch (System.Exception ex)
            {
                response = response.GetResponse().CatchExceptionWithLog(ex);
            }
            return Ok(response);
        }
        /// <summary>
        /// 获取工单批次的数量汇总
        /// </summary>
        /// <param name="batch"></param>
        /// <returns></returns>
        [HttpGet]
        [HttpPost]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> GetWoBatchCount(ApiAction action)
        public async Task<IActionResult> GetWoBatchCount([FromBody] ApiAction action)
        {
            ApiAction response = new();
            try
            {
                SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { BATCH = action.Data?.ToString(), ERR_CODE = 0, ERR_MSG = "" });
                pars[1].Direction = System.Data.ParameterDirection.Output;
                pars[2].Direction = System.Data.ParameterDirection.Output;
                Biz.Db.Ado.UseStoredProcedure().ExecuteCommand("SP_MES_GET_WO_BATCH_COUNT", pars);
                response.Data = pars[1].Value;
                response.IsSuccessed = pars[1].Value.ToInt32() == 0 ? true : false;
                response.LocaleMsg = new(pars[2].Value.ToString());
                SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { BATCH = action.Data?.ToString()});
                var dt = Biz.Db.Ado.UseStoredProcedure().GetDataTable("SP_MES_GET_WO_BATCH_COUNT", pars);
                response.Data = dt;
            }
            catch (System.Exception ex)
            {
                response = response.GetResponse().CatchExceptionWithLog(ex);
            }
            return Ok(response);
        }
        [HttpPost]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> GetWoNodeBatchCount([FromBody] ApiAction<GetWoNodeBatchCountInput> action)
        {
            ApiAction response = new();
            try
            {
                SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { BATCH = action.Data.BatchNo, NodeIdOrName=action.Data.NodeName });
                var dt = Biz.Db.Ado.UseStoredProcedure().GetDataTable("SP_MES_GET_NODE_BATCH_COUNT", pars);
                response.Data = dt;
            }
            catch (System.Exception ex)
            {
                response = response.GetResponse().CatchExceptionWithLog(ex);
            }
            return Ok(response);
        }
        /// <summary>
        /// 生成入库获取条码工单信息及包装信息
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> GetErpProdInBth([FromBody] ApiAction action)
        {
            ApiAction response = new();
            try
            {
                response = response.GetResponse(await DI.Resolve<IBIZ_MES_WO>().GetErpProdInBth(action.Data?.ToString()));
            }
            catch (System.Exception ex)
            {