tjx
2025-12-04 662c8acd89bdcbbd92d1b917d6128cbcce0134d7
MES.Service/service/QC/RKJService.cs
@@ -87,7 +87,7 @@
        decimal? ID = db.Queryable<MesQa>()
            .Where(s => s.QsType == "3" && s.ItemNo == itemNo && s.Fsubmit == 1)
            .Select(s=> s.Id)
            .Select(s => s.Id)
            .First();
        // 获取质量标准
@@ -528,16 +528,19 @@
        var query = db
            .Queryable<QsItemOqcReq, MesItems, Womdaa, MesLine, SysUser, Womcaa, SysDepartment,MesUserDepartmentQc, SysUser>((a, b,
            .Queryable<QsItemOqcReq, MesItems, Womdaa, MesLine, SysUser, Womcaa,
                SysDepartment, MesUserDepartmentQc, SysUser>((a, b,
                    da, c, us, ca, d, dq, us2) =>
                new JoinQueryInfos(
                    JoinType.Left, a.ItemNo == b.ItemNo, // 关联物料信息
                    JoinType.Left, a.BillNo == da.Daa001, // 关联工单信息
                    JoinType.Left, da.Daa015 == c.LineNo, // 关联工单信息
                    JoinType.Left, us.Fcode == a.CreateBy, // 关联工单信息
                    JoinType.Left, da.Daa021 == ca.Caa020,//任务单,用于查询销售订单号
                    JoinType.Left, d.Departmentid == Convert.ToDecimal(da.Daa013),//查询车间
                    JoinType.Left, dq.Departmentcode == d.Departmentcode,//查询用户权限
                    JoinType.Left, da.Daa021 == ca.Caa020, //任务单,用于查询销售订单号
                    JoinType.Left,
                    d.Departmentid == Convert.ToDecimal(da.Daa013), //查询车间
                    JoinType.Left,
                    dq.Departmentcode == d.Departmentcode, //查询用户权限
                    JoinType.Left, us2.Fcode == a.FcheckBy
                ))
            // 用户线体过滤条件
@@ -553,7 +556,7 @@
                (a, b, da, c, us) => a.Fsubmit == 1)
            // 搜索条件(物料名称/编号)
            .WhereIF(!string.IsNullOrEmpty(queryObj.SearchValue),
                (a, b, da, c, us,ca) =>
                (a, b, da, c, us, ca) =>
                    b.ItemName.ToLower()
                        .Contains(queryObj.SearchValue.ToLower()) ||
                    ca.Caa015.ToLower()
@@ -561,9 +564,10 @@
                    a.ItemNo.ToLower().Contains(queryObj.SearchValue.ToLower()))
            // 新增:用户code过滤
            .WhereIF(!string.IsNullOrEmpty(queryObj.LoginUser),
                (a, b, da, c, us, ca, d, dq) => dq.Usercode == queryObj.LoginUser)
                (a, b, da, c, us, ca, d, dq) =>
                    dq.Usercode == queryObj.LoginUser)
            // 查询字段
            .Select((a, b, da, c, us, ca,d,dq,us2) => new QsItemOqcReq
            .Select((a, b, da, c, us, ca, d, dq, us2) => new QsItemOqcReq
            {
                Id = a.Id,
                BillNo = a.BillNo,
@@ -572,13 +576,14 @@
                ItemModel = b.ItemModel,
                CreateDate = a.CreateDate,
                CreateBy = a.CreateBy,
                CreateUser = us.Fname==null ? a.CreateBy: us.Fname,
                CreateUser = us.Fname == null ? a.CreateBy : us.Fname,
                FcheckResu = a.FcheckResu,
                FcheckBy = us2.Fname,//a.FcheckBy,
                FcheckBy = us2.Fname, //a.FcheckBy,
                FcheckDate = a.FcheckDate,
                ReleaseNo = a.ReleaseNo,
                Remarks = a.Remarks,
                Daa015 = d.Departmentname=="注塑车间" ? da.Daa020:da.Daa015, // 工单线体
                Daa015 =
                    d.Departmentname == "注塑车间" ? da.Daa020 : da.Daa015, // 工单线体
                Fsubmit = a.Fsubmit,
                Quantity = da.Daa008,
                LineNo = d.Departmentname == "注塑车间" ? da.Daa020 : c.LineName,
@@ -909,17 +914,52 @@
    public int IqcQaSubmit(RKJDto dto)
    {
        SqlSugarHelper.UseTransactionWithOracle(db =>
        {
           return db.Updateable<QsItemOqcReq>()
                .SetColumns(a => a.Fsubmit == 1)
                .SetColumns(a => a.FsubmitBy == dto.userNo)
                .SetColumns(a => a.FsubmitDate == DateTime.Now)
                .Where(a => a.ReleaseNo == dto.releaseNo)
                .ExecuteCommand();
        });
        var useTransactionWithOracle =
            SqlSugarHelper.UseTransactionWithOracle(db =>
            {
                return db.Updateable<QsItemOqcReq>()
                    .SetColumns(a => a.Fsubmit == 1)
                    .SetColumns(a => a.FsubmitBy == dto.userNo)
                    .SetColumns(a => a.FsubmitDate == DateTime.Now)
                    .Where(a => a.ReleaseNo == dto.releaseNo)
                    .ExecuteCommand();
            });
        return 0;
        if (useTransactionWithOracle > 0)
        {
            var db = SqlSugarHelper.GetInstance();
            // 成功提交后推送钉钉消息
            var qaRkj = db.Queryable<QaRkj>()
                .Where(s => s.ReleaseNo == dto.releaseNo)
                .First();
            if (qaRkj != null)
            {
                try
                {
                    var qaMsgDto = new
                    {
                        id = qaRkj.Id,
                        lineName = qaRkj.Daa020,
                        workshopName = qaRkj.Departmentname,
                        qaType = "入库检检验完成"
                    };
                    // 调用钉钉消息推送接口
                    var client = new System.Net.Http.HttpClient();
                    var json = Newtonsoft.Json.JsonConvert.SerializeObject(qaMsgDto);
                    var content = new System.Net.Http.StringContent(json, System.Text.Encoding.UTF8, "application/json");
                    var response = client.PostAsync("http://192.168.0.100:9096/MesQaDingtalk/sendQaMsgRKJ", content).Result;
                }
                catch (Exception ex)
                {
                    // 记录钉钉推送异常,但不影响主流程
                    Console.WriteLine($"钉钉消息推送失败: {ex.Message}");
                }
            }
        }
        return useTransactionWithOracle;
    }
    public int reSubmit(RKJDto dto)
@@ -927,11 +967,11 @@
        SqlSugarHelper.UseTransactionWithOracle(db =>
        {
            return db.Updateable<QsItemOqcReq>()
                 .SetColumns(a => a.Fsubmit == 0)
                 .SetColumns(a => a.FsubmitBy == null)
                 .SetColumns(a => a.FsubmitDate == null)
                 .Where(a => a.ReleaseNo == dto.releaseNo)
                 .ExecuteCommand();
                .SetColumns(a => a.Fsubmit == 0)
                .SetColumns(a => a.FsubmitBy == null)
                .SetColumns(a => a.FsubmitDate == null)
                .Where(a => a.ReleaseNo == dto.releaseNo)
                .ExecuteCommand();
        });
        return 0;