11
啊鑫
2025-01-02 4704a266830cf05b877dfb3cc572fb1ca8680b3d
11
已修改2个文件
81 ■■■■ 文件已修改
Controllers/Warehouse/MesItemBlController.cs 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/Warehouse/MesItemBlManager.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Controllers/Warehouse/MesItemBlController.cs
@@ -162,6 +162,64 @@
        }
    }
    /// <summary>
    /// 生产补料单条码拆分
    /// </summary>
    /// <param name="query">查询参数</param>
    /// <returns>拆分结果和待处理列表</returns>
    /// <remarks>
    /// 请求示例:
    ///
    ///     POST /api/MesItemBl/SplitBarcode
    ///     {
    ///         "billNo": "WO202401010001",  // 工单号(必填)
    ///         "barcode": "BC001",          // 条码号(必填)
    ///         "userName": "admin",          // 用户名(必填)
    ///         "blNo": "BL202401010001",    // 补料单号(必填)
    ///         "Num": 10                    // 拆分数量(必填,必须大于0)
    ///     }
    ///
    /// 业务处理:
    /// - 验证补料单状态
    /// - 验证条码库存信息
    /// - 验证拆分数量是否合理
    /// - 执行条码拆分事务处理
    /// - 更新工单和补料单相关数量
    ///
    /// 返回数据包含:
    /// - success: 拆分是否成功
    /// - pendingList: 待处理明细列表,包含:
    ///   * Bld012: 物料ID
    ///   * Bld002: 物料编号
    ///   * Bld003: 物料名称
    ///   * Bld004: 物料规格
    ///   * Bld007: 计划数量
    ///   * Bld008: 已补数量
    /// </remarks>
    /// <response code="200">拆分成功</response>
    /// <response code="400">拆分失败,返回具体错误信息</response>
    [HttpPost("SplitBarcode")]
    public ResponseResult SplitBarcode([FromBody] WarehouseQuery query)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var (success, pendingList) = _manager.SplitBarcode(query);
            resultInfos.success = success;
            resultInfos.pendingList = pendingList;
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    #region 生产补料
    /// <summary>
@@ -171,12 +229,12 @@
    /// <response code="200">成功获取补料单号列表</response>
    /// <response code="400">获取失败</response>
    [HttpPost("GetSCBLBillNo")]
    public ResponseResult GetSCBLBillNo()
    public ResponseResult GetSCBLBillNo(WarehouseQuery query)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = _manager.GetSCBLBillNo();
            resultInfos.tbBillList = _manager.GetSCBLBillNo(query);
            return new ResponseResult
            {
                status = 0,
@@ -275,12 +333,12 @@
    /// <response code="200">成功获取超领单号列表</response>
    /// <response code="400">获取失败</response>
    [HttpPost("GetSccList")]
    public ResponseResult GetSccList()
    public ResponseResult GetSccList(WarehouseQuery query)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = _manager.GetSccList();
            resultInfos.tbBillList = _manager.GetSccList(query);
            return new ResponseResult
            {
                status = 0,
service/Warehouse/MesItemBlManager.cs
@@ -14,12 +14,12 @@
    ///     获取生产补料单号列表
    /// </summary>
    /// <returns>补料单号列表</returns>
    public List<string> GetSCBLBillNo()
    public List<string> GetSCBLBillNo(WarehouseQuery query)
    {
        var list = Db.Queryable<MesItemBl>()
            .Where(s => (s.Bl018 ?? false) == true
                        && (s.Bl019 ?? false) == false
                        && s.Bl008 == "生产补料")
                        && s.Bl008 == query.type)
            .Select(s => s.BlNo)
            .ToList();
        return list;
@@ -505,8 +505,8 @@
                    // Mblnr = stockBarcode.Mblnr,
                    // Zeile = stockBarcode.Zeile,
                    // RohInId = stockBarcode.RohInId,
                    // BarcodeStatus = 0,
                    // OldQty = query.Num,
                    Barcodestatus = false,
                    Oldqty = query.Num as long?,
                    // Unit = stockBarcode.Unit,
                    // WeightUnit = stockBarcode.WeightUnit,
                    Factory = stockBarcode.Factory,
@@ -519,8 +519,9 @@
                    // MemoBad = stockBarcode.MemoBad,
                    ComeFlg = 5,
                    // Memo = stockBarcode.Memo,
                    SuppId = stockBarcode.SuppId,
                    SuppNo = stockBarcode.SuppNo,
                    // InsDate = stockBarcode.InsDate, // Added InsDate
                    InsDate = stockBarcode.IndepDate, // Added InsDate
                    ItemId = stockBarcode.ItemId
                    // ItemUnit = stockBarcode.ItemUnit // Added ItemUnit
                }).IgnoreColumns(true).ExecuteCommand();
@@ -891,12 +892,12 @@
    #region 生产超领
    public List<string> GetSccList()
    public List<string> GetSccList(WarehouseQuery query)
    {
        var list = Db.Queryable<MesItemBl>()
            .Where(s => (s.Bl018 ?? false) == true
                        && (s.Bl019 ?? false) == false
                        && s.Bl008 == "生产超领")
                        && s.Bl008 == query.type)
            .Select(s => s.BlNo)
            .ToList();
        return list;