| | |
| | | |
| | | namespace Model.InterFaceModel |
| | | { |
| | | |
| | | public class FinishAsnModel |
| | | { |
| | | /// <summary> |
| | | /// 生产工单 |
| | | /// </summary> |
| | | public string no { get; set; } |
| | | /// <summary> |
| | | /// 数量 |
| | | /// </summary> |
| | | public decimal? qty { get; set; } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 入库单信息 |
| | | /// </summary> |
| | |
| | | |
| | | namespace Model.InterFaceModel |
| | | { |
| | | /// <summary> |
| | | /// 外部系统返回参数 |
| | | /// </summary> |
| | | public class HttpReturnModel |
| | | { |
| | | public string Success { get; set; } |
| | | public string Message { get; set; } |
| | | } |
| | | |
| | | #region Erp-Model |
| | | |
| | | /// <summary> |
| | |
| | | #region MES-Model |
| | | |
| | | /// <summary> |
| | | /// 发送接收mes接口参数的model |
| | | /// 接收mes接口参数的model |
| | | /// </summary> |
| | | public class MesModel |
| | | { |
| | | /// <summary> |
| | | /// 状态码 0 成功 -1失败 |
| | | /// </summary> |
| | | public int Success { get; set; } |
| | | public string status { get; set; } |
| | | /// <summary> |
| | | /// 信息详情 |
| | | /// </summary> |
| | | public string Message { get; set; } |
| | | public string message { get; set; } |
| | | } |
| | | /// <summary> |
| | | /// Mes令牌Model |
| | | /// </summary> |
| | | public class MesTokenModel |
| | | { |
| | | /// <summary> |
| | | /// 状态码 0 成功 -1失败 |
| | | /// </summary> |
| | | public string status { get; set; } |
| | | /// <summary> |
| | | /// 信息详情 |
| | | /// </summary> |
| | | public string message { get; set; } |
| | | /// <summary> |
| | | /// 信息详情 |
| | | /// </summary> |
| | | public GetTokenModel Data { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 信息详情 |
| | | /// </summary> |
| | | public string type { get; set; } |
| | | /// <summary> |
| | | /// 异常摘要信息【字符型】 |
| | | /// </summary> |
| | | public string summary { get; set; } |
| | | |
| | | } |
| | | |
| | | public class GetTokenModel |
| | | { |
| | | public string token { get; set; } |
| | | public string expire_time { get; set; } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 释放备料区储位状态Model |
| | | /// </summary> |
| | | public class UpLocateModel |
| | | { |
| | | public string WareHouseNo { get; set; } |
| | | public string LocatNo { get; set; } |
| | | public string Origin { get; set; } |
| | | } |
| | | |
| | | #endregion |
| | |
| | | using WMS.Entity.Context; |
| | | using WMS.Entity.SysEntity; |
| | | using WMS.IBLL.IBllAsnServer; |
| | | using WMS.BLL.SysServer; |
| | | |
| | | namespace WMS.BLL.BllAsnServer |
| | | { |
| | |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | public ErpModel CreateAsn(AsnInfo model) |
| | | public HttpReturnModel HttpCreateAsn(AsnInfo model) |
| | | { |
| | | try |
| | | { |
| | | var resultModel = new ErpModel() { Success = -1, Message = "" }; |
| | | var resultModel = new HttpReturnModel() { Success = "-1", Message = "" }; |
| | | if (string.IsNullOrEmpty(model.AsnType)) |
| | | { |
| | | resultModel.Message = "单据类型不可为空!"; |
| | |
| | | Db.Insertable(detailModels).ExecuteCommand(); |
| | | Db.CommitTran(); |
| | | |
| | | resultModel.Success = 0; |
| | | resultModel.Success = "0"; |
| | | resultModel.Message = "成功"; |
| | | return resultModel; |
| | | } |
| | |
| | | } |
| | | |
| | | //订单回传上游系统 |
| | | public bool FinishAsn(int id, string erpUrl, string mesUrl, int userId) |
| | | public bool FinishAsn(int id, string erpUrl, string mesUrl,string mesTokenUrl, int userId) |
| | | { |
| | | try |
| | | { |
| | |
| | | }; |
| | | list.Add(item); |
| | | } |
| | | var soInfo = new AsnInfo() |
| | | var asnInfo = new AsnInfo() |
| | | { |
| | | OrderCode = notice.OrderCode, |
| | | AsnDetails = list |
| | |
| | | |
| | | #region 通过接口发送至erp 或 mes |
| | | //系统对接后放开 |
| | | var jsonData = JsonConvert.SerializeObject(soInfo); |
| | | var jsonData = JsonConvert.SerializeObject(asnInfo); |
| | | var mesList = new List<string>() { "0", "4" }; //0 成品入库 4余料退回入库 |
| | | var erpList = new List<string>() { "1", "2", "3" }; //1 采购入库 2中间品入库 3 退货入库 |
| | | |
| | | if (mesList.Contains(notice.Type)) // mes |
| | | { |
| | | var response = HttpHelper.DoPost(mesUrl, jsonData, "入库单完成上传", "MES"); |
| | | //获取令牌 |
| | | var token = new Token().GetMesToken(mesTokenUrl); |
| | | Dictionary<string, string> mesDic = new Dictionary<string, string>() |
| | | { |
| | | {"Authorization",token } |
| | | }; |
| | | var mesData = new FinishAsnModel() |
| | | { |
| | | no = asnInfo.OrderCode, |
| | | qty = asnInfo.AsnDetails.Sum(m=>m.Qty) |
| | | }; |
| | | jsonData = JsonConvert.SerializeObject(mesData); |
| | | //调用接口 |
| | | var response = HttpHelper.DoPost(mesUrl, jsonData, "入库单完成上传", "MES", mesDic); |
| | | |
| | | var obj = JsonConvert.DeserializeObject<MesModel>(response);//解析返回数据 |
| | | if (obj.Success != 0) |
| | | if (obj.status != "0") |
| | | { |
| | | throw new Exception("上传失败" + obj.Message); |
| | | throw new Exception("上传失败" + obj.message); |
| | | } |
| | | } |
| | | else if (erpList.Contains(notice.Type)) //erp |
| | |
| | | } |
| | | } |
| | | |
| | | public void UpLocate(string wareNo,string locatNo) |
| | | { |
| | | try |
| | | { |
| | | if (string.IsNullOrWhiteSpace(wareNo) || string.IsNullOrWhiteSpace(locatNo)) |
| | | { |
| | | throw new Exception("仓库或储位不能为空"); |
| | | } |
| | | var locate = Db.Queryable<SysStorageLocat>().First(m=>m.IsDel == "0" && m.LocatNo == locatNo && m.WareHouseNo == wareNo); |
| | | if (locate == null) |
| | | { |
| | | throw new Exception("未查询到储位信息"); |
| | | } |
| | | locate.Status = "0";//储位状态变更空储位 |
| | | Db.Updateable(locate).ExecuteCommand(); |
| | | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | throw new Exception(e.Message); |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | } |
| | | |
| | |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | public bool ErpAddExportNotice(SoInfo model) |
| | | public void HttpAddExportNotice(SoInfo model) |
| | | { |
| | | try |
| | | { |
| | |
| | | SONo = billNo, |
| | | Type = model.SoType, |
| | | Status = "0", |
| | | Origin = "WMS", |
| | | Origin = model.Origin, |
| | | CustomerNo = model.Customer, |
| | | CustomerName = customer.CustomerName, |
| | | LogisticsId = logisticsId, |
| | |
| | | |
| | | if (n <= 0 || m <= 0) |
| | | { |
| | | Db.RollbackTran(); |
| | | return false; |
| | | throw new Exception("入库单或明细添加保存失败"); |
| | | } |
| | | Db.CommitTran(); |
| | | return true; |
| | | |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Db.RollbackTran(); |
| | | throw new Exception(ex.Message); |
| | | } |
| | | } |
| | |
| | | .LeftJoin<SysUserInfor>((a, b, c, d, e) => a.CheckUser == e.Id) |
| | | .Select((a, b, c, d, e) => new ExportNoticeDto() |
| | | { |
| | | Id = a.Id, |
| | | SONo = a.SONo, |
| | | Type = a.Type, |
| | | Status = a.Status, |
| | | Origin = a.Origin, |
| | | CustomerNo = a.CustomerNo, |
| | | CustomerName = a.CustomerName, |
| | | LotNo = a.LotNo, |
| | | LotText = a.LotText, |
| | | SupplierLot = a.SupplierLot, |
| | | LogisticsId = a.LogisticsId, |
| | | //Id = a.Id, |
| | | //SONo = a.SONo, |
| | | //Type = a.Type, |
| | | //Status = a.Status, |
| | | //Origin = a.Origin, |
| | | //CustomerNo = a.CustomerNo, |
| | | //CustomerName = a.CustomerName, |
| | | //LotNo = a.LotNo, |
| | | //LotText = a.LotText, |
| | | //SupplierLot = a.SupplierLot, |
| | | //LogisticsId = a.LogisticsId, |
| | | LogisticsName = b.CarrierName, |
| | | IsWave = a.IsWave, |
| | | WaveNo = a.WaveNo, |
| | | IsDespatch = a.IsDespatch, |
| | | Demo = a.Demo, |
| | | //IsWave = a.IsWave, |
| | | //WaveNo = a.WaveNo, |
| | | //IsDespatch = a.IsDespatch, |
| | | //Demo = a.Demo, |
| | | |
| | | CreateUserName = c.RealName, |
| | | UpdateUserName = c.RealName, |
| | | CreateTime = a.CreateTime, |
| | | UpdateTime = a.UpdateTime, |
| | | //CreateTime = a.CreateTime, |
| | | //UpdateTime = a.UpdateTime, |
| | | |
| | | CheckUserName = e.RealName, |
| | | CheckTime = a.CheckTime |
| | | }) |
| | | //CheckTime = a.CheckTime |
| | | },true) |
| | | .OrderByDescending(a => a.CreateTime) |
| | | .ToOffsetPage(page, limit, ref total); |
| | | count = total; |
| | |
| | | try |
| | | { |
| | | var data = LocatRst.GetOneById(id); |
| | | //var data = Db.Queryable<SysStorageLocat>().First(m=>m.Id == id); |
| | | return data; |
| | | } |
| | | catch (Exception e) |
| | |
| | | throw; |
| | | } |
| | | } |
| | | |
| | | public List<SysStorageLocat> GetStorageLocat(List<int> id) |
| | | { |
| | | try |
| | | { |
| | | var SysStorageLocats = new List<SysStorageLocat>(); |
| | | foreach (var item in id) |
| | | { |
| | | var storage = LocatRst.GetOneById(item); |
| | | SysStorageLocats.Add(storage); |
| | | } |
| | | return SysStorageLocats; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Console.WriteLine(e); |
| | | throw; |
| | | } |
| | | } |
| | | |
| | | public bool EditStorageLocat(EditLocateVm model, int userId) |
| | | { |
New file |
| | |
| | | using Microsoft.IdentityModel.Protocols; |
| | | using Model.InterFaceModel; |
| | | using Newtonsoft.Json; |
| | | using SqlSugar; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Security.Policy; |
| | | using System.Text; |
| | | using Utility.Tools; |
| | | using WMS.DAL; |
| | | using WMS.Entity.Context; |
| | | using WMS.Entity.SysEntity; |
| | | using WMS.IBLL.ISysServer; |
| | | |
| | | namespace WMS.BLL.SysServer |
| | | { |
| | | public class Token : DbHelper<SysToken>,IToken |
| | | { |
| | | private static readonly SqlSugarScope Db = DataContext.Db; |
| | | |
| | | public Token() : base(Db) |
| | | { |
| | | } |
| | | public string GetMesToken(string url) |
| | | { |
| | | try |
| | | { |
| | | var str = ""; |
| | | |
| | | //首先判断系统内是否有token值,效期是否失效 |
| | | var sysToken = Db.Queryable<SysToken>().First(m => m.IsDel == "0" && m.SystemName == "MES"); |
| | | if (sysToken != null && !string.IsNullOrWhiteSpace(sysToken.Token) && sysToken.ExpireTime > DateTime.Now) |
| | | { |
| | | str = sysToken.Token; |
| | | return str; //返回token值 |
| | | } |
| | | |
| | | #region 获取新的令牌 |
| | | |
| | | var user = MesConfig.MesUser; |
| | | var pass = MesConfig.MesPassWord; |
| | | var secretKey = Md5Tools.CalcMd5(pass); |
| | | var nonce = Guid.NewGuid().ToString("N"); |
| | | var timestamp = DateTimeOffset.Now.ToUnixTimeSeconds().ToString(); |
| | | |
| | | var info = new string[] { user, secretKey, nonce, timestamp }; |
| | | Array.Sort(info,string.CompareOrdinal); //ASCII排序 |
| | | var miyao = string.Join("", info); //数组转换成字符串 |
| | | var sign = Md5Tools.CalcMd5(miyao); //签名 |
| | | |
| | | var data = new |
| | | { |
| | | user = user, |
| | | nonce = nonce, |
| | | timestamp = timestamp, |
| | | sign = sign, |
| | | jwt = true, //是否返回JWT令牌 |
| | | }; |
| | | #endregion |
| | | |
| | | #region 通过接口发送至erp 或 mes |
| | | //系统对接后放开 |
| | | var jsonData = JsonConvert.SerializeObject(data); |
| | | |
| | | var response = HttpHelper.DoPost(url, jsonData, "MES申请获取令牌", "MES"); |
| | | |
| | | var obj = JsonConvert.DeserializeObject<MesTokenModel>(response);//解析返回数据 |
| | | |
| | | if (obj.status != "success") |
| | | { |
| | | throw new Exception("上传失败" + obj.message); |
| | | } |
| | | else |
| | | { |
| | | var token = obj.Data.token; |
| | | var expireTime = obj.Data.expire_time; |
| | | var time = DateTime.Now.AddMilliseconds(double.Parse(expireTime)); |
| | | if (sysToken == null)//添加 |
| | | { |
| | | var addToken = new SysToken() |
| | | { |
| | | SystemName = "MES", |
| | | Token = token, |
| | | ExpireTime = time, |
| | | CreateUser = 0 |
| | | }; |
| | | Db.Insertable(addToken).ExecuteCommand(); |
| | | return token; |
| | | } |
| | | else //修改 |
| | | { |
| | | sysToken.Token = token; |
| | | sysToken.ExpireTime = time; |
| | | sysToken.UpdateTime = DateTime.Now; |
| | | Db.Updateable(sysToken).ExecuteCommand(); |
| | | return token; |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | } |
| | | catch (Exception) |
| | | { |
| | | return ""; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | public static string ConnectionString { get; set; } |
| | | |
| | | } |
| | | /// <summary> |
| | | /// MES获取令牌账号密码 |
| | | /// </summary> |
| | | public class MesConfig |
| | | { |
| | | /// <summary> |
| | | /// 账号 |
| | | /// </summary> |
| | | public static string MesUser { get; set; } |
| | | /// <summary> |
| | | /// 密码 |
| | | /// </summary> |
| | | public static string MesPassWord { get; set; } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
New file |
| | |
| | | using SqlSugar; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | |
| | | namespace WMS.Entity.SysEntity |
| | | { |
| | | /// <summary> |
| | | /// 外部系统token令牌效期表 |
| | | /// </summary> |
| | | [SugarTable("SysToken")] |
| | | public class SysToken : BaseEntity |
| | | { |
| | | |
| | | /// <summary> |
| | | /// 外部系统名称 |
| | | /// Nullable:False |
| | | /// </summary> |
| | | public string SystemName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// token值 |
| | | /// Nullable:True |
| | | /// </summary> |
| | | public string Token { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 有效期 |
| | | /// Nullable:true |
| | | /// </summary> |
| | | public DateTime? ExpireTime { get; set; } |
| | | |
| | | } |
| | | } |
| | |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | ErpModel CreateAsn(AsnInfo model); |
| | | HttpReturnModel HttpCreateAsn(AsnInfo model); |
| | | /// <summary> |
| | | /// 订单回传上游系统 |
| | | /// </summary> |
| | | /// <param name="id">入库单ID</param> |
| | | /// <param name="url">上传路径</param> |
| | | /// <param name="erpurl">上传路径</param> |
| | | /// <param name="mesUrl">上传路径</param> |
| | | /// <param name="mesTokenUrl">mes获取令牌路径</param> |
| | | /// <param name="userId">操作人</param> |
| | | /// <returns></returns> |
| | | bool FinishAsn(int id, string erpurl, string mesUrl, int userId); |
| | | bool FinishAsn(int id, string erpurl, string mesUrl,string mesTokenUrl, int userId); |
| | | |
| | | void UpLocate(string wareNo, string locatNo); |
| | | |
| | | #endregion |
| | | } |
| | |
| | | /// </summary> |
| | | /// <param name="model">模型</param> |
| | | /// <returns></returns> |
| | | bool ErpAddExportNotice(SoInfo model); |
| | | void HttpAddExportNotice(SoInfo model); |
| | | /// <summary> |
| | | /// 获取执行完成的单据发送至erp |
| | | /// </summary> |
| | |
| | | /// <param name="id"></param> |
| | | /// <returns></returns> |
| | | SysStorageLocat GetStorageLocat(int id); |
| | | |
| | | List<SysStorageLocat> GetStorageLocat(List<int> id); |
| | | |
| | | /// <summary> |
| | | /// 编辑储位信息 |
| | | /// </summary> |
New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | |
| | | namespace WMS.IBLL.ISysServer |
| | | { |
| | | public interface IToken |
| | | { |
| | | /// <summary> |
| | | /// 获取MES的token令牌 |
| | | /// </summary> |
| | | /// <param name="url">mes获取令牌路径</param> |
| | | /// <returns>token值</returns> |
| | | string GetMesToken(string url); |
| | | } |
| | | } |
| | |
| | | string msg = "储位状态 储位号:" + storage.RoadwayNo; |
| | | if (model.Id.Count > 1) |
| | | { |
| | | foreach (var item in model.Id) |
| | | var sstorage = _locatSvc.GetStorageLocat(model.Id); |
| | | foreach (var item in sstorage) |
| | | { |
| | | storage = _locatSvc.GetStorageLocat(item); |
| | | _operation.InsertOperation("仓库设置", "储位管理", storage.LocatNo, "批量编辑", "批量修改储位信息 储位号:" + storage.LocatNo, Convert.ToInt32(userId)); |
| | | _operation.InsertOperation("仓库设置", "储位管理", item.LocatNo, "批量编辑", "批量修改储位信息 储位号:" + item.LocatNo, Convert.ToInt32(userId)); |
| | | } |
| | | //foreach (var item in model.Id) |
| | | //{ |
| | | // storage = _locatSvc.GetStorageLocat(item); |
| | | // _operation.InsertOperation("仓库设置", "储位管理", storage.LocatNo, "批量编辑", "批量修改储位信息 储位号:" + storage.LocatNo, Convert.ToInt32(userId)); |
| | | //} |
| | | } |
| | | else |
| | | { |
| | |
| | | using WMS.IBLL.IBllAsnServer; |
| | | using WMS.IBLL.IBllCheckServer; |
| | | using Model.ModelVm.BllCheckVm; |
| | | using Microsoft.Extensions.Logging; |
| | | |
| | | namespace Wms.Controllers |
| | | { |
| | |
| | | { |
| | | return Ok(new { code = 1, msg = "未获取到当前操作人信息" }); |
| | | } |
| | | _arrivalNoticeSvc.FinishAsn(model.Id, _config.ErpHost + _config.AsnFinishUrl, _config.MesHost + _config.MesAsnFinishUrl, int.Parse(userId)); |
| | | _arrivalNoticeSvc.FinishAsn(model.Id, _config.ErpHost + _config.AsnFinishUrl, _config.MesHost + _config.MesAsnFinishUrl, _config.MesHost + _config.MesGetTokenUrl, int.Parse(userId)); |
| | | |
| | | return Ok(new { code = 0, count = 0, msg = "入库单复核并上传成功" }); |
| | | } |
| | |
| | | [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); |
| | | } |
| | | } |
| | |
| | | [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); |
| | | } |
| | | } |
| | | |
| | | |
| | | //质检结果下发接口 |
| | | |
| | |
| | | services.Configure<ApiUrlConfig>(Configuration.GetSection("ApiUrlConfig")); |
| | | //数据库配置 |
| | | BaseDbConfig.ConnectionString = Configuration.GetSection("AppSettings:ConnectionString").Value; |
| | | //MES账号密码 |
| | | MesConfig.MesUser = Configuration.GetSection("MesConfig:MesUser").Value; |
| | | MesConfig.MesPassWord = Configuration.GetSection("MesConfig:MesPassWord").Value; |
| | | |
| | | |
| | | #region AutoMapper注入 |
| | |
| | | /// </summary> |
| | | public string MesAsnFinishUrl { get; set; } |
| | | |
| | | public string MesGetTokenUrl { get; set; } |
| | | |
| | | #endregion |
| | | |
| | | #region 下游系统 |
| | |
| | | "GetBoxUrl": "/api/wmsInterface/OutStockTask", //获取箱码信息 |
| | | |
| | | //MES |
| | | "MesAsnFinishUrl": "/api/wmsInterface/OutStockTask",//入库单关单 |
| | | |
| | | "MesAsnFinishUrl": "/port/mes/service/mes/save_worder_feedback", //入库单关单 |
| | | "MesGetTokenUrl": "/port/mes/service/system/sign_login", //获取令牌 |
| | | // 赋码 |
| | | |
| | | |
| | |
| | | "GenAgvSchedulingTask": "http://IP:PORT/rcms/services/rest/hikRpcService/genAgvSchedulingTask", //生成任务单接口 |
| | | "ContinueTask": "http://IP:PORT/rcms/services/rest/hikRpcService/continueTask", //继续执行任务接口 |
| | | "GenPreScheduleTask": "http://IP:PORT/rcms/services/rest/hikRpcService/genPreScheduleTask" // 预调度对外接口 |
| | | }, |
| | | "MesConfig": { |
| | | "MesUser": "wms", |
| | | "MesPassWord": "wmS@2024" |
| | | } |
| | | |
| | | |
| | | } |