Controllers/Warehouse/MesBarCFController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
entity/DeliveryNotice.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
service/Warehouse/MesBarCFManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
service/base/MesPrintMangeer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Controllers/Warehouse/MesBarCFController.cs
@@ -47,6 +47,31 @@ /// 获取条码信息和物料信息 /// </summary> /// <returns></returns> [HttpPost("GetBarInfoBefore")] public ResponseResult GetBarInfoBefore(WarehouseQuery unity) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.GetBarInfoBefore(unity); resultInfos.tbMesItems = m.GetItemNo(resultInfos.tbBillList.ITEM_ID); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// 获取条码信息和物料信息 /// </summary> /// <returns></returns> [HttpPost("BarCF")] public ResponseResult BarCF(WarehouseQuery unity) { @@ -69,4 +94,32 @@ return ResponseResult.ResponseError(ex); } } /// <summary> /// 获取条码信息和物料信息 /// </summary> /// <returns></returns> [HttpPost("BarCfBefore")] public ResponseResult BarCfBefore(WarehouseQuery unity) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = new ExpandoObject(); resultInfos.tbBillList.printInfo = _mCf.getPrintInfo(unity); var scanResult = m.BarCfBefore(unity); resultInfos.tbBillList.cfBarInfo = _mCf.getCfBeforeInfo(scanResult); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } } entity/DeliveryNotice.cs
@@ -34,6 +34,12 @@ public string InnerVendorName { get; set; } /// <summary> /// 采购类型,1:一般采购;2:委外采购;3:多角采购;4:费用采购;5:固资采购;6:境外直送;7:境外采购;8:平台采购;9:VMI采购;10:样品采购;11:折让订单;12:退货订单;13:代送订单 /// </summary> [SugarColumn(ColumnName = "purchase_type")] public string PurchaseType { get; set; } /// <summary> /// 送货类型:1-普通 2-补货 3-备品 4-样品 5-VMI /// </summary> [SugarColumn(ColumnName = "delivery_type")] service/Warehouse/MesBarCFManager.cs
@@ -22,6 +22,27 @@ 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 sql2 = @"SELECT ITEM_ID,QUANTITY FROM MES_INV_ITEM_BARCODES WHERE ITEM_BARCODE =@barcode "; var barInfo = Db.Ado.SqlQuery<dynamic>(sql2, sqlParams).First(); if (barInfo is null) throw new Exception("该条码信息不存在!"); return barInfo; } public MesItems GetItemNo(decimal strItemId) { var itemInfo = Db.Queryable<MesItems>() @@ -100,4 +121,73 @@ } } } public ProductionPickDto BarCfBefore(WarehouseQuery unity) { var _strMsg = ""; var _intSum = ""; var _cfBar = "";//拆分后条码 using (var conn = new SqlConnection(DbHelperSQL.strConn)) { if (unity.userName.IsNullOrEmpty()) throw new Exception("用户名不允许为空"); if (unity.CfNum <= 0) throw new Exception("拆分数量需大于等于0"); if (unity.barcode.IsNullOrEmpty()) throw new Exception("条码不允许为空"); using (var cmd = new SqlCommand("[prc_pda_bar_cf_before]", conn)) { try { conn.Open(); cmd.CommandType = CommandType.StoredProcedure; SqlParameter[] parameters = { new("@outMsg", SqlDbType.NVarChar, 300), new("@outSum", SqlDbType.NVarChar, 300), new("@barcode_new", SqlDbType.NVarChar, 300), new("@c_user", unity.userName), new("@p_old_barcode", unity.barcode), new("@p_qty", unity.CfNum), }; parameters[0].Direction = ParameterDirection.Output; parameters[1].Direction = ParameterDirection.Output; parameters[2].Direction = ParameterDirection.Output; foreach (var parameter in parameters) cmd.Parameters.Add(parameter); cmd.ExecuteNonQuery(); _strMsg = parameters[0].Value.ToString(); _intSum = parameters[1].Value.ToString(); _cfBar = parameters[2].Value.ToString(); var result = Convert.ToInt32(_intSum); if (result <= 0) throw new Exception(_strMsg); var dto = new ProductionPickDto { barcode = unity.barcode,//原条码 cfBarcode = _cfBar//拆分后条码 }; return dto; //var result = Convert.ToInt32(_intSum); //if (result <= 0) throw new Exception(_strMsg); //return _strMsg; //return 0; } catch (Exception ex) { throw new Exception(ex.Message); } finally { conn.Close(); } } } } } service/base/MesPrintMangeer.cs
@@ -75,6 +75,39 @@ // public List<dynamic> oldBarInfo { get; set; } // } public dynamic getCfBeforeInfo(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,B.ITEM_BARCODE,GETDATE() as print_date FROM MES_INV_ITEM_BARCODES B LEFT JOIN MES_ITEMS C ON C.item_id = B.ITEM_ID WHERE B.ITEM_BARCODE = @cfBar UNION ALL SELECT TOP 1 C.ITEM_NO,C.item_name,C.item_model,B.QUANTITY as QUANTITY,B.CREATE_DATE, '原始条码' AS BarType,B.ITEM_BARCODE,GETDATE() as print_date FROM MES_INV_ITEM_BARCODES B LEFT JOIN MES_ITEMS C ON C.item_id = B.ITEM_ID WHERE B.ITEM_BARCODE = @oldBar"; var mergedData = Db.Ado.SqlQuery<dynamic>(sql, sqlParams); if (mergedData.Count < 2) throw new Exception("条码信息存在异常,请联系管理员!"); return mergedData; } } }