Advertisement
Guest User

Untitled

a guest
Dec 8th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.88 KB | None | 0 0
  1. package be.simim.pws.mapper;
  2.  
  3. import java.math.BigDecimal;
  4. import java.util.List;
  5.  
  6. import org.apache.ibatis.annotations.Mapper;
  7. import org.apache.ibatis.annotations.Options;
  8. import org.apache.ibatis.annotations.Result;
  9. import org.apache.ibatis.annotations.ResultType;
  10. import org.apache.ibatis.annotations.Results;
  11. import org.apache.ibatis.annotations.Select;
  12. import org.apache.ibatis.mapping.StatementType;
  13. import org.apache.ibatis.type.MappedTypes;
  14.  
  15. import be.simim.pws.mapper.typehandler.BooleanToNumberTypeHandler;
  16. import be.simim.pws.model.PaymentNota;
  17. import be.simim.pws.model.PaymentNotaReportUserData;
  18. import be.simim.pws.model.PaymentRun;
  19. import be.simim.pws.model.PaymentSpec;
  20. import lombok.AllArgsConstructor;
  21. import lombok.Builder;
  22. import lombok.Data;
  23. import lombok.NoArgsConstructor;
  24.  
  25. /**
  26. * Created by Crypton on 28/11/2016.
  27. */
  28. @Mapper
  29. @MappedTypes(value = { BooleanToNumberTypeHandler.class })
  30. public interface PaymentMapper {
  31. @Data
  32. class IsPaymentFoundForProducerRequest {
  33. private Long producerId;
  34. private boolean foundInd;
  35. }
  36.  
  37. @Select(" {call PKG_WEB_PAYMENTS.P_WEB_PDR_HAS_PAYMENTS("
  38. + "#{producerId, mode = IN, jdbcType=INTEGER},"
  39. + "#{foundInd, jdbcType=INTEGER, mode=OUT})}")
  40.  
  41. @Options(statementType = StatementType.CALLABLE)
  42. void isPaymentFoundForProducer(PaymentMapper.IsPaymentFoundForProducerRequest request);
  43.  
  44. @Data
  45. class GetPaymentRunsRequest {
  46. private Long producerId;
  47. private List<PaymentRun> result;
  48. }
  49.  
  50. @Select(" {call PKG_WEB_PAYMENTS.P_WEB_GET_PAYMENT_RUNS("
  51. + "#{producerId, mode = IN, jdbcType=INTEGER},"
  52. + "#{result, jdbcType=CURSOR, mode=OUT, javaType=java.sql.ResultSet, resultMap=resMapPaymentRuns})" + "}")
  53.  
  54. @Options(statementType = StatementType.CALLABLE)
  55. @Results(id = "resMapPaymentRuns", value = {
  56. @Result(column = "PRN_ID", property = "runId"),
  57. @Result(column = "ACCOUTING_DATE", property = "accoutingDate"),
  58. @Result(column = "REPARTITION_NR", property = "paymentId")
  59. })
  60. @ResultType(PaymentRun.class)
  61. void getPaymentRuns(PaymentMapper.GetPaymentRunsRequest request);
  62.  
  63. @Data
  64. @Builder
  65. @AllArgsConstructor
  66. @NoArgsConstructor
  67. class GetPaymentNotasRequest {
  68. private Long producerId;
  69. private Long runId;
  70. private String language;
  71. private Integer itemsPerPage;
  72. private Integer paginationValue;
  73. private List<PaymentNota> result;
  74. private Integer resultRows;
  75. private BigDecimal sumRegularRepartitionCumul;
  76. private BigDecimal sumRegularRepartitionAlreadyPaid;
  77. private BigDecimal sumRegularRepartitionAmountDue;
  78. private BigDecimal sumClosureCumulClosureAmount;
  79. private BigDecimal sumClosureAlreadyPaid;
  80. private BigDecimal sumClosureAmountDue;
  81. private BigDecimal sumTotalAmountDue;
  82. private BigDecimal sumTotalCommision;
  83. private BigDecimal sumTotalNet;
  84.  
  85. }
  86.  
  87. @Select(" {call PKG_WEB_PAYMENTS.P_WEB_GET_PAYMENT_NOTA("
  88. + "#{producerId, mode = IN, jdbcType=INTEGER},"
  89. + "#{runId, mode = IN, jdbcType=INTEGER},"
  90. + "#{language, mode = IN, jdbcType=VARCHAR},"
  91. + "#{itemsPerPage, mode = IN, jdbcType=INTEGER},"
  92. + "#{paginationValue, mode = IN, jdbcType=INTEGER},"
  93. + "#{result, jdbcType=CURSOR, mode=OUT, javaType=java.sql.ResultSet, resultMap=resMapPaymentNotas},"
  94. + "#{resultRows, jdbcType=INTEGER, mode=OUT},"
  95. + "#{sumRegularRepartitionCumul, jdbcType=INTEGER, mode=OUT},"
  96. + "#{sumRegularRepartitionAlreadyPaid, jdbcType=INTEGER, mode=OUT},"
  97. + "#{sumRegularRepartitionAmountDue, jdbcType=INTEGER, mode=OUT},"
  98. + "#{sumClosureCumulClosureAmount, jdbcType=INTEGER, mode=OUT},"
  99. + "#{sumClosureAlreadyPaid, jdbcType=INTEGER, mode=OUT},"
  100. + "#{sumClosureAmountDue, jdbcType=INTEGER, mode=OUT},"
  101. + "#{sumTotalAmountDue, jdbcType=INTEGER, mode=OUT},"
  102. + "#{sumTotalCommision, jdbcType=INTEGER, mode=OUT},"
  103. + "#{sumTotalNet, jdbcType=INTEGER, mode=OUT})"
  104. + "}")
  105.  
  106. @Options(statementType = StatementType.CALLABLE)
  107. @Results(id = "resMapPaymentNotas", value = {
  108. @Result(column = "START_DATE", property = "dateStart"),
  109. @Result(column = "END_DATE", property = "dateEnd"),
  110. @Result(column = "TYPE_OF_MUSIC_USAGE", property = "sourceTypeOfUsage"),
  111. @Result(column = "CUMUL_REMUNERATION", property = "regularRepartitionCumul"),
  112. @Result(column = "PAID", property = "regularRepartitionAlreadyPaid"),
  113. @Result(column = "AMOUNT_DUE", property = "regularRepartitionAmountDue"),
  114. @Result(column = "CLOSURE_CUMUL_AMOUNT", property = "closureCumulClosureAmount"),
  115. @Result(column = "CLOSURE_PAID", property = "closureAlreadyPaid"),
  116. @Result(column = "CLOSURE_DUE", property = "closureAmountDue"),
  117. @Result(column = "TOTAL_DUE", property = "totalAmountDue"),
  118. @Result(column = "COMM_SIMIM", property = "totalCommision"),
  119. @Result(column = "TOTAL_NET", property = "totalNet")
  120. })
  121.  
  122. @ResultType(PaymentNota.class)
  123. void getPaymentNotas(GetPaymentNotasRequest request);
  124.  
  125. @Data
  126. class GetPaymentSpecRequest {
  127. private Long producerId;
  128. private Long runId;
  129. private String language;
  130. private Integer itemsPerPage;
  131. private Integer paginationValue;
  132. private String year;
  133. private String source;
  134. private String sourceLike;
  135. private String pnmId;
  136. private String mainArtist;
  137. private String mainArtistLike;
  138. private String title;
  139. private String titleLike;
  140. private String isrcCode;
  141. private String isrcCodeLike;
  142. private String label;
  143. private String labelLike;
  144. private String composer;
  145. private String composerLike;
  146. private String paymentRef;
  147. private String paymentRefLike;
  148. private String recordingId;
  149. private String recordingIdLike;
  150. private String countryProd;
  151. private String firsReleaseYear;
  152. private String mutcode;
  153. private String mutcodeLike;
  154. private Long percentageRightsLess;
  155. private Long percentageRightsGreater;
  156. private Long percentageRightsEqual;
  157. private String dateStartLessEq;
  158. private String dateStartGreater;
  159. private String dateEndLessEq;
  160. private String dateEndGreater;
  161. private Long commPercDueLess;
  162. private Long commPercDueGreater;
  163. private Long commPercDueEqual;
  164. private Long commPercLess;
  165. private Long commPercGreater;
  166. private Long commPercEqual;
  167. private String closingCode;
  168. private String closingCodeLike;
  169.  
  170. private String sortField;
  171. private String sortDirection;
  172.  
  173. // output
  174. private List<PaymentSpec> result;
  175. private Integer resultRows;
  176. private BigDecimal sumGrantedNetCum;
  177. private BigDecimal sumTotalGrantedDue;
  178. }
  179.  
  180. @Select(" {call PKG_WEB_PAYMENTS.P_WEB_GET_PAYMENT_SPEC("
  181. + "#{producerId, mode = IN, jdbcType=INTEGER},"
  182. + "#{runId, mode = IN, jdbcType=INTEGER},"
  183. + "#{language, mode = IN, jdbcType=VARCHAR},"
  184. + "#{itemsPerPage, mode = IN, jdbcType=INTEGER},"
  185. + "#{paginationValue, mode = IN, jdbcType=INTEGER},"
  186. + "#{year, mode = IN, jdbcType=VARCHAR},"
  187. + "#{source, mode = IN, jdbcType=VARCHAR},"
  188. + "#{sourceLike, mode = IN, jdbcType=VARCHAR},"
  189. + "#{pnmId, mode = IN, jdbcType=VARCHAR},"
  190. + "#{mainArtist, mode = IN, jdbcType=VARCHAR},"
  191. + "#{mainArtistLike, mode = IN, jdbcType=VARCHAR},"
  192. + "#{title, mode = IN, jdbcType=VARCHAR},"
  193. + "#{titleLike, mode = IN, jdbcType=VARCHAR},"
  194. + "#{isrcCode, mode = IN, jdbcType=VARCHAR},"
  195. + "#{isrcCodeLike, mode = IN, jdbcType=VARCHAR},"
  196. + "#{label, mode = IN, jdbcType=VARCHAR},"
  197. + "#{labelLike, mode = IN, jdbcType=VARCHAR},"
  198. + "#{composer, mode = IN, jdbcType=VARCHAR},"
  199. + "#{composerLike, mode = IN, jdbcType=VARCHAR},"
  200. + "#{paymentRef, mode = IN, jdbcType=VARCHAR},"
  201. + "#{paymentRefLike, mode = IN, jdbcType=VARCHAR},"
  202. + "#{recordingId, mode = IN, jdbcType=VARCHAR},"
  203. + "#{recordingIdLike, mode = IN, jdbcType=VARCHAR},"
  204. + "#{countryProd, mode = IN, jdbcType=VARCHAR},"
  205. + "#{firsReleaseYear, mode = IN, jdbcType=VARCHAR},"
  206. + "#{mutcode, mode = IN, jdbcType=VARCHAR},"
  207. + "#{mutcodeLike, mode = IN, jdbcType=VARCHAR},"
  208. + "#{percentageRightsLess, mode = IN, jdbcType=INTEGER},"
  209. + "#{percentageRightsGreater, mode = IN, jdbcType=INTEGER},"
  210. + "#{percentageRightsEqual, mode = IN, jdbcType=INTEGER},"
  211. + "#{dateStartLessEq, mode = IN, jdbcType=VARCHAR},"
  212. + "#{dateStartGreater, mode = IN, jdbcType=VARCHAR},"
  213. + "#{dateEndLessEq, mode = IN, jdbcType=VARCHAR},"
  214. + "#{dateEndGreater, mode = IN, jdbcType=VARCHAR},"
  215. + "#{commPercDueLess, mode = IN, jdbcType=INTEGER},"
  216. + "#{commPercDueGreater, mode = IN, jdbcType=INTEGER},"
  217. + "#{commPercDueEqual, mode = IN, jdbcType=INTEGER},"
  218. + "#{commPercLess, mode = IN, jdbcType=INTEGER},"
  219. + "#{commPercGreater, mode = IN, jdbcType=INTEGER},"
  220. + "#{commPercEqual, mode = IN, jdbcType=INTEGER},"
  221. + "#{closingCode, mode = IN, jdbcType=VARCHAR},"
  222. + "#{closingCodeLike, mode = IN, jdbcType=VARCHAR},"
  223. + "#{sortField, mode = IN, jdbcType=VARCHAR},"
  224. + "#{sortDirection, mode = IN, jdbcType=VARCHAR},"
  225. + "#{result, jdbcType=CURSOR, mode=OUT, javaType=java.sql.ResultSet, resultMap=resMapPaymentSpec},"
  226. + "#{resultRows, jdbcType=INTEGER, mode=OUT},"
  227. + "#{sumGrantedNetCum, jdbcType=INTEGER, mode=OUT},"
  228. + "#{sumTotalGrantedDue, jdbcType=INTEGER, mode=OUT})"
  229. + "}")
  230.  
  231. @Options(statementType = StatementType.CALLABLE)
  232. @Results(id = "resMapPaymentSpec", value = {
  233. @Result(column = "YEAR", property = "year"),
  234. @Result(column = "SOURCE", property = "source"),
  235. @Result(column = "PNMID", property = "pnmId"),
  236. @Result(column = "MAINARTIST", property = "mainArtist"),
  237. @Result(column = "TITLE", property = "title"),
  238. @Result(column = "ISRCCODE", property = "isrcCode"),
  239. @Result(column = "LABEL", property = "label"),
  240. @Result(column = "COMPOSER", property = "composer"),
  241. @Result(column = "PAYMENTREF", property = "paymentRef"),
  242. @Result(column = "RECORDINGID", property = "recordingId"),
  243. @Result(column = "COUNTRYPROD", property = "countryProd"),
  244. @Result(column = "FIRSTRELEASEYEAR", property = "firstReleaseYear"),
  245. @Result(column = "QUANTITYCUMUL", property = "quantityCumul"),
  246. @Result(column = "QUANTITYDUE", property = "quantityDue"),
  247. @Result(column = "MUTCODE", property = "mutCode"),
  248. @Result(column = "RESERVEDCUMUL", property = "reservedCumul"),
  249. @Result(column = "RESERVEDDUE", property = "reservedDue"),
  250. @Result(column = "PERCENTAGERIGHTS", property = "percentageRights"),
  251. @Result(column = "DATESTART", property = "dateStart"),
  252. @Result(column = "DATEEND", property = "dateEnd"),
  253. @Result(column = "COMMPERCENTAGEDUE", property = "commPercentageDue"),
  254. @Result(column = "COMMPERCENTAGE", property = "commPercentage"),
  255. @Result(column = "GRANTEDCUMUL", property = "grantedCumul"),
  256. @Result(column = "GRANTEDDUE", property = "grantedDue"),
  257. @Result(column = "GRANTEDNETCUMUL", property = "grantedNetCumul"),
  258. @Result(column = "GRANTEDNETDUE", property = "grantedNetDue"),
  259. @Result(column = "CLOSINGCODE", property = "closingCode"),
  260. @Result(column = "CLOSINGGRANTEDCUMUL", property = "closingGrantedCumul"),
  261. @Result(column = "CLOSINGGRANTEDNETCUMUL", property = "closingGrantedNetCumul"),
  262. @Result(column = "CLOSINGGRANTEDNETDUE", property = "closingGrantedNetDue"),
  263. @Result(column = "TOTALGRANTEDNETCUMUL", property = "totalGrantedNetCumul"),
  264. @Result(column = "TOTALGRANTEDNETDUE", property = "totalGrantedNetDue")
  265. })
  266.  
  267. @ResultType(PaymentSpec.class)
  268. void getPaymentSpec(GetPaymentSpecRequest request);
  269.  
  270. @Data
  271. class GetUserDataForReportRequest {
  272. private String username;
  273. private List<PaymentNotaReportUserData> result;
  274. }
  275.  
  276. @Select(" {call PKG_WEB_PAYMENTS.P_WEB_GET_REPORTDATA_USER("
  277. + "#{username, mode = IN, jdbcType=VARCHAR},"
  278. + "#{result, jdbcType=CURSOR, mode=OUT, javaType=java.sql.ResultSet, resultMap=resMapUserDataReport})" + "}")
  279.  
  280. @Options(statementType = StatementType.CALLABLE)
  281. @Results(id = "resMapUserDataReport", value = {
  282. @Result(column = "CONTACT_NAME", property = "lastName"),
  283. @Result(column = "CONTACT_FIRST_NAME", property = "firstName"),
  284. @Result(column = "SENA_NUMBER", property = "senaNumber"),
  285. @Result(column = "TITLE_PRE", property = "titlePrefix"),
  286. @Result(column = "STREET_AND_NUMBER", property = "streetAndNumber"),
  287. @Result(column = "ZIPCODE", property = "zipCode"),
  288. @Result(column = "CITY", property = "city"),
  289. @Result(column = "COUNTRY", property = "country"),
  290. @Result(column = "PROD_NAME", property = "producerName")
  291. })
  292. @ResultType(PaymentNotaReportUserData.class)
  293. void getUserDataForReport(GetUserDataForReportRequest request);
  294.  
  295. @Data
  296. class GetPaymentInstructions {
  297. private Long producerId;
  298. private String username;
  299. private String language;
  300. private String result;
  301. }
  302.  
  303. @Select(" {call PKG_WEB_PAYMENTS.P_WEB_GET_PAYMENT_INSTRUCTIONS("
  304. + "#{producerId, mode = IN, jdbcType=INTEGER},"
  305. + "#{username, mode = IN, jdbcType=VARCHAR},"
  306. + "#{language, mode = IN, jdbcType=VARCHAR},"
  307. + "#{result, jdbcType=VARCHAR, mode=OUT})" + "}")
  308. @Options(statementType = StatementType.CALLABLE)
  309. void getPaymentInstructions(GetPaymentInstructions request);
  310. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement