protected List <ReturnCancelDTO> GetCancal(GetOrderCancel bpObj) { List <ReturnCancelDTO> CancelList = new List <ReturnCancelDTO>(); //标准订单行料品+销售单位查找 and 销售订单行.数量-已核销数量>0 // 单据类型=自备库存订单 自备库存订单.状态=已审核 SO.EntityList SoList = SO.Finder.FindAll("DocumentType=@DocumentType and Status=3", new OqlParam(1)); if (SoList.Count > 0) { for (int i = 0; i < SoList.Count; i++) { SOLine.EntityList SolineList = SOLine.Finder.FindAll("SO=@SO and ItemInfo=@ItemInfo and PU=@PU and (OrderByQtyPU-DescFlexField.PrivateDescSeg20)>0", new OqlParam(SoList[i].ID), new OqlParam(bpObj.ItemMaster.ID), new OqlParam(bpObj.Uom.ID));// if (SolineList.Count > 0) { ReturnCancelDTO cancel = new ReturnCancelDTO(); cancel.RowNo = SolineList[i].DocLineNo; //行号 cancel.SoID = SoList[i].Key; //销售订单单号 cancel.ItemMasterID = SolineList[i].ItemInfo.ItemIDKey; //料号 cancel.ItemCode = SolineList[i].ItemInfo.ItemCode; cancel.ItemName = SolineList[i].ItemInfo.ItemName; cancel.Qty = SolineList[i].OrderByQtyPU;//数量 if (string.IsNullOrEmpty(SolineList[i].DescFlexField.PrivateDescSeg20)) { cancel.NotCancelQty = cancel.Qty - Convert.ToDecimal(SolineList[i].DescFlexField.PrivateDescSeg20);//可核销数量 } CancelList.Add(cancel); } } } return(CancelList); }
public override object Do(object obj) { GetOrderCancel bpObj = (GetOrderCancel)obj; List <ReturnCancelDTO> cancel = new List <ReturnCancelDTO>(); if (bpObj != null) { cancel = GetCancal(bpObj); } return(cancel); }