133 lines
4.8 KiB
C#
133 lines
4.8 KiB
C#
|
|
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<AreaRepOutModel> outList, List<AreaRepInModel> inList)
|
|||
|
|
{
|
|||
|
|
InitializeComponent();
|
|||
|
|
|
|||
|
|
if (string.IsNullOrEmpty(model.REMARK))
|
|||
|
|
{
|
|||
|
|
xrLabRemark.Text = string.Empty;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//通过库区调拨单号得到所有SKU
|
|||
|
|
List<SKUTabModel> allTab = new List<SKUTabModel>();
|
|||
|
|
SKUTabModel queryTab = new SKUTabModel();
|
|||
|
|
queryTab.DOCCTNUMBER = model.AREA_REP_ID;
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//allTab.AddRange(Newtonsoft.Json.JsonConvert.DeserializeObject<List<SKUTabModel>>(WebLockConfig.Instance.WebSKUTab.GetSKUTab(Newtonsoft.Json.JsonConvert.SerializeObject(queryTab))));
|
|||
|
|
}
|
|||
|
|
catch (Exception)
|
|||
|
|
{
|
|||
|
|
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
List<SKUTabModel> SKU = new List<SKUTabModel>();
|
|||
|
|
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<AreaRepOutModel> listNewTab = new List<AreaRepOutModel>();
|
|||
|
|
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<AreaRepOutModel> listBindTab = new List<AreaRepOutModel>();
|
|||
|
|
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;
|
|||
|
|
/// <summary>
|
|||
|
|
/// 实例化ReportAreaRep的一个对象
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns>ReportAreaRep对象</returns>
|
|||
|
|
public static ReportAreaRepSKU GetInstance(AreaRepModel model, List<AreaRepOutModel> outList, List<AreaRepInModel> inList)
|
|||
|
|
{
|
|||
|
|
reportAreaRep = new ReportAreaRepSKU(model, outList, inList);
|
|||
|
|
|
|||
|
|
return reportAreaRep;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|