BaoKai_202508_Wms_Jingwang_.../WMS.FrmStock/ReportAreaRepSKU.cs

133 lines
4.8 KiB
C#
Raw Permalink Normal View History

2025-08-24 21:52:42 +08:00
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;
}
}
}