package org.openlmis.rnr.repository.mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.openlmis.rnr.domain.Rnr; import org.springframework.stereotype.Repository; import java.util.List; import java.util.Map; @Repository public interface RnrMapperForSIMAM { @Select("SELECT r.id, " + " (SELECT code FROM programs p WHERE p.id = r.programid) program_code," + " (SELECT name FROM facilities f WHERE f.id=r.facilityid) facility_name," + " date(r.clientsubmittedtime) date," + " 'a' || rl.productcode as product_code," + " rl.beginningbalance beginning_balance," + " rl.quantitydispensed quantity_dispensed," + " rl.quantityreceived quantity_received," + " rl.totallossesandadjustments total_losses_and_adjustments," + " rl.stockinhand stock_in_hand," + " rl.stockinhand inventory," + " rl.quantityapproved quantity_approved" + " FROM requisition_line_items rl" + " LEFT JOIN requisitions r" + " ON rl.rnrid = r.id" + " WHERE rl.skipped<>true" + " AND r.id = #{r.id}") List<Map<String,String>> getRnrItemsForSIMAMImport(@Param("r") Rnr rnr); @Select("SELECT r.id requisition_id," + " (SELECT code FROM programs p WHERE p.id = r.programid) program_code," + " date(r.clientSubmittedTime) date," + " rli.name regimen_name," + " rli.patientsOnTreatment total" + " FROM regimen_line_items rli" + " LEFT JOIN requisitions r" + " ON r.id = rli.rnrId" + " WHERE r.id = #{rnr.id}" ) List<Map<String, String>> getRegimenItemsForSIMAMImport(@Param("rnr") Rnr rnr); }