From d89732b82ff7fc047628ca3772311a0fbeea3553 Mon Sep 17 00:00:00 2001
From: zongzhibin <zongzhibin@weben-smart.com>
Date: 周日, 24 11月 2024 14:19:14 +0800
Subject: [PATCH] add
---
CC/iWareSql/DataAccess/TaskHandler.cs | 15
CC/iWareCC_ASRS/Common/SystemWarningMsg.cs | 5
SDA/iWareSda/Devices/4-Station/StationService/StationService.cs | 60 +++
SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs | 19 +
CC/iWareCommon/Utils/Log4Net/LogType.cs | 6
CC/iWareCC_ASRS/FormCC.cs | 4
SDA/iWareSda/Common/Struct/WareSdaStruct.cs | 3
SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs | 115 +++++++
CC/iWareCC_ASRS/Connected Services/StationService/StationService.wsdl | 38 ++
CC/iWareCC_ASRS/Connected Services/StationService/item2.xsd | 46 ++
SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs | 38 ++
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsTask/WmsRbLineRunMode.cs | 10
CC/iWareCC_ASRS/ThreadService/03_BZ12(机器人码包工位)/DataProcess_BZ12_FinishTask.cs | 12
CC/iWareSql/WmsDBModel/wms_rbline_runmode.cs | 10
CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd | 11
CC/iWareCC_ASRS/ThreadService/03_BZ12(机器人码包工位)/DataProcess_BZ12.cs | 181 +++++++++++
CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs | 204 ++++++++++++
SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs | 146 +++++++++
CC/iWareCC_ASRS/iWareCC.csproj | 5
SDA/iWareSda/Model/StationLocationEnum.cs | 6
20 files changed, 924 insertions(+), 10 deletions(-)
diff --git a/CC/iWareCC_ASRS/Common/SystemWarningMsg.cs b/CC/iWareCC_ASRS/Common/SystemWarningMsg.cs
index fa60209..2121757 100644
--- a/CC/iWareCC_ASRS/Common/SystemWarningMsg.cs
+++ b/CC/iWareCC_ASRS/Common/SystemWarningMsg.cs
@@ -118,7 +118,10 @@
/// 鑷姩缁勭洏浠诲姟 鐨勮鍛婃秷鎭�
/// </summary>
public static string _lbl_alert_DataProcess_BZ39 = string.Empty;
-
+ /// <summary>
+ /// 鑷姩鐮佹澘浠诲姟 鐨勮鍛婃秷鎭�
+ /// </summary>
+ public static string _lbl_alert_DataProcess_BZ12 = string.Empty;
/// <summary>
/// 鑷姩缁勭洏浠诲姟涓嬪彂 鐨勮鍛婃秷鎭�
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs b/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs
index 5a6b0be..4c79d93 100644
--- a/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs
@@ -215,6 +215,18 @@
private short R_Outbound_TaskIDField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
+ private bool R_PalletizingFinishField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private short R_PalletizingStation1Field;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private short R_PalletizingStation2Field;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private short R_PalletizingTaskNoField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
private string R_ReadCodeResultField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
@@ -386,6 +398,58 @@
}
[System.Runtime.Serialization.DataMemberAttribute()]
+ public bool R_PalletizingFinish {
+ get {
+ return this.R_PalletizingFinishField;
+ }
+ set {
+ if ((this.R_PalletizingFinishField.Equals(value) != true)) {
+ this.R_PalletizingFinishField = value;
+ this.RaisePropertyChanged("R_PalletizingFinish");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public short R_PalletizingStation1 {
+ get {
+ return this.R_PalletizingStation1Field;
+ }
+ set {
+ if ((this.R_PalletizingStation1Field.Equals(value) != true)) {
+ this.R_PalletizingStation1Field = value;
+ this.RaisePropertyChanged("R_PalletizingStation1");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public short R_PalletizingStation2 {
+ get {
+ return this.R_PalletizingStation2Field;
+ }
+ set {
+ if ((this.R_PalletizingStation2Field.Equals(value) != true)) {
+ this.R_PalletizingStation2Field = value;
+ this.RaisePropertyChanged("R_PalletizingStation2");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public short R_PalletizingTaskNo {
+ get {
+ return this.R_PalletizingTaskNoField;
+ }
+ set {
+ if ((this.R_PalletizingTaskNoField.Equals(value) != true)) {
+ this.R_PalletizingTaskNoField = value;
+ this.RaisePropertyChanged("R_PalletizingTaskNo");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
public string R_ReadCodeResult {
get {
return this.R_ReadCodeResultField;
@@ -501,6 +565,9 @@
private string W_Destination_OutField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
+ private bool W_EndMarkField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
private short W_HeightField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
@@ -531,7 +598,25 @@
private string W_PackageWidthField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
+ private short W_PalletizingPlaceXField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private short W_PalletizingPlaceYField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private short W_PalletizingStationField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private bool W_PalletizingTaskFinishField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private short W_PalletizingTaskIDField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
private bool W_ReqOutField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private short W_RotateField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private short W_WidthField;
@@ -626,6 +711,19 @@
if ((object.ReferenceEquals(this.W_Destination_OutField, value) != true)) {
this.W_Destination_OutField = value;
this.RaisePropertyChanged("W_Destination_Out");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public bool W_EndMark {
+ get {
+ return this.W_EndMarkField;
+ }
+ set {
+ if ((this.W_EndMarkField.Equals(value) != true)) {
+ this.W_EndMarkField = value;
+ this.RaisePropertyChanged("W_EndMark");
}
}
}
@@ -761,6 +859,71 @@
}
[System.Runtime.Serialization.DataMemberAttribute()]
+ public short W_PalletizingPlaceX {
+ get {
+ return this.W_PalletizingPlaceXField;
+ }
+ set {
+ if ((this.W_PalletizingPlaceXField.Equals(value) != true)) {
+ this.W_PalletizingPlaceXField = value;
+ this.RaisePropertyChanged("W_PalletizingPlaceX");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public short W_PalletizingPlaceY {
+ get {
+ return this.W_PalletizingPlaceYField;
+ }
+ set {
+ if ((this.W_PalletizingPlaceYField.Equals(value) != true)) {
+ this.W_PalletizingPlaceYField = value;
+ this.RaisePropertyChanged("W_PalletizingPlaceY");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public short W_PalletizingStation {
+ get {
+ return this.W_PalletizingStationField;
+ }
+ set {
+ if ((this.W_PalletizingStationField.Equals(value) != true)) {
+ this.W_PalletizingStationField = value;
+ this.RaisePropertyChanged("W_PalletizingStation");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public bool W_PalletizingTaskFinish {
+ get {
+ return this.W_PalletizingTaskFinishField;
+ }
+ set {
+ if ((this.W_PalletizingTaskFinishField.Equals(value) != true)) {
+ this.W_PalletizingTaskFinishField = value;
+ this.RaisePropertyChanged("W_PalletizingTaskFinish");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public short W_PalletizingTaskID {
+ get {
+ return this.W_PalletizingTaskIDField;
+ }
+ set {
+ if ((this.W_PalletizingTaskIDField.Equals(value) != true)) {
+ this.W_PalletizingTaskIDField = value;
+ this.RaisePropertyChanged("W_PalletizingTaskID");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
public bool W_ReqOut {
get {
return this.W_ReqOutField;
@@ -769,6 +932,19 @@
if ((this.W_ReqOutField.Equals(value) != true)) {
this.W_ReqOutField = value;
this.RaisePropertyChanged("W_ReqOut");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public short W_Rotate {
+ get {
+ return this.W_RotateField;
+ }
+ set {
+ if ((this.W_RotateField.Equals(value) != true)) {
+ this.W_RotateField = value;
+ this.RaisePropertyChanged("W_Rotate");
}
}
}
@@ -1523,6 +1699,18 @@
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteOutStoreTaskInfo", ReplyAction="http://tempuri.org/IStationService/WriteOutStoreTaskInfoResponse")]
System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WriteOutStoreTaskInfoAsync(int deviceId, string stationCode, string sourcePlaceNo, int outbound_TaskID);
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WritePalletizingTaskInfo", ReplyAction="http://tempuri.org/IStationService/WritePalletizingTaskInfoResponse")]
+ iWareCC.StationService.SdaResEntity WritePalletizingTaskInfo(int deviceId, string stationCode, int taskID, bool isLast, short length, short width, short height, short rotate, short toplace, short placeX, short placeY);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WritePalletizingTaskInfo", ReplyAction="http://tempuri.org/IStationService/WritePalletizingTaskInfoResponse")]
+ System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WritePalletizingTaskInfoAsync(int deviceId, string stationCode, int taskID, bool isLast, short length, short width, short height, short rotate, short toplace, short placeX, short placeY);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/SetPalletizingTaskFinishAck", ReplyAction="http://tempuri.org/IStationService/SetPalletizingTaskFinishAckResponse")]
+ iWareCC.StationService.SdaResEntity SetPalletizingTaskFinishAck(int deviceId, bool value, string stationCode);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/SetPalletizingTaskFinishAck", ReplyAction="http://tempuri.org/IStationService/SetPalletizingTaskFinishAckResponse")]
+ System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> SetPalletizingTaskFinishAckAsync(int deviceId, bool value, string stationCode);
+
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteStation_FinishACK", ReplyAction="http://tempuri.org/IStationService/WriteStation_FinishACKResponse")]
iWareCC.StationService.SdaResEntity WriteStation_FinishACK(int deviceId, bool value, int plcTaskId);
@@ -1681,6 +1869,22 @@
return base.Channel.WriteOutStoreTaskInfoAsync(deviceId, stationCode, sourcePlaceNo, outbound_TaskID);
}
+ public iWareCC.StationService.SdaResEntity WritePalletizingTaskInfo(int deviceId, string stationCode, int taskID, bool isLast, short length, short width, short height, short rotate, short toplace, short placeX, short placeY) {
+ return base.Channel.WritePalletizingTaskInfo(deviceId, stationCode, taskID, isLast, length, width, height, rotate, toplace, placeX, placeY);
+ }
+
+ public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WritePalletizingTaskInfoAsync(int deviceId, string stationCode, int taskID, bool isLast, short length, short width, short height, short rotate, short toplace, short placeX, short placeY) {
+ return base.Channel.WritePalletizingTaskInfoAsync(deviceId, stationCode, taskID, isLast, length, width, height, rotate, toplace, placeX, placeY);
+ }
+
+ public iWareCC.StationService.SdaResEntity SetPalletizingTaskFinishAck(int deviceId, bool value, string stationCode) {
+ return base.Channel.SetPalletizingTaskFinishAck(deviceId, value, stationCode);
+ }
+
+ public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> SetPalletizingTaskFinishAckAsync(int deviceId, bool value, string stationCode) {
+ return base.Channel.SetPalletizingTaskFinishAckAsync(deviceId, value, stationCode);
+ }
+
public iWareCC.StationService.SdaResEntity WriteStation_FinishACK(int deviceId, bool value, int plcTaskId) {
return base.Channel.WriteStation_FinishACK(deviceId, value, plcTaskId);
}
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/StationService.wsdl b/CC/iWareCC_ASRS/Connected Services/StationService/StationService.wsdl
index b205f97..3b9e7fb 100644
--- a/CC/iWareCC_ASRS/Connected Services/StationService/StationService.wsdl
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/StationService.wsdl
@@ -93,6 +93,18 @@
<wsdl:message name="IStationService_WriteOutStoreTaskInfo_OutputMessage">
<wsdl:part name="parameters" element="tns:WriteOutStoreTaskInfoResponse" />
</wsdl:message>
+ <wsdl:message name="IStationService_WritePalletizingTaskInfo_InputMessage">
+ <wsdl:part name="parameters" element="tns:WritePalletizingTaskInfo" />
+ </wsdl:message>
+ <wsdl:message name="IStationService_WritePalletizingTaskInfo_OutputMessage">
+ <wsdl:part name="parameters" element="tns:WritePalletizingTaskInfoResponse" />
+ </wsdl:message>
+ <wsdl:message name="IStationService_SetPalletizingTaskFinishAck_InputMessage">
+ <wsdl:part name="parameters" element="tns:SetPalletizingTaskFinishAck" />
+ </wsdl:message>
+ <wsdl:message name="IStationService_SetPalletizingTaskFinishAck_OutputMessage">
+ <wsdl:part name="parameters" element="tns:SetPalletizingTaskFinishAckResponse" />
+ </wsdl:message>
<wsdl:message name="IStationService_WriteStation_FinishACK_InputMessage">
<wsdl:part name="parameters" element="tns:WriteStation_FinishACK" />
</wsdl:message>
@@ -167,6 +179,14 @@
<wsdl:operation name="WriteOutStoreTaskInfo">
<wsdl:input wsaw:Action="http://tempuri.org/IStationService/WriteOutStoreTaskInfo" message="tns:IStationService_WriteOutStoreTaskInfo_InputMessage" />
<wsdl:output wsaw:Action="http://tempuri.org/IStationService/WriteOutStoreTaskInfoResponse" message="tns:IStationService_WriteOutStoreTaskInfo_OutputMessage" />
+ </wsdl:operation>
+ <wsdl:operation name="WritePalletizingTaskInfo">
+ <wsdl:input wsaw:Action="http://tempuri.org/IStationService/WritePalletizingTaskInfo" message="tns:IStationService_WritePalletizingTaskInfo_InputMessage" />
+ <wsdl:output wsaw:Action="http://tempuri.org/IStationService/WritePalletizingTaskInfoResponse" message="tns:IStationService_WritePalletizingTaskInfo_OutputMessage" />
+ </wsdl:operation>
+ <wsdl:operation name="SetPalletizingTaskFinishAck">
+ <wsdl:input wsaw:Action="http://tempuri.org/IStationService/SetPalletizingTaskFinishAck" message="tns:IStationService_SetPalletizingTaskFinishAck_InputMessage" />
+ <wsdl:output wsaw:Action="http://tempuri.org/IStationService/SetPalletizingTaskFinishAckResponse" message="tns:IStationService_SetPalletizingTaskFinishAck_OutputMessage" />
</wsdl:operation>
<wsdl:operation name="WriteStation_FinishACK">
<wsdl:input wsaw:Action="http://tempuri.org/IStationService/WriteStation_FinishACK" message="tns:IStationService_WriteStation_FinishACK_InputMessage" />
@@ -309,6 +329,24 @@
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
+ <wsdl:operation name="WritePalletizingTaskInfo">
+ <soap:operation soapAction="http://tempuri.org/IStationService/WritePalletizingTaskInfo" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="SetPalletizingTaskFinishAck">
+ <soap:operation soapAction="http://tempuri.org/IStationService/SetPalletizingTaskFinishAck" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
<wsdl:operation name="WriteStation_FinishACK">
<soap:operation soapAction="http://tempuri.org/IStationService/WriteStation_FinishACK" style="document" />
<wsdl:input>
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/item2.xsd b/CC/iWareCC_ASRS/Connected Services/StationService/item2.xsd
index 8da0c43..b096074 100644
--- a/CC/iWareCC_ASRS/Connected Services/StationService/item2.xsd
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/item2.xsd
@@ -224,6 +224,46 @@
</xs:sequence>
</xs:complexType>
</xs:element>
+ <xs:element name="WritePalletizingTaskInfo">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="deviceId" type="xs:int" />
+ <xs:element minOccurs="0" name="stationCode" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" name="taskID" type="xs:int" />
+ <xs:element minOccurs="0" name="isLast" type="xs:boolean" />
+ <xs:element minOccurs="0" name="length" type="xs:short" />
+ <xs:element minOccurs="0" name="width" type="xs:short" />
+ <xs:element minOccurs="0" name="height" type="xs:short" />
+ <xs:element minOccurs="0" name="rotate" type="xs:short" />
+ <xs:element minOccurs="0" name="toplace" type="xs:short" />
+ <xs:element minOccurs="0" name="placeX" type="xs:short" />
+ <xs:element minOccurs="0" name="placeY" type="xs:short" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="WritePalletizingTaskInfoResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element xmlns:q15="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WritePalletizingTaskInfoResult" nillable="true" type="q15:SdaResEntity" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SetPalletizingTaskFinishAck">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="deviceId" type="xs:int" />
+ <xs:element minOccurs="0" name="value" type="xs:boolean" />
+ <xs:element minOccurs="0" name="stationCode" nillable="true" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SetPalletizingTaskFinishAckResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element xmlns:q16="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="SetPalletizingTaskFinishAckResult" nillable="true" type="q16:SdaResEntity" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
<xs:element name="WriteStation_FinishACK">
<xs:complexType>
<xs:sequence>
@@ -236,7 +276,7 @@
<xs:element name="WriteStation_FinishACKResponse">
<xs:complexType>
<xs:sequence>
- <xs:element xmlns:q15="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_FinishACKResult" nillable="true" type="q15:SdaResEntity" />
+ <xs:element xmlns:q17="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_FinishACKResult" nillable="true" type="q17:SdaResEntity" />
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -254,7 +294,7 @@
<xs:element name="WriteScanValidateACKResponse">
<xs:complexType>
<xs:sequence>
- <xs:element xmlns:q16="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteScanValidateACKResult" nillable="true" type="q16:SdaResEntity" />
+ <xs:element xmlns:q18="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteScanValidateACKResult" nillable="true" type="q18:SdaResEntity" />
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -272,7 +312,7 @@
<xs:element name="WriteStation_XigangGetDataForOutResponse">
<xs:complexType>
<xs:sequence>
- <xs:element xmlns:q17="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_XigangGetDataForOutResult" nillable="true" type="q17:SdaResEntity" />
+ <xs:element xmlns:q19="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_XigangGetDataForOutResult" nillable="true" type="q19:SdaResEntity" />
</xs:sequence>
</xs:complexType>
</xs:element>
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd b/CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd
index 6a02b02..ca24714 100644
--- a/CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd
@@ -19,6 +19,10 @@
<xs:element minOccurs="0" name="R_OutboundFinish" type="xs:boolean" />
<xs:element minOccurs="0" name="R_OutboundNumber" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="R_Outbound_TaskID" type="xs:short" />
+ <xs:element minOccurs="0" name="R_PalletizingFinish" type="xs:boolean" />
+ <xs:element minOccurs="0" name="R_PalletizingStation1" type="xs:short" />
+ <xs:element minOccurs="0" name="R_PalletizingStation2" type="xs:short" />
+ <xs:element minOccurs="0" name="R_PalletizingTaskNo" type="xs:short" />
<xs:element minOccurs="0" name="R_ReadCodeResult" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="R_ReqParseData" type="xs:boolean" />
<xs:element minOccurs="0" name="R_Shape" type="xs:short" />
@@ -42,6 +46,7 @@
<xs:element minOccurs="0" name="W_DataFinish" type="xs:boolean" />
<xs:element minOccurs="0" name="W_Destination_In" type="xs:int" />
<xs:element minOccurs="0" name="W_Destination_Out" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" name="W_EndMark" type="xs:boolean" />
<xs:element minOccurs="0" name="W_Height" type="xs:short" />
<xs:element minOccurs="0" name="W_InboundFinishConfirm" type="xs:boolean" />
<xs:element minOccurs="0" name="W_Inbound_TaskID" type="xs:int" />
@@ -52,7 +57,13 @@
<xs:element minOccurs="0" name="W_Outbound_TaskID" type="xs:int" />
<xs:element minOccurs="0" name="W_PackageLength" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="W_PackageWidth" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" name="W_PalletizingPlaceX" type="xs:short" />
+ <xs:element minOccurs="0" name="W_PalletizingPlaceY" type="xs:short" />
+ <xs:element minOccurs="0" name="W_PalletizingStation" type="xs:short" />
+ <xs:element minOccurs="0" name="W_PalletizingTaskFinish" type="xs:boolean" />
+ <xs:element minOccurs="0" name="W_PalletizingTaskID" type="xs:short" />
<xs:element minOccurs="0" name="W_ReqOut" type="xs:boolean" />
+ <xs:element minOccurs="0" name="W_Rotate" type="xs:short" />
<xs:element minOccurs="0" name="W_Width" type="xs:short" />
<xs:element minOccurs="0" name="W_X_Offset" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="W_Y_Offset" nillable="true" type="xs:string" />
diff --git a/CC/iWareCC_ASRS/FormCC.cs b/CC/iWareCC_ASRS/FormCC.cs
index dae98d6..6d5a151 100644
--- a/CC/iWareCC_ASRS/FormCC.cs
+++ b/CC/iWareCC_ASRS/FormCC.cs
@@ -5,6 +5,7 @@
using iWareCC.SrmService;
using iWareCC.StationService;
using iWareCC.ThreadService;
+using iWareCC.ThreadService._03_BZ12_鏈哄櫒浜虹爜鍖呭伐浣峗;
using iWareCC.WCF;
using iWareCommon.Common.Globle;
using iWareCommon.Utils;
@@ -231,10 +232,11 @@
//閲嶆柊鑾峰彇鍙戝姩鏈轰俊鎭�
new Thread(DataProcess_269.Handler).Start();
-
+
//1014搴撲綅杞繍鍒�1020绾跨▼
new Thread(DataProcess_BZ39.Handler).Start();
+ new Thread(DataProcess_BZ12.Hander).Start();
new Thread(DeleteData).Start();
diff --git "a/CC/iWareCC_ASRS/ThreadService/03_BZ12\050\346\234\272\345\231\250\344\272\272\347\240\201\345\214\205\345\267\245\344\275\215\051/DataProcess_BZ12.cs" "b/CC/iWareCC_ASRS/ThreadService/03_BZ12\050\346\234\272\345\231\250\344\272\272\347\240\201\345\214\205\345\267\245\344\275\215\051/DataProcess_BZ12.cs"
new file mode 100644
index 0000000..0d53e87
--- /dev/null
+++ "b/CC/iWareCC_ASRS/ThreadService/03_BZ12\050\346\234\272\345\231\250\344\272\272\347\240\201\345\214\205\345\267\245\344\275\215\051/DataProcess_BZ12.cs"
@@ -0,0 +1,181 @@
+锘縰sing Admin.NET.Application;
+using iWareCC.StationService;
+using iWareCommon.Common.Globle;
+using iWareCommon.Utils;
+using iWareModel;
+using iWareSql.DataAccess;
+using iWareSql.WmsDBModel;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace iWareCC.ThreadService._03_BZ12_鏈哄櫒浜虹爜鍖呭伐浣峗
+{
+ public class DataProcess_BZ12
+ {
+ public static void Hander()
+ {
+ var alertMsg = "";
+ LogType logType = LogType.DataProcess_BZ12;
+ while (true)
+ {
+ Thread.Sleep(2000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
+ SystemWarningMsg._lbl_alert_DataProcess_BZ12 = string.Empty;
+ try
+ {
+ if (SystemValue.isAllowRuning_DataProcess_BZ39 && SystemValue.isStartedModel)
+ {
+ var rgvLocation = StationLocationEnum.BZ12.ToString();
+ /*
+ * 1銆佷粠鏁版嵁搴撲腑鍒ゆ柇鏄惁榻愬
+ * 2銆佹牴鎹綈濂楃粨鏋滐紝鎺ㄩ�佺粰PLC
+ */
+ var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault();
+ if (obj.R_ReqParseData)
+ {
+ var result = obj.R_ReadCodeResult;
+ if (string.IsNullOrEmpty(result))
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-璇锋眰浜嗚В鐮侊紝浣嗘槸缁撴灉鏄┖鐨�,姝ゆ寰幆缁撴潫";
+ continue;
+ }
+ var upiCode = result;
+ bool islast = false;//鏄惁鏈澘
+ short isrotate = 0;//鏄惁鏃嬭浆
+ short placeX = 0;
+ short placeY = 0;
+ string place = "";
+ using (WmsDBModel wmsDB = new WmsDBModel())
+ {
+ //瑕佹槸鏈夊凡涓嬪彂鐨勪换鍔★紝灏变笉瑕佹墽琛�
+ var isValidate = TaskHandler.ValidateIssueTaskForBZ12(wmsDB);
+ if (!isValidate)
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-鏈夆�樺凡涓嬪彂鈥欑殑浠诲姟锛屼笉鑳藉鐞�,姝ゆ寰幆缁撴潫";
+ continue;
+ }
+ var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).FirstOrDefault();
+ if (upiObj == null)
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},鏍规嵁UPI:{upiCode}娌℃湁鎵惧埌瀵硅薄 ";
+ continue;
+ }
+ isrotate = 1;
+ placeX = (short)upiObj.MachineXCenter;
+ placeY = (short)upiObj.MachineYCenter;
+ //鏌ュ杩欏寘鎵�鏈夌殑鏁伴噺
+ var upiList = wmsDB.mes_batchOrderUPI_new.Where(x => x.PackageCode == upiObj.PackageCode).ToList();
+ //鏌ヨ鏄惁鏈澘骞朵笖鍒ゆ柇鏈夋病鏈夋贩鎵�
+ var wms_rbline_runmode = wmsDB.wms_rbline_runmode.FirstOrDefault();
+ if (wms_rbline_runmode != null)
+ {
+ //鏌ヨ鏄惁娣锋壒
+ if (!string.IsNullOrEmpty(wms_rbline_runmode.PalletizingUPI))
+ {
+ if (upiCode != wms_rbline_runmode.PalletizingUPI)
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},UPI:{upiCode}鐮佸寘閮ㄤ欢娣锋壒 ";
+ continue;
+ }
+ }
+ //鑾峰彇鐮佸灈鐩爣浣�
+ if (wms_rbline_runmode.PalletizingStation != 0)
+ {
+ place = wms_rbline_runmode.PalletizingStation.ToString();
+ }
+ else
+ {
+ if (obj.R_PalletizingStation1 == 1)
+ {
+ place = "1";
+ }
+ else if (obj.R_PalletizingStation2 == 1)
+ {
+ place = "2";
+
+ }
+ else
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},UPI:{upiCode}鏃犲彲鐢ㄧ爜鍨涚洰鏍囦綅 ";
+ continue;
+ }
+ }
+ //濡傛灉娆″簭绛変簬褰撻挶鍖呮�绘暟閲忥紝鏄惁鏈澘缃负true
+ if (upiObj.Shelf == upiList.Count())
+ {
+ islast = true;
+ wms_rbline_runmode.PalletizingUPI = null;
+ wms_rbline_runmode.PalletizingStation = 0;
+ }
+
+ }
+ //鏌ヨ鏈夋病鏈夋搴忓皬浜庡綋鍓嶆搴忓苟涓旀病鏈夌爜鍨涚殑
+ var oldupi = upiList.Where(x => x.Shelf < upiObj.Shelf && x.UpiStatus != (int)UpiStatusEnum.宸茬爜鍨�).FirstOrDefault();
+ if (oldupi != null)
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},UPI:{upiCode}鐮佸寘椤哄簭閿欒 ";
+ continue;
+ }
+
+ //璁板綍浠诲姟
+ var _id = Yitter.IdGenerator.YitIdHelper.NextId();
+ var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask();
+ var task = new wms_rbline_task()
+ {
+ Id = _id,
+ TaskNo = plcTaskNo,
+ UPI = upiObj.UPI,
+ Length = upiObj.Length,
+ Width = upiObj.Width,
+ Thk = upiObj.Thk,
+ IssueTime = DateTime.Now,
+ PlanNo = upiObj.PlanNo,
+ OrderId = upiObj.OrderId,
+ PackageCode = upiObj.PackageCode,
+ RbTaskType = (int)RbTaskTypeEnum.鐮佹澘浠诲姟,
+ RbTaskTypeEnumName = RbTaskTypeEnum.鐮佹澘浠诲姟.ToString(),
+ TaskStatus = (int)TaskStatusEnum.宸蹭笅鍙�,
+ TaskStatusName = TaskStatusEnum.宸蹭笅鍙�.ToString(),
+ TaskMsg = "鐮佹澘",
+ CreateTime = DateTime.Now,
+ CreateUserName = "CC",
+ UpdateTime = DateTime.Now,
+ UpdateUserName = "CC",
+ PlaceCode=place
+ };
+
+ wmsDB.wms_rbline_task.Add(task);
+
+ using (StationServiceClient client = new StationServiceClient())
+ {
+
+ var res = client.WritePalletizingTaskInfo((int)EDevice.Station, rgvLocation, Convert.ToInt32(task.TaskNo), islast,
+ (short)upiObj.Length, (short)upiObj.Width, (short)upiObj.Thk, isrotate, short.Parse(task.PlaceCode), placeX, placeY);
+ if (!res.result)
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 澶辫触,WriteInStoreTaskInfoAsync 杩斿洖:{res.resMsg}";
+ continue;
+ }
+ else
+ {
+ Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 鎴愬姛,WriteInStoreTaskInfoAsync锛屽弬鏁�: 绔欑偣{rgvLocation}");
+ }
+ }
+
+ wmsDB.SaveChanges();
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ39 += " 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
+ Log4NetHelper.WriteErrorLog(logType, " 鍑虹幇寮傚父锛�" + ex.Message, ex);
+ }
+ }
+ }
+ }
+}
diff --git "a/CC/iWareCC_ASRS/ThreadService/03_BZ12\050\346\234\272\345\231\250\344\272\272\347\240\201\345\214\205\345\267\245\344\275\215\051/DataProcess_BZ12_FinishTask.cs" "b/CC/iWareCC_ASRS/ThreadService/03_BZ12\050\346\234\272\345\231\250\344\272\272\347\240\201\345\214\205\345\267\245\344\275\215\051/DataProcess_BZ12_FinishTask.cs"
new file mode 100644
index 0000000..2ff0bc3
--- /dev/null
+++ "b/CC/iWareCC_ASRS/ThreadService/03_BZ12\050\346\234\272\345\231\250\344\272\272\347\240\201\345\214\205\345\267\245\344\275\215\051/DataProcess_BZ12_FinishTask.cs"
@@ -0,0 +1,12 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace iWareCC.ThreadService._03_BZ12_鏈哄櫒浜虹爜鍖呭伐浣峗
+{
+ internal class DataProcess_BZ12_FinishTask
+ {
+ }
+}
diff --git a/CC/iWareCC_ASRS/iWareCC.csproj b/CC/iWareCC_ASRS/iWareCC.csproj
index c71096e..9739ab6 100644
--- a/CC/iWareCC_ASRS/iWareCC.csproj
+++ b/CC/iWareCC_ASRS/iWareCC.csproj
@@ -161,6 +161,7 @@
<Compile Include="ThreadService\02_BZ39宸ヤ綅锛堣ˉ鏉垮悗宸ヤ綅锛塡Outbound\3銆丏ataProcess_RobotBuffer_FinishTaskForOutbound.cs" />
<Compile Include="ThreadService\02_BZ39宸ヤ綅锛堣ˉ鏉垮悗宸ヤ綅锛塡Inbound\2銆丏ataProcess_RobotBuffer_FinishTask.cs" />
<Compile Include="ThreadService\02_BZ39宸ヤ綅锛堣ˉ鏉垮悗宸ヤ綅锛塡Inbound\1銆丏ataProcess_BZ39.cs" />
+ <Compile Include="ThreadService\03_BZ12%28鏈哄櫒浜虹爜鍖呭伐浣�%29\DataProcess_BZ12.cs" />
<Compile Include="ThreadService\04_BZ21锛堟惉杩愭暣鍨涙満鍣ㄤ汉锛塡DataProcess_BZ21.cs" />
<Compile Include="WCF\CCWcfService.cs" />
<Compile Include="WCF\ICCWcfService.cs" />
@@ -353,8 +354,6 @@
<None Include="Resources\绌挎姣嶈溅1.jpg" />
<None Include="Resources\绌挎瀛愭瘝杞�%28褰╄壊%29.jpg" />
</ItemGroup>
- <ItemGroup>
- <Folder Include="ThreadService\03_BZ12%28鏈哄櫒浜虹爜鍖呭伐浣�%29\" />
- </ItemGroup>
+ <ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
diff --git a/CC/iWareCommon/Utils/Log4Net/LogType.cs b/CC/iWareCommon/Utils/Log4Net/LogType.cs
index 85eaa52..18fb3b6 100644
--- a/CC/iWareCommon/Utils/Log4Net/LogType.cs
+++ b/CC/iWareCommon/Utils/Log4Net/LogType.cs
@@ -103,6 +103,10 @@
/// <summary>
/// 閲嶆柊鑾峰彇鍙戝姩鏈轰俊鎭�
/// </summary>
- DataProcess_269 = 308
+ DataProcess_269 = 308,
+ /// <summary>
+ /// 鐮佹澘浠诲姟涓嬪彂
+ /// </summary>
+ DataProcess_BZ12 = 309,
}
}
diff --git a/CC/iWareSql/DataAccess/TaskHandler.cs b/CC/iWareSql/DataAccess/TaskHandler.cs
index 9a4526a..19a4fbf 100644
--- a/CC/iWareSql/DataAccess/TaskHandler.cs
+++ b/CC/iWareSql/DataAccess/TaskHandler.cs
@@ -35,6 +35,21 @@
return true;
}
+ /// <summary>
+ /// 楠岃瘉 鐮佹澘鏄惁鏈夋墽琛屼腑浠诲姟
+ /// </summary>
+ /// <param name="wmsDB"></param>
+ /// <returns></returns>
+ public static bool ValidateIssueTaskForBZ12(WmsDBModel.WmsDBModel wmsDB)
+ {
+ var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus == (int)TaskStatusEnum.宸蹭笅鍙�
+ && x.RbTaskType == (int)RbTaskTypeEnum.鐮佹澘浠诲姟).ToList();
+ if (isExist?.Count() > 0)
+ {
+ return false;
+ }
+ return true;
+ }
}
}
\ No newline at end of file
diff --git a/CC/iWareSql/WmsDBModel/wms_rbline_runmode.cs b/CC/iWareSql/WmsDBModel/wms_rbline_runmode.cs
index f719ea4..05254f5 100644
--- a/CC/iWareSql/WmsDBModel/wms_rbline_runmode.cs
+++ b/CC/iWareSql/WmsDBModel/wms_rbline_runmode.cs
@@ -43,5 +43,15 @@
public string UpdateUserName { get; set; }
public bool IsDelete { get; set; }
+
+ /// <summary>
+ /// 上一次码垛编号
+ /// </summary>
+ public string PalletizingUPI { get; set; }
+
+ /// <summary>
+ /// 上一次码垛站点
+ /// </summary>
+ public int? PalletizingStation { get; set; }
}
}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsTask/WmsRbLineRunMode.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsTask/WmsRbLineRunMode.cs
index 695ad1b..6436079 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsTask/WmsRbLineRunMode.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsTask/WmsRbLineRunMode.cs
@@ -53,7 +53,17 @@
public string? LineRunModeName { get; set; }
+ /// <summary>
+ /// 涓婁竴娆$爜鍨涚紪鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "PalletizingUPI", ColumnDescription = "涓婁竴娆$爜鍨涚紪鍙�", Length = 50)]
+ public string? PalletizingUPI { get; set; }
+ /// <summary>
+ /// 涓婁竴娆$爜鍨涚珯鐐�
+ /// </summary>
+ [SugarColumn(ColumnName = "PalletizingStation", ColumnDescription = "涓婁竴娆$爜鍨涚珯鐐�")]
+ public int? PalletizingStation { get; set; }
}
}
\ No newline at end of file
diff --git a/SDA/iWareSda/Common/Struct/WareSdaStruct.cs b/SDA/iWareSda/Common/Struct/WareSdaStruct.cs
index bc05fef..162acff 100644
--- a/SDA/iWareSda/Common/Struct/WareSdaStruct.cs
+++ b/SDA/iWareSda/Common/Struct/WareSdaStruct.cs
@@ -100,6 +100,9 @@
StationLocationEnum.棣栨鎵爜宸ヤ綅.ToString(),
StationLocationEnum.BZ01.ToString(),
StationLocationEnum.BZ39.ToString(),
+ StationLocationEnum.BZ21.ToString(),
+ StationLocationEnum.BZ12.ToString(),
+
};
diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs b/SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs
index 520c357..3aefa22 100644
--- a/SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs
+++ b/SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs
@@ -137,6 +137,43 @@
[Description("鍑哄簱瀹屾垚宸茬‘璁�")]
public bool W_OutboundFinishConfirm { get; set; }
+ /// <summary>
+ /// 鐮佸灈鏈澘鏍囧織
+ /// </summary>
+ [Description("鐮佸灈鏈澘鏍囧織")]
+ public bool W_EndMark { get; set; }
+
+ /// <summary>
+ /// 鐮佸灈浠诲姟鍙�
+ /// </summary>
+ [Description("鐮佸灈浠诲姟鍙�")]
+ public short W_PalletizingTaskID { get; set; }
+ /// <summary>
+ /// 鐮佸灈鏄惁鏃嬭浆
+ /// </summary>
+ [Description("鐮佸灈鏄惁鏃嬭浆")]
+ public short W_Rotate { get; set; }
+ /// <summary>
+ /// 鐮佸灈鐩爣宸ヤ綅
+ /// </summary>
+ [Description("鐮佸灈鐩爣宸ヤ綅")]
+ public short W_PalletizingStation { get; set; }
+ /// <summary>
+ /// 鐮佸灈浣嶇疆鍧愭爣X
+ /// </summary>
+ [Description("鐮佸灈浣嶇疆鍧愭爣X")]
+ public short W_PalletizingPlaceX { get; set; }
+ /// <summary>
+ /// 鐮佸灈浣嶇疆鍧愭爣Y
+ /// </summary>
+ [Description("鐮佸灈浣嶇疆鍧愭爣Y")]
+ public short W_PalletizingPlaceY { get; set; }
+ /// <summary>
+ /// 鐮佸灈浠诲姟瀹屾垚纭
+ /// </summary>
+ [Description("鐮佸灈浠诲姟瀹屾垚纭")]
+ public bool W_PalletizingTaskFinish { get; set; }
+
}
/// <summary>
@@ -155,7 +192,43 @@
/// </summary>
[Description("璇荤爜鏁版嵁瑙f瀽瀹屾垚")]
public string W_DataFinish { get; set; }
+
+ /// <summary>
+ /// 鐮佸灈鏈澘鏍囧織
+ /// </summary>
+ [Description("鐮佸灈鏈澘鏍囧織")]
+ public string W_EndMark { get; set; }
+ /// <summary>
+ /// 鐮佸灈浠诲姟鍙�
+ /// </summary>
+ [Description("鐮佸灈浠诲姟鍙�")]
+ public string W_PalletizingTaskID { get; set; }
+ /// <summary>
+ /// 鐮佸灈鏄惁鏃嬭浆
+ /// </summary>
+ [Description("鐮佸灈鏄惁鏃嬭浆")]
+ public string W_Rotate { get; set; }
+ /// <summary>
+ /// 鐮佸灈鐩爣宸ヤ綅
+ /// </summary>
+ [Description("鐮佸灈鐩爣宸ヤ綅")]
+ public string W_PalletizingStation { get; set; }
+ /// <summary>
+ /// 鐮佸灈浣嶇疆鍧愭爣X
+ /// </summary>
+ [Description("鐮佸灈浣嶇疆鍧愭爣X")]
+ public string W_PalletizingPlaceX { get; set; }
+ /// <summary>
+ /// 鐮佸灈浣嶇疆鍧愭爣Y
+ /// </summary>
+ [Description("鐮佸灈浣嶇疆鍧愭爣Y")]
+ public string W_PalletizingPlaceY { get; set; }
+ /// <summary>
+ /// 鐮佸灈浠诲姟瀹屾垚纭
+ /// </summary>
+ [Description("鐮佸灈浠诲姟瀹屾垚纭")]
+ public string W_PalletizingTaskFinish { get; set; }
/// <summary>
/// 榻愬淇℃伅锛�998榻愬锛�999寮傚父鍑哄簱锛�
/// </summary>
@@ -401,6 +474,27 @@
/// </summary>
[Description("鍑哄簱浠诲姟鍙�")]
public short R_Outbound_TaskID { get; set; }
+
+ /// <summary>
+ /// 鐮佸灈鏀捐揣瀹屾垚
+ /// </summary>
+ [Description("鐮佸灈鏀捐揣瀹屾垚")]
+ public bool R_PalletizingFinish { get; set; }
+ /// <summary>
+ /// 鐮佸灈璇诲彇浠诲姟鍙�
+ /// </summary>
+ [Description("鐮佸灈璇诲彇浠诲姟鍙�")]
+ public short R_PalletizingTaskNo { get; set; }
+ /// <summary>
+ /// 鐮佸灈浣嶇疆1鐘舵��
+ /// </summary>
+ [Description("鐮佸灈浣嶇疆1鐘舵��")]
+ public short R_PalletizingStation1 { get; set; }
+ /// <summary>
+ /// 鐮佸灈浣嶇疆2鐘舵��
+ /// </summary>
+ [Description("鐮佸灈浣嶇疆2鐘舵��")]
+ public short R_PalletizingStation2 { get; set; }
}
public class StationDBForReadComm
@@ -460,6 +554,25 @@
/// </summary>
[Description("鍑哄簱浠诲姟鍙�")]
public string R_Outbound_TaskID { get; set; }
-
+ /// <summary>
+ /// 鐮佸灈鏀捐揣瀹屾垚
+ /// </summary>
+ [Description("鐮佸灈鏀捐揣瀹屾垚")]
+ public string R_PalletizingFinish { get; set; }
+ /// <summary>
+ /// 鐮佸灈璇诲彇浠诲姟鍙�
+ /// </summary>
+ [Description("鐮佸灈璇诲彇浠诲姟鍙�")]
+ public string R_PalletizingTaskNo { get; set; }
+ /// <summary>
+ /// 鐮佸灈浣嶇疆1鐘舵��
+ /// </summary>
+ [Description("鐮佸灈浣嶇疆1鐘舵��")]
+ public string R_PalletizingStation1 { get; set; }
+ /// <summary>
+ /// 鐮佸灈浣嶇疆2鐘舵��
+ /// </summary>
+ [Description("鐮佸灈浣嶇疆2鐘舵��")]
+ public string R_PalletizingStation2 { get; set; }
}
}
diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs b/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
index 368ac29..3cf12bb 100644
--- a/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
+++ b/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
@@ -358,7 +358,153 @@
return false;
}
}
+ /// <summary>
+ /// 鍐欏叆鐮佸灈浠诲姟淇℃伅
+ /// </summary>
+ /// <param name="stationCode"></param>
+ /// <param name=""></param>
+ /// <param name="taskID"></param>
+ /// <param name="isLast"></param>
+ /// <param name="length"></param>
+ /// <param name="width"></param>
+ /// <param name="height"></param>
+ /// <param name="rotate"></param>
+ /// <param name="toplace"></param>
+ /// <param name="placeX"></param>
+ /// <param name="placeY"></param>
+ /// <param name=""></param>
+ /// <param name=""></param>
+ /// <returns></returns>
+ public bool WritePalletizingTaskInfo(string stationCode, int taskID, bool isLast, short length, short width, short height, short rotate, short toplace, short placeX, short placeY, out string msg)
+ {
+ try
+ {
+ msg = "";
+ var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
+ var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
+
+ MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingTaskID, taskID, view_stationObj.W_PalletizingTaskID);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鐮佸灈浠诲姟鍙� " + taskID + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_Inbound_TaskID);
+ return false;
+ }
+
+ b2 = this.plcService.WriteValuePoint(stationObj.W_EndMark, isLast, view_stationObj.W_EndMark);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鏄惁鏈澘 " + isLast + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_Destination_In);
+ return false;
+ }
+
+ b2 = this.plcService.WriteValuePoint(stationObj.W_Length, length, view_stationObj.W_Length);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 闀垮害 " + length + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_Length);
+ return false;
+ }
+ b2 = this.plcService.WriteValuePoint(stationObj.W_Width, width, view_stationObj.W_Width);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 瀹藉害 " + width + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_Width);
+ return false;
+ }
+ b2 = this.plcService.WriteValuePoint(stationObj.W_Height, height, view_stationObj.W_Height);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 楂樺害 " + height + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_Height);
+ return false;
+ }
+ b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingStation, toplace, view_stationObj.W_PalletizingStation);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鐩爣浣� " + toplace + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_Height);
+ return false;
+ }
+ b2 = this.plcService.WriteValuePoint(stationObj.W_Rotate, rotate, view_stationObj.W_Rotate);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鏄惁鏃嬭浆 " + rotate + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_Height);
+ return false;
+ }
+ b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingPlaceX, placeX, view_stationObj.W_PalletizingPlaceX);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� X鍧愭爣 " + placeX + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_Height);
+ return false;
+ }
+ b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingPlaceY, placeY, view_stationObj.W_PalletizingPlaceY);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� Y鍧愭爣 " + placeY + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_Height);
+ return false;
+ }
+
+ b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 璇荤爜瑙f瀽瀹屾垚 " + true + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_DataFinish);
+ return false;
+ }
+
+
+ return true;
+ }
+ catch (Exception ex)
+ {
+ msg = ex.Message;
+ var logcontext = string.Format("WriteInStoreTaskInfo鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex),
+ "");
+ Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex);
+ return false;
+ }
+ }
+
+ /// <summary>
+ /// 鍐欏叆绔欑偣浠诲姟瀹屾垚纭
+ /// </summary>
+ /// <param name="stationCode"></param>
+ /// <param name="value"></param>
+ /// <param name="msg"></param>
+ /// <returns></returns>
+ public bool WriteStation_FinishACK(string stationCode, bool value, out string msg)
+ {
+ try
+ {
+ msg = "";
+ var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
+
+ var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
+ MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingTaskFinish, value, view_stationObj.W_PalletizingTaskFinish);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation"+stationCode+" 鍐欏叆浠诲姟瀹屾垚纭 鍦板潃{0} 鍐� " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_OutboundFinishConfirm);
+ return false;
+ }
+
+ return true;
+ }
+ catch (Exception ex)
+ {
+ msg = ex.Message;
+ var logcontext = string.Format("鍚慡tatio 鍑哄簱浠诲姟瀹屾垚纭 鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex),
+ "");
+ Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex);
+ return false;
+ }
+ }
public bool WriteOutStoreTaskInfo(string stationCode, string sourcePlaceNo, out string msg, int outbound_TaskID)
{
diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs b/SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs
index 61b8c06..446480d 100644
--- a/SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs
+++ b/SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs
@@ -20,6 +20,7 @@
/// 鍐欏叆DB
/// </summary>
public static string W_DBHeaderWithSeparate_BZ39 = "3002" + WareSdaStruct.PLCDBADDRESS_SEPARATE;
+ public static string W_DBHeaderWithSeparate_BZ12 = "3003" + WareSdaStruct.PLCDBADDRESS_SEPARATE;
public static string W_DBHeaderWithSeparate_BZ01 = "3001" + WareSdaStruct.PLCDBADDRESS_SEPARATE;
/// <summary>
@@ -180,6 +181,26 @@
});
+ _dbBlockForWrite.W_StationForWriteCommList.Add(new StationDBForWriteComm()
+ {
+ StationCode = StationLocationEnum.BZ12.ToString(),
+
+ W_DataFinish = W_DBHeaderWithSeparate_BZ12 + "0.0",
+ W_EndMark = W_DBHeaderWithSeparate_BZ12 + "0.1",
+ W_PalletizingPlaceX = W_DBHeaderWithSeparate_BZ12 + "12.0",
+ W_PalletizingPlaceY = W_DBHeaderWithSeparate_BZ12 + "14.0",
+
+ W_PalletizingTaskID = W_DBHeaderWithSeparate_BZ12 + "20.0",
+ W_Rotate = W_DBHeaderWithSeparate_BZ12 + "8.0",
+
+ W_Length = W_DBHeaderWithSeparate_BZ12 + "2.0",
+ W_Width = W_DBHeaderWithSeparate_BZ12 + "4.0",
+ W_Height = W_DBHeaderWithSeparate_BZ12 + "6.0",
+
+ W_PalletizingStation = W_DBHeaderWithSeparate_BZ12 + "10.0",
+
+ });
+
return _dbBlockForWrite;
}
@@ -226,6 +247,23 @@
});
+ _dbBlockForRead.R_StationForReadCommList.Add(new StationDBForReadComm()
+ {
+ StationCode = StationLocationEnum.BZ12.ToString(),
+
+ R_ReqParseData = W_DBHeaderWithSeparate_BZ12 + "50.0",
+ R_PalletizingFinish = W_DBHeaderWithSeparate_BZ12 + "50.1",
+ R_PalletizingTaskNo = W_DBHeaderWithSeparate_BZ12 + "50.2",
+ R_ReadCodeResult = W_DBHeaderWithSeparate_BZ12 + "52.0",
+ R_PalletizingStation1 = W_DBHeaderWithSeparate_BZ12 + "104.0",
+ R_PalletizingStation2 = W_DBHeaderWithSeparate_BZ12 + "106.0",
+
+ //R_Inbound_TaskID = W_DBHeaderWithSeparate_BZ12 + "112.0",
+ //R_Outbound_TaskID = W_DBHeaderWithSeparate_BZ12 + "114.0",
+
+ });
+
+
return _dbBlockForRead;
}
diff --git a/SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs b/SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs
index ab94395..14f0541 100644
--- a/SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs
+++ b/SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs
@@ -131,6 +131,25 @@
SdaResEntity WriteOutStoreTaskInfo(int deviceId, string stationCode, string sourcePlaceNo, int outbound_TaskID);
/// <summary>
+ /// 鍐欏叆鐮佹澘浠诲姟淇℃伅
+ /// </summary>
+ /// <param name="deviceId"></param>
+ /// <param name="value"></param>
+ /// <returns></returns>
+ [OperationContract]
+
+ SdaResEntity WritePalletizingTaskInfo(int deviceId, string stationCode, int taskID, bool isLast, short length, short width, short height, short rotate, short toplace, short placeX, short placeY);
+
+ /// <summary>
+ /// 鐮佸灈瀹屾垚宸茬‘璁�
+ /// </summary>
+ /// <param name="deviceId"></param>
+ /// <param name="value"></param>
+ /// <returns></returns
+ [OperationContract]
+ SdaResEntity SetPalletizingTaskFinishAck(int deviceId, bool value, string stationCode);
+
+ /// <summary>
/// Station鐨勪换鍔″畬鎴怉CK璧嬪��
/// </summary>
/// <param name="deviceId"></param>
diff --git a/SDA/iWareSda/Devices/4-Station/StationService/StationService.cs b/SDA/iWareSda/Devices/4-Station/StationService/StationService.cs
index 90b9047..31e2d98 100644
--- a/SDA/iWareSda/Devices/4-Station/StationService/StationService.cs
+++ b/SDA/iWareSda/Devices/4-Station/StationService/StationService.cs
@@ -533,8 +533,68 @@
return _SdaResEntity;
}
}
+ /// <summary>
+ /// 鍐欏叆鐮佹澘浠诲姟淇℃伅
+ /// </summary>
+ /// <param name="deviceId"></param>
+ /// <param name="value"></param>
+ /// <returns></returns>
+ public SdaResEntity WritePalletizingTaskInfo(int deviceId, string stationCode,int taskID, bool isLast, short length, short width, short height,short rotate,short toplace,short placeX,short placeY)
+ {
+ SdaResEntity _SdaResEntity = new SdaResEntity();
+ try
+ {
+ var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
+ if (!StationResult.result)
+ {
+ return StationResult;
+ }
+ var Station = StationResult.resData as StationEntity;
+ string msg = "";
+ var result = Station.WritePalletizingTaskInfo(stationCode, taskID,isLast, length, width, height,rotate,toplace,placeX,placeY,out msg);
+ _SdaResEntity.result = result;
+ _SdaResEntity.resMsg = msg;
+ return _SdaResEntity;
+ }
+ catch (Exception ex)
+ {
+ _SdaResEntity.result = false;
+ _SdaResEntity.resMsg = ex.Message;
+ return _SdaResEntity;
+ }
+ }
+ /// <summary>
+ /// 鐮佸灈瀹屾垚宸茬‘璁�
+ /// </summary>
+ /// <param name="deviceId"></param>
+ /// <param name="value"></param>
+ /// <returns></returns>
+ public SdaResEntity SetPalletizingTaskFinishAck(int deviceId, bool value, string stationCode)
+ {
+ SdaResEntity _SdaResEntity = new SdaResEntity();
+ try
+ {
+ var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
+ if (!StationResult.result)
+ {
+ return StationResult;
+ }
+ var Station = StationResult.resData as StationEntity;
+ string msg = "";
+ var result = Station.WriteStation_FinishACK(stationCode, value, out msg);
+ _SdaResEntity.result = result;
+ _SdaResEntity.resMsg = msg;
+ return _SdaResEntity;
+ }
+ catch (Exception ex)
+ {
+ _SdaResEntity.result = false;
+ _SdaResEntity.resMsg = ex.Message;
+ return _SdaResEntity;
+ }
+ }
/// <summary>
/// 鍐欏叆鍑哄簱浠诲姟淇℃伅
/// </summary>
diff --git a/SDA/iWareSda/Model/StationLocationEnum.cs b/SDA/iWareSda/Model/StationLocationEnum.cs
index fae8af5..ed977df 100644
--- a/SDA/iWareSda/Model/StationLocationEnum.cs
+++ b/SDA/iWareSda/Model/StationLocationEnum.cs
@@ -26,8 +26,14 @@
/// </summary>
BZ39 = 102,
+ /// <summary>
+ /// 鍙犵増宸ヤ綅
+ /// </summary>
BZ12 = 103,
+ /// <summary>
+ /// 鍚堝寘宸ヤ綅
+ /// </summary>
BZ21 = 104
}
}
--
Gitblit v1.9.3