using HH.AutoBom.Core;
using HH.WMS.Common;
using HH.WMS.Entitys;
using HH.WMS.Entitys.Basic;
using HH.WMS.Entitys.Common;
using HH.WMS.WebUI.Controllers;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace HH.WMS.WebUI.Areas.Instock.Controllers
{
public class HKInOrderController : BaseController
{
//
// GET: /Instock/HKInOrder/
public ActionResult InorderList()
{
return View();
}
#region 工单维护
///
/// 工单维护(新增/修改)
///
/// 入库单号
/// 是否只读(查看页面)
///
public ActionResult InOrderEdit(string woNo, bool read = false)
{
TN_WM_WORK_ORDEREntity inMst = new TN_WM_WORK_ORDEREntity();
var loginer = FormsAuth.GetUserData();
//新增
if (string.IsNullOrEmpty(woNo))
{
string postData = "{\"appCode\":\"AutoWMS\",\"ruleName\":\"" + Constants.Rule_WorkOrder + "\",\"orgId\":\"" + loginer.ParentOrgCode + "\",\"orgFlag\":\"" + loginer.OrgFlag + "\"}";
string addOpNo = WebApiManager.HttpAutoBom_Post("api/BillRule/GenBillNo", postData);
inMst.CN_S_WO_NO = addOpNo;
inMst.CN_T_CREATE = DateTime.Now;
inMst.CN_S_STATUS = Constants.State_New;
inMst.OperateType = OperateType.Add;
}
else
{
inMst.OperateType = OperateType.Edit;
string dataStr = HttpWMS_Get("api/HKInOrder/GetWorkOrderDetail?woNo=" + woNo);
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
if (!string.IsNullOrEmpty(dataStr))
{
inMst = JsonConvert.DeserializeObject(dataStr);
}
inMst.OperateType = OperateType.Edit;
if (read) inMst.OperateType = OperateType.Read;
inMst.CN_S_MODIFY = loginer.UserName;
inMst.CN_S_MODIFY_BY = loginer.UserCode;
}
return View(inMst);
}
#endregion
#region 工单保存
///
/// 工单保存(新增、编辑)
///
///
/// [HANHE(XDL)] CREATED BY 2019-02-20
public string SaveInOrder()
{
var sr = new StreamReader(Request.InputStream);
var stream = sr.ReadToEnd();
TN_WM_WORK_ORDEREntity inmst = JsonConvert.DeserializeObject(stream);
var loginer = FormsAuth.GetUserData();
inmst.TokenId = loginer.Extend1;
inmst.CN_S_STATUS = Constants.State_HK_New;
//新增
if (inmst.OperateType == OperateType.Add)
{
return HttpWMS_Post("api/HKInOrder/AddInOrder", JsonConvert.SerializeObject(inmst));
}
else
{
return HttpWMS_Post("api/HKInOrder/UpdateInOrder", JsonConvert.SerializeObject(inmst));
}
}
#endregion
#region 工单提交
///
/// 工单提交
///
/// 工单号
///
/// [HANHE(XDL)] CREATED BY 2018-02-20
public string SubmitInOrder(string woNo)
{
var loginer = FormsAuth.GetUserData();
var tokenId = loginer.Extend1;
return HttpWMS_Get("api/HKInOrder/SubmitInOrder?woNo=" + woNo);
}
#endregion
#region 工单强制完成
///
/// 工单强制完成
///
/// 工单号
///
/// [HANHE(XDL)] CREATED BY 2018-02-20
public string CompleteInOrder(string woNo)
{
var loginer = FormsAuth.GetUserData();
var tokenId = loginer.Extend1;
return HttpWMS_Get("api/HKInOrder/CompleteInOrder?woNo=" + woNo);
}
#endregion
#region 工单删除
///
/// 工单删除
///
/// 工单号
///
/// [HANHE(XDL)] CREATED BY 2018-02-20
public string DeleteInOrder(string woNo)
{
var loginer = FormsAuth.GetUserData();
var tokenId = loginer.Extend1;
return HttpWMS_Get("api/HKInOrder/DeleteInOrder?woNo=" + woNo);
}
#endregion
#region 获取工单列表
///
/// 获取工单列表
///
/// 页码
/// 页显示数
/// 工单号
/// 状态
/// 产线
///
public string GetInOrderList(int pageIndex, int pageSize, string CN_S_WO_NO, string CN_S_STATUS, string CN_S_LINE, string valueDate)
{
var loginer = FormsAuth.GetUserData();
var TokenId = loginer.Extend1;//TokenId
string[] date = new string[2];
if (!string.IsNullOrEmpty(valueDate))
date = JsonConvert.DeserializeObject(valueDate);
//查询条件
var SearchCondition = new
{
CN_S_WO_NO = CN_S_WO_NO,
CN_S_STATUS = CN_S_STATUS,
CN_S_LINE = CN_S_LINE,
CN_T_START = !string.IsNullOrEmpty(valueDate) ? date[0] : "",
CN_T_END = !string.IsNullOrEmpty(valueDate) ? date[1] : ""
};
var searchModel = new
{
pageIndex = pageIndex,
pageSize = pageSize,
tokenId = TokenId,
SearchCondition = SearchCondition
};
return HttpWMS_Post("api/HKInOrder/GetInOrderList", JsonConvert.SerializeObject(searchModel));
}
#endregion
}
}