| | |
| | | var exists = Db.Queryable<MesWorkProd, MesWorkProdCDetails>( |
| | | (a, b) => |
| | | new JoinQueryInfos(JoinType.Inner, |
| | | a.BillNo == b.BillNo)) |
| | | a.Id == b.MesWorkProdId)) |
| | | .Where((a, b) => b.ItemBarcode == request.ItemBarcode |
| | | && a.BillTypeId == billTypeId |
| | | && a.TransactionNo == transactionNo) |
| | |
| | | db.Updateable<MesInvItemBarcodes>() |
| | | .SetColumns(x => new MesInvItemBarcodes |
| | | { |
| | | WorkFlg = true, |
| | | Quantity = reportQty |
| | | WorkFlg = true |
| | | //Quantity = reportQty |
| | | }) |
| | | .Where(x => x.Guid == barcode.Guid) |
| | | .ExecuteCommandAsync(); |
| | | .ExecuteCommand(); |
| | | |
| | | // 11. 获取或创建报工单 |
| | | var workProd = db.Queryable<MesWorkProd>() |
| | |
| | | DateTime.Now.Date.ToString("yyyy-MM-dd") |
| | | && x.BillTypeId == billTypeId |
| | | && x.TransactionNo == transactionNo |
| | | && x.Status == 0) |
| | | && x.ReportBy == request.StaffNo) |
| | | .First(); |
| | | |
| | | var id = Guid.Empty; |
| | | var billNo = ""; |
| | | if (workProd == null) |
| | | { |
| | | var id = Guid.NewGuid(); |
| | | var billNo = BillNo.GetBillNo("BG(报工编号)"); |
| | | id = Guid.NewGuid(); |
| | | billNo = BillNo.GetBillNo("BG(报工)"); |
| | | |
| | | workProd = new MesWorkProd |
| | | { |
| | |
| | | LastupdateDate = DateTime.Now, |
| | | BillTypeId = billTypeId, |
| | | TransactionNo = transactionNo, |
| | | TaskNo = barcode.BillNo |
| | | TaskNo = barcode.BillNo, |
| | | ReportBy = request.StaffNo, |
| | | ReportDate = DateTime.Now |
| | | }; |
| | | |
| | | db.Insertable(workProd).IgnoreColumns(true) |
| | | .ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | id = workProd.Id; |
| | | billNo = workProd.BillNo; |
| | | } |
| | | |
| | | // 12. 插入报工明细 |
| | |
| | | db.Insertable(new MesWorkProdCDetails |
| | | { |
| | | Id = detailId, |
| | | BillNo = workProd.BillNo, |
| | | MesWorkProdId = id, |
| | | BillNo = billNo, |
| | | ItemBarcode = request.ItemBarcode, |
| | | Quantity = (int)reportQty, |
| | | Company = barcode.Company, |
| | |
| | | SilkPqty = barcode.SilkPqty, |
| | | SilkId = barcode.SilkId, |
| | | Silk = barcode.Silk, |
| | | BgYg = staff.Id |
| | | BgYg = request.StaffNo |
| | | }).IgnoreColumns(true).ExecuteCommand(); |
| | | |
| | | // 13. 更新工单已报工数量 |
| | | db.Updateable<Womdaa>() |
| | | .SetColumns(x => |
| | | x.Daa011 == (x.Daa011 ?? 0) + (int)barcode.Quantity |
| | | ) |
| | | .Where(x => x.Daa001 == barcode.BillNo) |
| | | .ExecuteCommandAsync(); |
| | | .SetColumns(x => new Womdaa |
| | | { |
| | | Daa011 = (x.Daa011 ?? 0) + (int)barcode.Quantity |
| | | }) |
| | | .Where(x => x.Daa001 == barcode.BillNo) |
| | | .ExecuteCommand(); |
| | | |
| | | // 14. 重新获取最新已报工数量 |
| | | reportedQty = db.Queryable<MesWorkProd, MesWorkProdCDetails>( |
| | |
| | | // 15. 返回处理结果 |
| | | return new ScanWorkResult |
| | | { |
| | | TaskNo = barcode.TaskNo, |
| | | TaskNo = barcode.BillNo, |
| | | ItemNo = item.ItemNo, |
| | | PlanQty = planQty ?? 0, |
| | | ReportedQty = reportedQty ?? 0, |