BaoKai_202508-Wms-Jingwang..../WMS.FrmStock/ReportMoveLocSKU.cs
2025-08-24 09:35:55 +08:00

129 lines
4.6 KiB
C#

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<MoveLocTabModel> list)
{
InitializeComponent();
if (string.IsNullOrEmpty(model.REMARK)) {
xrLabRemark.Text = string.Empty;
}
//通过移位单号得到所有SKU
List<SKUTabModel> allTab = new List<SKUTabModel>();
SKUTabModel queryTab = new SKUTabModel();
queryTab.DOCCTNUMBER = model.MOVELOC_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<MoveLocTabModel> listNewTab = new List<MoveLocTabModel>();
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<MoveLocTabModel> listBindTab = new List<MoveLocTabModel>();
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;
/// <summary>
/// 实例化ReportMoveLoc的一个对象
/// </summary>
/// <returns>ReportMoveLoc对象</returns>
public static ReportMoveLocSKU GetInstance(MoveLocModel model, List<MoveLocTabModel> list)
{
reportMoveLoc = new ReportMoveLocSKU(model, list);
return reportMoveLoc;
}
}
}