You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
348 lines
14 KiB
348 lines
14 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Data;
|
|
using Stone.Entity;
|
|
using Stone.Common;
|
|
using grproLib;
|
|
using Gm_WMS.DataAccess.DataService;
|
|
using System.Windows.Forms;
|
|
using System.IO;
|
|
|
|
namespace Stone.WinBiz.JISAdmin
|
|
{
|
|
public class F_JIS5000_Print_ReOrder
|
|
{
|
|
|
|
/// <summary>
|
|
/// 打印装配单
|
|
/// </summary>
|
|
/// <param name="dsData"></param>
|
|
public static void PrintAssembly(DataSet dsData)
|
|
{
|
|
PrintAssembly(dsData, "");
|
|
|
|
}
|
|
|
|
|
|
public static void PrintAssembly(DataSet dsData, string SuperMarket)
|
|
{
|
|
/*
|
|
打印按 PartsFamily(3台电脑 前、后、左右门槛,按SupplyGroup打印4张单据 前后左右)
|
|
|
|
*/
|
|
foreach (DataRow drBillHead in dsData.Tables["BillHead"].Rows)
|
|
{
|
|
#region 表头
|
|
string PrintTime = MyDateTime.Format(MyDateTimeType.DateTime);
|
|
|
|
DataTable dtHead = new DataTable();
|
|
dtHead.Columns.Add("OrderNumber");
|
|
dtHead.Columns.Add("CallOffNumber");
|
|
dtHead.Columns.Add("CheckSequence");
|
|
dtHead.Columns.Add("PrintTime");
|
|
dtHead.Columns.Add("SwetTime");
|
|
dtHead.Columns.Add("PartsFamily");
|
|
dtHead.Columns.Add("SupplyGroup");
|
|
dtHead.Columns.Add("Variant");
|
|
|
|
DataRow drHead = dtHead.NewRow();
|
|
drHead["OrderNumber"] = drBillHead["OrderNumber"].ToString().Substring(0, drBillHead["OrderNumber"].ToString().Length - 1);
|
|
drHead["CallOffNumber"] = drBillHead["CallOffNumber"].ToString();
|
|
drHead["CheckSequence"] = drBillHead["CheckSequence"].ToString();
|
|
drHead["PrintTime"] = PrintTime;
|
|
drHead["SwetTime"] = MyDateTime.Format(Convert.ToDateTime(drBillHead["SwetTime"]), MyDateTimeType.DateTime);
|
|
drHead["PartsFamily"] = drBillHead["PartsFamily"].ToString();
|
|
drHead["SupplyGroup"] = drBillHead["supplyGroup"].ToString();
|
|
drHead["Variant"] = drBillHead["Variant"].ToString();
|
|
|
|
dtHead.Rows.Add(drHead);
|
|
|
|
#endregion
|
|
|
|
|
|
#region 明细
|
|
|
|
string orderNumber = drBillHead["orderNumber"].ToString().Trim();
|
|
string partsFamily = drBillHead["partsFamily"].ToString().Trim();
|
|
|
|
//string strWhere = "[orderNumber]='{0}' and [partsFamily]='{1}' and [supplyGroup]='{2}' {3}";
|
|
//object[] obj = new object[4];
|
|
//obj[0] = orderNumber;
|
|
//obj[1] = partsFamily;
|
|
//obj[2] = drHead["SupplyGroup"].ToString();
|
|
//obj[3] = SuperMarket == "" ? "" : " and [SuperMarket]='" + SuperMarket + "'";
|
|
//strWhere = string.Format(strWhere, obj);
|
|
|
|
string ID = drBillHead["ID"].ToString();
|
|
|
|
string strWhere = "[SeqID]={0} {1}";
|
|
object[] obj = new object[4];
|
|
obj[0] = ID;
|
|
obj[1] = SuperMarket == "" ? "" : " and [SuperMarket]='" + SuperMarket + "'";
|
|
strWhere = string.Format(strWhere, obj);
|
|
|
|
|
|
|
|
Entity_v_JIS_Tod_ReOrder v_JIS_Tod = new Entity_v_JIS_Tod_ReOrder();
|
|
DataSet dsTod = v_JIS_Tod.GetData("*, barcodeCode as BarCodeCode2", strWhere, "seqnum asc");
|
|
for (int i = 0; i < dsTod.Tables[0].Rows.Count; i++)
|
|
{
|
|
if (dsTod.Tables[0].Rows[i]["BarCodeCode2"].ToString() == "1")
|
|
{
|
|
dsTod.Tables[0].Rows[i]["BarCodeCode2"] = "*";
|
|
dsTod.Tables[0].Rows[i]["BarCodeCode"] = "";
|
|
}
|
|
else
|
|
{
|
|
dsTod.Tables[0].Rows[i]["BarCodeCode2"] = "";
|
|
}
|
|
}
|
|
|
|
|
|
if (dsTod.Tables[0].Rows.Count == 0) return;
|
|
|
|
MyReport MyReport = new MyReport(MyIO.GetAppPath() + "\\Report\\ReOrderJIS装配单.grf", dtHead, dsTod.Tables[0].Copy());
|
|
MyReport.Report.Print(false);
|
|
#endregion
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 打印装配不干胶标签
|
|
/// </summary>
|
|
/// <param name="dsData"></param>
|
|
public static void PrintAssemblyLabel(DataSet dsData)
|
|
{
|
|
Entity_t_PartsFamily t_PartsFamily = new Entity_t_PartsFamily();
|
|
|
|
foreach (DataRow drBillHead in dsData.Tables["BillHead"].Rows)
|
|
{
|
|
string PartsFamily = drBillHead["PartsFamily"].ToString();
|
|
string Model = "";
|
|
DataTable dtPartsFamily = t_PartsFamily.GetData("[Code]='" + PartsFamily + "'").Tables[0];
|
|
if (dtPartsFamily.Rows.Count > 0) Model = dtPartsFamily.Rows[0]["CarModelCode"].ToString();
|
|
|
|
//if (Model != "")
|
|
//{
|
|
// if (Model.IndexOf("B") >= 0)
|
|
// {
|
|
// Model = Model.Substring(0, Model.Length - 1) + "-01";
|
|
// }
|
|
// else
|
|
// {
|
|
// Model = Model.Substring(0, Model.Length - 1) + "-02";
|
|
// }
|
|
//}
|
|
|
|
DataTable dtHead = new DataTable();
|
|
dtHead.Columns.Add("SequenceNumber");
|
|
dtHead.Columns.Add("OrderNumber");
|
|
dtHead.Columns.Add("VINNumber");
|
|
dtHead.Columns.Add("Model");
|
|
dtHead.Columns.Add("Description");
|
|
dtHead.Columns.Add("FTime");
|
|
dtHead.Columns.Add("中文描述");
|
|
dtHead.Columns.Add("PartColor");
|
|
|
|
DataRow drHead = dtHead.NewRow();
|
|
drHead["SequenceNumber"] = drBillHead["SequenceNumber"].ToString();
|
|
drHead["OrderNumber"] = drBillHead["OrderNumber"] = drBillHead["OrderNumber"].ToString().Substring(0, drBillHead["OrderNumber"].ToString().Length - 1); ;
|
|
drHead["VINNumber"] = drBillHead["VINNumber"].ToString();
|
|
drHead["Model"] = Model;
|
|
drHead["Description"] = F_JIS5000_Print.GetPartsFamilyDescription(drBillHead["partsFamily"].ToString());
|
|
drHead["FTime"] = MyDateTime.Format(MyDateTimeType.DateTime2);
|
|
drHead["中文描述"] = drBillHead["PackageGroupName"].ToString() != "" ? drBillHead["PackageGroupName"].ToString().Substring(0, 1) : "";
|
|
drHead["PartColor"] = drBillHead["PartColor"].ToString();
|
|
dtHead.Rows.Add(drHead);
|
|
|
|
MyReport MyReport = new MyReport(MyIO.GetAppPath() + "\\Report\\ReOrderJIS标签.grf", dtHead, null);
|
|
MyReport.Report.Printer.PrinterName = MyAppconfig.ReadValue("默认条码打印机");
|
|
MyReport.Report.Print(false);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 打印装箱单
|
|
/// </summary>
|
|
/// <param name="dsData"></param>
|
|
public static void PrintPackingList(DataSet dsData, string BillNo, string PackageGroupName, string PageNumber)
|
|
{
|
|
Entity_v_JIS_Tod_ReOrder v_JIS_Tod = new Entity_v_JIS_Tod_ReOrder();
|
|
|
|
DataTable dtDetail = new DataTable();
|
|
dtDetail.Columns.Add("OrderNumber");
|
|
dtDetail.Columns.Add("BarCode");
|
|
dtDetail.Columns.Add("Color");
|
|
dtDetail.Columns.Add("Model");
|
|
dtDetail.Columns.Add("CallOffNumber");
|
|
dtDetail.Columns.Add("SwetTime");
|
|
|
|
string supplyGroup = "";
|
|
|
|
foreach (DataRow drData in dsData.Tables[0].Rows)
|
|
{
|
|
DataSet dsTod = v_JIS_Tod.GetData("orderNumber = '" + drData["OrderNumber"].ToString() + "' and partsFamily='" + drData["partsFamily"].ToString() + "' and[supplyGroup]='" + drData["supplyGroup"].ToString() + "' and [seqnum]=1");
|
|
if (dsTod.Tables[0].Rows.Count == 0)
|
|
continue;
|
|
|
|
DataRow drDetailNew = dtDetail.NewRow();
|
|
|
|
drDetailNew["OrderNumber"] = drData["OrderNumber"].ToString().Substring(0, drData["OrderNumber"].ToString().Length - 1);
|
|
drDetailNew["BarCode"] = dsTod.Tables[0].Rows[0]["BarCodeCode"].ToString();
|
|
drDetailNew["Color"] = dsTod.Tables[0].Rows[0]["ColorName"].ToString();
|
|
drDetailNew["Model"] = dsTod.Tables[0].Rows[0]["Variant"].ToString();
|
|
drDetailNew["CallOffNumber"] = drData["CallOffNumber"].ToString();
|
|
drDetailNew["SwetTime"] = drData["SwetTime"].ToString();
|
|
dtDetail.Rows.Add(drDetailNew);
|
|
|
|
PackageGroupName = dsTod.Tables[0].Rows[0]["PackageGroupName"].ToString();
|
|
supplyGroup = dsTod.Tables[0].Rows[0]["supplyGroup"].ToString();
|
|
|
|
}
|
|
|
|
DataTable dtHead = new DataTable();
|
|
dtHead.Columns.Add("BillNo");
|
|
dtHead.Columns.Add("PageNumber");
|
|
dtHead.Columns.Add("Part");
|
|
dtHead.Columns.Add("SwetTimeTop");
|
|
|
|
DataRow drHead = dtHead.NewRow();
|
|
drHead["BillNo"] = BillNo;
|
|
drHead["PageNumber"] = PageNumber;
|
|
drHead["Part"] = PackageGroupName;
|
|
drHead["SwetTimeTop"] = MyDateTime.Format(Convert.ToDateTime(dtDetail.Rows[0]["SwetTime"]), MyDateTimeType.DateTime);
|
|
dtHead.Rows.Add(drHead);
|
|
|
|
MyReport MyReport = new MyReport(MyIO.GetAppPath() + "\\Report\\ReOrderJIS装箱单.grf", dtHead, dtDetail);
|
|
MyReport.Report.Print(false);
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 打印ASN
|
|
/// </summary>
|
|
public static void PrintASNList(DataSet dsData, string AsnNumber)
|
|
{
|
|
|
|
DataTable dtHead = new DataTable();
|
|
dtHead.Columns.Add("Date");
|
|
dtHead.Columns.Add("Time");
|
|
dtHead.Columns.Add("Part");
|
|
dtHead.Columns.Add("ASNNo");
|
|
dtHead.Columns.Add("TotalBinQty");
|
|
|
|
DataRow drHead = dtHead.NewRow();
|
|
drHead["Date"] = MyDateTime.Format(MyDateTimeType.Date);
|
|
drHead["Time"] = MyDateTime.Format(MyDateTimeType.Time);
|
|
drHead["ASNNo"] = AsnNumber;
|
|
drHead["TotalBinQty"] = F_JIS5000_Print.GetPackingListNumberCount(dsData);
|
|
dtHead.Rows.Add(drHead);
|
|
|
|
DataTable dtDetail = new DataTable();
|
|
dtDetail.Columns.Add("LineItem");
|
|
dtDetail.Columns.Add("CallOff");
|
|
dtDetail.Columns.Add("OrderNo");
|
|
dtDetail.Columns.Add("PartFamily");
|
|
dtDetail.Columns.Add("SupplyGroup");
|
|
dtDetail.Columns.Add("SWET");
|
|
dtDetail.Columns.Add("RunningBinNo");
|
|
dtDetail.Columns.Add("ModelCode");
|
|
|
|
int i = 0;
|
|
foreach (DataRow drData in dsData.Tables[0].Rows)
|
|
{
|
|
i++;
|
|
|
|
DataRow drDetailNew = dtDetail.NewRow();
|
|
drDetailNew["LineItem"] = MyStrings.PadLeftString(i.ToString(), '0', 3) + "0";
|
|
drDetailNew["CallOff"] = drData["CallOffNumber"].ToString();
|
|
drDetailNew["OrderNo"] = drData["OrderNumber"].ToString();
|
|
drDetailNew["PartFamily"] = drData["PartsFamily"].ToString();
|
|
drDetailNew["SupplyGroup"] = drData["SupplyGroup"].ToString();
|
|
drDetailNew["SWET"] = MyDateTime.Format(Convert.ToDateTime(drData["SwetTime"].ToString()), MyDateTimeType.DateTime3);
|
|
drDetailNew["RunningBinNo"] = drData["PackingListNumber"].ToString();
|
|
drDetailNew["ModelCode"] = drData["Variant"].ToString();
|
|
dtDetail.Rows.Add(drDetailNew);
|
|
}
|
|
|
|
|
|
MyReport MyReport = new MyReport(MyIO.GetAppPath() + "\\Report\\ReOrderASN.grf", dtHead, dtDetail);
|
|
MyReport.Report.Print(false);
|
|
}
|
|
|
|
|
|
#region 私有函数
|
|
|
|
|
|
|
|
|
|
//获取单据编号
|
|
public static string GetBillNo(string type, int len)
|
|
{
|
|
LocalDBService db = new LocalDBService();
|
|
string value = db.Exec_Object("exec p_GetBillNoReOrder '" + type + "'").ToString();
|
|
|
|
return type + MyStrings.PadLeftString(value, '0', len);
|
|
|
|
}
|
|
|
|
//获取两位数的编号,到了99自动变成1
|
|
public static string GetNumber(string type, int len)
|
|
{
|
|
LocalDBService db = new LocalDBService();
|
|
string value = db.Exec_Object("exec p_GetNumberReOrder '" + type + "'").ToString();
|
|
|
|
return MyStrings.PadLeftString(value, '0', len);
|
|
}
|
|
|
|
//获取装箱单订单编号
|
|
//PackageGroupName-前保(F) 后保(B) 左门槛条(L) 左门槛(R)
|
|
public static string GetPackingListNumber(string PackageGroupName)
|
|
{
|
|
string ret = "PR";
|
|
switch (PackageGroupName)
|
|
{
|
|
case "前保":
|
|
ret += "F";
|
|
break;
|
|
case "后保":
|
|
ret += "B";
|
|
break;
|
|
case "左门槛":
|
|
ret += "L";
|
|
break;
|
|
case "右门槛":
|
|
ret += "R";
|
|
break;
|
|
}
|
|
|
|
ret += MyDateTime.Format(MyDateTimeType.YearMonth);
|
|
|
|
ret = GetBillNo(ret, 4);
|
|
|
|
return ret;
|
|
}
|
|
|
|
//获取ASN单号
|
|
public static string GetASNNumber()
|
|
{
|
|
string ret = "SMH9";
|
|
|
|
ret += MyDateTime.GetServerDateTime().Year.ToString();
|
|
|
|
ret = GetBillNo(ret, 6);
|
|
|
|
return ret;
|
|
}
|
|
|
|
|
|
#endregion
|
|
}
|
|
}
|
|
|