1.生产补料/超领优化
2.委外补料/超领优化
3.巡检检验新增工单查询选择
4.巡检优化新增时间段字段
已修改6个文件
180 ■■■■■ 文件已修改
Controllers/QC/IpqcController.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Controllers/Warehouse/MesItemBlController.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
entity/VIpqcXj.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/QC/IpqcService.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/Warehouse/MesItemBlManager.cs 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/Wom/WwGdManager.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Controllers/QC/IpqcController.cs
@@ -323,5 +323,30 @@
        }
    }
    /// <summary>
    /// 现场收料获取可选工单信息
    /// </summary>
    /// <param name="query"></param>
    /// <returns></returns>
    [HttpPost("GetIpqcXjDaa")]
    public ResponseResult GetIpqcXjDaa([FromBody] dynamic query)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetIpqcXjDaa(query);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
}
Controllers/Warehouse/MesItemBlController.cs
@@ -459,5 +459,41 @@
        }
    }
    /// <summary>
    ///     根据单号获取生产补料单明细
    /// </summary>
    /// <param name="query">查询参数,必须包含billNo</param>
    /// <returns>补料单明细列表</returns>
    /// <remarks>
    ///     请求示例:
    ///     POST /api/MesItemBl/GetMesItemBlDetailByBillNo
    ///     {
    ///     "billNo": "BL202401010001"
    ///     }
    /// </remarks>
    /// <response code="200">成功获取补料单明细</response>
    /// <response code="400">获取失败,可能是单据号不存在或已完成</response>
    [HttpPost("GetMesItemWWBlDetailByBillNo")]
    public ResponseResult GetMesItemWWBlDetailByBillNo(
        [FromBody] WarehouseQuery query)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = _manager.GetMesItemWWBlDetailByBillNo(query);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    #endregion
}
entity/VIpqcXj.cs
@@ -157,4 +157,16 @@
    /// </summary>
    [SugarColumn(ColumnName = "CREATE_DATE")]
    public string CreateDate { get; set; }
    /// <summary>
    ///     产线id
    /// </summary>
    [SugarColumn(ColumnName = "line_id")]
    public string lineId { get; set; }
    /// <summary>
    ///     时间段
    /// </summary>
    [SugarColumn(ColumnName = "check_time_slot")]
    public string checkTimeSlot { get; set; }
}
service/QC/IpqcService.cs
@@ -7,6 +7,7 @@
using SqlSugar;
using System.Data;
using System.Data.SqlClient;
using System.Text;
using static Azure.Core.HttpHeader;
using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
@@ -152,6 +153,7 @@
                a => a.Guid == parsedGuid.ToString())
            .Where(a => (a.FSubmit ?? 0) == 0)
            .OrderByDescending(a => a.CreateDate)
            .OrderBy(a => a.checkTimeSlot)
            .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
        return (pageList, totalCount);
@@ -337,4 +339,34 @@
        return Db.Ado.ExecuteCommand(sql, sqlParams);
    }
    public dynamic GetIpqcXjDaa(dynamic unity)
    {
        var sqlParams = new List<SugarParameter> { };
        sqlParams.Add(new("@xt", unity.xt));
        var sql2 = new StringBuilder(@"
        SELECT '['+DAA001+']['+DAA021+']' AS daaInfo,DAA001,DAA021
        FROM WOMDAA
        WHERE DAA015 = @xt AND daa018 NOT IN ('W:完工', 'D:待开工')");
        if (!string.IsNullOrWhiteSpace(unity.selectKey?.ToString()))
        {
            sqlParams.Add(new("@selectKey", unity.selectKey));
            sql2.Append(@"
            AND (DAA001 LIKE '%' + @selectKey + '%'
            OR DAA021 LIKE '%' + @selectKey + '%')");
        }
        var XcslItem = Db.Ado.SqlQuery<dynamic>(sql2.ToString(), sqlParams);
        if (XcslItem == null)
        {
            throw new Exception("该条件下无对应工单信息,请重新输入!");
        }
        return XcslItem;
    }
}
service/Warehouse/MesItemBlManager.cs
@@ -323,7 +323,7 @@
                    ErpAutoid = womdab.Erpid,
                    PbillNo = query.billNo,
                    ItemId = blDetail.Bld012,
                    DepotId = stockBarcode.DepotsId.ToString(),
                    DepotId = stockBarcode.DepotId.ToString(),
                    ItemDabid = blDetail.Id,
                    // Unit = blDetail.Bld009,
                    // DepotId = (int)stockBarcode.DepotsId
@@ -1815,5 +1815,72 @@
        return (true, pendingList);
    }
    /// <summary>
    ///     根据单号获取生产补料单明细  prc_rf_pda_scan_zout_showbl
    /// </summary>
    /// <param name="billNo">补料单号</param>
    /// <returns>补料单明细列表</returns>
    public ProductionPickDto
        GetMesItemWWBlDetailByBillNo(
            WarehouseQuery query)
    {
        if (string.IsNullOrEmpty(query.billNo))
            throw new Exception("请选单据号!");
        // 检查补料单是否存在且为生产补料类型
        var mesItemBl = Db.Queryable<MesItemBl>()
            .Where(a => a.BlNo == query.billNo && a.Bl008 == query.Type && a.Bl018 == true)
            .First();
        if (mesItemBl == null)
            throw new Exception("单据号不存在或未审核!");
        //if (mesItemBl.Bl019 == true)
        //    throw new Exception("单据号已完成!");
        //// 获取未完成的补料单明细
        //var blDetails = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) =>
        //        new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
        //    .Where((a, b) => a.BlNo == query.billNo
        //                     && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
        //    .Select((a, b) => new MesItemBlDetail
        //    {
        //        Bld012 = b.Bld012,
        //        Bld002 = b.Bld002,
        //        Bld003 = b.Bld003,
        //        Bld004 = b.Bld004,
        //        Bld007 = b.Bld007,
        //        Bld008 = b.Bld008
        //    })
        //    .ToList();
        //return (mesItemBl.Bl001, blDetails);
        var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty,
       dbo.F_QX_GETRECODEPOTSE(A.bld012,'','','') as RecoKw,D.daa001
fROM MES_ITEM_BL_DETAIL A
         LEFT JOIN MES_ITEM_BL B ON A.MID = B.ID
         LEFT JOIN MES_ITEMS C ON A.bld012 = CAST(C.item_id AS VARCHAR(50))
         LEFT JOIN WW_GD D ON B.about_guid = D.ID
WHERE B.bl_no = '{0}'", query.billNo);
        var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql);
        var DS_list = womdabs.Where(s => s.DSQty > 0).ToList();
        var YS_list = womdabs.Where(s => s.SQty > 0).ToList();
        var dto = new ProductionPickDto
        {
            daa001 = womdabs[0].DAA001,
            //PlanNo = womcaa.Caa020,
            items = DS_list,
            Ysitems = YS_list
        };
        return dto;
    }
    #endregion
}
service/Wom/WwGdManager.cs
@@ -939,7 +939,7 @@
                    ErpAutoid = womdab.Erpid,
                    PbillNo = query.billNo,
                    ItemId = blDetail.Bld012,
                    DepotId = stockBarcode.DepotsId.ToString(),
                    DepotId = stockBarcode.DepotId.ToString(),
                    ItemDabid = blDetail.Id,
                    //AboutGuid = womdab.Id
                    // Unit = blDetail.Bld009,
@@ -1071,7 +1071,7 @@
            // 创建 插入日志
            var logService = new LogService();
            var LogMsg = "[PDA]"+query.Type + "。条码【" +query.barcode+"】 出库单号【"+ outNo +"】";
            var LogMsg = "[PDA]"+query.Type + "。条码【" +query.barcode+"】 数量【"+ stockBarcode.Quantity.ToString() + "】 出库单号【"+ outNo +"】";
            logService.CreateLog(db,query.userName,wwgd.Id.ToString(), "WW_GD", LogMsg,wwgd.Daa001);
            return 1;