using HH.WMS.BLL;
using HH.WMS.BLL.Basic;
using HH.WMS.Common;
using HH.WMS.Common.External;
using HH.WMS.Entitys;
using HH.WMS.Entitys.Basic;
using HH.WMS.Entitys.Common;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace HH.WMS.WebApi.Areas.Common.Controllers
{
public class LocationExtController : BaseController
{
#region 缓存同步-根据仓库号和货位号获取一条数据
///
/// 根据仓库号和货位号获取一条数据
///
/// 仓库号和货位号条件集合
///
/// [HanHe(XDL)] CREATED 2018/06/28
[HttpGet]
public string GetModel(string Where)
{
TN_WM_LOCATION_EXTEntity entity = BLL.BLLCreator.Create().GetExtModel(Where);
return JsonConvert.SerializeObject(entity);
}
#endregion
#region 缓存同步-删除
///
/// 缓存同步-删除
///
/// 删除实体
///
/// [HanHe(XDL)] CREATED 2018/06/28
[HttpGet]
public string Delete(string Where)
{
SqlExecuteResult reuslt = BLL.BLLCreator.Create().Delete(Where);
return JsonConvert.SerializeObject(reuslt);
}
#endregion
#region 缓存同步-新增
///
/// 缓存同步-新增
///
/// 新增实体
///
/// [HanHe(XDL)] CREATED 2018/06/28
[HttpPost]
public string Add(dynamic obj)
{
TN_WM_LOCATION_EXTEntity Entity = JsonConvert.DeserializeObject(obj.ExtEntity.ToString());
var result = JsonConvert.SerializeObject(BLL.BLLCreator.Create().Add(Entity));
return result;
}
#endregion
#region 缓存同步-同步时修改数据
///
/// 缓存同步-同步时修改数据
///
/// 更新实体
///
/// [HanHe(XDL)] CREATED 2018/06/28
[HttpPost]
public string UpdateSync(dynamic obj)
{
TN_WM_LOCATION_EXTEntity Entity = JsonConvert.DeserializeObject(obj.ExtEntity.ToString());
SqlExecuteResult reuslt = BLL.BLLCreator.Create().UpdateSync(Entity);
return JsonConvert.SerializeObject(reuslt);
}
#endregion
#region 缓存同步-修改成报废
///
/// 缓存同步-修改成报废
///
/// 删除实体
///
/// [HanHe(XDL)] CREATED 2018/06/28
[HttpGet]
public string UpdateBFState(string Where)
{
Log.Detail("缓存同步-修改成报废", "接收参数:" + Where);
try
{
HH.TOOLS.LOG.LogPara logPara = new HH.TOOLS.LOG.LogPara("缓存同步-修改成报废");
logPara.Push("接收参数:" + Where);
var result = JsonConvert.SerializeObject(BLL.BLLCreator.Create().UpdateBFState(Where, ""));
logPara.PushAndAdd("返回结果:" + result);
return result;
}
catch(Exception ex)
{
Log.Detail("缓存同步-修改成报废", "报错原因:" + ex.Message);
return "";
}
}
#endregion
#region 更新货位状态
[HttpGet]
public string UpdateLocationState(string locationCode, string state)
{
var logPara = LogType.LogPara("更新货位状态");
Log.Detail(logPara, "接收参数,货位:" + locationCode + ",状态:" +state);
OperateResult result = BLL.BLLCreator.Create().UpdateState(locationCode, state, "");
Log.Detail(logPara, "结果:" + JsonConvert.SerializeObject(result));
return JsonConvert.SerializeObject(result);
}
#endregion
#region 货位列表
///
/// 货位列表-分页
///
///
///
///
[HttpPost]
public string GetLocationExtList(SearchModel searchModel)
{
return ValidateToken(searchModel.TokenId, x =>
{
OperateResult list = BLLCreator.Create().GetLocationExtList(searchModel);
return JsonConvert.SerializeObject(list);
});
}
#endregion
#region 货位列表
///
/// 货位列表
///
///
///
///
[HttpGet]
public string GetLocationList()
{
return ValidateToken(x =>
{
List locationList = BLLCreator.Create().GetLocationList();
return JsonConvert.SerializeObject(locationList);
});
}
///
/// 货位实体
///
///
[HttpGet]
public string GetLocationModel(string locationCode)
{
return ValidateToken(x =>
{
TN_WM_LOCATION_EXTEntity locationModel = BLLCreator.CreateDapper().GetSingleEntity(new
{
CN_S_LOCATION_CODE = locationCode
});
return JsonConvert.SerializeObject(OperateResult.Succeed("", locationModel));
});
}
#endregion
#region
public OperateResult GetLocationState(string stockCode)
{
try
{
return ValidateToken(Y =>
{
if (Constants.SysConfig.DB_TYPE == "MSSQL")
{
List areas = BLLCreator.Create().GetArea(1, stockCode);
areas.AddRange(BLLCreator.Create().GetArea(4, stockCode));
if (areas.Count() == 0)
{
return OperateResult.Succeed("", new DataTable());
}
DataTable list = BLLCreator.Create().GetAreaStorageInfo(stockCode, areas.Select(x => x.CN_S_AREA_CODE).ToArray());
foreach (DataRow dr in list.Rows)
{
dr["CN_S_AREA_CODE"] = areas.Find(x => x.CN_S_AREA_CODE.Equals(dr["CN_S_AREA_CODE"].ToString().Trim())).CN_S_AREA_NAME;
}
return OperateResult.Succeed("", list);
}
else
{
DataTable list = new DataTable();
return OperateResult.Succeed("", list);
}
});
}
catch (Exception ex)
{
return OperateResult.Error(ex.Message);
}
}
#endregion
}
}