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 InOrderController : BaseController
|
{
|
//
|
// GET: /Instock/InOrder/
|
|
public ActionResult InorderList()
|
{
|
return View();
|
}
|
public ActionResult Audit()
|
{
|
return View();
|
}
|
|
public ActionResult AuditItem(string opNo)
|
{
|
TN_WM_IN_MSTEntity inOrderMst = new TN_WM_IN_MSTEntity();
|
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
|
string dataStr = HttpWMS_Get("api/InOrder/GetInOrderMstAndDtl?opNo=" + opNo);
|
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
|
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
|
var resultEntity = JsonConvert.DeserializeObject<OperateResult>(dataStr, timeFormat);
|
if (resultEntity != null && resultEntity.Success)
|
{
|
inOrderMst = resultEntity.GetData<TN_WM_IN_MSTEntity>();
|
}
|
inOrderMst.OperateType = OperateType.Read;
|
|
//获取驳回记录
|
string rejectHistory = HttpWMS_Get("api/Reject/GetRejectHistory?opNo=" + opNo);
|
var rejectResult = JsonConvert.DeserializeObject<OperateResult>(rejectHistory);
|
var rejectList = rejectResult.GetData<List<TN_WM_B_REJECTEntity>>();
|
//所有驳回记录
|
if (rejectList != null)
|
inOrderMst.CN_S_HISTORY_REJECT = string.Join(";", rejectList.Select(p => p.CN_S_OPINION));
|
inOrderMst.CN_S_MODIFY = loginer.UserName;
|
inOrderMst.CN_S_MODIFY_BY = loginer.UserCode;
|
|
return View(inOrderMst);
|
}
|
|
#region 入库订单维护
|
/// <summary>
|
/// 入库订单维护(新增/修改)
|
/// </summary>
|
/// <param name="opNo">入库单号</param>
|
/// <param name="read">是否只读(查看页面)</param>
|
/// <returns></returns>
|
public ActionResult InOrderEdit(string opNo, bool read = false)
|
{
|
TN_WM_IN_MSTEntity inMst = new TN_WM_IN_MSTEntity();
|
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
//新增
|
if (string.IsNullOrEmpty(opNo))
|
{
|
string postData = "{\"appCode\":\"AutoWMS\",\"ruleName\":\"" + Constants.Rule_InOrder + "\",\"orgId\":\"" + loginer.ParentOrgCode + "\",\"orgFlag\":\"" + loginer.OrgFlag + "\"}";
|
string addOpNo = WebApiManager.HttpAutoBom_Post("api/BillRule/GenBillNo", postData);
|
inMst.CN_S_OP_NO = addOpNo;
|
|
inMst.CN_T_OP_DATE = DateTime.Now;
|
inMst.CN_T_CREATE = DateTime.Now;
|
inMst.CN_S_BUYER = loginer.UserName;
|
inMst.CN_S_STATE = Constants.State_New;
|
inMst.OperateType = OperateType.Add;
|
}
|
else
|
{
|
inMst.OperateType = OperateType.Edit;
|
string dataStr = HttpWMS_Get("api/InOrder/GetInOrderMstAndDtl?opNo=" + opNo);
|
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
|
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
|
var resultEntity = JsonConvert.DeserializeObject<OperateResult>(dataStr, timeFormat);
|
if (resultEntity != null && resultEntity.Success)
|
{
|
inMst = JsonConvert.DeserializeObject<TN_WM_IN_MSTEntity>(resultEntity.Data.ToString());
|
}
|
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 入库订单保存
|
/// <summary>
|
/// 入库订单保存(新增、编辑)
|
/// </summary>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2019-02-20</History>
|
public string SaveInOrder()
|
{
|
var sr = new StreamReader(Request.InputStream);
|
var stream = sr.ReadToEnd();
|
TN_WM_IN_MSTEntity inmst = JsonConvert.DeserializeObject<TN_WM_IN_MSTEntity>(stream);
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
inmst.TokenId = loginer.Extend1;
|
|
inmst.CN_S_STATE = Constants.State_New;
|
//新增
|
if (inmst.OperateType == OperateType.Add)
|
{
|
|
return HttpWMS_Post("api/InOrder/AddInOrder", JsonConvert.SerializeObject(inmst));
|
}
|
else
|
{
|
return HttpWMS_Post("api/InOrder/UpdateInOrder", JsonConvert.SerializeObject(inmst));
|
}
|
|
}
|
#endregion
|
|
#region 入库订单提交
|
/// <summary>
|
/// 入库订单提交
|
/// </summary>
|
/// <param name="opNo">入库订单号</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-02-20</History>
|
public string InOrderSubmit(string opNo)
|
{
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
|
List<TN_WM_B_EXAMINEEntity> entity = new List<TN_WM_B_EXAMINEEntity>();
|
entity.Add(new TN_WM_B_EXAMINEEntity()
|
{
|
CN_GUID = System.Guid.NewGuid().ToString().ToUpper(),
|
CN_S_OP_FROM = "入库订单",
|
CN_S_FROM_NO = opNo,
|
CN_S_EXAMINE_TYPE = "submit",
|
TokenId = loginer.Extend1,
|
CN_S_CREATOR = loginer.UserCode,
|
CN_S_CREATOR_BY = loginer.UserName
|
});
|
|
return HttpWMS_Post("api/InOrder/SubmitInOrder", JsonConvert.SerializeObject(entity));
|
}
|
#endregion
|
|
#region 入库订单删除
|
/// <summary>
|
/// 入库订单删除
|
/// </summary>
|
/// <param name="opNo">入库订单号</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-02-20</History>
|
public string InOrderDelete(string opNo)
|
{
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
var tokenId = loginer.Extend1;
|
return HttpWMS_Get("api/InOrder/DeleteInOrder?opNo=" + opNo);
|
}
|
#endregion
|
|
#region 入库订单审核
|
/// <summary>
|
/// 入库订单审核
|
/// </summary>
|
/// <param name="opNo">入库订单号</param>
|
/// <param name="idea">审核意见</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-02-20</History>
|
public string InOrderAudit(string opNo, string idea)
|
{
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
|
List<TN_WM_B_EXAMINEEntity> entity = new List<TN_WM_B_EXAMINEEntity>();
|
entity.Add(new TN_WM_B_EXAMINEEntity()
|
{
|
CN_GUID = System.Guid.NewGuid().ToString().ToUpper(),
|
CN_S_OP_FROM = "入库订单",
|
CN_S_FROM_NO = opNo,
|
CN_S_EXAMINE_TYPE = "audit",
|
TokenId = loginer.Extend1,
|
CN_S_CREATOR = loginer.UserCode,
|
CN_S_CREATOR_BY = loginer.UserName,
|
CN_S_OPINION = idea
|
});
|
|
return HttpWMS_Post("api/InOrder/AuditInOrder", JsonConvert.SerializeObject(entity));
|
}
|
#endregion
|
|
#region 入库订单反审
|
/// <summary>
|
/// 入库订单反审
|
/// </summary>
|
/// <param name="opNo">入库订单号</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-02-20</History>
|
public string InOrderReAudit(string opNo)
|
{
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
|
List<TN_WM_B_EXAMINEEntity> entity = new List<TN_WM_B_EXAMINEEntity>();
|
entity.Add(new TN_WM_B_EXAMINEEntity()
|
{
|
CN_GUID = System.Guid.NewGuid().ToString().ToUpper(),
|
CN_S_OP_FROM = "入库订单",
|
CN_S_FROM_NO = opNo,
|
CN_S_EXAMINE_TYPE = "reaudit",
|
TokenId = loginer.Extend1,
|
CN_S_CREATOR = loginer.UserCode,
|
CN_S_CREATOR_BY = loginer.UserName
|
});
|
|
return HttpWMS_Post("api/InOrder/ReAuditInOrder", JsonConvert.SerializeObject(entity));
|
}
|
#endregion
|
|
#region 入库订单驳回
|
/// <summary>
|
/// 入库订单驳回
|
/// </summary>
|
/// <param name="opNo">入库订单号</param>
|
/// <param name="idea">驳回意见</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-02-20</History>
|
public string InOrderReject(string opNo, string idea)
|
{
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
|
List<TN_WM_B_EXAMINEEntity> entity = new List<TN_WM_B_EXAMINEEntity>();
|
entity.Add(new TN_WM_B_EXAMINEEntity()
|
{
|
CN_GUID = System.Guid.NewGuid().ToString().ToUpper(),
|
CN_S_OP_FROM = "入库订单",
|
CN_S_FROM_NO = opNo,
|
CN_S_EXAMINE_TYPE = "reject",
|
TokenId = loginer.Extend1,
|
CN_S_CREATOR = loginer.UserCode,
|
CN_S_CREATOR_BY = loginer.UserName,
|
CN_S_OPINION = idea
|
});
|
|
return HttpWMS_Post("api/InOrder/RejectInOrder", JsonConvert.SerializeObject(entity));
|
}
|
#endregion
|
|
#region 入库订单导出
|
/// <summary>
|
/// 导出
|
/// </summary>
|
/// <returns></returns>
|
public string ExportInOrder()
|
{
|
//XML文件流
|
var sr = new System.IO.StreamReader(Request.InputStream);
|
var stream = sr.ReadToEnd();
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
var TokenId = loginer.Extend1;
|
var DynamicObject = JsonConvert.DeserializeObject<dynamic>(stream);
|
dynamic formData = DynamicObject["formData"];
|
|
string[] date = new string[2];
|
if (!string.IsNullOrEmpty(Util.ToString(formData.valueDate)))
|
date = JsonConvert.DeserializeObject<string[]>(Util.ToString(formData.valueDate));
|
|
var searchModel = new
|
{
|
TokenId = loginer.Extend1,
|
SearchCondition = new
|
{
|
CN_S_OP_NO = Util.ToString(formData.CN_S_OP_NO),
|
CN_S_STATE = Util.ToString(formData.CN_S_STATE),
|
CN_S_OP_TYPE = Util.ToString(formData.CN_S_OP_TYPE),
|
CN_S_VENDOR_NAME = Util.ToString(formData.CN_S_VENDOR_NAME),
|
IsHandWork = Util.ToString(formData.IsHandWork),
|
CN_T_START = !string.IsNullOrEmpty(Util.ToString(formData.valueDate)) ? date[0] : "",
|
CN_T_END = !string.IsNullOrEmpty(Util.ToString(formData.valueDate)) ? date[1] : ""
|
}
|
};
|
string result = HttpWMS_Post("api/InOrder/GetInOrderListExport", JsonConvert.SerializeObject(searchModel));
|
OperateResult or = JsonConvert.DeserializeObject<OperateResult>(result);
|
|
string s = ((dynamic)or.Data).rows.ToString();
|
|
DataTable dt = HH.WMS.Utils.ZConvert.ToDataTableTwo(s);
|
|
dynamic columns = DynamicObject["columns"];
|
string title = "入库单列表";
|
|
string fileName = title + "_" + DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".xls";
|
or = ExcelHelper.SaveTemp(columns, title, dt, fileName);
|
if (or.Status == ResultStatus.Success)
|
return JsonConvert.SerializeObject(OperateResult.Succeed("", new { fileName = fileName }));
|
else
|
return JsonConvert.SerializeObject(or);
|
}
|
#endregion
|
|
#region 获取入库订单列表
|
/// <summary>
|
/// 获取入库订单列表
|
/// </summary>
|
/// <param name="pageIndex">页码</param>
|
/// <param name="pageSize">页显示数</param>
|
/// <param name="CN_S_OP_NO">入库订单号</param>
|
/// <param name="CN_S_STATE">状态</param>
|
/// <param name="CN_S_OP_TYPE">业务类型</param>
|
/// <param name="CN_S_VENDOR_NAME">供应商名称</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-12-18</History>
|
public string GetInOrderList(int pageIndex, int pageSize, string CN_S_OP_NO, string CN_S_STATE, string CN_S_OP_TYPE, string CN_S_VENDOR_NAME, string IsHandWork, string valueDate)
|
{
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
|
var TokenId = loginer.Extend1;//TokenId
|
|
string[] date = new string[2];
|
if (!string.IsNullOrEmpty(valueDate))
|
date = JsonConvert.DeserializeObject<string[]>(valueDate);
|
|
//查询条件
|
var SearchCondition = new
|
{
|
CN_S_OP_NO = CN_S_OP_NO,
|
CN_S_STATE = CN_S_STATE,
|
CN_S_OP_TYPE = CN_S_OP_TYPE,
|
CN_S_VENDOR_NAME = CN_S_VENDOR_NAME,
|
IsHandWork = IsHandWork,
|
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/InOrder/GetInOrderList", JsonConvert.SerializeObject(searchModel));
|
}
|
#endregion
|
|
#region 到货单联机新增-选择来源
|
/// <summary>
|
/// 获取入库订单列表
|
/// </summary>
|
/// <param name="pageIndex">页码</param>
|
/// <param name="pageSize">显示条数</param>
|
/// <param name="opType">业务类型</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-11-26</History>
|
public string GetFromInOrderList(int pageIndex, int pageSize, string InOrderType)
|
{
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
|
var TokenId = loginer.Extend1;//TokenId
|
//查询条件
|
var SearchCondition = new
|
{
|
CN_S_OP_TYPE = InOrderType
|
};
|
var searchModel = new
|
{
|
pageIndex = pageIndex,
|
pageSize = pageSize,
|
tokenId = TokenId
|
};
|
return HttpWMS_Post("api/InOrder/GetFromInOrderList", JsonConvert.SerializeObject(searchModel));
|
}
|
|
/// <summary>
|
/// 根据单号获取明细
|
/// </summary>
|
/// <param name="arrivalNo">单号</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-11-26</History>
|
public string GetFromInOrderDtl(string InOrderNo)
|
{
|
string dataStr = HttpWMS_Get("api/InOrder/GetFromInOrderDtl?opNo=" + InOrderNo);
|
|
return dataStr;
|
}
|
#endregion
|
}
|
}
|