using HH.Redis.ReisModel;
using HH.WMS.BLL.Algorithm;
using HH.WMS.BLL.Basic;
using HH.WMS.BLL.SysMgr;
using HH.WMS.Common;
using HH.WMS.Common.Algorithm;
using HH.WMS.Common.Algorithm.Out;
using HH.WMS.DAL;
using HH.WMS.DAL.Algorithm;
using HH.WMS.DAL.Basic;
using HH.WMS.DAL.Check;
using HH.WMS.DAL.Common;
using HH.WMS.DAL.InStock;
using HH.WMS.DAL.MoveStock;
using HH.WMS.DAL.OutStock;
using HH.WMS.Entitys;
using HH.WMS.Entitys.Algorithm;
using HH.WMS.Entitys.Basic;
using HH.WMS.Entitys.Common;
using HH.WMS.Entitys.Entitys;
using HH.WMS.Entitys.MoveStock;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace HH.WMS.BLL.MoveStock
{
public class TN_WM_MOVE_MSTBLL : DapperBaseBLL
{
#region 获取分页列表
///
/// 获取分页列表
///
///
///
/// [HanHe(lt)] CREATED 2018/9/6
public DataTable GetDataTable(dynamic obj)
{
DataTable dt = CreateDAL().GetDataTable(obj);
Dictionary stockDic = new Dictionary();
Dictionary areaDic = new Dictionary();
dt.Columns.Add("CN_S_STOCK_NAME");
dt.Columns.Add("CN_S_START_AREA_NAME");
dt.Columns.Add("CN_S_END_AREA_NAME");
for (int i = 0; i < dt.Rows.Count; i++)
{
if (!string.IsNullOrEmpty(dt.Rows[i]["CN_S_STOCK_CODE"].ToString())) //获取仓库名称
{
if (!stockDic.ContainsKey(dt.Rows[i]["CN_S_STOCK_CODE"].ToString()))
{
TN_AB_STOCKEntity stockentity = CreateDAL().GetStockentity("CN_S_STOCK_CODE", dt.Rows[i]["CN_S_STOCK_CODE"].ToString());//获取仓库名称
if (stockentity != null)
{
dt.Rows[i]["CN_S_STOCK_NAME"] = stockentity.CN_S_STOCK_NAME;
stockDic.Add(dt.Rows[i]["CN_S_STOCK_CODE"].ToString(), stockentity.CN_S_STOCK_NAME);
}
}
else
{
dt.Rows[i]["CN_S_STOCK_NAME"] = stockDic[dt.Rows[i]["CN_S_STOCK_CODE"].ToString()];
}
}
if (!string.IsNullOrEmpty(dt.Rows[i]["CN_S_START_AREA"].ToString()))//获取起始库区名称
{
if (!areaDic.ContainsKey(dt.Rows[i]["CN_S_START_AREA"].ToString()))
{
AutoBomStockAreaEntity areaentity = CreateDAL().GetModel(dt.Rows[i]["CN_S_START_AREA"].ToString());//获取库区名称
if (areaentity != null)
{
dt.Rows[i]["CN_S_START_AREA_NAME"] = areaentity.CN_S_AREA_NAME;
areaDic.Add(dt.Rows[i]["CN_S_START_AREA"].ToString(), areaentity.CN_S_AREA_NAME);
}
}
else
{
dt.Rows[i]["CN_S_START_AREA_NAME"] = areaDic[dt.Rows[i]["CN_S_START_AREA"].ToString()];
}
}
if (!string.IsNullOrEmpty(dt.Rows[i]["CN_S_END_AREA"].ToString()))//获取库区名称
{
if (!areaDic.ContainsKey(dt.Rows[i]["CN_S_END_AREA"].ToString()))
{
AutoBomStockAreaEntity areaentity = CreateDAL().GetModel(dt.Rows[i]["CN_S_END_AREA"].ToString());//获取库区名称
if (areaentity != null)
{
dt.Rows[i]["CN_S_END_AREA_NAME"] = areaentity.CN_S_AREA_NAME;
areaDic.Add(dt.Rows[i]["CN_S_END_AREA"].ToString(), areaentity.CN_S_AREA_NAME);
}
}
else
{
dt.Rows[i]["CN_S_END_AREA_NAME"] = areaDic[dt.Rows[i]["CN_S_END_AREA"].ToString()];
}
}
}
return dt;
}
///
/// 获取分页列表
///
///
///
/// [HanHe(lt)] CREATED 2018/9/6
public DataTable GetDataTable(string sqlWhere, string OrdeBy, int pageSize, int pageIndex)
{
return CreateDAL().GetDataTable(sqlWhere, OrdeBy, pageSize, pageIndex);
}
#endregion
#region 新增
///
/// 增加一条数据
///
/// [HanHe(lt)] CREATED 2018/9/6
public SqlExecuteResult Add(TN_WM_MOVE_MSTEntity entity)
{
return CreateDAL().Add(entity, null);
}
#endregion
#region 修改
///
/// 更新一条数据
///
/// [HanHe(lt)] CREATED 2018/9/6
public SqlExecuteResult Update(TN_WM_MOVE_MSTEntity entity)
{
return CreateDAL().Update(entity, null);
}
#endregion
#region 删除
///
/// 删除一条数据
///
/// [HanHe(lt)] CREATED 2018/9/6
public SqlExecuteResult Delete(string sqlwhere)
{
return CreateDAL().Delete(sqlwhere, null);
}
#endregion
#region 查询移库业务主表
///
/// 查询移库业务主表
///
/// 查询条件
///
/// [HanHe(lt)] CREATED 2018/9/6
public DataTable Getentity(string sqlwhere)
{
DataTable dt = CreateDAL().Getentity(sqlwhere);
return dt;
}
#endregion
#region 获取货位物料信息
///
/// 获取货位物料信息
///
/// 查询条件
///
/// [HanHe(lt)] CREATED 2018/9/11
public DataTable GetTrayLocation(dynamic obj)
{
DataTable dt = CreateDAL().GetTrayLocation(obj);
Dictionary stockDic = new Dictionary();
Dictionary areaDic = new Dictionary();
dt.Columns.Add("CN_S_STOCK_NAME");
dt.Columns.Add("CN_S_AREA_NAME");
for (int i = 0; i < dt.Rows.Count; i++)
{
if (!string.IsNullOrEmpty(dt.Rows[i]["CN_S_STOCK_CODE"].ToString())) //获取仓库名称
{
if (!stockDic.ContainsKey(dt.Rows[i]["CN_S_STOCK_CODE"].ToString()))
{
TN_AB_STOCKEntity stockentity = CreateDAL().GetStockentity("CN_S_STOCK_CODE", dt.Rows[i]["CN_S_STOCK_CODE"].ToString().Trim());//获取仓库名称
if (stockentity != null)
{
dt.Rows[i]["CN_S_STOCK_NAME"] = stockentity.CN_S_STOCK_NAME;
stockDic.Add(dt.Rows[i]["CN_S_STOCK_CODE"].ToString(), stockentity.CN_S_STOCK_NAME);
}
}
else
{
dt.Rows[i]["CN_S_STOCK_NAME"] = stockDic[dt.Rows[i]["CN_S_STOCK_CODE"].ToString()];
}
}
if (!string.IsNullOrEmpty(dt.Rows[i]["CN_S_STOCK_AREA"].ToString()))//获取库区名称
{
if (!areaDic.ContainsKey(dt.Rows[i]["CN_S_STOCK_AREA"].ToString()))
{
AutoBomStockAreaEntity areaentity = CreateDAL().GetModel(dt.Rows[i]["CN_S_STOCK_AREA"].ToString().Trim());//获取库区名称
if (areaentity != null)
{
dt.Rows[i]["CN_S_AREA_NAME"] = areaentity.CN_S_AREA_NAME;
areaDic.Add(dt.Rows[i]["CN_S_STOCK_AREA"].ToString(), areaentity.CN_S_AREA_NAME);
}
}
else
{
dt.Rows[i]["CN_S_AREA_NAME"] = areaDic[dt.Rows[i]["CN_S_STOCK_AREA"].ToString()];
}
}
}
return dt;
}
#endregion
#region 新增
///
/// 新增
///
/// json实体类
///
/// [HanHe(lt)] CREATED 2018/9/13
public SqlExecuteResult Add(JObject obj)
{
SqlExecuteResult result = new SqlExecuteResult();
TN_WM_MOVE_MSTEntity entitymst = JsonConvert.DeserializeObject(obj.Value