using HH.WMS.BLL;
|
using HH.WMS.BLL.Basic;
|
using HH.WMS.BLL.InStock;
|
using HH.WMS.Common;
|
using HH.WMS.Entitys;
|
using HH.WMS.Entitys.Basic;
|
using HH.WMS.Entitys.Common;
|
using HH.WMS.WebApi.Areas.Common.Controllers;
|
using Newtonsoft.Json;
|
using Newtonsoft.Json.Converters;
|
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.InStock.Controllers
|
{
|
public class HKInOrderController : BaseController
|
{
|
#region 新增工单
|
/// <summary>
|
/// 新增工单
|
/// </summary>
|
/// <param name="Entity">工单实体</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2019-02-20</History>
|
[HttpPost]
|
public OperateResult AddInOrder(TN_WM_WORK_ORDEREntity entity)
|
{
|
try
|
{
|
return ValidateToken(entity.TokenId, t =>
|
{
|
var item = BLLCreator.Create<TN_WMS_ITEMBLL>().GetItem(entity.CN_S_ITEM_CODE);
|
if (item != null)
|
{
|
decimal trayQty = Math.Ceiling(entity.CN_F_PLAN_QTY / item.CN_F_MIN_PACK_QTY);
|
entity.CN_F_PLAN_TRAY_QTY = trayQty;
|
}
|
OperateResult result = new OperateResult();
|
|
entity.CN_S_CREATOR = t.CN_S_LOGIN;
|
entity.CN_S_CREATOR_BY = t.CN_S_NAME;
|
entity.CN_T_CREATE = DateTime.Now;
|
|
entity.CN_S_MODIFY = t.CN_S_LOGIN;
|
entity.CN_S_MODIFY_BY = t.CN_S_NAME;
|
entity.CN_T_MODIFY = DateTime.Now;
|
|
int rowNo = 1;
|
|
result = BLLCreator.Create<TN_WM_HKINBLL>().AddInOrder(entity, t);
|
|
|
if (result.Success && (entity.OperateMessage == Constants.Operate_EditAndSubmit))
|
{
|
return SubmitInOrder(entity.CN_S_WO_NO);
|
}
|
return result;
|
});
|
}
|
catch (Exception ex)
|
{
|
return OperateResult.Error(ex.Message);
|
}
|
}
|
#endregion
|
|
#region 修改工单
|
/// <summary>
|
/// 修改工单
|
/// </summary>
|
/// <param name="Entity">工单实体</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2019-02-20</History>
|
[HttpPost]
|
public OperateResult UpdateInOrder(TN_WM_WORK_ORDEREntity entity)
|
{
|
try
|
{
|
return ValidateToken(entity.TokenId, t =>
|
{
|
OperateResult result = new OperateResult();
|
|
var existsInMst = BLLCreator.Create<DapperBLL<TN_WM_WORK_ORDEREntity>>().GetSingleEntity(new
|
{
|
CN_S_WO_NO = entity.CN_S_WO_NO
|
});
|
|
var item = BLLCreator.Create<TN_WMS_ITEMBLL>().GetItem(entity.CN_S_ITEM_CODE);
|
if (item != null)
|
{
|
decimal trayQty = Math.Ceiling(entity.CN_F_PLAN_QTY / item.CN_F_MIN_PACK_QTY);
|
entity.CN_F_PLAN_TRAY_QTY = trayQty;
|
}
|
|
entity.CN_T_CREATE = existsInMst.CN_T_CREATE;
|
entity.CN_S_CREATOR = existsInMst.CN_S_CREATOR;
|
entity.CN_S_CREATOR_BY = existsInMst.CN_S_CREATOR_BY;
|
|
//根据tokenId 获取当前登陆信息
|
entity.CN_S_MODIFY = t.CN_S_LOGIN;
|
entity.CN_S_MODIFY_BY = t.CN_S_NAME;
|
//修改
|
entity.CN_T_MODIFY = DateTime.Now;
|
|
result = BLLCreator.Create<TN_WM_HKINBLL>().UpdateInOrder(entity);
|
|
if (result.Success && (entity.OperateMessage == Constants.Operate_EditAndSubmit))
|
{
|
return SubmitInOrder(entity.CN_S_WO_NO);
|
}
|
return result;
|
});
|
}
|
catch (Exception ex)
|
{
|
return OperateResult.Error(ex.Message);
|
}
|
}
|
#endregion
|
|
#region 删除工单
|
/// <summary>
|
/// 删除工单
|
/// </summary>
|
/// <param name="opNo">工单号</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2019-02-20</History>
|
[HttpGet]
|
public OperateResult DeleteInOrder(string woNo)
|
{
|
try
|
{
|
return ValidateToken(t =>
|
{
|
return BLLCreator.Create<TN_WM_HKINBLL>().DeleteInOrder(woNo);
|
});
|
}
|
catch (Exception ex)
|
{
|
return OperateResult.Error(ex.Message);
|
}
|
}
|
#endregion
|
|
#region 提交工单
|
/// <summary>
|
/// 提交工单
|
/// </summary>
|
/// <param name="woNo">单号</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2019-02-20</History>
|
[HttpGet]
|
public OperateResult SubmitInOrder(String woNo)
|
{
|
try
|
{
|
return ValidateToken(t =>
|
{
|
return BLLCreator.Create<TN_WM_HKINBLL>(t).SubmitInOrder(woNo);
|
});
|
}
|
catch (Exception ex)
|
{
|
return OperateResult.Error(ex.Message);
|
}
|
}
|
#endregion
|
|
#region 工单强制完成
|
/// <summary>
|
/// 工单强制完成
|
/// </summary>
|
/// <param name="woNo">单号</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2019-02-20</History>
|
[HttpGet]
|
public OperateResult CompleteInOrder(String woNo)
|
{
|
try
|
{
|
return ValidateToken(t =>
|
{
|
return BLLCreator.Create<TN_WM_HKINBLL>(t).CompleteInOrder(woNo);
|
});
|
}
|
catch (Exception ex)
|
{
|
return OperateResult.Error(ex.Message);
|
}
|
}
|
#endregion
|
|
#region 带出工单实体
|
/// <summary>
|
/// 带出工单实体
|
/// </summary>
|
/// <param name="opNo"></param>
|
/// <param name="funcOut"></param>
|
/// <returns></returns>
|
public OperateResult ChangeInOperate(string opNo, Func<TN_WM_WORK_ORDEREntity, OperateResult> funcIn)
|
{
|
try
|
{
|
if (string.IsNullOrEmpty(opNo))
|
return OperateResult.Error("工单号不可为空");
|
var inMst = BLLCreator.Create<DapperBLL<TN_WM_WORK_ORDEREntity>>().GetSingleEntity(new
|
{
|
CN_S_OP_NO = opNo
|
});
|
if (inMst == null)
|
return OperateResult.Error("未找到工单号:" + opNo);
|
return funcIn(inMst);
|
}
|
catch (Exception ex)
|
{
|
return OperateResult.Error(ex.Message);
|
}
|
}
|
#endregion
|
|
#region 查询数据集
|
/// <summary>
|
/// 获取工单列表
|
/// </summary>
|
/// <param name="searchModel">查询实体(页码,显示条数,条件等)</param>
|
/// <returns></returns>
|
[HttpPost]
|
public string GetInOrderList(SearchModel searchModel)
|
{
|
return ValidateToken(searchModel.TokenId, t =>
|
{
|
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
|
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
|
|
OperateResult pagingList = BLLCreator.Create<TN_WM_HKINBLL>().GetInOrderList(searchModel);
|
return JsonConvert.SerializeObject(pagingList, timeFormat);
|
});
|
}
|
#endregion
|
|
#region 根据单号获取工单信息
|
/// <summary>
|
/// 根据单号获取信息
|
/// </summary>
|
/// <param name="woNo">模糊查询条件:工单号</param>
|
/// <returns></returns>
|
[HttpGet]
|
public string GetWorkOrderDetail(string woNo)
|
{
|
try
|
{
|
return ValidateToken(t =>
|
{
|
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
|
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
|
|
var workOrderEntity = BLLCreator.Create<DapperBLL<TN_WM_WORK_ORDEREntity>>().GetSingleEntity(new
|
{
|
CN_S_WO_NO = woNo
|
});
|
return JsonConvert.SerializeObject(workOrderEntity, timeFormat);
|
});
|
}
|
catch (Exception ex)
|
{
|
return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString()));
|
}
|
}
|
#endregion
|
|
}
|
}
|