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 IncreaseController : BaseController
|
{
|
|
#region 入库单相关视图
|
public ActionResult Index()
|
{
|
return View();
|
}
|
|
public ActionResult IncreaseList()
|
{
|
return View();
|
}
|
public ActionResult Audit()
|
{
|
return View();
|
}
|
public ActionResult AuditItem(string opNo)
|
{
|
TN_WM_INCREASE_INVENTORY_MSTEntity inMst = new TN_WM_INCREASE_INVENTORY_MSTEntity();
|
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
|
string dataStr = HttpWMS_Get("api/In/GetIncreaseInventoryMstAndDtl?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 = resultEntity.GetData<TN_WM_INCREASE_INVENTORY_MSTEntity>();
|
}
|
inMst.OperateType = OperateType.Read;
|
|
//获取驳回记录
|
string rejectHistory = HttpWMS_Get("api/Reject/GetRejectHistory?opNo=" + opNo);
|
if (!string.IsNullOrEmpty(rejectHistory))
|
{
|
var rejectResult = JsonConvert.DeserializeObject<OperateResult>(rejectHistory);
|
|
var rejectList = rejectResult.GetData<List<TN_WM_B_REJECTEntity>>();
|
//所有驳回记录
|
if (rejectList != null)
|
inMst.CN_S_HISTORY_REJECT = string.Join(";", rejectList.Select(p => p.CN_S_OPINION));
|
}
|
inMst.CN_S_MODIFY = loginer.UserName;
|
inMst.CN_S_MODIFY_BY = loginer.UserCode;
|
|
return View(inMst);
|
}
|
|
/// <summary>
|
/// 入库单编辑页面加载
|
/// </summary>
|
/// <param name="opNo">入库单号</param>
|
/// <param name="read">知否查看页面</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-11-24</History>
|
public ActionResult IncreaseEdit(string opNo, bool read = false)
|
{
|
TN_WM_INCREASE_INVENTORY_MSTEntity inMst = new TN_WM_INCREASE_INVENTORY_MSTEntity();
|
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
//新增
|
if (string.IsNullOrEmpty(opNo))
|
{
|
string postData = "{\"appCode\":\"AutoWMS\",\"ruleName\":\"" + Constants.Rule_In + "\",\"orgId\":\"" + loginer.ParentOrgCode + "\",\"orgFlag\":\"" + loginer.OrgFlag + "\"}";
|
string addOpNo = WebApiManager.HttpAutoBom_Post("api/BillRule/GenBillNo", postData);
|
inMst.CN_S_OP_NO = addOpNo;
|
|
string postLotData = "{\"appCode\":\"AutoWMS\",\"ruleName\":\"" + Constants.BatchNo + "\",\"orgId\":\"" + loginer.ParentOrgCode + "\",\"orgFlag\":\"" + loginer.OrgFlag + "\"}";
|
string addLotNo = WebApiManager.HttpAutoBom_Post("api/BillRule/GenBillNo", postLotData);
|
inMst.CN_S_LOT_NO = addLotNo;
|
|
inMst.CN_T_OPERATE = DateTime.Now;
|
inMst.CN_T_CREATE = DateTime.Now;
|
inMst.CN_S_OPERATOR = loginer.UserName;
|
inMst.CN_S_STATE = Constants.State_New;
|
inMst.OperateType = OperateType.Add;
|
}
|
else
|
{
|
inMst.OperateType = OperateType.Edit;
|
string dataStr = HttpWMS_Get("api/In/GetIncreaseInventoryMstAndDtl?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 = resultEntity.GetData<TN_WM_INCREASE_INVENTORY_MSTEntity>();
|
inMst = JsonConvert.DeserializeObject<TN_WM_INCREASE_INVENTORY_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 2018-11-20</History>
|
public string SaveIncrease()
|
{
|
var sr = new StreamReader(Request.InputStream);
|
var stream = sr.ReadToEnd();
|
TN_WM_INCREASE_INVENTORY_MSTEntity inmst = JsonConvert.DeserializeObject<TN_WM_INCREASE_INVENTORY_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/In/AddIncrease", JsonConvert.SerializeObject(inmst));
|
}
|
else
|
{
|
return HttpWMS_Post("api/In/UpdateIncrease", JsonConvert.SerializeObject(inmst));
|
}
|
|
}
|
#endregion
|
|
#region 入库单提交
|
/// <summary>
|
/// 入库单提交
|
/// </summary>
|
/// <param name="opNo">入库单号</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-11-21</History>
|
public string IncreaseSubmit(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/In/SubmitIncrease", JsonConvert.SerializeObject(entity));
|
}
|
#endregion
|
|
#region 入库单删除
|
/// <summary>
|
/// 入库单提交
|
/// </summary>
|
/// <param name="opNo">入库单号</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-11-21</History>
|
public string IncreaseDelete(string opNo)
|
{
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
var tokenId = loginer.Extend1;
|
return HttpWMS_Get("api/In/DeleteIncrease?opNo=" + opNo);
|
}
|
#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>
|
/// <param name="valueDate">创建日期</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-11-19</History>
|
public string GetIncreaseList(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/In/GetIncreaseList", JsonConvert.SerializeObject(searchModel));
|
}
|
#endregion
|
|
#region 入库单审核
|
/// <summary>
|
/// 审核
|
/// </summary>
|
/// <param name="opNo">入库单号</param>
|
/// <param name="idea">审核意见</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-11-21</History>
|
public string IncreaseAudit(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/In/AuditIncrease", JsonConvert.SerializeObject(entity));
|
}
|
#endregion
|
|
#region 入库单反审
|
/// <summary>
|
/// 反审
|
/// </summary>
|
/// <param name="opNo">入库单号</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-11-21</History>
|
public string IncreaseReAudit(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/In/ReAuditIncrease", JsonConvert.SerializeObject(entity));
|
}
|
#endregion
|
|
#region 入库单取消
|
/// <summary>
|
/// 取消
|
/// </summary>
|
/// <param name="opNo">入库单号</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2019-03-11</History>
|
public string IncreaseCancel(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 = "cancel",
|
TokenId = loginer.Extend1,
|
CN_S_CREATOR = loginer.UserCode,
|
CN_S_CREATOR_BY = loginer.UserName
|
});
|
|
return HttpWMS_Post("api/In/CancelIncrease", JsonConvert.SerializeObject(entity));
|
}
|
#endregion
|
|
#region 入库单驳回
|
/// <summary>
|
/// 驳回
|
/// </summary>
|
/// <param name="opNo">入库单号</param>
|
/// <param name="idea">驳回意见</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-11-21</History>
|
public string IncreaseReject(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/In/RejectIncrease", JsonConvert.SerializeObject(entity));
|
}
|
#endregion
|
|
#region 入库单导出
|
/// <summary>
|
/// 导出货位库存
|
/// </summary>
|
/// <returns></returns>
|
public string ExportIncrease()
|
{
|
//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/In/GetIncreaseListExport", 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
|
}
|
}
|