using HH.WMS.BLL;
|
using HH.WMS.BLL.Basic;
|
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 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.Basic
|
{
|
public class PrintTagController : BaseController
|
{
|
[HttpPost]
|
public OperateResult PrintItemTag(List<MONGO_PRINT_BARCODE> itemTags)
|
{
|
try
|
{
|
string inorderFrom = itemTags[0].CN_S_IN_ORDERFROM;
|
string inOrder = itemTags[0].CN_S_IN_ORDER;
|
string arrivalNo = itemTags[0].CN_S_ARRIVAL_NO;
|
|
DataTable dt = null;
|
string fromOp = "";
|
|
TN_WM_IN_MSTEntity inOrderFromModel =null;
|
TN_WM_ARRIVAL_MSTEntity arrivalModel=null;
|
TN_WM_INCREASE_INVENTORY_MSTEntity inOrderModel=null;
|
|
if (!string.IsNullOrEmpty(inorderFrom))
|
{
|
//入库订单
|
fromOp = "入库订单";
|
inOrderFromModel = BLLCreator.Create<DapperBLL<TN_WM_IN_MSTEntity>>().GetSingleEntity(new { CN_S_OP_NO = inOrder });
|
inOrderFromModel.DTLEntity= BLLCreator.Create<DapperBLL<TN_WM_IN_DTLEntity>>().GetList(new { CN_S_OP_NO = inOrder });
|
}
|
else if (!string.IsNullOrEmpty(arrivalNo))
|
{
|
//到货单
|
fromOp = "到货单";
|
arrivalModel = BLLCreator.Create<DapperBLL<TN_WM_ARRIVAL_MSTEntity>>().GetSingleEntity(new { CN_S_OP_NO = inOrder });
|
arrivalModel.DTLEntity = BLLCreator.Create<DapperBLL<TN_WM_ARRIVAL_DTLEntity>>().GetList(new { CN_S_OP_NO = inOrder });
|
}
|
else if (!string.IsNullOrEmpty(inOrder))
|
{
|
//入库单
|
fromOp = "入库单";
|
inOrderModel = BLLCreator.Create<DapperBLL<TN_WM_INCREASE_INVENTORY_MSTEntity>>().GetSingleEntity(new { CN_S_OP_NO = inOrder });
|
inOrderModel.DTLEntity = BLLCreator.Create<DapperBLL<TN_WM_INCREASE_INVENTORY_DTLEntity>>().GetList(new { CN_S_OP_NO = inOrder });
|
}
|
List<MONGO_PRINT_BARCODE> printbarlist = new List<MONGO_PRINT_BARCODE>();
|
List<MONGO_KEYTYPE_MAP> Maplist = new List<MONGO_KEYTYPE_MAP>();
|
foreach (MONGO_PRINT_BARCODE printbar in itemTags)//循环打印
|
{
|
AutoBomItemEntity itemEntity = BLLCreator.Create<TN_WMS_ITEMBLL>().GetItem(printbar.CN_S_ITEM_CODE);
|
MONGO_KEYTYPE_MAP Map = new MONGO_KEYTYPE_MAP();//码值对照表
|
Map.Key = printbar.CN_S_UNIQUE_CODE;
|
Map.Type = "1";
|
|
printbar.CN_C_IS_SN = itemEntity.CN_C_IS_SN;
|
printbar.CN_C_IS_WARRANTY_PARTS = itemEntity.CN_C_IS_WARRNTY_PARTS;
|
printbar.CN_N_QGP = (int)itemEntity.CN_F_WARRNTY_PARTS;
|
printbar.CN_S_FIGURE_NO = itemEntity.CN_S_FIGURE_NO;
|
printbar.CN_S_ITEM_NAME = itemEntity.CN_S_ITEM_NAME;
|
printbar.CN_S_MODEL = itemEntity.CN_S_MODEL;
|
printbar.CN_T_CREATE = DateTime.Now;
|
|
switch (fromOp)
|
{
|
case "入库订单":
|
TN_WM_IN_DTLEntity inDtlModel = inOrderFromModel.DTLEntity.Find(x=>x.CN_S_ITEM_CODE.Equals(printbar.CN_S_ITEM_CODE));
|
printbar.CN_S_IN_ORDERFROM = inOrder;
|
printbar.CN_S_PRODUCTION_BATCH =inDtlModel.CN_S_PRODUCTION_BATCH;
|
printbar.CN_T_PRODUCTION = inDtlModel.CN_T_PRODUCTION;
|
printbar.CN_S_ITEM_STATE = inDtlModel.CN_S_ITEM_STATE;
|
printbar.CN_S_LOT_NO = inDtlModel.CN_S_LOT_CODE;
|
printbar.CN_S_OWNER = inOrderFromModel.CN_S_OWNER;
|
printbar.CN_S_VENDOR_NAME = inOrderFromModel.CN_S_VENDOR_NAME;
|
printbar.CN_S_VENDOR_NO = inOrderFromModel.CN_S_VENDOR_NO;
|
printbar.CN_T_EXPIRATION = inOrderFromModel.CN_T_EXPECT_DATE;
|
break;
|
case "到货单":
|
TN_WM_ARRIVAL_DTLEntity arrivalDtlModel = arrivalModel.DTLEntity.Find(x => x.CN_S_ITEM_CODE.Equals(printbar.CN_S_ITEM_CODE));
|
printbar.CN_S_ARRIVAL_NO = inOrder;
|
printbar.CN_S_PRODUCTION_BATCH = arrivalDtlModel.CN_S_PRODUCTION_BATCH;
|
printbar.CN_S_ITEM_STATE = arrivalDtlModel.CN_S_ITEM_STATE;
|
printbar.CN_S_LOT_NO = arrivalModel.CN_S_LOT_CODE;
|
//printbar.CN_S_OWNER = arrivalModel.;
|
printbar.CN_S_VENDOR_NAME = arrivalModel.CN_S_VENDOR_NAME;
|
printbar.CN_S_VENDOR_NO = arrivalModel.CN_S_VENDOR_NO;
|
printbar.CN_T_EXPIRATION = arrivalDtlModel.CN_T_EXPIRATION;
|
printbar.CN_T_PRODUCTION = arrivalDtlModel.CN_T_PRODUCTION;
|
break;
|
case "入库单":
|
TN_WM_INCREASE_INVENTORY_DTLEntity inOrderDtlModel = inOrderModel.DTLEntity.Find(x => x.CN_S_ITEM_CODE.Equals(printbar.CN_S_ITEM_CODE));
|
printbar.CN_S_IN_ORDER = inOrder;
|
printbar.CN_S_LOT_NO = inOrderModel.CN_S_LOT_NO;
|
printbar.CN_S_ITEM_STATE = inOrderDtlModel.CN_S_ITEM_STATE;
|
printbar.CN_S_OWNER = inOrderModel.CN_S_OWNER;
|
printbar.CN_S_PRODUCTION_BATCH = inOrderDtlModel.CN_S_PRODUCTION_BATCH;
|
printbar.CN_S_VENDOR_NAME = inOrderModel.CN_S_VENDOR_NAME;
|
printbar.CN_S_VENDOR_NO = inOrderModel.CN_S_VENDOR_NO;
|
printbar.CN_T_EXPIRATION = inOrderDtlModel.CN_T_EXPIRATION;
|
printbar.CN_T_PRODUCTION = inOrderDtlModel.CN_T_PRODUCTION;
|
|
break;
|
}
|
printbarlist.Add(printbar);
|
Maplist.Add(Map);
|
}
|
if (printbarlist.Any() && Maplist.Any())
|
{
|
bool b = BLLCreator.Create<MONGO_PRINT_BARCODEBLL>().AddPrintBarcode(printbarlist);
|
b= BLLCreator.Create<MONGO_PRINT_BARCODEBLL>().AddKeyType(Maplist);
|
if (!b)
|
{
|
return OperateResult.Error("保存失败");
|
}
|
}
|
return OperateResult.Succeed("", null);
|
}
|
catch (Exception ex)
|
{
|
return OperateResult.Error(ex.Message.ToString());
|
}
|
}
|
|
|
/// <summary>
|
/// PDA接口-获取打码信息
|
/// </summary>
|
/// <param name="scanCode">条码</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2019-03-15</History>
|
[HttpGet]
|
public string GetBarCodeEntity(string scanCode)
|
{
|
try
|
{
|
return ValidateToken(t =>
|
{
|
MONGO_PRINT_BARCODE printBarCode = BLLCreator.Create<MONGO_PRINT_BARCODEBLL>().GetBarCodeEntity(scanCode);
|
if (printBarCode != null)
|
{
|
return JsonConvert.SerializeObject(OperateResult.Succeed("", printBarCode));
|
}
|
else
|
{
|
return JsonConvert.SerializeObject(OperateResult.Succeed("码值 " + scanCode + " 无效!", null));
|
}
|
});
|
}
|
catch (Exception ex)
|
{
|
return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString()));
|
}
|
|
|
}
|
}
|
}
|