using System; using System.Drawing; using System.Collections; using System.ComponentModel; using DevExpress.XtraReports.UI; using WMS.Model.Stock; using System.Collections.Generic; using WMS.Model.Base; using WMS.Common; namespace WMS.FrmStock { public partial class ReportAreaRepSKU : DevExpress.XtraReports.UI.XtraReport { public ReportAreaRepSKU(AreaRepModel model, List outList, List inList) { InitializeComponent(); if (string.IsNullOrEmpty(model.REMARK)) { xrLabRemark.Text = string.Empty; } //通过库区调拨单号得到所有SKU List allTab = new List(); SKUTabModel queryTab = new SKUTabModel(); queryTab.DOCCTNUMBER = model.AREA_REP_ID; try { //allTab.AddRange(Newtonsoft.Json.JsonConvert.DeserializeObject>(WebLockConfig.Instance.WebSKUTab.GetSKUTab(Newtonsoft.Json.JsonConvert.SerializeObject(queryTab)))); } catch (Exception) { SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!"); } List SKU = new List(); foreach (var t in allTab) { for (int i = 0; i < t.SKU_NUM; i++) { SKU.Add(t); } } foreach (var t in SKU) { t.SKU_NUM = 1; } List listNewTab = new List(); foreach (var item in outList) { foreach (var t in SKU) { if (t.GOODS_ID == item.GOODS_ID && t.SKU_NUM == 1) { t.SKU_NUM = 0; AreaRepOutModel G = new AreaRepOutModel(); G.SKU_ID = t.SKU_ID; G.SKU_NAME = t.SKU_NAME; G.PLAN_COUNT = 1; G.GOODS_ID = item.GOODS_ID; G.GOODS_NAME = item.GOODS_NAME; G.AREA_REP_ID = item.AREA_REP_ID; G.DOCCTNUMBER = item.DOCCTNUMBER; G.LOC_NUM = item.LOC_NUM; G.MISTOCK_NUM = item.MISTOCK_NUM; G.OUT_LOC_ID = item.OUT_LOC_ID; G.PRICE = item.PRICE; G.PRODUCTION_DATE = item.PRODUCTION_DATE; G.PROVIDER_ID = item.PROVIDER_ID; G.PROVIDER_NAME = item.PROVIDER_NAME; G.PUTIN_ID = item.PUTIN_ID; G.REAL_COUNT = item.REAL_COUNT; G.SCALE_UNIT = item.SCALE_UNIT; G.SPECIFICATION = item.SPECIFICATION; G.TAB_OUT_ID = item.TAB_OUT_ID; G.UNIT = item.UNIT; G.UNIT_NAME = item.UNIT_NAME; G.WARE_DATE = item.WARE_DATE; listNewTab.Add(G); } } } List listBindTab = new List(); foreach (AreaRepOutModel item in listNewTab) { bool exist = false; foreach (AreaRepOutModel p in listBindTab) { if (p.AREA_REP_ID == item.AREA_REP_ID && p.OUT_LOC_ID == item.OUT_LOC_ID && p.GOODS_ID == item.GOODS_ID && p.PUTIN_ID == item.PUTIN_ID) { exist = true; p.PLAN_COUNT += item.PLAN_COUNT; } } if (!exist) { listBindTab.Add(item); } } for (int i = 0; i < listBindTab.Count; i++) { listBindTab[i].SORT = i + 1; } for (int i = 0; i < inList.Count; i++) { inList[i].SORT = i + 1; } bsAreaRep.DataSource = model; bsAreaRepOut.DataSource = listBindTab; bsAreaRepIn.DataSource = inList; } private static ReportAreaRepSKU reportAreaRep; /// /// 实例化ReportAreaRep的一个对象 /// /// ReportAreaRep对象 public static ReportAreaRepSKU GetInstance(AreaRepModel model, List outList, List inList) { reportAreaRep = new ReportAreaRepSKU(model, outList, inList); return reportAreaRep; } } }