using MailKit;
|
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 != LocationStatusByCode(result.StateCode))
|
{
|
locationinfo.Remark = LocationStatusByCode(result.StateCode);
|
_locationRepository.UpdateData(locationinfo);
|
}
|
}
|
else
|
throw new Exception("货位不存在");
|
|
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;
|
}
|
}
|
}
|