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.
172 lines
6.4 KiB
172 lines
6.4 KiB
using Stone.Common;
|
|
using Stone.Entity;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Stone.WinBiz.Preordering
|
|
{
|
|
public class F_Preordering
|
|
{
|
|
public static void PrintLabel(DataSet dsData)
|
|
{
|
|
|
|
Entity_t_Bom t_Bom = new Entity_t_Bom();
|
|
|
|
string filename_label = Application.StartupPath + "\\Report\\JIS标签.grf";
|
|
string filename_Assemble = Application.StartupPath + "\\Report\\JIS装配单.grf";
|
|
|
|
foreach (DataRow drData in dsData.Tables["Head"].Rows)
|
|
{
|
|
#region 表头
|
|
|
|
DataTable dtHead = dsData.Tables["Head"].Clone();
|
|
dtHead.Columns.Add("TypeName");
|
|
dtHead.Rows.Add(drData.ItemArray);
|
|
|
|
string productionNumber = dtHead.Rows[0]["productionNumber"].ToString();
|
|
string partType = dtHead.Rows[0]["partType"].ToString();
|
|
|
|
|
|
dtHead.Columns.Add("LUkey1");
|
|
dtHead.Columns.Add("LUkey2");
|
|
dtHead.Columns.Add("LUkey3");
|
|
|
|
dtHead.Columns.Add("Deskey1");
|
|
dtHead.Columns.Add("Deskey2");
|
|
dtHead.Columns.Add("Deskey3");
|
|
|
|
dtHead.Columns.Add("BomName1");
|
|
dtHead.Columns.Add("BomName2");
|
|
dtHead.Columns.Add("BomName3");
|
|
|
|
dtHead.Columns.Add("ColorCode");
|
|
dtHead.Columns.Add("BarCodeNew");
|
|
|
|
DataRow[] drKeys = dsData.Tables["Detail"].Select("[productionNumber]='" + productionNumber + "' and [partType]='" + partType + "' and [IsKey]=1");
|
|
for (int i = 0; i < drKeys.Length; i++)
|
|
{
|
|
if (i >= 3) break;
|
|
|
|
string BomName = "";
|
|
DataTable dtBom = t_Bom.GetData("top 1 ParentName", "ParentCode='" + drKeys[i]["itemNumber"].ToString() + "'", "[ID] asc").Tables[0];
|
|
if (dtBom.Rows.Count > 0)
|
|
{
|
|
BomName = dtBom.Rows[0]["ParentName"].ToString();
|
|
}
|
|
|
|
|
|
|
|
dtHead.Rows[0]["LUkey" + (i + 1)] = drKeys[i]["itemNumber"].ToString();
|
|
dtHead.Rows[0]["Deskey" + (i + 1)] = drKeys[i]["description"].ToString();
|
|
dtHead.Rows[0]["BomName" + (i + 1)] = BomName;
|
|
}
|
|
|
|
|
|
|
|
|
|
dtHead.Rows[0]["TypeName"] = partType == "01" ? "F" : "R";
|
|
|
|
dtHead.Rows[0]["ColorCode"] = drData["itemNumber"].ToString().Substring(drData["itemNumber"].ToString().Length - 4, 4);
|
|
|
|
dtHead.Columns.Add("InsertStr");
|
|
|
|
if (dsData.Tables["Head"].Columns.IndexOf("IsInsert") >= 0)
|
|
{
|
|
if (Convert.ToInt32(drData["IsInsert"].ToString()) == 1)
|
|
{
|
|
dtHead.Rows[0]["InsertStr"] = "X";
|
|
}
|
|
}
|
|
|
|
dtHead.Rows[0]["BarCodeNew"] = productionNumber + partType.Substring(1, 1);
|
|
|
|
|
|
MyReport report = new MyReport(filename_label, dtHead, null);
|
|
report.Report.Printer.PrinterName = MyAppconfig.ReadValue("PrinterBarCode");
|
|
report.Report.Print(false);
|
|
|
|
#endregion
|
|
|
|
|
|
#region 明细
|
|
|
|
dtHead = new DataTable();
|
|
dtHead.Columns.Add("BillNo");
|
|
dtHead.Columns.Add("ShiftNo");
|
|
dtHead.Columns.Add("PrintTime");
|
|
dtHead.Columns.Add("TypeName");
|
|
|
|
dtHead.Columns.Add("LUkey1");
|
|
dtHead.Columns.Add("LUkey2");
|
|
dtHead.Columns.Add("LUkey3");
|
|
|
|
dtHead.Columns.Add("Deskey1");
|
|
dtHead.Columns.Add("Deskey2");
|
|
dtHead.Columns.Add("Deskey3");
|
|
|
|
dtHead.Columns.Add("BomName1");
|
|
dtHead.Columns.Add("BomName2");
|
|
dtHead.Columns.Add("BomName3");
|
|
|
|
dtHead.Columns.Add("Sort");
|
|
dtHead.Columns.Add("ColorCode");
|
|
dtHead.Columns.Add("BarCodeNew");
|
|
|
|
|
|
DataRow drHead = dtHead.NewRow();
|
|
drHead["BillNo"] = drData["productionNumber"].ToString(); // dsData.Tables["Head"].Rows[0]["productionNumber"].ToString();
|
|
drHead["ShiftNo"] = drData["sequenceNumber"].ToString(); // dsData.Tables["Head"].Rows[0]["sequenceNumber"].ToString();
|
|
drHead["PrintTime"] = MyDateTime.GetServerDateTime().ToString("yyyy-MM-dd HH:mm:ss");
|
|
drHead["TypeName"] = partType == "01" ? "前" : "后";
|
|
drHead["Sort"] = drData["Sort"].ToString();
|
|
drHead["ColorCode"] = drData["itemNumber"].ToString().Substring(drData["itemNumber"].ToString().Length - 4, 4);
|
|
drHead["BarCodeNew"] = productionNumber + partType.Substring(1, 1);
|
|
dtHead.Rows.Add(drHead);
|
|
|
|
drKeys = dsData.Tables["Detail"].Select("[productionNumber]='" + productionNumber + "' and [partType]='" + partType + "' and [IsKey]=1");
|
|
for (int i = 0; i < drKeys.Length; i++)
|
|
{
|
|
if (i >= 3) break;
|
|
|
|
string BomName = "";
|
|
DataTable dtBom = t_Bom.GetData("top 1 ParentName", "ParentCode='" + drKeys[i]["itemNumber"].ToString() + "'", "[ID] asc").Tables[0];
|
|
if (dtBom.Rows.Count > 0)
|
|
{
|
|
BomName = dtBom.Rows[0]["ParentName"].ToString();
|
|
}
|
|
|
|
|
|
|
|
dtHead.Rows[0]["LUkey" + (i + 1)] = drKeys[i]["itemNumber"].ToString();
|
|
dtHead.Rows[0]["Deskey" + (i + 1)] = drKeys[i]["description"].ToString();
|
|
dtHead.Rows[0]["BomName" + (i + 1)] = BomName;
|
|
}
|
|
|
|
|
|
|
|
DataTable dtDetail = dsData.Tables["Detail"].Clone();
|
|
DataRow[] drDetails = dsData.Tables["Detail"].Select("[productionNumber]='" + productionNumber + "' and [partType]='" + partType + "' and [IsKey]=0", "[IsMajor] desc");
|
|
foreach (DataRow drDetail in drDetails)
|
|
{
|
|
dtDetail.Rows.Add(drDetail.ItemArray);
|
|
}
|
|
|
|
|
|
MyReport reprt = new MyReport(filename_Assemble, dtHead, dtDetail);
|
|
reprt.Report.Printer.PrinterName = MyAppconfig.ReadValue("Printer");
|
|
reprt.Report.Print(false);
|
|
|
|
#endregion
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
|