public IList<V_ORDERSTORAGE> GetByOrderIds(List<int>orderid, int companyid)
{
IList<V_ORDERSTORAGE> storages = null;
if(orderid == null || orderid.Count.Equals(0)) { return null; }
stringcondition = orderid.ToString(i => i, ',');
stringsql = string.Format("selectentity from {0} as entity where orderid in ({1} )", typeof(V_ORDERSTORAGE),condition);
if(!companyid.Equals(-1))
{
sql += string.Format(" andAD_CLIENT_ID in({0},1)", companyid);
}
storages =ExcuteQuery(sql);
//同一类型多行数据根据条件合并
if(storages != null && storages.Count> 0)
{
IList<V_ORDERSTORAGE>orders = new List<V_ORDERSTORAGE>();
varmiddle = orders.Unions(storages, i => new {x = i.OUTER_SKU_ID, y = i.STORAGEID, m = i.SITE, n = i.STORAGEAREA }, delegate(IEnumerable<V_ORDERSTORAGE> vo)
{
V_ORDERSTORAGE voo = vo.FirstOrDefault().Clone() as V_ORDERSTORAGE;
voo.QUANTITY= vo.Sum(k => k.QUANTITY);
return voo;
});
storages =middle.ToList();
}
returnstorages;
//string类型的截取
string dS=null;
stringdRe=null;
if(d.Length > 4)
{
dS =d.Substring(d.Length - 4, 4);
dRe =d.Remove(d.Length - 4, 4);
}v