change-扫码枪及其他修改

dev
liuwf 1 year ago
parent 9a69c43da0
commit bdfee58498

@ -49,7 +49,7 @@ namespace Admin.Core.Service
{
List<RecordInStore> preCordList =await _recordInstoreRepository.QueryAsync(d =>d.StoreCode.Equals(storeCode) && d.InStoreTime >= startTime && d.InStoreTime <= endTime);//
if(preCordList == null && preCordList.Count == 0) return null;
if(preCordList == null || preCordList.Count == 0) return null;
return preCordList;
//List<EnterLibView> list = new List<EnterLibView>();
//int count = 0;

@ -95,12 +95,16 @@ namespace Aucma.Core.BoxFoam.Business
private readonly IPrintBarCodeServices? _printBarCodeServices = App.ServiceProvider.GetService<IPrintBarCodeServices>();
private PlcSpaceConfig spaceConfig = PlcSpaceConfig.Instance;
private readonly IBaseMaterialInfoServices? _baseMaterialInfoServices = App.ServiceProvider.GetService<IBaseMaterialInfoServices>();
private SemaphoreSlim semaphore = new SemaphoreSlim(0);
private string storeCode = Appsettings.app("StoreInfo", "BeforeStoreCode");//泡前库code
private List<BaseSpaceInfo> allSpaces = null;
private List<SpaceAddress> spaceAddresses = new List<SpaceAddress>();
private SemaphoreSlim _lock = new SemaphoreSlim(1);
public InStoreBusiness()
{
MvCodeHelper.PQKReceiveCodeEvent += InStore;
}
public void init()
{

@ -223,8 +223,9 @@ namespace Aucma.Core.BoxFoam.ViewModels
LastShotRecordDataGrid.Clear();
int i = 1;
var list = _boxLastShotRecordServices.QueryAsync(x=>x.StationNumber == "1005").Result.OrderBy(d => d.CreateTime).Take(10);
var list = _boxLastShotRecordServices.QueryAsync(x => x.StationNumber == "1005").Result;
if (list == null) return;
list.OrderBy(d => d.CreateTime).Take(10);
//list.OrderByDescending(d => d.CreateTime);
foreach (var item in list)
{

@ -30,7 +30,10 @@ namespace Aucma.Core.BoxFoam.ViewModels
private InStoreBusiness inStoreBusiness = InStoreBusiness.Instance;
public IndexPageViewModel()
{
inStoreBusiness.init();
inStoreBusiness.init();
_recordInstoreServices = App.ServiceProvider.GetService<IRecordInStoreServices>();
_realTaskInfoService =App.ServiceProvider.GetService<IRealTaskInfoServices>();
//Job_BoxFoamInStoreTask_Quartz.RefreshDataGridDelegateEvent += LoadData;//刷新底部列表

@ -192,7 +192,7 @@
"Enabled": true
},
"Scanner1": { //1
"Ip": "192.168.1.19",
"Ip": "10.10.93.46",
"Name": "扫码器1"
}
},

@ -0,0 +1,109 @@
using log4net;
using System;
using System.Collections.Generic;
using System.IO.Ports;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace Aucma.Core.CodeBinding.Business
{
/// <summary>
/// 扫码枪补扫
/// </summary>
public class GunBusiness
{
#region 单例实现
private static readonly GunBusiness lazy = new GunBusiness();
public static GunBusiness Instance
{
get
{
return lazy;
}
}
#endregion
private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(GunBusiness));
//初始化串口并启动接收数据
public static void InstanceSerialPort3()
{
try
{
string port = System.IO.Ports.SerialPort.GetPortNames().FirstOrDefault();
//实例化串行端口
SerialPort serialPort = new SerialPort();
//端口名 注:因为使用的是USB转RS232 所以去设备管理器中查看一下虚拟com口的名字
serialPort.PortName = port;// portName;
//波特率
serialPort.BaudRate = 9600;
//奇偶校验
serialPort.Parity = Parity.None;
//停止位
serialPort.StopBits = StopBits.One;
//数据位
serialPort.DataBits = 8;
//忽略null字节
serialPort.DiscardNull = true;
//接收事件
serialPort.DataReceived += serialPort_DataReceived;
//开启串口
serialPort.Open();
}
catch (Exception ex)
{
logHelper.Error(ex.Message.ToString());
}
}
/// <summary>
/// 接收数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
static void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
try
{
SerialPort serialPort = (SerialPort)sender;
//开启接收数据线程
Thread threadReceiveSub = new Thread(new ParameterizedThreadStart(ReceiveData));
threadReceiveSub.Start(serialPort);
}
catch (Exception ex)
{
throw;
}
}
private static void ReceiveData(object serialPortobj)
{
try
{
SerialPort serialPort = (SerialPort)serialPortobj;
string code = serialPort.ReadExisting();
if (string.IsNullOrEmpty(code))
{
return;
}
//业务处理
Console.WriteLine("获取数据:" + code.Trim());
}
catch (Exception ex)
{
logHelper.Error(ex.Message);
}
}
}
}

@ -66,7 +66,7 @@ namespace Aucma.Core.CodeBinding
//扫码器
services.AddScannerSetup();
// 扫码枪
services.AddScannerGunSetup();
// services.AddScannerGunSetup();
//任务调度
services.AddJobSetup();
@ -92,7 +92,7 @@ namespace Aucma.Core.CodeBinding
/// </summary>
/// <param name="app"></param>
/// <param name="env"></param>
public void Configure(IApplicationBuilder app, IScannerService scannerService, IScannerGunService scannerGunService, IRunPlcService runPlcService, ISysTasksQzService tasksQzService, ISchedulerCenter schedulerCenter) // ISysTasksQzService tasksQzService, ISchedulerCenter schedulerCenter
public void Configure(IApplicationBuilder app, IScannerService scannerService, IRunPlcService runPlcService, ISysTasksQzService tasksQzService, ISchedulerCenter schedulerCenter) // ISysTasksQzService tasksQzService, ISchedulerCenter schedulerCenter
{
// 使用静态文件
app.UseStaticFiles();
@ -101,7 +101,7 @@ namespace Aucma.Core.CodeBinding
//开启扫码服务
app.UseScannerMildd(scannerService);
//开启扫码枪服务
app.UseScannerGunMildd(scannerGunService);
// app.UseScannerGunMildd(scannerGunService);
// 开启QuartzNetJob调度服务
app.UseQuartzJobMildd(tasksQzService, schedulerCenter);

@ -69,6 +69,7 @@ namespace Aucma.Core.CodeBinding.ViewModels
_iMaterialCompletionServices = App.ServiceProvider.GetService<IMaterialCompletionServices>();
MvCodeHelper.ReceiveCode1Event += receiveCode1;
MvCodeHelper.ReceiveCode2Event += receiveCode2;
LoadData();
add();
//实时绑定条码和实时下发plc放行信号

@ -21,6 +21,7 @@ using Admin.Core.Model;
using Admin.Core.Tasks;
using static ICSharpCode.SharpZipLib.Zip.ExtendedUnixData;
using System.Windows.Threading;
using Aucma.Core.CodeBinding.Business;
namespace Aucma.Core.CodeBinding.ViewModels
{
@ -35,8 +36,7 @@ namespace Aucma.Core.CodeBinding.ViewModels
/// <param name="Code1"></param>
public delegate Task queryList(object obj);
public static event queryList? queryListEvent;
public MainWindowViewModel()
{
@ -47,7 +47,7 @@ namespace Aucma.Core.CodeBinding.ViewModels
timer.Interval = TimeSpan.FromSeconds(1);
timer.Tick += Timer_Tick;
timer.Start();
GunBusiness.InstanceSerialPort3();
Job_AllState_Quartz.RefreshStateEvent += RefreshStatus;

@ -29,7 +29,7 @@ namespace Aucma.Core.Scanner
#endregion
#region 委托事件
#region 条码绑定上位机委托事件
/// <summary>
/// code1扫码信息刷新
@ -55,9 +55,18 @@ namespace Aucma.Core.Scanner
public static bool m_bGrabbing = true;
#endregion
/// <summary>
/// 泡前库扫码
/// </summary>
/// <param name="Code1"></param>
public delegate Task PQKReceiveCode(string code1);
public static event PQKReceiveCode? PQKReceiveCodeEvent;
#endregion
private static readonly log4net.ILog log = LogManager.GetLogger(typeof(MvCodeHelper));
// 获取到的所有设备
public static MvCodeReader.MV_CODEREADER_DEVICE_INFO_LIST m_stDeviceList = new MvCodeReader.MV_CODEREADER_DEVICE_INFO_LIST();
@ -154,6 +163,7 @@ namespace Aucma.Core.Scanner
log.Error("Set TriggerMode On Fail!");
return;
}
//添加到集合
m_cMyDevices.Add(m_cMyDevice, ip);

Loading…
Cancel
Save