namespace NewPdaSqlServer.service.@base
|
{
|
using NewPdaSqlServer.Dto.service;
|
using NewPdaSqlServer.entity;
|
using SqlSugar;
|
using System;
|
using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
|
using System.Data;
|
using NewPdaSqlServer.DB;
|
using System.Data;
|
using System.Data.SqlClient;
|
using Microsoft.EntityFrameworkCore.Metadata.Internal;
|
|
|
public class MesPrintMangeer : Repository<dynamic>
|
{
|
public dynamic getPrintInfo(dynamic query)
|
{
|
|
// 使用参数化查询防止SQL注入
|
var sqlParams = new List<SugarParameter> { new("@userAccount", query.userName) };
|
|
var sql1 = @"SELECT TOP 1 ip,port fROM print_info A
|
left join SYS_USER_BIND B on A.guid = B.aboutGuid
|
left join SYS_USER C ON C.GUID = B.userGuid
|
WHERE C.ACCOUNT = @userAccount AND B.fType = '打印机'";
|
|
var printInfo = Db.Ado.SqlQuery<dynamic>(sql1, sqlParams);
|
|
if (printInfo.Count < 1 ) throw new Exception("当前用户未绑定打印机,请维护后使用拆分功能!");
|
|
return printInfo;
|
}
|
|
|
public dynamic getCfInfo(dynamic query) // 使用具体类型替代dynamic
|
{
|
// 参数校验
|
if (string.IsNullOrEmpty(query?.cfBarcode))
|
throw new ArgumentException("拆分条码不能为空");
|
if (string.IsNullOrEmpty(query?.barcode))
|
throw new ArgumentException("原始条码不能为空");
|
|
// 使用强类型参数
|
var sqlParams = new List<SugarParameter> {
|
new("@cfBar", query.cfBarcode.Trim()),
|
new("@oldBar", query.barcode.Trim())
|
};
|
|
var sql = @"SELECT TOP 1 C.ITEM_NO,C.item_name,C.item_model,B.OLDQTY as QUANTITY,B.CREATE_DATE, '拆分条码' AS BarType,A.ITEM_BARCODE,GETDATE() as print_date
|
FROM MES_INV_ITEM_STOCKS A
|
LEFT JOIN MES_INV_ITEM_BARCODES B ON A.ITEM_BARCODE = B.ITEM_BARCODE
|
LEFT JOIN MES_ITEMS C ON C.item_id = B.ITEM_ID
|
WHERE A.ITEM_BARCODE = @cfBar
|
|
UNION ALL
|
|
SELECT TOP 1 C.ITEM_NO,C.item_name,C.item_model,A.QUANTITY as QUANTITY,B.CREATE_DATE, '原始条码' AS BarType,A.ITEM_BARCODE,GETDATE() as print_date
|
FROM MES_INV_ITEM_STOCKS A
|
LEFT JOIN MES_INV_ITEM_BARCODES B ON A.ITEM_BARCODE = B.ITEM_BARCODE
|
LEFT JOIN MES_ITEMS C ON C.item_id = B.ITEM_ID
|
WHERE A.ITEM_BARCODE = @oldBar";
|
|
var mergedData = Db.Ado.SqlQuery<dynamic>(sql, sqlParams);
|
|
if (mergedData.Count < 2) throw new Exception("条码信息存在异常,请联系管理员!");
|
|
return mergedData;
|
}
|
|
// // 现场收料展示列表
|
// public class PrintBarInfo
|
// {
|
// public List<dynamic> cfBarInfo { get; set; }
|
// public List<dynamic> oldBarInfo { get; set; }
|
// }
|
|
|
}
|
}
|