using HH.Redis.ReisModel;
|
using HH.WMS.BLL;
|
using HH.WMS.BLL.Common;
|
using HH.WMS.BLL.InStock;
|
using HH.WMS.BLL.MoveStock;
|
using HH.WMS.Common;
|
using HH.WMS.Entitys;
|
using HH.WMS.Entitys.Algorithm;
|
using HH.WMS.Entitys.Basic;
|
using HH.WMS.Entitys.Common;
|
using HH.WMS.Entitys.MoveStock;
|
using HH.WMS.WebApi.Areas.Common.Controllers;
|
using Newtonsoft.Json;
|
using Newtonsoft.Json.Converters;
|
using Newtonsoft.Json.Linq;
|
using System;
|
using System.Collections.Generic;
|
using System.Data;
|
using System.Linq;
|
using System.Net;
|
using System.Net.Http;
|
using System.Text;
|
using System.Web.Http;
|
|
namespace HH.WMS.WebApi.Areas.MoveStock.Controllers
|
{
|
public class MoveStockController : BaseController
|
{
|
#region 查询移库主表
|
/// <summary>
|
/// 查询移库主表
|
/// </summary>
|
/// <param name="model">查询实体</param>
|
/// <returns></returns>
|
/// history>[HanHe(dbs)] CREATED 2018/15/15</history>
|
[HttpPost]
|
public string GetList(SearchModel model)
|
{
|
return ValidateToken(model.TokenId, t =>
|
{
|
long total;
|
StringBuilder str = new StringBuilder();
|
str.Append(" select * from TN_WM_MOVE_MST where 1=1");
|
|
if (model.SearchCondition.CN_S_STOCK_CODE != null)
|
{//判断是否页面第一次加载
|
if (model.SearchCondition.CN_S_STOCK_CODE != "")
|
{
|
str.Append(" AND CN_S_STOCK_CODE ='" + model.SearchCondition.CN_S_STOCK_CODE + "'");
|
}
|
if (model.SearchCondition.CN_S_OP_MODE != "")
|
{
|
str.Append(" AND CN_S_OP_MODE ='" + model.SearchCondition.CN_S_OP_MODE + "'");
|
}
|
if (model.SearchCondition.CN_S_OP_NO != "")
|
{
|
str.Append(" AND CN_S_OP_NO like '%" + model.SearchCondition.CN_S_OP_NO + "%'");
|
}
|
if (model.SearchCondition.CN_S_STATE != "")
|
{
|
str.Append(" AND CN_S_STATE ='" + model.SearchCondition.CN_S_STATE + "'");
|
}
|
if (string.IsNullOrEmpty(model.SearchCondition.CN_T_START.ToString()))
|
{
|
str.Append(" AND CN_T_CREATE >='" + model.SearchCondition.CN_T_START + "'");
|
}
|
if (string.IsNullOrEmpty(model.SearchCondition.CN_T_END.ToString()))
|
{
|
str.Append(" AND CN_T_CREATE <= DateAdd(dd, 1, '" + model.SearchCondition.CN_T_END + "')");
|
}
|
}
|
|
DataTable dt = BLLCreator.Create<TN_WM_MOVE_MSTBLL>().GetDataList(str.ToString(), model.PageIndex, model.PageSize, out total, null);
|
Dictionary<string, string> areaDic = new Dictionary<string, string>();
|
Dictionary<string, string> stockDic = new Dictionary<string, string>();
|
dt.Columns.Add("CN_S_STOCK_NAME");
|
dt.Columns.Add("CN_S_START_AREA_NAME");
|
dt.Columns.Add("CN_S_END_AREA_NAME");
|
foreach (DataRow dtrow in dt.Rows)
|
{
|
if (!string.IsNullOrEmpty(dtrow["CN_S_STOCK_CODE"].ToString())) //获取仓库名称
|
{
|
if (!stockDic.ContainsKey(dtrow["CN_S_STOCK_CODE"].ToString()))
|
{
|
TN_AB_STOCKEntity stockentity = BLLCreator.Create<TN_WM_MONGOBLL>().GetStockentity("CN_S_STOCK_CODE", dtrow["CN_S_STOCK_CODE"].ToString().Trim());//获取仓库名称
|
if (stockentity != null)
|
{
|
dtrow["CN_S_STOCK_NAME"] = stockentity.CN_S_STOCK_NAME;
|
stockDic.Add(dtrow["CN_S_STOCK_CODE"].ToString(), stockentity.CN_S_STOCK_NAME);
|
}
|
}
|
else
|
{
|
dtrow["CN_S_STOCK_NAME"] = stockDic[dtrow["CN_S_STOCK_CODE"].ToString()];
|
}
|
}
|
if (!string.IsNullOrEmpty(dtrow["CN_S_START_AREA"].ToString()))//获取库区名称
|
{
|
if (!areaDic.ContainsKey(dtrow["CN_S_START_AREA"].ToString()))
|
{
|
AutoBomStockAreaEntity areaentity = BLLCreator.Create<TN_WM_MONGOBLL>().GetStockArea(dtrow["CN_S_START_AREA"].ToString().Trim());//获取库区名称
|
if (areaentity != null)
|
{
|
dtrow["CN_S_START_AREA_NAME"] = areaentity.CN_S_AREA_NAME;
|
areaDic.Add(dtrow["CN_S_START_AREA"].ToString(), areaentity.CN_S_AREA_NAME);
|
}
|
}
|
else
|
{
|
dtrow["CN_S_START_AREA_NAME"] = areaDic[dtrow["CN_S_START_AREA"].ToString()];
|
}
|
}
|
|
if (!string.IsNullOrEmpty(dtrow["CN_S_END_AREA"].ToString()))//获取库区名称
|
{
|
if (!areaDic.ContainsKey(dtrow["CN_S_END_AREA"].ToString()))
|
{
|
AutoBomStockAreaEntity areaentity = BLLCreator.Create<TN_WM_MONGOBLL>().GetStockArea(dtrow["CN_S_END_AREA"].ToString().Trim());//获取库区名称
|
if (areaentity != null)
|
{
|
dtrow["CN_S_END_AREA_NAME"] = areaentity.CN_S_AREA_NAME;
|
areaDic.Add(dtrow["CN_S_END_AREA"].ToString(), areaentity.CN_S_AREA_NAME);
|
}
|
}
|
else
|
{
|
dtrow["CN_S_END_AREA_NAME"] = areaDic[dtrow["CN_S_END_AREA"].ToString()];
|
}
|
}
|
}
|
OperateResult res = OperateResult.Succeed(null, new { rows = dt, total = total });
|
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
|
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
|
return JsonConvert.SerializeObject(res, timeFormat);
|
});
|
}
|
#endregion
|
|
#region 获取货位物料信息
|
/// <summary>
|
/// 获取货位物料信息
|
/// </summary>
|
/// <param name="sqlwhere">查询条件</param>
|
/// <returns></returns>
|
/// <history>[HanHe(lt)] CREATED 2018/9/11</history>
|
[HttpPost]
|
public string GetCreateList(dynamic obj)
|
{
|
string tokenId = obj["tokenId"].ToString();
|
return ValidateToken(tokenId, t =>
|
{
|
DataTable dt = BLLCreator.Create<TN_WM_MOVE_MSTBLL>().GetTrayLocation(obj);
|
OperateResult res = OperateResult.Succeed(null, new { rows = dt, total = obj.PageCount });
|
return JsonConvert.SerializeObject(res);
|
});
|
}
|
#endregion
|
|
#region 新增
|
/// <summary>
|
/// 新增
|
/// </summary>
|
/// <param name="obj">json实体</param>
|
/// <returns></returns>
|
/// <history>[HanHe(lt)] CREATED 2018/9/13</history>
|
public OperateResult Add(JObject obj)
|
{
|
string tokenId = obj["tokenId"].ToString();
|
return ValidateToken(tokenId, t =>
|
{
|
SqlExecuteResult result = BLLCreator.Create<TN_WM_MOVE_MSTBLL>().Add(obj);
|
if (result.Success)
|
{
|
return OperateResult.Succeed();
|
}
|
return OperateResult.Error(result.Exception.Message);
|
});
|
}
|
#endregion
|
|
#region 查询移库字表
|
/// <summary>
|
/// 查询移库字表
|
/// </summary>
|
/// <param name="obj"></param>
|
/// <returns></returns>
|
/// history>[HanHe(lt)] CREATED 2018/9/18</history>
|
[HttpPost]
|
public string GetMoveDtl(dynamic obj)
|
{
|
string tokenId = obj["tokenId"].ToString();
|
return ValidateToken(tokenId, t =>
|
{
|
DataTable dt = BLLCreator.Create<TN_WM_MOVE_DTLBLL>().GetDataTable(obj);
|
OperateResult res = OperateResult.Succeed(null, new { rows = dt, total = obj.PageCount });
|
return JsonConvert.SerializeObject(res);
|
});
|
}
|
|
|
/// <summary>
|
/// 查询移库字表
|
/// </summary>
|
/// <param name="obj"></param>
|
/// <returns></returns>
|
/// history>[HanHe(lt)] CREATED 2018/9/18</history>
|
[HttpGet]
|
public string GetMoveDtlList(string sqlWhere)
|
{
|
return ValidateToken(t =>
|
{
|
DataTable dt = BLLCreator.Create<TN_WM_MOVE_DTLBLL>().getInfo(sqlWhere);
|
OperateResult res = OperateResult.Succeed("", dt);
|
return JsonConvert.SerializeObject(res);
|
});
|
}
|
#endregion
|
|
#region 查询移库明细表
|
/// <summary>
|
/// 查询移库主表
|
/// </summary>
|
/// <param name="obj"></param>
|
/// <returns></returns>
|
/// history>[HanHe(lt)] CREATED 2018/9/18</history>
|
[HttpPost]
|
public string GetMoveResultGroup(dynamic obj)
|
{
|
string tokenId = obj["tokenId"].ToString();
|
return ValidateToken(tokenId, t =>
|
{
|
DataTable dt = BLLCreator.Create<TN_WM_B_MOVE_RESULTBLL>().GetDataTableGroup(obj);
|
OperateResult res = OperateResult.Succeed(null, new { rows = dt, total = obj.PageCount });
|
return JsonConvert.SerializeObject(res);
|
});
|
}
|
|
public string GetMoveResultList(string sqlWhere)
|
{
|
return ValidateToken(t =>
|
{
|
DataTable dt = BLLCreator.Create<TN_WM_B_MOVE_RESULTBLL>().GetMoveResultList(sqlWhere);
|
OperateResult res = OperateResult.Succeed("", dt);
|
return JsonConvert.SerializeObject(res);
|
});
|
}
|
#endregion
|
|
#region 删除移库数据
|
/// <summary>
|
///删除移库数据
|
/// </summary>
|
/// <param name="obj"></param>
|
/// <returns></returns>
|
/// <history>[HanHe(lt)] CREATED 2018/9/18</history>
|
[HttpGet]
|
public OperateResult DeleteStockMove(string opNo)
|
{
|
return ValidateToken(t =>
|
{
|
SqlExecuteResult result = BLL.BLLCreator.Create<TN_WM_MOVE_MSTBLL>().DeleteStockMove(opNo);
|
if (result.Success)
|
{
|
return OperateResult.Succeed();
|
}
|
return OperateResult.Error(result.Exception.Message);
|
});
|
}
|
#endregion
|
|
#region 查询移库主表
|
/// <summary>
|
/// 查询移库主表
|
/// </summary>
|
/// <param name="CN_S_OP_NO">移库单号</param>
|
/// <returns></returns>
|
/// <history>[HanHe(lt)] CREATED 2018/9/18</history>
|
[HttpGet]
|
public string GetMstDtl(string opNo)
|
{
|
|
//DataTable dt = BLLCreator.Create<TN_WM_MOVE_MSTBLL>().GetMst("AND CN_S_OP_NO='" + opNo + "'");
|
//DataTable dtDtl = BLLCreator.Create<TN_WM_MOVE_DTLBLL>().GetDtl(" a.CN_S_OP_NO='" + opNo + "'");
|
//string mst = dt.Rows.Count < 0 ? "[]" : JsonHelper.DataTableToJson("", dt, dt.Rows.Count);
|
//string dtl = dtDtl.Rows.Count < 0 ? "[]" : JsonHelper.DataTableToJson("", dtDtl, dtDtl.Rows.Count);
|
//return "{\"mst\":" + mst + ",\"dtl\":" + dtl + "}";
|
return ValidateToken(t =>
|
{
|
DataTable dt = BLLCreator.Create<TN_WM_MOVE_MSTBLL>().GetMst("AND CN_S_OP_NO='" + opNo + "'");
|
DataTable dtDtl = BLLCreator.Create<TN_WM_MOVE_DTLBLL>().GetDtl(" a.CN_S_OP_NO='" + opNo + "'");
|
OperateResult res = OperateResult.Succeed("", new { mst = dt, dtl = dtDtl });
|
return JsonConvert.SerializeObject(res);
|
});
|
}
|
#endregion
|
|
#region 修改
|
/// <summary>
|
/// 修改
|
/// </summary>
|
/// <param name="obj">json实体</param>
|
/// <returns></returns>
|
/// <history>[HanHe(lt)] CREATED 2018/9/13</history>
|
[HttpPost]
|
public OperateResult MoveUpdate(JObject obj)
|
{
|
string tokenId = obj["tokenId"].ToString();
|
return ValidateToken(tokenId, t =>
|
{
|
SqlExecuteResult result = BLLCreator.Create<TN_WM_MOVE_MSTBLL>().MoveUpdate(obj);
|
if (result.Success)
|
{
|
return OperateResult.Succeed();
|
}
|
return OperateResult.Error(result.Exception.Message);
|
});
|
}
|
#endregion
|
|
#region 提交
|
/// <summary>
|
///提交
|
/// </summary>
|
/// <param name="entity"></param>
|
/// <returns></returns>
|
/// <history>[HanHe(lt)] CREATED 2018/12/13</history>
|
[HttpPost]
|
public OperateResult Submit(JObject obj)
|
{
|
string tokenId = obj["tokenId"].ToString();
|
return ValidateToken(tokenId, t =>
|
{
|
OperateResult result = BLL.BLLCreator.Create<TN_WM_MOVE_MSTBLL>().Submit(obj);
|
return result;
|
});
|
}
|
#endregion
|
|
#region 移库分拣完成
|
/// <summary>
|
///移库分拣完成
|
/// </summary>
|
/// <param name="opNo">移库单号</param>
|
/// <returns></returns>
|
/// <history>[HanHe(lt)] CREATED 2018/12/20</history>
|
[HttpGet]
|
public OperateResult MoveSortingComplete(string opNo, string userId, string userName, string orgId, string orgFlag)
|
{
|
//return ValidateToken(t =>
|
//{
|
SqlExecuteResult result = BLL.BLLCreator.Create<TN_WM_MOVE_MSTBLL>().MoveSortingComplete(opNo, userId, userName, orgId, orgFlag);
|
if (result.Success)
|
{
|
return OperateResult.Succeed();
|
}
|
return OperateResult.Error(result.Exception.Message);
|
//});
|
}
|
#endregion
|
|
#region 获取虚拟库区
|
/// <summary>
|
/// 根据仓库获得所有库区
|
/// </summary>
|
/// <returns></returns>
|
/// <history>[HanHe(LT)] CREATED 2018/12/22</history>
|
public OperateResult GetXNAreaList(string stockCode, string areaCode, string include)
|
{
|
return ValidateToken(t =>
|
{
|
var list = BLLCreator.Create<TN_WM_MONGOBLL>().GetXNAreaList(stockCode, areaCode, include);
|
return OperateResult.Succeed("", list);
|
});
|
}
|
#endregion
|
|
#region PDA
|
|
#region 根据货位获取托盘信息
|
/// <summary>
|
/// 根据货位获取托盘信息
|
/// </summary>
|
/// <param name="lstQueryUpdate"></param>
|
/// <param name="trans"></param>
|
/// <returns></returns>
|
/// <History>[HANHE(lt)] CREATED BY 2018-12-5</History>
|
[HttpGet]
|
public string GetTrayLocationBylocation(string location)
|
{
|
return ValidateToken(t =>
|
{
|
string sqlwhere = "where CN_S_LOCATION_CODE='" + location + "'";
|
List<TN_WM_B_TRAY_ITEM_MSTEntity> list = BLL.BLLCreator.Create<TN_WM_B_TRAY_LOCATIONBLL>().GetTrayLocation(sqlwhere);
|
OperateResult res = OperateResult.Succeed(null, list);
|
return JsonConvert.SerializeObject(res);
|
});
|
}
|
#endregion
|
|
|
#region 根据货位获取托盘信息(包括空货位)
|
/// <summary>
|
/// 根据货位获取托盘信息
|
/// </summary>
|
/// <param name="lstQueryUpdate"></param>
|
/// <param name="trans"></param>
|
/// <returns></returns>
|
/// <History>[HANHE(lt)] CREATED BY 2018-12-5</History>
|
[HttpGet]
|
public string GetTrayLocationAndNullLocationBylocation(string location)
|
{
|
return ValidateToken(t =>
|
{
|
string sqlwhere = "where a.CN_S_LOCATION_CODE='" + location + "'";
|
List<TN_WM_B_TRAY_ITEM_MSTEntity> list = BLL.BLLCreator.Create<TN_WM_B_TRAY_LOCATIONBLL>().GetTrayLocationAndNullLocation(sqlwhere);
|
OperateResult res = OperateResult.Succeed(null, list);
|
return JsonConvert.SerializeObject(res);
|
});
|
}
|
#endregion
|
|
#region 修改货位
|
/// <summary>
|
/// 修改货位
|
/// </summary>
|
/// <param name="obj"></param>
|
/// <returns></returns>
|
/// <history>[HanHe(lt)] CREATED 2018/12/5</history>
|
[HttpGet]
|
public string UpdateLocation(string startLoca, string endLoc)
|
{
|
return ValidateToken(t =>
|
{
|
SqlExecuteResult result = BLLCreator.Create<TN_WM_B_TRAY_LOCATIONBLL>().UpdateLocation(startLoca, endLoc);
|
if (result.Success)
|
{
|
return JsonConvert.SerializeObject(OperateResult.Succeed());
|
}
|
return JsonConvert.SerializeObject(OperateResult.Error(result.Exception.Message));
|
});
|
}
|
#endregion
|
|
#region 部分移库
|
/// <summary>
|
///部分移库
|
/// </summary>
|
/// <param name="opNo">移库单号</param>
|
/// <returns></returns>
|
/// <history>[HanHe(lt)] CREATED 2019/1/7</history>
|
[HttpPost]
|
public OperateResult PartMoveStock(JObject obj)
|
{
|
string tokenId = obj["tokenId"].ToString();
|
return ValidateToken(tokenId, t =>
|
{
|
OperateResult result = BLL.BLLCreator.Create<TN_WM_MOVE_MSTBLL>().PartMoveStock(obj, t);
|
return result;
|
});
|
}
|
#endregion
|
|
|
#endregion
|
}
|
}
|