public ReceivingNoteItem[] getReceivingNoteDetail(GetReceivingNoteDetailRequest request) { DetachedCriteria criteria = DetachedCriteria.For <ReceiptDetail>(); criteria.Add(Expression.Eq("ReceiptNo", request.receivingNo)); IList <ReceiptDetail> reciptDetailList = TheCriteriaMgr.FindAll <ReceiptDetail>(criteria); List <ReceivingNoteItem> receivingNoteItemList = new List <ReceivingNoteItem>(); foreach (ReceiptDetail receiptDetail in reciptDetailList) { ReceivingNoteItem item = new ReceivingNoteItem(); //set unit of messure UOM uom = new UOM(); uom.id = receiptDetail.OrderLocationTransaction.Item.Uom.Code; uom.abbreviation = receiptDetail.OrderLocationTransaction.Item.Uom.Name; uom.description = receiptDetail.OrderLocationTransaction.Item.Uom.Name; //set supplier Item Material suppItem = new Material(); suppItem.id = receiptDetail.OrderLocationTransaction.OrderDetail.ReferenceItemCode; suppItem.no = receiptDetail.OrderLocationTransaction.OrderDetail.ReferenceItemCode; suppItem.description = receiptDetail.OrderLocationTransaction.OrderDetail.ReferenceItemCode; suppItem.quantityUOM = uom; //set Item Material material = new Material(); material.id = receiptDetail.OrderLocationTransaction.Item.Code; material.no = receiptDetail.OrderLocationTransaction.Item.Code; material.name = receiptDetail.OrderLocationTransaction.Item.Description; material.description = receiptDetail.OrderLocationTransaction.Item.Description; material.quantityUOM = uom; item.material = material; item.receiveQuantity = Convert.ToDouble(receiptDetail.ReceivedQty); item.receiveQuantitySpecified = true; //不知道怎么取 item.totalBillingQuantity = Convert.ToDouble(receiptDetail.ReceivedQty); item.totalBillingQuantitySpecified = true; item.billingStatus = string.Empty; item.unitCount = Convert.ToDouble(receiptDetail.OrderLocationTransaction.OrderDetail.UnitCount); item.unitCountSpecified = true; } return(null); }
public int getReceivingNoteDetailCount(GetReceivingNoteDetailRequest requset) { DetachedCriteria criteria = DetachedCriteria.For <ReceiptDetail>().SetProjection(Projections.ProjectionList() .Add(Projections.Count("ReceiptNo"))); IList list = TheCriteriaMgr.FindAll(criteria); int count = 0; if (list != null && list.Count > 0) { if (list[0] is int) { count = int.Parse(list[0].ToString()); } } return(count); }