836 lines
28 KiB
C#
836 lines
28 KiB
C#
using Epost.Common;
|
|
using Epost.Model;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Epost.DAL
|
|
{
|
|
public class AddressstorageDAL
|
|
{
|
|
//DB db = new DB();
|
|
DataBaseOpration.OprationSqlDAL db = DB_DLL.GetInstance();
|
|
|
|
#region 查询设备所在区
|
|
public DataTable getBlock(string address,string type,string controlip)
|
|
{
|
|
string sql = "";
|
|
if (string.IsNullOrEmpty(type))
|
|
{
|
|
sql = string.Format("select * from V_Address where address = '{0}' and ControlIP='{1}'",
|
|
address,
|
|
controlip);
|
|
}
|
|
else
|
|
{
|
|
sql = string.Format("select * from V_Address where type='{1}' and address = '{0}' and ControlIP='{2}'",
|
|
address,
|
|
type,
|
|
controlip);
|
|
}
|
|
|
|
LogHelper.WriteLogInfo("查询设备所在区" + sql);
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
#region 根据地址查询货位信息
|
|
public DataTable getLocationList(string address,string controlIP)
|
|
{
|
|
string sql = string.Format(" select * from addressstorage as addr left join controller as con on con.ID=addr.controlid where type=4 and address = '{0}' and ControlIP='{1}'",
|
|
address,
|
|
controlIP
|
|
);
|
|
// LogHelper.WriteLogInfo("根据地址查询货位信息" + sql);
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
#region 查询设备所在区
|
|
public DataTable getArea(string address, string ip)
|
|
{
|
|
string sql = string.Format("select * from v_address where address='{0}' and ControlIP='{1}'",
|
|
address,
|
|
ip);
|
|
LogHelper.WriteLogInfo("查询扫描枪所在区:" + sql);
|
|
DataTable dt = db.GetsqlForDT(sql);
|
|
return dt;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 根据货位号查询标签地址
|
|
public DataTable getAddressList(string location)
|
|
{
|
|
string sql = string.Format(" select * from v_address where location = '{0}'",
|
|
location
|
|
|
|
);
|
|
// LogHelper.WriteLogInfo("根据货位号查询标签地址" + sql);
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
|
|
|
|
#endregion
|
|
#region 根据货位号查询标签地址
|
|
public DataTable getOrderAddress(string location)
|
|
{
|
|
string sql = string.Format(" select top 1 shopid, address, ControlIP,block,area from v_orders where tolocation = '{0}' ",
|
|
location
|
|
|
|
);
|
|
// LogHelper.WriteLogInfo("根据货位号查询标签地址" + sql);
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
#region 根据地址、通道查询信息
|
|
public DataTable getAddressListByway(string location, string block, string area,string way)
|
|
{
|
|
string sql = string.Format(" select * from addressstorage where location = '{0}' and block='{1}' and area='{2}' and way='{3}'",
|
|
location,
|
|
block,
|
|
area,way
|
|
);
|
|
// LogHelper.WriteLogInfo("根据地址、通道查询信息:" + sql);
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
|
|
|
|
#endregion
|
|
#region 获取控制器列表
|
|
public DataTable getControlList()
|
|
{
|
|
string sql = string.Format("select * from Controller");
|
|
// LogHelper.WriteLogInfo("获取控制器列表" + sql);
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
#endregion
|
|
#region 获取所有地址列表
|
|
public DataTable getAddressList()
|
|
{
|
|
string sql = string.Format("select address,ControlIP,block,area,way,type,bkaddress,addresstype from V_address group by address,ControlIP,block,area,way,type,bkaddress,addresstype ORDER BY TYPE DESC");
|
|
// LogHelper.WriteLogInfo("获取控制器列表" + sql);
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
#endregion
|
|
|
|
#region 查询控制器下所有标签地址
|
|
public DataTable getLabelList(string controlid)
|
|
{
|
|
string sql = string.Format(" select distinct address, state, type, ControlID,addresstype from Addressstorage where type in (1, 2, 8) and Controlid = '{0}' ",
|
|
controlid);
|
|
DataTable dt = db.GetsqlForDT(sql);
|
|
return dt;
|
|
}
|
|
#endregion
|
|
#region 根据区域 查询显示箱号地址
|
|
public DataTable getAddressByBlock(string block)
|
|
{
|
|
string sql = string.Format("select * from V_Address where type = 2 and block = '{0}'",
|
|
block);
|
|
// LogHelper.WriteLogInfo("根据区域 查询显示箱号地址" + sql);
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 根据区域 查询显示箱号地址
|
|
public DataTable getAddressByBlock(string block, string area)
|
|
{
|
|
string sql = string.Format("select addr.*,con.ControlIP from addressstorage as addr left join controller as con on addr.controlid = con.id where block='{0}' and area='{1}' and type=2",
|
|
block,
|
|
area);
|
|
// LogHelper.WriteLogInfo("根据区域 查询显示箱号地址" + sql);
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
#region 根据区域 查询显示箱号地址
|
|
public DataTable GetBoxAddress(string block,string area,int type)
|
|
{
|
|
string strwhere = string.Empty;
|
|
if (!string.IsNullOrEmpty(area))
|
|
{
|
|
strwhere = " and area='"+area+"'";
|
|
}
|
|
string sql = string.Format("select address, bkaddress, state, type, area ,way ,shelfid, ControlID ,location ,layer, slist, block, addresstype, ControlIP, ControlType, info from V_address where type='{1}' and block='{0}' " + strwhere,
|
|
block,
|
|
|
|
type);
|
|
LogHelper.WriteLogInfo("根据区域 查询显示地址"+sql);
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 根据区域 查询显示箱号地址
|
|
public DataTable getAddresslist(string block, string area,string type)
|
|
{
|
|
|
|
string sql = string.Format(" select * from V_Address where location in (select min(location) from V_Address group by address) and block = '{0}' and area = '{1}' and type ='{2}'",
|
|
block,
|
|
area,type);
|
|
|
|
// LogHelper.WriteLogInfo("根据区域 查询显示箱号地址" + sql);
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 根据区域 查询设备地址
|
|
public DataTable getAddresslistByBlock(string block, string area)
|
|
{
|
|
string sql = string.Format("select * from V_Address where block='{0}' and area='{1}' and type in(2,4)",
|
|
block,
|
|
area);
|
|
// LogHelper.WriteLogInfo("根据区域 查询显示箱号地址" + sql);
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
#region 获取扫描枪地址
|
|
public DataTable GetScanList()
|
|
{
|
|
string sql = string.Format("select * from V_Address where type =6");
|
|
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 获取通道灯地址
|
|
public DataTable GetLightList()
|
|
{
|
|
string sql = string.Format("select * from V_Address where type =1");
|
|
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 根据区域获取扫描枪地址
|
|
public DataTable GetScanListByArea(string block,string area)
|
|
{
|
|
string sql = string.Format("select * from V_Address where type =6 and block='"+block+"' and area = '"+area+"'");
|
|
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
|
|
#endregion
|
|
#region 根据区域获取通道灯地址
|
|
public DataTable GetlightListByArea(string block, string area)
|
|
{
|
|
string sql = string.Format("select * from V_Address where type =1 and block='" + block + "' and area = '" + area + "'");
|
|
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
#region 获取所有大区
|
|
public DataTable GetBlockList()
|
|
{
|
|
string sql = string.Format("select block from Addressstorage group by block");
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
#endregion
|
|
|
|
#region 获取所有小区
|
|
public DataTable GetAreaList()
|
|
{
|
|
string sql = string.Format("select area,block from Addressstorage where type=1 group by area,block");
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
#endregion
|
|
|
|
#region 获取所有小区
|
|
public List<AddressstorageModel> GetAreaList(string block, string shelfid)
|
|
{
|
|
string strwhere = string.Empty;
|
|
if (!string.IsNullOrEmpty(block))
|
|
{
|
|
strwhere += "and block ='" + block + "'";
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(shelfid))
|
|
{
|
|
strwhere += "and shelfid ='" + shelfid + "'";
|
|
}
|
|
string sql = string.Format("select area,block from Addressstorage where type=1 " + strwhere + " group by area,block");
|
|
DataTable dt = db.GetsqlForDT(sql);
|
|
|
|
return ModelConvertHelper<AddressstorageModel>.ConvertToList(dt);
|
|
}
|
|
#endregion
|
|
|
|
#region 获取所有小区
|
|
public List<AddressstorageModel> GetshelfidList(string block)
|
|
{
|
|
string strwhere = string.Empty;
|
|
if (!string.IsNullOrEmpty(block))
|
|
{
|
|
strwhere += "and block ='" + block + "'";
|
|
}
|
|
|
|
string sql = string.Format("select shelfid,block from Addressstorage where type=1 " + strwhere + " group by shelfid,block");
|
|
DataTable dt = db.GetsqlForDT(sql);
|
|
|
|
return ModelConvertHelper<AddressstorageModel>.ConvertToList(dt);
|
|
}
|
|
#endregion
|
|
#region 获取所有通道
|
|
public DataTable GetWayList()
|
|
{
|
|
string sql = string.Format("select way from Addressstorage group by way");
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
#endregion
|
|
|
|
#region 分页获取数据列表
|
|
|
|
public List<AddressstorageModel> GetCityListByPage(string strWhere, string orderby, int startIndex, int endIndex, out int recordCount)
|
|
{
|
|
|
|
try
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("SELECT * FROM ( ");
|
|
strSql.Append(" SELECT ROW_NUMBER() OVER (");
|
|
if (!string.IsNullOrEmpty(orderby.Trim()))
|
|
{
|
|
strSql.Append("order by T." + orderby);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append("order by T.address desc");
|
|
}
|
|
strSql.Append(")AS Row, T.* from Addressstorage T WITH(NOLOCK) ");
|
|
if (!string.IsNullOrEmpty(strWhere.Trim()))
|
|
{
|
|
strSql.Append(" WHERE 1=1 " + strWhere);
|
|
}
|
|
strSql.Append(" ) TT");
|
|
strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
|
|
List<AddressstorageModel> list = ModelConvertHelper<AddressstorageModel>.ConvertToList(db.GetsqlForDT(strSql.ToString()));
|
|
|
|
strSql.Remove(0, strSql.Length);
|
|
strSql.Append("SELECT COUNT(*) FROM Addressstorage AS T ");
|
|
if (!string.IsNullOrEmpty(strWhere.Trim()))
|
|
{
|
|
strSql.AppendFormat(" WHERE 1=1 {0}", strWhere);
|
|
}
|
|
|
|
object obj = db.GetsqlForDT(strSql.ToString());
|
|
if (obj != null)
|
|
recordCount = Convert.ToInt32(obj);
|
|
else
|
|
recordCount = 0;
|
|
|
|
return list;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.WriteLog(GetType(), ex.Message);
|
|
recordCount = 0;
|
|
return new List<Model.AddressstorageModel>();
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
//---
|
|
#region 获取每个小区对应的每个大区(根据小区从小到大排序对应的大区)
|
|
public List<AddressstorageModel> GetBlockByAreaList()
|
|
{
|
|
//string sql = string.Format("select cast(area as Int) as 'Area_area',block from Addressstorage group by block,area order by 'Area_area',block");
|
|
string sql = string.Format("select cast(way as Int) as 'Area_area',area from Addressstorage where type in(1,2) group by way,area order by Area_area,area");
|
|
List<AddressstorageModel> list = ModelConvertHelper<AddressstorageModel>.ConvertToList(db.GetsqlForDT(sql));
|
|
|
|
return list;
|
|
}
|
|
#endregion
|
|
|
|
#region 分页获取数据列表
|
|
|
|
public List<AddressstorageModel> GetLocationListByPage(string strWhere, string orderby, int startIndex, int endIndex, out int recordCount)
|
|
{
|
|
|
|
try
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("SELECT * FROM ( ");
|
|
strSql.Append(" SELECT ROW_NUMBER() OVER (");
|
|
if (!string.IsNullOrEmpty(orderby.Trim()))
|
|
{
|
|
strSql.Append("order by T." + orderby);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append("order by cast(address as int) asc");
|
|
}
|
|
strSql.Append(")AS Row, T.* from epost T WITH(NOLOCK) ");
|
|
if (!string.IsNullOrEmpty(strWhere.Trim()))
|
|
{
|
|
strSql.Append(" WHERE 1=1 " + strWhere);
|
|
}
|
|
strSql.Append(" ) TT");
|
|
strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
|
|
List<AddressstorageModel> list = ModelConvertHelper<AddressstorageModel>.ConvertToList(db.GetsqlForDT(strSql.ToString()));
|
|
|
|
strSql.Remove(0, strSql.Length);
|
|
strSql.Append("SELECT COUNT(*) FROM epost AS T ");
|
|
if (!string.IsNullOrEmpty(strWhere.Trim()))
|
|
{
|
|
strSql.AppendFormat(" WHERE 1=1 {0}", strWhere);
|
|
}
|
|
|
|
object obj = db.GetsqlForDT(strSql.ToString()).Rows[0][0];
|
|
if (obj != null)
|
|
recordCount = Convert.ToInt32(obj);
|
|
else
|
|
recordCount = 0;
|
|
|
|
return list;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.WriteLog(GetType(), ex.Message);
|
|
recordCount = 0;
|
|
return new List<Model.AddressstorageModel>();
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 根据条件删除货位
|
|
public bool DeleteLocation(string strwhere)
|
|
{
|
|
string sql = "delete from Addressstorage where address is not null ";
|
|
try
|
|
{
|
|
if (strwhere != string.Empty && strwhere != null)
|
|
{
|
|
sql += " " + strwhere;
|
|
}
|
|
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
throw;
|
|
}
|
|
long dt = db.UpdateSql(sql);
|
|
if (dt > 0)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 根据条件删除货位
|
|
public bool Locational_Binding_Save(string one, string two, string three, string four, string five, string six)
|
|
{
|
|
|
|
#region one
|
|
string sql1 = "update Addressstorage ";
|
|
try
|
|
{
|
|
if (one != string.Empty && one != null)
|
|
{
|
|
sql1 += "set area='" + one + "' where way='01' and type in(2,1)";
|
|
}
|
|
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
throw;
|
|
}
|
|
long dt = db.UpdateSql(sql1);
|
|
#endregion
|
|
#region two
|
|
string sql2 = "update Addressstorage ";
|
|
try
|
|
{
|
|
if (two != string.Empty && two != null)
|
|
{
|
|
sql2 += "set area='" + two + "' where way='02' and type in(2,1)";
|
|
}
|
|
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
throw;
|
|
}
|
|
dt = db.UpdateSql(sql2);
|
|
#endregion
|
|
#region three
|
|
string sql3 = "update Addressstorage ";
|
|
try
|
|
{
|
|
if (three != string.Empty && three != null)
|
|
{
|
|
sql3 += "set area='" + three + "' where way='03' and type in(2,1)";
|
|
}
|
|
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
throw;
|
|
}
|
|
dt = db.UpdateSql(sql3);
|
|
#endregion
|
|
#region four
|
|
string sql4 = "update Addressstorage ";
|
|
try
|
|
{
|
|
if (four != string.Empty && four != null)
|
|
{
|
|
sql4 += "set area='" + four + "' where way='04' and type in (2,1)";
|
|
}
|
|
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
throw;
|
|
}
|
|
dt = db.UpdateSql(sql4);
|
|
#endregion
|
|
#region five
|
|
string sql5 = "update Addressstorage ";
|
|
try
|
|
{
|
|
if (five != string.Empty && five != null)
|
|
{
|
|
sql5 += "set area='" + five + "' where way='05' and type in(2,1)";
|
|
}
|
|
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
throw;
|
|
}
|
|
dt = db.UpdateSql(sql5);
|
|
#endregion
|
|
#region six
|
|
string sql6 = "update Addressstorage ";
|
|
try
|
|
{
|
|
if (six != string.Empty && six != null)
|
|
{
|
|
sql6 += "set area='" + six + "' where way='06' and type in(2,1)";
|
|
}
|
|
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
throw;
|
|
}
|
|
dt = db.UpdateSql(sql6);
|
|
#endregion
|
|
|
|
if (dt > 0)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 分页货位次数数据列表
|
|
|
|
public List<AddressstorageModel> GetLocationQuantityListByPage(string strWhere, string orderby, int startIndex, int endIndex, out int recordCount)
|
|
{
|
|
|
|
try
|
|
{
|
|
String STR = "(SELECT dbo.Addressstorage.location, COUNT(dbo.Ordershis.quantity) AS Count, SUM(dbo.Ordershis.quantity) AS Number " +
|
|
"FROM dbo.Addressstorage LEFT OUTER JOIN " +
|
|
" dbo.Ordershis ON dbo.Addressstorage.location = dbo.Ordershis.tolocation " +
|
|
" WHERE 1=1 " + strWhere +
|
|
"GROUP BY dbo.Addressstorage.location) ";
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("SELECT * FROM ( ");
|
|
strSql.Append(" SELECT ROW_NUMBER() OVER (");
|
|
if (!string.IsNullOrEmpty(orderby.Trim()))
|
|
{
|
|
strSql.Append("order by T." + orderby);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append("order by location asc");
|
|
}
|
|
strSql.Append(")AS Row, T.* from " + STR + " T ");
|
|
//if (!string.IsNullOrEmpty(strWhere.Trim()))
|
|
//{
|
|
// strSql.Append(" WHERE 1=1 " + STR);
|
|
//}
|
|
strSql.Append(" ) TT");
|
|
string sq = strSql.Append(" WHERE TT.Row between {0} and {1}").ToString();
|
|
string sq1= string.Format(sq, startIndex, endIndex);
|
|
string sq3 = string.Format(sq, 0, 100000);
|
|
|
|
List<AddressstorageModel> list = ModelConvertHelper<AddressstorageModel>.ConvertToList(db.GetsqlForDT(sq1.ToString()));
|
|
|
|
strSql.Remove(0, strSql.Length);
|
|
strSql.Append("SELECT COUNT(*) FROM (" + sq3 + ") AS T ");
|
|
if (!string.IsNullOrEmpty(STR.Trim()))
|
|
{
|
|
strSql.AppendFormat(" WHERE 1=1 {0}", STR);
|
|
}
|
|
|
|
object obj = db.GetsqlForDT(strSql.ToString()).Rows[0][0];
|
|
if (obj != null)
|
|
recordCount = Convert.ToInt32(obj);
|
|
else
|
|
recordCount = 0;
|
|
|
|
return list;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.WriteLog(GetType(), ex.Message);
|
|
recordCount = 0;
|
|
return new List<Model.AddressstorageModel>();
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region 更新货位
|
|
public bool Locational_Save(string address, string type, string state, string location, string controlIP, string shelfid,
|
|
string block, string area, string username,
|
|
string address_pre, string location_pre, string block_pre, string area_pre
|
|
)
|
|
{
|
|
string sql = "update Addressstorage set address='{0}',type='{1}',location='{2}',shelfid='{3}',block='{4}',area='{5}',state='{6}' where" +
|
|
" address='{7}' and location='{8}' and block='{9}' and area='{10}'";
|
|
|
|
sql = string.Format(sql, address, type, location, shelfid, block, area, state, address_pre, location_pre, block_pre, area_pre);
|
|
long dt = db.UpdateSql(sql);
|
|
if (dt > 0)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 查找报错设备的state
|
|
public DataTable getErrorState(string address, string controlIP)
|
|
{
|
|
string sql = string.Format(" select distinct address,bkaddress,state,type,con.ControlIP,ID from addressstorage as addr left join controller as con on con.ID=addr.controlid where address = '{0}' and ControlIP='{1}'",
|
|
address,
|
|
controlIP
|
|
);
|
|
// LogHelper.WriteLogInfo("根据地址查询货位信息" + sql);
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region 设置报错的state=3
|
|
public bool UpdateErrorState(string address, string controlIP)
|
|
{
|
|
string sql = "select ID from Controller where controlIP='" + controlIP + "'";
|
|
string controlId = db.GetsqlForDT(sql).Rows[0][0].ToString();
|
|
string sql2 = string.Format(" update addressstorage set state='3' where address = '{0}' and controlid='{1}'",
|
|
address,
|
|
controlId
|
|
);
|
|
// LogHelper.WriteLogInfo("根据地址查询货位信息" + sql);
|
|
long dt = db.UpdateSql(sql2);
|
|
if (dt > 0)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 设置所有的设备都为1
|
|
public bool UpdateState()
|
|
{
|
|
string sql = "update Addressstorage SET state = '1'";
|
|
long dt = db.UpdateSql(sql);
|
|
if (dt > 0)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 根据货位号查询标签地址
|
|
public DataTable getIP(string carid)
|
|
{
|
|
string sql = string.Format(" select distinct controlip from v_address order by ControlIP");
|
|
// LogHelper.WriteLogInfo("根据货位号查询标签地址" + sql);
|
|
return db.GetsqlForDT(sql);
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 获取所有地址列表
|
|
public DataTable GetALLList(string strwhere)
|
|
{
|
|
string sql = string.Format("select * from v_address where 1=1 " + strwhere + " ");
|
|
|
|
DataTable dt = db.GetsqlForDT(sql);
|
|
return dt;
|
|
}
|
|
#endregion
|
|
|
|
#region 分页获取用户表列表
|
|
|
|
public List<AddressstorageModel> GetAddressListByPageByMySql(string strWhere, string orderby, int startIndex, int endIndex, out int recordCount)
|
|
{
|
|
|
|
try
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("SELECT addr.* from v_address as addr WHERE 1 = 1 ");
|
|
|
|
if (!string.IsNullOrEmpty(strWhere.Trim()))
|
|
{
|
|
|
|
strSql.Append(strWhere);
|
|
}
|
|
|
|
|
|
if (!string.IsNullOrEmpty(orderby.Trim()))
|
|
{
|
|
|
|
strSql.Append(" order by " + orderby);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by block asc");
|
|
}
|
|
|
|
strSql.AppendFormat(" limit {0},{1}", startIndex, endIndex);
|
|
DataTable dt = db.GetsqlForDT(strSql.ToString());
|
|
List<AddressstorageModel> list = ModelConvertHelper<AddressstorageModel>.ConvertToList(dt);
|
|
|
|
strSql.Remove(0, strSql.Length);
|
|
strSql.Append("SELECT COUNT(*) FROM v_address AS T ");
|
|
if (!string.IsNullOrEmpty(strWhere.Trim()))
|
|
{
|
|
strSql.AppendFormat(" WHERE 1=1 {0}", strWhere);
|
|
}
|
|
|
|
object obj = db.GetsqlForDT(strSql.ToString()).Rows[0][0];
|
|
if (obj != null)
|
|
recordCount = Convert.ToInt32(obj);
|
|
else
|
|
recordCount = 0;
|
|
|
|
return list;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.WriteLog(GetType(), ex.Message);
|
|
recordCount = 0;
|
|
return new List<Model.AddressstorageModel>();
|
|
}
|
|
|
|
}
|
|
|
|
|
|
public List<AddressstorageModel> GetAddressListByByPage(string strWhere, string orderby, int startIndex, int endIndex, out int recordCount)
|
|
{
|
|
|
|
try
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("SELECT * FROM ( ");
|
|
strSql.Append(" SELECT ROW_NUMBER() OVER (");
|
|
if (!string.IsNullOrEmpty(orderby.Trim()))
|
|
{
|
|
strSql.Append("order by T." + orderby);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append("order by address asc");
|
|
}
|
|
strSql.Append(")AS Row, T.* from v_address T WITH(NOLOCK) ");
|
|
if (!string.IsNullOrEmpty(strWhere.Trim()))
|
|
{
|
|
strSql.Append(" WHERE 1=1 " + strWhere);
|
|
}
|
|
strSql.Append(" ) TT");
|
|
strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
|
|
List<AddressstorageModel> list = ModelConvertHelper<AddressstorageModel>.ConvertToList(db.GetsqlForDT(strSql.ToString()));
|
|
|
|
strSql.Remove(0, strSql.Length);
|
|
strSql.Append("SELECT COUNT(*) FROM v_address AS T ");
|
|
if (!string.IsNullOrEmpty(strWhere.Trim()))
|
|
{
|
|
strSql.AppendFormat(" WHERE 1=1 {0}", strWhere);
|
|
}
|
|
|
|
object obj = db.GetsqlForDT(strSql.ToString()).Rows[0][0];
|
|
if (obj != null)
|
|
recordCount = Convert.ToInt32(obj);
|
|
else
|
|
recordCount = 0;
|
|
|
|
return list;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.WriteLog(GetType(), ex.Message);
|
|
recordCount = 0;
|
|
return new List<Model.AddressstorageModel>();
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
}
|