using System; using System.Drawing; using System.Collections; using System.ComponentModel; using DevExpress.XtraReports.UI; using System.Collections.Generic; using WMS.Model.Stock; using WMS.Model.Base; using WMS.Common; namespace WMS.FrmStock { public partial class ReportMoveLocSKU : DevExpress.XtraReports.UI.XtraReport { public ReportMoveLocSKU(MoveLocModel model, List list) { InitializeComponent(); if (string.IsNullOrEmpty(model.REMARK)) { xrLabRemark.Text = string.Empty; } //通过移位单号得到所有SKU List allTab = new List(); SKUTabModel queryTab = new SKUTabModel(); queryTab.DOCCTNUMBER = model.MOVELOC_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 list) { foreach (var t in SKU) { if (t.GOODS_ID == item.GOODS_ID && t.SKU_NUM == 1) { t.SKU_NUM = 0; MoveLocTabModel G = new MoveLocTabModel(); G.SKU_ID = t.SKU_ID; G.SKU_NAME = t.SKU_NAME; G.PLAN_NUM = 1; G.GOODS_ID = item.GOODS_ID; G.GOODS_NAME = item.GOODS_NAME; G.OLD_LOC_ID = item.OLD_LOC_ID; G.DOCCTNUMBER = item.DOCCTNUMBER; G.LOC_NUM = item.LOC_NUM; G.MISTOCK_NUM = item.MISTOCK_NUM; G.MOVELOC_ID = item.MOVELOC_ID; G.MOVELOC_TAB_ID = item.MOVELOC_TAB_ID; G.NEW_LOC_ID = item.NEW_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_NUM = item.REAL_NUM; G.SCALE_UNIT = item.SCALE_UNIT; G.SPECIFICATION = item.SPECIFICATION; G.UNIT = item.UNIT; G.UNIT_NAME = item.UNIT_NAME; G.WARE_DATE = item.WARE_DATE; listNewTab.Add(G); } } } List listBindTab = new List(); foreach (MoveLocTabModel item in listNewTab) { bool exist = false; foreach (MoveLocTabModel p in listBindTab) { if (p.MOVELOC_ID == item.MOVELOC_ID && p.OLD_LOC_ID == item.OLD_LOC_ID && p.NEW_LOC_ID == item.NEW_LOC_ID && p.GOODS_ID == item.GOODS_ID && p.PUTIN_ID == item.PUTIN_ID) { exist = true; p.PLAN_NUM += item.PLAN_NUM; } } if (!exist) { listBindTab.Add(item); } } for (int i = 0; i < listBindTab.Count; i++) { listBindTab[i].SORT = i + 1; } bsMoveLoc.DataSource = model; bsMoveLocTab.DataSource = listBindTab; } private static ReportMoveLocSKU reportMoveLoc; /// /// 实例化ReportMoveLoc的一个对象 /// /// ReportMoveLoc对象 public static ReportMoveLocSKU GetInstance(MoveLocModel model, List list) { reportMoveLoc = new ReportMoveLocSKU(model, list); return reportMoveLoc; } } }