Browse Source

STD_NA项目代码提交

STD_NA
金浩 2 weeks ago
parent
commit
e649e6d84f
  1. 3
      PDAForm/PDAForm/Bill/AsnBill/frmAsnBill.Designer.cs
  2. 79
      PDAForm/PDAForm/Bill/AsnBill/frmAsnBill.cs
  3. 46
      PDAForm/PDAForm/Bill/AsnBill/frmAsnBill.resx
  4. 4
      PDAForm/PDAForm/Bill/VDA/frmVDA.cs
  5. BIN
      Stone.WinForm/Stone.Common.Dlls/Stone.Entity.dll
  6. 26
      Stone.WinForm/Stone.DataService/Stone.DataService.Biz/Bill/F_BillAsn.cs
  7. 1
      Stone.WinForm/Stone.Entity/Stone.Entity.csproj
  8. 32
      Stone.WinForm/Stone.WinBiz/JISAdmin/F_EDI_JIS5000Sequence.cs
  9. 1
      Stone.WinForm/Stone.WinBiz/Stone.WinBiz.csproj
  10. 7
      Stone.WinForm/Stone.WinForm/frmMain.cs
  11. 7
      Stone.WinForm/Stone.WinModule/BasicData/F_Factory.cs
  12. 7
      Stone.WinForm/Stone.WinModule/Standard/frmJISVDAASN.Designer.cs
  13. 378
      Stone.WinForm/Stone.WinModule/Standard/frmJISVDAASN.cs
  14. 5
      Stone.WinForm/Stone.WinModule/Standard/frmJISVDAASN.resx
  15. 24
      Stone.WinForm/Stone.WinModule/Stone.WinModule.csproj

3
PDAForm/PDAForm/Bill/AsnBill/frmAsnBill.Designer.cs

@ -77,7 +77,7 @@
this.label3.Location = new System.Drawing.Point(3, 32); this.label3.Location = new System.Drawing.Point(3, 32);
this.label3.Name = "label3"; this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(100, 20); this.label3.Size = new System.Drawing.Size(100, 20);
this.label3.Text = "装箱单号:"; this.label3.Text = "托盘号:";
// //
// btnSubmit // btnSubmit
// //
@ -104,6 +104,7 @@
this.btnDelete.Size = new System.Drawing.Size(72, 33); this.btnDelete.Size = new System.Drawing.Size(72, 33);
this.btnDelete.TabIndex = 14; this.btnDelete.TabIndex = 14;
this.btnDelete.Text = "删除记录"; this.btnDelete.Text = "删除记录";
this.btnDelete.Visible = false;
this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click); this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
// //
// lblState // lblState

79
PDAForm/PDAForm/Bill/AsnBill/frmAsnBill.cs

@ -6,6 +6,7 @@ using System.Drawing;
using System.Text; using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
using PDAForm.Comm; using PDAForm.Comm;
using PDAForm.PDABiz;
using PDAForm.SelectComm; using PDAForm.SelectComm;
namespace PDAForm.Bill.AsnBill namespace PDAForm.Bill.AsnBill
@ -13,6 +14,7 @@ namespace PDAForm.Bill.AsnBill
public partial class frmAsnBill : Form public partial class frmAsnBill : Form
{ {
public F_AsnBill m_base = null; public F_AsnBill m_base = null;
private DataTable dtShipingVerificationHis,dtNowScan;
public frmAsnBill() public frmAsnBill()
{ {
InitializeComponent(); InitializeComponent();
@ -39,9 +41,15 @@ namespace PDAForm.Bill.AsnBill
m_base = new F_AsnBill(); m_base = new F_AsnBill();
m_base.BillNo = this.txtBillNo.Text.Trim(); m_base.BillNo = this.txtBillNo.Text.Trim();
m_base.BillNew(this.dgShow); m_base.BillNew(this.dgShow);
DataRow[] drs = m_base.dsBill.Tables[0].Select("[AsnNumber]='" + m_base.BillNo + "'");
if (drs.Length == 0)
{
throw new Exception("ASN号 " + m_base.BillNo + " 在系统中不存在");
}
//获取已校验的信息,系统支持多次校验
dtShipingVerificationHis = m_base.GetShipingVerification();
dtNowScan = dtShipingVerificationHis.Clone();
Total(); Total();
this.txtBillNo.Enabled = true; this.txtBillNo.Enabled = true;
} }
@ -62,32 +70,57 @@ namespace PDAForm.Bill.AsnBill
{ {
if (e.KeyCode == Keys.Enter) if (e.KeyCode == Keys.Enter)
{ {
if (m_base == null) throw new Exception("请扫ASN编号!"); if (m_base == null) throw new Exception("请扫ASN编号!");
string BarCode = this.txtBarCode.Text.Trim(); string BarCode = this.txtBarCode.Text.Trim();
if (BarCode.Length < 0) if (BarCode.Length < 0)
{ {
MyMessageBox.ShowErrorMessage("装箱单号不能为空!"); MyMessageBox.ShowErrorMessage("托盘号不能为空!");
this.txtBarCode.Focus(); this.txtBarCode.Focus();
this.txtBarCode.SelectAll(); this.txtBarCode.SelectAll();
return; return;
} }
//托盘格式样例 5B602C2-04&00000044&02 零件号+分隔符+8位箱流水号+两位的数量
var barList = BarCode.Split('&');
var partCode = barList[0];
var boxID = barList[1];
var strQty = barList[2];
DataRow[] drs = m_base.dsBill.Tables[0].Select("[PackageNo]='" + BarCode + "'"); //之前提交的数据中是否采集过改托盘号
if (drs.Length == 0) DataRow[] drs = dtShipingVerificationHis.Select("[PackageNo]='" + BarCode + "'");
if (drs.Length >0)
{ {
throw new Exception("装箱单号 " + BarCode + " 在系统中不存在"); throw new Exception("托盘号 " + BarCode + " 已扫描");
} }
//本次扫描的数据中是否重复扫描该托盘号
if (Convert.ToInt32(drs[0]["IsCheck"]) == 1) drs = dtNowScan.Select("[PackageNo]='" + BarCode + "'");
if (drs.Length > 0)
{ {
throw new Exception("装箱单号 " + BarCode + " 重复扫描"); throw new Exception("托盘号 " + BarCode + " 扫描");
} }
//校验数量是否超出,校验零件号是否有效
drs[0]["IsCheck"] = 1; var rowAsn = m_base.dsBill.Tables[0].Select("[AsnNumber]='" + m_base.BillNo + "' and PartNumber = '" + partCode + "'");
if (rowAsn.Length != 1)
{
throw new Exception("托盘号 " + BarCode + " 不在扫描的ASN " + m_base.BillNo + " 中!");
}
else
{
var planQty = int.Parse(rowAsn[0]["Qty"].ToString());
var checkQty = int.Parse(rowAsn[0]["CheckQty"].ToString());
if (planQty < (checkQty + int.Parse(strQty)))
{
throw new Exception("托盘数量 " + strQty + " 超出待校验数量 " + (planQty-checkQty));
}
}
rowAsn[0]["CheckQty"] = int.Parse(strQty) + int.Parse(rowAsn[0]["CheckQty"].ToString());
//填加校验明细
var scanInfo = dtNowScan.NewRow();
scanInfo["AsnNumber"] = m_base.BillNo;
scanInfo["PackageNo"] = boxID;
scanInfo["UserName"] = UserInfo.UserName;
dtNowScan.Rows.Add(scanInfo);
Total(); Total();
this.txtBarCode.Focus(); this.txtBarCode.Focus();
this.txtBarCode.SelectAll(); this.txtBarCode.SelectAll();
} }
@ -110,13 +143,7 @@ namespace PDAForm.Bill.AsnBill
if (m_base == null) throw new Exception("没有需要提示的数据!"); if (m_base == null) throw new Exception("没有需要提示的数据!");
if (MyMessageBox.ShowQuestion("是否要提交数据?")) if (MyMessageBox.ShowQuestion("是否要提交数据?"))
{ {
if (m_base.dsBill.Tables[0].Select("[IsCheck]=0").Length > 0) m_base.BillSubmit(dtNowScan);
{
throw new Exception("有未扫描记录!");
}
m_base.BillSubmit();
m_base = null; m_base = null;
Total(); Total();
@ -180,18 +207,10 @@ namespace PDAForm.Bill.AsnBill
else else
{ {
int a1 = m_base.dsBill.Tables[0].Rows.Count; int a1 = m_base.dsBill.Tables[0].Rows.Count;
int a2 = m_base.dsBill.Tables[0].Select("[IsCheck]=1").Length; int a2 = m_base.dsBill.Tables[0].Select("Qty = CheckQty").Length;
this.lblState.Text = a2 + "/" + a1; this.lblState.Text = a2 + "/" + a1;
} }
} }
} }
} }

46
PDAForm/PDAForm/Bill/AsnBill/frmAsnBill.resx

@ -60,55 +60,67 @@
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0"/> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string"/> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string"/> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string"/> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space"/> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string"/> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space"/> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="$this.FormFactorShadowProperty" xml:space="preserve"> <metadata name="$this.FormFactorShadowProperty" xml:space="preserve">
<value>WEBPAD</value> <value>WEBPAD</value>
</metadata> </metadata>
<metadata name="$this.Skin" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.Skin" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<resheader name="resmimetype"><value>text/microsoft-resx</value></resheader><resheader name="version"><value>2.0</value></resheader><resheader name="reader"><value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value></resheader><resheader name="writer"><value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value></resheader></root> </root>

4
PDAForm/PDAForm/Bill/VDA/frmVDA.cs

@ -205,10 +205,6 @@ namespace PDAForm.Bill.VDA
#endregion #endregion
} }
} }
} }

BIN
Stone.WinForm/Stone.Common.Dlls/Stone.Entity.dll

Binary file not shown.

26
Stone.WinForm/Stone.DataService/Stone.DataService.Biz/Bill/F_BillAsn.cs

@ -111,5 +111,31 @@ namespace Stone.DataService.Biz.Bill
} }
public DataSet GetVefiHis(Command cmd)
{
string AsnNumber = cmd.Pars[0];
string UserName = cmd.Pars[1];
Entity_t_ShipingVerification t_ShipingVerification = new Entity_t_ShipingVerification();
DataSet dsData = t_ShipingVerification.GetData(
$"AsnNumber,PackageNo",
$"[AsnNumber]='{AsnNumber}'",
$"[PackageNo] desc");
return dsData;
}
public DataSet GetASN(Command cmd)
{
string AsnNumber = cmd.Pars[0];
string UserName = cmd.Pars[1];
Entity_t_JIS_VDA t_JIS_VDA = new Entity_t_JIS_VDA();
DataSet dsData = t_JIS_VDA.GetData(
$"PartNumber,Qty,CheckQty",
$"[AsnNumber]='{AsnNumber}'",
$"[PackageNo] desc");
return dsData;
}
} }
} }

1
Stone.WinForm/Stone.Entity/Stone.Entity.csproj

@ -64,6 +64,7 @@
<Compile Include="EntityBase.cs" /> <Compile Include="EntityBase.cs" />
<Compile Include="Entity_t_ErrLog.cs" /> <Compile Include="Entity_t_ErrLog.cs" />
<Compile Include="Entity_t_ErrTypeLevel.cs" /> <Compile Include="Entity_t_ErrTypeLevel.cs" />
<Compile Include="Entity_t_PartPO.cs" />
<Compile Include="Entity_t_PartOutQty.cs" /> <Compile Include="Entity_t_PartOutQty.cs" />
<Compile Include="Entity_t_ShipingVerification.cs" /> <Compile Include="Entity_t_ShipingVerification.cs" />
<Compile Include="Entity_t_BillNo.cs" /> <Compile Include="Entity_t_BillNo.cs" />

32
Stone.WinForm/Stone.WinBiz/JISAdmin/F_EDI_JIS5000Sequence.cs

@ -653,6 +653,9 @@ namespace Stone.WinBiz.JISAdmin
var alertMsg5 = ""; var alertMsg5 = "";
//零件ReleaseID 不连续 //零件ReleaseID 不连续
var alertMsg6 = ""; var alertMsg6 = "";
//零件号是否与PO绑定
var alertMsg7 = "";
status = "1"; status = "1";
//获取零件对应的版本号 add by jinh 20220419 //获取零件对应的版本号 add by jinh 20220419
@ -672,6 +675,7 @@ namespace Stone.WinBiz.JISAdmin
{ {
// partRelese.PartCode = sp_line[1].Split(':')[0]; // partRelese.PartCode = sp_line[1].Split(':')[0];
partRelese.PartCode = sp_line[3].Split(':')[0]; partRelese.PartCode = sp_line[3].Split(':')[0];
partCode = sp_line[3].Split(':')[0];
} }
//LAB调整 RFF+AAN:1747' ADI+00001509+220308 //LAB调整 RFF+AAN:1747' ADI+00001509+220308
// if (sp_line[0] == "ADI") // if (sp_line[0] == "ADI")
@ -695,6 +699,17 @@ namespace Stone.WinBiz.JISAdmin
lstPartRelease.Add(partRelese); lstPartRelease.Add(partRelese);
partRelese = new PartRelease(); partRelese = new PartRelease();
} }
if (sp_line[0] == "RFF" && sp_line[1].Substring(0, 2) == "ON")
{
orderNumber = sp_line[1].Split(':')[1];
//校验PO是否维护
if (string.IsNullOrEmpty(orderNumber))
{
strPartRelease += "零件号 " + partCode + " 未绑定PO!";
alertMsg7 += "零件号 " + partCode + " 未绑定PO!" + Environment.NewLine;
}
}
} }
//如果版本不连续,抛出异常,解析失败 考虑抛出在数据库中设置 //如果版本不连续,抛出异常,解析失败 考虑抛出在数据库中设置
if (alertMsg6.Trim() != "") if (alertMsg6.Trim() != "")
@ -712,6 +727,22 @@ namespace Stone.WinBiz.JISAdmin
} }
} }
//如果零件号未绑定PO,抛出异常,解析失败 考虑抛出在数据库中设置
if (alertMsg7.Trim() != "")
{
//通过前台配置ReleaseID不联系是否继续接续
var strsql = "select top 1 * from t_ErrTypeLevel where Code = '09' order by id desc";
var dsErrLevel = db.Exec_DataSet(strsql);
if (dsErrLevel.Tables[0].Rows.Count > 0)
{
var errLevel = dsErrLevel.Tables[0].Rows[0]["ErrLevel"].ToString();
if (errLevel == "0")
{
throw new Exception(strPartRelease);
}
}
}
foreach (string line_text in sp_text) foreach (string line_text in sp_text)
{ {
if (line_text.Trim() == "") continue; if (line_text.Trim() == "") continue;
@ -798,7 +829,6 @@ namespace Stone.WinBiz.JISAdmin
if (sp_line[0] == "RFF" && sp_line[1].Substring(0,2) == "ON") if (sp_line[0] == "RFF" && sp_line[1].Substring(0,2) == "ON")
{ {
orderNumber = sp_line[1].Split(':')[1]; orderNumber = sp_line[1].Split(':')[1];
//校验零件号是否失效 //校验零件号是否失效
var strsql = ""; var strsql = "";
strsql = "select top 1 * from t_Product where Code = '" + partNumber + "' order by id desc"; strsql = "select top 1 * from t_Product where Code = '" + partNumber + "' order by id desc";

1
Stone.WinForm/Stone.WinBiz/Stone.WinBiz.csproj

@ -83,6 +83,7 @@
<Compile Include="BasicData\F_ErrLog.cs" /> <Compile Include="BasicData\F_ErrLog.cs" />
<Compile Include="BasicData\F_JIS_Limits_List.cs" /> <Compile Include="BasicData\F_JIS_Limits_List.cs" />
<Compile Include="BasicData\F_ErrTypeLevel.cs" /> <Compile Include="BasicData\F_ErrTypeLevel.cs" />
<Compile Include="BasicData\F_PartPO.cs" />
<Compile Include="BasicData\F_PartOutQty.cs" /> <Compile Include="BasicData\F_PartOutQty.cs" />
<Compile Include="BasicData\F_Product.cs" /> <Compile Include="BasicData\F_Product.cs" />
<Compile Include="BasicData\F_User.cs" /> <Compile Include="BasicData\F_User.cs" />

7
Stone.WinForm/Stone.WinForm/frmMain.cs

@ -182,7 +182,14 @@ namespace Stone.WinForm
ShowWindow(frm); ShowWindow(frm);
} }
if (e.Node.Text == "零件订单管理")
{
Stone.WinModule.BasicData.frmPartPO frm = new WinModule.BasicData.frmPartPO();
frm.m_Base = new WinBiz.BasicData.F_PartPO();
frm.init();
ShowWindow(frm);
}
#endregion #endregion

7
Stone.WinForm/Stone.WinModule/BasicData/F_Factory.cs

@ -103,7 +103,12 @@ namespace Stone.WinModule.BasicData
return frm; return frm;
} }
if (f_base.type == "PartPO")
{
frmPartPODetail frm = new frmPartPODetail();
frm.m_Base = f_base;
return frm;
}
return null; return null;
} }
} }

7
Stone.WinForm/Stone.WinModule/Standard/frmJISVDAASN.Designer.cs

@ -34,6 +34,7 @@
this.dateTimePicker1 = new System.Windows.Forms.DateTimePicker(); this.dateTimePicker1 = new System.Windows.Forms.DateTimePicker();
this.chkUpload = new System.Windows.Forms.CheckBox(); this.chkUpload = new System.Windows.Forms.CheckBox();
this.imageList1 = new System.Windows.Forms.ImageList(this.components); this.imageList1 = new System.Windows.Forms.ImageList(this.components);
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.SuspendLayout(); this.SuspendLayout();
// //
// btnSerach // btnSerach
@ -86,6 +87,11 @@
this.imageList1.Images.SetKeyName(3, "(25,41).png"); this.imageList1.Images.SetKeyName(3, "(25,41).png");
this.imageList1.Images.SetKeyName(4, "redo.png"); this.imageList1.Images.SetKeyName(4, "redo.png");
// //
// openFileDialog1
//
this.openFileDialog1.Filter = "Excel2007文件(*.xlsx)|*.xlsx|Excel2003文件(*.xls)|*.xls";
this.openFileDialog1.Title = "选择要导入的文件";
//
// frmJISVDAASN // frmJISVDAASN
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@ -112,5 +118,6 @@
private System.Windows.Forms.DateTimePicker dateTimePicker1; private System.Windows.Forms.DateTimePicker dateTimePicker1;
private System.Windows.Forms.CheckBox chkUpload; private System.Windows.Forms.CheckBox chkUpload;
private System.Windows.Forms.ImageList imageList1; private System.Windows.Forms.ImageList imageList1;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
} }
} }

378
Stone.WinForm/Stone.WinModule/Standard/frmJISVDAASN.cs

@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Data; using System.Data;
using System.Data.OleDb;
using System.Drawing; using System.Drawing;
using System.Text; using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
@ -94,42 +95,48 @@ namespace Stone.WinModule.Standard
btnUpload.Click += BtnUpload_Click; btnUpload.Click += BtnUpload_Click;
this.toolStrip1.Items.Insert(0, btnUpload); this.toolStrip1.Items.Insert(0, btnUpload);
ToolStripButton btnPrintRe = new ToolStripButton("补打ASN"); // ToolStripButton btnPrintRe = new ToolStripButton("补打ASN");
btnPrintRe.Image = this.imageList1.Images[0]; // btnPrintRe.Image = this.imageList1.Images[0];
btnPrintRe.TextImageRelation = TextImageRelation.ImageAboveText; // btnPrintRe.TextImageRelation = TextImageRelation.ImageAboveText;
btnPrintRe.Click += new EventHandler(btnPrintRe_Click); // btnPrintRe.Click += new EventHandler(btnPrintRe_Click);
this.toolStrip1.Items.Insert(0, btnPrintRe); // this.toolStrip1.Items.Insert(0, btnPrintRe);
//
ToolStripButton btnPrint = new ToolStripButton("打印ASN"); // ToolStripButton btnPrint = new ToolStripButton("打印ASN");
btnPrint.Image = this.imageList1.Images[0]; // btnPrint.Image = this.imageList1.Images[0];
btnPrint.TextImageRelation = TextImageRelation.ImageAboveText; // btnPrint.TextImageRelation = TextImageRelation.ImageAboveText;
btnPrint.Click += new EventHandler(btnPrint_Click); // btnPrint.Click += new EventHandler(btnPrint_Click);
this.toolStrip1.Items.Insert(0, btnPrint); // this.toolStrip1.Items.Insert(0, btnPrint);
ToolStripButton btnPrintVDARight = new ToolStripButton("补打02标签"); // ToolStripButton btnPrintVDARight = new ToolStripButton("补打02标签");
btnPrintVDARight.Image = this.imageList1.Images[0]; // btnPrintVDARight.Image = this.imageList1.Images[0];
btnPrintVDARight.TextImageRelation = TextImageRelation.ImageAboveText; // btnPrintVDARight.TextImageRelation = TextImageRelation.ImageAboveText;
btnPrintVDARight.Click += new EventHandler(btnPrintVDARight_Click); // btnPrintVDARight.Click += new EventHandler(btnPrintVDARight_Click);
this.toolStrip1.Items.Insert(0, btnPrintVDARight); // this.toolStrip1.Items.Insert(0, btnPrintVDARight);
//
ToolStripButton btnPrintVDA = new ToolStripButton("补打01标签"); // ToolStripButton btnPrintVDA = new ToolStripButton("补打01标签");
btnPrintVDA.Image = this.imageList1.Images[0]; // btnPrintVDA.Image = this.imageList1.Images[0];
btnPrintVDA.TextImageRelation = TextImageRelation.ImageAboveText; // btnPrintVDA.TextImageRelation = TextImageRelation.ImageAboveText;
btnPrintVDA.Click += new EventHandler(btnPrintVDA_Click); // btnPrintVDA.Click += new EventHandler(btnPrintVDA_Click);
this.toolStrip1.Items.Insert(0, btnPrintVDA); // this.toolStrip1.Items.Insert(0, btnPrintVDA);
ToolStripButton btnPrintLabel = new ToolStripButton("打印VDA标签"); // ToolStripButton btnPrintLabel = new ToolStripButton("打印VDA标签");
btnPrintLabel.Image = this.imageList1.Images[0]; // btnPrintLabel.Image = this.imageList1.Images[0];
btnPrintLabel.TextImageRelation = TextImageRelation.ImageAboveText; // btnPrintLabel.TextImageRelation = TextImageRelation.ImageAboveText;
btnPrintLabel.Click += btnPrintLabel_Click; // btnPrintLabel.Click += btnPrintLabel_Click;
this.toolStrip1.Items.Insert(0, btnPrintLabel); // this.toolStrip1.Items.Insert(0, btnPrintLabel);
ToolStripButton btnPREDN = new ToolStripButton("PRE-DN生成"); ToolStripButton btnPREDN = new ToolStripButton("ASN发运");
btnPREDN.Image = this.imageList1.Images[1]; btnPREDN.Image = this.imageList1.Images[1];
btnPREDN.TextImageRelation = TextImageRelation.ImageAboveText; btnPREDN.TextImageRelation = TextImageRelation.ImageAboveText;
btnPREDN.Click += btnPREDN_Click; btnPREDN.Click += btnPREDN_Click;
this.toolStrip1.Items.Insert(0, btnPREDN); this.toolStrip1.Items.Insert(0, btnPREDN);
ToolStripButton btnImportDP = new ToolStripButton("拉动导入");
btnImportDP.Image = this.imageList1.Images[1];
btnImportDP.TextImageRelation = TextImageRelation.ImageAboveText;
btnImportDP.Click += btnImportDP_Click;
this.toolStrip1.Items.Insert(0, btnImportDP);
} }
@ -444,37 +451,11 @@ namespace Stone.WinModule.Standard
{ {
try try
{ {
if (this.dgrdView.SelectedRows.Count == 0) var frmAsnScan = new frmASNScan();
throw new Exception("请选择要生成的ASN"); frmAsnScan.ShowDialog();
frmAsnScan.Dispose();
string AsnNumber = this.dgrdView.SelectedRows[0].Cells["AsnNumber"].Value.ToString(); if(frmAsnScan.DialogResult != DialogResult.OK) return;
Search("");
if (!CheckASN(AsnNumber)) return;
Entity_v_JIS_VDA v_JIS_VDA = new Entity_v_JIS_VDA();
DataTable dtData = v_JIS_VDA.GetData("", $"[AsnNumber]='{AsnNumber}'", "[PackageNo] asc").Tables[0];
if (dtData.Rows.Count == 0) throw new Exception("打印的数据不存在");
if (dtData.Rows[0]["IsPrintASN"].ToString() == "1")
throw new Exception($"{AsnNumber}已经完成,不能生成PREDN");
var frmPickUpDate = new frmPickUpDate();
frmPickUpDate.dtSwetDate = Convert.ToDateTime(dtData.Rows[0]["Date"]).Date;
frmPickUpDate.ShowDialog();
frmPickUpDate.Dispose();
if(frmPickUpDate.DialogResult != DialogResult.OK) return;
frmPREDN frm = new frmPREDN();
frm.dtPickUpTime = frmPickUpDate.dtPickUp;
frm.dtData = dtData;
frm.ShowDialog();
frm.Dispose();
//更新需求日期 todo
var db = new Gm_WMS.DataAccess.DataService.LocalDBService();
db.BeginTrans();
Entity_v_JIS_VDA t_JIS_VDA = new Entity_v_JIS_VDA(db);
t_JIS_VDA.Edit($"[Date]='" + frmPickUpDate.dtPickUp + "'", $"[AsnNumber]='{AsnNumber}'");
db.Commit();
Search(AsnNumber);
btnSerach_Click(sender,null); btnSerach_Click(sender,null);
} }
catch (Exception ex) catch (Exception ex)
@ -845,5 +826,278 @@ namespace Stone.WinModule.Standard
return strsql; return strsql;
} }
private void btnImportDP_Click(object sender, EventArgs e)
{
try
{
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
Input(this.openFileDialog1.FileName);
UpdateGridView();
MyMessageBox.ShowInfoMessage("数据导入成功!");
}
}
catch (Exception ex)
{
MyMessageBox.ShowInfoMessage(ex.Message);
}
}
private void Input(string filename)
{
DataSet dsInput = null;
MyExcelDatabase.OpenDatabase(filename, true);
var sheetName = GetSheetName(filename);
dsInput = MyOleDbDatabase.ExecuteDataSet("select * from ["+sheetName+"]");
MyOleDbDatabase.CloseDatabase();
LocalDBService db = null;
try
{
db = new LocalDBService();
db.BeginTrans();
InputData(dsInput, db);
db.Commit();
}
catch (Exception ex)
{
if (db != null) db.Rollback();
throw new Exception("导入数据失败!\r\n" + "原因为:\r\n" + ex.Message);
}
finally
{
if (db != null) db.EndTrans();
}
Stone.WinBiz.BasicData.F_Log.WriteLog("导入Excel[" + filename + "]");
}
private string GetSheetName(string filename)
{
string HDR = "HDR=YES;"; ;
var m_oleconn = new OleDbConnection();
if (filename.ToLower().Substring(filename.Length - 3) == "xls") //excel 2003格式
{
m_oleconn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename + ";Extended Properties='Excel 8.0;" + HDR + "'");
}
else //excel 2007 格式
{
m_oleconn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filename + ";Extended Properties='Excel 12.0 Xml;" + HDR + "'");
}
m_oleconn.Open();
var m_olecmd = m_oleconn.CreateCommand();
DataTable dtSheetName = m_oleconn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
string[] strTableNames = new string[dtSheetName.Rows.Count];
for (int k = 0; k < dtSheetName.Rows.Count; k++)
{
strTableNames[k] = dtSheetName.Rows[k]["TABLE_NAME"].ToString();
}
// 选择第一个sheet进行操作
string sheetName = strTableNames[0];
return sheetName;
}
public void InputData(DataSet dsData, LocalDBService db)
{
Entity_t_JIS_VDA t_Input = new Entity_t_JIS_VDA(db);
DataRow drInput = null;
//第四行开始读日期,第五行是到货时间,第六行车型不要,第七行读零件和数量
int readRow = 4;
//导入的列数
var coloumnCount = dsData.Tables[0].Columns.Count;
//零件号所在的行 从0开始
var partRowIndex = 7;
//零件号所在的列数 从0 开始
var partIndex = 2;
//校验零件号是否有订单信息
var strCheckPO = CheckPartPO(dsData.Tables[0], partRowIndex, partIndex);
if (strCheckPO != "OK")
{
throw new Exception("导入数据失败!\r\n" + "原因为:\r\n" + strCheckPO);
}
//删掉以导入的ASN todo ASN模板未确认
// DelDPASNHis(dsData.Tables[0]);
for (int i = 0; i < dsData.Tables[0].Rows.Count; i++)
{
if (i == readRow-1)
{
var drDate = dsData.Tables[0].Rows[i];
for (int n = 0; n < coloumnCount; n++)
{
//第六列开始是时间
if (n >= 5)
{
var date = drDate[n].ToString();
if (string.IsNullOrEmpty(date))
{
continue;
}
date = GetDateTimeStyle4(date, MyDateTimeType.Date);
//校验是否是日期,如果是日期,循环读入天的需求
if (DateTime.TryParse(date, out DateTime dt))
{
var DPTime = dsData.Tables[0].Rows[i + 1][n].ToString();
//得到了发货日期 和 发货时间
//开始循坏要货明细
for (int nPart = i + 4; nPart < dsData.Tables[0].Rows.Count-1; nPart++)
{
//如果有数量 则填加
var dr = dsData.Tables[0].Rows[nPart];
var qty = dr[n].ToString();
if (int.TryParse(qty, out int planQty))
{
if (planQty > 0)
{
drInput = t_Input.Table.NewRow();
drInput["LabelDate"] = dt.ToString("yyyy-MM-dd") + " " + DPTime + ":00";
drInput["Date"] = dt;
//todo AsnNumber 当前模板没有ASN号
drInput["AsnNumber"] = "";
drInput["PartNumber"] = dr[partIndex];
drInput["Qty"] = planQty;
//todo 从基础数据表获取PO
drInput["orderNumber"] = "";
//todo 增加表结构
drInput["CheckQty"] = 0;
//是否完成装箱校验
drInput["IsPackingVerification"] = 0;
//是否发运
drInput["IsShipingVerification"] = 0;
//是否生成ASN
drInput["IsPrintASN"] = 0;
//是否上传ASN
drInput["IsUpload"] = 0;
t_Input.Add(drInput);
}
}
}
}
}
}
}
}
}
public static string GetDateTimeStyle4(string sDateTime, MyDateTimeType dType)
{
if (sDateTime.Length != 8) throw new Exception("[" + sDateTime + "]日期时间格式错误!");
string Result = "";
string year = sDateTime.Substring(0, 4);
string month = sDateTime.Substring(4, 2);
string day = sDateTime.Substring(6, 2);
string h = "0";
string m = "0";
string s = "0";
string mi = "0";
if (month.Length == 1) month = "0" + month;
if (day.Length == 1) day = "0" + day;
if (h.Length == 1) h = "0" + h;
if (m.Length == 1) m = "0" + m;
if (s.Length == 1) s = "0" + s;
if (mi.Length == 1) mi = "00" + mi;
if (mi.Length == 2) mi = "0" + mi;
if (dType == MyDateTimeType.DateTime)
{
Result = year + "-" + month + "-" + day + " " + h + ":" + m + ":" + s;
}
if (dType == MyDateTimeType.Date)
{
Result = year + "-" + month + "-" + day;
}
if (dType == MyDateTimeType.Time)
{
Result = h + ":" + m + ":" + s;
}
if (dType == MyDateTimeType.Batch)
{
Result = year.Substring(2, 2) + month + day;
}
if (dType == MyDateTimeType.BillNo)
{
Result = year + month + day + h + m + s + mi;
}
return Result;
}
private string CheckPartPO(DataTable dtImport,int startRowIndex,int columnIndex)
{
string strRtn = "";
Entity_t_PartPO partPO = new Entity_t_PartPO();
DataTable dtData = partPO.GetData($"1 = 1").Tables[0];
if (dtData.Rows.Count == 0)
{
return "系统中没有定义零件号对应的订单信息!";
}
for (int i = startRowIndex; i < dtImport.Rows.Count-1; i++)
{
var partCode = dtImport.Rows[i][columnIndex].ToString();
var row = dtData.Select("Code = '" + partCode + "'");
if (row.Length != 1)
{
strRtn += "零件号["+partCode + "]没有对应有效的订单号"+ Environment.NewLine;
}
else
{
if(string.IsNullOrEmpty(row[0]["PONumber"].ToString()))
{
strRtn += "零件号[" + partCode + "]没有对应有效的订单号" + Environment.NewLine;
}
}
}
if (string.IsNullOrEmpty(strRtn))
{
strRtn = "OK";
}
if (dtData.Rows.Count == 0) throw new Exception("补打的记录不存在");
return strRtn;
}
/// <summary>
/// 删除历史导入的ASN单
/// </summary>
private void DelDPASNHis(DataTable dtImport)
{
LocalDBService db = new LocalDBService();
var sql = "";
var AsnNums = "";
//ASN 行位置
//todo asn模板未确定
var asnRowIndex = 6;
var asnRow = dtImport.Rows[asnRowIndex];
//ASN 列开始位置
var asnColumnStartIndex = 5;
for (int i = asnColumnStartIndex; i < dtImport.Columns.Count; i++)
{
if (!string.IsNullOrEmpty(asnRow[i].ToString()))
{
AsnNums += "'" + asnRow[i].ToString() + "',";
}
}
if (AsnNums.Length > 0)
{
AsnNums = AsnNums.Substring(0, AsnNums.Length - 1);
sql = $"delete from t_JIS_VDA where AsnNumber in (" + AsnNums + ")";
db.Exec_NonQuery(sql);
}
}
} }
} }

5
Stone.WinForm/Stone.WinModule/Standard/frmJISVDAASN.resx

@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACM ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACM
CwAAAk1TRnQBSQFMAgEBBQEAAVgBAAFYAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo CwAAAk1TRnQBSQFMAgEBBQEAAWABAAFgAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@ -177,4 +177,7 @@
AfgBAwHwAQEB/gEHBP8B/AEDBP8L AfgBAwHwAQEB/gEHBP8B/AEDBP8L
</value> </value>
</data> </data>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>342, 17</value>
</metadata>
</root> </root>

24
Stone.WinForm/Stone.WinModule/Stone.WinModule.csproj

@ -166,6 +166,18 @@
<Compile Include="BasicData\frmErrLog.Designer.cs"> <Compile Include="BasicData\frmErrLog.Designer.cs">
<DependentUpon>frmErrLog.cs</DependentUpon> <DependentUpon>frmErrLog.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="BasicData\frmPartPODetail.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="BasicData\frmPartPODetail.Designer.cs">
<DependentUpon>frmPartPODetail.cs</DependentUpon>
</Compile>
<Compile Include="BasicData\frmPartPO.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="BasicData\frmPartPO.Designer.cs">
<DependentUpon>frmPartPO.cs</DependentUpon>
</Compile>
<Compile Include="BasicData\frmPartOutQtyDetail.cs"> <Compile Include="BasicData\frmPartOutQtyDetail.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
@ -395,6 +407,12 @@
<Compile Include="Standard\frmMessageQuestion.Designer.cs"> <Compile Include="Standard\frmMessageQuestion.Designer.cs">
<DependentUpon>frmMessageQuestion.cs</DependentUpon> <DependentUpon>frmMessageQuestion.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Standard\frmASNScan.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Standard\frmASNScan.Designer.cs">
<DependentUpon>frmASNScan.cs</DependentUpon>
</Compile>
<Compile Include="Standard\frmPickUpDate.cs"> <Compile Include="Standard\frmPickUpDate.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
@ -682,6 +700,9 @@
<EmbeddedResource Include="BasicData\frmErrLog.resx"> <EmbeddedResource Include="BasicData\frmErrLog.resx">
<DependentUpon>frmErrLog.cs</DependentUpon> <DependentUpon>frmErrLog.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="BasicData\frmPartPODetail.resx">
<DependentUpon>frmPartPODetail.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BasicData\frmPartOutQtyDetail.resx"> <EmbeddedResource Include="BasicData\frmPartOutQtyDetail.resx">
<DependentUpon>frmPartOutQtyDetail.cs</DependentUpon> <DependentUpon>frmPartOutQtyDetail.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
@ -783,6 +804,9 @@
<EmbeddedResource Include="Standard\frmMessageQuestion.resx"> <EmbeddedResource Include="Standard\frmMessageQuestion.resx">
<DependentUpon>frmMessageQuestion.cs</DependentUpon> <DependentUpon>frmMessageQuestion.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Standard\frmASNScan.resx">
<DependentUpon>frmASNScan.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Standard\frmPickUpDate.resx"> <EmbeddedResource Include="Standard\frmPickUpDate.resx">
<DependentUpon>frmPickUpDate.cs</DependentUpon> <DependentUpon>frmPickUpDate.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>

Loading…
Cancel
Save