ldj/WcfService1/BLL/lNode.cs

248 lines
6.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DeiNiu.wms.Data.Model;
using System.Data;
using System.Transactions;
using DeiNiu.Utils;
namespace DeiNiu.wms.Logical
{
public class lNode : lbase
{
Node _obj;
public lNode()
{
initialize();
}
public lNode(int operId):base(operId)
{
initialize();
}
public Node getNode
{
get
{
return _obj;
}
}
/// <summary>
/// get all data
/// </summary>
public DataSet getAllData()
{
return _obj.Query();
}
/// <summary>
/// get all data
/// </summary>
public DataSet getAllActiveData()
{
return _obj.QueryActived();
}
/// <summary>
/// get a record by id
/// </summary>
public void initialize(int id)
{
_obj = id != 0 ? new Node(id) : new Node();
}
/// <summary>
/// get a record by id 0
/// </summary>
public void initialize()
{
initialize(0);
}
/// <summary>
/// get a record by id
/// </summary>
public void initialize(DataRow dr)
{
_obj = new Node(dr);
}
//begin cust db operation, query, excute sql etc.
public DataSet Query(string goodsName, int rownumStart, int rownumEnd)
{
if (rownumEnd > rownumStart && rownumStart > 0)
{
_obj.rownumStart = rownumStart;
_obj.rownumEnd = rownumEnd;
}
DataSet ds = string.IsNullOrEmpty(goodsName) ? _obj.Query() : _obj.QueryByName(goodsName) ;
return ds;
// return string.IsNullOrEmpty(goodsName) ? _obj.Query().Tables[0] : _obj.QueryByName(goodsName).Tables[0];
}
public int getCntByName(string name)
{
return _obj.getCntByName(name);
}
private bool valid()
{
return true;
}
/// <summary>
/// query dic that has flag
/// used for building combox
/// </summary>
/// <returns></returns>
public DataTable QueryByFlags()
{
return _obj.QueryByFlags();
}
public DataTable getDesks()
{
return _obj.QueryByFlags( new int[]{4001,4002});
}
public bool initialDesk()
{
WmsOutDesk desk = new WmsOutDesk();
DataTable dt = desk.Query().Tables[0];
foreach (DataRow dr in dt.Rows)
{
WmsOutDesk d = new WmsOutDesk(dr);
d.Delete();
}
Node nd = new Node();
dt = nd.QueryByFlag(4001);
foreach (DataRow dr in dt.Rows)
{
try
{
nd = new Node(dr);
desk = new WmsOutDesk();
desk.color = Convert.ToInt32(nd.name.Trim());
desk.deskName = nd.description;
desk.ip = "127.0.0.1";
desk.deskType = (int)enumDeskType.;
desk.Add();
}
catch
{
continue;
}
}
Dictionary<int, int> SEEDS_DESK_PORTS = new Dictionary<int, int>();
Dictionary<int, int> SEEDS_DESK_LABEL_START_ID = new Dictionary<int, int>();
Dictionary<int, int> SEEDS_DESK_PICKS_COUNT_MAX = new Dictionary<int, int>();
Dictionary<int, int> SEEDS_DESK_PICKS_COUNT_MIN = new Dictionary<int, int>();
dt = nd.QueryByFlag(4004);//标签起始编号
foreach (DataRow dr in dt.Rows)
{
Node n = new Node(dr);
try
{
SEEDS_DESK_LABEL_START_ID[ Convert.ToInt32(n.name)] = Convert.ToInt32(n.value);
}
catch { }
}
dt = nd.QueryByFlag(4005);//播种台分播客户最大数量
foreach (DataRow dr in dt.Rows)
{
Node n = new Node(dr);
try
{
SEEDS_DESK_PICKS_COUNT_MAX[ Convert.ToInt32(n.name)] = Convert.ToInt32(n.value);
}
catch { }
}
dt = nd.QueryByFlag(4007);//播种台分播客户最少数量
foreach (DataRow dr in dt.Rows)
{
Node n = new Node(dr);
try
{
SEEDS_DESK_PICKS_COUNT_MIN[ Convert.ToInt32(n.name)] = Convert.ToInt32(n.value);
}
catch { }
}
dt = nd.QueryByFlag(4003);//播种台端口号
foreach (DataRow dr in dt.Rows)
{
Node n = new Node(dr);
try
{
SEEDS_DESK_PORTS[ Convert.ToInt32(n.name)] = Convert.ToInt32(n.value);
}
catch { }
}
dt = nd.QueryByFlag(4002); //播种
foreach (DataRow dr in dt.Rows)
{
try
{
nd = new Node(dr);
desk = new WmsOutDesk();
desk.color = Convert.ToInt32(nd.name.Trim());
desk.deskName = nd.value;
desk.ip = "127.0.0.1";
if(SEEDS_DESK_PORTS.ContainsKey( desk.color)){
desk.port = SEEDS_DESK_PORTS[desk.color];
}
if (SEEDS_DESK_PICKS_COUNT_MAX.ContainsKey(desk.color))
{
desk.seedsCount = SEEDS_DESK_PICKS_COUNT_MAX[desk.color];
}
if (SEEDS_DESK_LABEL_START_ID.ContainsKey(desk.color))
{
desk.startLabelId = SEEDS_DESK_LABEL_START_ID[desk.color];
}
if (SEEDS_DESK_PICKS_COUNT_MIN.ContainsKey(desk.color))
{
desk.seedsMinCount = SEEDS_DESK_PICKS_COUNT_MIN[desk.color];
}
desk.deskType = (int)enumDeskType.;
desk.Add();
}
catch
{
continue;
}
}
return true;
}
}
}