using HH.WCS.Mobox3.YNJT_BZP.models.other;
|
using HH.WCS.Mobox3.YNJT_BZP.util;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using static HH.WCS.Mobox3.YNJT_BZP.dispatch.NDC;
|
|
namespace HH.WCS.Mobox3.YNJT_BZP.wms {
|
/// <summary>
|
/// 容器帮助类
|
/// </summary>
|
internal class ContainerHelper {
|
internal static string GenerateCntrNo() {
|
var id = SYSHelper.GetSerialNumber("托盘号", "TP");
|
var date = DateTime.Now.ToString("yyMMdd");
|
return $"TP{date}{id.ToString().PadLeft(4, '0')}";
|
}
|
|
|
/// <summary>
|
/// 判断容器是否有物料信息
|
/// </summary>
|
/// <param name="cntr"></param>
|
/// <returns></returns>
|
internal static bool CheckEmpty(string cntr) {
|
//1.0 查货位容器表
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Queryable<LocCntrRel>().Count(a => a.S_LOC_CODE.Trim() == cntr) == 0;
|
|
}
|
|
internal static bool AddCntr(string cntrCode ,int type)
|
{
|
var res = true;
|
var db = new SqlHelper<object>().GetInstance();
|
try
|
{
|
var TN_Container = new Container { S_CODE = cntrCode, N_TYPE = type };
|
TN_Container.S_TYPE = Container.GetStateStr(type);
|
res = db.Insertable<Container>(TN_Container).ExecuteCommand() > 0;
|
}
|
catch (Exception ex)
|
{
|
res = false;
|
}
|
return res;
|
}
|
|
/// <summary>
|
/// 根据容器号获取容器信息
|
/// </summary>
|
/// <param name="cntr"></param>
|
/// <returns></returns>
|
internal static Container GetCntr(string cntr) {
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Queryable<Container>().Where(a => a.S_CODE == cntr).First();
|
}
|
|
/// <summary>
|
/// 根据容器获取物料信息
|
/// </summary>
|
/// <param name="cntr"></param>
|
/// <returns></returns>
|
internal static List<CntrItemRel> GetCntrItemRel(string cntr) {
|
var db = new SqlHelper<object>().GetInstance();
|
var list = db.Queryable<CntrItemRel>().Where(a => a.S_CNTR_CODE == cntr).ToList();
|
return list;
|
}
|
internal static bool BindNewCntrItem(string loc,string cntrCode, string itemCode) {
|
var res = false;
|
var itemName = ItemHelper.GetItemInfo(itemCode).S_ITEM_NAME;
|
var db = new SqlHelper<object>().GetInstance();
|
try {
|
db.BeginTran();
|
var cntr = new Container { S_CODE = cntrCode, N_DETAIL_COUNT = 1 };
|
db.Insertable(cntr).ExecuteCommand();
|
//获取物料信息,填充到容器货品明细,方便人工查看
|
var cir = new CntrItemRel { S_CNTR_CODE = cntr.S_CODE.Trim(), F_QTY = 1, S_ITEM_CODE = itemCode, S_ITEM_NAME = itemName };
|
db.Insertable<CntrItemRel>(cir).ExecuteCommand();
|
var lcr = new LocCntrRel { S_CNTR_CODE = cntrCode, S_LOC_CODE = loc };
|
db.Insertable<LocCntrRel>(lcr).ExecuteCommand();
|
db.CommitTran();
|
res = true;
|
}
|
catch (Exception ex) {
|
db.RollbackTran();
|
Console.WriteLine(ex.Message);
|
}
|
|
return res;
|
}
|
|
|
internal static bool addCntrItem(string cntrCode, CntrItemRel cntrItemRel)
|
{
|
var res = false;
|
var db = new SqlHelper<object>().GetInstance();
|
try
|
{
|
db.BeginTran();
|
var container = db.Queryable<Container>().Where(a => a.S_CODE == cntrCode).First();
|
if (container == null)
|
{
|
container = new Container { S_CODE = cntrCode, N_DETAIL_COUNT = 1 };
|
db.Insertable(container).ExecuteCommand();
|
}
|
else
|
{
|
container.N_DETAIL_COUNT = 1;
|
db.Updateable(container).ExecuteCommand();
|
}
|
res = db.Insertable<CntrItemRel>(cntrItemRel).ExecuteCommand() > 0;
|
db.CommitTran();
|
res = true;
|
}
|
catch (Exception ex)
|
{
|
db.RollbackTran();
|
Console.WriteLine(ex.Message);
|
}
|
|
return res;
|
}
|
|
internal static bool deleteCntrItem(string cntrCode)
|
{
|
var res = false;
|
var db = new SqlHelper<object>().GetInstance();
|
try
|
{
|
db.BeginTran();
|
res = db.Deleteable<CntrItemRel>().Where(a => a.S_CNTR_CODE == cntrCode).ExecuteCommand() > 0;
|
db.CommitTran();
|
res = true;
|
}
|
catch (Exception ex)
|
{
|
db.RollbackTran();
|
Console.WriteLine(ex.Message);
|
}
|
return res;
|
}
|
|
}
|
}
|