From 327dbcbe3e6ee5fea207422c7792fc35a1027638 Mon Sep 17 00:00:00 2001
From: zongzhibin <zongzhibin@weben-smart.com>
Date: 周二, 26 11月 2024 09:15:24 +0800
Subject: [PATCH] add
---
CC/iWareCC_ASRS/ThreadService/04_BZ21(搬运整垛机器人)/DataProcess_BZ21_FinishTask.cs | 12
CC/iWareSql/DataAccess/TaskHandler.cs | 12
CC/iWareCC_ASRS/Common/SystemWarningMsg.cs | 5
CC/iWareSql/WmsDBModel/mes_batchOrderUPI_new.cs | 69 ++++
SDA/iWareSda/Devices/4-Station/StationService/StationService.cs | 67 ++++
SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs | 9
CC/iWareCommon/Utils/Log4Net/LogType.cs | 2
CC/iWareCC_ASRS/FormCC.cs | 3
SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs | 65 ++++
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 | 32 ++
CC/iWareCC_ASRS/ThreadService/03_BZ12(机器人码包工位)/DataProcess_BZ12_FinishTask.cs | 8
CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd | 6
CC/iWareCC_ASRS/ThreadService/03_BZ12(机器人码包工位)/DataProcess_BZ12.cs | 11
CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs | 136 +++++++++
SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs | 138 +++++++++
CC/iWareCC_ASRS/ThreadService/04_BZ21(搬运整垛机器人)/DataProcess_BZ21.cs | 128 +++++++++
CC/iWareCC_ASRS/iWareCC.csproj | 1
19 files changed, 759 insertions(+), 29 deletions(-)
diff --git a/CC/iWareCC_ASRS/Common/SystemWarningMsg.cs b/CC/iWareCC_ASRS/Common/SystemWarningMsg.cs
index 22792ea..7c8e007 100644
--- a/CC/iWareCC_ASRS/Common/SystemWarningMsg.cs
+++ b/CC/iWareCC_ASRS/Common/SystemWarningMsg.cs
@@ -122,7 +122,10 @@
/// 鑷姩鐮佹澘浠诲姟 鐨勮鍛婃秷鎭�
/// </summary>
public static string _lbl_alert_DataProcess_BZ12 = string.Empty;
-
+ /// <summary>
+ /// 鑷姩鐮佹澘浠诲姟 鐨勮鍛婃秷鎭�
+ /// </summary>
+ public static string _lbl_alert_DataProcess_BZ21 = string.Empty;
/// <summary>
/// 鑷姩缁勭洏浠诲姟涓嬪彂 鐨勮鍛婃秷鎭�
/// </summary>
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs b/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs
index 15f96cd..ba6bf67 100644
--- a/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs
@@ -242,6 +242,12 @@
private short R_StateField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
+ private bool R_SurrouondTaskFinishField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private short R_SurrouondTaskNoField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
private int R_TaskIDField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
@@ -518,6 +524,32 @@
}
[System.Runtime.Serialization.DataMemberAttribute()]
+ public bool R_SurrouondTaskFinish {
+ get {
+ return this.R_SurrouondTaskFinishField;
+ }
+ set {
+ if ((this.R_SurrouondTaskFinishField.Equals(value) != true)) {
+ this.R_SurrouondTaskFinishField = value;
+ this.RaisePropertyChanged("R_SurrouondTaskFinish");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public short R_SurrouondTaskNo {
+ get {
+ return this.R_SurrouondTaskNoField;
+ }
+ set {
+ if ((this.R_SurrouondTaskNoField.Equals(value) != true)) {
+ this.R_SurrouondTaskNoField = value;
+ this.RaisePropertyChanged("R_SurrouondTaskNo");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
public int R_TaskID {
get {
return this.R_TaskIDField;
@@ -584,6 +616,9 @@
private bool W_EndMarkField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
+ private bool W_FirstMarkField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
private short W_HeightField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
@@ -623,6 +658,9 @@
private short W_PalletizingPlaceYField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
+ private short W_PalletizingPlaceZField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
private short W_PalletizingStationField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
@@ -636,6 +674,12 @@
[System.Runtime.Serialization.OptionalFieldAttribute()]
private short W_RotateField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private bool W_SurroundTaskFinishField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private int W_SurroundTaskNoField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private short W_WidthField;
@@ -743,6 +787,19 @@
if ((this.W_EndMarkField.Equals(value) != true)) {
this.W_EndMarkField = value;
this.RaisePropertyChanged("W_EndMark");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public bool W_FirstMark {
+ get {
+ return this.W_FirstMarkField;
+ }
+ set {
+ if ((this.W_FirstMarkField.Equals(value) != true)) {
+ this.W_FirstMarkField = value;
+ this.RaisePropertyChanged("W_FirstMark");
}
}
}
@@ -917,6 +974,19 @@
}
[System.Runtime.Serialization.DataMemberAttribute()]
+ public short W_PalletizingPlaceZ {
+ get {
+ return this.W_PalletizingPlaceZField;
+ }
+ set {
+ if ((this.W_PalletizingPlaceZField.Equals(value) != true)) {
+ this.W_PalletizingPlaceZField = value;
+ this.RaisePropertyChanged("W_PalletizingPlaceZ");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
public short W_PalletizingStation {
get {
return this.W_PalletizingStationField;
@@ -977,6 +1047,32 @@
if ((this.W_RotateField.Equals(value) != true)) {
this.W_RotateField = value;
this.RaisePropertyChanged("W_Rotate");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public bool W_SurroundTaskFinish {
+ get {
+ return this.W_SurroundTaskFinishField;
+ }
+ set {
+ if ((this.W_SurroundTaskFinishField.Equals(value) != true)) {
+ this.W_SurroundTaskFinishField = value;
+ this.RaisePropertyChanged("W_SurroundTaskFinish");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public int W_SurroundTaskNo {
+ get {
+ return this.W_SurroundTaskNoField;
+ }
+ set {
+ if ((this.W_SurroundTaskNoField.Equals(value) != true)) {
+ this.W_SurroundTaskNoField = value;
+ this.RaisePropertyChanged("W_SurroundTaskNo");
}
}
}
@@ -1738,16 +1834,28 @@
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);
+ iWareCC.StationService.SdaResEntity WritePalletizingTaskInfo(int deviceId, string stationCode, int taskID, bool isLast, bool isFirst, short length, short width, short height, short rotate, short toplace, short placeX, short placeY, short placeZ);
[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.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WritePalletizingTaskInfoAsync(int deviceId, string stationCode, int taskID, bool isLast, bool isFirst, short length, short width, short height, short rotate, short toplace, short placeX, short placeY, short placeZ);
[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/WriteSurroundTaskInfo", ReplyAction="http://tempuri.org/IStationService/WriteSurroundTaskInfoResponse")]
+ iWareCC.StationService.SdaResEntity WriteSurroundTaskInfo(int deviceId, string stationCode, int taskID, short length, short width, short cartonhigh, short cartonwidth, short placex, short placey);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteSurroundTaskInfo", ReplyAction="http://tempuri.org/IStationService/WriteSurroundTaskInfoResponse")]
+ System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WriteSurroundTaskInfoAsync(int deviceId, string stationCode, int taskID, short length, short width, short cartonhigh, short cartonwidth, short placex, short placey);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/SetSurroundTaskFinishAck", ReplyAction="http://tempuri.org/IStationService/SetSurroundTaskFinishAckResponse")]
+ iWareCC.StationService.SdaResEntity SetSurroundTaskFinishAck(int deviceId, bool value, string stationCode);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/SetSurroundTaskFinishAck", ReplyAction="http://tempuri.org/IStationService/SetSurroundTaskFinishAckResponse")]
+ System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> SetSurroundTaskFinishAckAsync(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);
@@ -1915,12 +2023,12 @@
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 iWareCC.StationService.SdaResEntity WritePalletizingTaskInfo(int deviceId, string stationCode, int taskID, bool isLast, bool isFirst, short length, short width, short height, short rotate, short toplace, short placeX, short placeY, short placeZ) {
+ return base.Channel.WritePalletizingTaskInfo(deviceId, stationCode, taskID, isLast, isFirst, length, width, height, rotate, toplace, placeX, placeY, placeZ);
}
- 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 System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WritePalletizingTaskInfoAsync(int deviceId, string stationCode, int taskID, bool isLast, bool isFirst, short length, short width, short height, short rotate, short toplace, short placeX, short placeY, short placeZ) {
+ return base.Channel.WritePalletizingTaskInfoAsync(deviceId, stationCode, taskID, isLast, isFirst, length, width, height, rotate, toplace, placeX, placeY, placeZ);
}
public iWareCC.StationService.SdaResEntity SetPalletizingTaskFinishAck(int deviceId, bool value, string stationCode) {
@@ -1931,6 +2039,22 @@
return base.Channel.SetPalletizingTaskFinishAckAsync(deviceId, value, stationCode);
}
+ public iWareCC.StationService.SdaResEntity WriteSurroundTaskInfo(int deviceId, string stationCode, int taskID, short length, short width, short cartonhigh, short cartonwidth, short placex, short placey) {
+ return base.Channel.WriteSurroundTaskInfo(deviceId, stationCode, taskID, length, width, cartonhigh, cartonwidth, placex, placey);
+ }
+
+ public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WriteSurroundTaskInfoAsync(int deviceId, string stationCode, int taskID, short length, short width, short cartonhigh, short cartonwidth, short placex, short placey) {
+ return base.Channel.WriteSurroundTaskInfoAsync(deviceId, stationCode, taskID, length, width, cartonhigh, cartonwidth, placex, placey);
+ }
+
+ public iWareCC.StationService.SdaResEntity SetSurroundTaskFinishAck(int deviceId, bool value, string stationCode) {
+ return base.Channel.SetSurroundTaskFinishAck(deviceId, value, stationCode);
+ }
+
+ public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> SetSurroundTaskFinishAckAsync(int deviceId, bool value, string stationCode) {
+ return base.Channel.SetSurroundTaskFinishAckAsync(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 68448b7..f48a7f4 100644
--- a/CC/iWareCC_ASRS/Connected Services/StationService/StationService.wsdl
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/StationService.wsdl
@@ -111,6 +111,18 @@
<wsdl:message name="IStationService_SetPalletizingTaskFinishAck_OutputMessage">
<wsdl:part name="parameters" element="tns:SetPalletizingTaskFinishAckResponse" />
</wsdl:message>
+ <wsdl:message name="IStationService_WriteSurroundTaskInfo_InputMessage">
+ <wsdl:part name="parameters" element="tns:WriteSurroundTaskInfo" />
+ </wsdl:message>
+ <wsdl:message name="IStationService_WriteSurroundTaskInfo_OutputMessage">
+ <wsdl:part name="parameters" element="tns:WriteSurroundTaskInfoResponse" />
+ </wsdl:message>
+ <wsdl:message name="IStationService_SetSurroundTaskFinishAck_InputMessage">
+ <wsdl:part name="parameters" element="tns:SetSurroundTaskFinishAck" />
+ </wsdl:message>
+ <wsdl:message name="IStationService_SetSurroundTaskFinishAck_OutputMessage">
+ <wsdl:part name="parameters" element="tns:SetSurroundTaskFinishAckResponse" />
+ </wsdl:message>
<wsdl:message name="IStationService_WriteStation_FinishACK_InputMessage">
<wsdl:part name="parameters" element="tns:WriteStation_FinishACK" />
</wsdl:message>
@@ -197,6 +209,14 @@
<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="WriteSurroundTaskInfo">
+ <wsdl:input wsaw:Action="http://tempuri.org/IStationService/WriteSurroundTaskInfo" message="tns:IStationService_WriteSurroundTaskInfo_InputMessage" />
+ <wsdl:output wsaw:Action="http://tempuri.org/IStationService/WriteSurroundTaskInfoResponse" message="tns:IStationService_WriteSurroundTaskInfo_OutputMessage" />
+ </wsdl:operation>
+ <wsdl:operation name="SetSurroundTaskFinishAck">
+ <wsdl:input wsaw:Action="http://tempuri.org/IStationService/SetSurroundTaskFinishAck" message="tns:IStationService_SetSurroundTaskFinishAck_InputMessage" />
+ <wsdl:output wsaw:Action="http://tempuri.org/IStationService/SetSurroundTaskFinishAckResponse" message="tns:IStationService_SetSurroundTaskFinishAck_OutputMessage" />
</wsdl:operation>
<wsdl:operation name="WriteStation_FinishACK">
<wsdl:input wsaw:Action="http://tempuri.org/IStationService/WriteStation_FinishACK" message="tns:IStationService_WriteStation_FinishACK_InputMessage" />
@@ -366,6 +386,24 @@
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
+ <wsdl:operation name="WriteSurroundTaskInfo">
+ <soap:operation soapAction="http://tempuri.org/IStationService/WriteSurroundTaskInfo" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="SetSurroundTaskFinishAck">
+ <soap:operation soapAction="http://tempuri.org/IStationService/SetSurroundTaskFinishAck" 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 69d2d9c..d4a1fed 100644
--- a/CC/iWareCC_ASRS/Connected Services/StationService/item2.xsd
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/item2.xsd
@@ -247,6 +247,7 @@
<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="isFirst" 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" />
@@ -254,6 +255,7 @@
<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:element minOccurs="0" name="placeZ" type="xs:short" />
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -280,6 +282,44 @@
</xs:sequence>
</xs:complexType>
</xs:element>
+ <xs:element name="WriteSurroundTaskInfo">
+ <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="length" type="xs:short" />
+ <xs:element minOccurs="0" name="width" type="xs:short" />
+ <xs:element minOccurs="0" name="cartonhigh" type="xs:short" />
+ <xs:element minOccurs="0" name="cartonwidth" 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="WriteSurroundTaskInfoResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element xmlns:q18="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteSurroundTaskInfoResult" nillable="true" type="q18:SdaResEntity" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SetSurroundTaskFinishAck">
+ <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="SetSurroundTaskFinishAckResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element xmlns:q19="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="SetSurroundTaskFinishAckResult" nillable="true" type="q19:SdaResEntity" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
<xs:element name="WriteStation_FinishACK">
<xs:complexType>
<xs:sequence>
@@ -292,7 +332,7 @@
<xs:element name="WriteStation_FinishACKResponse">
<xs:complexType>
<xs:sequence>
- <xs:element xmlns:q18="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_FinishACKResult" nillable="true" type="q18:SdaResEntity" />
+ <xs:element xmlns:q20="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_FinishACKResult" nillable="true" type="q20:SdaResEntity" />
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -310,7 +350,7 @@
<xs:element name="WriteScanValidateACKResponse">
<xs:complexType>
<xs:sequence>
- <xs:element xmlns:q19="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteScanValidateACKResult" nillable="true" type="q19:SdaResEntity" />
+ <xs:element xmlns:q21="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteScanValidateACKResult" nillable="true" type="q21:SdaResEntity" />
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -328,7 +368,7 @@
<xs:element name="WriteStation_XigangGetDataForOutResponse">
<xs:complexType>
<xs:sequence>
- <xs:element xmlns:q20="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_XigangGetDataForOutResult" nillable="true" type="q20:SdaResEntity" />
+ <xs:element xmlns:q22="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_XigangGetDataForOutResult" nillable="true" type="q22: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 4afaded..9020b6a 100644
--- a/CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd
@@ -28,6 +28,8 @@
<xs:element minOccurs="0" name="R_ReqParseData" type="xs:boolean" />
<xs:element minOccurs="0" name="R_Shape" type="xs:short" />
<xs:element minOccurs="0" name="R_State" type="xs:short" />
+ <xs:element minOccurs="0" name="R_SurrouondTaskFinish" type="xs:boolean" />
+ <xs:element minOccurs="0" name="R_SurrouondTaskNo" type="xs:short" />
<xs:element minOccurs="0" name="R_TaskID" type="xs:int" />
<xs:element minOccurs="0" name="StationCode" nillable="true" type="xs:string" />
</xs:sequence>
@@ -48,6 +50,7 @@
<xs:element minOccurs="0" name="W_Destination_In" type="xs:int" />
<xs:element minOccurs="0" name="W_Destination_Out" type="xs:int" />
<xs:element minOccurs="0" name="W_EndMark" type="xs:boolean" />
+ <xs:element minOccurs="0" name="W_FirstMark" 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:short" />
@@ -61,11 +64,14 @@
<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_PalletizingPlaceZ" 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_SurroundTaskFinish" type="xs:boolean" />
+ <xs:element minOccurs="0" name="W_SurroundTaskNo" type="xs:int" />
<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 2eba145..928fb05 100644
--- a/CC/iWareCC_ASRS/FormCC.cs
+++ b/CC/iWareCC_ASRS/FormCC.cs
@@ -6,6 +6,7 @@
using iWareCC.StationService;
using iWareCC.ThreadService;
using iWareCC.ThreadService._03_BZ12_鏈哄櫒浜虹爜鍖呭伐浣峗;
+using iWareCC.ThreadService._04_BZ21_鎼繍鏁村灈鏈哄櫒浜篲;
using iWareCC.WCF;
using iWareCommon.Common.Globle;
using iWareCommon.Utils;
@@ -242,6 +243,8 @@
new Thread(DataProcess_BZ12.Hander).Start();
new Thread(DataProcess_BZ12_FinishTask.Handler).Start();
+ new Thread(DataProcess_BZ21.Hander).Start();
+ new Thread(DataProcess_BZ21_FinishTask.Handler).Start();
new Thread(DeleteData).Start();
new Thread(PrintHandler.Handler).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"
index 93a2133..33c1b32 100644
--- "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"
@@ -44,14 +44,16 @@
}
var upiCode = result.Replace("/r", ""); ;
bool islast = false;//鏄惁鏈澘
+ bool isfirst = false;//鏄惁鏈澘
short isrotate = 0;//鏄惁鏃嬭浆
short placeX = 0;
short placeY = 0;
+ short placeZ = 0;
string place = "";
using (WmsDBModel wmsDB = new WmsDBModel())
{
//瑕佹槸鏈夊凡涓嬪彂鐨勪换鍔★紝灏变笉瑕佹墽琛�
- var isValidate = TaskHandler.ValidateIssueTaskForBZ12(wmsDB);
+ var isValidate = TaskHandler.ValidateIssueTaskForBZ12(wmsDB,result);
if (!isValidate)
{
SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-鏈夆�樺凡涓嬪彂鈥欑殑浠诲姟锛屼笉鑳藉鐞�,姝ゆ寰幆缁撴潫";
@@ -66,6 +68,8 @@
isrotate = 1;
placeX = (short)upiObj.MachineXCenter;
placeY = (short)upiObj.MachineYCenter;
+ placeZ = (short)upiObj.MachineZCenter;
+
//鏌ュ杩欏寘鎵�鏈夌殑鏁伴噺
var upiList = wmsDB.mes_batchOrderUPI_new.Where(x => x.PackageCode == upiObj.PackageCode).ToList();
//鏌ヨ鏄惁鏈澘骞朵笖鍒ゆ柇鏈夋病鏈夋贩鎵�
@@ -88,6 +92,7 @@
}
else
{
+ isfirst = true;
wms_rbline_runmode.PalletizingUPI = upiObj.PackageCode;
if (obj.R_PalletizingStation1 == 1)
{
@@ -153,8 +158,8 @@
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);
+ var res = client.WritePalletizingTaskInfo((int)EDevice.Station, rgvLocation, Convert.ToInt32(task.TaskNo), islast,isfirst,
+ (short)upiObj.Length, (short)upiObj.Width, (short)upiObj.Thk, isrotate, short.Parse(task.PlaceCode), placeX, placeY,placeZ);
if (!res.result)
{
SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 澶辫触,WriteInStoreTaskInfoAsync 杩斿洖:{res.resMsg}";
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"
index 114543a..103abe3 100644
--- "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"
@@ -52,7 +52,7 @@
using (WmsDBModel wmsDB = new WmsDBModel())
{
var task = wmsDB.wms_rbline_task.Where(x =>
- x.TaskNo == obj.R_Inbound_TaskID.ToString()
+ x.TaskNo == obj.R_PalletizingTaskNo.ToString()
&& x.RbTaskType == (int)RbTaskTypeEnum.鐮佹澘浠诲姟
&& x.TaskStatus == (int)TaskStatusEnum.宸蹭笅鍙�).FirstOrDefault();
if (task == null)
@@ -60,7 +60,11 @@
SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = $"{rgvLocation.ToString()},鏍规嵁 R_InboundNumber:{obj.R_InboundNumber}娌℃湁鎵惧埌宸蹭笅鍙戠殑浠诲姟 ";
continue;
}
-
+ var upiobj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == task.UPI).FirstOrDefault();
+ if (upiobj != null)
+ {
+ upiobj.UpiStatus = 3;
+ }
task.TaskStatus = (int)TaskStatusEnum.宸插畬鎴�;
task.TaskStatusName = TaskStatusEnum.宸插畬鎴�.ToString();
task.FinishedTime = DateTime.Now;
diff --git "a/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/DataProcess_BZ21.cs" "b/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/DataProcess_BZ21.cs"
index 9c62d16..3b873f0 100644
--- "a/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/DataProcess_BZ21.cs"
+++ "b/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/DataProcess_BZ21.cs"
@@ -1,4 +1,9 @@
-锘縰sing iWareCommon.Utils;
+锘縰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;
@@ -11,7 +16,128 @@
{
public class DataProcess_BZ21
{
+ public static void Hander()
+ {
+ var alertMsg = "";
+ LogType logType = LogType.DataProcess_BZ21;
+ while (true)
+ {
+ Thread.Sleep(2000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
+ SystemWarningMsg._lbl_alert_DataProcess_BZ21 = string.Empty;
+ try
+ {
+ if (SystemValue.isStartedModel)
+ {
+ var rgvLocation = StationLocationEnum.BZ21.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_BZ21 = $"{rgvLocation.ToString()}-璇锋眰浜嗚В鐮侊紝浣嗘槸缁撴灉鏄┖鐨�,姝ゆ寰幆缁撴潫";
+ continue;
+ }
+ var upiCode = result.Replace("/r", ""); ;
+ short cartonwidth = 0;//鏄惁鏈澘
+ short cartonhigh = 0;//鏄惁鏃嬭浆
+ short placeX = 0;
+ short placeY = 0;
+ short placeZ = 0;
+ string place = "";
+ using (WmsDBModel wmsDB = new WmsDBModel())
+ {
+ //瑕佹槸鏈夊凡涓嬪彂鐨勪换鍔★紝灏变笉瑕佹墽琛�
+ var isValidate = TaskHandler.ValidateIssueTaskForBZ21(wmsDB,result);
+ if (!isValidate)
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()}-鏈夆�樺凡涓嬪彂鈥欑殑浠诲姟锛屼笉鑳藉鐞�,姝ゆ寰幆缁撴潫";
+ continue;
+ }
+ var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).FirstOrDefault();
+ if (upiObj == null)
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()},鏍规嵁UPI:{upiCode}娌℃湁鎵惧埌瀵硅薄 ";
+ continue;
+ }
+ placeX = (short)upiObj.MachineXCenter;
+ placeY = (short)upiObj.MachineYCenter;
+ placeZ = (short)upiObj.MachineZCenter;
+ cartonhigh = (short)upiObj.Info1;
+ cartonwidth = (short)upiObj.Info2;
+ //璁板綍浠诲姟
+ var _id = Yitter.IdGenerator.YitIdHelper.NextId();
+ var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask();
+ var putpakegecode = new mes_PushPackageCode()
+ {
+ Id = _id,
+ PackageCode=upiObj.PackageCode,
+ PushStatus=0,
+ PushNum=0,
+ CreateTime = DateTime.Now,
+ CreateUserName = "CC",
+ UpdateTime = DateTime.Now,
+ UpdateUserName = "CC",
+ };
+ 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);
+ wmsDB.mes_PushPackageCode.Add(putpakegecode);
+ using (StationServiceClient client = new StationServiceClient())
+ {
+
+ var res = client.WriteSurroundTaskInfo((int)EDevice.Station, rgvLocation, Convert.ToInt32(task.TaskNo),
+ (short)upiObj.Info1, (short)upiObj.Info2,cartonhigh,cartonwidth,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);
+ }
+ }
+ }
public static void PushPackageCode()
{
while (true)
diff --git "a/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/DataProcess_BZ21_FinishTask.cs" "b/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/DataProcess_BZ21_FinishTask.cs"
new file mode 100644
index 0000000..89273a4
--- /dev/null
+++ "b/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/DataProcess_BZ21_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._04_BZ21_鎼繍鏁村灈鏈哄櫒浜篲
+{
+ internal class DataProcess_BZ21_FinishTask
+ {
+ }
+}
diff --git a/CC/iWareCC_ASRS/iWareCC.csproj b/CC/iWareCC_ASRS/iWareCC.csproj
index 4b0289e..a4a5b7d 100644
--- a/CC/iWareCC_ASRS/iWareCC.csproj
+++ b/CC/iWareCC_ASRS/iWareCC.csproj
@@ -170,6 +170,7 @@
<Compile Include="ThreadService\03_BZ12%28鏈哄櫒浜虹爜鍖呭伐浣�%29\DataProcess_BZ12.cs" />
<Compile Include="ThreadService\03_BZ12%28鏈哄櫒浜虹爜鍖呭伐浣�%29\DataProcess_BZ12_FinishTask.cs" />
<Compile Include="ThreadService\04_BZ21锛堟惉杩愭暣鍨涙満鍣ㄤ汉锛塡DataProcess_BZ21.cs" />
+ <Compile Include="ThreadService\04_BZ21锛堟惉杩愭暣鍨涙満鍣ㄤ汉锛塡DataProcess_BZ21_FinishTask.cs" />
<Compile Include="WCF\CCWcfService.cs" />
<Compile Include="WCF\ICCWcfService.cs" />
<Compile Include="WmsTask\AutoUpdateEngineInfoTask.cs" />
diff --git a/CC/iWareCommon/Utils/Log4Net/LogType.cs b/CC/iWareCommon/Utils/Log4Net/LogType.cs
index 5d9dd1b..77b1216 100644
--- a/CC/iWareCommon/Utils/Log4Net/LogType.cs
+++ b/CC/iWareCommon/Utils/Log4Net/LogType.cs
@@ -108,5 +108,7 @@
/// 鐮佹澘浠诲姟涓嬪彂
/// </summary>
DataProcess_BZ12 = 309,
+ DataProcess_BZ21 = 310,
+
}
}
diff --git a/CC/iWareSql/DataAccess/TaskHandler.cs b/CC/iWareSql/DataAccess/TaskHandler.cs
index 2ab6790..ddf08dd 100644
--- a/CC/iWareSql/DataAccess/TaskHandler.cs
+++ b/CC/iWareSql/DataAccess/TaskHandler.cs
@@ -40,7 +40,7 @@
/// </summary>
/// <param name="wmsDB"></param>
/// <returns></returns>
- public static bool ValidateIssueTaskForBZ12(WmsDBModel.WmsDBModel wmsDB)
+ public static bool ValidateIssueTaskForBZ12(WmsDBModel.WmsDBModel wmsDB,string str)
{
var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus == (int)TaskStatusEnum.宸蹭笅鍙�
&& x.RbTaskType == (int)RbTaskTypeEnum.鐮佹澘浠诲姟).ToList();
@@ -50,6 +50,16 @@
}
return true;
}
+ public static bool ValidateIssueTaskForBZ21(WmsDBModel.WmsDBModel wmsDB,string str)
+ {
+ 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;
+ }
/// <summary>
/// 楠岃瘉 鏈哄櫒浜虹紦瀛樺矝鏄惁瀛樺湪 鏈粨鏉� 鐨勫嚭搴撲换鍔�
/// </summary>
diff --git a/CC/iWareSql/WmsDBModel/mes_batchOrderUPI_new.cs b/CC/iWareSql/WmsDBModel/mes_batchOrderUPI_new.cs
index 190dd61..ec32db4 100644
--- a/CC/iWareSql/WmsDBModel/mes_batchOrderUPI_new.cs
+++ b/CC/iWareSql/WmsDBModel/mes_batchOrderUPI_new.cs
@@ -85,5 +85,74 @@
public string UpdateUserName { get; set; }
public bool IsDelete { get; set; }
+ /// <summary>
+ /// 销售合同单号
+ /// </summary>
+ public string Info4 { get; set; }
+
+ /// <summary>
+ /// 生产单号
+ /// </summary>
+ public string Info5 { get; set; }
+
+ /// <summary>
+ /// 第几包
+ /// </summary>
+
+ public string Info6 { get; set; }
+
+ /// <summary>
+ /// 经销店名称
+ /// </summary>
+ public string Info7 { get; set; }
+
+ /// <summary>
+ /// 产品名称
+ /// </summary>
+ public string Info8 { get; set; }
+
+ /// <summary>
+ /// 客户名称
+ /// </summary>
+ public string Info10 { get; set; }
+
+ /// <summary>
+ /// 包装编码
+ /// </summary>
+ public string Info9 { get; set; }
+
+ /// <summary>
+ /// 自提or发货
+ /// </summary>
+ public string Info11 { get; set; }
+
+ /// <summary>
+ /// 包装部件总数量
+ /// </summary>
+ public string Info12 { get; set; }
+
+ /// <summary>
+ /// 包装面积
+ /// </summary>
+ public string Info13 { get; set; }
+
+ /// <summary>
+ /// 部件名称
+ /// </summary>
+ public string Info14 { get; set; }
+
+ /// <summary>
+ /// 部件数量
+ /// </summary>
+ public int Info15 { get; set; }
+
+ /// <summary>
+ /// 部件尺寸
+ /// </summary>
+ public string Info16 { get; set; }
+ /// <summary>
+ /// 机械臂是否旋转
+ /// </summary>
+ public string Info17 { get; set; }
}
}
diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs b/SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs
index a0a49e0..5a8be1b 100644
--- a/SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs
+++ b/SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs
@@ -142,7 +142,11 @@
/// </summary>
[Description("鐮佸灈鏈澘鏍囧織")]
public bool W_EndMark { get; set; }
-
+ /// <summary>
+ /// 鐮佸灈棣栨澘鏍囧織
+ /// </summary>
+ [Description("鐮佸灈棣栨澘鏍囧織")]
+ public bool W_FirstMark { get; set; }
/// <summary>
/// 鐮佸灈浠诲姟鍙�
/// </summary>
@@ -169,6 +173,11 @@
[Description("鐮佸灈浣嶇疆鍧愭爣Y")]
public short W_PalletizingPlaceY { get; set; }
/// <summary>
+ /// 鐮佸灈浣嶇疆鍧愭爣Z
+ /// </summary>
+ [Description("鐮佸灈浣嶇疆鍧愭爣Z")]
+ public short W_PalletizingPlaceZ { get; set; }
+ /// <summary>
/// 鐮佸灈浠诲姟瀹屾垚纭
/// </summary>
[Description("鐮佸灈浠诲姟瀹屾垚纭")]
@@ -179,7 +188,16 @@
/// </summary>
[Description("妯″紡锛�1锛氬叆搴擄紝 2锛氬嚭搴� 3锛氬己鍒跺嚭搴擄級")]
public short W_Mode { get; set; }
-
+ /// <summary>
+ /// 鍚堝寘浠诲姟瀹屾垚纭
+ /// </summary>
+ [Description("鍚堝寘浠诲姟瀹屾垚纭")]
+ public bool W_SurroundTaskFinish { get; set; }
+ /// <summary>
+ /// 鍚堝寘浠诲姟鍙�
+ /// </summary>
+ [Description("鍚堝寘浠诲姟鍙�")]
+ public int W_SurroundTaskNo { get; set; }
}
/// <summary>
@@ -204,7 +222,11 @@
/// </summary>
[Description("鐮佸灈鏈澘鏍囧織")]
public string W_EndMark { get; set; }
-
+ /// <summary>
+ /// 鐮佸灈棣栨澘鏍囧織
+ /// </summary>
+ [Description("鐮佸灈棣栨澘鏍囧織")]
+ public string W_FirstMark { get; set; }
/// <summary>
/// 鐮佸灈浠诲姟鍙�
/// </summary>
@@ -230,6 +252,11 @@
/// </summary>
[Description("鐮佸灈浣嶇疆鍧愭爣Y")]
public string W_PalletizingPlaceY { get; set; }
+ /// <summary>
+ /// 鐮佸灈浣嶇疆鍧愭爣Z
+ /// </summary>
+ [Description("鐮佸灈浣嶇疆鍧愭爣Z")]
+ public string W_PalletizingPlaceZ { get; set; }
/// <summary>
/// 鐮佸灈浠诲姟瀹屾垚纭
/// </summary>
@@ -336,7 +363,16 @@
[Description("鍏ュ簱瀹屾垚宸茬‘璁�")]
public string W_InboundFinishConfirm { get; set; }
-
+ /// <summary>
+ /// 鍚堝寘浠诲姟瀹屾垚纭
+ /// </summary>
+ [Description("鍚堝寘浠诲姟瀹屾垚纭")]
+ public string W_SurroundTaskFinish { get; set; }
+ /// <summary>
+ /// 鍚堝寘浠诲姟鍙�
+ /// </summary>
+ [Description("鍚堝寘浠诲姟鍙�")]
+ public string W_SurroundTaskNo { get; set; }
#region 鍑哄簱鐩稿叧
/// <summary>
@@ -507,7 +543,16 @@
/// </summary>
[Description("寮哄埗鍑哄簱妯″紡")]
public bool R_ForceOutboundMode { get; set; }
-
+ /// <summary>
+ /// 鍚堝寘浠诲姟瀹屾垚
+ /// </summary>
+ [Description("鍚堝寘浠诲姟瀹屾垚")]
+ public bool R_SurrouondTaskFinish { get; set; }
+ /// <summary>
+ /// 鍚堝寘浠诲姟鍙�
+ /// </summary>
+ [Description("鍚堝寘浠诲姟鍙�")]
+ public short R_SurrouondTaskNo { get; set; }
}
public class StationDBForReadComm
@@ -594,5 +639,15 @@
[Description("寮哄埗鍑哄簱妯″紡")]
public string R_ForceOutboundMode { get; set; }
+ /// <summary>
+ /// 鍚堝寘浠诲姟瀹屾垚
+ /// </summary>
+ [Description("鍚堝寘浠诲姟瀹屾垚")]
+ public string R_SurrouondTaskFinish { get; set; }
+ /// <summary>
+ /// 鍚堝寘浠诲姟鍙�
+ /// </summary>
+ [Description("鍚堝寘浠诲姟鍙�")]
+ public string R_SurrouondTaskNo { get; set; }
}
}
diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs b/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
index d9b96f1..33d24f3 100644
--- a/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
+++ b/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
@@ -434,7 +434,7 @@
/// <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)
+ public bool WritePalletizingTaskInfo(string stationCode, int taskID, bool isLast,bool isFirst, short length, short width, short height, short rotate, short toplace, short placeX, short placeY, short placeZ, out string msg)
{
try
{
@@ -459,6 +459,13 @@
return false;
}
+ b2 = this.plcService.WriteValuePoint(stationObj.W_FirstMark, isFirst, view_stationObj.W_FirstMark);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鏄惁棣栨澘 " + isFirst + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_Destination_In);
+ return false;
+ }
b2 = this.plcService.WriteValuePoint(stationObj.W_Length, length, view_stationObj.W_Length);
if (!b2.result)
{
@@ -508,7 +515,13 @@
stationObj.W_Height);
return false;
}
-
+ b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingPlaceZ, placeZ, view_stationObj.W_PalletizingPlaceZ);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� Z鍧愭爣 " + placeZ + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_Height);
+ return false;
+ }
b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish);
if (!b2.result)
{
@@ -529,6 +542,101 @@
return false;
}
}
+ /// <summary>
+ /// 鍚堝寘涓嬪彂浠诲姟
+ /// </summary>
+ /// <param name="stationCode"></param>
+ /// <param name="taskID"></param>
+ /// <param name="length"></param>
+ /// <param name="width"></param>
+ /// <param name="cartonhigh"></param>
+ /// <param name="cartonwidth"></param>
+ /// <param name="placex"></param>
+ /// <param name="placey"></param>
+ /// <param name="msg"></param>
+ /// <returns></returns>
+ public bool WriteSurroundTaskInfo(string stationCode, int taskID, short length, short width, short cartonhigh, short cartonwidth, 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_SurroundTaskNo, taskID, view_stationObj.W_SurroundTaskNo);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鍚堝寘浠诲姟鍙� " + taskID + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_Inbound_TaskID);
+ return false;
+ }
+
+ b2 = this.plcService.WriteValuePoint(stationObj.W_PackageLength, length, view_stationObj.W_PackageLength);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鍚堝寘闀� " + length + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_Destination_In);
+ return false;
+ }
+
+ b2 = this.plcService.WriteValuePoint(stationObj.W_PackageWidth, width, view_stationObj.W_PackageWidth);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鍚堝寘瀹� " + width + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_Destination_In);
+ return false;
+ }
+ b2 = this.plcService.WriteValuePoint(stationObj.W_CartonHeight, cartonhigh, view_stationObj.W_CartonHeight);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 绾哥闀� " + cartonhigh + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_Length);
+ return false;
+ }
+ b2 = this.plcService.WriteValuePoint(stationObj.W_CartonWidth, cartonwidth, view_stationObj.W_CartonWidth);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 绾哥瀹� " + width + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_Width);
+ return false;
+ }
+ b2 = this.plcService.WriteValuePoint(stationObj.W_X_Offset, placex, view_stationObj.W_X_Offset);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鏀炬枡x " + placex + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_Height);
+ return false;
+ }
+ b2 = this.plcService.WriteValuePoint(stationObj.W_Y_Offset, placey, view_stationObj.W_Y_Offset);
+ 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>
/// 鍐欏叆绔欑偣浠诲姟瀹屾垚纭
@@ -564,7 +672,33 @@
return false;
}
}
+ public bool WriteSurround_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_SurroundTaskFinish, value, view_stationObj.W_SurroundTaskFinish);
+ 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)
{
try
diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs b/SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs
index aa95371..f7acd63 100644
--- a/SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs
+++ b/SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs
@@ -22,6 +22,7 @@
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;
+ public static string W_DBHeaderWithSeparate_BZ21 = "3004" + WareSdaStruct.PLCDBADDRESS_SEPARATE;
/// <summary>
/// 璇诲彇DB
@@ -188,10 +189,12 @@
W_DataFinish = W_DBHeaderWithSeparate_BZ12 + "0.0",
W_EndMark = W_DBHeaderWithSeparate_BZ12 + "0.1",
+ W_FirstMark= W_DBHeaderWithSeparate_BZ12 + "0.3",
W_PalletizingPlaceX = W_DBHeaderWithSeparate_BZ12 + "12.0",
W_PalletizingPlaceY = W_DBHeaderWithSeparate_BZ12 + "14.0",
+ W_PalletizingPlaceZ = W_DBHeaderWithSeparate_BZ12 + "16.0",
- W_PalletizingTaskID = W_DBHeaderWithSeparate_BZ12 + "16.0",
+ W_PalletizingTaskID = W_DBHeaderWithSeparate_BZ12 + "18.0",
W_Rotate = W_DBHeaderWithSeparate_BZ12 + "8.0",
W_Length = W_DBHeaderWithSeparate_BZ12 + "2.0",
@@ -202,6 +205,23 @@
W_PalletizingTaskFinish = W_DBHeaderWithSeparate_BZ12 + "0.2",
});
+ _dbBlockForWrite.W_StationForWriteCommList.Add(new StationDBForWriteComm()
+ {
+ StationCode = StationLocationEnum.BZ21.ToString(),
+
+ W_DataFinish = W_DBHeaderWithSeparate_BZ21 + "0.0",
+ W_SurroundTaskFinish = W_DBHeaderWithSeparate_BZ21 + "0.1",
+ W_X_Offset = W_DBHeaderWithSeparate_BZ21 + "10.0",
+ W_Y_Offset = W_DBHeaderWithSeparate_BZ21 + "12.0",
+ W_SurroundTaskNo = W_DBHeaderWithSeparate_BZ21 + "14.0",
+
+ W_CartonHeight = W_DBHeaderWithSeparate_BZ21 + "6.0",
+ W_CartonWidth = W_DBHeaderWithSeparate_BZ21 + "8.0",
+
+ W_PackageLength = W_DBHeaderWithSeparate_BZ21 + "2.0",
+ W_PackageWidth = W_DBHeaderWithSeparate_BZ21 + "4.0",
+
+ });
return _dbBlockForWrite;
}
@@ -265,7 +285,17 @@
//R_Outbound_TaskID = W_DBHeaderWithSeparate_BZ12 + "114.0",
});
+ _dbBlockForRead.R_StationForReadCommList.Add(new StationDBForReadComm()
+ {
+ StationCode = StationLocationEnum.BZ21.ToString(),
+ R_ReqParseData = W_DBHeaderWithSeparate_BZ21 + "50.0",
+ R_SurrouondTaskFinish = W_DBHeaderWithSeparate_BZ21 + "50.1",
+ R_SurrouondTaskNo = W_DBHeaderWithSeparate_BZ21 + "104.0",
+ R_ReadCodeResult = W_DBHeaderWithSeparate_BZ21 + "52.0",
+
+
+ });
return _dbBlockForRead;
diff --git a/SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs b/SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs
index 808f7e2..dcb8665 100644
--- a/SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs
+++ b/SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs
@@ -148,9 +148,8 @@
/// <param name="value"></param>
/// <returns></returns>
[OperationContract]
+ SdaResEntity WritePalletizingTaskInfo(int deviceId, string stationCode, int taskID, bool isLast, bool isFirst, short length, short width, short height, short rotate, short toplace, short placeX, short placeY, short placeZ);
- 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>
@@ -160,6 +159,12 @@
[OperationContract]
SdaResEntity SetPalletizingTaskFinishAck(int deviceId, bool value, string stationCode);
+ [OperationContract]
+ SdaResEntity WriteSurroundTaskInfo(int deviceId, string stationCode, int taskID, short length, short width, short cartonhigh, short cartonwidth, short placex, short placey);
+
+ [OperationContract]
+ SdaResEntity SetSurroundTaskFinishAck(int deviceId, bool value, string stationCode);
+
/// <summary>
/// Station鐨勪换鍔″畬鎴怉CK璧嬪��
/// </summary>
diff --git a/SDA/iWareSda/Devices/4-Station/StationService/StationService.cs b/SDA/iWareSda/Devices/4-Station/StationService/StationService.cs
index e58342b..9700a68 100644
--- a/SDA/iWareSda/Devices/4-Station/StationService/StationService.cs
+++ b/SDA/iWareSda/Devices/4-Station/StationService/StationService.cs
@@ -572,7 +572,7 @@
/// <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)
+ public SdaResEntity WritePalletizingTaskInfo(int deviceId, string stationCode,int taskID, bool isLast, bool isFirst, short length, short width, short height,short rotate,short toplace,short placeX,short placeY, short placeZ)
{
SdaResEntity _SdaResEntity = new SdaResEntity();
try
@@ -585,7 +585,7 @@
var Station = StationResult.resData as StationEntity;
string msg = "";
- var result = Station.WritePalletizingTaskInfo(stationCode, taskID,isLast, length, width, height,rotate,toplace,placeX,placeY,out msg);
+ var result = Station.WritePalletizingTaskInfo(stationCode, taskID,isLast,isFirst, length, width, height,rotate,toplace,placeX,placeY,placeZ, out msg);
_SdaResEntity.result = result;
_SdaResEntity.resMsg = msg;
return _SdaResEntity;
@@ -628,6 +628,69 @@
return _SdaResEntity;
}
}
+
+ /// <summary>
+ /// 鍐欏叆鍚堝寘浠诲姟淇℃伅
+ /// </summary>
+ /// <param name="deviceId"></param>
+ /// <param name="value"></param>
+ /// <returns></returns>
+ public SdaResEntity WriteSurroundTaskInfo(int deviceId, string stationCode, int taskID, short length, short width, short cartonhigh, short cartonwidth, 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.WriteSurroundTaskInfo(stationCode, taskID, length, width, cartonhigh, cartonwidth, 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 SetSurroundTaskFinishAck(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.WriteSurround_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>
--
Gitblit v1.9.3