南骏 池
2025-05-26 fd2b52ddb4f9a1fb5d342acad52ff3455249d022
1.期初条码打印——PDA
已修改2个文件
109 ■■■■■ 文件已修改
Controllers/Warehouse/InventoryController.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/Warehouse/InventoryManager.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Controllers/Warehouse/InventoryController.cs
@@ -77,4 +77,55 @@
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    /// 期初打印扫描库位获取仓库信息和库存组织信息
    /// </summary>
    /// <param name="query"></param>
    /// <returns></returns>
    [HttpPost("GetDepoptsInfo")]
    public ResponseResult GetDepoptsInfo([FromBody] WarehouseQuery query)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetDepoptsInfo(query);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
        /// <summary>
    /// 期初打印扫描库位获取仓库信息和库存组织信息
    /// </summary>
    /// <param name="query"></param>
    /// <returns></returns>
    [HttpPost("GetItemsList")]
    public ResponseResult GetItemsList([FromBody] dynamic query)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetItemsList(query);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
}
service/Warehouse/InventoryManager.cs
@@ -4,6 +4,7 @@
using NewPdaSqlServer.service.@base;
using NewPdaSqlServer.util;
using SqlSugar;
using System.Text;
namespace NewPdaSqlServer.service.Warehouse;
@@ -268,4 +269,61 @@
        // 返回成功信息
        return query;
    }
    public dynamic GetDepoptsInfo(dynamic unity)
    {
        //// 使用参数化查询防止SQL注入
        var sqlParams = new List<SugarParameter> { new("@sectionCode", unity.sectionCode) };
        var sql2 = @"        SELECT TOP 1  B.depot_code + '('+B.depot_name+')' depotsInfo,
                     B.FSubsidiary,
                     C.FNumber + '('+C.NAME+')' orgInfo
        FROM MES_DEPOT_SECTIONS A
                 LEFT JOIN
             MES_DEPOTS B ON A.depot_guid = B.Guid
            LEFT JOIN SYS_ORGANIZATION C ON C.FID = B.FSubsidiary
        WHERE a.depot_section_code = @sectionCode;";
        var XcslItem = Db.Ado.SqlQuery<dynamic>(sql2, sqlParams).FirstOrDefault();
        // 检查结果有效性
        if (XcslItem == null)
        {
            throw new Exception($"库位 [{unity.sectionCode}] 不存在,或所属仓库状态异常(可能被禁用或删除)。");
        }
        return XcslItem; // 返回第一行数据,如果没有则返回 null
    }
    public dynamic GetItemsList(dynamic unity)
    {
        var sqlParams = new List<SugarParameter> { new("@orgId", unity.orgId) };
        var sql2 = new StringBuilder(@"
        SELECT TOP 20 item_id, item_no, item_name, item_model,item_no+'---'+item_name AS wlInfo
        FROM MES_ITEMS
        WHERE FSubsidiary = @orgId");
        if (!string.IsNullOrWhiteSpace(unity.selectKey?.ToString()))
        {
            sqlParams.Add(new("@selectKey", unity.selectKey));
            sql2.Append(@"
            AND (item_no LIKE '%' + @selectKey + '%'
            OR item_name LIKE '%' + @selectKey + '%'
            OR item_model LIKE '%' + @selectKey + '%')");
        }
        var XcslItem = Db.Ado.SqlQuery<dynamic>(sql2.ToString(), sqlParams);
        if (XcslItem == null)
        {
            throw new Exception("该条件下无对应物料信息,请重新输入!");
        }
        return XcslItem;
    }
}