dequan.zhang
3 years ago
49 changed files with 12469 additions and 65 deletions
File diff suppressed because it is too large
File diff suppressed because it is too large
@ -0,0 +1,686 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<root> |
||||
|
<!-- |
||||
|
Microsoft ResX Schema |
||||
|
|
||||
|
Version 2.0 |
||||
|
|
||||
|
The primary goals of this format is to allow a simple XML format |
||||
|
that is mostly human readable. The generation and parsing of the |
||||
|
various data types are done through the TypeConverter classes |
||||
|
associated with the data types. |
||||
|
|
||||
|
Example: |
||||
|
|
||||
|
... ado.net/XML headers & schema ... |
||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader> |
||||
|
<resheader name="version">2.0</resheader> |
||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value> |
||||
|
</data> |
||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
||||
|
<comment>This is a comment</comment> |
||||
|
</data> |
||||
|
|
||||
|
There are any number of "resheader" rows that contain simple |
||||
|
name/value pairs. |
||||
|
|
||||
|
Each data row contains a name, and value. The row also contains a |
||||
|
type or mimetype. Type corresponds to a .NET class that support |
||||
|
text/value conversion through the TypeConverter architecture. |
||||
|
Classes that don't support this are serialized and stored with the |
||||
|
mimetype set. |
||||
|
|
||||
|
The mimetype is used for serialized objects, and tells the |
||||
|
ResXResourceReader how to depersist the object. This is currently not |
||||
|
extensible. For a given mimetype the value must be set accordingly: |
||||
|
|
||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format |
||||
|
that the ResXResourceWriter will generate, however the reader can |
||||
|
read any of the formats listed below. |
||||
|
|
||||
|
mimetype: application/x-microsoft.net.object.binary.base64 |
||||
|
value : The object must be serialized with |
||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter |
||||
|
: and then encoded with base64 encoding. |
||||
|
|
||||
|
mimetype: application/x-microsoft.net.object.soap.base64 |
||||
|
value : The object must be serialized with |
||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
||||
|
: and then encoded with base64 encoding. |
||||
|
|
||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64 |
||||
|
value : The object must be serialized into a byte array |
||||
|
: using a System.ComponentModel.TypeConverter |
||||
|
: 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:import namespace="http://www.w3.org/XML/1998/namespace" /> |
||||
|
<xsd:element name="root" msdata:IsDataSet="true"> |
||||
|
<xsd:complexType> |
||||
|
<xsd:choice maxOccurs="unbounded"> |
||||
|
<xsd:element name="metadata"> |
||||
|
<xsd:complexType> |
||||
|
<xsd:sequence> |
||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" /> |
||||
|
</xsd:sequence> |
||||
|
<xsd:attribute name="name" use="required" type="xsd:string" /> |
||||
|
<xsd:attribute name="type" type="xsd:string" /> |
||||
|
<xsd:attribute name="mimetype" type="xsd:string" /> |
||||
|
<xsd:attribute ref="xml:space" /> |
||||
|
</xsd:complexType> |
||||
|
</xsd:element> |
||||
|
<xsd:element name="assembly"> |
||||
|
<xsd:complexType> |
||||
|
<xsd:attribute name="alias" type="xsd:string" /> |
||||
|
<xsd:attribute name="name" type="xsd:string" /> |
||||
|
</xsd:complexType> |
||||
|
</xsd:element> |
||||
|
<xsd:element name="data"> |
||||
|
<xsd:complexType> |
||||
|
<xsd:sequence> |
||||
|
<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:sequence> |
||||
|
<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="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
||||
|
<xsd:attribute ref="xml:space" /> |
||||
|
</xsd:complexType> |
||||
|
</xsd:element> |
||||
|
<xsd:element name="resheader"> |
||||
|
<xsd:complexType> |
||||
|
<xsd:sequence> |
||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
||||
|
</xsd:sequence> |
||||
|
<xsd:attribute name="name" type="xsd:string" use="required" /> |
||||
|
</xsd:complexType> |
||||
|
</xsd:element> |
||||
|
</xsd:choice> |
||||
|
</xsd:complexType> |
||||
|
</xsd:element> |
||||
|
</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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
||||
|
</resheader> |
||||
|
<resheader name="writer"> |
||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
||||
|
</resheader> |
||||
|
<metadata name="dgcMouldCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dgcMouldName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="daname.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="statename.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="datype.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="materialtypename.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dgcDAMaterialCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="davalue.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="daresult.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="Pid.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
||||
|
<value>17, 17</value> |
||||
|
</metadata> |
||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> |
||||
|
<data name="tsbCancel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
||||
|
<value> |
||||
|
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 |
||||
|
6wqkj0ytAAAAAElFTkSuQmCC |
||||
|
</value> |
||||
|
</data> |
||||
|
<data name="tsbPass.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
||||
|
<value> |
||||
|
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 |
||||
|
/wBje5EY7FfaeAAAAABJRU5ErkJggg== |
||||
|
</value> |
||||
|
</data> |
||||
|
<data name="tsbRecovery.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
||||
|
<value> |
||||
|
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 |
||||
|
</value> |
||||
|
</data> |
||||
|
<data name="tsbConnect.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
||||
|
<value> |
||||
|
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 |
||||
|
RK5CYII= |
||||
|
</value> |
||||
|
</data> |
||||
|
<data name="tsbPrint.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
||||
|
<value> |
||||
|
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 |
||||
|
Ae6xxmll7eSUAAAAAElFTkSuQmCC |
||||
|
</value> |
||||
|
</data> |
||||
|
<data name="tsbSearch.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
||||
|
<value> |
||||
|
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 |
||||
|
SUVORK5CYII= |
||||
|
</value> |
||||
|
</data> |
||||
|
<metadata name="dgcMListMaterialName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dgcMListMaterialCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dgcMListQty.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dgcMListMaterialName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dgcMListMaterialCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dgcMListQty.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="InitNo.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dgcOrderNo.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dgcSeq.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dgcMaterialCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dgcMaterialName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dgcState.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dgcPlanDate.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dgcShift.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dataGridViewTextBoxColumn8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dataGridViewTextBoxColumn9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dataGridViewTextBoxColumn10.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dataGridViewTextBoxColumn11.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="No.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="PRODUCTCODE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="PRODUCTCODESTR.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="MOLDNUMBER.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="dataGridViewTextBoxColumn2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="Column5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="OPERATEDDATE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="PPID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="PROID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="PType.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="OPERATESTATE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>True</value> |
||||
|
</metadata> |
||||
|
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
||||
|
<value>127, 17</value> |
||||
|
</metadata> |
||||
|
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||
|
<value>49</value> |
||||
|
</metadata> |
||||
|
</root> |
@ -0,0 +1,128 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
//Ref:
|
||||
|
using System.Data; |
||||
|
|
||||
|
using QMAPP.BoraUpgrade.DAL; |
||||
|
using QMAPP.BoraUpgrade.Entity; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.BLL |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 宝来升级路由业务层
|
||||
|
/// </summary>
|
||||
|
public class BoraUpgradeRouteBLL |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 获取全部宝来升级路由列表
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static List<T_QD_BoraUpgradeRoute> GetBoraUpgradeRouteList() |
||||
|
{ |
||||
|
List<T_QD_BoraUpgradeRoute> returnVal = new List<T_QD_BoraUpgradeRoute>(); |
||||
|
|
||||
|
DataTable dataTable = BoraUpgradeRouteDAL.GetBoraUpgradeRouteList(); |
||||
|
|
||||
|
if ( dataTable.Rows.Count != 0 ) |
||||
|
{ |
||||
|
foreach (DataRow currRow in dataTable.Rows) |
||||
|
{ |
||||
|
T_QD_BoraUpgradeRoute newBoraUpgradeRoute = new T_QD_BoraUpgradeRoute(); |
||||
|
|
||||
|
newBoraUpgradeRoute.BoraRouteID = int.Parse( currRow["BoraRouteID"].ToString() ); |
||||
|
|
||||
|
newBoraUpgradeRoute.WorkCell_Code = currRow["WorkCell_Code"].ToString(); |
||||
|
|
||||
|
newBoraUpgradeRoute.NextWorkCell_Code = currRow["NextWorkCell_Code"].ToString(); |
||||
|
|
||||
|
newBoraUpgradeRoute.Machine_Code = currRow["Machine_Code"].ToString(); |
||||
|
|
||||
|
newBoraUpgradeRoute.RouteRegular = currRow["RouteRegular"].ToString(); |
||||
|
|
||||
|
newBoraUpgradeRoute.RouteDirection = int.Parse(currRow["RouteDirection"].ToString()); |
||||
|
|
||||
|
newBoraUpgradeRoute.IsProductCode = bool.Parse(currRow["IsProductCode"].ToString()); |
||||
|
|
||||
|
newBoraUpgradeRoute.IsClear = bool.Parse(currRow["IsClear"].ToString()); |
||||
|
|
||||
|
newBoraUpgradeRoute.IsDeleted = bool.Parse( currRow["IsDeleted"].ToString() ); |
||||
|
|
||||
|
newBoraUpgradeRoute.CreateTime = DateTime.Parse( currRow["CreateTime"].ToString() ); |
||||
|
|
||||
|
newBoraUpgradeRoute.ModeCode = currRow["ModeCode"].ToString(); |
||||
|
|
||||
|
if (!string.IsNullOrWhiteSpace(currRow["EmptyDAICount"].ToString())) |
||||
|
{ |
||||
|
newBoraUpgradeRoute.EmptyDAICount = int.Parse(currRow["EmptyDAICount"].ToString()); |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
newBoraUpgradeRoute.EmptyDAICount = -1; |
||||
|
} |
||||
|
|
||||
|
returnVal.Add(newBoraUpgradeRoute); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 根据工位编码获取宝来升级路由实例
|
||||
|
/// </summary>
|
||||
|
/// <param name="WorkCell_Code">工位编码</param>
|
||||
|
/// <returns></returns>
|
||||
|
public static T_QD_BoraUpgradeRoute GetBoraUpgradeRouteByWorkCell(string WorkCell_Code) |
||||
|
{ |
||||
|
T_QD_BoraUpgradeRoute returnVal = new T_QD_BoraUpgradeRoute(); |
||||
|
|
||||
|
DataTable dataTable = BoraUpgradeRouteDAL.GetBoraUpgradeRouteByWorkCell( WorkCell_Code ); |
||||
|
|
||||
|
if (dataTable.Rows.Count != 0) |
||||
|
{ |
||||
|
foreach (DataRow currRow in dataTable.Rows) |
||||
|
{ |
||||
|
returnVal.BoraRouteID = int.Parse(currRow["BoraRouteID"].ToString()); |
||||
|
|
||||
|
returnVal.WorkCell_Code = currRow["WorkCell_Code"].ToString(); |
||||
|
|
||||
|
returnVal.NextWorkCell_Code = currRow["NextWorkCell_Code"].ToString(); |
||||
|
|
||||
|
returnVal.Machine_Code = currRow["Machine_Code"].ToString(); |
||||
|
|
||||
|
returnVal.RouteRegular = currRow["RouteRegular"].ToString(); |
||||
|
|
||||
|
returnVal.RouteDirection = int.Parse(currRow["RouteDirection"].ToString()); |
||||
|
|
||||
|
returnVal.IsProductCode = bool.Parse(currRow["IsProductCode"].ToString()); |
||||
|
|
||||
|
returnVal.IsClear = bool.Parse(currRow["IsClear"].ToString()); |
||||
|
|
||||
|
returnVal.IsDeleted = bool.Parse(currRow["IsDeleted"].ToString()); |
||||
|
|
||||
|
returnVal.CreateTime = DateTime.Parse(currRow["CreateTime"].ToString()); |
||||
|
|
||||
|
if ( string.IsNullOrWhiteSpace(currRow["EmptyDAICount"].ToString()) ) |
||||
|
{ |
||||
|
returnVal.EmptyDAICount = int.Parse(currRow["EmptyDAICount"].ToString()); |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
returnVal.EmptyDAICount = -1; |
||||
|
} |
||||
|
|
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
returnVal = null; |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,422 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
//Ref:
|
||||
|
using System.Data; |
||||
|
|
||||
|
using QMAPP.BoraUpgrade.DAL; |
||||
|
using QMAPP.BoraUpgrade.Entity; |
||||
|
|
||||
|
using System.Text.RegularExpressions; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.BLL |
||||
|
{ |
||||
|
public class PrintCodeRouteHelper |
||||
|
{ |
||||
|
#region 获取全部打码规则
|
||||
|
/// <summary>
|
||||
|
/// 获取全部打码规则
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static List<T_CC_PrintCodeRoute> GetAllPrintCodeRouteList() |
||||
|
{ |
||||
|
List<T_CC_PrintCodeRoute> returnVal = null; |
||||
|
|
||||
|
DataTable dataSrouce = PrintCodeRouteDataAccess.GetPrintCodeRouteAllList(); |
||||
|
|
||||
|
if (dataSrouce.Rows.Count > 0) |
||||
|
{ |
||||
|
returnVal = new List<T_CC_PrintCodeRoute>(); |
||||
|
|
||||
|
foreach (DataRow currDataRow in dataSrouce.Rows) |
||||
|
{ |
||||
|
T_CC_PrintCodeRoute newPrintCodeRoute = new T_CC_PrintCodeRoute(); |
||||
|
|
||||
|
newPrintCodeRoute.PrintCodeRouteID = int.Parse(currDataRow[0].ToString()); |
||||
|
|
||||
|
newPrintCodeRoute.BarCodeRule = currDataRow[1].ToString(); |
||||
|
|
||||
|
newPrintCodeRoute.MachineName = currDataRow[2].ToString(); |
||||
|
|
||||
|
newPrintCodeRoute.MachineCode = currDataRow[3].ToString(); |
||||
|
|
||||
|
newPrintCodeRoute.Material_Code = currDataRow[4].ToString(); |
||||
|
|
||||
|
newPrintCodeRoute.WorkCell_Code = currDataRow[5].ToString(); |
||||
|
|
||||
|
newPrintCodeRoute.WorkLoc_Code = currDataRow[6].ToString(); |
||||
|
|
||||
|
newPrintCodeRoute.WorkCenter = currDataRow[7].ToString(); |
||||
|
|
||||
|
newPrintCodeRoute.Matrail_Type = currDataRow[8].ToString(); |
||||
|
|
||||
|
newPrintCodeRoute.IsProduct = bool.Parse(currDataRow[9].ToString()); |
||||
|
|
||||
|
newPrintCodeRoute.IsAppend = bool.Parse(currDataRow[10].ToString()); |
||||
|
|
||||
|
newPrintCodeRoute.Color = int.Parse(currDataRow["Color"].ToString()); |
||||
|
|
||||
|
newPrintCodeRoute.MachineID = currDataRow["MachineID"].ToString(); |
||||
|
|
||||
|
returnVal.Add(newPrintCodeRoute); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
#endregion
|
||||
|
|
||||
|
#region
|
||||
|
/// <summary>
|
||||
|
/// 处理打码路由
|
||||
|
/// </summary>
|
||||
|
/// <param name="ProductCode">产品码</param>
|
||||
|
/// <param name="WorkCell_Code">工位码</param>
|
||||
|
public static T_CC_PrintCodeRoute ProcessPrintCodeRoute(List<T_CC_PrintCodeRoute> ePrintCodeRouteList, string ProductCode, string WorkCell_Code) |
||||
|
{ |
||||
|
T_CC_PrintCodeRoute returnVal = null; |
||||
|
|
||||
|
//提取产品信息
|
||||
|
T_AW_PRODUCT eProduct = ProductHelper.GetProductByProductCode(ProductCode); |
||||
|
|
||||
|
if (eProduct == null) |
||||
|
{ |
||||
|
#region 处理新增
|
||||
|
foreach ( T_CC_PrintCodeRoute ePrintCodeRoute in ePrintCodeRouteList ) |
||||
|
{ |
||||
|
//匹配工位
|
||||
|
T_CC_PrintCodeRoute eMatchingPrintCodeRoute = |
||||
|
ePrintCodeRouteList.Find(s => s.WorkCell_Code == WorkCell_Code); |
||||
|
|
||||
|
//判断是否存在匹配
|
||||
|
if ( eMatchingPrintCodeRoute == null ) |
||||
|
{ |
||||
|
break; |
||||
|
} |
||||
|
|
||||
|
//changed by wrx 20200312 Regex.IsMatch("A3ZQZC202003120003", "1")=true Regex.IsMatch("A3ZQZC202003", "1")=false 不知道为什么
|
||||
|
|
||||
|
string realProductCode = string.Empty; |
||||
|
|
||||
|
string createTime = string.Empty; |
||||
|
|
||||
|
string color = string.Empty; |
||||
|
|
||||
|
string machineID = string.Empty; |
||||
|
|
||||
|
|
||||
|
if ( ProductCode.Length == 29 ) |
||||
|
{ |
||||
|
realProductCode = ProductCode.Substring(0, 23); |
||||
|
|
||||
|
createTime = string.Format("20{0}-{1}-{2} {3}:{4}:{5}", ProductCode.Substring(11, 2), ProductCode.Substring(13, 2), ProductCode.Substring(15, 2), |
||||
|
ProductCode.Substring(17, 2), ProductCode.Substring(19, 2), ProductCode.Substring(21, 2) |
||||
|
); |
||||
|
|
||||
|
color = ProductCode.Substring(23, 1); |
||||
|
|
||||
|
machineID = ProductCode.Substring(24, 1); |
||||
|
|
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
if (System.Text.RegularExpressions.Regex.IsMatch(realProductCode, ePrintCodeRoute.BarCodeRule) == true |
||||
|
&& ePrintCodeRoute.WorkCell_Code.ToUpper().Trim() == WorkCell_Code.ToUpper().Trim() |
||||
|
&& ePrintCodeRoute.BarCodeRule != "1" && ePrintCodeRoute.BarCodeRule != "2" && ePrintCodeRoute.BarCodeRule != "3" |
||||
|
&& color == ePrintCodeRoute.Color.ToString() && machineID == ePrintCodeRoute.MachineID |
||||
|
) |
||||
|
{ |
||||
|
if (eMatchingPrintCodeRoute.IsProduct == true) |
||||
|
{ |
||||
|
//判断是否追加
|
||||
|
if (eMatchingPrintCodeRoute.IsAppend == true) |
||||
|
{ |
||||
|
#region 组成新增产品实例
|
||||
|
T_AW_PRODUCT newProduct = new T_AW_PRODUCT(); |
||||
|
|
||||
|
newProduct.PID = Guid.NewGuid().ToString(); |
||||
|
|
||||
|
newProduct.PRODUCTTYPE = string.Empty; |
||||
|
|
||||
|
newProduct.PRODUCTCODE = ProductCode; |
||||
|
|
||||
|
newProduct.PRODUCTSOURCE = "0"; |
||||
|
|
||||
|
newProduct.MACHINENAME = ePrintCodeRoute.MachineName; |
||||
|
|
||||
|
newProduct.MACHINECODDE = ePrintCodeRoute.MachineCode; |
||||
|
|
||||
|
newProduct.MATERIAL_CODE = ePrintCodeRoute.Material_Code; |
||||
|
|
||||
|
newProduct.STATUS = "0"; |
||||
|
|
||||
|
newProduct.OUTFLAG = "0"; |
||||
|
|
||||
|
newProduct.CAPACITY = 1; |
||||
|
|
||||
|
newProduct.USINGCOUNT = 0; |
||||
|
|
||||
|
newProduct.WORKCELL_CODE = ePrintCodeRoute.WorkCell_Code; |
||||
|
|
||||
|
newProduct.WORKLOC_CODE = ePrintCodeRoute.WorkLoc_Code; |
||||
|
|
||||
|
newProduct.WORKCENTER_CODE = ePrintCodeRoute.WorkCenter; |
||||
|
|
||||
|
newProduct.MATERIAL_TYPE = ePrintCodeRoute.Matrail_Type; |
||||
|
|
||||
|
newProduct.USINGSTATE = "0"; |
||||
|
|
||||
|
newProduct.CREATEDATE = DateTime.Parse(createTime); |
||||
|
|
||||
|
#endregion
|
||||
|
|
||||
|
//新增
|
||||
|
ProductHelper.Insert(newProduct); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
//非产品
|
||||
|
if (eMatchingPrintCodeRoute.IsProduct == false) |
||||
|
{ |
||||
|
returnVal = eMatchingPrintCodeRoute; |
||||
|
} |
||||
|
|
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
#endregion
|
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
if (ePrintCodeRouteList == null || ePrintCodeRouteList.Count == 0) return null; |
||||
|
//匹配工位
|
||||
|
List<T_CC_PrintCodeRoute> eMatchingPrintCodeRouteList = |
||||
|
ePrintCodeRouteList.FindAll(s => s.WorkCell_Code == WorkCell_Code); |
||||
|
|
||||
|
|
||||
|
#region 处理更新
|
||||
|
foreach (T_CC_PrintCodeRoute ePrintCodeRoute in eMatchingPrintCodeRouteList) |
||||
|
{ |
||||
|
if ( System.Text.RegularExpressions.Regex.IsMatch(ProductCode, ePrintCodeRoute.BarCodeRule) == false ) |
||||
|
{ |
||||
|
break; |
||||
|
} |
||||
|
|
||||
|
//changed by wrx 20200312 Regex.IsMatch("A3ZQZC202003120003", "1")=true Regex.IsMatch("A3ZQZC202003", "1")=false 不知道为什么
|
||||
|
if (ePrintCodeRoute.WorkCell_Code.ToUpper().Trim() == WorkCell_Code.ToUpper().Trim() && ePrintCodeRoute.IsAppend == false && eProduct.USINGSTATE == "0" |
||||
|
&& ePrintCodeRoute.BarCodeRule != "1" && ePrintCodeRoute.BarCodeRule != "2" && ePrintCodeRoute.BarCodeRule != "3") |
||||
|
{ |
||||
|
T_AW_PRODUCT modifyProduct = new T_AW_PRODUCT(); |
||||
|
|
||||
|
modifyProduct.PID = eProduct.PID; |
||||
|
|
||||
|
//modifyProduct.MATERIAL_CODE = ePrintCodeRoute.Material_Code;
|
||||
|
|
||||
|
modifyProduct.WORKCELL_CODE = ePrintCodeRoute.WorkCell_Code; |
||||
|
|
||||
|
modifyProduct.WORKLOC_CODE = ePrintCodeRoute.WorkLoc_Code; |
||||
|
|
||||
|
modifyProduct.WORKCENTER_CODE = ePrintCodeRoute.WorkCenter; |
||||
|
|
||||
|
modifyProduct.MATERIAL_TYPE = ePrintCodeRoute.Matrail_Type; |
||||
|
|
||||
|
ProductHelper.Modify(modifyProduct); |
||||
|
} |
||||
|
} |
||||
|
#endregion
|
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
public static void SaveLLightBarCode(List<T_CC_PrintCodeRoute> pPrintCodeRouteList,string pProductCode,string pWorkCellCode) |
||||
|
{ |
||||
|
foreach(T_CC_PrintCodeRoute route in pPrintCodeRouteList) |
||||
|
{ |
||||
|
if(System.Text.RegularExpressions.Regex.IsMatch(pProductCode, route.BarCodeRule) == true && route.WorkCell_Code == pWorkCellCode) |
||||
|
{ |
||||
|
DataTable exsitTable = PrintCodeRouteDataAccess.GetExsitProductCodeQty(pProductCode, pWorkCellCode); |
||||
|
if(exsitTable.Rows.Count == 0) |
||||
|
{ |
||||
|
T_AW_PRODUCT newProduct = new T_AW_PRODUCT(); |
||||
|
|
||||
|
newProduct.PID = Guid.NewGuid().ToString(); |
||||
|
|
||||
|
newProduct.PRODUCTTYPE = string.Empty; |
||||
|
|
||||
|
newProduct.PRODUCTCODE = pProductCode; |
||||
|
|
||||
|
newProduct.PRODUCTSOURCE = "0"; |
||||
|
|
||||
|
newProduct.MACHINENAME = route.MachineName; |
||||
|
|
||||
|
newProduct.MACHINECODDE = route.MachineCode; |
||||
|
|
||||
|
newProduct.MATERIAL_CODE = route.Material_Code; |
||||
|
|
||||
|
newProduct.STATUS = "0"; |
||||
|
|
||||
|
newProduct.OUTFLAG = "0"; |
||||
|
|
||||
|
newProduct.CAPACITY = 1; |
||||
|
|
||||
|
newProduct.USINGCOUNT = 0; |
||||
|
|
||||
|
newProduct.WORKCELL_CODE = route.WorkCell_Code; |
||||
|
|
||||
|
newProduct.WORKLOC_CODE = route.WorkLoc_Code; |
||||
|
|
||||
|
newProduct.WORKCENTER_CODE = route.WorkCenter; |
||||
|
|
||||
|
newProduct.MATERIAL_TYPE = route.Matrail_Type; |
||||
|
|
||||
|
newProduct.USINGSTATE = "0"; |
||||
|
|
||||
|
newProduct.CREATEDATE = DateTime.Now; |
||||
|
|
||||
|
#endregion
|
||||
|
|
||||
|
//新增
|
||||
|
ProductHelper.Insert(newProduct); |
||||
|
} |
||||
|
//else
|
||||
|
//{
|
||||
|
// T_AW_PRODUCT modifyProduct = new T_AW_PRODUCT();
|
||||
|
|
||||
|
// modifyProduct.PID = exsitTable.Rows[0]["PID"].ToString();
|
||||
|
|
||||
|
// //modifyProduct.MATERIAL_CODE = ePrintCodeRoute.Material_Code;
|
||||
|
|
||||
|
// modifyProduct.WORKCELL_CODE = route.WorkCell_Code;
|
||||
|
|
||||
|
// modifyProduct.WORKLOC_CODE = route.WorkLoc_Code;
|
||||
|
|
||||
|
// modifyProduct.WORKCENTER_CODE = route.WorkCenter;
|
||||
|
|
||||
|
// modifyProduct.MATERIAL_TYPE = route.Matrail_Type;
|
||||
|
|
||||
|
// ProductHelper.Modify(modifyProduct);
|
||||
|
//}
|
||||
|
|
||||
|
return; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
#region 处理打码路由
|
||||
|
/// <summary>
|
||||
|
/// 处理打码路由
|
||||
|
/// </summary>
|
||||
|
/// <param name="ProductCode">产品码</param>
|
||||
|
/// <param name="WorkCell_Code">工位码</param>
|
||||
|
public static T_CC_PrintCodeRoute ProcessPrintCodeRoute(List<T_CC_PrintCodeRoute> ePrintCodeRouteList, string ProductCode) |
||||
|
{ |
||||
|
T_CC_PrintCodeRoute returnVal = null; |
||||
|
|
||||
|
//提取产品信息
|
||||
|
T_AW_PRODUCT eProduct = ProductHelper.GetProductByProductCode(ProductCode); |
||||
|
|
||||
|
if (eProduct == null) |
||||
|
{ |
||||
|
#region 处理新增
|
||||
|
foreach (T_CC_PrintCodeRoute ePrintCodeRoute in ePrintCodeRouteList) |
||||
|
{ |
||||
|
|
||||
|
//changed by wrx 20200312 Regex.IsMatch("A3ZQZC202003120003", "1")=true Regex.IsMatch("A3ZQZC202003", "1")=false 不知道为什么
|
||||
|
|
||||
|
string realProductCode = string.Empty; |
||||
|
|
||||
|
string createTime = string.Empty; |
||||
|
|
||||
|
string color = string.Empty; |
||||
|
|
||||
|
string machineID = string.Empty; |
||||
|
|
||||
|
|
||||
|
if (ProductCode.Length == 29) |
||||
|
{ |
||||
|
realProductCode = ProductCode.Substring(0, 23); |
||||
|
|
||||
|
createTime = string.Format("20{0}-{1}-{2} {3}:{4}:{5}", ProductCode.Substring(11, 2), ProductCode.Substring(13, 2), ProductCode.Substring(15, 2), |
||||
|
ProductCode.Substring(17, 2), ProductCode.Substring(19, 2), ProductCode.Substring(21, 2) |
||||
|
); |
||||
|
|
||||
|
color = ProductCode.Substring(23, 1); |
||||
|
|
||||
|
machineID = ProductCode.Substring(24, 1); |
||||
|
|
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
if (System.Text.RegularExpressions.Regex.IsMatch(realProductCode, ePrintCodeRoute.BarCodeRule) == true |
||||
|
&& ePrintCodeRoute.BarCodeRule != "1" && ePrintCodeRoute.BarCodeRule != "2" && ePrintCodeRoute.BarCodeRule != "3" |
||||
|
&& color == ePrintCodeRoute.Color.ToString() && machineID == ePrintCodeRoute.MachineID |
||||
|
) |
||||
|
{ |
||||
|
#region 组成新增产品实例
|
||||
|
T_AW_PRODUCT newProduct = new T_AW_PRODUCT(); |
||||
|
|
||||
|
newProduct.PID = Guid.NewGuid().ToString(); |
||||
|
|
||||
|
newProduct.PRODUCTTYPE = string.Empty; |
||||
|
|
||||
|
newProduct.PRODUCTCODE = ProductCode; |
||||
|
|
||||
|
newProduct.PRODUCTSOURCE = "0"; |
||||
|
|
||||
|
newProduct.MACHINENAME = ePrintCodeRoute.MachineName; |
||||
|
|
||||
|
newProduct.MACHINECODDE = ePrintCodeRoute.MachineCode; |
||||
|
|
||||
|
newProduct.MATERIAL_CODE = ePrintCodeRoute.Material_Code; |
||||
|
|
||||
|
newProduct.STATUS = "0"; |
||||
|
|
||||
|
newProduct.OUTFLAG = "0"; |
||||
|
|
||||
|
newProduct.CAPACITY = 1; |
||||
|
|
||||
|
newProduct.USINGCOUNT = 0; |
||||
|
|
||||
|
newProduct.WORKCELL_CODE = ePrintCodeRoute.WorkCell_Code; |
||||
|
|
||||
|
newProduct.WORKLOC_CODE = ePrintCodeRoute.WorkLoc_Code; |
||||
|
|
||||
|
newProduct.WORKCENTER_CODE = ePrintCodeRoute.WorkCenter; |
||||
|
|
||||
|
newProduct.MATERIAL_TYPE = ePrintCodeRoute.Matrail_Type; |
||||
|
|
||||
|
newProduct.USINGSTATE = "0"; |
||||
|
|
||||
|
newProduct.CREATEDATE = DateTime.Parse(createTime); |
||||
|
|
||||
|
#endregion
|
||||
|
|
||||
|
//新增
|
||||
|
ProductHelper.Insert(newProduct); |
||||
|
|
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
#endregion
|
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
#endregion
|
||||
|
} |
||||
|
} |
@ -0,0 +1,6 @@ |
|||||
|
namespace QMAPP.BoraUpgrade.BLL |
||||
|
{ |
||||
|
public class ProduceShiftOld |
||||
|
{ |
||||
|
} |
||||
|
} |
@ -0,0 +1,149 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
//Ref:
|
||||
|
using System.Data; |
||||
|
|
||||
|
using QMAPP.BoraUpgrade.DAL; |
||||
|
using QMAPP.BoraUpgrade.Entity; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.BLL |
||||
|
{ |
||||
|
public class ProductHelper |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 新增产品信息
|
||||
|
/// </summary>
|
||||
|
/// <param name="eProduct">产品实例</param>
|
||||
|
/// <returns>成功 True 否则 False</returns>
|
||||
|
public static bool Insert(T_AW_PRODUCT eProduct) |
||||
|
{ |
||||
|
bool returnVal = false; |
||||
|
|
||||
|
returnVal = ProductDataAccess.Insert(eProduct); |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
public static int GetIsMilling(string productCode) |
||||
|
{ |
||||
|
return ProductDataAccess.GetIsMilling(productCode); |
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 根据ProductCode提取产品实例
|
||||
|
/// </summary>
|
||||
|
/// <param name="productCode">产品编号</param>
|
||||
|
/// <returns></returns>
|
||||
|
public static T_AW_PRODUCT GetProductByProductCode(string productCode) |
||||
|
{ |
||||
|
T_AW_PRODUCT returnVal = null; |
||||
|
|
||||
|
DataTable dataSrouce = ProductDataAccess.GetProductByProductCode(productCode); |
||||
|
|
||||
|
|
||||
|
if (dataSrouce.Rows.Count > 0) |
||||
|
{ |
||||
|
returnVal = new T_AW_PRODUCT(); |
||||
|
|
||||
|
DataRow fristDataRow = dataSrouce.Rows[0]; |
||||
|
|
||||
|
returnVal.PID = fristDataRow[0].ToString(); |
||||
|
|
||||
|
returnVal.PRODUCTCODE = fristDataRow[2].ToString(); |
||||
|
|
||||
|
returnVal.MATERIAL_CODE = fristDataRow[6].ToString(); |
||||
|
|
||||
|
returnVal.PLAN_NO = fristDataRow[27].ToString(); |
||||
|
|
||||
|
returnVal.USINGCOUNT = int.Parse(fristDataRow["USINGCOUNT"].ToString()); |
||||
|
|
||||
|
returnVal.USINGSTATE = fristDataRow["USINGSTATE"].ToString(); |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
|
||||
|
public static T_AW_PRODUCT GetProductByLoc(string productCode, string locCode) |
||||
|
{ |
||||
|
T_AW_PRODUCT returnVal = null; |
||||
|
|
||||
|
DataTable dataSrouce = ProductDataAccess.GetProductByLocCode(productCode, locCode); |
||||
|
|
||||
|
|
||||
|
if (dataSrouce.Rows.Count > 0) |
||||
|
{ |
||||
|
returnVal = new T_AW_PRODUCT(); |
||||
|
|
||||
|
DataRow fristDataRow = dataSrouce.Rows[0]; |
||||
|
|
||||
|
returnVal.PID = fristDataRow["PID"].ToString(); |
||||
|
|
||||
|
returnVal.PRODUCTCODE = fristDataRow["PRODUCTCODE"].ToString(); |
||||
|
|
||||
|
returnVal.MATERIAL_CODE = fristDataRow["MATERIAL_CODE"].ToString(); |
||||
|
|
||||
|
returnVal.STATUS = fristDataRow["STATUS"].ToString(); |
||||
|
returnVal.USINGSTATE = fristDataRow["USINGSTATE"].ToString(); |
||||
|
returnVal.WORKCELL_CODE = fristDataRow["WORKCELL_CODE"].ToString(); |
||||
|
returnVal.WORKLOC_CODE = fristDataRow["WORKLOC_CODE"].ToString(); |
||||
|
returnVal.MACHINECODDE = fristDataRow["MACHINECODDE"].ToString(); |
||||
|
if (!string.IsNullOrEmpty(fristDataRow["UPDATEDATE"].ToString())) |
||||
|
returnVal.UPDATEDATE = DateTime.Parse(fristDataRow["UPDATEDATE"].ToString()); |
||||
|
if (!string.IsNullOrEmpty(fristDataRow["CREATEDATE"].ToString())) |
||||
|
returnVal.CREATEDATE = DateTime.Parse(fristDataRow["CREATEDATE"].ToString()); |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
public static DataTable GetBora3MCodes(string pMaterialCode) |
||||
|
{ |
||||
|
return ProductDataAccess.GetBora3MCodes(pMaterialCode); |
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 宝来3.0洗削后,将产品物料号,从宝来3.0的新物料号改回原物料号
|
||||
|
/// </summary>
|
||||
|
/// <param name="productCode">产品条码</param>
|
||||
|
/// <param name="mCode">宝来物料号</param>
|
||||
|
/// <param name="bora3MCode">宝来3.0物料号</param>
|
||||
|
public static bool UpdateProductMaterialCode(string productCode, string mCode, string bora3MCode) |
||||
|
{ |
||||
|
return ProductDataAccess.UpdateProductMaterialCode(productCode, mCode, bora3MCode); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
public static DateTime GetSerivceTime() |
||||
|
{ |
||||
|
return ProductDataAccess.GetServiceDateTime(); |
||||
|
} |
||||
|
|
||||
|
#region 修改产品信息
|
||||
|
/// <summary>
|
||||
|
/// 修改产品信息
|
||||
|
/// </summary>
|
||||
|
/// <param name="eProduct">产品信息实例</param>
|
||||
|
/// <returns>成功 True 否则 False</returns>
|
||||
|
public static bool Update(T_AW_PRODUCT eProduct) |
||||
|
{ |
||||
|
bool returnVal = false; |
||||
|
|
||||
|
returnVal = ProductDataAccess.Update(eProduct); |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
|
||||
|
public static bool Modify(T_AW_PRODUCT eProduct) |
||||
|
{ |
||||
|
bool returnVal = false; |
||||
|
|
||||
|
returnVal = ProductDataAccess.Modify(eProduct); |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
#endregion
|
||||
|
} |
||||
|
} |
@ -0,0 +1,27 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
//Ref:
|
||||
|
using System.Data; |
||||
|
|
||||
|
using QMAPP.BoraUpgrade.DAL; |
||||
|
using QMAPP.BoraUpgrade.Entity; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.BLL |
||||
|
{ |
||||
|
public class ProductMaxCodeBLL |
||||
|
{ |
||||
|
#region 根据工单ID提取物料列表
|
||||
|
/// <summary>
|
||||
|
/// 根据工单ID提取物料列表
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static int GetProductMaxCode(string MATERIAL_TYPE_CODE, string GenerateDate, string ProductType) |
||||
|
{ |
||||
|
return QMAPP.BoraUpgrade.DAL.ProductMaxCodeDAL.GetProductMaxCode(MATERIAL_TYPE_CODE, GenerateDate, ProductType); |
||||
|
} |
||||
|
#endregion
|
||||
|
} |
||||
|
} |
@ -0,0 +1,36 @@ |
|||||
|
using System.Reflection; |
||||
|
using System.Runtime.CompilerServices; |
||||
|
using System.Runtime.InteropServices; |
||||
|
|
||||
|
// 有关程序集的常规信息通过以下
|
||||
|
// 特性集控制。更改这些特性值可修改
|
||||
|
// 与程序集关联的信息。
|
||||
|
[assembly: AssemblyTitle("QMAPP.BoraUpgrade.BLL")] |
||||
|
[assembly: AssemblyDescription("")] |
||||
|
[assembly: AssemblyConfiguration("")] |
||||
|
[assembly: AssemblyCompany("")] |
||||
|
[assembly: AssemblyProduct("QMAPP.BoraUpgrade.BLL")] |
||||
|
[assembly: AssemblyCopyright("Copyright © 2020")] |
||||
|
[assembly: AssemblyTrademark("")] |
||||
|
[assembly: AssemblyCulture("")] |
||||
|
|
||||
|
// 将 ComVisible 设置为 false 使此程序集中的类型
|
||||
|
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
|
||||
|
// 则将该类型上的 ComVisible 特性设置为 true。
|
||||
|
[assembly: ComVisible(false)] |
||||
|
|
||||
|
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
|
[assembly: Guid("109a6e75-15f1-49e5-a7fb-fd1555d79f46")] |
||||
|
|
||||
|
// 程序集的版本信息由下面四个值组成:
|
||||
|
//
|
||||
|
// 主版本
|
||||
|
// 次版本
|
||||
|
// 内部版本号
|
||||
|
// 修订号
|
||||
|
//
|
||||
|
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
|
||||
|
// 方法是按如下所示使用“*”:
|
||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||
|
[assembly: AssemblyVersion("1.0.0.0")] |
||||
|
[assembly: AssemblyFileVersion("1.0.0.0")] |
@ -0,0 +1,75 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||
|
<PropertyGroup> |
||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
||||
|
<ProductVersion>8.0.30703</ProductVersion> |
||||
|
<SchemaVersion>2.0</SchemaVersion> |
||||
|
<ProjectGuid>{0AC97127-BCF1-4FF0-A6F1-73EA38802ECF}</ProjectGuid> |
||||
|
<OutputType>Library</OutputType> |
||||
|
<AppDesignerFolder>Properties</AppDesignerFolder> |
||||
|
<RootNamespace>QMAPP.BoraUpgrade.BLL</RootNamespace> |
||||
|
<AssemblyName>QMAPP.BoraUpgrade.BLL</AssemblyName> |
||||
|
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> |
||||
|
<FileAlignment>512</FileAlignment> |
||||
|
</PropertyGroup> |
||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
||||
|
<DebugSymbols>true</DebugSymbols> |
||||
|
<DebugType>full</DebugType> |
||||
|
<Optimize>false</Optimize> |
||||
|
<OutputPath>bin\Debug\</OutputPath> |
||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants> |
||||
|
<ErrorReport>prompt</ErrorReport> |
||||
|
<WarningLevel>4</WarningLevel> |
||||
|
</PropertyGroup> |
||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
||||
|
<DebugType>pdbonly</DebugType> |
||||
|
<Optimize>true</Optimize> |
||||
|
<OutputPath>bin\Release\</OutputPath> |
||||
|
<DefineConstants>TRACE</DefineConstants> |
||||
|
<ErrorReport>prompt</ErrorReport> |
||||
|
<WarningLevel>4</WarningLevel> |
||||
|
</PropertyGroup> |
||||
|
<ItemGroup> |
||||
|
<Reference Include="System" /> |
||||
|
<Reference Include="System.Core" /> |
||||
|
<Reference Include="System.Xml.Linq" /> |
||||
|
<Reference Include="System.Data.DataSetExtensions" /> |
||||
|
<Reference Include="Microsoft.CSharp" /> |
||||
|
<Reference Include="System.Data" /> |
||||
|
<Reference Include="System.Xml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<Compile Include="BoraUpgradeRouteBLL.cs" /> |
||||
|
<Compile Include="PrintCodeRouteHelper.cs" /> |
||||
|
<Compile Include="ProduceShift.cs" /> |
||||
|
<Compile Include="ProductHelper.cs" /> |
||||
|
<Compile Include="ProductMaxCodeBLL.cs" /> |
||||
|
<Compile Include="Properties\AssemblyInfo.cs" /> |
||||
|
<Compile Include="VirtualMaterialBLL.cs" /> |
||||
|
<Compile Include="WorkCellHelper.cs" /> |
||||
|
<Compile Include="WorkOrderBLL.cs" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<ProjectReference Include="..\APPQ5\QMAPP.FJC.Entity\QMAPP.FJC.Entity.csproj"> |
||||
|
<Project>{17123cdd-0ba7-496f-8e4e-fcbabe0463ca}</Project> |
||||
|
<Name>QMAPP.FJC.Entity</Name> |
||||
|
</ProjectReference> |
||||
|
<ProjectReference Include="..\QMAPP.BoraUpgrade.DAL\QMAPP.BoraUpgrade.DAL.csproj"> |
||||
|
<Project>{10C2F3D0-4ACB-4D41-B7CC-168A55E099D6}</Project> |
||||
|
<Name>QMAPP.BoraUpgrade.DAL</Name> |
||||
|
</ProjectReference> |
||||
|
<ProjectReference Include="..\QMAPP.BoraUpgrade.Entity\QMAPP.BoraUpgrade.Entity.csproj"> |
||||
|
<Project>{0C8B7A06-ED56-4198-9386-B8EA1D176571}</Project> |
||||
|
<Name>QMAPP.BoraUpgrade.Entity</Name> |
||||
|
</ProjectReference> |
||||
|
</ItemGroup> |
||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> |
||||
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. |
||||
|
Other similar extension points exist, see Microsoft.Common.targets. |
||||
|
<Target Name="BeforeBuild"> |
||||
|
</Target> |
||||
|
<Target Name="AfterBuild"> |
||||
|
</Target> |
||||
|
--> |
||||
|
</Project> |
@ -0,0 +1,47 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
//Ref:
|
||||
|
using System.Data; |
||||
|
|
||||
|
using QMAPP.BoraUpgrade.DAL; |
||||
|
using QMAPP.BoraUpgrade.Entity; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.BLL |
||||
|
{ |
||||
|
public class VirtualMaterialBLL |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 获取全部宝来升级路由列表
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static List<T_QD_VirtualMaterial> GetVirtualMateialByWorkCellCode(string workCellCode) |
||||
|
{ |
||||
|
List<T_QD_VirtualMaterial> returnVal = new List<T_QD_VirtualMaterial>(); |
||||
|
|
||||
|
DataTable dataTable = VirtualMaterialDAL.GetVirtualMaterialByWorkCellCode(workCellCode); |
||||
|
|
||||
|
if (dataTable.Rows.Count != 0) |
||||
|
{ |
||||
|
foreach (DataRow currRow in dataTable.Rows) |
||||
|
{ |
||||
|
T_QD_VirtualMaterial newVirtualMaterial = new T_QD_VirtualMaterial(); |
||||
|
|
||||
|
newVirtualMaterial.PID = int.Parse( currRow["PID"].ToString() ); |
||||
|
|
||||
|
newVirtualMaterial.WorkCellCode = currRow["WorkCellCode"].ToString(); |
||||
|
|
||||
|
newVirtualMaterial.MaterialCode = currRow["MaterialCode"].ToString(); |
||||
|
|
||||
|
newVirtualMaterial.MaterialType = currRow["MaterialType"].ToString(); |
||||
|
|
||||
|
returnVal.Add(newVirtualMaterial); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,27 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
//Ref:
|
||||
|
using System.Data; |
||||
|
|
||||
|
using QMAPP.BoraUpgrade.DAL; |
||||
|
using QMAPP.BoraUpgrade.Entity; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.BLL |
||||
|
{ |
||||
|
public class WorkCellHelper |
||||
|
{ |
||||
|
#region 根据当前工位码提取前序工位处理码
|
||||
|
/// <summary>
|
||||
|
/// 根据当前工位码提取前序工位处理码
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetPreWorkCellProccessCode(string currWorkCellCode,int _Count,int OutTime,string metairal_type) |
||||
|
{ |
||||
|
return QMAPP.BoraUpgrade.DAL.WorkCellDAL.GetPreWorkCellProccessCode(currWorkCellCode, _Count, OutTime, metairal_type); |
||||
|
} |
||||
|
#endregion
|
||||
|
} |
||||
|
} |
@ -0,0 +1,256 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
|
||||
|
//Ref:
|
||||
|
using System.Data; |
||||
|
|
||||
|
using QMAPP.BoraUpgrade.DAL; |
||||
|
using QMAPP.BoraUpgrade.Entity; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.BLL |
||||
|
{ |
||||
|
public class WorkOrderBLL |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 获取全部宝来升级路由列表
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static T_MD_MATERIAL GetMaterialListByWorkOrderID(string workOrderID, string materialType) |
||||
|
{ |
||||
|
T_MD_MATERIAL newMaterial = new T_MD_MATERIAL(); |
||||
|
|
||||
|
DataTable dataTable = QMAPP.BoraUpgrade.DAL.WorkOrderDAL.GetMaterialByWorkOrderID(workOrderID, materialType); |
||||
|
|
||||
|
if (dataTable.Rows.Count != 0) |
||||
|
{ |
||||
|
foreach (DataRow currRow in dataTable.Rows) |
||||
|
{ |
||||
|
newMaterial.PID = currRow["PID"].ToString(); |
||||
|
newMaterial.MATERIAL_CODE = currRow["MATERIAL_CODE"].ToString(); |
||||
|
newMaterial.MATERIAL_TYPE_CODE = currRow["MATERIAL_TYPE_CODE"].ToString(); |
||||
|
newMaterial.UNIT_CODE = currRow["UNIT_CODE"].ToString(); |
||||
|
newMaterial.MATERIAL_NAME = currRow["MATERIAL_NAME"].ToString(); |
||||
|
newMaterial.MATERIAL_COMP = currRow["MATERIAL_COMP"].ToString(); |
||||
|
newMaterial.REMARK = currRow["REMARK"].ToString(); |
||||
|
newMaterial.CREATEUSER = currRow["CREATEUSER"].ToString(); |
||||
|
newMaterial.CREATEDATE = DateTime.Parse(currRow["CREATEDATE"].ToString()); |
||||
|
newMaterial.UPDATEUSER = currRow["UPDATEUSER"].ToString(); |
||||
|
newMaterial.UPDATEDATE = currRow["UPDATEDATE"].ToString(); |
||||
|
newMaterial.OUTSOURCE = currRow["OUTSOURCE"].ToString(); |
||||
|
newMaterial.STD_QTY = int.Parse(currRow["STD_QTY"].ToString()); |
||||
|
newMaterial.FLGDEL = currRow["FLGDEL"].ToString(); |
||||
|
newMaterial.COLOR = currRow["COLOR"].ToString(); |
||||
|
newMaterial.HBTYPE = currRow["HBTYPE"].ToString(); |
||||
|
newMaterial.PROJECTCODE = currRow["PROJECTCODE"].ToString(); |
||||
|
|
||||
|
if ( !string.IsNullOrWhiteSpace(currRow["WEIGHT"].ToString()) ) |
||||
|
{ |
||||
|
newMaterial.WEIGHT = int.Parse(currRow["WEIGHT"].ToString()); |
||||
|
} |
||||
|
|
||||
|
newMaterial.MATERIAL_SHORT = currRow["MATERIAL_SHORT"].ToString(); |
||||
|
newMaterial.WORKBIN_TYPE = currRow["WORKBIN_TYPE"].ToString(); |
||||
|
newMaterial.CAPACITY = int.Parse(currRow["CAPACITY"].ToString()); |
||||
|
newMaterial.FACTORY_CODE = currRow["FACTORY_CODE"].ToString(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return newMaterial; |
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 查询fis工单
|
||||
|
/// </summary>
|
||||
|
/// <param name="state">0:未处理 1:已打印BZD 2:已器具排序</param>
|
||||
|
/// <returns></returns>
|
||||
|
public static DataTable GetFisOrder(string lineCode,int state,int pQty = 1000) |
||||
|
{ |
||||
|
return WorkOrderDAL.GetFisOrders(lineCode, state, pQty); |
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 修改fis订单的状态
|
||||
|
/// </summary>
|
||||
|
/// <param name="orderNo"></param>
|
||||
|
/// <param name="state"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static bool UpdateFisOrderState(string pOrderNo, string pBzdCode, int state) |
||||
|
{ |
||||
|
return WorkOrderDAL.UpdateFisOrderState(pOrderNo, pBzdCode, state); |
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 终检排序扫描记录的保存 T_AW_FinalSortRecord
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static bool SaveSacnOrderRecord(DataRow dataRow) |
||||
|
{ |
||||
|
return WorkOrderDAL.SaveSacnOrderRecord(dataRow); |
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// A3车型,根据BZD条码获取物料号
|
||||
|
/// </summary>
|
||||
|
/// <param name="bzdCode"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetA3MaterialCodeByBZD(string bzdCode) |
||||
|
{ |
||||
|
return WorkOrderDAL.GetA3MaterialCodeByBZD(bzdCode); |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// MPID码获取物料号
|
||||
|
/// </summary>
|
||||
|
/// <param name="bzdCode"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetA3MaterialCodeByPID(string mpid) |
||||
|
{ |
||||
|
return WorkOrderDAL.GetA3MaterialCodeByPID(mpid); |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// BZD条码是否没有被使用
|
||||
|
/// </summary>
|
||||
|
/// <param name="pBzdCode"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static bool IsNoUsedBzdCode(string pBzdCode) |
||||
|
{ |
||||
|
return WorkOrderDAL.IsNoUsedBzdCode(pBzdCode); |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 宝来仪表板,根据本体码查询总成数据
|
||||
|
/// </summary>
|
||||
|
/// <param name="productCode"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static DataTable GetMainInfo(string productCode) |
||||
|
{ |
||||
|
return WorkOrderDAL.GetMainInfo(productCode); |
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 根据扫描的本体码查找生产产品的总成零件号
|
||||
|
/// 适合倒数第二工位 ,在product表找最新生产记录的物料号. 然后在pbomitem表找到pbomcode. 最后在pbom表找到总成零件号
|
||||
|
/// </summary>
|
||||
|
/// <param name="productCode"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetPMaterialCode(string productCode) |
||||
|
{ |
||||
|
return WorkOrderDAL.GetPMaterialCode(productCode); |
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 校验该本体条码在该工序是否生产完成
|
||||
|
/// </summary>
|
||||
|
/// <param name="productCode"></param>
|
||||
|
/// <param name="lastCellCode"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static bool VerifyLastCellOver(string productCode,string lastCellCode) |
||||
|
{ |
||||
|
return WorkOrderDAL.VerifyLastCellOver(productCode, lastCellCode); |
||||
|
} |
||||
|
public static bool IsBarCodeRepet(string productCode ) |
||||
|
{ |
||||
|
return WorkOrderDAL.IsBarCodeRepet(productCode); |
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 查询计划编号
|
||||
|
/// </summary>
|
||||
|
/// <param name="productCode"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetPlanCode(string productCode) |
||||
|
{ |
||||
|
return WorkOrderDAL.GetPlanCode(productCode); |
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 获取班次信息
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static List<FJC.Entity.Basic.ProduceShift> GetShiftList() |
||||
|
{ |
||||
|
return WorkOrderDAL.GetShiftList(); |
||||
|
} |
||||
|
public static string GetBoraBZDCode(string productCode, string materialCode) |
||||
|
{ |
||||
|
return WorkOrderDAL.GetBoraBZDCode(productCode, materialCode); |
||||
|
} |
||||
|
public static string GetA3ProductCodeByBzd(string bzdCode) |
||||
|
{ |
||||
|
return WorkOrderDAL.GetA3ProductCodeByBzd(bzdCode); |
||||
|
} |
||||
|
|
||||
|
public static string GetA3ProductCreateByBzd(string bzdCode) |
||||
|
{ |
||||
|
return WorkOrderDAL.GetA3ProductCreateByBzd(bzdCode); |
||||
|
} |
||||
|
public static string GetA3MpidCodeByBzd(string bzdCode) |
||||
|
{ |
||||
|
return WorkOrderDAL.GetA3MpidCodeByBzd(bzdCode); |
||||
|
} |
||||
|
public static void SaveA3MainRecord( string[] basicData, string userID, string materialCode, string bzdCode, string productionCode,string lineCode) |
||||
|
{ |
||||
|
WorkOrderDAL.SaveA3MainRecord(basicData, bzdCode, productionCode, userID, materialCode, lineCode); |
||||
|
} |
||||
|
public static DataTable GetStoreData(int count = 100) |
||||
|
{ |
||||
|
return WorkOrderDAL.GetStoreData(count); |
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 计划挂起
|
||||
|
/// </summary>
|
||||
|
public static void UpBills(List<DataRow> upRows) |
||||
|
{ |
||||
|
|
||||
|
List<DataRow> rows = upRows.Where(p => p.Field<int>("SendState") != 0).ToList(); |
||||
|
if(rows.Count >0) |
||||
|
{ |
||||
|
List<string> list = rows.Select(p => p.Field<string>("FisOrderNo")).ToList(); |
||||
|
throw new Exception("挂起失败,因为编号为[" + string.Join(";", list) + "]的订单正在生产或发运状态中,不满足要求"); |
||||
|
} |
||||
|
foreach(DataRow upRow in upRows) |
||||
|
{ |
||||
|
WorkOrderDAL.UpdateFisSetState(upRow); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 查询每天早8:30到第二天8:30的产量
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetDayYield() |
||||
|
{ |
||||
|
return WorkOrderDAL.GetDayYield(); |
||||
|
} |
||||
|
public static string GetA3DayYield() |
||||
|
{ |
||||
|
return WorkOrderDAL.GetA3DayYield(); |
||||
|
} |
||||
|
public static string GetBoraHDayYield() |
||||
|
{ |
||||
|
return WorkOrderDAL.GetBoraHDayYield(); |
||||
|
} |
||||
|
public static string GetBoraLDayYield() |
||||
|
{ |
||||
|
return WorkOrderDAL.GetBoraLDayYield(); |
||||
|
} |
||||
|
public static void UpBillsDispose(List<DataRow> upRows) |
||||
|
{ |
||||
|
|
||||
|
List<DataRow> rows = upRows.Where(p => p.Field<int>("SendState") != 9).ToList(); |
||||
|
if (rows.Count > 0) |
||||
|
{ |
||||
|
List<string> list = rows.Select(p => p.Field<string>("FisOrderNo")).ToList(); |
||||
|
throw new Exception("取消挂起失败,因为编号为[" + string.Join(";", list) + "]的订单不属于挂起状态!"); |
||||
|
} |
||||
|
//foreach (DataRow upRow in upRows)
|
||||
|
//{
|
||||
|
// WorkOrderDAL.UpdateFisSetStateDispose(upRow);
|
||||
|
//}
|
||||
|
WorkOrderDAL.UpdateFisSetStateDisposes(upRows); |
||||
|
} |
||||
|
|
||||
|
public static void SaveStartIndex(int startIndex) |
||||
|
{ |
||||
|
WorkOrderDAL.SaveStartIndex(startIndex); |
||||
|
} |
||||
|
public static int GetStartIndex() |
||||
|
{ |
||||
|
return WorkOrderDAL.GetStartIndex(); |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,36 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
//Ref:
|
||||
|
using System.Configuration; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.Common |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 配置信息类
|
||||
|
/// CreateTime:2018.10.30
|
||||
|
/// Author :陈冲
|
||||
|
/// Mail :22367340@qq.com
|
||||
|
/// </summary>
|
||||
|
public class Config |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 主数据库文件
|
||||
|
/// </summary>
|
||||
|
public static string maindbConnectionString = ConfigurationManager.ConnectionStrings["maindb"].ToString(); |
||||
|
//"Data Source=10.123.4.21;Initial Catalog=ADIENT_QD_MES;User Id=sa;Password=adient708!;";// providerName="System.Data.SqlClient"
|
||||
|
//public static string a3dbConnectionString = ConfigurationManager.ConnectionStrings["a3db"]?.ToString();
|
||||
|
public static string a3dbConnectionString = ConfigurationManager.ConnectionStrings["maindb"]?.ToString(); |
||||
|
|
||||
|
public static string bzdConnectionString = ConfigurationManager.ConnectionStrings["maindbBZD"].ToString(); |
||||
|
|
||||
|
//"Data Source=10.123.4.65;Initial Catalog=ADIENT_QD_MES_4;User Id=mes;Password=123u3M12912@2;";//
|
||||
|
|
||||
|
///// <summary>
|
||||
|
///// FIS数据库文件(需要在QMAPP.WinForm的App.Config中配置)
|
||||
|
///// </summary>
|
||||
|
//public static string maindbMBConnectionString = ConfigurationManager.ConnectionStrings["maindbMB"].ToString();
|
||||
|
} |
||||
|
} |
@ -0,0 +1,26 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.Common |
||||
|
{ |
||||
|
public class Enum |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 路由方向
|
||||
|
/// </summary>
|
||||
|
public enum RouteDirection |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 向前
|
||||
|
/// </summary>
|
||||
|
Forward = 0, |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 向后
|
||||
|
/// </summary>
|
||||
|
Backward = 1 |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,36 @@ |
|||||
|
using System.Reflection; |
||||
|
using System.Runtime.CompilerServices; |
||||
|
using System.Runtime.InteropServices; |
||||
|
|
||||
|
// 有关程序集的常规信息通过以下
|
||||
|
// 特性集控制。更改这些特性值可修改
|
||||
|
// 与程序集关联的信息。
|
||||
|
[assembly: AssemblyTitle("QMAPP.BoraUpgrade.Common")] |
||||
|
[assembly: AssemblyDescription("")] |
||||
|
[assembly: AssemblyConfiguration("")] |
||||
|
[assembly: AssemblyCompany("")] |
||||
|
[assembly: AssemblyProduct("QMAPP.BoraUpgrade.Common")] |
||||
|
[assembly: AssemblyCopyright("Copyright © 2020")] |
||||
|
[assembly: AssemblyTrademark("")] |
||||
|
[assembly: AssemblyCulture("")] |
||||
|
|
||||
|
// 将 ComVisible 设置为 false 使此程序集中的类型
|
||||
|
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
|
||||
|
// 则将该类型上的 ComVisible 特性设置为 true。
|
||||
|
[assembly: ComVisible(false)] |
||||
|
|
||||
|
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
|
[assembly: Guid("f9eea6dc-197f-41ef-8b8e-fd197af81bd1")] |
||||
|
|
||||
|
// 程序集的版本信息由下面四个值组成:
|
||||
|
//
|
||||
|
// 主版本
|
||||
|
// 次版本
|
||||
|
// 内部版本号
|
||||
|
// 修订号
|
||||
|
//
|
||||
|
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
|
||||
|
// 方法是按如下所示使用“*”:
|
||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||
|
[assembly: AssemblyVersion("1.0.0.0")] |
||||
|
[assembly: AssemblyFileVersion("1.0.0.0")] |
@ -0,0 +1,57 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||
|
<PropertyGroup> |
||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
||||
|
<ProductVersion>8.0.30703</ProductVersion> |
||||
|
<SchemaVersion>2.0</SchemaVersion> |
||||
|
<ProjectGuid>{2DEB0026-EF98-4E33-A132-2F46B5E646FE}</ProjectGuid> |
||||
|
<OutputType>Library</OutputType> |
||||
|
<AppDesignerFolder>Properties</AppDesignerFolder> |
||||
|
<RootNamespace>QMAPP.BoraUpgrade.Common</RootNamespace> |
||||
|
<AssemblyName>QMAPP.BoraUpgrade.Common</AssemblyName> |
||||
|
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> |
||||
|
<FileAlignment>512</FileAlignment> |
||||
|
</PropertyGroup> |
||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
||||
|
<DebugSymbols>true</DebugSymbols> |
||||
|
<DebugType>full</DebugType> |
||||
|
<Optimize>false</Optimize> |
||||
|
<OutputPath>bin\Debug\</OutputPath> |
||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants> |
||||
|
<ErrorReport>prompt</ErrorReport> |
||||
|
<WarningLevel>4</WarningLevel> |
||||
|
</PropertyGroup> |
||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
||||
|
<DebugType>pdbonly</DebugType> |
||||
|
<Optimize>true</Optimize> |
||||
|
<OutputPath>bin\Release\</OutputPath> |
||||
|
<DefineConstants>TRACE</DefineConstants> |
||||
|
<ErrorReport>prompt</ErrorReport> |
||||
|
<WarningLevel>4</WarningLevel> |
||||
|
</PropertyGroup> |
||||
|
<ItemGroup> |
||||
|
<Reference Include="System" /> |
||||
|
<Reference Include="System.configuration" /> |
||||
|
<Reference Include="System.Core" /> |
||||
|
<Reference Include="System.Xml.Linq" /> |
||||
|
<Reference Include="System.Data.DataSetExtensions" /> |
||||
|
<Reference Include="Microsoft.CSharp" /> |
||||
|
<Reference Include="System.Data" /> |
||||
|
<Reference Include="System.Xml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<Compile Include="Config.cs" /> |
||||
|
<Compile Include="Enum.cs" /> |
||||
|
<Compile Include="Properties\AssemblyInfo.cs" /> |
||||
|
<Compile Include="SqlHelper.cs" /> |
||||
|
</ItemGroup> |
||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> |
||||
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. |
||||
|
Other similar extension points exist, see Microsoft.Common.targets. |
||||
|
<Target Name="BeforeBuild"> |
||||
|
</Target> |
||||
|
<Target Name="AfterBuild"> |
||||
|
</Target> |
||||
|
--> |
||||
|
</Project> |
File diff suppressed because it is too large
@ -0,0 +1,77 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
//Ref:
|
||||
|
using System.Data; |
||||
|
|
||||
|
using QMAPP.BoraUpgrade.Common; |
||||
|
using QMAPP.BoraUpgrade.Entity; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.DAL |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 宝来升级路由数据层
|
||||
|
/// </summary>
|
||||
|
public class BoraUpgradeRouteDAL |
||||
|
{ |
||||
|
#region 根据ProductCode提取产品实例
|
||||
|
/// <summary>
|
||||
|
/// 获取全部宝来升级路由列表
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static DataTable GetBoraUpgradeRouteList() |
||||
|
{ |
||||
|
DataTable returnVal = new DataTable(); |
||||
|
|
||||
|
string sqlScript = |
||||
|
@"
|
||||
|
Select |
||||
|
* |
||||
|
From [dbo].[T_QD_BoraUpgradeRoute] |
||||
|
Where IsDeleted = 0 |
||||
|
";
|
||||
|
|
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset( |
||||
|
Config.maindbConnectionString, CommandType.Text, sqlScript ); |
||||
|
|
||||
|
if ( dataSet.Tables.Count > 0 ) |
||||
|
{ |
||||
|
returnVal = dataSet.Tables[0]; |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 根据工位编码获取宝来升级路由实例
|
||||
|
/// </summary>
|
||||
|
/// <param name="WorkCell_Code">工位编码</param>
|
||||
|
/// <returns></returns>
|
||||
|
public static DataTable GetBoraUpgradeRouteByWorkCell(string WorkCell_Code) |
||||
|
{ |
||||
|
DataTable returnVal = new DataTable(); |
||||
|
|
||||
|
string sqlScript = |
||||
|
@"
|
||||
|
Select |
||||
|
Top 1 * |
||||
|
From [dbo].[T_QD_BoraUpgradeRoute] |
||||
|
Where IsDeleted = 0 |
||||
|
And WorkCell_Code = '{0}' |
||||
|
";
|
||||
|
|
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset( |
||||
|
Config.maindbConnectionString, CommandType.Text, string.Format(sqlScript,WorkCell_Code) ); |
||||
|
|
||||
|
if (dataSet.Tables.Count > 0) |
||||
|
{ |
||||
|
returnVal = dataSet.Tables[0]; |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
#endregion
|
||||
|
} |
||||
|
} |
@ -0,0 +1,57 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
//Ref:
|
||||
|
using System.Data; |
||||
|
|
||||
|
using QMAPP.BoraUpgrade.Common; |
||||
|
|
||||
|
using QMAPP.BoraUpgrade.Entity; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.DAL |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 注塑条码打码-数据访问类
|
||||
|
/// CreateTime:2019.10.18
|
||||
|
/// Author :陈冲
|
||||
|
/// Mail :22367340@qq.com
|
||||
|
/// </summary>
|
||||
|
public class PrintCodeRouteDataAccess |
||||
|
{ |
||||
|
#region 获取全部打码规则
|
||||
|
/// <summary>
|
||||
|
/// 获取全部打码规则
|
||||
|
/// </summary>
|
||||
|
/// <param name="productCode">产品编号</param>
|
||||
|
/// <returns></returns>
|
||||
|
public static DataTable GetPrintCodeRouteAllList() |
||||
|
{ |
||||
|
DataTable returnVal = new DataTable(); |
||||
|
|
||||
|
string sqlScript = @"Select * From [T_QD_PrintCodeRoute]"; |
||||
|
|
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset(Config.maindbConnectionString, CommandType.Text,sqlScript); |
||||
|
|
||||
|
if ( dataSet.Tables.Count > 0 ) |
||||
|
{ |
||||
|
returnVal = dataSet.Tables[0]; |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
|
||||
|
public static DataTable GetExsitProductCodeQty(string productCode,string cellCode) |
||||
|
{ |
||||
|
string sql = $"select * from T_AW_Product where ProductCode='{productCode}' and WorkCell_Code='{cellCode}'"; |
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset(Config.maindbConnectionString, CommandType.Text, sql); |
||||
|
|
||||
|
DataTable dataTable = dataSet.Tables[0]; |
||||
|
|
||||
|
return dataTable; |
||||
|
} |
||||
|
|
||||
|
#endregion
|
||||
|
} |
||||
|
} |
@ -0,0 +1,304 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
//Ref:
|
||||
|
using System.Data; |
||||
|
|
||||
|
|
||||
|
using QMAPP.BoraUpgrade.Common; |
||||
|
|
||||
|
using QMAPP.BoraUpgrade.Entity; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.DAL |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 门板种子数据-数据访问类
|
||||
|
/// CreateTime:2018.10.31
|
||||
|
/// Author :陈冲
|
||||
|
/// Mail :22367340@qq.com
|
||||
|
/// </summary>
|
||||
|
public class ProductDataAccess |
||||
|
{ |
||||
|
#region 新增产品信息
|
||||
|
/// <summary>
|
||||
|
/// 新增产品信息
|
||||
|
/// </summary>
|
||||
|
/// <param name="eProduct">产品信息实例</param>
|
||||
|
/// <returns>成功 True 否则 False</returns>
|
||||
|
public static bool Insert(T_AW_PRODUCT eProduct) |
||||
|
{ |
||||
|
bool returnVal = false; |
||||
|
|
||||
|
string sqlScriptTemp = |
||||
|
@"
|
||||
|
Insert Into T_AW_Product |
||||
|
(PID,ProductType,ProductCode,ProductSource,MachineCodde,Material_Code,[Status],IsParent,CurrentProcess,PRODUCELINE,PRODUCESHIFTNAME,PRODUCESHIFTTCODE, |
||||
|
OutFlag,UsingState,Capacity,UsingCount,CreateUser,UpdateUser,WorkCell_Code,WorkLoc_Code,WorkCenter_Code, |
||||
|
Team_code,EndofLine,MATERIAL_TYPE,CreateDate,UpdateDate,PLAN_NO) |
||||
|
Values |
||||
|
( |
||||
|
'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}', |
||||
|
'{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}', |
||||
|
'{20}','{21}','{22}','{23}',getdate(),getdate(),'{24}' |
||||
|
)";
|
||||
|
|
||||
|
|
||||
|
string sqlScript = |
||||
|
string.Format(sqlScriptTemp, |
||||
|
eProduct.PID, eProduct.PRODUCTTYPE, eProduct.PRODUCTCODE, eProduct.PRODUCTSOURCE, |
||||
|
eProduct.MACHINECODDE, eProduct.MATERIAL_CODE, eProduct.STATUS, eProduct.ISPARENT, eProduct.CURRENTPROCESS, |
||||
|
eProduct.PRODUCELINE, eProduct.PRODUCESHIFTNAME, eProduct.PRODUCESHIFTTCODE, eProduct.OUTFLAG, |
||||
|
eProduct.USINGSTATE, eProduct.CAPACITY, eProduct.USINGCOUNT, eProduct.CREATEUSER, eProduct.UPDATEUSER, |
||||
|
eProduct.WORKCELL_CODE, eProduct.WORKLOC_CODE, eProduct.WORKCENTER_CODE, eProduct.TEAM_CODE, |
||||
|
eProduct.ENDOFLINE, eProduct.MATERIAL_TYPE, eProduct.PLAN_NO |
||||
|
); |
||||
|
|
||||
|
try |
||||
|
{ |
||||
|
//执行SQL
|
||||
|
int count = SqlHelper.ExecuteNonQuery(Config.maindbConnectionString, CommandType.Text, sqlScript); |
||||
|
|
||||
|
if (count > 0) |
||||
|
{ |
||||
|
returnVal = true; |
||||
|
} |
||||
|
} |
||||
|
catch (Exception) |
||||
|
{ |
||||
|
//后续加入日志
|
||||
|
throw; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
#endregion
|
||||
|
|
||||
|
#region wrx
|
||||
|
/// <summary>
|
||||
|
/// 是否铣削过
|
||||
|
/// </summary>
|
||||
|
/// <param name="productCode"></param>
|
||||
|
/// <returns>1:已铣削 0:未铣削</returns>
|
||||
|
public static int GetIsMilling(string productCode) |
||||
|
{ |
||||
|
string sqlScript = |
||||
|
@"Select Top 1 * From [dbo].[T_AW_MillingRecord] Where BarCode = '{0}' Order By AddTime Desc"; |
||||
|
|
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset(Config.maindbConnectionString, CommandType.Text, string.Format(sqlScript, productCode)); |
||||
|
|
||||
|
if (dataSet.Tables.Count > 0) |
||||
|
{ |
||||
|
if(dataSet.Tables[0].Rows.Count > 0) |
||||
|
return 1; |
||||
|
} |
||||
|
|
||||
|
return 0; |
||||
|
} |
||||
|
#endregion
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
#region 根据ProductCode提取产品实例
|
||||
|
/// <summary>
|
||||
|
/// 根据ProductCode提取产品实例
|
||||
|
/// </summary>
|
||||
|
/// <param name="productCode">产品编号</param>
|
||||
|
/// <returns></returns>
|
||||
|
public static DataTable GetProductByProductCode(string productCode) |
||||
|
{ |
||||
|
DataTable returnVal = new DataTable(); |
||||
|
|
||||
|
string sqlScript = |
||||
|
@"Select Top 1 * From [dbo].[T_AW_PRODUCT] Where USINGSTATE<> 2 and PRODUCTCODE = '{0}' Order By CREATEDATE Desc"; |
||||
|
|
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset(Config.maindbConnectionString, CommandType.Text, string.Format(sqlScript, productCode)); |
||||
|
|
||||
|
if (dataSet.Tables.Count > 0) |
||||
|
{ |
||||
|
returnVal = dataSet.Tables[0]; |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 根据产品条码以及工位查询
|
||||
|
/// </summary>
|
||||
|
/// <param name="productCode"></param>
|
||||
|
/// <param name="locCode"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static DataTable GetProductByLocCode(string productCode, string locCode) |
||||
|
{ |
||||
|
DataTable returnVal = new DataTable(); |
||||
|
|
||||
|
string sqlScript = |
||||
|
@"Select Top 1 * From [dbo].[T_AW_PRODUCT] Where PRODUCTCODE = '{0}' and WORKLOC_CODE='{1}' Order By UPDATEDATE Desc,CREATEDATE Desc "; |
||||
|
|
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset(Config.maindbConnectionString, CommandType.Text, string.Format(sqlScript, productCode, locCode)); |
||||
|
|
||||
|
if (dataSet.Tables.Count > 0) |
||||
|
{ |
||||
|
returnVal = dataSet.Tables[0]; |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
|
||||
|
public static DateTime GetServiceDateTime() |
||||
|
{ |
||||
|
StringBuilder sql = new StringBuilder(); |
||||
|
try |
||||
|
{ |
||||
|
string sqlScript = @"select GetDATE() as time "; |
||||
|
|
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset(Config.maindbConnectionString, CommandType.Text, string.Format(sqlScript)); |
||||
|
|
||||
|
if (dataSet.Tables.Count > 0) |
||||
|
{ |
||||
|
string datetimestr = dataSet.Tables[0].Rows[0]["time"].ToString() ; |
||||
|
return DateTime.Parse(datetimestr); |
||||
|
} |
||||
|
|
||||
|
return DateTime.Now; |
||||
|
} |
||||
|
catch (Exception ex) |
||||
|
{ |
||||
|
throw ex; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static DataTable GetBora3MCodes(string pMaterialCode) |
||||
|
{ |
||||
|
DataTable table = null; |
||||
|
List<string> list = new List<string>(); |
||||
|
string sqlScript = $" select * from T_BD_Bora3Materials where Bora3MCode ='{pMaterialCode}'"; |
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset(Config.maindbConnectionString, CommandType.Text, sqlScript); |
||||
|
if (dataSet.Tables.Count > 0) |
||||
|
{ |
||||
|
table = dataSet.Tables[0]; |
||||
|
//foreach (DataRow dataRow in table.Rows)
|
||||
|
//{
|
||||
|
// string pbom = dataRow["Bora3MCode"].ToString();
|
||||
|
// if (!list.Contains(pbom) && !string.IsNullOrEmpty(pbom))
|
||||
|
// {
|
||||
|
// list.Add(pbom);
|
||||
|
// }
|
||||
|
//}
|
||||
|
} |
||||
|
return table; |
||||
|
} |
||||
|
public static bool UpdateProductMaterialCode(string productCode, string mCode, string bora3MCode) |
||||
|
{ |
||||
|
bool returnVal = false; |
||||
|
|
||||
|
string sqlScriptTemp = @"Update T_AW_Product Set MATERIAL_CODE = '{0}' Where PRODUCTCODE = '{1}' "; |
||||
|
|
||||
|
|
||||
|
string sqlScript = |
||||
|
string.Format(sqlScriptTemp, mCode, productCode); |
||||
|
|
||||
|
try |
||||
|
{ |
||||
|
//执行SQL
|
||||
|
int count = SqlHelper.ExecuteNonQuery(Config.maindbConnectionString, CommandType.Text, sqlScript); |
||||
|
|
||||
|
if (count > 0) |
||||
|
{ |
||||
|
returnVal = true; |
||||
|
} |
||||
|
} |
||||
|
catch (Exception) |
||||
|
{ |
||||
|
//后续加入日志
|
||||
|
throw; |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
#endregion
|
||||
|
|
||||
|
#region 修改产品信息
|
||||
|
/// <summary>
|
||||
|
/// 修改产品信息
|
||||
|
/// </summary>
|
||||
|
/// <param name="eProduct">产品信息实例</param>
|
||||
|
/// <returns>成功 True 否则 False</returns>
|
||||
|
public static bool Update(T_AW_PRODUCT eProduct) |
||||
|
{ |
||||
|
bool returnVal = false; |
||||
|
|
||||
|
string sqlScriptTemp = |
||||
|
@"
|
||||
|
Update T_AW_Product Set PLAN_NO = '{0}' Where PID = '{1}' |
||||
|
";
|
||||
|
|
||||
|
|
||||
|
string sqlScript = |
||||
|
string.Format(sqlScriptTemp,eProduct.PLAN_NO,eProduct.PID |
||||
|
); |
||||
|
|
||||
|
try |
||||
|
{ |
||||
|
//执行SQL
|
||||
|
int count = SqlHelper.ExecuteNonQuery(Config.maindbConnectionString, CommandType.Text, sqlScript); |
||||
|
|
||||
|
if (count > 0) |
||||
|
{ |
||||
|
returnVal = true; |
||||
|
} |
||||
|
} |
||||
|
catch (Exception) |
||||
|
{ |
||||
|
//后续加入日志
|
||||
|
throw; |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
#endregion
|
||||
|
|
||||
|
#region 修改产品信息
|
||||
|
/// <summary>
|
||||
|
/// 修改产品信息
|
||||
|
/// </summary>
|
||||
|
/// <param name="eProduct">产品信息实例</param>
|
||||
|
/// <returns>成功 True 否则 False</returns>
|
||||
|
public static bool Modify(T_AW_PRODUCT eProduct) |
||||
|
{ |
||||
|
bool returnVal = false; |
||||
|
|
||||
|
string sqlScriptTemp = |
||||
|
@"
|
||||
|
Update T_AW_Product Set WORKCELL_CODE = '{0}',WORKLOC_CODE = '{1}',WORKCENTER_CODE='{2}',MATERIAL_TYPE='{3}' Where PID = '{4}' |
||||
|
";
|
||||
|
|
||||
|
|
||||
|
string sqlScript = |
||||
|
string.Format(sqlScriptTemp, eProduct.WORKCELL_CODE,eProduct.WORKLOC_CODE,eProduct.WORKCENTER_CODE, eProduct.MATERIAL_TYPE,eProduct.PID |
||||
|
); |
||||
|
|
||||
|
try |
||||
|
{ |
||||
|
//执行SQL
|
||||
|
int count = SqlHelper.ExecuteNonQuery(Config.maindbConnectionString, CommandType.Text, sqlScript); |
||||
|
|
||||
|
if (count > 0) |
||||
|
{ |
||||
|
returnVal = true; |
||||
|
} |
||||
|
} |
||||
|
catch (Exception) |
||||
|
{ |
||||
|
//后续加入日志
|
||||
|
throw; |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
#endregion
|
||||
|
} |
||||
|
} |
@ -0,0 +1,46 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
//Ref:
|
||||
|
using System.Data; |
||||
|
|
||||
|
using QMAPP.BoraUpgrade.Common; |
||||
|
using QMAPP.BoraUpgrade.Entity; |
||||
|
|
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.DAL |
||||
|
{ |
||||
|
public class ProductMaxCodeDAL |
||||
|
{ |
||||
|
#region 根据工单ID提取物料列表
|
||||
|
/// <summary>
|
||||
|
/// 根据工单ID提取物料列表
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static int GetProductMaxCode(string MATERIAL_TYPE_CODE, string GenerateDate, string ProductType) |
||||
|
{ |
||||
|
int returnVal = 1; |
||||
|
|
||||
|
string sqlScript = |
||||
|
@"
|
||||
|
SELECT ISNULL(MAX(RIGHT(PRODUCTCODE,6)),0) |
||||
|
FROM T_AW_PRODUCT WHERE MATERIAL_TYPE='{0}' |
||||
|
AND DATEDIFF(day,CREATEDATE,'{1}')=0 |
||||
|
AND PRODUCTCODE LIKE '{2}%'; |
||||
|
";
|
||||
|
|
||||
|
sqlScript = string.Format(sqlScript, MATERIAL_TYPE_CODE,GenerateDate, ProductType); |
||||
|
|
||||
|
string result = |
||||
|
SqlHelper.ExecuteScalar(Config.maindbConnectionString, CommandType.Text, sqlScript).ToString(); |
||||
|
|
||||
|
|
||||
|
int.TryParse(result, out returnVal); |
||||
|
|
||||
|
return returnVal+1; |
||||
|
} |
||||
|
#endregion
|
||||
|
} |
||||
|
} |
@ -0,0 +1,36 @@ |
|||||
|
using System.Reflection; |
||||
|
using System.Runtime.CompilerServices; |
||||
|
using System.Runtime.InteropServices; |
||||
|
|
||||
|
// 有关程序集的常规信息通过以下
|
||||
|
// 特性集控制。更改这些特性值可修改
|
||||
|
// 与程序集关联的信息。
|
||||
|
[assembly: AssemblyTitle("QMAPP.BoraUpgrade.DAL")] |
||||
|
[assembly: AssemblyDescription("")] |
||||
|
[assembly: AssemblyConfiguration("")] |
||||
|
[assembly: AssemblyCompany("")] |
||||
|
[assembly: AssemblyProduct("QMAPP.BoraUpgrade.DAL")] |
||||
|
[assembly: AssemblyCopyright("Copyright © 2020")] |
||||
|
[assembly: AssemblyTrademark("")] |
||||
|
[assembly: AssemblyCulture("")] |
||||
|
|
||||
|
// 将 ComVisible 设置为 false 使此程序集中的类型
|
||||
|
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
|
||||
|
// 则将该类型上的 ComVisible 特性设置为 true。
|
||||
|
[assembly: ComVisible(false)] |
||||
|
|
||||
|
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
|
[assembly: Guid("9cffeca1-5f19-47f8-8e26-bf8c0363801c")] |
||||
|
|
||||
|
// 程序集的版本信息由下面四个值组成:
|
||||
|
//
|
||||
|
// 主版本
|
||||
|
// 次版本
|
||||
|
// 内部版本号
|
||||
|
// 修订号
|
||||
|
//
|
||||
|
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
|
||||
|
// 方法是按如下所示使用“*”:
|
||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||
|
[assembly: AssemblyVersion("1.0.0.0")] |
||||
|
[assembly: AssemblyFileVersion("1.0.0.0")] |
@ -0,0 +1,78 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||
|
<PropertyGroup> |
||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
||||
|
<ProductVersion>8.0.30703</ProductVersion> |
||||
|
<SchemaVersion>2.0</SchemaVersion> |
||||
|
<ProjectGuid>{10C2F3D0-4ACB-4D41-B7CC-168A55E099D6}</ProjectGuid> |
||||
|
<OutputType>Library</OutputType> |
||||
|
<AppDesignerFolder>Properties</AppDesignerFolder> |
||||
|
<RootNamespace>QMAPP.BoraUpgrade.DAL</RootNamespace> |
||||
|
<AssemblyName>QMAPP.BoraUpgrade.DAL</AssemblyName> |
||||
|
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> |
||||
|
<FileAlignment>512</FileAlignment> |
||||
|
</PropertyGroup> |
||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
||||
|
<DebugSymbols>true</DebugSymbols> |
||||
|
<DebugType>full</DebugType> |
||||
|
<Optimize>false</Optimize> |
||||
|
<OutputPath>bin\Debug\</OutputPath> |
||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants> |
||||
|
<ErrorReport>prompt</ErrorReport> |
||||
|
<WarningLevel>4</WarningLevel> |
||||
|
</PropertyGroup> |
||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
||||
|
<DebugType>pdbonly</DebugType> |
||||
|
<Optimize>true</Optimize> |
||||
|
<OutputPath>bin\Release\</OutputPath> |
||||
|
<DefineConstants>TRACE</DefineConstants> |
||||
|
<ErrorReport>prompt</ErrorReport> |
||||
|
<WarningLevel>4</WarningLevel> |
||||
|
</PropertyGroup> |
||||
|
<ItemGroup> |
||||
|
<Reference Include="System" /> |
||||
|
<Reference Include="System.Core" /> |
||||
|
<Reference Include="System.Xml.Linq" /> |
||||
|
<Reference Include="System.Data.DataSetExtensions" /> |
||||
|
<Reference Include="Microsoft.CSharp" /> |
||||
|
<Reference Include="System.Data" /> |
||||
|
<Reference Include="System.Xml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<Compile Include="BoraUpgradeRouteDAL.cs" /> |
||||
|
<Compile Include="PrintCodeRouteDataAccess.cs" /> |
||||
|
<Compile Include="ProductDataAccess.cs" /> |
||||
|
<Compile Include="ProductMaxCodeDAL.cs" /> |
||||
|
<Compile Include="Properties\AssemblyInfo.cs" /> |
||||
|
<Compile Include="VirtualMaterialDAL.cs" /> |
||||
|
<Compile Include="WorkCellDAL.cs" /> |
||||
|
<Compile Include="WorkOrderDAL.cs" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<ProjectReference Include="..\APPQ5\QMAPP.FJC.Entity\QMAPP.FJC.Entity.csproj"> |
||||
|
<Project>{17123cdd-0ba7-496f-8e4e-fcbabe0463ca}</Project> |
||||
|
<Name>QMAPP.FJC.Entity</Name> |
||||
|
</ProjectReference> |
||||
|
<ProjectReference Include="..\APP\QMAPP.Entity\QMAPP.Entity.csproj"> |
||||
|
<Project>{604fb24f-7706-497c-bec7-27d7b6b5a82c}</Project> |
||||
|
<Name>QMAPP.Entity</Name> |
||||
|
</ProjectReference> |
||||
|
<ProjectReference Include="..\QMAPP.BoraUpgrade.Common\QMAPP.BoraUpgrade.Common.csproj"> |
||||
|
<Project>{2DEB0026-EF98-4E33-A132-2F46B5E646FE}</Project> |
||||
|
<Name>QMAPP.BoraUpgrade.Common</Name> |
||||
|
</ProjectReference> |
||||
|
<ProjectReference Include="..\QMAPP.BoraUpgrade.Entity\QMAPP.BoraUpgrade.Entity.csproj"> |
||||
|
<Project>{0C8B7A06-ED56-4198-9386-B8EA1D176571}</Project> |
||||
|
<Name>QMAPP.BoraUpgrade.Entity</Name> |
||||
|
</ProjectReference> |
||||
|
</ItemGroup> |
||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> |
||||
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. |
||||
|
Other similar extension points exist, see Microsoft.Common.targets. |
||||
|
<Target Name="BeforeBuild"> |
||||
|
</Target> |
||||
|
<Target Name="AfterBuild"> |
||||
|
</Target> |
||||
|
--> |
||||
|
</Project> |
@ -0,0 +1,43 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
//Ref:
|
||||
|
using System.Data; |
||||
|
|
||||
|
using QMAPP.BoraUpgrade.Common; |
||||
|
using QMAPP.BoraUpgrade.Entity; |
||||
|
|
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.DAL |
||||
|
{ |
||||
|
public class VirtualMaterialDAL |
||||
|
{ |
||||
|
#region 根据工单ID提取物料列表
|
||||
|
/// <summary>
|
||||
|
/// 根据工单ID提取物料列表
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static DataTable GetVirtualMaterialByWorkCellCode(string workCellCode) |
||||
|
{ |
||||
|
DataTable returnVal = new DataTable(); |
||||
|
|
||||
|
string sqlScript = |
||||
|
@"
|
||||
|
Select * From T_QD_VirtualMaterial Where WorkCellCode = '{0}' |
||||
|
";
|
||||
|
|
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset( |
||||
|
Config.maindbConnectionString, CommandType.Text, string.Format(sqlScript, workCellCode)); |
||||
|
|
||||
|
if (dataSet.Tables.Count > 0) |
||||
|
{ |
||||
|
returnVal = dataSet.Tables[0]; |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
#endregion
|
||||
|
} |
||||
|
} |
@ -0,0 +1,54 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
|
||||
|
//Ref:
|
||||
|
using System.Data; |
||||
|
|
||||
|
using QMAPP.BoraUpgrade.Common; |
||||
|
using QMAPP.BoraUpgrade.Entity; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.DAL |
||||
|
{ |
||||
|
public class WorkCellDAL |
||||
|
{ |
||||
|
#region 根据当前工位码提取前序工位处理码
|
||||
|
/// <summary>
|
||||
|
/// 根据当前工位码提取前序工位处理码
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetPreWorkCellProccessCode(string currWorkCellCode, int _Count, int OutTime, string metairal_type) |
||||
|
{ |
||||
|
string returnVal = string.Empty; |
||||
|
|
||||
|
string sqlScript = |
||||
|
@"
|
||||
|
select top {0} A.PRODUCTCODE as PRODUCTCODE from T_AW_MAINOPERATION A left join (Select PRODUCTCODE From T_AW_Product |
||||
|
Where WORKLOC_CODE = '{2}' And Material_Type = '{3}' And UPDATEDATE > DATEADD(hh,-{1},GETDATE() )) B ON A.PRODUCTCODE = B.PRODUCTCODE |
||||
|
WHERE A.UPDATEDATE > DATEADD(hh,-{1},GETDATE() ) |
||||
|
And A.WorkCell_Code In |
||||
|
( |
||||
|
Select Pre_WorkCell_Code From [dbo].T_MD_PROCESS_ROUTE_WORKCELL_SEQ Where FLGDEL = 0 And WorkCell_Code = '{2}' |
||||
|
) |
||||
|
and B.PRODUCTCODE IS NULL |
||||
|
Order By A.OperatedDate Desc |
||||
|
";
|
||||
|
|
||||
|
string aa = string.Format(sqlScript, _Count, OutTime, currWorkCellCode, metairal_type); |
||||
|
|
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset( |
||||
|
Config.maindbConnectionString, CommandType.Text, string.Format(sqlScript, _Count, OutTime, currWorkCellCode, metairal_type)); |
||||
|
|
||||
|
if (dataSet.Tables[0].Rows.Count > 0) |
||||
|
{ |
||||
|
returnVal = dataSet.Tables[0].Rows[dataSet.Tables[0].Rows.Count - 1][0].ToString(); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
#endregion
|
||||
|
} |
||||
|
} |
@ -0,0 +1,979 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
//Ref:
|
||||
|
using System.Data; |
||||
|
|
||||
|
using QMAPP.BoraUpgrade.Common; |
||||
|
using QMAPP.BoraUpgrade.Entity; |
||||
|
using QMAPP.FJC.Entity.Operation; |
||||
|
using QMAPP.FJC.Entity.Basic; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.DAL |
||||
|
{ |
||||
|
public class WorkOrderDAL |
||||
|
{ |
||||
|
#region 根据工单ID提取物料列表
|
||||
|
/// <summary>
|
||||
|
/// 根据工单ID提取物料列表
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static DataTable GetMaterialByWorkOrderID(string workOrderID, string material_Type) |
||||
|
{ |
||||
|
DataTable returnVal = new DataTable(); |
||||
|
|
||||
|
string sqlScript = |
||||
|
@"
|
||||
|
Select * From T_MD_MATERIAL Where Material_Code In |
||||
|
( |
||||
|
Select Material_Code From T_MD_PBOM_ITEM Where PBOM_CODE IN |
||||
|
( |
||||
|
Select PBOM_Code From dbo.T_PP_WORKORDER Where PID = '{0}' |
||||
|
|
||||
|
) And FLGDEl = 0 |
||||
|
) |
||||
|
And FLGDEl = 0 |
||||
|
And Material_Type_Code Like '{1}%' |
||||
|
";
|
||||
|
|
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset( |
||||
|
Config.maindbConnectionString, CommandType.Text, string.Format(sqlScript, workOrderID, material_Type)); |
||||
|
|
||||
|
if (dataSet.Tables.Count > 0) |
||||
|
{ |
||||
|
returnVal = dataSet.Tables[0]; |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
#endregion
|
||||
|
|
||||
|
static string GetOldFisOrderSql(string WORKCENTER_CODE, int pState, int pQty) |
||||
|
{ |
||||
|
StringBuilder strSql = new StringBuilder(); |
||||
|
//List<DataParameter> parameters = new List<DataParameter>();
|
||||
|
strSql.Append(" SELECT TOP " + pQty); |
||||
|
strSql.Append(" T1.ORDER_NO,T1.BZDCode, T1.PID,T1.VWSEQ,T1.PRODNO,T1.CARSETDESC_CN, T1.CP5A,T1.[LINENO], "); |
||||
|
strSql.Append("T1.KIN,T1.VIN,T1.SCANSTATE, T2.WORKCENTER_CODE "); |
||||
|
strSql.Append(" FROM dbo.V_PP_FISORDER T1 "); |
||||
|
strSql.Append(" INNER JOIN dbo.V_PP_FISORDERSENDDETAIL T2 "); |
||||
|
strSql.Append(" on T1.PID=T2.FIS_PID "); |
||||
|
strSql.Append(" WHERE T1.scanstate=0 "); |
||||
|
//strSql.Append(" and LEFT(T1.VWSEQ,2)='" + pFistype + "' AND T1.flagdel=0 ");
|
||||
|
strSql.Append(" AND T1.flagdel=0 "); |
||||
|
strSql.Append($" AND T1.State={pState} "); |
||||
|
if (!string.IsNullOrEmpty(WORKCENTER_CODE)) |
||||
|
{ |
||||
|
strSql.Append(" and T2.WORKCENTER_CODE='" + WORKCENTER_CODE + "'"); |
||||
|
} |
||||
|
strSql.Append(" ORDER BY T1.CP5A ASC,T1.VWSEQ ASC,T1.PRODNO ASC "); |
||||
|
|
||||
|
return strSql.ToString(); |
||||
|
} |
||||
|
static string GetNewFisOrderSql(string WORKCENTER_CODE, int pState, int pQty) |
||||
|
{ |
||||
|
//string fisSendState = "";
|
||||
|
//if(pState ==10)
|
||||
|
//{
|
||||
|
// fisSendState = "AND T1.SendState=0 ";
|
||||
|
//}
|
||||
|
//else if (pState == 11)
|
||||
|
//{
|
||||
|
// fisSendState = "AND T1.SendState=9 ";
|
||||
|
//}
|
||||
|
//else if (pState == 12)
|
||||
|
//{
|
||||
|
// fisSendState = "AND ( T1.SendState=0 or T1.SendState=9 ) ";
|
||||
|
//}
|
||||
|
//else
|
||||
|
//{
|
||||
|
// fisSendState = $"AND T1.SendState={pState} ";
|
||||
|
//}
|
||||
|
//StringBuilder strSql = new StringBuilder();
|
||||
|
////List<DataParameter> parameters = new List<DataParameter>();
|
||||
|
//strSql.Append(" SELECT TOP " + pQty);
|
||||
|
//strSql.Append(" T1.ORDER_NO,T1.BZDCode, T1.PID,T1.VWSEQ,T1.PRODNO,T1.CARSETDESC_CN, T1.CP5A,T1.[LINENO], T1.[SendState], ");
|
||||
|
//strSql.Append("T1.KIN,T1.VIN,T1.SCANSTATE ,T1.WORKCENTER_CODE ");
|
||||
|
//strSql.Append(" FROM dbo.V_PP_FISORDER_ZDQ T1 ");
|
||||
|
//strSql.Append(" WHERE 1=1 ");
|
||||
|
////strSql.Append(" and LEFT(T1.VWSEQ,2)='" + pFistype + "' AND T1.flagdel=0 ");
|
||||
|
//strSql.Append(" AND T1.flagdel=0 ");
|
||||
|
////strSql.Append($" AND T1.SendState={pState} "); //T1.State是发运状态. T1.SendState是T_AW_FisSendState表的状态 //and T1.CP5A > '202008150108' and T1.order_no is not null
|
||||
|
//strSql.Append(fisSendState);
|
||||
|
//if (!string.IsNullOrEmpty(WORKCENTER_CODE))
|
||||
|
//{
|
||||
|
// strSql.Append(" and T1.WORKCENTER_CODE='" + WORKCENTER_CODE + "'");
|
||||
|
//}
|
||||
|
//strSql.Append(" ORDER BY T1.CP5A ASC,T1.VWSEQ ASC,T1.PRODNO ASC ");
|
||||
|
//strSql.Append(" WHERE T1.scanstate=0 ");
|
||||
|
|
||||
|
StringBuilder strSql = new StringBuilder(); |
||||
|
strSql.Append("SELECT TOP " + pQty); |
||||
|
strSql.Append(" W.[PID] "); |
||||
|
strSql.Append(" ,W.[ORDERPLANID] "); |
||||
|
strSql.Append(" ,W.[ORDERPLAN_NO] "); |
||||
|
strSql.Append(" ,W.[ORDER_TYPE] "); |
||||
|
strSql.Append(" ,W.[SEQ] "); |
||||
|
strSql.Append(" ,W.[MATERIAL_CODE] "); |
||||
|
strSql.Append(" ,M.[MATERIAL_NAME] "); |
||||
|
strSql.Append(" ,W.[PBOM_CODE] "); |
||||
|
strSql.Append(" ,W.[QTY] "); |
||||
|
strSql.Append(" ,W.[COMPLETE_QTY] "); |
||||
|
strSql.Append(" ,W.[PLAN_DATE] "); |
||||
|
strSql.Append(" ,W.[SHIFT_CODE] "); |
||||
|
strSql.Append(" ,W.[WORKCENTER_CODE] "); |
||||
|
strSql.Append(" ,W.[WORKCENTER_NAME] "); |
||||
|
strSql.Append(" ,W.[WORKCELL_CODE] "); |
||||
|
strSql.Append(" ,W.[WORKCELL_NAME] "); |
||||
|
strSql.Append(" ,W.[WORKLOC_CODE] "); |
||||
|
strSql.Append(" ,W.[REMARK] "); |
||||
|
strSql.Append(" ,W.[EQPT_NAME] "); |
||||
|
strSql.Append(" ,W.[EQPT_CODE] "); |
||||
|
strSql.Append(" ,W.[STATE] "); |
||||
|
strSql.Append(" ,W.[MOULD_CODE] "); |
||||
|
strSql.Append(" ,W.[PRI] "); |
||||
|
strSql.Append(" ,W.[UPDATEDATE] "); |
||||
|
strSql.Append(" ,P.[IGNORE_FISBREAK] "); |
||||
|
strSql.Append(" ,P.[FIS_ASMSETCODE] "); |
||||
|
strSql.Append(" FROM [T_PP_WORKORDER] AS W WITH(NOLOCK) "); |
||||
|
strSql.Append(" LEFT JOIN [T_PP_ORDERPLAN] AS P WITH(NOLOCK) "); |
||||
|
strSql.Append(" ON P.[PID]=W.[ORDERPLANID] "); |
||||
|
strSql.Append(" LEFT JOIN [T_MD_MATERIAL] AS M WITH(NOLOCK)"); |
||||
|
strSql.Append(" ON W.[MATERIAL_CODE] = M.[MATERIAL_CODE] "); |
||||
|
strSql.Append(" WHERE W.[WORKCELL_CODE] = '" + WORKCENTER_CODE + "'"); |
||||
|
switch (pState) |
||||
|
{ |
||||
|
case 1: |
||||
|
{ |
||||
|
strSql.Append(" AND W.[STATE]<>4 "); |
||||
|
break; |
||||
|
} |
||||
|
case 2: |
||||
|
{ |
||||
|
strSql.Append(" AND W.[STATE]=4 "); |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
strSql.AppendFormat(" ORDER BY W.[UPDATEDATE],W.[PRI],W.[PLAN_DATE],P.PLAN_SEQ,W.[SEQ],W.[MATERIAL_CODE] "); |
||||
|
|
||||
|
|
||||
|
|
||||
|
return strSql.ToString(); |
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 查询fis订单
|
||||
|
/// </summary>
|
||||
|
/// <param name="state">0:未处理 1:已打印BZD 2:已器具排序</param>
|
||||
|
/// <returns></returns>
|
||||
|
public static DataTable GetFisOrders( string WORKCENTER_CODE, int pState,int pQty) |
||||
|
{ |
||||
|
#region
|
||||
|
|
||||
|
try |
||||
|
{ |
||||
|
DataTable returnDt = null; |
||||
|
string sqlStr = GetNewFisOrderSql(WORKCENTER_CODE, pState, pQty); |
||||
|
//using (IDataSession session = AppDataFactory.CreateMainSession())
|
||||
|
//{
|
||||
|
// returnDt = session.GetTable(strSql.ToString(), parameters.ToArray());
|
||||
|
//}
|
||||
|
DataSet ds = SqlHelper.ExecuteDataset( |
||||
|
Config.maindbConnectionString, CommandType.Text, sqlStr); |
||||
|
returnDt = ds.Tables[0]; |
||||
|
|
||||
|
//逻辑说明
|
||||
|
//FIS要货计划都有大众上线时间CP5A:201611011001表示2016年11月1号10点01分上线
|
||||
|
//FIS要货计划都有一个大众顺序号VWSEQ: 018029或是029382,前两位01和02表示东厂和西厂,没有锦衣卫
|
||||
|
//后面四位表示实际顺序号,所以9999台一轮回,
|
||||
|
//实际出现的情况有可能出现同一个分钟上线的大众顺序号可能有两个
|
||||
|
//如果出现019999和010001,实际的顺序是019999在前,010001在后,即上一个轮回的最后一条和下一个轮回的第一条
|
||||
|
//如果这样前面的查询语句中就会把010001排在019999前面
|
||||
|
//所以要处理这种情况。
|
||||
|
|
||||
|
//实现方式就是获取数据后,放到两个表中,这两个表相同,遍历第一个表,用记录和后一条记录比较,
|
||||
|
//如果大众上线时间相同并且两个顺序号的差值在1000以上,一定是顺序出差,
|
||||
|
//差值1000是个估计值,9999与1差值是9998,我们之前1000
|
||||
|
//修改第二个表中的对应的数据
|
||||
|
//极端情况出现一个大众上线时间对一个三个大众顺序号,
|
||||
|
//这里一并处理
|
||||
|
//if (returnDt.Rows.Count > 1)
|
||||
|
//{
|
||||
|
|
||||
|
// //必须进行第一次循环
|
||||
|
// bool flag = true;
|
||||
|
|
||||
|
// while (flag)
|
||||
|
// {
|
||||
|
// //复制表
|
||||
|
// DataTable dt = returnDt.Copy();
|
||||
|
|
||||
|
// //是否进行了值的交换标记
|
||||
|
// bool isChange = false;
|
||||
|
|
||||
|
// for (int i = 0; i < dt.Rows.Count; i++)
|
||||
|
// {
|
||||
|
|
||||
|
// if (i == dt.Rows.Count - 1)
|
||||
|
// continue;
|
||||
|
|
||||
|
// //获取当前行对象
|
||||
|
// DataRow dr = dt.Rows[i];
|
||||
|
// string cp5aDr = dr["CP5A"].ToString();
|
||||
|
// int seqDr = Convert.ToInt32(dr["VWSEQ"].ToString().Substring(2));
|
||||
|
|
||||
|
// //获取下一行对象
|
||||
|
// DataRow nextDr = dt.Rows[i + 1];
|
||||
|
// string nextCp5a = nextDr["CP5A"].ToString();
|
||||
|
// int nextSeq = Convert.ToInt32(nextDr["VWSEQ"].ToString().Substring(2));
|
||||
|
|
||||
|
// //如果两行记录的大众上线时间不相同
|
||||
|
// //不需要比较
|
||||
|
// if (cp5aDr != nextCp5a)
|
||||
|
// continue;
|
||||
|
|
||||
|
// //如果大众上线时间相同并且前后值大于1000,
|
||||
|
// //我们默认是
|
||||
|
// if (nextSeq - seqDr > 1000)
|
||||
|
// {
|
||||
|
// returnDt.Rows[i]["PID"] = nextDr["PID"].ToString();
|
||||
|
// returnDt.Rows[i]["VWSEQ"] = nextDr["VWSEQ"].ToString();
|
||||
|
// returnDt.Rows[i]["PRODNO"] = nextDr["PRODNO"].ToString();
|
||||
|
// returnDt.Rows[i]["CARSETDESC_CN"] = nextDr["CARSETDESC_CN"].ToString();
|
||||
|
// returnDt.Rows[i]["CP5A"] = nextDr["CP5A"].ToString();
|
||||
|
// returnDt.Rows[i]["LINENO"] = nextDr["LINENO"].ToString();
|
||||
|
// returnDt.Rows[i]["KIN"] = nextDr["KIN"].ToString();
|
||||
|
// returnDt.Rows[i]["VIN"] = nextDr["VIN"].ToString();
|
||||
|
// returnDt.Rows[i]["SCANSTATE"] = nextDr["SCANSTATE"].ToString();
|
||||
|
|
||||
|
// returnDt.Rows[i + 1]["PID"] = dr["PID"].ToString();
|
||||
|
// returnDt.Rows[i + 1]["VWSEQ"] = dr["VWSEQ"].ToString();
|
||||
|
// returnDt.Rows[i + 1]["PRODNO"] = dr["PRODNO"].ToString();
|
||||
|
// returnDt.Rows[i + 1]["CARSETDESC_CN"] = dr["CARSETDESC_CN"].ToString();
|
||||
|
// returnDt.Rows[i + 1]["CP5A"] = dr["CP5A"].ToString();
|
||||
|
// returnDt.Rows[i + 1]["LINENO"] = dr["LINENO"].ToString();
|
||||
|
// returnDt.Rows[i + 1]["KIN"] = dr["KIN"].ToString();
|
||||
|
// returnDt.Rows[i + 1]["VIN"] = dr["VIN"].ToString();
|
||||
|
// returnDt.Rows[i + 1]["SCANSTATE"] = dr["SCANSTATE"].ToString();
|
||||
|
|
||||
|
// //设置值的交换标记值为true
|
||||
|
// isChange = true;
|
||||
|
|
||||
|
// }
|
||||
|
|
||||
|
// }
|
||||
|
|
||||
|
// //将是否 交换标记值付给外层标记值
|
||||
|
// //如果未进行交换,跳出while循环
|
||||
|
// //如果进行了交换就得再次循环,放在一个大众上线时间对应两个以上大众顺序号的情况
|
||||
|
// flag = isChange;
|
||||
|
// }
|
||||
|
//}
|
||||
|
return returnDt; |
||||
|
|
||||
|
} |
||||
|
catch (System.Exception ex) |
||||
|
{ |
||||
|
throw ex; |
||||
|
} |
||||
|
#endregion
|
||||
|
} |
||||
|
|
||||
|
//public static DataTable GetFisOrder(int state)
|
||||
|
//{
|
||||
|
// DataTable returnVal = new DataTable();
|
||||
|
// string sqlScript = $" select * from V_PP_FISORDER where State = {state}";
|
||||
|
// DataSet dataSet = SqlHelper.ExecuteDataset(
|
||||
|
// Config.maindbConnectionString, CommandType.Text, sqlScript);
|
||||
|
// if (dataSet.Tables.Count > 0)
|
||||
|
// {
|
||||
|
// returnVal = dataSet.Tables[0];
|
||||
|
// }
|
||||
|
|
||||
|
// return returnVal;
|
||||
|
//}
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 更改状态
|
||||
|
/// </summary>
|
||||
|
/// <param name="orderNo"></param>
|
||||
|
/// <param name="state"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static bool UpdateFisOrderState(string pOrderNo,string pBzdCode, int state) |
||||
|
{ |
||||
|
string sqlScript = $" select * from T_AW_FisSendState where FisOrderNo = '{pOrderNo}'"; |
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset( |
||||
|
Config.maindbConnectionString, CommandType.Text, sqlScript); |
||||
|
DataTable dataTable = dataSet.Tables[0]; |
||||
|
string saveSql = string.Empty; |
||||
|
if(dataTable.Rows.Count >0) |
||||
|
{ |
||||
|
saveSql = $" update T_AW_FisSendState set State = {state},BZDCode ='{pBzdCode}' where FisOrderNo= '{pOrderNo}'"; |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
saveSql = $" insert into T_AW_FisSendState(FisOrderNo,State,BZDCode) values('{pOrderNo}',{state},'{pBzdCode}')"; |
||||
|
} |
||||
|
|
||||
|
bool returnVal = false; |
||||
|
try |
||||
|
{ |
||||
|
//执行SQL
|
||||
|
int count = SqlHelper.ExecuteNonQuery(Config.maindbConnectionString, CommandType.Text, saveSql); |
||||
|
|
||||
|
if (count > 0) |
||||
|
{ |
||||
|
returnVal = true; |
||||
|
} |
||||
|
} |
||||
|
catch (Exception ex) |
||||
|
{ |
||||
|
//后续加入日志
|
||||
|
throw; |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
} |
||||
|
|
||||
|
public static bool SaveSacnOrderRecord(DataRow dataRow) |
||||
|
{ |
||||
|
string sqlScript = $" insert into T_AW_FinalSortRecord(BZDCode,ProductCode,[Desc],OrderNo,[LINENO]) " + |
||||
|
$" values('{dataRow["BZDCode"].ToString()}','{dataRow["ProductCode"].ToString()}','{dataRow["Desc"].ToString()}','{dataRow["OrderNo"].ToString()}','{dataRow["LINENO"].ToString()}') "; |
||||
|
|
||||
|
bool returnVal = false; |
||||
|
try |
||||
|
{ |
||||
|
//执行SQL
|
||||
|
int count = SqlHelper.ExecuteNonQuery(Config.maindbConnectionString, CommandType.Text, sqlScript); |
||||
|
|
||||
|
if (count > 0) |
||||
|
{ |
||||
|
returnVal = true; |
||||
|
} |
||||
|
} |
||||
|
catch (Exception) |
||||
|
{ |
||||
|
//后续加入日志
|
||||
|
throw; |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
|
||||
|
|
||||
|
} |
||||
|
public static string GetA3MaterialCodeByBZD(string bzdCode) |
||||
|
{ |
||||
|
//productCode = "052 998A4K501H %";
|
||||
|
string pCode = bzdCode.Replace(" ", ""); |
||||
|
string first = pCode.Substring(0, 3); |
||||
|
string companyCode = pCode.Substring(3, 3); |
||||
|
string vt = pCode.Substring(6, 1); |
||||
|
string cc = pCode.Substring(7, 1); |
||||
|
|
||||
|
string sqlScript = $" select * from T_BD_BZDConfig where barcodeFist ='{first}' and Company_code='{companyCode}' and Vehicle_type='{vt}' and configColor='{cc}' "; |
||||
|
//DataSet dataSet = SqlHelper.ExecuteDataset(
|
||||
|
// Config.a3dbConnectionString, CommandType.Text, sqlScript);
|
||||
|
//DataTable dataTable = dataSet.Tables[0];
|
||||
|
|
||||
|
DataTable dataTable = GetDataTable(sqlScript, Config.bzdConnectionString); |
||||
|
if (dataTable.Rows.Count==0) |
||||
|
{ |
||||
|
throw new Exception($"BZD条码{bzdCode}在表T_BD_BZDConfig中没找到物料号"); |
||||
|
} |
||||
|
else if (dataTable.Rows.Count >1) |
||||
|
{ |
||||
|
throw new Exception($"BZD条码{bzdCode}在表T_BD_BZDConfig中配置了多个物料号,目标不明确,请检查配置!"); |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
return dataTable.Rows[0]["MATERIALCODDE"].ToString(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static string GetA3MaterialCodeByPID(string mpid) |
||||
|
{ |
||||
|
//productCode = "052 998A4K501H %";
|
||||
|
//string pCode = bzdCode.Replace(" ", "");
|
||||
|
//string first = pCode.Substring(0, 3);
|
||||
|
//string companyCode = pCode.Substring(3, 3);
|
||||
|
//string vt = pCode.Substring(6, 1);
|
||||
|
//string cc = pCode.Substring(7, 1);
|
||||
|
|
||||
|
string sqlScript = $" select * from T_BD_BZDConfig where pid ='{mpid}' "; |
||||
|
//DataSet dataSet = SqlHelper.ExecuteDataset(
|
||||
|
// Config.a3dbConnectionString, CommandType.Text, sqlScript);
|
||||
|
//DataTable dataTable = dataSet.Tables[0];
|
||||
|
|
||||
|
DataTable dataTable = GetDataTable(sqlScript, Config.bzdConnectionString); |
||||
|
if (dataTable.Rows.Count == 0) |
||||
|
{ |
||||
|
throw new Exception($"mpid条码{mpid}在表T_BD_BZDConfig中没找到物料号"); |
||||
|
} |
||||
|
else if (dataTable.Rows.Count > 1) |
||||
|
{ |
||||
|
throw new Exception($"mpid条码{mpid}在表T_BD_BZDConfig中配置了多个物料号,目标不明确,请检查配置!"); |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
return dataTable.Rows[0]["MATERIALCODDE"].ToString(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static bool IsNoUsedBzdCode(string pBzdCode) |
||||
|
{ |
||||
|
string sqlScript = $" select * from T_AW_FisSendState where BZDCode ='{pBzdCode}' "; |
||||
|
|
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset( |
||||
|
Config.maindbConnectionString, CommandType.Text, sqlScript); |
||||
|
|
||||
|
DataTable dataTable = dataSet.Tables[0]; |
||||
|
if(dataTable.Rows.Count>0) |
||||
|
{ |
||||
|
throw new Exception($"BZD条码{pBzdCode}已被使用,请重试!"); |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
return true; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static DataTable GetMainInfo(string productCode) |
||||
|
{ |
||||
|
string sqlScript = $"select * from T_AW_MAIN where EPIDERMISCODE='{productCode}'"; |
||||
|
|
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset( |
||||
|
Config.maindbConnectionString, CommandType.Text, sqlScript); |
||||
|
|
||||
|
DataTable dataTable = dataSet.Tables[0]; |
||||
|
return dataTable; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 根据产品号查询物料号
|
||||
|
/// 查询product表最新一条记录的物料号,然后联合bom查询总成零件号
|
||||
|
/// </summary>
|
||||
|
/// <param name="productCode"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetPMaterialCode(string productCode) |
||||
|
{ |
||||
|
string sqlScript = $" select Top 1 MATERIAL_CODE FROM [dbo].[T_AW_PRODUCT] where PRODUCTCODE='{productCode}' order by CREATEDATE desc "; |
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset( |
||||
|
Config.maindbConnectionString, CommandType.Text, sqlScript); |
||||
|
DataTable dataTable = dataSet.Tables[0]; |
||||
|
if(dataTable.Rows.Count >0) |
||||
|
{ |
||||
|
string materialCode = dataTable.Rows[0]["MATERIAL_CODE"].ToString(); |
||||
|
|
||||
|
string mainSql = $" select a.MATERIAL_CODE from [T_MD_PBOM] a,[T_MD_PBOM_ITEM] b where a.PBOM_CODE = b.PBOM_CODE and b.MATERIAL_CODE = '{materialCode}'"; |
||||
|
DataSet mainSet = SqlHelper.ExecuteDataset( |
||||
|
Config.maindbConnectionString, CommandType.Text, mainSql); |
||||
|
DataTable mainTable = mainSet.Tables[0]; |
||||
|
if(mainTable.Rows.Count == 0) |
||||
|
{ |
||||
|
throw new Exception($"T_MD_PBOM_ITEM中没有查询到物料号{materialCode}的配置信息"); |
||||
|
} |
||||
|
else if (mainTable.Rows.Count > 1) |
||||
|
{ |
||||
|
throw new Exception($"物料号{materialCode} 在T_MD_PBOM_ITEM表中配置了多条记录,无法确定唯一产品零件号"); |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
return mainTable.Rows[0]["MATERIAL_CODE"].ToString(); |
||||
|
} |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
throw new Exception($"T_AW_PRODUCT表中没有查询到条码{productCode}产生的加工记录信息"); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
public static bool IsBarCodeRepet(string productCode) |
||||
|
{ |
||||
|
string sqlScript = $" select * FROM [dbo].[T_AW_MAIN] where EPIDERMISCODE='{productCode}' "; |
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset( |
||||
|
Config.maindbConnectionString, CommandType.Text, sqlScript); |
||||
|
DataTable mainTable = dataSet.Tables[0]; |
||||
|
if (mainTable.Rows.Count == 0) |
||||
|
{ |
||||
|
return false; |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
//planCode = mainTable.Rows[0]["PLAN_NO"].ToString();
|
||||
|
return true; |
||||
|
} |
||||
|
} |
||||
|
public static bool VerifyLastCellOver(string productCode, string lastCellCode) |
||||
|
{ |
||||
|
string sqlScript = $" select * FROM [dbo].[T_AW_MAINOPERATION] where PRODUCTCODE='{productCode}' AND WORKCELL_CODE='{lastCellCode}' "; |
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset( |
||||
|
Config.maindbConnectionString, CommandType.Text, sqlScript); |
||||
|
DataTable mainTable = dataSet.Tables[0]; |
||||
|
if(mainTable.Rows.Count == 0) |
||||
|
{ |
||||
|
return false; |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
//planCode = mainTable.Rows[0]["PLAN_NO"].ToString();
|
||||
|
return true; |
||||
|
} |
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 根据条码查询计划编号
|
||||
|
/// </summary>
|
||||
|
/// <param name="productCode"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetPlanCode(string productCode) |
||||
|
{ |
||||
|
string sqlScript = $" select top 1 PLAN_NO FROM [dbo].[T_AW_PRODUCT] where PRODUCTCODE='{productCode}' AND PLAN_NO is not null "; |
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset( |
||||
|
Config.maindbConnectionString, CommandType.Text, sqlScript); |
||||
|
DataTable mainTable = dataSet.Tables[0]; |
||||
|
|
||||
|
if (mainTable.Rows.Count == 0) |
||||
|
{ |
||||
|
return null; |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
return mainTable.Rows[0]["PLAN_NO"].ToString(); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 根据条码查询计划编号
|
||||
|
/// </summary>
|
||||
|
/// <param name="productCode"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetBoraBZDCode(string productCode,string materialCode) |
||||
|
{ |
||||
|
string sqlScript = $" SELECT MAINCODE FROM [dbo].[T_AW_MAIN] WHERE EPIDERMISCODE = '{productCode}' AND MATERIAL_CODE = '{materialCode}' "; |
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset( |
||||
|
Config.maindbConnectionString, CommandType.Text, sqlScript); |
||||
|
DataTable mainTable = dataSet.Tables[0]; |
||||
|
|
||||
|
if (mainTable.Rows.Count == 0) |
||||
|
{ |
||||
|
return null; |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
return mainTable.Rows[0]["MAINCODE"].ToString(); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 根据BZD条码,在BZD库里面查询生产本体条码
|
||||
|
/// </summary>
|
||||
|
/// <param name="bzdCode"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetA3ProductCodeByBzd(string bzdCode) |
||||
|
{ |
||||
|
string sqlScript = $"select ProductCode from T_BD_BZDRecorder where BZDCODE='{bzdCode}'"; |
||||
|
//DataSet dataSet = SqlHelper.ExecuteDataset(
|
||||
|
// Config.bzdConnectionString, CommandType.Text, sqlScript);
|
||||
|
//DataTable mainTable = dataSet.Tables[0];
|
||||
|
DataTable mainTable = GetDataTable(sqlScript, Config.bzdConnectionString); |
||||
|
if (mainTable.Rows.Count == 0) |
||||
|
{ |
||||
|
return null; |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
return mainTable.Rows[0]["ProductCode"].ToString(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 根据BZD条码,在BZD库里面查询生产时间
|
||||
|
/// </summary>
|
||||
|
/// <param name="bzdCode"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetA3ProductCreateByBzd(string bzdCode) |
||||
|
{ |
||||
|
string sqlScript = $"select CREATEDATE from T_BD_BZDRecorder where BZDCODE='{bzdCode}'"; |
||||
|
//DataSet dataSet = SqlHelper.ExecuteDataset(
|
||||
|
// Config.bzdConnectionString, CommandType.Text, sqlScript);
|
||||
|
//DataTable mainTable = dataSet.Tables[0];
|
||||
|
DataTable mainTable = GetDataTable(sqlScript, Config.bzdConnectionString); |
||||
|
if (mainTable.Rows.Count == 0) |
||||
|
{ |
||||
|
return null; |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
return mainTable.Rows[0]["CREATEDATE"].ToString(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 根据BZD条码,在BZD库里面查询生产本体条码
|
||||
|
/// </summary>
|
||||
|
/// <param name="bzdCode"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetA3MpidCodeByBzd(string bzdCode) |
||||
|
{ |
||||
|
string sqlScript = $"select MPID from T_BD_BZDRecorder where BZDCODE='{bzdCode}'"; |
||||
|
//DataSet dataSet = SqlHelper.ExecuteDataset(
|
||||
|
// Config.bzdConnectionString, CommandType.Text, sqlScript);
|
||||
|
//DataTable mainTable = dataSet.Tables[0];
|
||||
|
DataTable mainTable = GetDataTable(sqlScript, Config.bzdConnectionString); |
||||
|
if (mainTable.Rows.Count == 0) |
||||
|
{ |
||||
|
return null; |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
return mainTable.Rows[0]["Mpid"].ToString(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private static DataTable GetDataTable(string sql,string connStr) |
||||
|
{ |
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset( |
||||
|
connStr, CommandType.Text, sql); |
||||
|
DataTable mainTable = dataSet.Tables[0]; |
||||
|
return mainTable; |
||||
|
} |
||||
|
|
||||
|
public static List<ProduceShift> GetShiftList() |
||||
|
{ |
||||
|
List<ProduceShift> list = new List<ProduceShift>(); |
||||
|
string sqlScript = "SELECT M.PID ,M.PRODUCESHIFTNAME,M.PRODUCESHIFTTCODE,M.PSSTART,M.PSEND,M.PRODUCELINE,M.MEMO,M.CREATEUSER,M.CREATEDATE,M.UPDATEUSER,M.UPDATEDATE,C.USERNAME AS CREATEUSERNAME,U.USERNAME AS UPDATEUSERNAMEFROM FROM T_BD_PRODUCESHIFT M LEFT JOIN T_QM_USER C ON C.USERID=M.CREATEUSER LEFT JOIN T_QM_USER U ON U.USERID=M.UPDATEUSER "; |
||||
|
DataSet dataSet = SqlHelper.ExecuteDataset( |
||||
|
Config.maindbConnectionString, CommandType.Text, sqlScript); |
||||
|
DataTable mainTable = dataSet.Tables[0]; |
||||
|
foreach(DataRow dataRow in mainTable.Rows) |
||||
|
{ |
||||
|
ProduceShift sf = new ProduceShift(); |
||||
|
sf.PRODUCESHIFTNAME = dataRow["PRODUCESHIFTNAME"].ToString(); |
||||
|
sf.PRODUCESHIFTTCODE = dataRow["PRODUCESHIFTTCODE"].ToString(); |
||||
|
sf.PSSTART = string.IsNullOrEmpty( dataRow["PSSTART"].ToString()) ? DateTime.MinValue : DateTime.Parse(dataRow["PSSTART"].ToString()); |
||||
|
sf.PSEND = string.IsNullOrEmpty(dataRow["PSEND"].ToString()) ? DateTime.MinValue : DateTime.Parse(dataRow["PSEND"].ToString()); |
||||
|
sf.PRODUCELINE = dataRow["PRODUCELINE"].ToString(); |
||||
|
list.Add(sf); |
||||
|
} |
||||
|
return list; |
||||
|
|
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 订单挂起
|
||||
|
/// </summary>
|
||||
|
/// <param name="dataRow"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static bool UpdateFisSetState(DataRow dataRow) |
||||
|
{ |
||||
|
string searchsql = $" select * from T_AW_FisSendState where FisOrderNo='{dataRow["ORDER_NO"]}'"; |
||||
|
DataTable dataTable = SqlHelper.ExecuteDataset( |
||||
|
Config.maindbConnectionString, CommandType.Text, searchsql).Tables[0]; |
||||
|
string insertSql = string.Empty; |
||||
|
if(dataTable.Rows.Count >0) |
||||
|
{ |
||||
|
insertSql = $"Update T_AW_FisSendState set State = 9 where ID ={dataTable.Rows[0]["ID"]}"; |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
insertSql = $"insert into T_AW_FisSendState(FisOrderNo,State,BZDCode,Remark) values ('{dataRow["ORDER_NO"]}',9,'','挂起状态')"; |
||||
|
} |
||||
|
bool returnVal = false; |
||||
|
try |
||||
|
{ |
||||
|
//执行SQL
|
||||
|
int count = SqlHelper.ExecuteNonQuery(Config.maindbConnectionString, CommandType.Text, insertSql); |
||||
|
|
||||
|
if (count > 0) |
||||
|
{ |
||||
|
returnVal = true; |
||||
|
} |
||||
|
} |
||||
|
catch (Exception) |
||||
|
{ |
||||
|
//后续加入日志
|
||||
|
throw; |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public static DataTable GetStoreData(int count=100) |
||||
|
{ |
||||
|
//string sql = $"select top {count} * from T_AW_MAIN where PRODUCELINE='A3IPASSY_STORE' order by CREATEDATE desc";
|
||||
|
string sql = $@"select top {count} a.* ,b.MATERIAL_NAME FROM [T_AW_MAIN] a
|
||||
|
left join T_MD_MATERIAL b on a.MATERIAL_CODE = b.MATERIAL_CODE |
||||
|
where PRODUCELINE = 'A3IPASSY_STORE' order by CREATEDATE desc";
|
||||
|
|
||||
|
DataTable dataTable = GetDataTable(sql, Config.a3dbConnectionString); |
||||
|
return dataTable; |
||||
|
} |
||||
|
|
||||
|
public static void SaveA3MainRecord(string[] basicData, string bzdCode,string productionCode, string userID,string materialCode,string lineCode) |
||||
|
{ |
||||
|
string searchSql = $" select * from T_AW_MAIN where MAINCODE='{bzdCode}'"; |
||||
|
DataTable dataTable = GetDataTable(searchSql,Config.a3dbConnectionString); |
||||
|
if(dataTable.Rows.Count == 0) |
||||
|
{ |
||||
|
DataTable materialInitTable = GetMaterialCodeInit(materialCode); |
||||
|
//string produceLine = "";
|
||||
|
string workCellCode = ""; |
||||
|
string workLocCode = ""; |
||||
|
string workCenterCode = ""; |
||||
|
string materialType = ""; |
||||
|
|
||||
|
if (materialInitTable.Rows.Count>0) |
||||
|
{ |
||||
|
//produceLine = materialInitTable.Rows[0]["WORKCENTER_CODE_INIT"].ToString();
|
||||
|
|
||||
|
workCellCode = materialInitTable.Rows[0]["WORKCELL_CODE"].ToString(); |
||||
|
workLocCode = materialInitTable.Rows[0]["WORKLOC_CODE"].ToString(); |
||||
|
workCenterCode = materialInitTable.Rows[0]["WORKCENTER_CODE"].ToString(); |
||||
|
materialType = materialInitTable.Rows[0]["MATERIAL_TYPE"].ToString(); |
||||
|
} |
||||
|
|
||||
|
string insertSql = $@"insert into T_AW_MAIN(PID,MAINCODE,EPIDERMISCODE,MACHINECODDE,PROCESSSTATE,STATUS,CURRENTPROCESS,COMPLETEFLAG,
|
||||
|
PRODUCELINE,OUTFLAG,COMPLETETIME,CREATEUSER,CREATEDATE,UPDATEUSER,UPDATEDATE,WORKCELL_CODE,WORKLOC_CODE,WORKCENTER_CODE,MATERIAL_TYPE,MATERIAL_CODE) values |
||||
|
( '{Guid.NewGuid()}','{bzdCode}','{productionCode}','{basicData[0]}','1','0','15','1','{lineCode}','0','{DateTime.Now}','{userID}','{DateTime.Now}','{userID}','{DateTime.Now}', |
||||
|
'{workCellCode}','{workLocCode}','{workCenterCode}','{materialType}','{materialCode}')";
|
||||
|
|
||||
|
try |
||||
|
{ |
||||
|
//执行SQL
|
||||
|
int count = SqlHelper.ExecuteNonQuery(Config.a3dbConnectionString, CommandType.Text, insertSql); |
||||
|
|
||||
|
} |
||||
|
catch (Exception) |
||||
|
{ |
||||
|
//后续加入日志
|
||||
|
throw; |
||||
|
} |
||||
|
} |
||||
|
//20210111 DQZhang T_AW_MAIN表已被触发器插入的记录补充字段内容
|
||||
|
else if (dataTable.Rows.Count == 1) |
||||
|
{ |
||||
|
DataTable materialInitTable = GetMaterialCodeInit(materialCode); |
||||
|
//string produceLine = "";
|
||||
|
string workCellCode = ""; |
||||
|
string workLocCode = ""; |
||||
|
string workCenterCode = ""; |
||||
|
string materialType = ""; |
||||
|
|
||||
|
if (materialInitTable.Rows.Count > 0) |
||||
|
{ |
||||
|
//produceLine = materialInitTable.Rows[0]["WORKCENTER_CODE_INIT"].ToString();
|
||||
|
|
||||
|
workCellCode = materialInitTable.Rows[0]["WORKCELL_CODE"].ToString(); |
||||
|
workLocCode = materialInitTable.Rows[0]["WORKLOC_CODE"].ToString(); |
||||
|
workCenterCode = materialInitTable.Rows[0]["WORKCENTER_CODE"].ToString(); |
||||
|
materialType = materialInitTable.Rows[0]["MATERIAL_TYPE"].ToString(); |
||||
|
} |
||||
|
|
||||
|
string insertSql = $@"UPDATE T_AW_MAIN SET MACHINECODDE='{basicData[0]}',PROCESSSTATE='1',STATUS='0',CURRENTPROCESS='15',COMPLETEFLAG='1',
|
||||
|
PRODUCELINE='{lineCode}',OUTFLAG='0',COMPLETETIME='{DateTime.Now}',UPDATEUSER='{userID}',UPDATEDATE='{DateTime.Now}', |
||||
|
WORKCELL_CODE='{workCellCode}',WORKCENTER_CODE='{workCenterCode}',MATERIAL_TYPE='{materialType}' WHERE MAINCODE ='{bzdCode}' ";
|
||||
|
|
||||
|
try |
||||
|
{ |
||||
|
//执行SQL
|
||||
|
int count = SqlHelper.ExecuteNonQuery(Config.a3dbConnectionString, CommandType.Text, insertSql); |
||||
|
|
||||
|
} |
||||
|
catch (Exception) |
||||
|
{ |
||||
|
//后续加入日志
|
||||
|
throw; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
public static DataTable GetMaterialCodeInit(string materialCode) |
||||
|
{ |
||||
|
string sql = $"select b.* FROM T_MD_MATERIAL a,T_BD_MATERIALCODEINIT b where a.MATERIAL_CODE = b.MATERIAL_CODE and a.MATERIAL_TYPE_CODE = b.MATERIAL_TYPE and a.MATERIAL_CODE = '{materialCode}'"; |
||||
|
DataTable dataTable = GetDataTable(sql, Config.a3dbConnectionString); |
||||
|
return dataTable; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 查询每天早8:30到第二天8:30的产量
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetDayYield() |
||||
|
{ |
||||
|
|
||||
|
string sql = $@" declare
|
||||
|
@tt varchar(20) = format(GetDate(), 'HH:mm') |
||||
|
|
||||
|
if @tt > '08:30' |
||||
|
select count(0) as c from T_AW_MAIN where CREATEDATE > format(GetDate(), 'yyyy-MM-dd') + ' 08:30:00.000' |
||||
|
and CREATEDATE < format(dateadd(day, 1, GetDate()), 'yyyy-MM-dd') + ' 08:30:00.000' |
||||
|
else |
||||
|
select count(0) as c from T_AW_MAIN where CREATEDATE > format(dateadd(day, -1, GetDate()), 'yyyy-MM-dd') + ' 08:30:00.000' |
||||
|
and CREATEDATE < format(GetDate(), 'yyyy-MM-dd') + ' 08:30:00.000'";
|
||||
|
DataTable dataTable = GetDataTable(sql, Config.a3dbConnectionString); |
||||
|
|
||||
|
|
||||
|
return dataTable.Rows[0]["c"].ToString(); |
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 并线发运 A3每天产量
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetA3DayYield() |
||||
|
{ |
||||
|
|
||||
|
string sql = $@" declare
|
||||
|
@tt varchar(20) = format(GetDate(), 'HH:mm') |
||||
|
|
||||
|
if @tt > '08:30' |
||||
|
select count(0) as c from T_AW_MAIN where CREATEDATE > format(GetDate(), 'yyyy-MM-dd') + ' 08:30:00.000' |
||||
|
and CREATEDATE < format(dateadd(day, 1, GetDate()), 'yyyy-MM-dd') + ' 08:30:00.000' |
||||
|
else |
||||
|
select count(0) as c from T_AW_MAIN where CREATEDATE > format(dateadd(day, -1, GetDate()), 'yyyy-MM-dd') + ' 08:30:00.000' |
||||
|
and CREATEDATE < format(GetDate(), 'yyyy-MM-dd') + ' 08:30:00.000'";
|
||||
|
DataTable dataTable = GetDataTable(sql, Config.a3dbConnectionString); |
||||
|
|
||||
|
|
||||
|
return dataTable.Rows[0]["c"].ToString(); |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 并线发运 Bora高配每天产量
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetBoraHDayYield() |
||||
|
{ |
||||
|
|
||||
|
string sql = $@" declare
|
||||
|
@tt varchar(20) = format(GetDate(), 'HH:mm') |
||||
|
|
||||
|
if @tt > '08:30' |
||||
|
select count(0) as c from (select a.* ,b.MATERIAL_NAME FROM T_AW_MAIN a left join T_MD_MATERIAL b on a.MATERIAL_CODE = b.MATERIAL_CODE where MATERIAL_NAME like '%豪华%' or MATERIAL_NAME like '%高配%' ) a |
||||
|
where CREATEDATE > format(GetDate(), 'yyyy-MM-dd') + ' 08:30:00.000' |
||||
|
and CREATEDATE < format(dateadd(day, 1, GetDate()), 'yyyy-MM-dd') + ' 08:30:00.000' |
||||
|
else |
||||
|
select count(0) as c from (select a.* ,b.MATERIAL_NAME FROM T_AW_MAIN a left join T_MD_MATERIAL b on a.MATERIAL_CODE = b.MATERIAL_CODE where MATERIAL_NAME like '%豪华%' or MATERIAL_NAME like '%高配%' ) a |
||||
|
where CREATEDATE > format(dateadd(day, -1, GetDate()), 'yyyy-MM-dd') + ' 08:30:00.000' |
||||
|
and CREATEDATE < format(GetDate(), 'yyyy-MM-dd') + ' 08:30:00.000'";
|
||||
|
DataTable dataTable = GetDataTable(sql, Config.maindbConnectionString); |
||||
|
|
||||
|
|
||||
|
return dataTable.Rows[0]["c"].ToString(); |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 并线发运 Bora低配每天产量
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetBoraLDayYield() |
||||
|
{ |
||||
|
|
||||
|
string sql = $@" declare
|
||||
|
@tt varchar(20) = format(GetDate(), 'HH:mm') |
||||
|
|
||||
|
if @tt > '08:30' |
||||
|
select count(0) as c from (select a.* ,b.MATERIAL_NAME FROM T_AW_MAIN a left join T_MD_MATERIAL b on a.MATERIAL_CODE = b.MATERIAL_CODE where MATERIAL_NAME like '%舒适%' or MATERIAL_NAME like '%低配%' ) a |
||||
|
where a.CREATEDATE > format(GetDate(), 'yyyy-MM-dd') + ' 08:30:00.000' |
||||
|
and a.CREATEDATE < format(dateadd(day, 1, GetDate()), 'yyyy-MM-dd') + ' 08:30:00.000' |
||||
|
else |
||||
|
select count(0) as c from (select a.* ,b.MATERIAL_NAME FROM T_AW_MAIN a left join T_MD_MATERIAL b on a.MATERIAL_CODE = b.MATERIAL_CODE where MATERIAL_NAME like '%舒适%' or MATERIAL_NAME like '%低配%' ) a |
||||
|
where a.CREATEDATE > format(dateadd(day, -1, GetDate()), 'yyyy-MM-dd') + ' 08:30:00.000' |
||||
|
and a.CREATEDATE < format(GetDate(), 'yyyy-MM-dd') + ' 08:30:00.000'";
|
||||
|
DataTable dataTable = GetDataTable(sql, Config.maindbConnectionString); |
||||
|
|
||||
|
|
||||
|
return dataTable.Rows[0]["c"].ToString(); |
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 取消挂起
|
||||
|
/// </summary>
|
||||
|
/// <param name="dataRow"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static bool UpdateFisSetStateDisposes(List<DataRow> upRows) |
||||
|
{ |
||||
|
List<string> orderNoList = upRows.Select(p => p.Field<string>("ORDER_NO")).ToList(); |
||||
|
string updateSql = $"Update T_AW_FisSendState set State = 0,Remark='取消挂起' where FisOrderNo in ('{string.Join("','", orderNoList)}') and State=9 "; |
||||
|
bool returnVal = false; |
||||
|
try |
||||
|
{ |
||||
|
//执行SQL
|
||||
|
int count = SqlHelper.ExecuteNonQuery(Config.maindbConnectionString, CommandType.Text, updateSql); |
||||
|
|
||||
|
if (count > 0) |
||||
|
{ |
||||
|
returnVal = true; |
||||
|
} |
||||
|
} |
||||
|
catch (Exception ex) |
||||
|
{ |
||||
|
//后续加入日志
|
||||
|
throw; |
||||
|
} |
||||
|
|
||||
|
return returnVal; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
//public static bool UpdateFisSetStateDispose(DataRow dataRow)
|
||||
|
//{
|
||||
|
// string updateSql = $"Update T_AW_FisSendState set State = 0,Remark='取消挂起' where FisOrderNo ='{dataRow["ORDER_NO"]}' and State=9 ";
|
||||
|
// bool returnVal = false;
|
||||
|
// try
|
||||
|
// {
|
||||
|
// //执行SQL
|
||||
|
// int count = SqlHelper.ExecuteNonQuery(Config.maindbConnectionString, CommandType.Text, updateSql);
|
||||
|
|
||||
|
// if (count > 0)
|
||||
|
// {
|
||||
|
// returnVal = true;
|
||||
|
// }
|
||||
|
// }
|
||||
|
// catch (Exception ex)
|
||||
|
// {
|
||||
|
// //后续加入日志
|
||||
|
// throw;
|
||||
|
// }
|
||||
|
|
||||
|
// return returnVal;
|
||||
|
|
||||
|
//}
|
||||
|
|
||||
|
|
||||
|
public static void SaveStartIndex(int startIndex) |
||||
|
{ |
||||
|
try |
||||
|
{ |
||||
|
string updateSql = $"Update T_MD_StartIndex set [StartIndex]={startIndex}"; |
||||
|
int count = SqlHelper.ExecuteNonQuery(Config.maindbConnectionString, CommandType.Text, updateSql); |
||||
|
if (count == 0) |
||||
|
{ |
||||
|
string insertSql = $" insert into T_MD_StartIndex(StartIndex) values ({startIndex})"; |
||||
|
SqlHelper.ExecuteNonQuery(Config.maindbConnectionString, CommandType.Text, insertSql); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
catch |
||||
|
{ |
||||
|
throw; |
||||
|
} |
||||
|
} |
||||
|
public static int GetStartIndex() |
||||
|
{ |
||||
|
string searchSql = $"select top 1 StartIndex from T_MD_StartIndex "; |
||||
|
DataTable dataTable = GetDataTable(searchSql, Config.maindbConnectionString); |
||||
|
if (dataTable.Rows.Count == 0) return 0; |
||||
|
try |
||||
|
{ |
||||
|
return int.Parse(dataTable.Rows[0]["StartIndex"].ToString()); |
||||
|
} |
||||
|
catch |
||||
|
{ |
||||
|
return 0; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,36 @@ |
|||||
|
using System.Reflection; |
||||
|
using System.Runtime.CompilerServices; |
||||
|
using System.Runtime.InteropServices; |
||||
|
|
||||
|
// 有关程序集的常规信息通过以下
|
||||
|
// 特性集控制。更改这些特性值可修改
|
||||
|
// 与程序集关联的信息。
|
||||
|
[assembly: AssemblyTitle("QMAPP.BoraUpgrade.Entity")] |
||||
|
[assembly: AssemblyDescription("")] |
||||
|
[assembly: AssemblyConfiguration("")] |
||||
|
[assembly: AssemblyCompany("")] |
||||
|
[assembly: AssemblyProduct("QMAPP.BoraUpgrade.Entity")] |
||||
|
[assembly: AssemblyCopyright("Copyright © 2020")] |
||||
|
[assembly: AssemblyTrademark("")] |
||||
|
[assembly: AssemblyCulture("")] |
||||
|
|
||||
|
// 将 ComVisible 设置为 false 使此程序集中的类型
|
||||
|
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
|
||||
|
// 则将该类型上的 ComVisible 特性设置为 true。
|
||||
|
[assembly: ComVisible(false)] |
||||
|
|
||||
|
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
|
[assembly: Guid("eeceb388-1acb-45d0-b9e9-ce8e344773f1")] |
||||
|
|
||||
|
// 程序集的版本信息由下面四个值组成:
|
||||
|
//
|
||||
|
// 主版本
|
||||
|
// 次版本
|
||||
|
// 内部版本号
|
||||
|
// 修订号
|
||||
|
//
|
||||
|
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
|
||||
|
// 方法是按如下所示使用“*”:
|
||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||
|
[assembly: AssemblyVersion("1.0.0.0")] |
||||
|
[assembly: AssemblyFileVersion("1.0.0.0")] |
@ -0,0 +1,58 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||
|
<PropertyGroup> |
||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
||||
|
<ProductVersion>8.0.30703</ProductVersion> |
||||
|
<SchemaVersion>2.0</SchemaVersion> |
||||
|
<ProjectGuid>{0C8B7A06-ED56-4198-9386-B8EA1D176571}</ProjectGuid> |
||||
|
<OutputType>Library</OutputType> |
||||
|
<AppDesignerFolder>Properties</AppDesignerFolder> |
||||
|
<RootNamespace>QMAPP.BoraUpgrade.Entity</RootNamespace> |
||||
|
<AssemblyName>QMAPP.BoraUpgrade.Entity</AssemblyName> |
||||
|
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> |
||||
|
<FileAlignment>512</FileAlignment> |
||||
|
</PropertyGroup> |
||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
||||
|
<DebugSymbols>true</DebugSymbols> |
||||
|
<DebugType>full</DebugType> |
||||
|
<Optimize>false</Optimize> |
||||
|
<OutputPath>bin\Debug\</OutputPath> |
||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants> |
||||
|
<ErrorReport>prompt</ErrorReport> |
||||
|
<WarningLevel>4</WarningLevel> |
||||
|
</PropertyGroup> |
||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
||||
|
<DebugType>pdbonly</DebugType> |
||||
|
<Optimize>true</Optimize> |
||||
|
<OutputPath>bin\Release\</OutputPath> |
||||
|
<DefineConstants>TRACE</DefineConstants> |
||||
|
<ErrorReport>prompt</ErrorReport> |
||||
|
<WarningLevel>4</WarningLevel> |
||||
|
</PropertyGroup> |
||||
|
<ItemGroup> |
||||
|
<Reference Include="System" /> |
||||
|
<Reference Include="System.Core" /> |
||||
|
<Reference Include="System.Xml.Linq" /> |
||||
|
<Reference Include="System.Data.DataSetExtensions" /> |
||||
|
<Reference Include="Microsoft.CSharp" /> |
||||
|
<Reference Include="System.Data" /> |
||||
|
<Reference Include="System.Xml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<Compile Include="T_AW_PRODUCT.cs" /> |
||||
|
<Compile Include="T_CC_PrintCodeRoute.cs" /> |
||||
|
<Compile Include="T_MD_MATERIAL.cs" /> |
||||
|
<Compile Include="T_QD_BoraUpgradeRoute.cs" /> |
||||
|
<Compile Include="Properties\AssemblyInfo.cs" /> |
||||
|
<Compile Include="T_QD_VirtualMaterial.cs" /> |
||||
|
</ItemGroup> |
||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> |
||||
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. |
||||
|
Other similar extension points exist, see Microsoft.Common.targets. |
||||
|
<Target Name="BeforeBuild"> |
||||
|
</Target> |
||||
|
<Target Name="AfterBuild"> |
||||
|
</Target> |
||||
|
--> |
||||
|
</Project> |
@ -0,0 +1,39 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.Entity |
||||
|
{ |
||||
|
public class T_AW_PRODUCT |
||||
|
{ |
||||
|
public string PID { get; set; } |
||||
|
public string PRODUCTTYPE { get; set; } |
||||
|
public string PRODUCTCODE { get; set; } |
||||
|
public string PRODUCTSOURCE { get; set; } |
||||
|
public string MACHINENAME { get; set; } |
||||
|
public string MACHINECODDE { get; set; } |
||||
|
public string MATERIAL_CODE { get; set; } |
||||
|
public string STATUS { get; set; } |
||||
|
public string ISPARENT { get; set; } |
||||
|
public string CURRENTPROCESS { get; set; } |
||||
|
public string PRODUCELINE { get; set; } |
||||
|
public string PRODUCESHIFTNAME { get; set; } |
||||
|
public string PRODUCESHIFTTCODE { get; set; } |
||||
|
public string OUTFLAG { get; set; } |
||||
|
public string USINGSTATE { get; set; } |
||||
|
public Nullable<int> CAPACITY { get; set; } |
||||
|
public Nullable<int> USINGCOUNT { get; set; } |
||||
|
public string CREATEUSER { get; set; } |
||||
|
public Nullable<System.DateTime> CREATEDATE { get; set; } |
||||
|
public string UPDATEUSER { get; set; } |
||||
|
public Nullable<System.DateTime> UPDATEDATE { get; set; } |
||||
|
public string WORKCELL_CODE { get; set; } |
||||
|
public string WORKLOC_CODE { get; set; } |
||||
|
public string WORKCENTER_CODE { get; set; } |
||||
|
public string TEAM_CODE { get; set; } |
||||
|
public string ENDOFLINE { get; set; } |
||||
|
public string MATERIAL_TYPE { get; set; } |
||||
|
public string PLAN_NO { get; set; } |
||||
|
} |
||||
|
} |
@ -0,0 +1,104 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.Entity |
||||
|
{ |
||||
|
public class T_CC_PrintCodeRoute |
||||
|
{ |
||||
|
public int PrintCodeRouteID |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
public string BarCodeRule |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
public string MachineName |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
public string MachineCode |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
public string Material_Code |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
public string WorkCell_Code |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
public string WorkLoc_Code |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
public string WorkCenter |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
public string Matrail_Type |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
public bool IsProduct |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
public bool IsAppend |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
public int Color |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
public string MachineID |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,33 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.Entity |
||||
|
{ |
||||
|
public class T_MD_MATERIAL |
||||
|
{ |
||||
|
public string PID { get; set; } |
||||
|
public string MATERIAL_CODE { get; set; } |
||||
|
public string MATERIAL_TYPE_CODE { get; set; } |
||||
|
public string UNIT_CODE { get; set; } |
||||
|
public string MATERIAL_NAME { get; set; } |
||||
|
public string MATERIAL_COMP { get; set; } |
||||
|
public string REMARK { get; set; } |
||||
|
public string CREATEUSER { get; set; } |
||||
|
public DateTime CREATEDATE { get; set; } |
||||
|
public string UPDATEUSER { get; set; } |
||||
|
public string UPDATEDATE { get; set; } |
||||
|
public string OUTSOURCE { get; set; } |
||||
|
public int STD_QTY { get; set; } |
||||
|
public string FLGDEL { get; set; } |
||||
|
public string COLOR { get; set; } |
||||
|
public string HBTYPE { get; set; } |
||||
|
public string PROJECTCODE { get; set; } |
||||
|
public int WEIGHT { get; set; } |
||||
|
public string MATERIAL_SHORT { get; set; } |
||||
|
public string WORKBIN_TYPE { get; set; } |
||||
|
public int CAPACITY { get; set; } |
||||
|
public string FACTORY_CODE { get; set; } |
||||
|
} |
||||
|
} |
@ -0,0 +1,134 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.Entity |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 青岛宝来升级路由
|
||||
|
/// </summary>
|
||||
|
public class T_QD_BoraUpgradeRoute |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 主键
|
||||
|
/// </summary>
|
||||
|
public int BoraRouteID |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 工作编号
|
||||
|
/// </summary>
|
||||
|
public string WorkCell_Code |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 路由正规则
|
||||
|
/// </summary>
|
||||
|
public string RouteRegular |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 下一跳路由
|
||||
|
/// </summary>
|
||||
|
public string NextWorkCell_Code |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 机器编码
|
||||
|
/// </summary>
|
||||
|
public string Machine_Code |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 路由方向
|
||||
|
/// </summary>
|
||||
|
public int RouteDirection |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 是否产品码
|
||||
|
/// </summary>
|
||||
|
public bool IsProductCode |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 是否清空
|
||||
|
/// </summary>
|
||||
|
public bool IsClear |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 是否删除
|
||||
|
/// </summary>
|
||||
|
public bool IsDeleted |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 创建时间
|
||||
|
/// </summary>
|
||||
|
public DateTime CreateTime |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 模架号
|
||||
|
/// </summary>
|
||||
|
public string ModeCode |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 空采集点数量
|
||||
|
/// </summary>
|
||||
|
public int EmptyDAICount |
||||
|
{ |
||||
|
get; |
||||
|
|
||||
|
set; |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,21 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace QMAPP.BoraUpgrade.Entity |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 青岛宝来升级
|
||||
|
/// </summary>
|
||||
|
public class T_QD_VirtualMaterial |
||||
|
{ |
||||
|
public int PID; |
||||
|
|
||||
|
public string WorkCellCode; |
||||
|
|
||||
|
public string MaterialCode; |
||||
|
|
||||
|
public string MaterialType; |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue