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.
468 lines
17 KiB
468 lines
17 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using Stone.Common;
|
|
using Stone.Entity;
|
|
|
|
namespace Stone.WinModule.JISAdmin
|
|
{
|
|
public partial class frmEdiPrintASNSelect : Form
|
|
{
|
|
public string PackingListNumber = "";
|
|
public string PartsFamily = "";
|
|
|
|
public frmEdiPrintASNSelect()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void frmEdiPrintASNSelect_Load(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
PackingListNumber = "";
|
|
PartsFamily = "";
|
|
|
|
|
|
DataTable dtPackageGroupName = new Entity_t_Sys_AppconfigItem().GetData("[Code]='print_group' and [Value1] is not null and [Value1] not like '%门槛%' and [Value1] not like '%扰流板%'").Tables[0];
|
|
DataRow drPackageGroupName = dtPackageGroupName.NewRow();
|
|
drPackageGroupName["Value1"] = "门槛条";
|
|
dtPackageGroupName.Rows.InsertAt(drPackageGroupName, 2);
|
|
|
|
this.txtPackageGroupName.DataSource = dtPackageGroupName;
|
|
this.txtPackageGroupName.DisplayMember = "Value1";
|
|
this.txtPackageGroupName.ValueMember = "Value1";
|
|
|
|
|
|
UpdateList();
|
|
|
|
//this.checkedListBox1.DataSource = new Entity_t_Sys_AppconfigItem().GetData("[Code]='print_group' and [Value1] is not null").Tables[0];
|
|
//this.checkedListBox1.ValueMember = "Value1";
|
|
//this.checkedListBox1.DisplayMember = "Value1";
|
|
|
|
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void btnOK_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (this.chkPackingList.CheckedItems.Count == 0) throw new Exception("请勾选");
|
|
if (!MyMessageBox.ShowQuestionPop("是否要确定打印【" + GetBoxCount() + "】?")) return;
|
|
|
|
PackingListNumber = "";
|
|
PartsFamily = "";
|
|
|
|
List<string> list = new List<string>();
|
|
DataTable dtData = new DataTable();
|
|
dtData.Columns.Add("supplyGroup");
|
|
dtData.Columns.Add("PartsFamily");
|
|
dtData.Columns.Add("PagerNumber");
|
|
dtData.Columns.Add("PackageGroupName");
|
|
for (int i = 0; i < this.chkPackingList.CheckedItems.Count; i++)
|
|
{
|
|
string pln = ((DataRowView)this.chkPackingList.CheckedItems[i])["PackingListNumber"].ToString();
|
|
string pf = ((DataRowView)this.chkPackingList.CheckedItems[i])["PartsFamily"].ToString();
|
|
string sp = ((DataRowView)this.chkPackingList.CheckedItems[i])["supplyGroup"].ToString();
|
|
string PagerNumber = ((DataRowView)this.chkPackingList.CheckedItems[i])["PagerNumber"].ToString();
|
|
string PackageGroupName = ((DataRowView)this.chkPackingList.CheckedItems[i])["PackageGroupName"].ToString();
|
|
|
|
PackingListNumber += "'" + pln + "',";
|
|
PartsFamily += "'" + pf + "',";
|
|
|
|
|
|
if (list.IndexOf(sp) == -1)
|
|
{
|
|
list.Add(sp);
|
|
}
|
|
|
|
DataRow drNew = dtData.NewRow();
|
|
drNew["supplyGroup"] = sp;
|
|
drNew["PartsFamily"] = pf;
|
|
drNew["PagerNumber"] = PagerNumber;
|
|
drNew["PackageGroupName"] = PackageGroupName;
|
|
dtData.Rows.Add(drNew);
|
|
|
|
}
|
|
|
|
if (PackingListNumber != "") PackingListNumber = PackingListNumber.Substring(0, PackingListNumber.Length - 1);
|
|
if (PartsFamily != "") PartsFamily = PartsFamily.Substring(0, PartsFamily.Length - 1);
|
|
|
|
//IsContinuous(list, dtData);
|
|
|
|
|
|
this.DialogResult = DialogResult.OK;
|
|
|
|
|
|
|
|
this.Close();
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void btnClose_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private string GetBoxCount()
|
|
{
|
|
//PackingListNumber
|
|
|
|
string ret = "";
|
|
|
|
DataTable dtTemp = new DataTable();
|
|
dtTemp.Columns.Add("PackageGroupName");
|
|
dtTemp.Columns.Add("c", typeof(System.Int32));
|
|
|
|
List<string> lsts = new List<string>();
|
|
for (int i = 0; i < this.chkPackingList.Items.Count; i++)
|
|
{
|
|
if (this.chkPackingList.GetItemChecked(i))
|
|
{
|
|
DataRowView drData = (DataRowView)this.chkPackingList.Items[i];
|
|
string pgnumber = drData["PackageGroupName"].ToString() + "-" + drData["PackingListNumber"].ToString();
|
|
if (lsts.IndexOf(pgnumber) < 0){
|
|
lsts.Add(pgnumber);
|
|
|
|
DataRow[] drs = dtTemp.Select("[PackageGroupName]='" + drData["PackageGroupName"].ToString() + "'");
|
|
if (drs.Length == 0)
|
|
{
|
|
DataRow drNew = dtTemp.NewRow();
|
|
drNew["PackageGroupName"] = drData["PackageGroupName"].ToString();
|
|
drNew["c"] = 1;
|
|
dtTemp.Rows.Add(drNew);
|
|
}
|
|
else
|
|
{
|
|
drs[0]["c"] = Convert.ToInt32(drs[0]["c"]) + 1;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
foreach (DataRow dr in dtTemp.Rows)
|
|
{
|
|
ret += "\r\n" + dr["PackageGroupName"].ToString() + ":" + dr["c"].ToString() + " ";
|
|
|
|
}
|
|
|
|
|
|
return ret + "\r\n";
|
|
}
|
|
|
|
private void UpdateList()
|
|
{
|
|
#region old
|
|
/*
|
|
string d1 = MyDateTime.Format(this.dateTimePicker1.Value, MyDateTimeType.Date) + " 00:00:00";
|
|
string d2 = MyDateTime.Format(this.dateTimePicker2.Value, MyDateTimeType.Date) + " 23:59:59";
|
|
|
|
string strWhere = "IsPrintPackingList=1 and IsPrintASN=0 and [SwetTime]>='" + d1 + "' and [SwetTime]<='" + d2 + "'";
|
|
if (this.txtPackageGroupName.SelectedValue.ToString() == "门槛条")
|
|
{
|
|
strWhere += " and PackageGroupName in('左门槛','右门槛','扰流板')";
|
|
}
|
|
else
|
|
{
|
|
strWhere += " and PackageGroupName = '" + this.txtPackageGroupName.SelectedValue.ToString() + "'";
|
|
}
|
|
|
|
Entity_t_JIS_Seq5000 t_JIS_Seq5000 = new Entity_t_JIS_Seq5000();
|
|
DataSet dsSeq5000 = t_JIS_Seq5000.GetData("distinct PackingListNumber, PartsFamily, supplyGroup, PackageGroupName, (PackingListNumber + ' ' + PartsFamily + ' ' + supplyGroup + ' ' + PackageGroupName + ' ' + PagerNumber + ' ' + CONVERT(varchar(100), min(SwetTime), 20) ) as Name, PagerNumber", strWhere + " group by PackingListNumber, PartsFamily, PackageGroupName, supplyGroup, PagerNumber", "PackingListNumber asc");
|
|
this.chkPackingList.DataSource = dsSeq5000.Tables[0];
|
|
this.chkPackingList.DisplayMember = "Name";
|
|
this.chkPackingList.ValueMember = "PackingListNumber";
|
|
|
|
this.lblState.Text = "记录:" + dsSeq5000.Tables[0].Rows.Count.ToString();
|
|
*/
|
|
#endregion
|
|
|
|
string strWhere = "IsPrintPackingList=1 and IsPrintASN=0";
|
|
if (this.txtPackageGroupName.SelectedValue.ToString() == "门槛条")
|
|
{
|
|
strWhere += " and PackageGroupName in('左门槛','右门槛','扰流板')";
|
|
}
|
|
else
|
|
{
|
|
strWhere += " and PackageGroupName = '" + this.txtPackageGroupName.SelectedValue.ToString() + "'";
|
|
}
|
|
|
|
Entity_t_JIS_Seq5000 t_JIS_Seq5000 = new Entity_t_JIS_Seq5000();
|
|
//DataSet dsSeq5000 = t_JIS_Seq5000.GetData("distinct PackingListNumber, PartsFamily, supplyGroup, PackageGroupName, (PackingListNumber + ' ' + PartsFamily + ' ' + supplyGroup + ' ' + PackageGroupName + ' ' + PagerNumber + ' ' + CONVERT(varchar(100), min(SwetTime), 20) ) as Name, PagerNumber", strWhere + " group by PackingListNumber, PartsFamily, PackageGroupName, supplyGroup, PagerNumber", "PackingListNumber asc");
|
|
DataSet dsSeq5000 = t_JIS_Seq5000.GetData("distinct PackingListNumber, PartsFamily, supplyGroup, PackageGroupName, (PackingListNumber + ' ' + PackageGroupName + ' ' + PagerNumber + ' ' + CONVERT(varchar(100), min(SwetTime), 20) + ' ' + PartsFamily + ' ' + supplyGroup ) as Name, PagerNumber", strWhere + " group by PackingListNumber, PartsFamily, PackageGroupName, supplyGroup, PagerNumber", "PackingListNumber asc");
|
|
this.chkPackingList.DataSource = null;
|
|
this.chkPackingList.DataSource = dsSeq5000.Tables[0];
|
|
this.chkPackingList.DisplayMember = "Name";
|
|
this.chkPackingList.ValueMember = "PackingListNumber";
|
|
|
|
this.lblState.Text = "记录:" + dsSeq5000.Tables[0].Rows.Count.ToString();
|
|
|
|
}
|
|
|
|
private void btnUpdate_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
UpdateList();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void chkAll_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
for (int i = 0; i < this.chkPackingList.Items.Count; i++)
|
|
{
|
|
this.chkPackingList.SetItemChecked(i, this.chkAll.Checked);
|
|
}
|
|
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage(ex.Message);
|
|
}
|
|
}
|
|
|
|
#region old
|
|
/*
|
|
private void IsContinuous(List<string> list, DataTable dtData)
|
|
{
|
|
foreach (string supplyGroup in list)
|
|
{
|
|
DataRow[] drs = dtData.Select("[supplyGroup]='" + supplyGroup + "'");
|
|
if (drs.Length > 1)
|
|
{
|
|
int count = drs.Length;
|
|
int first = Convert.ToInt32(drs[0]["PagerNumber"]);
|
|
int last = Convert.ToInt32(drs[count - 1]["PagerNumber"]);
|
|
|
|
int jg = last - first;
|
|
if (jg >= 0)
|
|
{
|
|
if (last - first != count-1)
|
|
{
|
|
throw new Exception(supplyGroup + " 装箱单页码 " + drs[0]["PagerNumber"].ToString() + " 到 " + drs[drs.Length - 1]["PagerNumber"].ToString() + " 不连续");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if ((last - first) + 100 != count)
|
|
{
|
|
throw new Exception(supplyGroup + " 装箱单页码 " + drs[0]["PagerNumber"].ToString() + " 到 " + drs[drs.Length - 1]["PagerNumber"].ToString() + " 不连续");
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
*/
|
|
#endregion
|
|
|
|
|
|
private void IsContinuous(List<string> list, DataTable dtData)
|
|
{
|
|
foreach (string supplyGroup in list)
|
|
{
|
|
DataRow[] drs = dtData.Select("[supplyGroup]='" + supplyGroup + "'");
|
|
if (drs.Length > 1)
|
|
{
|
|
string PackageGroupName = drs[0]["PackageGroupName"].ToString();
|
|
|
|
int count = drs.Length + 1;
|
|
//int first = Convert.ToInt32(drs[0]["PagerNumber"]);
|
|
int first = GetFirstPagerNumber(supplyGroup, PackageGroupName);
|
|
int last = Convert.ToInt32(drs[count - 2]["PagerNumber"]);
|
|
|
|
int jg = last - first;
|
|
if (jg >= 0)
|
|
{
|
|
if (last - first != count - 1)
|
|
{
|
|
throw new Exception(supplyGroup + " 装箱单页码 " + first + " 到 " + last + " 不连续");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if ((last - first) + 100 != count)
|
|
{
|
|
throw new Exception(supplyGroup + " 装箱单页码 " + first + " 到 " + last + " 不连续");
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
private int GetFirstPagerNumber(string supplyGroup, string PackageGroupName)
|
|
{
|
|
int ret = 0;
|
|
|
|
Entity_t_JIS_Seq5000 t_JIS_Seq5000 = new Entity_t_JIS_Seq5000();
|
|
DataSet dsData = t_JIS_Seq5000.GetData("top 1 PackingListNumber,PagerNumber, SwetTime", "IsPrintPackingList=1 and IsPrintASN=1 and PackageGroupName='" + PackageGroupName + "' and supplyGroup='" + supplyGroup + "'", "SwetTime desc");
|
|
if (dsData.Tables[0].Rows.Count > 0)
|
|
{
|
|
ret = Convert.ToInt32(dsData.Tables[0].Rows[0]["PagerNumber"]);
|
|
}
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
private void txtPackageGroupName_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
btnUpdate_Click(new object(), new EventArgs());
|
|
}
|
|
|
|
private void chkPackingList_ItemCheck(object sender, ItemCheckEventArgs e)
|
|
{
|
|
//try
|
|
//{
|
|
// DataRowView drRow = (DataRowView)chkPackingList.Items[e.Index];
|
|
|
|
// int PagerNumber = Convert.ToInt32(drRow["PagerNumber"]);
|
|
|
|
// for (int i = 0; i < chkPackingList.Items.Count; i++)
|
|
// {
|
|
// if (i == e.Index) continue;
|
|
|
|
// int PagerNumberNew = Convert.ToInt32(((DataRowView)chkPackingList.Items[e.Index])["PagerNumber"]);
|
|
// if (PagerNumber == PagerNumberNew)
|
|
// {
|
|
// if (e.NewValue == CheckState.Checked)
|
|
// {
|
|
// chkPackingList.SetItemChecked(i, true);
|
|
// }
|
|
// else
|
|
// {
|
|
// chkPackingList.SetItemChecked(i, false);
|
|
// }
|
|
|
|
// break;
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
//}
|
|
//catch (Exception ex)
|
|
//{
|
|
// MyMessageBox.ShowErrorMessage(ex.Message);
|
|
//}
|
|
|
|
|
|
}
|
|
|
|
private void chkPackingList_MouseClick(object sender, MouseEventArgs e)
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
private void chkPackingList_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (chkPackingList.SelectedIndex >= 0)
|
|
{
|
|
|
|
int index = chkPackingList.SelectedIndex;
|
|
bool check = chkPackingList.GetItemChecked(index);
|
|
|
|
DataRowView drRow = (DataRowView)chkPackingList.Items[index];
|
|
|
|
if (drRow["PackageGroupName"].ToString().IndexOf("门槛") >= 0)
|
|
{
|
|
|
|
if (drRow["PackageGroupName"].ToString() == "扰流板") return;
|
|
|
|
int PagerNumber = Convert.ToInt32(drRow["PagerNumber"]);
|
|
|
|
for (int i = 0; i < chkPackingList.Items.Count; i++)
|
|
{
|
|
if (i == index) continue;
|
|
|
|
int PagerNumberNew = Convert.ToInt32(((DataRowView)chkPackingList.Items[i])["PagerNumber"]);
|
|
if (PagerNumber == PagerNumberNew)
|
|
{
|
|
if (((DataRowView)chkPackingList.Items[i])["PackageGroupName"].ToString() == "扰流板") continue;
|
|
|
|
chkPackingList.SetItemChecked(i, check);
|
|
|
|
//break;
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
|
|
|
|
string plnumber = drRow["PackingListNumber"].ToString();
|
|
|
|
for (int i = 0; i < chkPackingList.Items.Count; i++)
|
|
{
|
|
if (i == index) continue;
|
|
|
|
string plnumberNew = ((DataRowView)chkPackingList.Items[i])["PackingListNumber"].ToString();
|
|
if (plnumber == plnumberNew)
|
|
{
|
|
|
|
chkPackingList.SetItemChecked(i, check);
|
|
|
|
//break;
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage(ex.Message);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|