| using MailKit; | 
| using Masuit.Tools; | 
| using Newtonsoft.Json; | 
| using System; | 
| using System.Collections.Generic; | 
| using System.Linq; | 
| using System.Text; | 
| using System.Threading.Tasks; | 
| using WIDESEA_Core; | 
| using WIDESEA_DTO; | 
|   | 
| namespace WIDESEA_StoragIntegrationServices | 
| { | 
|     public partial class MCSService | 
|     { | 
|         public WebResponseContent ModifyAccessStatus(object json) | 
|         { | 
|             WebResponseContent content = new WebResponseContent(); | 
|             try | 
|             { | 
|                 if (string.IsNullOrEmpty(json.ToString())) throw new Exception("上传参数为空"); | 
|   | 
|                 var result = JsonConvert.DeserializeObject<LocationWorkState>(json.ToString()); | 
|   | 
|                 var locationinfo = _locationRepository.QueryFirst(x => x.AreaId == result.LocationArea && x.LocationCode == result.LocationID); | 
|                 if (locationinfo != null) | 
|                 { | 
|                     //检测柜提供的货位状态,只有wms未锁定且提供的状态为允许才允许放货 | 
|                     if (locationinfo.Remark != result.StateCode.ToString()) | 
|                     { | 
|                         locationinfo.Remark = result.StateCode.ToString(); | 
|                         _locationRepository.UpdateData(locationinfo); | 
|                     } | 
|                 } | 
|                 else | 
|                     throw new Exception("货位不存在"); | 
|   | 
|   | 
|                 LogFactory.GetLog("分容库位同步").Info(true, $"\r\r--------------------------------------"); | 
|                 LogFactory.GetLog("分容库位同步").Info(true, result.ToJsonString()); | 
|                 return content.OK(); | 
|             } | 
|             catch (Exception ex) | 
|             { | 
|                 return content.Error(ex.Message); | 
|             } | 
|         } | 
|   | 
|   | 
|         //private static string LocationStatusByCode(int code) | 
|         //{ | 
|         //    string str = null; | 
|         //    switch (code) | 
|         //    { | 
|         //        case 1: str = "LocationState_Allows"; break; | 
|         //        case 2: str = "LocationState_NotAllows"; break; | 
|         //        //case 2: str = LocationState.LocationLock.ToString(); break; | 
|         //        default: | 
|         //            str = "LocationState_NotAllows"; break; | 
|         //    } | 
|         //    return str; | 
|         //} | 
|     } | 
| } |