啊鑫
2024-09-27 4bd29eb773fc272e235eeed3c3596ae6eb65fa4c
MES.Service/service/QC/RKJService.cs
@@ -483,6 +483,10 @@
        var barCodes = mesInvItemInsList.Select(s => s.ItemBarcode).ToList();
        var count = db.Queryable<MesInvItemBarcodes>()
            .Where(s => barCodes.Contains(s.ItemBarcode) && s.WorkFlg == 0)
            .Count();
        var gxId = mesInvItemInsList.Select(s => s.MesScgdGxId).ToList();
        var sumQty = mesInvItemInsList.Sum(s => s.Quantity);
@@ -494,6 +498,23 @@
                .SetColumns(s => s.CheckFlag == "√")
                .Where(s => gxId.Contains(s.Id))
                .ExecuteCommand();
            if (count <= 0) return;
            //取消mes_inv_item_barcodes 的报工标识 WORK_FLG 使用条码
            var executeCommand = db.Updateable<MesInvItemBarcodes>()
                .SetColumns(a => a.WorkFlg == 1)
                .Where(a => barCodes.Contains(a.ItemBarcode))
                .ExecuteCommand();
            if (executeCommand > 0)
            {
                //womdaa 已生产量 DAA011加回条码报工数量
                db.Updateable<Womdaa>()
                    .SetColumns(b => b.Daa011 == b.Daa011 + sumQty)
                    .Where(b => b.Daa001 == qsItemOqcReq.Daa001)
                    .ExecuteCommand();
            }
        }
        else if ("不合格".Equals(FcheckResu))
        {
@@ -808,4 +829,29 @@
        return Convert.ToInt32(rkjDto.gid);
    }
    public int cleanReqResult(RKJDto dto)
    {
        if (isRk(dto.gid)) throw new Exception("已有条码入库,不允许清除检验结果");
        return SqlSugarHelper.UseTransactionWithOracle(db =>
        {
            return db.Updateable<QsItemOqcReq>()
                .SetColumns(s => s.FcheckResu == null)
                .Where(s => s.Id == dto.gid).ExecuteCommand();
        });
    }
    private bool isRk(int? gid)
    {
        var db = SqlSugarHelper.GetInstance();
        return db.Queryable<QsItemOqcReq, MesInvItemIns, MesInvItemInCDetails>(
                (a, b, c) => new JoinQueryInfos(
                    JoinType.Inner, a.BillNo == b.BillNo,
                    JoinType.Inner, b.Id == c.ItemInId
                ))
            .Where((a, b, c) => a.Id == gid)
            .Count() > 0;
    }
}