public string QueryProductStock(string workorder, string productname, string batchnumber, string starttime, string endtime) { IList <ProductStock> objs = _bal.FindProductStockInfo(workorder, productname, batchnumber, starttime, endtime); StringBuilder sb = new StringBuilder(); sb.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); sb.Append("<rows>"); string strstatus = string.Empty; foreach (ProductStock o in objs) { sb.Append(string.Format("<row id='{0}'>", o.PSN)); sb.Append(string.Format("<cell>{0}</cell>", o.PSN)); sb.Append(string.Format("<cell>{0}</cell>", o.WorkOrder)); if (o.MANUFACTURE.Length == 13) { BasBase ibbb = _bal.FindNameBySubCode(o.MANUFACTURE); sb.Append(string.Format("<cell>{0}</cell>", ibbb.SubName)); } else { sb.Append(string.Format("<cell>{0}</cell>", o.MANUFACTURE)); } sb.Append(string.Format("<cell>{0}</cell>", o.DOCUMENTID)); BasBase ibbbb = _bal.FindNameBySubCode(o.StockHouse); sb.Append(string.Format("<cell>{0}</cell>", ibbbb.SubName)); sb.Append(string.Format("<cell>{0}</cell>", o.ProductCode)); sb.Append(string.Format("<cell>{0}</cell>", o.ProductName)); BasBase ibb = _bal.FindNameBySubCode(o.UNIT); sb.Append(string.Format("<cell>{0}</cell>", ibb.SubName)); sb.Append(string.Format("<cell>{0}</cell>", o.QUANTITY.ToString())); sb.Append(string.Format("<cell>{0}</cell>", o.BatchNumber)); sb.Append(string.Format("<cell>{0}</cell>", o.UpdatedBy)); sb.Append(string.Format("<cell>{0}</cell>", o.FromBy)); sb.Append(string.Format("<cell>{0}</cell>", o.UpdatedDate == null ? o.CreatedDate : o.UpdatedDate)); //sb.Append(string.Format("<cell>{0}</cell>", o.MEMO)); sb.Append("</row>"); } sb.Append("</rows>"); return(sb.ToString()); }