南骏 池
3 天以前 b903237d13a6b62d3e9dc1a8e3381ace2f523ab3
service/Wom/WomdaaManager.cs
@@ -28,9 +28,57 @@
    }
    //根据工单号返回产品型号和待领物料
    public ProductionPickDto GetItemsByDaa001(WarehouseQuery query, dynamic requestInfo)
    public dynamic GetItemsByDaa001(WarehouseQuery query, dynamic requestInfo)
    {
        return getDaa001(query);
        if (string.IsNullOrEmpty(query.daa001))
            throw new Exception("请选工单号!");
        if (query == null)
            throw new ArgumentNullException(nameof(query), "参数对象不能为null");
        if (string.IsNullOrEmpty(query.daa001?.ToString()))
            throw new ArgumentException("工单号不能为空", nameof(query.daa001));
        var orgId = requestInfo.OrgId;
        if (orgId == null)
            throw new Exception("组织不存在!");
        // 调用存储过程获取物料明细
        var parameters = new[]
        {
            new SugarParameter("@daa001", query.daa001),
            new SugarParameter("@pi_orgId",orgId),
            new SugarParameter("@inP1", null),
            new SugarParameter("@inP2", null),
            new SugarParameter("@inP3", null),
            new SugarParameter("@inP4", null)
        };
        var womdabs = Db.Ado.SqlQuery<ItemDetailModel>("EXEC prc_pda_scll_detailList @daa001", parameters);
        var DS_list = womdabs.Where(s => s.DSQty > 0).ToList();
        var YS_list = womdabs.Where(s => s.SQty > 0).ToList();
        // 修复:补充获取 womdaa 对象
        var daa001Value = query.daa001?.ToString();
        var womdaa = Db.Queryable<Womdaa>().Where(s => s.Daa001 == daa001Value).First();
        var womcaa = Db.Queryable<Womcaa>().Where(s => s.Guid == womdaa.CaaGuid).First();
        if (womcaa == null)
        {
            throw new Exception("生产任务单不存在");
        }
        var dto = new ProductionPickDto
        {
            daa001 = query.daa001,
            PlanNo = womcaa.Caa020,
            items = DS_list,
            Ysitems = YS_list
        };
        return dto;
    }
    public ProductionPickDto ScanCode(WarehouseQuery query)
@@ -935,32 +983,43 @@
        }
    }
    public dynamic GetXcslDaa(dynamic unity)
    public dynamic GetXcslDaa(dynamic unity,dynamic RequestInfo)
    {
        var sqlParams = new List<SugarParameter> { };
        //var sqlParams = new List<SugarParameter> { };
        var sql2 = new StringBuilder(@"
        SELECT '['+DAA001+']['+DAA021+']' AS daaInfo,DAA001,DAA021
        FROM WOMDAA
        WHERE daa018 <>'W:完工'");
        //var sql2 = new StringBuilder(@"
        //SELECT '['+DAA001+']['+DAA021+']' AS daaInfo,DAA001,DAA021
        //FROM WOMDAA
        //WHERE daa018 <>'W:完工'");
        if (!string.IsNullOrWhiteSpace(unity.selectKey?.ToString()))
        //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("该条件下无对应工单信息,请重新输入!");
        //}
        var orgId = RequestInfo.OrgId;
        var parameters = new List<SugarParameter>
        {
            sqlParams.Add(new("@selectKey", unity.selectKey));
            sql2.Append(@"
            AND (DAA001 LIKE '%' + @selectKey + '%'
            OR DAA021 LIKE '%' + @selectKey + '%')");
        }
            new SugarParameter("@selectKey", unity.selectKey),
            new SugarParameter("@inP1", orgId), // 可选参数
            new SugarParameter("@inP2", null), // 可选参数
            // ...其他可选参数
        };
        var XcslItem = Db.Ado.SqlQuery<dynamic>(sql2.ToString(), sqlParams);
        var result = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_getWorkOrderInfo @selectKey, @inP1, @inP2", parameters);
        if (XcslItem == null)
        {
            throw new Exception("该条件下无对应工单信息,请重新输入!");
        }
        return XcslItem;
        return result;
    }
@@ -1342,7 +1401,8 @@
        var sqlParams = new List<SugarParameter> { };
        var sql2 = new StringBuilder(@"SELECT NAME,line_no FROM MES_WORKSHOP_LINE WHERE isAgv = 1 ORDER BY line_no");
        var sql2 = new StringBuilder(@"
SELECT NAME,line_no FROM MES_WORKSHOP_LINE WHERE isAgv = 1 ORDER BY line_no");
        var XtItem = Db.Ado.SqlQuery<dynamic>(sql2.ToString(), sqlParams);