陈勇
2 天以前 6b74e1dcf5642c8f56975471e27780d695953989
ÏîÄ¿´úÂë/WMS/WMSServer/WIDESEA_StoragIntegrationServices/MES/Partial/lock.cs
@@ -12,6 +12,7 @@
using WIDESEA_Core;
using WIDESEA_Core.Const;
using WIDESEA_Core.Helper;
using WIDESEA_Model.Models;
using WIDESEAWCS_BasicInfoService;
using WIDESEAWCS_Model.Models;
@@ -22,34 +23,37 @@
    /// </summary>
    public partial class MESService
    {
        public WebResponseContent Lock(object jsondata)
        /// <summary>
        ///
        /// </summary>
        /// <param name="carBody">上报锁车的车身信息</param>
        /// <param name="operationType">上报类型:1-异常锁车  2-异常恢复</param>
        /// <returns></returns>
        public WebResponseContent LockRequest(Dt_CarBodyInfo carBody, int operationType)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                lockInfo lockInfo = new lockInfo()
                {
                    unionKey = Guid.NewGuid().ToString(),
                    plantCode = "1052",
                    sendStatus = operationType.ToString(),
                    messageTime = DateTime.Now.ToString(),
                    insertWorkOrder = "",
                };
                var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_MESIPAddress);
                var wmsBase = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.MESIPAddress)?.ConfigValue;
                var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.bindWorkOrder)?.ConfigValue;
                var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.LockRequest)?.ConfigValue;
                if (wmsBase == null || ipAddress == null)
                {
                    throw new InvalidOperationException("WMS IP æœªé…ç½®");
                }
                var wmsIpAddress = wmsBase + ipAddress;
                var carBodyInfo = _carBodyRepository.QueryFirst(x => x.RFID == "");
                if (carBodyInfo == null) throw new Exception($"未找到PVI的车身数据");
                BindWorkOrder bindOrder = new BindWorkOrder()
                {
                    unionKey = Guid.NewGuid().ToString(),
                    stationCode = "",
                    messageTime = DateTime.Now.ToString(),
                    plantCode = "1052",
                    pvi = carBodyInfo.PVI,
                };
                var MESrespon = HttpHelper.PostAsync(wmsIpAddress, bindOrder.ToJson(), contentType, headers).Result;
                var MESrespon = HttpHelper.PostAsync(wmsIpAddress, lockInfo.ToJson(), contentType, headers).Result;
                Console.WriteLine(MESrespon);
                WebResponseContent webResponse = JsonConvert.DeserializeObject<WebResponseContent>(MESrespon.ToString());
@@ -58,18 +62,17 @@
                    throw new Exception($"{webResponse.msg}");
                }
                BindWorkOrderRespon characterRespon = JsonConvert.DeserializeObject<BindWorkOrderRespon>(webResponse.Data.ToJson());
                LockInfoRespon characterRespon = JsonConvert.DeserializeObject<LockInfoRespon>(webResponse.Data.ToJson());
                _unitOfWorkManage.BeginTran();
                LogFactory.GetLog("锁车上报").Info(true, $"\r\r--------------------------------------");
                LogFactory.GetLog("锁车上报").Info(true, jsondata.ToJsonString());
                LogFactory.GetLog("锁车上报").Info(true, lockInfo.ToJsonString());
                _unitOfWorkManage.CommitTran();
                return content.OK();
            }
            catch (Exception ex)
            {
                LogFactory.GetLog("锁车上报").Info(true, "上报异常" + carBody.ToJsonString());
                return content.Error(ex.Message);
            }
        }