using HH.AutoBom.Core;
|
using HH.WMS.Common;
|
using HH.WMS.Entitys;
|
using HH.WMS.Entitys.Common;
|
using HH.WMS.Entitys.MoveStock;
|
using HH.WMS.WebUI.Controllers;
|
using Newtonsoft.Json;
|
using Newtonsoft.Json.Linq;
|
using System;
|
using System.Collections.Generic;
|
using System.Data;
|
using System.Linq;
|
using System.Web;
|
using System.Web.Mvc;
|
namespace HH.WMS.WebUI.Areas.MoveStock.Controllers
|
{
|
public class MoveController : BaseController
|
{
|
//
|
// GET: /MoveStock/Move/
|
|
public ActionResult Index()
|
{
|
return View();
|
}
|
public ActionResult Edit()
|
{
|
return View();
|
}
|
|
public ActionResult LocationExt()
|
{
|
return View();
|
}
|
|
public ActionResult MoveTaskManage()
|
{
|
return View();
|
}
|
|
public string GetMoveMst(int pageIndex, int pageSize, string stockCode, string type, string opNo, string opMode, string state, string valueDate)
|
{
|
string[] date = new string[2];
|
if (!string.IsNullOrEmpty(valueDate))
|
date = JsonConvert.DeserializeObject<string[]>(valueDate);
|
SearchModel searchModel = new SearchModel()
|
{
|
TokenId = GetTokenId(),
|
PageIndex = pageIndex,
|
PageSize = pageSize,
|
SearchCondition = new
|
{
|
CN_S_STOCK_CODE = stockCode,
|
CN_S_OP_MODE = opMode,
|
CN_S_OP_NO = opNo,
|
CN_S_OP_TYPE = type,
|
CN_S_STATE = state,
|
CN_T_START = !string.IsNullOrEmpty(valueDate) ? date[0] : "",
|
CN_T_END = !string.IsNullOrEmpty(valueDate) ? date[1] : ""
|
}
|
};
|
var result= HttpWMS_Post("api/MoveStock/GetList", JsonConvert.SerializeObject(searchModel));
|
return result;
|
}
|
|
public string GetMoveStockTaskMsts(int pageIndex, int pageSize, string state, string valueDate)
|
{
|
string[] date = new string[2];
|
if (!string.IsNullOrEmpty(valueDate))
|
date = JsonConvert.DeserializeObject<string[]>(valueDate);
|
|
SearchModel searchModel = new SearchModel()
|
{
|
TokenId = GetTokenId(),
|
PageIndex = pageIndex,
|
PageSize = pageSize,
|
SearchCondition = new
|
{
|
CN_S_STATE = state,
|
CN_T_START = !string.IsNullOrEmpty(valueDate) ? date[0] : "",
|
CN_T_END = !string.IsNullOrEmpty(valueDate) ? date[1] : ""
|
}
|
};
|
var result = HttpWMS_Post("api/MoveStockTask/GetMoveStockTaskMsts", JsonConvert.SerializeObject(searchModel));
|
return result;
|
}
|
|
public string GetMoveStockTaskDtls(string guid)
|
{
|
var result = HttpWMS_Get("api/MoveStockTask/GetMoveStockTaskDtls?guid=" + guid, "");
|
return result;
|
}
|
|
public string DeleteTask(string guid)
|
{
|
string returnstr = HttpWMS_Get("Api/MoveStockTask/Delete?guid=" + guid);
|
return returnstr;
|
}
|
|
//public string GetCreateList(string stockCode, string stockArea, string locationCode, string opMode, string opType, string itemCode, string itemName)
|
//{
|
// SearchModel searchModel = new SearchModel()
|
// {
|
// TokenId = GetTokenId(),
|
// SearchCondition = new
|
// {
|
// CN_S_STOCK_CODE = stockCode,
|
// CN_S_OP_MODE = opMode,
|
// CN_S_OP_TYPE = opType,
|
// CN_S_STATE = opMode,
|
// CN_S_ITEM_CODE = itemCode,
|
// CN_S_ITEM_NAME = itemName
|
// }
|
// };
|
// //todo 后台还没有写
|
// return HttpWMS_Post("api/MoveStock/GetMoveItem", JsonConvert.SerializeObject(searchModel));
|
//}
|
|
|
#region 获取移库货位物料数据
|
/// <summary>
|
/// 获取移库货位物料数据
|
/// </summary>
|
/// <param name="CN_S_STOCK_AREA">库区</param>
|
/// <param name="CN_S_ITEM_CODE">物料编码</param>
|
/// <param name="CN_T_OPERATE">盘点日期</param>
|
/// <param name="CN_S_TYPE">类型</param>
|
/// <returns></returns>
|
/// <history>[HanHe(LT)] CREATED 2018/12/17</history>
|
public string GetCreateList(string CN_S_OP_MODE, string CN_S_STOCK_CODE,string CN_S_START_AREA, string CN_S_ITEM_CODE, int pageIndex, int pageSize)
|
{
|
string sqlWhere = "WHERE 1=1";
|
//库区
|
if (!string.IsNullOrEmpty(CN_S_START_AREA))
|
{
|
sqlWhere += " AND CN_S_STOCK_AREA = '" + CN_S_START_AREA + "' ";
|
}
|
//物料编码
|
if (!string.IsNullOrEmpty(CN_S_ITEM_CODE))
|
{
|
sqlWhere += " AND CN_S_ITEM_CODE LIKE '%" + CN_S_ITEM_CODE + "%' ";
|
}
|
////批次号
|
//if (!string.IsNullOrEmpty(CN_S_LOT_NO))
|
//{
|
// sqlWhere += " AND CN_S_LOT_CODE LIKE '%" + CN_S_LOT_NO + "%' ";
|
//}
|
|
//仓库编码
|
if (!string.IsNullOrEmpty(CN_S_STOCK_CODE))
|
{
|
sqlWhere += " AND CN_S_STOCK_CODE = '" + CN_S_STOCK_CODE + "' ";
|
}
|
|
sqlWhere += " AND CN_S_STOCK_AREA<>'XNWXK' ";
|
|
string OrdeBy = " order by CN_S_ITEM_CODE DESC";
|
var entity = new
|
{
|
OrdeBy = OrdeBy,
|
sqlWhere = sqlWhere,
|
pageSize = pageSize,
|
pageIndex = pageIndex,
|
type = CN_S_OP_MODE,
|
tokenId = GetTokenId()
|
|
};
|
string stringjson = JsonConvert.SerializeObject(entity);
|
string list = "";
|
|
list = HttpWMS_Post("Api/MoveStock/GetCreateList", stringjson);
|
|
return list;
|
}
|
#endregion
|
|
#region 货位列表-分页
|
/// <summary>
|
/// 物料列表-分页
|
/// </summary>
|
/// <param name="pageIndex"></param>
|
/// <param name="pageSize"></param>
|
/// <returns></returns>
|
public string LocationExtList(int pageIndex, int pageSize, string locationCode, string areaCode)
|
{
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
var tokenId = loginer.Extend1;
|
var searchModel = new
|
{
|
tokenId = tokenId,
|
PageIndex = pageIndex,
|
PageSize = pageSize,
|
SearchCondition = new
|
{
|
CN_S_LOCATION_CODE = locationCode,
|
CN_S_AREA_CODE = areaCode
|
}
|
};
|
return HttpWMS_Post("api/LocationExt/GetLocationExtList", JsonConvert.SerializeObject(searchModel));
|
}
|
#endregion
|
|
#region 新增
|
/// <summary>
|
/// 新增
|
/// </summary>
|
/// <param name="obj"></param>
|
/// <returns></returns>
|
/// <history>[HanHe(LT)] CREATED 2018/9/13</history>
|
public string MoveAdd(JObject obj)
|
{
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
List<TN_WM_MOVE_DTLEntity> dtl = JsonConvert.DeserializeObject<List<TN_WM_MOVE_DTLEntity>>(obj.Value<object>("dtl").ToString());
|
TN_WM_MOVE_MSTEntity mst = JsonConvert.DeserializeObject<TN_WM_MOVE_MSTEntity>(obj.Value<object>("mst").ToString());
|
mst.CN_S_OP_NO = GetCode(Constants.MoveCode);
|
var time = DateTime.Now;
|
mst.CN_S_OPREATOR = loginer.UserName;
|
mst.CN_T_OP_DATE = time;
|
mst.CN_S_CREATOR = loginer.UserCode;
|
mst.CN_S_CREATOR_BY = loginer.UserName;
|
mst.CN_T_CREATE = time;
|
mst.CN_S_MODIFY = loginer.UserCode;
|
mst.CN_S_MODIFY_BY = loginer.UserName;
|
mst.CN_T_MODIFY = time;
|
var entity = new
|
{
|
mst = mst,
|
dtl = dtl,
|
tokenId = loginer.Extend1
|
};
|
string jsonentity = JsonConvert.SerializeObject(entity);
|
|
return HttpWMS_Post("api/MoveStock/Add", jsonentity); ;
|
}
|
#endregion
|
|
#region 查询移库子表数据分页
|
/// <summary>
|
/// 查询移库子表数据分页
|
/// <returns></returns>
|
/// <history>[HanHe(LT)] CREATED 2018/9/18</history>
|
public string GetStockMoveDtl(string opNo)
|
{
|
string sqlWhere = "";
|
//移库单号
|
if (!string.IsNullOrEmpty(opNo))
|
{
|
sqlWhere += " CN_S_OP_NO like '%" + opNo + "%' ";
|
sqlWhere += " order by CN_S_OP_NO DESC";
|
}
|
string list = HttpWMS_Get("Api/MoveStock/GetMoveDtlList?sqlWhere=" + sqlWhere);
|
return list;
|
}
|
#endregion
|
|
#region 查询移库明细数据分页
|
/// <summary>
|
/// 查询移库明细数据分页
|
/// <returns></returns>
|
/// <history>[HanHe(LT)] CREATED 2018/9/18</history>
|
public string GetMoveResultGroup(string opNo)
|
{
|
string sqlWhere = "";
|
//移库单号
|
if (!string.IsNullOrEmpty(opNo))
|
{
|
sqlWhere += " WHERE CN_S_OP_NO like '%" + opNo + "%' ";
|
sqlWhere += " order by CN_S_OP_NO DESC";
|
}
|
string list = HttpWMS_Get("Api/MoveStock/GetMoveResultList?sqlWhere=" + sqlWhere);
|
return list;
|
}
|
#endregion
|
|
#region 根据单号删除
|
/// <summary>
|
/// 根据单号删除
|
/// </summary>
|
/// <param name="obj"></param>
|
/// <returns></returns>
|
/// <history>[HanHe(LT)] CREATED 2018/9/18</history>
|
public string DeleteStockMove(string opNo)
|
{
|
string returnstr = HttpWMS_Get("Api/MoveStock/DeleteStockMove?opNo=" + opNo);
|
return returnstr;
|
}
|
#endregion
|
|
#region 查询移库单主表
|
/// <summary>
|
/// 查询移库单主表
|
/// </summary>
|
/// <param name="CN_S_OP_NO">移库单号</param>
|
/// <returns></returns>
|
/// <history>[HanHe(LT)] CREATED 2018/9/19</history>
|
public string GetMstDtl(string opNo)
|
{
|
string returnstr = HttpWMS_Get("Api/MoveStock/GetMstDtl?opNo=" + opNo);
|
return returnstr;
|
}
|
#endregion
|
|
#region 修改
|
/// <summary>
|
/// 修改
|
/// </summary>
|
/// <param name="obj"></param>
|
/// <returns></returns>
|
/// <history>[HanHe(LT)] CREATED 2018/9/19</history>
|
public string MoveUpdate(JObject obj)
|
{
|
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
List<TN_WM_MOVE_DTLEntity> dtl = JsonConvert.DeserializeObject<List<TN_WM_MOVE_DTLEntity>>(obj.Value<object>("dtl").ToString());
|
TN_WM_MOVE_MSTEntity mst = JsonConvert.DeserializeObject<TN_WM_MOVE_MSTEntity>(obj.Value<object>("mst").ToString());
|
mst.CN_S_MODIFY = loginer.UserCode;
|
mst.CN_S_MODIFY_BY = loginer.UserName;
|
mst.CN_T_MODIFY = DateTime.Now;
|
var entity = new
|
{
|
mst = mst,
|
dtl = dtl,
|
tokenId = loginer.Extend1
|
};
|
string jsonentity = JsonConvert.SerializeObject(entity);
|
|
return HttpWMS_Post("api/MoveStock/MoveUpdate", jsonentity); ;
|
}
|
#endregion
|
|
#region 提交
|
/// <summary>
|
/// 提交
|
/// </summary>
|
/// <param name="obj"></param>
|
/// <returns></returns>
|
/// <history>[HanHe(LT)] CREATED 2018/9/13</history>
|
public string Submit(JObject obj)
|
{
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
var entity = new
|
{
|
opNo = obj.Value<string>("opNo"),
|
CN_S_CREATOR = loginer.UserCode,
|
CN_S_CREATOR_BY = loginer.UserName,
|
OrgCode = loginer.ParentOrgCode,
|
OrgFlag = loginer.OrgFlag,
|
tokenId = loginer.Extend1
|
};
|
string jsonentity = JsonConvert.SerializeObject(entity);
|
string returnstr = HttpWMS_Post("Api/MoveStock/Submit", jsonentity);
|
return returnstr;
|
}
|
#endregion
|
|
#region 获取虚拟库区
|
/// <summary>
|
/// 获取虚拟库区
|
/// </summary>
|
/// <param name="include">包含库区类型 1:库区 2:作业区 3:逻辑分区 4:1+2 </param>
|
/// <returns></returns>
|
/// <history>[HanHe(LT)] CREATED 2018/12/22</history>
|
public string GetXNAreaList(string stockCode, string areaCode, int include)
|
{
|
var data = HttpWMS_Get("Api/MoveStock/GetXNAreaList?stockCode=" + stockCode + "&areaCode=" + areaCode + "&include=" + include);
|
return data;
|
}
|
#endregion
|
|
#region 导出移库列表
|
/// <summary>
|
/// 导出
|
/// </summary>
|
///<param name="obj">实体</param>
|
/// <returns></returns>
|
/// <history>[HanHe(LT)] CREATED 2019/1/24</history>
|
public string ExportMoveList(JObject obj)
|
{
|
string sqlWhere = "";
|
//移库单号
|
if (!string.IsNullOrEmpty(obj["opNo"].ToString()))
|
{
|
sqlWhere += " WHERE CN_S_OP_NO ='" + obj["opNo"].ToString() + "' ";
|
}
|
string list = HttpWMS_Get("Api/MoveStock/GetMoveResultList?sqlWhere=" + sqlWhere);
|
|
OperateResult or = JsonConvert.DeserializeObject<OperateResult>(list);
|
if (or.Status == ResultStatus.Success)
|
{
|
string s = ((dynamic)or.Data).ToString();
|
|
DataTable dt = HH.WMS.Utils.ZConvert.ToDataTableTwo(s);
|
dynamic columns = obj["columns"];
|
string title = "移库单列表";
|
string fileName = title + "_" + DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".xls";
|
or = ExcelHelper.SaveTemp(columns, title, dt, fileName);
|
return JsonConvert.SerializeObject(OperateResult.Succeed("", new { fileName = fileName }));
|
}
|
else
|
{
|
return JsonConvert.SerializeObject(or);
|
}
|
}
|
#endregion
|
}
|
}
|