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.
287 lines
12 KiB
287 lines
12 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using Gm_WMS.DataAccess.DataService;
|
|
using Stone.Common;
|
|
using Stone.Entity;
|
|
using Stone.WinBiz.JisData;
|
|
|
|
namespace Stone.WinModule.JisData
|
|
{
|
|
public partial class frmSequenceNo : Stone.WinModule.BasicData.frmBaseMain
|
|
{
|
|
private ToolStripButton btnCheck = null;
|
|
private ToolStripButton btnCheckCarpet = null;
|
|
public frmSequenceNo()
|
|
{
|
|
InitializeComponent();
|
|
|
|
this.tlbAdd.Visible = false;
|
|
this.tlbEdit.Visible = false;
|
|
this.tlbAddCopy.Visible = false;
|
|
this.tlbView.Visible = false;
|
|
|
|
btnCheck = base.CreateButton("门板比对", 1, 0);
|
|
btnCheck.Click += btnPrint_Click;
|
|
|
|
btnCheckCarpet = base.CreateButton("地毯比对", 1, 1);
|
|
btnCheckCarpet.Click += btnCheckCarpet_Click;
|
|
}
|
|
|
|
private void frmSequenceNo_Load(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
public override void Search(string code)
|
|
{
|
|
if(code != "")
|
|
{
|
|
strWhere = $"[ProductionNo]='{code}'";
|
|
strWhere += $" or [Model] = '{code}'";
|
|
strWhere += $" or [SequenceNo] = '{code}'";
|
|
}
|
|
else
|
|
{
|
|
strWhere = "1=1";
|
|
}
|
|
}
|
|
|
|
private void btnPrint_Click(object sender, EventArgs e)
|
|
{
|
|
var db = new LocalDBService();
|
|
EntityBase t_SequenceNo = null;
|
|
EntityBase t_AJIS = null;
|
|
EntityBase t_AJISCarpet = null;
|
|
|
|
t_SequenceNo = new Entity_t_SequenceNo(db);
|
|
t_AJIS = new Entity_t_AJIS(db);
|
|
t_AJISCarpet = new Entity_t_AJISCarpet(db);
|
|
|
|
|
|
string strOrder = "id desc";
|
|
var dsSeq = t_SequenceNo.GetDataLimit(0, 1, "", " 1 =1 ", strOrder);
|
|
var lastBatch = dsSeq.Tables[0].Rows[0]["ImportBatch"].ToString();
|
|
// lastBatch = "2206020626";
|
|
var lastSeq = dsSeq.Tables[0].Rows[0]["SequenceNo"].ToString();
|
|
var strFac = lastSeq.Substring(0,2);
|
|
//获取AJIS中的最后一条记录
|
|
var dsAjis = t_AJIS.GetDataLimit(0, 1, "", " 1 =1 and SequenceNo like '" + strFac + "%'", strOrder);
|
|
var lastAJISSequenceNo = dsAjis.Tables[0].Rows[0]["SequenceNo"].ToString();
|
|
var dsAjisCarpet = t_AJISCarpet.GetDataLimit(0, 1, "", " 1 =1 and SequenceNo like '" + strFac + "%'", strOrder);
|
|
var lastAJISCarpetSequenceNo = dsAjis.Tables[0].Rows[0]["SequenceNo"].ToString();
|
|
|
|
var n = string.Compare(lastAJISSequenceNo, lastAJISCarpetSequenceNo,true);
|
|
var maxSeq = "";
|
|
if (n == 1)
|
|
{
|
|
maxSeq = lastAJISSequenceNo;
|
|
|
|
}
|
|
else
|
|
{
|
|
maxSeq = lastAJISCarpetSequenceNo;
|
|
}
|
|
|
|
strOrder = "SequenceNo desc";
|
|
var DrData = t_SequenceNo.GetData("", " ImportBatch = '" + lastBatch + "' and SequenceNo <= '" + maxSeq + "'", strOrder);
|
|
if (DrData.Tables[0].Rows.Count > 0)
|
|
{
|
|
var strsql = "";
|
|
strsql = "select * from t_SequenceNo where 1 =1 " +
|
|
" and ImportBatch = '" + lastBatch + "'" +
|
|
" and SequenceNo <= '" + maxSeq + "'" +
|
|
" and SequenceNo not in (select top 10000 SequenceNo from t_AJIS where SequenceNo like '" +
|
|
strFac + "%' order by id desc )" +
|
|
" and SequenceNo not in ( select top 10000 SequenceNo from t_AJISCarpet where SequenceNo like '" + strFac +
|
|
"%' order by id desc)";
|
|
|
|
|
|
var errData = db.Exec_DataSet(strsql).Tables[0];
|
|
if (errData.Rows.Count > 0)
|
|
{
|
|
//继续获取地毯信息
|
|
var strPrintNo = "";
|
|
foreach (DataRow drPintNo in errData.Rows)
|
|
{
|
|
strPrintNo += drPintNo["SequenceNo"].ToString() + ",";
|
|
}
|
|
if (strPrintNo != "")
|
|
{
|
|
strPrintNo = strPrintNo.Substring(0, strPrintNo.Length - 1);
|
|
MyMessageBox.ShowErrorMessage($"以下订单漏打印:\r\n{strPrintNo}");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//校验顺序是否一致
|
|
//顺义地毯不排序
|
|
var dtSeq = t_SequenceNo.GetData("", " ImportBatch = '" + lastBatch + "'", "SequenceNo");
|
|
var dtAJIS = t_AJIS.GetData("", " isPost = 1 and SequenceNo in (select SequenceNo from t_SequenceNo where ImportBatch = '" + lastBatch + "')", "TaskNo,RunningNo");
|
|
int NG = 0;
|
|
var lstErrSeq = new List<String>();
|
|
for (int i = 0; i < dtAJIS.Tables[0].Rows.Count; i++)
|
|
{
|
|
var seq1 = dtSeq.Tables[0].Rows[i]["SequenceNo"].ToString();
|
|
var seq2 = dtAJIS.Tables[0].Rows[i-NG]["SequenceNo"].ToString();
|
|
if (seq1 != seq2)
|
|
{
|
|
if (lstErrSeq.Any(p => p.Contains(seq2)))
|
|
{
|
|
NG--;
|
|
i--;
|
|
}
|
|
else
|
|
{
|
|
NG++;
|
|
lstErrSeq.Add(seq1);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (lstErrSeq.Count > 0)
|
|
{
|
|
var strMsg = "";
|
|
foreach (var errSeq in lstErrSeq)
|
|
{
|
|
strMsg += errSeq + ";";
|
|
}
|
|
MyMessageBox.ShowErrorMessage("SequenceNo " + strMsg + " 有断号或跳号!");
|
|
}
|
|
else
|
|
{
|
|
MyMessageBox.ShowInfoMessage("最新的10000条打印数据正常!");
|
|
}
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
MyMessageBox.ShowErrorMessage("获取导入数据失败!");
|
|
}
|
|
}
|
|
|
|
private void btnCheckCarpet_Click(object sender, EventArgs e)
|
|
{
|
|
var db = new LocalDBService();
|
|
EntityBase t_SequenceNo = null;
|
|
EntityBase t_AJIS = null;
|
|
EntityBase t_AJISCarpet = null;
|
|
|
|
t_SequenceNo = new Entity_t_SequenceNo(db);
|
|
t_AJIS = new Entity_t_AJIS(db);
|
|
t_AJISCarpet = new Entity_t_AJISCarpet(db);
|
|
|
|
|
|
string strOrder = "id desc";
|
|
var dsSeq = t_SequenceNo.GetDataLimit(0, 1, "", " 1 =1 ", strOrder);
|
|
var lastBatch = dsSeq.Tables[0].Rows[0]["ImportBatch"].ToString();
|
|
var lastSeq = dsSeq.Tables[0].Rows[0]["SequenceNo"].ToString();
|
|
var strFac = lastSeq.Substring(0, 2);
|
|
//获取AJIS中的最后一条记录
|
|
var dsAjis = t_AJIS.GetDataLimit(0, 1, "", " 1 =1 and SequenceNo like '" + strFac + "%'", strOrder);
|
|
var lastAJISSequenceNo = dsAjis.Tables[0].Rows[0]["SequenceNo"].ToString();
|
|
var dsAjisCarpet = t_AJISCarpet.GetDataLimit(0, 1, "", " 1 =1 and SequenceNo like '" + strFac + "%'", strOrder);
|
|
var lastAJISCarpetSequenceNo = dsAjis.Tables[0].Rows[0]["SequenceNo"].ToString();
|
|
|
|
var n = string.Compare(lastAJISSequenceNo, lastAJISCarpetSequenceNo, true);
|
|
var maxSeq = "";
|
|
if (n == 1)
|
|
{
|
|
maxSeq = lastAJISSequenceNo;
|
|
|
|
}
|
|
else
|
|
{
|
|
maxSeq = lastAJISCarpetSequenceNo;
|
|
}
|
|
|
|
strOrder = "SequenceNo desc";
|
|
var DrData = t_SequenceNo.GetData("", " ImportBatch = '" + lastBatch + "' and SequenceNo <= '" + maxSeq + "'", strOrder);
|
|
if (DrData.Tables[0].Rows.Count > 0)
|
|
{
|
|
var strsql = "";
|
|
strsql = "select * from t_SequenceNo where 1 =1 " +
|
|
" and ImportBatch = '" + lastBatch + "'" +
|
|
" and SequenceNo <= '" + maxSeq + "'" +
|
|
" and SequenceNo not in (select top 10000 SequenceNo from t_AJIS where SequenceNo like '" +
|
|
strFac + "%' order by id desc )" +
|
|
" and SequenceNo not in ( select top 10000 SequenceNo from t_AJISCarpet where SequenceNo like '" + strFac +
|
|
"%' order by id desc)";
|
|
|
|
|
|
var errData = db.Exec_DataSet(strsql).Tables[0];
|
|
if (errData.Rows.Count > 0)
|
|
{
|
|
//继续获取地毯信息
|
|
var strPrintNo = "";
|
|
foreach (DataRow drPintNo in errData.Rows)
|
|
{
|
|
strPrintNo += drPintNo["SequenceNo"].ToString() + ",";
|
|
}
|
|
if (strPrintNo != "")
|
|
{
|
|
strPrintNo = strPrintNo.Substring(0, strPrintNo.Length - 1);
|
|
MyMessageBox.ShowErrorMessage($"以下订单漏打印:\r\n{strPrintNo}");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//校验顺序是否一致
|
|
//顺义地毯不排序
|
|
var lstErrSeq = new List<String>();
|
|
if (strFac != "SY")
|
|
{
|
|
var dtSeq = t_SequenceNo.GetData("", " ImportBatch = '" + lastBatch + "'", "SequenceNo");
|
|
var dtAJISCarpet = t_AJISCarpet.GetData("",
|
|
" isPost = 1 and SequenceNo in (select SequenceNo from t_SequenceNo where ImportBatch = '" +
|
|
lastBatch + "')", "TaskNo,RunningNo");
|
|
int NG = 0;
|
|
|
|
for (int i = 0; i < dtAJISCarpet.Tables[0].Rows.Count; i++)
|
|
{
|
|
var seq1 = dtSeq.Tables[0].Rows[i]["SequenceNo"].ToString();
|
|
var seq2 = dtAJISCarpet.Tables[0].Rows[i - NG]["SequenceNo"].ToString();
|
|
if (seq1 != seq2)
|
|
{
|
|
if (lstErrSeq.Any(p => p.Contains(seq2)))
|
|
{
|
|
NG--;
|
|
i--;
|
|
}
|
|
else
|
|
{
|
|
NG++;
|
|
lstErrSeq.Add(seq1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (lstErrSeq.Count > 0)
|
|
{
|
|
var strMsg = "";
|
|
foreach (var errSeq in lstErrSeq)
|
|
{
|
|
strMsg += errSeq + ";";
|
|
}
|
|
MyMessageBox.ShowErrorMessage("SequenceNo " + strMsg + " 有断号或跳号!");
|
|
}
|
|
else
|
|
{
|
|
MyMessageBox.ShowInfoMessage("最新的10000条打印数据正常!");
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
MyMessageBox.ShowErrorMessage("获取导入数据失败!");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|