public async Task <HistoryDetail_Dto> GetDetailTransaction(string transacNo) { var transactionMain = _repoTransactionMain.FindSingle(x => x.Transac_No.Trim() == transacNo.Trim()); // lấy ra tất cả transaction detail dựa vào transacno var model = _repoTransactionDetail.FindAll(x => x.Transac_No.Trim() == transacNo.Trim()); var transactionDetail = await model.ProjectTo <TransferLocationDetail_Dto>(_configMapper).OrderBy(x => x.Tool_Size).ToListAsync(); HistoryDetail_Dto data = new HistoryDetail_Dto(); data.listTransactionDetail = transactionDetail; data.transactionMain = _mapper.Map <Transaction_Main_Dto>(transactionMain); return(data); }
public async Task <OutputDetail_Dto> GetDetailOutput(string transacNo) { var transactionMain = _repoTransactionMain.FindSingle(x => x.Transac_No.Trim() == transacNo.Trim()); var transactionDetail = await _repoTransactionDetail.FindAll(x => x.Transac_No.Trim() == transactionMain.Transac_No.Trim()).ProjectTo <TransferLocationDetail_Dto>(_configMapper).OrderBy(x => x.Tool_Size).ToListAsync(); // Lấy ra những thuộc tính cần OutputDetail_Dto result = new OutputDetail_Dto(); result.Id = transactionMain.ID; result.QrCodeId = transactionMain.QRCode_ID; result.PlanNo = transactionMain.MO_No; result.MatId = transactionMain.Material_ID; result.MatName = transactionMain.Material_Name; result.Batch = transactionMain.MO_Seq; result.TransactionDetail = transactionDetail; return(result); }
public async Task<QRCodePrint_Dto> GetQrCodePrint(string qrCodeId, int qrCodeVersion) { var qrCodeModel = _repoQrcode.FindSingle(x => x.QRCode_ID.Trim() == qrCodeId.Trim() && x.QRCode_Version == qrCodeVersion); var packingListModel = await _repoPacking.FindAll(x => x.Receive_No.Trim() == qrCodeModel.Receive_No.Trim()).ProjectTo<Packing_List_Dto>(_configMapper).FirstOrDefaultAsync(); var transactionMainModel = _repoTransactionMain.FindSingle(x => x.QRCode_ID.Trim() == qrCodeModel.QRCode_ID.Trim() && x.QRCode_Version == qrCodeModel.QRCode_Version && (x.Transac_Type.Trim() == "I" || x.Transac_Type.Trim() == "R")); var transactionDetailModel = await _repoTransactionDetail.FindAll(x => x.Transac_No.Trim() == transactionMainModel.Transac_No.Trim()).ProjectTo<TransferLocationDetail_Dto>(_configMapper).OrderBy(x => x.Tool_Size).ToListAsync(); // Lấy ra những thuộc tính cần in QRCodePrint_Dto result = new QRCodePrint_Dto(); result.TransactionDetailByQrCodeId = transactionDetailModel; result.PackingListByQrCodeId = packingListModel; result.RackLocation = transactionMainModel.Rack_Location; return result; }
public async Task <bool> SubmitTransfer(List <TransferLocation_Dto> lists) { DateTime timeNow = DateTime.Now; if (lists.Count > 0) { foreach (var item in lists) { // Tìm ra TransactionMain theo id var transactionMain = _repoTransactionMain.FindSingle(x => x.ID == item.Id); // tạo biến lấy ra Transac_No của TransactionMain var transacNo = transactionMain.Transac_No; // Update TransactionMain cũ: Can_Move = "N" transactionMain.Can_Move = "N"; _repoTransactionMain.Update(transactionMain); await _repoTransactionMain.SaveAll(); // Thêm TransactionMain mới dựa vào TransactionMain cũ: thêm mới chỉ thay đổi mấy trường dưới còn lại giữ nguyên transactionMain.ID = 0; // Trong DB có identity tự tăng transactionMain.Transac_Type = "M"; transactionMain.Can_Move = "Y"; transactionMain.Rack_Location = item.ToLocation; transactionMain.Updated_By = item.UpdateBy; transactionMain.Updated_Time = timeNow; transactionMain.Transac_Time = item.TransacTime; transactionMain.Transac_No = item.TransferNo; transactionMain.Transac_Sheet_No = item.TransferNo; _repoTransactionMain.Add(transactionMain); // Thêm TransactionDetail mới dựa vào TransactionDetail của TransactionMain cũ(có bao nhiêu TransactionDetail cũ là thêm bấy nhiêu TransactionDetail mới): chỉ thay đổi Transac_No thành của TransactionMain mới var transactionDetails = await _repoTransactionDetail.FindAll(x => x.Transac_No.Trim() == transacNo.Trim()).ToListAsync(); foreach (var transactionDetail in transactionDetails) { // thêm mới chỉ thay đổi mấy trường dưới, còn lại giữ nguyên transactionDetail.ID = 0; // Trong DB có identity tự tăng transactionDetail.Transac_No = item.TransferNo; transactionDetail.Updated_Time = timeNow; transactionDetail.Updated_By = item.UpdateBy; _repoTransactionDetail.Add(transactionDetail); } } return(await _repoTransactionMain.SaveAll()); } return(false); }
public async Task <bool> GenerateTransferForm(List <Transfer_Form_Generate_Dto> generateTransferForm, string updateBy) { DateTime timeNow = DateTime.Now; var generateTransferFormGroupBy = generateTransferForm.GroupBy(x => new { x.MO_No, x.MO_Seq, x.Material_ID }); foreach (var itemGroup in generateTransferFormGroupBy) { string collectTransNo; do { string num = CodeUtility.RandomNumber(3); // Mã xưởng+T+mã nhà cc T3+yymmdd(ngày mà sản sinh ra mã chuyển giao)+3 số random // VD: CTV057200922001 // Nếu T3 là = null: Mã xưởng+T+ZZZZ+yymmdd(ngày mà sản sinh ra mã chuyển giao)+3 số random var t3_Supplier = itemGroup.FirstOrDefault().T3_Supplier.Trim() == "" ? "ZZZZ" : itemGroup.FirstOrDefault().T3_Supplier.Trim(); collectTransNo = itemGroup.FirstOrDefault().Factory_ID.Trim() + "T" + t3_Supplier + DateTime.Now.ToString("yyyyMMdd") + num; } while (await _transferFormRepository.CheckCollectTransNo(collectTransNo)); foreach (var item in itemGroup.ToList()) { WMSB_Transfer_Form transferForm = new WMSB_Transfer_Form(); transferForm.Collect_Trans_No = collectTransNo; transferForm.Transac_No = item.Transac_No; transferForm.Generate_Time = timeNow; transferForm.T3_Supplier = item.T3_Supplier; transferForm.T3_Supplier_Name = item.T3_Supplier_Name; transferForm.Is_Release = "N"; transferForm.Release_By = null; transferForm.Release_Time = null; transferForm.Update_By = updateBy; transferForm.Update_Time = timeNow; transferForm.MO_No = item.MO_No; transferForm.MO_Seq = item.MO_Seq; transferForm.Material_ID = item.Material_ID; transferForm.Material_Name = item.Material_Name; _transferFormRepository.Add(transferForm); var transactionMain = _transactionMainRepo.FindSingle(x => x.Transac_No.Trim() == item.Transac_No.Trim()); transactionMain.Is_Transfer_Form = "Y"; _transactionMainRepo.Update(transactionMain); } await _transferFormRepository.SaveAll(); } return(true); }
public async Task <MissingPrint_Dto> GetMaterialPrint(string missingNo) { var materialMissingModel = await _repoMaterialMissing.FindAll(x => x.Missing_No.Trim() == missingNo.Trim()).ProjectTo <Material_Dto>(_configMapper).FirstOrDefaultAsync(); var transactionMainModel = _repoTransactionMain.FindSingle(x => x.Missing_No.Trim() == missingNo.Trim() && x.Transac_Type.Trim() == "I"); var transactionDetailByMissingNo = await _repoTransactionDetail.FindAll(x => x.Transac_No.Trim() == transactionMainModel.Transac_No.Trim()).ProjectTo <TransferLocationDetail_Dto>(_configMapper).OrderBy(x => x.Tool_Size).ToListAsync(); var materialPurchaseModel = await _repoMaterialView.FindAll().Where(x => x.Plan_No.Trim() == materialMissingModel.MO_No.Trim() && x.Purchase_No.Trim() == materialMissingModel.Purchase_No.Trim() && x.Mat_.Trim() == materialMissingModel.Material_ID.Trim()).FirstOrDefaultAsync(); materialMissingModel.Custmoer_Name = materialPurchaseModel.Custmoer_Name; // Lấy ra những thuộc tính cần in MissingPrint_Dto result = new MissingPrint_Dto(); result.MaterialMissing = materialMissingModel; result.TransactionDetailByMissingNo = transactionDetailByMissingNo; return(result); }