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 新增工单 /// /// 新增工单 /// /// 工单实体 /// /// [HANHE(XDL)] CREATED BY 2019-02-20 [HttpPost] public OperateResult AddInOrder(TN_WM_WORK_ORDEREntity entity) { try { return ValidateToken(entity.TokenId, t => { var item = BLLCreator.Create().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().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 修改工单 /// /// 修改工单 /// /// 工单实体 /// /// [HANHE(XDL)] CREATED BY 2019-02-20 [HttpPost] public OperateResult UpdateInOrder(TN_WM_WORK_ORDEREntity entity) { try { return ValidateToken(entity.TokenId, t => { OperateResult result = new OperateResult(); var existsInMst = BLLCreator.Create>().GetSingleEntity(new { CN_S_WO_NO = entity.CN_S_WO_NO }); var item = BLLCreator.Create().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().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 删除工单 /// /// 删除工单 /// /// 工单号 /// /// [HANHE(XDL)] CREATED BY 2019-02-20 [HttpGet] public OperateResult DeleteInOrder(string woNo) { try { return ValidateToken(t => { return BLLCreator.Create().DeleteInOrder(woNo); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 提交工单 /// /// 提交工单 /// /// 单号 /// /// [HANHE(XDL)] CREATED BY 2019-02-20 [HttpGet] public OperateResult SubmitInOrder(String woNo) { try { return ValidateToken(t => { return BLLCreator.Create(t).SubmitInOrder(woNo); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 工单强制完成 /// /// 工单强制完成 /// /// 单号 /// /// [HANHE(XDL)] CREATED BY 2019-02-20 [HttpGet] public OperateResult CompleteInOrder(String woNo) { try { return ValidateToken(t => { return BLLCreator.Create(t).CompleteInOrder(woNo); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 带出工单实体 /// /// 带出工单实体 /// /// /// /// public OperateResult ChangeInOperate(string opNo, Func funcIn) { try { if (string.IsNullOrEmpty(opNo)) return OperateResult.Error("工单号不可为空"); var inMst = BLLCreator.Create>().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 查询数据集 /// /// 获取工单列表 /// /// 查询实体(页码,显示条数,条件等) /// [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().GetInOrderList(searchModel); return JsonConvert.SerializeObject(pagingList, timeFormat); }); } #endregion #region 根据单号获取工单信息 /// /// 根据单号获取信息 /// /// 模糊查询条件:工单号 /// [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>().GetSingleEntity(new { CN_S_WO_NO = woNo }); return JsonConvert.SerializeObject(workOrderEntity, timeFormat); }); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } #endregion } }