Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package be.simim.pws.mapper;
- import java.math.BigDecimal;
- import java.util.List;
- import org.apache.ibatis.annotations.Mapper;
- import org.apache.ibatis.annotations.Options;
- import org.apache.ibatis.annotations.Result;
- import org.apache.ibatis.annotations.ResultType;
- import org.apache.ibatis.annotations.Results;
- import org.apache.ibatis.annotations.Select;
- import org.apache.ibatis.mapping.StatementType;
- import org.apache.ibatis.type.MappedTypes;
- import be.simim.pws.mapper.typehandler.BooleanToNumberTypeHandler;
- import be.simim.pws.model.PaymentNota;
- import be.simim.pws.model.PaymentNotaReportUserData;
- import be.simim.pws.model.PaymentRun;
- import be.simim.pws.model.PaymentSpec;
- import lombok.AllArgsConstructor;
- import lombok.Builder;
- import lombok.Data;
- import lombok.NoArgsConstructor;
- /**
- * Created by Crypton on 28/11/2016.
- */
- @Mapper
- @MappedTypes(value = { BooleanToNumberTypeHandler.class })
- public interface PaymentMapper {
- @Data
- class IsPaymentFoundForProducerRequest {
- private Long producerId;
- private boolean foundInd;
- }
- @Select(" {call PKG_WEB_PAYMENTS.P_WEB_PDR_HAS_PAYMENTS("
- + "#{producerId, mode = IN, jdbcType=INTEGER},"
- + "#{foundInd, jdbcType=INTEGER, mode=OUT})}")
- @Options(statementType = StatementType.CALLABLE)
- void isPaymentFoundForProducer(PaymentMapper.IsPaymentFoundForProducerRequest request);
- @Data
- class GetPaymentRunsRequest {
- private Long producerId;
- private List<PaymentRun> result;
- }
- @Select(" {call PKG_WEB_PAYMENTS.P_WEB_GET_PAYMENT_RUNS("
- + "#{producerId, mode = IN, jdbcType=INTEGER},"
- + "#{result, jdbcType=CURSOR, mode=OUT, javaType=java.sql.ResultSet, resultMap=resMapPaymentRuns})" + "}")
- @Options(statementType = StatementType.CALLABLE)
- @Results(id = "resMapPaymentRuns", value = {
- @Result(column = "PRN_ID", property = "runId"),
- @Result(column = "ACCOUTING_DATE", property = "accoutingDate"),
- @Result(column = "REPARTITION_NR", property = "paymentId")
- })
- @ResultType(PaymentRun.class)
- void getPaymentRuns(PaymentMapper.GetPaymentRunsRequest request);
- @Data
- @Builder
- @AllArgsConstructor
- @NoArgsConstructor
- class GetPaymentNotasRequest {
- private Long producerId;
- private Long runId;
- private String language;
- private Integer itemsPerPage;
- private Integer paginationValue;
- private List<PaymentNota> result;
- private Integer resultRows;
- private BigDecimal sumRegularRepartitionCumul;
- private BigDecimal sumRegularRepartitionAlreadyPaid;
- private BigDecimal sumRegularRepartitionAmountDue;
- private BigDecimal sumClosureCumulClosureAmount;
- private BigDecimal sumClosureAlreadyPaid;
- private BigDecimal sumClosureAmountDue;
- private BigDecimal sumTotalAmountDue;
- private BigDecimal sumTotalCommision;
- private BigDecimal sumTotalNet;
- }
- @Select(" {call PKG_WEB_PAYMENTS.P_WEB_GET_PAYMENT_NOTA("
- + "#{producerId, mode = IN, jdbcType=INTEGER},"
- + "#{runId, mode = IN, jdbcType=INTEGER},"
- + "#{language, mode = IN, jdbcType=VARCHAR},"
- + "#{itemsPerPage, mode = IN, jdbcType=INTEGER},"
- + "#{paginationValue, mode = IN, jdbcType=INTEGER},"
- + "#{result, jdbcType=CURSOR, mode=OUT, javaType=java.sql.ResultSet, resultMap=resMapPaymentNotas},"
- + "#{resultRows, jdbcType=INTEGER, mode=OUT},"
- + "#{sumRegularRepartitionCumul, jdbcType=INTEGER, mode=OUT},"
- + "#{sumRegularRepartitionAlreadyPaid, jdbcType=INTEGER, mode=OUT},"
- + "#{sumRegularRepartitionAmountDue, jdbcType=INTEGER, mode=OUT},"
- + "#{sumClosureCumulClosureAmount, jdbcType=INTEGER, mode=OUT},"
- + "#{sumClosureAlreadyPaid, jdbcType=INTEGER, mode=OUT},"
- + "#{sumClosureAmountDue, jdbcType=INTEGER, mode=OUT},"
- + "#{sumTotalAmountDue, jdbcType=INTEGER, mode=OUT},"
- + "#{sumTotalCommision, jdbcType=INTEGER, mode=OUT},"
- + "#{sumTotalNet, jdbcType=INTEGER, mode=OUT})"
- + "}")
- @Options(statementType = StatementType.CALLABLE)
- @Results(id = "resMapPaymentNotas", value = {
- @Result(column = "START_DATE", property = "dateStart"),
- @Result(column = "END_DATE", property = "dateEnd"),
- @Result(column = "TYPE_OF_MUSIC_USAGE", property = "sourceTypeOfUsage"),
- @Result(column = "CUMUL_REMUNERATION", property = "regularRepartitionCumul"),
- @Result(column = "PAID", property = "regularRepartitionAlreadyPaid"),
- @Result(column = "AMOUNT_DUE", property = "regularRepartitionAmountDue"),
- @Result(column = "CLOSURE_CUMUL_AMOUNT", property = "closureCumulClosureAmount"),
- @Result(column = "CLOSURE_PAID", property = "closureAlreadyPaid"),
- @Result(column = "CLOSURE_DUE", property = "closureAmountDue"),
- @Result(column = "TOTAL_DUE", property = "totalAmountDue"),
- @Result(column = "COMM_SIMIM", property = "totalCommision"),
- @Result(column = "TOTAL_NET", property = "totalNet")
- })
- @ResultType(PaymentNota.class)
- void getPaymentNotas(GetPaymentNotasRequest request);
- @Data
- class GetPaymentSpecRequest {
- private Long producerId;
- private Long runId;
- private String language;
- private Integer itemsPerPage;
- private Integer paginationValue;
- private String year;
- private String source;
- private String sourceLike;
- private String pnmId;
- private String mainArtist;
- private String mainArtistLike;
- private String title;
- private String titleLike;
- private String isrcCode;
- private String isrcCodeLike;
- private String label;
- private String labelLike;
- private String composer;
- private String composerLike;
- private String paymentRef;
- private String paymentRefLike;
- private String recordingId;
- private String recordingIdLike;
- private String countryProd;
- private String firsReleaseYear;
- private String mutcode;
- private String mutcodeLike;
- private Long percentageRightsLess;
- private Long percentageRightsGreater;
- private Long percentageRightsEqual;
- private String dateStartLessEq;
- private String dateStartGreater;
- private String dateEndLessEq;
- private String dateEndGreater;
- private Long commPercDueLess;
- private Long commPercDueGreater;
- private Long commPercDueEqual;
- private Long commPercLess;
- private Long commPercGreater;
- private Long commPercEqual;
- private String closingCode;
- private String closingCodeLike;
- private String sortField;
- private String sortDirection;
- // output
- private List<PaymentSpec> result;
- private Integer resultRows;
- private BigDecimal sumGrantedNetCum;
- private BigDecimal sumTotalGrantedDue;
- }
- @Select(" {call PKG_WEB_PAYMENTS.P_WEB_GET_PAYMENT_SPEC("
- + "#{producerId, mode = IN, jdbcType=INTEGER},"
- + "#{runId, mode = IN, jdbcType=INTEGER},"
- + "#{language, mode = IN, jdbcType=VARCHAR},"
- + "#{itemsPerPage, mode = IN, jdbcType=INTEGER},"
- + "#{paginationValue, mode = IN, jdbcType=INTEGER},"
- + "#{year, mode = IN, jdbcType=VARCHAR},"
- + "#{source, mode = IN, jdbcType=VARCHAR},"
- + "#{sourceLike, mode = IN, jdbcType=VARCHAR},"
- + "#{pnmId, mode = IN, jdbcType=VARCHAR},"
- + "#{mainArtist, mode = IN, jdbcType=VARCHAR},"
- + "#{mainArtistLike, mode = IN, jdbcType=VARCHAR},"
- + "#{title, mode = IN, jdbcType=VARCHAR},"
- + "#{titleLike, mode = IN, jdbcType=VARCHAR},"
- + "#{isrcCode, mode = IN, jdbcType=VARCHAR},"
- + "#{isrcCodeLike, mode = IN, jdbcType=VARCHAR},"
- + "#{label, mode = IN, jdbcType=VARCHAR},"
- + "#{labelLike, mode = IN, jdbcType=VARCHAR},"
- + "#{composer, mode = IN, jdbcType=VARCHAR},"
- + "#{composerLike, mode = IN, jdbcType=VARCHAR},"
- + "#{paymentRef, mode = IN, jdbcType=VARCHAR},"
- + "#{paymentRefLike, mode = IN, jdbcType=VARCHAR},"
- + "#{recordingId, mode = IN, jdbcType=VARCHAR},"
- + "#{recordingIdLike, mode = IN, jdbcType=VARCHAR},"
- + "#{countryProd, mode = IN, jdbcType=VARCHAR},"
- + "#{firsReleaseYear, mode = IN, jdbcType=VARCHAR},"
- + "#{mutcode, mode = IN, jdbcType=VARCHAR},"
- + "#{mutcodeLike, mode = IN, jdbcType=VARCHAR},"
- + "#{percentageRightsLess, mode = IN, jdbcType=INTEGER},"
- + "#{percentageRightsGreater, mode = IN, jdbcType=INTEGER},"
- + "#{percentageRightsEqual, mode = IN, jdbcType=INTEGER},"
- + "#{dateStartLessEq, mode = IN, jdbcType=VARCHAR},"
- + "#{dateStartGreater, mode = IN, jdbcType=VARCHAR},"
- + "#{dateEndLessEq, mode = IN, jdbcType=VARCHAR},"
- + "#{dateEndGreater, mode = IN, jdbcType=VARCHAR},"
- + "#{commPercDueLess, mode = IN, jdbcType=INTEGER},"
- + "#{commPercDueGreater, mode = IN, jdbcType=INTEGER},"
- + "#{commPercDueEqual, mode = IN, jdbcType=INTEGER},"
- + "#{commPercLess, mode = IN, jdbcType=INTEGER},"
- + "#{commPercGreater, mode = IN, jdbcType=INTEGER},"
- + "#{commPercEqual, mode = IN, jdbcType=INTEGER},"
- + "#{closingCode, mode = IN, jdbcType=VARCHAR},"
- + "#{closingCodeLike, mode = IN, jdbcType=VARCHAR},"
- + "#{sortField, mode = IN, jdbcType=VARCHAR},"
- + "#{sortDirection, mode = IN, jdbcType=VARCHAR},"
- + "#{result, jdbcType=CURSOR, mode=OUT, javaType=java.sql.ResultSet, resultMap=resMapPaymentSpec},"
- + "#{resultRows, jdbcType=INTEGER, mode=OUT},"
- + "#{sumGrantedNetCum, jdbcType=INTEGER, mode=OUT},"
- + "#{sumTotalGrantedDue, jdbcType=INTEGER, mode=OUT})"
- + "}")
- @Options(statementType = StatementType.CALLABLE)
- @Results(id = "resMapPaymentSpec", value = {
- @Result(column = "YEAR", property = "year"),
- @Result(column = "SOURCE", property = "source"),
- @Result(column = "PNMID", property = "pnmId"),
- @Result(column = "MAINARTIST", property = "mainArtist"),
- @Result(column = "TITLE", property = "title"),
- @Result(column = "ISRCCODE", property = "isrcCode"),
- @Result(column = "LABEL", property = "label"),
- @Result(column = "COMPOSER", property = "composer"),
- @Result(column = "PAYMENTREF", property = "paymentRef"),
- @Result(column = "RECORDINGID", property = "recordingId"),
- @Result(column = "COUNTRYPROD", property = "countryProd"),
- @Result(column = "FIRSTRELEASEYEAR", property = "firstReleaseYear"),
- @Result(column = "QUANTITYCUMUL", property = "quantityCumul"),
- @Result(column = "QUANTITYDUE", property = "quantityDue"),
- @Result(column = "MUTCODE", property = "mutCode"),
- @Result(column = "RESERVEDCUMUL", property = "reservedCumul"),
- @Result(column = "RESERVEDDUE", property = "reservedDue"),
- @Result(column = "PERCENTAGERIGHTS", property = "percentageRights"),
- @Result(column = "DATESTART", property = "dateStart"),
- @Result(column = "DATEEND", property = "dateEnd"),
- @Result(column = "COMMPERCENTAGEDUE", property = "commPercentageDue"),
- @Result(column = "COMMPERCENTAGE", property = "commPercentage"),
- @Result(column = "GRANTEDCUMUL", property = "grantedCumul"),
- @Result(column = "GRANTEDDUE", property = "grantedDue"),
- @Result(column = "GRANTEDNETCUMUL", property = "grantedNetCumul"),
- @Result(column = "GRANTEDNETDUE", property = "grantedNetDue"),
- @Result(column = "CLOSINGCODE", property = "closingCode"),
- @Result(column = "CLOSINGGRANTEDCUMUL", property = "closingGrantedCumul"),
- @Result(column = "CLOSINGGRANTEDNETCUMUL", property = "closingGrantedNetCumul"),
- @Result(column = "CLOSINGGRANTEDNETDUE", property = "closingGrantedNetDue"),
- @Result(column = "TOTALGRANTEDNETCUMUL", property = "totalGrantedNetCumul"),
- @Result(column = "TOTALGRANTEDNETDUE", property = "totalGrantedNetDue")
- })
- @ResultType(PaymentSpec.class)
- void getPaymentSpec(GetPaymentSpecRequest request);
- @Data
- class GetUserDataForReportRequest {
- private String username;
- private List<PaymentNotaReportUserData> result;
- }
- @Select(" {call PKG_WEB_PAYMENTS.P_WEB_GET_REPORTDATA_USER("
- + "#{username, mode = IN, jdbcType=VARCHAR},"
- + "#{result, jdbcType=CURSOR, mode=OUT, javaType=java.sql.ResultSet, resultMap=resMapUserDataReport})" + "}")
- @Options(statementType = StatementType.CALLABLE)
- @Results(id = "resMapUserDataReport", value = {
- @Result(column = "CONTACT_NAME", property = "lastName"),
- @Result(column = "CONTACT_FIRST_NAME", property = "firstName"),
- @Result(column = "SENA_NUMBER", property = "senaNumber"),
- @Result(column = "TITLE_PRE", property = "titlePrefix"),
- @Result(column = "STREET_AND_NUMBER", property = "streetAndNumber"),
- @Result(column = "ZIPCODE", property = "zipCode"),
- @Result(column = "CITY", property = "city"),
- @Result(column = "COUNTRY", property = "country"),
- @Result(column = "PROD_NAME", property = "producerName")
- })
- @ResultType(PaymentNotaReportUserData.class)
- void getUserDataForReport(GetUserDataForReportRequest request);
- @Data
- class GetPaymentInstructions {
- private Long producerId;
- private String username;
- private String language;
- private String result;
- }
- @Select(" {call PKG_WEB_PAYMENTS.P_WEB_GET_PAYMENT_INSTRUCTIONS("
- + "#{producerId, mode = IN, jdbcType=INTEGER},"
- + "#{username, mode = IN, jdbcType=VARCHAR},"
- + "#{language, mode = IN, jdbcType=VARCHAR},"
- + "#{result, jdbcType=VARCHAR, mode=OUT})" + "}")
- @Options(statementType = StatementType.CALLABLE)
- void getPaymentInstructions(GetPaymentInstructions request);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement