using Microsoft.Extensions.DependencyInjection; using SlnMesnac.Model.domain; using SlnMesnac.Repository.service.@base; using System; using System.Collections.Generic; using System.Linq; using System.Text; #region << 版 本 注 释 >> /*-------------------------------------------------------------------- * 版权所有 (c) 2024 WenJY 保留所有权利。 * CLR版本:4.0.30319.42000 * 机器名称:LAPTOP-E0N2L34V * 命名空间:SlnMesnac.Repository.service.Impl * 唯一标识:052967bb-62b3-4a80-b2b9-135493fa7a73 * * 创建者:WenJY * 电子邮箱:wenjy@mesnac.com * 创建时间:2024-04-10 16:46:27 * 版本:V1.0.0 * 描述: * *-------------------------------------------------------------------- * 修改人: * 时间: * 修改说明: * * 版本:V1.0.0 *--------------------------------------------------------------------*/ #endregion << 版 本 注 释 >> namespace SlnMesnac.Repository.service.Impl { public class MesPrdBarCodeServiceImpl : BaseServiceImpl, IMesPrdBarCodeService { private IServiceProvider _serviceProvider; public MesPrdBarCodeServiceImpl(Repository rep, IServiceProvider serviceProvider) : base(rep) { _serviceProvider = serviceProvider; } /// /// 保存条码队列信息 /// /// /// /// public void InsertBarCodeTask(MesPrdBarcodeInfo mesPrdBarcodeInfo) { try { if (mesPrdBarcodeInfo == null) { throw new ArgumentNullException($"保存条码队列信息异常:参数为空"); } var taskInfos = Query(x => x.PrdBarcodeInfo == mesPrdBarcodeInfo.PrdBarcodeInfo).ToList(); if (taskInfos.Count > 0) { Deletes(taskInfos); } Insert(mesPrdBarcodeInfo); } catch (Exception e) { throw new InvalidOperationException($"保存条码队列信息异常:{e.Message}"); } } /// /// 查询前四十条已经喷印未绑定条码 /// /// /// /// public List GetUseBarCodeList() { List list = null; try { string sql = "select * from mes_prd_barcode_info where print_flag ='1' and pallet_info_code is null order by print_time limit 40;"; list = _rep.Context.Ado.SqlQuery(sql); return list; }catch (Exception e) { throw new InvalidOperationException($"查询小条码队列信息异常:{e.Message}"); } } /// /// 移除条码队列 /// /// /// //public void RemoveBarCodeTask(string barCode) //{ // try // { // if (string.IsNullOrEmpty(barCode)) // { // throw new ArgumentNullException($"移除条码队列信息异常:参数为空"); // } // var taskInfos = Query(x => x.BarCode == barCode).ToList(); // Deletes(taskInfos); // RefreshLocalTask(); // } // catch (Exception e) // { // throw new InvalidOperationException($"移除条码队列信息异常:{e.Message}"); // } //} ///// /// 刷新条码队列缓存信息 /// /// /// //private void RefreshLocalTask() //{ // try // { // using (var scope = _serviceProvider.CreateScope()) // { // var info = scope.ServiceProvider.GetRequiredService>(); // var infos = base.Query(x => 1 == 1, y => y.RecordTime, true).ToList(); // info.Clear(); // info.AddRange(infos); // } // } // catch (Exception e) // { // throw new InvalidOperationException($"刷新条码队列缓存信息异常:{e.Message}"); // } //} } }