using HH.Redis.ReisModel;
using HH.WMS.BLL;
using HH.WMS.BLL.Basic;
using HH.WMS.BLL.InStock;
using HH.WMS.BLL.SysMgr;
using HH.WMS.Common;
using HH.WMS.Entitys;
using HH.WMS.Entitys.Basic;
using HH.WMS.Entitys.Common;
using HH.WMS.Entitys.Entitys;
using HH.WMS.Entitys.Func;
using HH.WMS.WebApi.Areas.Common.Controllers;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
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 InController : BaseController
{
#region 新增入库单
///
/// 新增入库单
///
/// 入库单实体
///
/// [HANHE(XDL)] CREATED BY 2018-11-13
[HttpPost]
public OperateResult AddIncrease(TN_WM_INCREASE_INVENTORY_MSTEntity entity)
{
try
{
return ValidateToken(entity.TokenId, t =>
{
OperateResult result = new OperateResult();
//entity.CN_S_ORGAN = t.CN_S_ORGCODE;
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;
entity.CN_GUID = Guid.NewGuid().ToString();
entity.CN_S_OWNER = Constants.DefaultOwner;
int rowNo = 1;
foreach (var inDtl in entity.DTLEntity)
{
AutoBomItemEntity itemenity = BLLCreator.Create().GetItem(inDtl.CN_S_ITEM_CODE);
inDtl.CN_S_EXT1 = "";//物料是否大小件
inDtl.CN_GUID = Guid.NewGuid().ToString();
inDtl.CN_N_ROW_NO = rowNo++;
inDtl.CN_S_MSTGUID = entity.CN_GUID;
inDtl.CN_S_OP_NO = entity.CN_S_OP_NO;
inDtl.CN_S_STATE = entity.CN_S_STATE;
inDtl.CN_S_ITEM_STATE = string.IsNullOrEmpty(inDtl.CN_S_ITEM_STATE.ToString()) ? "合格" : inDtl.CN_S_ITEM_STATE.ToString();
inDtl.CN_C_IS_BALANCE = "N";
inDtl.CN_C_IS_SCRAP = "N";
inDtl.CN_F_UPSHELF_QTY = 0;
inDtl.CN_F_ALLOT_QTY = 0;
inDtl.CN_F_PRINTING_QTY = 0;
inDtl.CN_F_ADD_ONTRAY_QTY = 0;
inDtl.CN_T_CREATE = DateTime.Now;
inDtl.CN_S_CREATOR = entity.CN_S_CREATOR;
inDtl.CN_S_CREATOR_BY = entity.CN_S_CREATOR_BY;
inDtl.CN_T_MODIFY = DateTime.Now;
inDtl.CN_S_MODIFY = entity.CN_S_MODIFY;
inDtl.CN_S_MODIFY_BY = entity.CN_S_MODIFY_BY;
}
result = BLLCreator.Create().AddIncreaseInventory(entity, t);
if (result.Success && (entity.OperateMessage == Constants.Operate_EditAndSubmit))
{
List examineList = new List();
examineList.Add(new TN_WM_B_EXAMINEEntity()
{
CN_GUID = System.Guid.NewGuid().ToString().ToUpper(),
CN_S_EXAMINE_TYPE = Constants.State_Submit,
CN_S_OP_FROM = "入库单",
CN_S_FROM_NO = entity.CN_S_OP_NO,
CN_S_CREATOR = t.CN_S_LOGIN,
CN_S_CREATOR_BY = t.CN_S_NAME,
CN_T_CREATE = DateTime.Now,
CN_S_OPINION = "",
TokenId = entity.TokenId
});
return SubmitIncrease(examineList);
}
return result;
});
}
catch (Exception ex)
{
return OperateResult.Error(ex.Message);
}
}
#endregion
#region 修改入库单
///
/// 修改入库单
///
/// 入库单实体
///
/// [HANHE(XDL)] CREATED BY 2018-11-14
[HttpPost]
public OperateResult UpdateIncrease(TN_WM_INCREASE_INVENTORY_MSTEntity entity)
{
try
{
return ValidateToken(entity.TokenId, t =>
{
OperateResult result = new OperateResult();
var existsInMst = BLLCreator.Create>().GetSingleEntity(new
{
CN_S_OP_NO = entity.CN_S_OP_NO
});
entity.CN_GUID = existsInMst.CN_GUID;
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_ORGAN = t.CN_S_ORGCODE;
entity.CN_S_MODIFY = t.CN_S_LOGIN;
entity.CN_S_MODIFY_BY = t.CN_S_NAME;
//修改
entity.CN_T_MODIFY = DateTime.Now;
//货主不能为空,暂时赋值
entity.CN_S_OWNER = Constants.DefaultOwner;
int rowNo = 1;
foreach (var inDtl in entity.DTLEntity)
{
inDtl.CN_GUID = Guid.NewGuid().ToString();
inDtl.CN_N_ROW_NO = rowNo++;
inDtl.CN_S_MSTGUID = entity.CN_GUID;
inDtl.CN_S_OP_NO = entity.CN_S_OP_NO;
inDtl.CN_S_STATE = entity.CN_S_STATE;
inDtl.CN_S_ITEM_STATE = string.IsNullOrEmpty(inDtl.CN_S_ITEM_STATE.ToString()) ? "合格" : inDtl.CN_S_ITEM_STATE.ToString();
inDtl.CN_C_IS_BALANCE = "N";
inDtl.CN_C_IS_SCRAP = "N";
inDtl.CN_F_UPSHELF_QTY = 0;
inDtl.CN_F_ALLOT_QTY = 0;
inDtl.CN_F_PRINTING_QTY = 0;
inDtl.CN_F_ADD_ONTRAY_QTY = 0;
inDtl.CN_T_CREATE = DateTime.Now;
inDtl.CN_S_CREATOR = entity.CN_S_CREATOR;
inDtl.CN_S_CREATOR_BY = entity.CN_S_CREATOR_BY;
inDtl.CN_T_MODIFY = DateTime.Now;
inDtl.CN_S_MODIFY = entity.CN_S_MODIFY;
inDtl.CN_S_MODIFY_BY = entity.CN_S_MODIFY_BY;
}
result = BLLCreator.Create().UpdateIncreaseInventory(entity);
if (result.Success && (entity.OperateMessage == Constants.Operate_EditAndSubmit))
{
List examineList = new List();
examineList.Add(new TN_WM_B_EXAMINEEntity()
{
CN_GUID = System.Guid.NewGuid().ToString().ToUpper(),
CN_S_EXAMINE_TYPE = Constants.State_Submit,
CN_S_OP_FROM = "入库单",
CN_S_FROM_NO = entity.CN_S_OP_NO,
CN_S_CREATOR = t.CN_S_LOGIN,
CN_S_CREATOR_BY = t.CN_S_NAME,
CN_T_CREATE = DateTime.Now,
CN_S_OPINION = "",
TokenId = entity.TokenId
});
return SubmitIncrease(examineList);
}
return result;
});
}
catch (Exception ex)
{
return OperateResult.Error(ex.Message);
}
}
#endregion
#region 删除入库单
///
/// 删除入库单
///
/// 入库单单号
///
/// [HANHE(XDL)] CREATED BY 2018-11-14
[HttpGet]
public OperateResult DeleteIncrease(string opNo)
{
try
{
return ValidateToken(t =>
{
return BLLCreator.Create().DeleteIncreaseInventory(opNo);
});
}
catch (Exception ex)
{
return OperateResult.Error(ex.Message);
}
}
#endregion
#region 提交入库单
///
/// 提交入库单
///
/// 审批实体
///
/// [HANHE(XDL)] CREATED BY 2018-11-14
[HttpPost]
public OperateResult SubmitIncrease(List entity)
{
try
{
return ValidateToken(entity[0].TokenId, t =>
{
return BLLCreator.Create().Submit(entity);
});
}
catch (Exception ex)
{
return OperateResult.Error(ex.Message);
}
}
#endregion
#region 审核入库单
///
/// 审核入库单
///
/// 审批实体
///
/// [HANHE(XDL)] CREATED BY 2018-11-14
[HttpPost]
public OperateResult AuditIncrease(List entity)
{
try
{
return ValidateToken(entity[0].TokenId, t =>
{
return ChangeInOperate(entity[0].CN_S_FROM_NO, outMst =>
{
if (outMst.CN_S_STATE != Constants.State_Submit && outMst.CN_S_STATE != Constants.State_ReAudit)
{
return OperateResult.Error("该单据状态已被修改,请刷新页面");
}
return BLLCreator.Create().Audit(entity);
});
});
}
catch (Exception ex)
{
return OperateResult.Error(ex.Message);
}
}
#endregion
#region 反审入库单
///
/// 反审入库单
///
/// 审批实体
///
/// [HANHE(XDL)] CREATED BY 2018-11-14
[HttpPost]
public OperateResult ReAuditIncrease(List entity)
{
try
{
return ValidateToken(entity[0].TokenId, t =>
{
return ChangeInOperate(entity[0].CN_S_FROM_NO, outMst =>
{
//反审时状态必须为 已审核
if (outMst.CN_S_STATE != Constants.State_Audit)
{
return OperateResult.Error("该单据状态已被修改,请刷新页面");
}
return BLLCreator.Create().ReAudit(entity);
});
});
}
catch (Exception ex)
{
return OperateResult.Error(ex.Message);
}
}
#endregion
#region 取消入库单
///
/// 取消入库单
///
/// 审批实体
///
/// [HANHE(XDL)] CREATED BY 2019-03-11
[HttpPost]
public OperateResult CancelIncrease(List entity)
{
try
{
return ValidateToken(entity[0].TokenId, t =>
{
return ChangeInOperate(entity[0].CN_S_FROM_NO, outMst =>
{
//取消时状态必须为 已审核
if (outMst.CN_S_STATE != Constants.State_Audit)
{
return OperateResult.Error("该单据状态已被修改,请刷新页面");
}
return BLLCreator.Create().CancelIncrease(entity);
});
});
}
catch (Exception ex)
{
return OperateResult.Error(ex.Message);
}
}
#endregion
#region 驳回入库单
///
/// 驳回入库单
///
/// 审批实体
///
/// [HANHE(XDL)] CREATED BY 2018-11-14
[HttpPost]
public OperateResult RejectIncrease(List entity)
{
try
{
return ValidateToken(entity[0].TokenId, t =>
{
return ChangeInOperate(entity[0].CN_S_FROM_NO, outMst =>
{
string rejectMsg = Util.ToString(entity[0].CN_S_OPINION);
if (string.IsNullOrEmpty(rejectMsg))
return OperateResult.Error("驳回意见不可为空");
//驳回时状态必须为 已提交
if (outMst.CN_S_STATE != Constants.State_Submit && outMst.CN_S_STATE != Constants.State_ReAudit)
{
return OperateResult.Error("该单据状态已被修改,请刷新页面");
} //驳回实体
TN_WM_B_REJECTEntity rejectEntity = new TN_WM_B_REJECTEntity()
{
CN_GUID = Guid.NewGuid().ToString(),
CN_S_OP_FROM = Constants.Rule_OutOrder,
CN_S_FROM_NO = entity[0].CN_S_FROM_NO,
CN_S_OPINION = rejectMsg,
CN_S_CREATOR = Util.ToString(entity[0].CN_S_CREATOR),
CN_S_CREATOR_BY = Util.ToString(entity[0].CN_S_CREATOR_BY),
CN_T_CREATE = DateTime.Now,
CN_S_MODIFY = Util.ToString(entity[0].CN_S_CREATOR),
CN_S_MODIFY_BY = Util.ToString(entity[0].CN_S_CREATOR_BY),
CN_T_MODIFY = DateTime.Now
};
return BLLCreator.Create().Reject(entity, rejectEntity);
});
});
}
catch (Exception ex)
{
return OperateResult.Error(ex.Message);
}
}
#endregion
#region 查询数据集
///
/// 获取入库单列表
///
/// 查询实体(页码,显示条数,条件等)
///
/// [HANHE(XDL)] CREATED BY 2018-11-24
[HttpPost]
public string GetIncreaseList(SearchModel searchModel)
{
return ValidateToken(searchModel.TokenId, t =>
{
//根据tokenId 获取当前登陆信息
OperateResult resultInfo = GetTokenInfo(searchModel.TokenId);
if (!resultInfo.Success) return JsonConvert.SerializeObject(resultInfo);
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
// OperateResult pagingList = BLLCreator.Create>().GetPagingResult(searchModel.PageIndex, searchModel.PageSize, searchModel.SearchCondition);
long total;
DataTable dt = BLLCreator.Create().GetIncreaseList(searchModel, out total, false);
OperateResult pagingList = OperateResult.Succeed("", new
{
rows = dt,
total = total
});
return JsonConvert.SerializeObject(pagingList, timeFormat);
});
}
///
/// 导出
///
///
///
[HttpPost]
public string GetIncreaseListExport(SearchModel searchModel)
{
return ValidateToken(searchModel.TokenId, t =>
{
//根据tokenId 获取当前登陆信息
OperateResult resultInfo = GetTokenInfo(searchModel.TokenId);
if (!resultInfo.Success) return JsonConvert.SerializeObject(resultInfo);
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
// OperateResult pagingList = BLLCreator.Create>().GetPagingResult(searchModel.PageIndex, searchModel.PageSize, searchModel.SearchCondition);
long total;
DataTable dt = BLLCreator.Create().GetIncreaseList(searchModel, out total, true);
OperateResult pagingList = OperateResult.Succeed("", new
{
rows = dt,
total = total
});
return JsonConvert.SerializeObject(pagingList, timeFormat);
});
}
#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 获取入库单主表
///
/// 获取入库单主表
///
/// 仓库号
/// 业务类型
/// 业务单号
/// 业务日期
///
/// [HANHE(lt)] CREATED BY 2018-11-14
/// [HANHE(dbs)] modify BY 2018-12-18
[HttpGet]
public string GetListInventoryMst(string stockCode, string opType, string opNo, string opDate, string vendorName)
{
try
{
return ValidateToken(t =>
{
var list = BLLCreator.Create>().GetList(new List() {
new SearchWhere(){ key="CN_S_STOCK_CODE", sign= WhereSign.Eq, value = stockCode},
new SearchWhere(){ key="CN_S_OP_TYPE", sign= WhereSign.Eq, value = opType},
new SearchWhere(){ key="CN_S_OP_NO", sign= WhereSign.Like, value=opNo},
new SearchWhere(){ key="CN_T_OPERATE", sign= WhereSign.TEq, value=opDate},
new SearchWhere(){ key="CN_S_VENDOR_NAME", sign= WhereSign.Like, value=vendorName}
}, new
{
CN_S_STOCK_CODE = stockCode,
CN_S_OP_TYPE = opType,
CN_S_OP_NO = "%" + opNo + "%",
CN_T_OPERATE = opDate,
CN_S_VENDOR_NAME = "%" + vendorName + "%"
}, false);
return JsonConvert.SerializeObject(OperateResult.Succeed("", list));
});
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString()));
}
}
///
/// 获取入库单
///
///
/// [HANHE(lt)] CREATED BY 2018-11-14
[HttpGet]
public string GetListInventoryDtl(string opNo)
{
try
{
var list = BLLCreator.Create>().GetList(new { CN_S_OP_NO = opNo });
return JsonConvert.SerializeObject(OperateResult.Succeed("", list));
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString()));
}
}
#endregion
#region 获取入库订单
///
/// 获取入库订单
///
///
/// [HANHE(lt)] CREATED BY 2018-11-14
[HttpGet]
public string GetInMstList(string opNo)
{
try
{
var sqlwhere = "";
if (!string.IsNullOrEmpty(opNo))
{
sqlwhere += " where CN_S_OP_NO like '%" + opNo + "%'";
}
var list = BLLCreator.Create().GetInMstList(sqlwhere);
return JsonConvert.SerializeObject(OperateResult.Succeed("", list));
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString()));
}
}
///
/// 获取入库订单
///
///
/// [HANHE(lt)] CREATED BY 2018-11-14
[HttpGet]
public string GetInDtlList(string opNo)
{
try
{
var sqlwhere = " ";
if (!string.IsNullOrEmpty(opNo))
{
sqlwhere += " where CN_S_OP_NO like '%" + opNo + "%'";
}
var list = BLLCreator.Create().GetInDtlList(sqlwhere);
return JsonConvert.SerializeObject(OperateResult.Succeed("", list));
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString()));
}
}
#endregion
#region (物料)新增打码表数据
///
/// (物料)新增打码表数据
///
///
/// [HANHE(lt)] CREATED BY 2018-11-15
[HttpPost]
public string AddItem(JObject obj)
{
try
{
bool bools = false;
DataTable dtjson = JsonConvert.DeserializeObject(obj["list"].ToString());//打印实体
List itemCodeList = dtjson.AsEnumerable().Select(s => s.Field("CN_S_ITEM_CODE")).ToList(); ;
List printbarlist = new List();
List Maplist = new List();
List itemlist = BLLCreator.Create().GetItemList(itemCodeList);
foreach (DataRow dr in dtjson.Rows)//循环打印
{
string guid = dr["key"].ToString();
MONGO_PRINT_BARCODE printbar = new MONGO_PRINT_BARCODE();
MONGO_KEYTYPE_MAP Map = new MONGO_KEYTYPE_MAP();//码值对照表
Map.Key = guid;
Map.Type = "1";
List itemEntity = itemlist.AsEnumerable().Where(w => w.CN_S_ITEM_CODE == dr["CN_S_ITEM_CODE"].ToString()).ToList();//选择
printbar.CN_S_UNIQUE_CODE = guid;
//printbar.CN_S_OWNER = dtwhere[0]["CN_S_OWNER"].ToString();
//printbar.CN_S_VENDOR_NO = dtwhere[0]["CN_S_VENDOR_NO"].ToString();
//printbar.CN_S_VENDOR_NAME = dtwhere[0]["CN_S_VENDOR_NAME"].ToString();
//printbar.CN_S_LOT_CODE = dtwhere[0]["CN_S_LOT_NO"].ToString();
//printbar.CN_S_SERAIL_NO = itemEntity[0].CN_S_SERIAL_CODE;
printbar.CN_S_ITEM_CODE = dr["CN_S_ITEM_CODE"].ToString();
printbar.CN_S_ITEM_NAME = itemEntity[0].CN_S_ITEM_NAME;
printbar.CN_S_MODEL = itemEntity[0].CN_S_MODEL;
// printbar.CN_S_QGP_UNIT = itemEntity;
printbar.CN_N_QGP = Convert.ToInt32(itemEntity[0].CN_F_WARRNTY_PARTS);
printbar.CN_C_IS_WARRANTY_PARTS = itemEntity[0].CN_C_IS_WARRNTY_PARTS;
printbar.CN_S_FIGURE_NO = itemEntity[0].CN_S_FIGURE_NO;
printbar.CN_S_PACKING_UNIT = dr["CN_F_PACKING_QTY"].ToString() + itemEntity[0].CN_S_MEASURE_UNIT;
printbar.CN_F_PACKING_QTY = Convert.ToInt32(dr["CN_F_PACKING_QTY"]);
printbar.CN_T_CREATE = DateTime.Now;
printbarlist.Add(printbar);
Maplist.Add(Map);
//}
}
if (printbarlist.Any() && Maplist.Any())
{
bools = BLLCreator.Create().AddPrintBarcode(printbarlist);
bools = BLLCreator.Create().AddKeyType(Maplist);
if (!bools)
{
return JsonConvert.SerializeObject(OperateResult.Error("保存失败"));
}
}
return JsonConvert.SerializeObject(OperateResult.Succeed("", null));
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString()));
}
}
#endregion
#region 获取物料信息
///
/// 新增打码表数据
///
///
/// [HANHE(lt)] CREATED BY 2018-11-26
public string GetItemList(string itemCode)
{
try
{
List itemArray = itemCode.Split(',').ToList();
var list = BLLCreator.Create().GetItemList(itemArray);
return JsonConvert.SerializeObject(OperateResult.Succeed("", list));
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString()));
}
}
#endregion
#region 获取未完全打印的入库单记录
///
/// 获取未完全打印的入库单记录
///
/// 仓库号
///
/// [HANHE(DBS)] CREATED BY 2019-02-28
public OperateResult GetWaitPrintOrder(string stockCode)
{
return ValidateToken(t =>
{
return BLLCreator.Create().GetWaitPrintOrder(stockCode);
});
}
#endregion
#region PDA、外部调用全部接口
///
/// 获取可上架入库单列表
///
/// 模糊查询条件:入库单号
///
/// [HANHE(XDL)] CREATED BY 2018-11-13
[HttpGet]
public string GetIncreaseInventoryList(string opNo)
{
try
{
return ValidateToken(t =>
{
List list = BLLCreator.Create().GetIncreaseInventoryList(opNo);
return JsonConvert.SerializeObject(OperateResult.Succeed("", list));
});
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString()));
}
}
///
/// 获取可码盘入库单列表
///
/// 模糊查询条件:入库单号
///
/// [HANHE(XDL)] CREATED BY 2018-11-13
[HttpGet]
public string GetInListWithCodedisc(string opNo)
{
try
{
return ValidateToken(t =>
{
List list = BLLCreator.Create().GetInListWithCodedisc(opNo);
return JsonConvert.SerializeObject(OperateResult.Succeed("", list));
});
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString()));
}
}
///
/// 根据单号获取主子表信息
///
/// 模糊查询条件:入库单号
///
/// [HANHE(XDL)] CREATED BY 2018-11-19
[HttpGet]
public string GetIncreaseInventoryMstAndDtl(string opNo)
{
try
{
return ValidateToken(t =>
{
TN_WM_INCREASE_INVENTORY_MSTEntity inMstEntity = BLLCreator.Create().GetIncreaseInventoryMstAndDtl(opNo);
return JsonConvert.SerializeObject(OperateResult.Succeed("", inMstEntity));
});
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString()));
}
}
///
/// 根据单号获取主子表信息-可码盘明细
///
/// 入库单号
///
[HttpGet]
public string GetInMstAndDtl_OnTray(string opNo)
{
try
{
return ValidateToken(t =>
{
TN_WM_INCREASE_INVENTORY_MSTEntity inMstEntity = BLLCreator.Create().GetInMstAndDtl_OnTray(opNo);
return JsonConvert.SerializeObject(OperateResult.Succeed("", inMstEntity));
});
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString()));
}
}
///
/// 根据单号获取主子表信息-可上架明细
///
/// 入库单号
///
[HttpGet]
public string GetInMstAndDtl_OnShelf(string opNo)
{
try
{
return ValidateToken(t =>
{
TN_WM_INCREASE_INVENTORY_MSTEntity inMstEntity = BLLCreator.Create().GetInMstAndDtl_OnShelf(opNo);
return JsonConvert.SerializeObject(OperateResult.Succeed("", inMstEntity));
});
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString()));
}
}
///
/// 根据入库单号获取入库单明细
///
/// 入库单号
///
/// [HANHE(XDL)] CREATED BY 2018-11-13
[HttpGet]
public string GetIncreaseInventoryDetail(string opNo)
{
try
{
return ValidateToken(t =>
{
List list = BLLCreator.Create().GetIncreaseInventoryDetail(opNo);
return JsonConvert.SerializeObject(OperateResult.Succeed("", list));
});
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString()));
}
}
///
/// U8服务调用-新增入库单主子表、仓库库区量表
///
/// 入库单主子表集合
///
[HttpPost]
public string AddU8InData(List mstList)
{
OperateResult or = BLLCreator.Create().AddU8InData(mstList);
return JsonConvert.SerializeObject(or);
}
///
/// U8服务调用-调拨单更新物料状态
///
/// 集合
///
[HttpPost]
public string UpdateTransVouchItemState(List transVouchList)
{
OperateResult or = BLLCreator.Create().UpdateTransVouchItemState(transVouchList);
return JsonConvert.SerializeObject(or);
}
#region 还料单相关接口
///
/// 新增-还料单
///
///
/// [HANHE(xdl)] CREATED BY 2019-1-16
[HttpPost]
public OperateResult SaveItemBack(JObject objData)
{
try
{
Log.Info("还料单传参", objData.ToString());
ItemOnShelfEntity entity = JsonConvert.DeserializeObject(objData.ToString());
var oResult = ValidateToken(entity.TokenId, t =>
{
if (t == null)
{
return OperateResult.Error("登陆人员信息获取失败!");
}
return BLLCreator.Create().SaveItemBack(entity, t);
});
return oResult;
}
catch (Exception ex)
{
return OperateResult.Error(ex.Message.ToString());
}
}
///
/// 获取可还料单列表
///
/// 模糊查询条件:还料单号
///
[HttpGet]
public string GetItemBackList(string opNo)
{
try
{
return ValidateToken(t =>
{
List list = BLLCreator.Create().GetItemBackList(opNo);
return JsonConvert.SerializeObject(OperateResult.Succeed("", list));
});
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString()));
}
}
///
/// 根据单号获取主子表信息
///
/// 模糊查询条件:还料单号
///
[HttpGet]
public string GetItemBackMstAndDtl(string opNo)
{
try
{
return ValidateToken(t =>
{
TN_WM_ITEMBACK_MSTEntity mstEntity = BLLCreator.Create().GetItemBackMstAndDtl(opNo);
return JsonConvert.SerializeObject(OperateResult.Succeed("", mstEntity));
});
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString()));
}
}
#endregion
///
/// PDA接口-获取待贴码信息
///
/// 产品唯一码
///
/// [HANHE(XDL)] CREATED BY 2019-03-15
[HttpGet]
public string GetFixedData(string packingCode)
{
try
{
return ValidateToken(t =>
{
MONGO_PRINT_BARCODE printBarCode = BLLCreator.Create().GetValue(packingCode);
if (printBarCode != null)
{
DataTable dt = BLLCreator.Create().GetFixedData(printBarCode);
return JsonConvert.SerializeObject(OperateResult.Succeed("", dt));
}
else
{
return JsonConvert.SerializeObject(OperateResult.Succeed("码值 " + packingCode + " 无效!", null));
}
});
}
catch (Exception ex)
{
Log.Info("获取待贴码信息报错", ex.Message.ToString());
return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString()));
}
}
///
/// PDA接口-贴码确认
///
/// 数据Json实体
///
/// [HANHE(XDL)] CREATED BY 2019-03-15
[HttpPost]
public string FixedConfirm(JObject json)
{
try
{
string tokenId = json.Value("tokenId");
return ValidateToken(tokenId, t =>
{
OperateResult result = new OperateResult();
string packingCode = json.Value("packingCode");
MONGO_PRINT_BARCODE printBarCode = BLLCreator.Create().GetValue(packingCode);
if (printBarCode != null)
{
result = BLLCreator.Create().FixedConfirm(printBarCode);
return JsonConvert.SerializeObject(result);
}
else
{
return JsonConvert.SerializeObject(OperateResult.Succeed("码值 " + packingCode + " 无效!", null));
}
});
}
catch (Exception ex)
{
Log.Info("贴码确认", ex.Message.ToString());
return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString()));
}
}
///
/// PDA接口-获取搬运信息
///
/// 产品唯一码
///
/// [HANHE(XDL)] CREATED BY 2019-03-15
[HttpGet]
public string GetTransData(string packingCode)
{
try
{
return ValidateToken(t =>
{
MONGO_PRINT_BARCODE printBarCode = BLLCreator.Create().GetValue(packingCode);
if (printBarCode != null)
{
OperateResult oresult = new OperateResult();
oresult = BLLCreator.Create().GetTransData(printBarCode);
return JsonConvert.SerializeObject(oresult);
}
else
{
return JsonConvert.SerializeObject(OperateResult.Succeed("码值 " + packingCode + " 无效!", null));
}
});
}
catch (Exception ex)
{
Log.Info("获取搬运信息", ex.Message.ToString());
return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString()));
}
}
///
/// PDA接口-搬运确认
///
/// 数据Json实体
///
/// [HANHE(XDL)] CREATED BY 2019-03-15
[HttpPost]
public string TransConfirm(List json)
{
OperateResult finalResult = new OperateResult();
try
{
string tokenId = json[0].Value("tokenId");
return ValidateToken(tokenId, t =>
{
List results = new List();
foreach (var _json in json)
{
OperateResult result = BLLCreator.Create().TransConfirm(_json);
results.Add(result);
}
results = results.FindAll(p => !p.Success);
if (results.Any())
{
List msgs = new List();
results.ForEach(p =>
{
if (p.Msg != null)
msgs.Add(p.Msg);
});
finalResult.Success = false;
finalResult.Msg = string.Join(",", msgs);
}
else
{
finalResult.Success = true;
finalResult.Msg = "搬运确认成功!";
}
return JsonConvert.SerializeObject(finalResult);
});
}
catch (Exception ex)
{
Log.Info("搬运确认", ex.Message.ToString());
return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString()));
}
}
///
/// PDA接口-获取物料所在库区
///
/// 产品唯一码
///
/// [HANHE(XDL)] CREATED BY 2019-03-19
[HttpGet]
public string GetItemStockArea(string packingCode)
{
try
{
return ValidateToken(t =>
{
MONGO_PRINT_BARCODE printBarCode = BLLCreator.Create().GetValue(packingCode);
if (printBarCode != null)
{
OperateResult oresult = new OperateResult();
oresult = BLLCreator.Create().GetItemStockArea(printBarCode);
return JsonConvert.SerializeObject(oresult);
}
else
{
return JsonConvert.SerializeObject(OperateResult.Succeed("码值 " + packingCode + " 无效!", null));
}
});
}
catch (Exception ex)
{
Log.Info("获取物料所在库区", ex.Message.ToString());
return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString()));
}
}
///
/// PDA接口-根据托盘码获取存放容量
///
/// 托盘码
///
/// [HANHE(XDL)] CREATED BY 2019-03-19
[HttpGet]
public string GetCapacityinfoByTrayCode(string trayCode)
{
try
{
return ValidateToken(t =>
{
OperateResult oresult = new OperateResult();
oresult = BLLCreator.Create().GetCapacityinfoByTrayCode(trayCode);
return JsonConvert.SerializeObject(oresult);
});
}
catch (Exception ex)
{
Log.Info("根据托盘码获取存放容量", ex.Message.ToString());
return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString()));
}
}
///
/// PDA接口-获取物料明细(根据产品码)
///
/// 条码
/// 条码类型
///
/// [HANHE(XDL)] CREATED BY 2019-03-19
[HttpGet]
public string GetItemDetail(string scanCode, string codeType)
{
try
{
return ValidateToken(t =>
{
OperateResult oresult = new OperateResult();
oresult = BLLCreator.Create().GetItemDetail(scanCode, codeType);
return JsonConvert.SerializeObject(oresult);
});
}
catch (Exception ex)
{
Log.Info("获取物料明细", ex.Message.ToString());
return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString()));
}
}
///
/// PDA接口-根据托盘码里面物料获取库区
///
/// 托盘码
/// [HanHe(XDL)] CREATED 2019/04/11
[HttpGet]
public string GetTrayItemByArea(string trayCode)
{
try
{
return ValidateToken(t =>
{
OperateResult oresult = new OperateResult();
oresult = BLLCreator.Create().GetTrayItemByArea(trayCode);
return JsonConvert.SerializeObject(oresult);
});
}
catch (Exception ex)
{
Log.Info("根据托盘码里面物料获取库区", ex.Message.ToString());
return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString()));
}
}
///
/// PDA接口-整托获取建议货位
///
/// 托盘码
/// 分拣台
/// 库区
///
/// [HanHe(XDL)] CREATED 2019/04/11
[HttpGet]
public string ZTGetLocationCode(string trayCode, string platformArea, string stockArea)
{
try
{
return ValidateToken(t =>
{
OperateResult oresult = new OperateResult();
oresult = BLLCreator.Create().ZTGetLocationCode(trayCode, platformArea, stockArea);
return JsonConvert.SerializeObject(oresult);
});
}
catch (Exception ex)
{
Log.Info("整托获取建议货位", ex.Message.ToString());
return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString()));
}
}
#endregion
}
}