QR Code Integration - [Sub Trn Index]

QR Code Integration - [Sub Trn Index]

QR Subtrn Index

  • Same like DPR Subtrn Index page will be added for MFG.
  • Methods will be added in QR Print
  • Method and File name : QrSubTrnIndex
  • New properties added
public decimal ActualQty { get; set; }
public decimal BalanceQty { get; set; }
  • Fields
    Label NameProperty
    Trn IdTrnId
    Sub Trn IdSubTrnId
    Actual QtyActualQty
    Balance QtyBalanceQty
    PrintButton
  • Repository Query
public async Task<IEnumerable<QrPrint>> QrSubTrnIndex(string dbname)
{
    var query = @"SELECT trnid, subtrnid, actualqty, balanceqty
    FROM QrSubTrn
    WHERE ABS(balanceqty) > 0 
    ORDER BY trnid DESC, subtrnid DESC";

    using var connection = _DapperContext.SetClientConnection(dbname);
    var data = await connection.QueryAsync<QrPrint>(query);
    return data.ToList();
}

GRN QR

  • Delete Prevention needs to be added for GRN when linked with different documents Vanshika Ma'am DONE

QR Stock

  1. roles name are pending to confirm Vanshika Ma'am DONE
  2. new menu & program.cs changes pending Vanshika Ma'am
  3. Download Model Stock Qty, not matching with Inventory Qty, also no. of items Checked. Pending to Discuss
  4. Records are missing compared to the system data. Please re-download the model.Import failed due to validation errors. –> Msg confirmationVanshika mam
  5. Index to view SubTrns and also Print Sub Trn Add DONE
  6. Delete Prevention needs to be added for GRN when linked with different documentsPending to discuss DONE
  7. In Grn Delete, Delete1 controller instead of trnid list cnt check System parameter like create1 controller if ON then call delete subtrn method DONE
[HttpDelete("{id},{dbname},{yearLabel},{userName}")]
public void GrnDelete(int id, string dbname, string yearLabel, string userName, [FromBody] DeleteRequest req)
{
    var data = _IGrnRepository.GrnDetails(id, dbname).Result;
    var enableQr = _IUtilityMethodsRepository.GetSysParameterValue(dbname, "EnableQr");
    if (enableQr.IsActive == "Y")
    {
        _IQrPrintRepository.SubTrnDelete(dbname, data.YearGrnNo, "0", "G");
    }
    _IGrnRepository.GrnDelete(data.YearGrnNo, dbname);

    _IUtilityMethodsRepository.InsertMFGLog(dbname, userName, data.GrnNo, "Grn", "Delete", yearLabel, req.DeleteReason);
}


[HttpDelete("{id},{dbname},{yearLabel},{userName}")]
public void Grn1Delete(int id, string dbname, string yearLabel, string userName, [FromBody] DeleteRequest req)
{
    var data = _IGrnRepository.Grn1Details(id, dbname).Result;
    var enableQr = _IUtilityMethodsRepository.GetSysParameterValue(dbname, "EnableQr");
    var notes = req.DeleteReason;
    if (enableQr.IsActive == "Y" && !string.IsNullOrEmpty(data.TrnId))
    {
        _IQrPrintRepository.SubTrnDelete(dbname, "0", data.TrnId.Replace("-", ""), "G");
        notes = $"{req.DeleteReason}, TRN Id : [{data.TrnId.Replace("-", "")}]";
    }
    _IGrnRepository.Grn1Delete(id, dbname, data.TrnId.Replace("-", ""));

    _IUtilityMethodsRepository.InsertMFGLog(dbname, userName, data.GrnNo, "Grn", "Delete Line", yearLabel, notes);
}
  1. GetPrintSubTrnCount, GetSubTrnCnt analyze it GetSubTrnCnt not needed & GetPrintSubTrnCnt may changed to GetUnPrintedSubTRnCnt Checked. Pending to Discuss DONE
  2. qtyperbox min range from 1 change to 0.01 in grn, qa, item mst (create, modify, import all wherever used) Change DONE
  3. from QA when PDN is getting we will make changes in next round ?Pending to Discuss Bhumika
  4. Log changes for delete1, create1, modify1 add trnid in notes, & also change delete Add if trnid is not Empty. For main delete and create from indent no need DONE
  5. as after qa modify full rejected happens Grn trnid empty but not packet & QTY perbox –> needs to be change to 0 Update DONE
  6. If trn id is printed & then deleted main level/line level/QA modify not deleting TrnIds –> need to delete In QA also same like GRN only check system parameter for delete DONE
  7. from QA also common delete qrsubtrndelete method needs to call Same like GRN DONE