public AscmMtlOnhandQuantitiesDetail Get(int id) { AscmMtlOnhandQuantitiesDetail ascmMtlOnhandQuantitiesDetail = null; try { ascmMtlOnhandQuantitiesDetail = YnDaoHelper.GetInstance().nHibernateHelper.Get <AscmMtlOnhandQuantitiesDetail>(id); } catch (Exception ex) { YnBaseClass2.Helper.LogHelper.GetLog().Error("查询失败(Get ascmMtlOnhandQuantitiesDetail)", ex); throw ex; } return(ascmMtlOnhandQuantitiesDetail); }
public void SetQuantity(List <AscmWipRequirementOperations> list, int organizationId, string subinventoryCode) { if (list != null && list.Count > 0) { var inventoryItemIds = list.Select(P => P.inventoryItemId).Distinct(); var count = inventoryItemIds.Count(); string ids = string.Empty; for (int i = 0; i < count; i++) { if (!string.IsNullOrEmpty(ids)) { ids += ","; } ids += inventoryItemIds.ElementAt(i); if ((i + 1) % 500 == 0 || (i + 1) == count) { if (!string.IsNullOrEmpty(ids)) { //现有数、库存表 string sql = "select new AscmMtlOnhandQuantitiesDetail(inventoryItemId,sum(transactionQuantity)) from AscmMtlOnhandQuantitiesDetail "; string where = " inventoryItemId in (" + ids + ")", whereSubinventoryCode = ""; if (!string.IsNullOrEmpty(subinventoryCode)) { whereSubinventoryCode = "subinventoryCode='" + subinventoryCode + "'"; } where = YnBaseClass2.Helper.StringHelper.SqlWhereAndAdd(where, whereSubinventoryCode); if (!string.IsNullOrEmpty(where)) { sql += " where " + where; } sql += " group by inventoryItemId "; IList <AscmMtlOnhandQuantitiesDetail> ilistAscmMtlOnhandQuantitiesDetail = YnDaoHelper.GetInstance().nHibernateHelper.Find <AscmMtlOnhandQuantitiesDetail>(sql); if (ilistAscmMtlOnhandQuantitiesDetail != null && ilistAscmMtlOnhandQuantitiesDetail.Count > 0) { List <AscmMtlOnhandQuantitiesDetail> listAscmMtlOnhandQuantitiesDetail = YnBaseClass2.Helper.ConvertHelper.ConvertIListToList <AscmMtlOnhandQuantitiesDetail>(ilistAscmMtlOnhandQuantitiesDetail); foreach (AscmWipRequirementOperations wipRequirementOperations in list) { AscmMtlOnhandQuantitiesDetail ascmMtlOnhandQuantitiesDetail = listAscmMtlOnhandQuantitiesDetail.Find(P => P.inventoryItemId == wipRequirementOperations.inventoryItemId); if (ascmMtlOnhandQuantitiesDetail != null) { wipRequirementOperations.transactionQuantity = ascmMtlOnhandQuantitiesDetail.transactionQuantity; } } } //接收中数量 sql = "select new AscmRcvSupply(itemId,sum(toOrgPrimaryQuantity)) from AscmRcvSupply "; where = " itemId in (" + ids + ")"; if (!string.IsNullOrEmpty(where)) { sql += " where " + where; } sql += " group by itemId "; IList <AscmRcvSupply> ilistAscmRcvSupply = YnDaoHelper.GetInstance().nHibernateHelper.Find <AscmRcvSupply>(sql); if (ilistAscmRcvSupply != null && ilistAscmRcvSupply.Count > 0) { List <AscmRcvSupply> listAscmRcvSupply = YnBaseClass2.Helper.ConvertHelper.ConvertIListToList <AscmRcvSupply>(ilistAscmRcvSupply); foreach (AscmWipRequirementOperations wipRequirementOperations in list) { AscmRcvSupply ascmRcvSupply = listAscmRcvSupply.Find(P => P.itemId == wipRequirementOperations.inventoryItemId); if (ascmRcvSupply != null) { wipRequirementOperations.toOrgPrimaryQuantity = ascmRcvSupply.toOrgPrimaryQuantity; } } } } ids = string.Empty; } } } }