From ba8aa925e7901381ceb394adb53eca8723d1c4c5 Mon Sep 17 00:00:00 2001
From: leiqunqing <zhengqifeng@hnkhzn.com>
Date: 星期一, 19 一月 2026 11:05:49 +0800
Subject: [PATCH] 完善工位界面
---
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PLCJob.cs | 359 ++++++++++++++++++++++-------------------------------------
1 files changed, 137 insertions(+), 222 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PLCJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PLCJob.cs"
index 03c0398..e373ad1 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PLCJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PLCJob.cs"
@@ -1,27 +1,13 @@
-锘縰sing System;
-using System.Collections;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Linq;
-using System.Reflection;
-using System.Text;
-using System.Threading.Tasks;
-using Autofac.Core;
-using HslCommunication;
-using HslCommunication.Core;
-using Microsoft.VisualBasic.FileIO;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
+锘縰sing System.Text;
using Quartz;
-using SixLabors.ImageSharp.PixelFormats;
using WIDESEAWCS_BasicInfoService;
+using WIDESEAWCS_Common.PLCEnum;
using WIDESEAWCS_Communicator;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_IBasicInfoService;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.DeviceBase;
-using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
namespace WIDESEAWCS_Tasks
{
@@ -33,22 +19,33 @@
private readonly IFormulaService _formulaService;
private readonly IFormulaDetailService _formulaDetailService;
private readonly IProcessInfoService _processInfoService;
+ private readonly IProcessInfoDetailService _processDetailInfoService;
private readonly IUnitOfWorkManage _unitOfWorkManage;
- public PLCJob(IBoxingService boxingService, IBoxingDetailService boxingDetailService, IFormulaService formulaService, IFormulaDetailService formulaDetailService, IProcessInfoService processInfoService, IUnitOfWorkManage unitOfWorkManage)
+ private readonly IScanStationService _scanStationService;
+ //private readonly string PalletCode = "PL107";
+
+ public PLCJob(IBoxingService boxingService,
+ IBoxingDetailService boxingDetailService,
+ IFormulaService formulaService,
+ IFormulaDetailService formulaDetailService,
+ IProcessInfoService processInfoService,
+ IProcessInfoDetailService processDetailInfoService,
+ IUnitOfWorkManage unitOfWorkManage,
+ IScanStationService scanStationService
+ )
{
_boxingService = boxingService;
_boxingDetailService = boxingDetailService;
_formulaService = formulaService;
_formulaDetailService = formulaDetailService;
_processInfoService = processInfoService;
+ _processDetailInfoService = processDetailInfoService;
_unitOfWorkManage = unitOfWorkManage;
+ _scanStationService = scanStationService;
}
- private readonly string set = "0x16,0x4D,0x0D,0x30,0x34,0x30,0x31,0x44,0x30,0x35,0x2E";//涓绘満鍙戦�佽缃壂鎻忔ā寮忎负涓绘満妯″紡鐨勫懡浠�,鎵弿鍣ㄨ繑鍥炴帴鏀跺埌鐨勫懡浠ゅ拰<ACK>锛�0x06锛夊悗锛屽皢鎵弿妯″紡鏇存敼涓轰富鏈烘ā寮�
- private readonly string Text = "寮�鍚壂鐮�";//涓绘満鍙戦�佽缃壂鎻忔ā寮忎负涓绘満妯″紡鐨勫懡浠�,鎵弿鍣ㄨ繑鍥炴帴鏀跺埌鐨勫懡浠ゅ拰<ACK>锛�0x06锛夊悗锛屽皢鎵弿妯″紡鏇存敼涓轰富鏈烘ā寮�
- private readonly string command = "0x16,0x54,0x0D";//鍙戦�佸紑濮嬭В鐮佸懡浠わ紱"0x16,0x55,0x0D"鍙戦�佸仠姝㈣В鐮佸懡浠�
public Task Execute(IJobExecutionContext context)
{
-
+
bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
if (flag && value != null)
{
@@ -63,6 +60,7 @@
var AutoExecuting = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rboolAutoExecuting);
var OnlineExecuting = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rboolOnlineExecuting);
var Error = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rboolError);
+
if (Heart && !EMG && AutoExecuting && OnlineExecuting && !Error)
{
#region 涓婄嚎鎵爜
@@ -103,64 +101,35 @@
var Location1ScanDone = device.GetValue<W_PLCDBName, bool>(W_PLCDBName.wboolLocation1ScanDone);
if (Location1ScanStart && !Location1ScanDone)//鎺у埗鎵爜鏋壂鎻忔墭鐩樼爜锛屾牴鎹墭鐩樼爜鏌ヨ缁勭洏鏁版嵁锛屽垽鏂墭鐩樼粦瀹氭垚鍝佹槸鍚﹀凡缁戝畾鎵�鏈夋墍闇�闆朵欢
{
- #region 涓插彛杩炴帴
- SerialPortCommunicator portCommunicator1 = new SerialPortCommunicator("COM1", 9600, "涓婄嚎鎵爜鏋�");
- bool IsConnected1 = false;
- SerialPortCommunicator portCommunicator2 = new SerialPortCommunicator("COM2", 9600, "涓婄嚎鎵爜鏋�");
- bool IsConnected2 = false;
- if (!IsConnected1) IsConnected1 = portCommunicator1.Connect();
- if (!IsConnected2) IsConnected2 = portCommunicator2.Connect();
- byte[] dataToSend1 = Encoding.ASCII.GetBytes(command);//杞垚瀛楄妭鏁扮粍
- portCommunicator1.Write(dataToSend1);
- string receiveData = portCommunicator2.ToString(Encoding.UTF8);
- //if (receiveData == "0x16,0x54,0x0D")
- //{
- // Console.WriteLine(receiveData);
- byte[] dataToSend2 = Encoding.ASCII.GetBytes("PL106");//杞垚瀛楄妭鏁扮粍
- portCommunicator2.Write(dataToSend2);
- //}
- string PalletCode = portCommunicator1.ToString(Encoding.UTF8);
- using (var uow = _unitOfWorkManage.CreateUnitOfWork())
+ var PalletCode = TcpClientExample.Start("192.168.2.120", 2001);
+ try
{
- try
+ if (!PalletCode.IsNotEmptyOrNull())
{
- if (PalletCode.IsNotEmptyOrNull())
- {
- var boxing = _boxingService.Repository.QueryFirst(x => x.PalletCode == PalletCode);
- if (boxing == null)
- {
- WriteError(device.DeviceName, "绌烘墭鐩�");
- return;
- }
- List<Dt_BoxingDetail> dt_BoxingDetails = _boxingDetailService.Repository.QueryData(x => x.BoxingId == boxing.Id);
- Dt_Formula dt_Formula = _formulaService.Repository.QueryFirst(x => x.ProductCode == boxing.ProductCode);
- if (dt_Formula == null)
- {
- WriteError(device.DeviceName, "鏃犳垚鍝侀厤鏂�");
- return;
- }
- List<Dt_FormulaDetail> dt_FormulaDetails = _formulaDetailService.Repository.QueryData(x => x.FormulaId == dt_Formula.Id);
- //姣旇緝闆朵欢鏄惁榻愬叏
- if (!_boxingDetailService.IsComponentCodesEqual(dt_BoxingDetails, dt_FormulaDetails))
- {
- WriteError(device.DeviceName, "闆朵欢鏈夐棶棰橈紝璇峰鐞�");
- return;
- }
- }
- //鎻愪氦浜嬪姟
- uow.Commit();
-
- IsConnected1 = !portCommunicator1.Disconnect();
- IsConnected2 = !portCommunicator2.Disconnect();
- #endregion
- device.SetValue(W_PLCDBName.wboolLocation1ScanDone, true);
-
-
+ throw new InvalidOperationException("鎵樼洏涓虹┖");
}
- catch (Exception ex)
+ var boxing = _boxingService.Repository.QueryFirst(x => x.PalletCode == PalletCode);
+ if (boxing == null)
{
- WriteError(device.DeviceName, "涓婄嚎鎵爜娴佺▼鎵ц寮傚父", ex);
+ throw new InvalidOperationException("鏈坊鍔犵粍鐩樹俊鎭�");
}
+ List<Dt_BoxingDetail> dt_BoxingDetails = _boxingDetailService.Repository.QueryData(x => x.BoxingId == boxing.Id);
+ Dt_Formula dt_Formula = _formulaService.Repository.QueryFirst(x => x.ProductCode == boxing.ProductCode);
+ if (dt_Formula == null)
+ {
+ throw new InvalidOperationException("鏃犳垚鍝侀厤鏂�");
+ }
+ List<Dt_FormulaDetail> dt_FormulaDetails = _formulaDetailService.Repository.QueryData(x => x.FormulaId == dt_Formula.Id && x.IsScanned == 1);
+ //姣旇緝闆朵欢鏄惁榻愬叏
+ if (!_boxingDetailService.IsComponentCodesEqual(dt_BoxingDetails, dt_FormulaDetails))
+ {
+ throw new InvalidOperationException("闆朵欢鏈夐棶棰橈紝璇峰鐞�");
+ }
+ device.SetValue(W_PLCDBName.wboolLocation1ScanDone, true);
+ }
+ catch (Exception ex)
+ {
+ WriteError(device.DeviceName, "涓婄嚎鎵爜娴佺▼鎵ц寮傚父", ex);
}
}
else if (!Location1ScanStart && Location1ScanDone)
@@ -179,71 +148,44 @@
var Location2ScanDone = device.GetValue<W_PLCDBName, bool>(W_PLCDBName.wboolLocation2ScanDone);
if (Location2ScanStart && !Location2ScanDone)//鎺у埗鎵爜鏋壂鎻忔墭鐩樼爜锛屾牴鎹墭鐩樼爜鏌ヨ鎵樼洏缁戝畾鎴愬搧鍔犲伐鎵�闇�鏁版嵁锛屽啓鍏LC
{
- #region MyRegion
- #region 涓插彛杩炴帴
- SerialPortCommunicator portCommunicator17 = new SerialPortCommunicator("COM17", 9600, "鍘嬭鎵爜鏋�");
- bool IsConnected17 = false;
- SerialPortCommunicator portCommunicator18 = new SerialPortCommunicator("COM18", 9600, "鍘嬭鎵爜鏋�");
- bool IsConnected18 = false;
- if (!IsConnected17) IsConnected17 = portCommunicator17.Connect();
- if (!IsConnected18) IsConnected18 = portCommunicator18.Connect();
- byte[] dataToSend1 = Encoding.ASCII.GetBytes(command);//杞垚瀛楄妭鏁扮粍
- portCommunicator17.Write(dataToSend1);
- string receiveData = portCommunicator18.ToString(Encoding.UTF8);
- byte[] dataToSend2 = Encoding.ASCII.GetBytes("PL106");//杞垚瀛楄妭鏁扮粍
- portCommunicator18.Write(dataToSend2);
- //}
- string PalletCode = portCommunicator17.ToString(Encoding.UTF8);
- using (var uow = _unitOfWorkManage.CreateUnitOfWork())
+ var PalletCode = TcpClientExample.Start("192.168.2.121", 2001);
+
+ try
{
- try
+ if (!PalletCode.IsNotEmptyOrNull())
{
- if (PalletCode.IsNotEmptyOrNull())
- {
- Dt_Boxing dt_Boxing = _boxingService.Repository.QueryFirst(x => x.PalletCode == PalletCode);
- Dt_Formula dt_Formula = _formulaService.Repository.QueryFirst(x => x.ProductCode == dt_Boxing.ProductCode);
- //鍐欏叆PLC
- device.SetValue(W_PLCDBName.wrealProductLength, dt_Formula.ProductLength);
- device.SetValue(W_PLCDBName.wrealProductWidth, dt_Formula.ProductWidth);
- device.SetValue(W_PLCDBName.wrealProductHeight, dt_Formula.ProductHeight);
- device.SetValue(W_PLCDBName.wrealScrewDownsetDistance, dt_Formula.ScrewDownsetDistance);
- device.SetValue(W_PLCDBName.wrealScrewTorqueOutput, dt_Formula.ScrewTorqueOutput);
- device.SetValue(W_PLCDBName.wDintAutoScrewOn, dt_Formula.DintAutoScrewOn);
-
- //鍘嬭鎵爜瀹屾垚
- device.SetValue(W_PLCDBName.wboolLocation2ScanDone, true);
-
- //鎺ユ敹鏁版嵁
- float PressHeight = device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectPressHeight);
- float ScrewTorque = device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectScrewTorque);
- float ScrewAngle = device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectScrewAngle);
-
- //娣诲姞鍒版暟鎹簱
- Dt_ProcessInfo dt_ProcessInfo = new Dt_ProcessInfo()
- {
- PalletCode = PalletCode,
- ProductCode = dt_Formula.ProductCode,
- ProductName = dt_Formula.ProductName,
- PressHeight = PressHeight,
- ScrewTorque = ScrewTorque,
- ScrewAngle = ScrewAngle
-
- };
- _processInfoService.Repository.AddData(dt_ProcessInfo);
- }
- //鎻愪氦浜嬪姟
- uow.Commit();
-
- IsConnected17 = !portCommunicator17.Disconnect();
- IsConnected18 = !portCommunicator18.Disconnect();
- #endregion
- #endregion
-
+ throw new InvalidOperationException("鎵樼洏涓虹┖");
}
- catch (Exception ex)
+ Dt_Boxing dt_Boxing = _boxingService.Repository.QueryFirst(x => x.PalletCode == PalletCode);
+ Dt_Formula dt_Formula = _formulaService.Repository.QueryFirst(x => x.ProductCode == dt_Boxing.ProductCode);
+ //鍐欏叆PLC
+ device.SetValue(W_PLCDBName.wrealProductLength, dt_Formula.ProductLength);
+ device.SetValue(W_PLCDBName.wrealProductWidth, dt_Formula.ProductWidth);
+ device.SetValue(W_PLCDBName.wrealProductHeight, dt_Formula.ProductHeight);
+ device.SetValue(W_PLCDBName.wrealScrewDownsetDistance, dt_Formula.ScrewDownsetDistance);
+ device.SetValue(W_PLCDBName.wrealScrewTorqueOutput, dt_Formula.ScrewTorqueOutput);
+ device.SetValue(W_PLCDBName.wDintAutoScrewOn, dt_Formula.DintAutoScrewOn);
+ //鍘嬭鎵爜瀹屾垚
+ device.SetValue(W_PLCDBName.wboolLocation2ScanDone, true);
+ //鎺ユ敹鏁版嵁
+ decimal PressHeight = (decimal)device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectPressHeight);
+ decimal ScrewTorque = (decimal)device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectScrewTorque);
+ decimal ScrewAngle = (decimal)device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectScrewAngle);
+ //娣诲姞鍒版暟鎹簱
+ Dt_ProcessInfo dt_ProcessInfo = new Dt_ProcessInfo()
{
- WriteError(device.DeviceName, "鍘嬭鎵爜娴佺▼鎵ц寮傚父", ex);
- }
+ PalletCode = PalletCode,
+ ProductCode = dt_Formula.ProductCode,
+ ProductName = dt_Formula.ProductName,
+ PressHeight = PressHeight,
+ ScrewTorque = ScrewTorque,
+ ScrewAngle = ScrewAngle
+ };
+ _processInfoService.Repository.AddData(dt_ProcessInfo);
+ }
+ catch (Exception ex)
+ {
+ WriteError(device.DeviceName, "鍘嬭鎵爜娴佺▼鎵ц寮傚父", ex);
}
}
else if (!Location2ScanStart && Location2ScanDone)
@@ -262,71 +204,44 @@
var Location3ScanDone = device.GetValue<W_PLCDBName, bool>(W_PLCDBName.wboolLocation3ScanDone);
if (Location3ScanStart && !Location3ScanDone)
{
- #region MyRegion
- #region 涓插彛杩炴帴
- SerialPortCommunicator portCommunicator19 = new SerialPortCommunicator("COM19", 9600, "妫�娴嬫壂鐮佹灙");
- bool IsConnected19 = false;
- SerialPortCommunicator portCommunicator20 = new SerialPortCommunicator("COM20", 9600, "妫�娴嬫壂鐮佹灙");
- bool IsConnected20 = false;
- if (!IsConnected19) IsConnected19 = portCommunicator19.Connect();
- if (!IsConnected20) IsConnected20 = portCommunicator20.Connect();
- byte[] dataToSend1 = Encoding.ASCII.GetBytes(command);//杞垚瀛楄妭鏁扮粍
- portCommunicator19.Write(dataToSend1);
- string receiveData = portCommunicator20.ToString(Encoding.UTF8);
- byte[] dataToSend2 = Encoding.ASCII.GetBytes("PL106");//杞垚瀛楄妭鏁扮粍
- portCommunicator20.Write(dataToSend2);
- //}
- string PalletCode = portCommunicator19.ToString(Encoding.UTF8);
-
- using (var uow = _unitOfWorkManage.CreateUnitOfWork())
+ var PalletCode = TcpClientExample.Start("192.168.2.122", 2001);
+ try
{
- try
+ if (!PalletCode.IsNotEmptyOrNull())
{
- if (PalletCode.IsNotEmptyOrNull())
- {
- Dt_Boxing dt_Boxing = _boxingService.Repository.QueryFirst(x => x.PalletCode == PalletCode);
- Dt_Formula dt_Formula = _formulaService.Repository.QueryFirst(x => x.ProductCode == dt_Boxing.ProductCode);
- //鍐欏叆PLC
- device.SetValue(W_PLCDBName.wrealXDirectionDistance1, dt_Formula.XDirectionDistance1);
- device.SetValue(W_PLCDBName.wrealYDirectionHeight1, dt_Formula.YDirectionHeight1);
- device.SetValue(W_PLCDBName.wrealXDirectionDistance2, dt_Formula.XDirectionDistance2);
- device.SetValue(W_PLCDBName.wrealYDirectionHeight2, dt_Formula.YDirectionHeight2);
- device.SetValue(W_PLCDBName.wrealXDirectionDistance3, dt_Formula.XDirectionDistance3);
- device.SetValue(W_PLCDBName.wrealYDirectionHeight3, dt_Formula.YDirectionHeight3);
-
- //妫�娴嬫壂鐮佸畬鎴�
- device.SetValue(W_PLCDBName.wboolLocation3ScanDone, true);
-
- //鎺ユ敹鏁版嵁
- float Height1 = device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectHeight1);
- float Height2 = device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectHeight2);
- float Height3 = device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectHeight3);
-
- Dt_ProcessInfo dt_ProcessInfo = _processInfoService.Repository.QueryFirst(x => x.PalletCode == PalletCode);
- if (dt_ProcessInfo == null)
- {
- WriteInfo(device.DeviceName, "鎴愬搧鏈帇瑁�");
- device.SetValue(W_PLCDBName.wboolLocation1ScanDone, true);
- return;
- }
- dt_ProcessInfo.Height1 = Height1;
- dt_ProcessInfo.Height2 = Height2;
- dt_ProcessInfo.Height3 = Height3;
- _processInfoService.Repository.UpdateData(dt_ProcessInfo);
-
- }
- //鎻愪氦浜嬪姟
- uow.Commit();
-
- IsConnected19 = !portCommunicator19.Disconnect();
- IsConnected20 = !portCommunicator20.Disconnect();
- #endregion
- #endregion
+ throw new InvalidOperationException("鎵樼洏涓虹┖");
}
- catch (Exception ex)
+ Dt_Boxing dt_Boxing = _boxingService.Repository.QueryFirst(x => x.PalletCode == PalletCode);
+ Dt_Formula dt_Formula = _formulaService.Repository.QueryFirst(x => x.ProductCode == dt_Boxing.ProductCode);
+ //鍐欏叆PLC
+ device.SetValue(W_PLCDBName.wrealXDirectionDistance1, dt_Formula.XDirectionDistance1);
+ device.SetValue(W_PLCDBName.wrealYDirectionHeight1, dt_Formula.YDirectionHeight1);
+ device.SetValue(W_PLCDBName.wrealXDirectionDistance2, dt_Formula.XDirectionDistance2);
+ device.SetValue(W_PLCDBName.wrealYDirectionHeight2, dt_Formula.YDirectionHeight2);
+ device.SetValue(W_PLCDBName.wrealXDirectionDistance3, dt_Formula.XDirectionDistance3);
+ device.SetValue(W_PLCDBName.wrealYDirectionHeight3, dt_Formula.YDirectionHeight3);
+
+ //妫�娴嬫壂鐮佸畬鎴�
+ device.SetValue(W_PLCDBName.wboolLocation3ScanDone, true);
+
+ //鎺ユ敹鏁版嵁
+ decimal Height1 = (decimal)device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectHeight1);
+ decimal Height2 = (decimal)device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectHeight2);
+ decimal Height3 = (decimal)device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectHeight3);
+
+ Dt_ProcessInfo dt_ProcessInfo = _processInfoService.Repository.QueryFirst(x => x.PalletCode == PalletCode);
+ if (dt_ProcessInfo == null)
{
- WriteError(device.DeviceName, "妫�娴嬫壂鐮佹祦绋嬫墽琛屽紓甯�", ex);
+ throw new InvalidOperationException("鎴愬搧鏈帇瑁�");
}
+ dt_ProcessInfo.Height1 = Height1;
+ dt_ProcessInfo.Height2 = Height2;
+ dt_ProcessInfo.Height3 = Height3;
+ _processInfoService.Repository.UpdateData(dt_ProcessInfo);
+ }
+ catch (Exception ex)
+ {
+ WriteError(device.DeviceName, "妫�娴嬫壂鐮佹祦绋嬫墽琛屽紓甯�", ex);
}
}
else if (!Location3ScanStart && Location3ScanDone)
@@ -346,38 +261,38 @@
var Location4ScanDone = device.GetValue<W_PLCDBName, bool>(W_PLCDBName.wboolLocation4ScanDone);
if (Location4ScanStart && !Location4ScanDone)//鎺у埗鎵爜鏋壂鎻忔墭鐩樼爜锛屾牴鎹墭鐩樼爜鏌ヨ缁勭洏鏁版嵁锛屽垽鏂墭鐩樼粦瀹氭垚鍝佹槸鍚﹀凡缁戝畾鎵�鏈夋墍闇�闆朵欢
{
- SerialPortCommunicator portCommunicator21 = new SerialPortCommunicator("COM21", 9600, "涓嬬嚎鎵爜鏋�");
- bool IsConnected21 = false;
- SerialPortCommunicator portCommunicator22 = new SerialPortCommunicator("COM22", 9600, "涓嬬嚎鎵爜鏋�");
- bool IsConnected22 = false;
- if (!IsConnected21) IsConnected21 = portCommunicator21.Connect();
- if (!IsConnected22) IsConnected22 = portCommunicator22.Connect();
- byte[] dataToSend1 = Encoding.ASCII.GetBytes(command);//杞垚瀛楄妭鏁扮粍
- portCommunicator21.Write(dataToSend1);
- string receiveData = portCommunicator22.ToString(Encoding.UTF8);
- byte[] dataToSend2 = Encoding.ASCII.GetBytes("PL106");//杞垚瀛楄妭鏁扮粍
- portCommunicator22.Write(dataToSend2);
- //}
- string PalletCode = portCommunicator21.ToString(Encoding.UTF8);
+ var PalletCode = TcpClientExample.Start("192.168.2.123", 2001);
using (var uow = _unitOfWorkManage.CreateUnitOfWork())
{
try
{
- if (PalletCode.IsNotEmptyOrNull())
+ if (!PalletCode.IsNotEmptyOrNull())
{
- Dt_Boxing dt_Boxing = _boxingService.Repository.QueryFirst(x => x.PalletCode == PalletCode);
- _boxingService.Repository.DeleteData(dt_Boxing);
- List<Dt_BoxingDetail> dt_BoxingDetails = _boxingDetailService.Repository.QueryData(x => x.BoxingId == dt_Boxing.Id);
- foreach (Dt_BoxingDetail dt_BoxingDetail in dt_BoxingDetails)
- {
- _boxingDetailService.Repository.DeleteDataById(dt_BoxingDetail.Id);
- }
- uow.Commit();
- //涓嬬嚎鎵爜瀹屾垚
- device.SetValue(W_PLCDBName.wboolLocation4ScanDone, true);
+ throw new InvalidOperationException("鎵樼洏涓虹┖");
}
- IsConnected21 = !portCommunicator21.Disconnect();
- IsConnected22 = !portCommunicator22.Disconnect();
+ Dt_ProcessInfo dt_ProcessInfo = _processInfoService.Repository.QueryFirst(x => x.PalletCode == PalletCode);
+ if (dt_ProcessInfo == null)
+ {
+ throw new InvalidOperationException("鎴愬搧鏈帇瑁呭拰妫�娴�");
+ }
+ Dt_Boxing dt_Boxing = _boxingService.Repository.QueryFirst(x => x.PalletCode == PalletCode);
+ _boxingService.Repository.DeleteData(dt_Boxing);
+ List<Dt_BoxingDetail> dt_BoxingDetails = _boxingDetailService.Repository.QueryData(x => x.BoxingId == dt_Boxing.Id);
+ _boxingDetailService.Repository.DeleteData(dt_BoxingDetails);
+
+ Dt_ProcessInfoDetail dt_ProcessInfoDetail = new Dt_ProcessInfoDetail()
+ {
+ PalletCode = PalletCode,
+ ProductCode = dt_ProcessInfo.ProductCode,
+ ProductName = dt_ProcessInfo.ProductName,
+ Creater = "admin",
+ CreateDate = DateTime.Now
+ };
+ _processDetailInfoService.Repository.AddData(dt_ProcessInfoDetail);
+ _processInfoService.DeleteData(dt_ProcessInfo);
+ uow.Commit();
+ //涓嬬嚎鎵爜瀹屾垚
+ device.SetValue(W_PLCDBName.wboolLocation4ScanDone, true);
}
catch (Exception ex)
{
--
Gitblit v1.9.3