| | |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | using Masuit.Tools; |
| | | using Masuit.Tools.Hardware; |
| | | using NewPdaSqlServer.DB; |
| | | using NewPdaSqlServer.Dto.service; |
| | | using NewPdaSqlServer.entity; |
| | | using NewPdaSqlServer.util; |
| | | using SqlSugar; |
| | | using static Microsoft.EntityFrameworkCore.DbLoggerCategory; |
| | | |
| | | namespace NewPdaSqlServer.service.Warehouse; |
| | | |
| | |
| | | { |
| | | public MesInvItemStocks GetBarInfo(WarehouseQuery unity) |
| | | { |
| | | var barInfo = Db.Queryable<MesInvItemStocks>() |
| | | var barInfo = Db.Queryable<MesInvItemStocks>() |
| | | .Where(s => s.ItemBarcode == unity.barcode) |
| | | .First(); |
| | | if (barInfo is null) throw new Exception("该条码库存不存在!"); |
| | | |
| | | return barInfo; // 返回第一行数据,如果没有则返回 null |
| | | } |
| | | |
| | | public dynamic GetBarInfoBefore(WarehouseQuery unity) |
| | | { |
| | | // 使用参数化查询防止SQL注入 |
| | | var sqlParams = new List<SugarParameter> |
| | | { new("@barcode", unity.barcode) }; |
| | | |
| | | var sql1 = |
| | | @"SELECT 1 FROM MES_INV_ITEM_STOCKS WHERE ITEM_BARCODE =@barcode "; |
| | | |
| | | var KcInfo = Db.Ado.SqlQuery<dynamic>(sql1, sqlParams); |
| | | |
| | | if (KcInfo.Count > 0) throw new Exception("该条码已入库不能进行入库前拆分!"); |
| | | |
| | | |
| | | //var sql3 = @"SELECT 1 FROM MES_INV_ITEM_CGYT_C_DETAILS WHERE ITEM_BARCODE =@barcode"; |
| | | |
| | | //var YtInfo = Db.Ado.SqlQuery<dynamic>(sql3, sqlParams); |
| | | |
| | | //if (YtInfo.Count > 0) throw new Exception("该条码已扫描退料不能进行入库前拆分!"); |
| | | |
| | | var sql2 = |
| | | @"SELECT ITEM_ID,QUANTITY FROM MES_INV_ITEM_BARCODES WHERE ITEM_BARCODE =@barcode "; |
| | | |
| | | var barInfo = |
| | | Db.Ado.SqlQuery<dynamic>(sql2, sqlParams).FirstOrDefault(); |
| | | |
| | | if (barInfo is null) throw new Exception("该条码信息不存在!"); |
| | | |
| | | return barInfo; |
| | | } |
| | | |
| | | public MesItems GetItemNo(decimal strItemId) |
| | |
| | | { |
| | | var _strMsg = ""; |
| | | var _intSum = ""; |
| | | var _cfBar = "";//拆分后条码 |
| | | var _cfBar = ""; //拆分后条码 |
| | | using (var conn = new SqlConnection(DbHelperSQL.strConn)) |
| | | { |
| | | if (unity.userName.IsNullOrEmpty()) throw new Exception("用户名不允许为空"); |
| | |
| | | new("@barcode_new", SqlDbType.NVarChar, 300), |
| | | new("@c_user", unity.userName), |
| | | new("@p_old_barcode", unity.barcode), |
| | | new("@p_qty", unity.CfNum), |
| | | |
| | | new("@p_qty", unity.CfNum) |
| | | }; |
| | | parameters[0].Direction = ParameterDirection.Output; |
| | | parameters[1].Direction = ParameterDirection.Output; |
| | |
| | | |
| | | var dto = new ProductionPickDto |
| | | { |
| | | barcode = unity.barcode,//原条码 |
| | | cfBarcode = _cfBar//拆分后条码 |
| | | barcode = unity.barcode, //原条码 |
| | | cfBarcode = _cfBar //拆分后条码 |
| | | }; |
| | | return dto; |
| | | |
| | |
| | | //return _strMsg; |
| | | |
| | | //return 0; |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | //入库前拆分 |
| | | public dynamic GetBarInfoBefore(WarehouseQuery unity) |
| | | { |
| | | |
| | | // 使用参数化查询防止SQL注入 |
| | | var sqlParams = new List<SugarParameter> { new("@barcode", unity.barcode) }; |
| | | |
| | | var sql1 = @"SELECT 1 FROM MES_INV_ITEM_STOCKS WHERE ITEM_BARCODE =@barcode "; |
| | | |
| | | var KcInfo = Db.Ado.SqlQuery<dynamic>(sql1, sqlParams); |
| | | |
| | | if (KcInfo.Count > 0) throw new Exception("该条码已入库不能进行入库前拆分!"); |
| | | |
| | | var sql2 = @"SELECT ITEM_ID,QUANTITY FROM MES_INV_ITEM_BARCODES WHERE ITEM_BARCODE =@barcode "; |
| | | |
| | | var barInfo = Db.Ado.SqlQuery<dynamic>(sql2, sqlParams).FirstOrDefault(); |
| | | |
| | | if (barInfo is null) throw new Exception("该条码信息不存在!"); |
| | | |
| | | return barInfo; |
| | | } |
| | | //入库前拆分 |
| | | public ProductionPickDto BarCfBefore(WarehouseQuery unity) |
| | | { |
| | | var _strMsg = ""; |
| | | var _intSum = ""; |
| | | var _cfBar = "";//拆分后条码 |
| | | var _cfBar = ""; //拆分后条码 |
| | | using (var conn = new SqlConnection(DbHelperSQL.strConn)) |
| | | { |
| | | if (unity.userName.IsNullOrEmpty()) throw new Exception("用户名不允许为空"); |
| | |
| | | new("@barcode_new", SqlDbType.NVarChar, 300), |
| | | new("@c_user", unity.userName), |
| | | new("@p_old_barcode", unity.barcode), |
| | | new("@p_qty", unity.CfNum), |
| | | |
| | | new("@p_qty", unity.CfNum) |
| | | }; |
| | | parameters[0].Direction = ParameterDirection.Output; |
| | | parameters[1].Direction = ParameterDirection.Output; |
| | |
| | | |
| | | var dto = new ProductionPickDto |
| | | { |
| | | barcode = unity.barcode,//原条码 |
| | | cfBarcode = _cfBar//拆分后条码 |
| | | barcode = unity.barcode, //原条码 |
| | | cfBarcode = _cfBar //拆分后条码 |
| | | }; |
| | | return dto; |
| | | |
| | |
| | | //return _strMsg; |
| | | |
| | | //return 0; |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |