ldj/wavePick/BLL/wms/tables/WmsOutSeeds.cs

194 lines
4.8 KiB
C#

/// <summary>
///INTERFACE CLASS FOR TABLE t_wmsOutSeeds
///By wm
///on 08/27/2018
/// </summary>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using DeiNiu.wms.win;
using System.Transactions;
using DeiNiu.Utils;
namespace DeiNiu.wms.Data.Model
{
[Serializable]
public class WmsOutSeeds : WmsOutSeeds_base
{
public WmsOutSeeds()
{
}
public WmsOutSeeds(int id): base(id)
{
}
public WmsOutSeeds(DataRow dr): base(dr)
{
}
protected override void getImp()
{
model_imp = new WmsOutSeeds_Imp();
}
//begin cust db operation, query, excute sql etc.
public DataSet QueryByName(string name)
{
cmdParameters[0] = name;
return CustQuery(100);
}
public DataTable getSeedItemsDt(int deskId, string seedsNo, string barcode)
{
cmdParameters[0] = deskId;
cmdParameters[1] = seedsNo;
cmdParameters[2] = barcode;
return CustQuery(200).Tables[0];
}
public bool startSeeds( int deskId,string seedsNo)
{
try
{
using (TransactionScope scope = new TransactionScope())
{
cmdParameters[0] = deskId;
cmdParameters[1] = seedsNo;
CustOper(300);
scope.Complete();
return true;
}
}
catch (Exception er)
{
LogHelper.WriteLog(typeof(WmsOutSeeds), er);
throw er;
}
}
public List<SeedsItem> getSeedItems(int deskId, string seedsNo, string barcode)
{
DataTable dt = getSeedItemsDt( deskId, seedsNo, barcode);
List<SeedsItem> r = new List<SeedsItem>();
foreach (DataRow dr in dt.Rows)
{
WmsOutSeeds ws = new WmsOutSeeds(dr);
r.Add(getSeedItemsWcfObject(ws));
}
return r;
}
public List<ELabel> getSeedLabels(int deskId, string seedsNo, string barcode)
{
DataTable dt = getSeedItemsDt(deskId, seedsNo, barcode);
List<ELabel> r = new List<ELabel>();
foreach (DataRow dr in dt.Rows)
{
WmsOutSeeds ws = new WmsOutSeeds(dr);
r.Add(getElabel(ws));
}
return r;
}
ELabel getElabel(WmsOutSeeds dbObj)
{
ELabel el = new ELabel();
el.count = Convert.ToInt16(dbObj.count);
el.address = dbObj.elabAddress;
el.port = dbObj.port;
el.color = dbObj.color;
el.labelId = dbObj.elabId;
el.color = el.color > 0 ? el.color : 1;
el.seedsId = dbObj.ID;
return el;
}
SeedsItem getSeedItemsWcfObject(WmsOutSeeds dbObj)
{
SeedsItem wcfObj = new SeedsItem();
wcfObj.deskId = dbObj.deskId;
wcfObj.seedsNo = dbObj.seedsNo;
wcfObj.custOrder = dbObj.custOrder;
wcfObj.barcode = dbObj.barcode;
wcfObj.elabId = dbObj.elabId;
wcfObj.port = dbObj.port;
wcfObj.itemName = dbObj.itemName;
wcfObj.count = Convert.ToInt16(dbObj.count);
wcfObj.unit = dbObj.unit;
return wcfObj;
}
/// <summary>
/// 按灭播种墙的灯
/// </summary>
/// <param name="seedsId">[t_wmsOutSeeds_tmp].id</param>
/// <param name="status"></param>
/// <returns></returns>
internal int pickSeedItem(int seedsId, enumSeedsState status)
{
cmdParameters[0] = seedsId;
cmdParameters[1] = (int)status;
return CustOper(400);
}
/// <summary>
/// 点亮灯后,更新状态
/// </summary>
/// <param name="seedsNo"></param>
/// <param name="status"></param>
/// <returns></returns>
internal int lightSeeds(string seedsNo, enumSeedsState status)
{
cmdParameters[0] = seedsNo;
cmdParameters[1] = (int)status;
return CustOper(401);
}
internal DataTable getValidSeed(int deskId, string seedsNo, string barcode)
{
cmdParameters[0] = deskId;
cmdParameters[1] = seedsNo;
cmdParameters[2] = barcode;
return CustQuery(201).Tables[0];
}
}
}