北京安通林JIS系统
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

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
}
}
}
}