11
啊鑫
2025-01-08 a204df28fd20b4908bba80deb482f9c91ecc0877
service/Wom/WwGdManager.cs
copy from service/Warehouse/WomdaaManager.cs copy to service/Wom/WwGdManager.cs
Îļþ´Ó service/Warehouse/WomdaaManager.cs ¸´ÖÆ
@@ -6,30 +6,10 @@
using NewPdaSqlServer.entity;
using SqlSugar;
namespace NewPdaSqlServer.service.Warehouse;
namespace NewPdaSqlServer.service.Wom;
public class WomdaaManager : Repository<Womdaa>
public class WwGdManager : Repository<WwGd>
{
    //当前类已经继承了 Repository å¢žã€åˆ ã€æŸ¥ã€æ”¹çš„æ–¹æ³•
    //这里面写的代码不会给覆盖,如果要重新生成请删除 WomdaaManager.cs
    //获取工单号
    public List<string> GetProductionPickDaa001(WarehouseQuery query)
    {
        var sql =
            "SELECT DAA001 FROM WOMDAA A LEFT JOIN (SELECT COUNT(1) UN_NUM, PID                     FROM WOMDAB                    WHERE DAB006 > DAB007                   GROUP BY PID) B ON A.ID = B.PID WHERE DAA001 LIKE '%" +
            query.daa001 +
            "%' and DAA018 != '完工' AND DAA022 = 1 AND UN_NUM > 0 AND ROWNUM <= 10 order by a.id desc";
        return Db.Ado.SqlQuery<string>(sql);
    }
    //根据工单号返回产品型号和待领物料
    public ProductionPickDto GetItemsByDaa001(WarehouseQuery query)
    {
        return getDaa001(query);
    }
    public ProductionPickDto ScanCode(WarehouseQuery query)
    {
        var _strMsg = "";
@@ -40,7 +20,7 @@
            if (query.daa001.IsNullOrEmpty()) throw new Exception("领料单号不允许为空");
            if (query.barcode.IsNullOrEmpty()) throw new Exception("条码不允许为空");
            using (var cmd = new SqlCommand("[prc_pda_SCLL]", conn))
            using (var cmd = new SqlCommand("[prc_pda_WWLL]", conn))
            {
                try
                {
@@ -107,7 +87,7 @@
        var _intSum = "";
        using (var conn = new SqlConnection(DbHelperSQL.strConn))
        {
            using (var cmd = new SqlCommand("[prc_pda_SCLL_CF]", conn))
            using (var cmd = new SqlCommand("[prc_pda_WWLL_CF]", conn))
            {
                try
                {
@@ -154,34 +134,39 @@
        }
    }
    public ProductionPickDto GetItemsByDaa001(WarehouseQuery query)
    {
        return getDaa001(query);
    }
    private ProductionPickDto getDaa001(WarehouseQuery query)
    {
        if (string.IsNullOrEmpty(query.daa001)) throw new Exception("工单号为空");
        var womdaa = Db.Queryable<Womdaa, MesItems>((a, i) =>
        var womdaa = Db.Queryable<WwGd, MesItems>((a, i) =>
                new JoinQueryInfos(JoinType.Left,
                    a.Daa002 == i.ItemId.ToString()))
                    a.Daa003 == i.ItemId))
            .Where((a, i) => a.Daa001 == query.daa001)
            .Select((a, i) => new
            {
                a.Daa001, a.CaaGuid
                a.Daa001, a.Eid
            }).First();
        if (womdaa?.Daa001 == null) throw new Exception("工单号不存在");
        var womdabs = Db.Queryable<Womdaa, Womdab, MesItems, Womcab>(
        var womdabs = Db.Queryable<WwGd, WwGdDetail, MesItems, Womcab>(
                (a, b, c, d) =>
                    new JoinQueryInfos(
                        JoinType.Left,
                        a.Guid == b.DaaGuid,
                        a.Id == b.Pid,
                        JoinType.Inner,
                        c.Id.ToString() ==
                        c.Id ==
                        b.Dab003,
                        JoinType.Inner, b.Erpid == d.Erpid
                    ))
            .Where((a, b, c, d) =>
                a.Daa001 == query.daa001 && d.IssueType == "1")
            .Select((a, b, c, d) => new Womdab
            .Select((a, b, c, d) => new WwGdDetail
            {
                Pid = b.Pid,
                Dab003 = b.Dab003,
@@ -215,15 +200,16 @@
            })
            .ToList();
        var womcaa = Db.Queryable<Womcaa>().Where(s => s.Guid == womdaa.CaaGuid)
        var womcaa = Db.Queryable<ProductionOrder>()
            .Where(s => s.ErpId == womdaa.Eid.ToString())
            .First();
        var dto = new ProductionPickDto
        {
            daa001 = womdaa.Daa001,
            PlanNo = womcaa.Caa020,
            totals = womdabs,
            daisao = list,
            PlanNo = womcaa.ErpProductionOrderNo,
            totals1 = womdabs,
            daisao1 = list,
            yisao = mesInvItemOutCDetailsList
        };