bklLiudl
2024-10-19 fe41831b0e9057a16aef1e82048105aee671bbda
Wms/Wms/Controllers/UpApiController.cs
@@ -12,6 +12,7 @@
using WMS.IBLL.IBllAsnServer;
using WMS.IBLL.IBllCheckServer;
using Model.ModelVm.BllCheckVm;
using Microsoft.Extensions.Logging;
namespace Wms.Controllers
{
@@ -73,7 +74,7 @@
        /// <param name="model">入库单号</param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult FinishAsn(IdVm model)
        public IActionResult FinishAsn(FinshVm model)
        {
            try
            {
@@ -88,7 +89,7 @@
                {
                    return Ok(new { code = 1, msg = "未获取到当前操作人信息" });
                }
                _arrivalNoticeSvc.FinishAsn(model.Id, _config.ErpHost + _config.AsnFinishUrl, int.Parse(userId));
                _arrivalNoticeSvc.FinishAsn(model.Id, _config.ErpHost + _config.AsnFinishUrl, _config.MesHost + _config.MesAsnFinishUrl, _config.MesHost + _config.MesGetTokenUrl,model.UserNo,model.Password, int.Parse(userId));
                return Ok(new { code = 0, count = 0, msg = "入库单复核并上传成功" });
            }
@@ -97,14 +98,14 @@
                return Ok(new { code = 1, msg = e.Message });
            }
        }
        /// <summary>
        /// 完成出库单据 //出库单关闭反馈
        /// 完成/关闭出库单据
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult FinishExportNotice(IdVm model)
        public IActionResult CloseExportNotice(IdVm model)
        {
            try
            {
@@ -119,20 +120,38 @@
                {
                    return Ok(new { code = 1, msg = "未获取到当前操作人信息" });
                }
                var bolls = _exNoticeSvc.CloseExportNotice(model.Id, int.Parse(userId));
                if (bolls)
                _exNoticeSvc.CloseExportNotice(model.Id, int.Parse(userId));
                return Ok(new { code = 0, count = 0, msg = "出库单关单成功" });
            }
            catch (Exception e)
            {
                return Ok(new { code = 1, msg = e.Message });
            }
        }
        /// <summary>
        ///  //出库单复核并上传
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult FinishExportNotice(FinshVm model)
        {
            try
            {
                //获取当前登录的用户ID
                var claimsIdentity = this.User.Identity as ClaimsIdentity;
                if (claimsIdentity == null)
                {
                    //系统对接后放开
                    //var bl =_exNoticeSvc.FinishSo(model.Id,_config.ErpHost + _config.SoFinishUrl, int.Parse(userId));
                    //if (bl)
                    //{
                        return Ok(new { code = 0, count = 0, msg = "出库单关单上传成功" });
                    //}
                    //return Ok(new { code = 1, count = 0, msg = "出库单关单成功但上传失败" });
                    return Ok(new { code = 1, msg = "未获取到当前操作人信息" });
                }
                return Ok(new { code = 1, msg = "出库单关单失败" });
                var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
                if (string.IsNullOrWhiteSpace(userId))
                {
                    return Ok(new { code = 1, msg = "未获取到当前操作人信息" });
                }
                _exNoticeSvc.FinishSo(model.Id, _config.ErpHost + _config.SoFinishUrl, model.UserNo, model.Password, int.Parse(userId));
                return Ok(new { code = 0, count = 0, msg = "出库单复核并上传成功" });
            }
            catch (Exception e)
            {
@@ -205,27 +224,42 @@
        [HttpPost]
        public IActionResult CreateAsn(AsnInfo model)
        {
            var result = new ErpModel { Success = -1, Message = "" };
            var result = new HttpReturnModel { Success = "-1", Message = "" };
            var logStr = "";
            if (model.Origin == "MES")
            {
                logStr = $@".\log\MES\入库单下发" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            }
            else if (model.Origin == "ERP")
            {
                logStr = $@".\log\ERP\入库单下发" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            }
            try
            {
                var claimsIdentity = this.User.Identity as ClaimsIdentity;
                if (claimsIdentity == null)
                //log日志记录
                if (logStr != "")
                {
                    throw new Exception("未获取到用户信息");
                }
                string UserId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
                if (string.IsNullOrWhiteSpace(UserId))
                {
                    throw new Exception("未获取到用户信息");
                    var jsonData = JsonConvert.SerializeObject(model);
                    LogFile.SaveLogToFile($"入库单下发:( {jsonData} ),", logStr);
                }
                result = _arrivalNoticeSvc.CreateAsn(model);
                result = _arrivalNoticeSvc.HttpCreateAsn(model);
                if (logStr != "")
                {
                    var jsonData = JsonConvert.SerializeObject(result);
                    LogFile.SaveLogToFile($"入库单下发返回参数:( {jsonData} ),", logStr);
                }
                return Ok(result);
            }
            catch (Exception e)
            {
                result.Message = e.Message;
                if (logStr != "")
                {
                    var jsonData = JsonConvert.SerializeObject(result);
                    LogFile.SaveLogToFile($"入库单下发返回参数:( {jsonData} ),", logStr);
                }
                return Ok(result);
            }
        }
@@ -238,26 +272,95 @@
        [HttpPost]
        public IActionResult CreateSo(SoInfo model)
        {
            var logStr = "";
            if (model.Origin == "MES")
            {
                logStr = $@".\log\MES\出库单下发" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            }
            else if(model.Origin == "ERP")
            {
                logStr = $@".\log\ERP\出库单下发" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            }
            try
            {
                var bl = _exNoticeSvc.ErpAddExportNotice(model);
                if (bl)
            {
                //log日志记录
                if (logStr!="")
                {
                    return Ok(new ErpModel { Success = 0, Message = "成功"});
                    var jsonData = JsonConvert.SerializeObject(model);
                    LogFile.SaveLogToFile($"出库单下发:( {jsonData} ),", logStr);
                }
                else
                _exNoticeSvc.HttpAddExportNotice(model);
                var data = new HttpReturnModel { Success = "0", Message = "成功" };
                if (logStr != "")
                {
                    return Ok(new ErpModel { Success = -1, Message = "失败" });
                    var jsonData = JsonConvert.SerializeObject(data);
                    LogFile.SaveLogToFile($"出库单下发返回参数:( {jsonData} ),", logStr);
                }
                return Ok(data);
                
            }
            catch (Exception e)
            {
                return Ok(new ErpModel { Success = -1, Message = e.Message });
                var data = new HttpReturnModel { Success = "-1", Message = "失败"+e.Message };
                if (logStr != "")
                {
                    var jsonData = JsonConvert.SerializeObject(data);
                    LogFile.SaveLogToFile($"出库单下发返回参数:( {jsonData} ),", logStr);
                }
                return Ok(data);
            }
        }
        //箱码信息 手持组托用 (赋码或追溯下发到wms)
        /// <summary>
        /// 释放备料区储位状态JC24
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public IActionResult UpLocate(UpLocateModel model)
        {
            //记录log
            var logStr = "";
            if (model.Origin == "MES")
            {
                logStr = $@".\log\MES\释放备料区储位状态" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            }
            try
            {
                if (logStr != "")
                {
                    var jsonData = JsonConvert.SerializeObject(model);
                    LogFile.SaveLogToFile($"释放备料区储位状态:( {jsonData} ),", logStr);
                }
                _arrivalNoticeSvc.UpLocate(model.WareHouseNo,model.LocatNo);
                var data = new HttpReturnModel { Success = "0", Message = "成功" };
                if (logStr != "")
                {
                    var jsonData = JsonConvert.SerializeObject(data);
                    LogFile.SaveLogToFile($"释放备料区储位状态返回参数:( {jsonData} ),", logStr);
                }
                return Ok(data);
            }
            catch (Exception e)
            {
                var data = new HttpReturnModel { Success = "0", Message = "失败:" + e.Message };
                if (logStr != "")
                {
                    var jsonData = JsonConvert.SerializeObject(data);
                    LogFile.SaveLogToFile($"释放备料区储位状态返回参数:( {jsonData} ),", logStr);
                }
                return Ok(data);
            }
        }
        //质检结果下发接口