ContractSaleExecuteDTO.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. package cn.com.lzt.contractreports.dto;
  2. import java.math.BigDecimal;
  3. import org.jeecgframework.poi.excel.annotation.Excel;
  4. import net.sourceforge.pinyin4j.PinyinHelper;
  5. public class ContractSaleExecuteDTO implements Comparable<ContractSaleExecuteDTO>{
  6. public ContractSaleExecuteDTO() {
  7. this.totalAmount = BigDecimal.ZERO;
  8. this.invoice = BigDecimal.ZERO;
  9. this.income = BigDecimal.ZERO;
  10. this.noInvoice = BigDecimal.ZERO;
  11. this.noIncome = BigDecimal.ZERO;
  12. }
  13. public ContractSaleExecuteDTO(String projectname,BigDecimal ta,BigDecimal inv,BigDecimal noinv,BigDecimal inc,BigDecimal noinc) {
  14. this.projectname = projectname;
  15. this.totalAmount = ta;
  16. this.invoice = inv;
  17. this.income = inc;
  18. this.noInvoice = noinv;
  19. this.noIncome = noinc;
  20. }
  21. @Excel(name="财务核算编码",width=15)
  22. private String fincode;
  23. @Excel(name="项目名称",width=30)
  24. private String projectname;
  25. private String contractname;
  26. @Excel(name="合同应收",width=15)
  27. private BigDecimal totalAmount;
  28. @Excel(name="已开票",width=15)
  29. private BigDecimal invoice;
  30. @Excel(name="未开票",width=15)
  31. private BigDecimal noInvoice;
  32. @Excel(name="已收款",width=15)
  33. private BigDecimal income;
  34. @Excel(name="未收款",width=15)
  35. private BigDecimal noIncome;
  36. public String getProjectname() {
  37. return projectname;
  38. }
  39. public void setProjectname(String projectname) {
  40. this.projectname = projectname;
  41. }
  42. public String getContractname() {
  43. return contractname;
  44. }
  45. public void setContractname(String contractname) {
  46. this.contractname = contractname;
  47. }
  48. public BigDecimal getTotalAmount() {
  49. return totalAmount;
  50. }
  51. public void setTotalAmount(BigDecimal totalAmount) {
  52. this.totalAmount = totalAmount;
  53. }
  54. public BigDecimal getInvoice() {
  55. return invoice;
  56. }
  57. public void setInvoice(BigDecimal invoice) {
  58. this.invoice = invoice;
  59. }
  60. public BigDecimal getNoInvoice() {
  61. return noInvoice;
  62. }
  63. public void setNoInvoice(BigDecimal noInvoice) {
  64. this.noInvoice = noInvoice;
  65. }
  66. public BigDecimal getIncome() {
  67. return income;
  68. }
  69. public void setIncome(BigDecimal income) {
  70. this.income = income;
  71. }
  72. public BigDecimal getNoIncome() {
  73. return noIncome;
  74. }
  75. public void setNoIncome(BigDecimal noIncome) {
  76. this.noIncome = noIncome;
  77. }
  78. @Override
  79. public int compareTo(ContractSaleExecuteDTO s2) {
  80. String o1 = this.getProjectname();
  81. String o2 = s2.getProjectname();
  82. for (int i = 0; i < o1.length() && i < o2.length(); i++) {
  83. int codePoint1 = o1.charAt(i);
  84. int codePoint2 = o2.charAt(i);
  85. if (Character.isSupplementaryCodePoint(codePoint1) || Character.isSupplementaryCodePoint(codePoint2)) {
  86. i++;
  87. }
  88. if (codePoint1 != codePoint2) {
  89. if (Character.isSupplementaryCodePoint(codePoint1) || Character.isSupplementaryCodePoint(codePoint2)) {
  90. return codePoint1 - codePoint2;
  91. }
  92. String pinyin1 = PinyinHelper.toHanyuPinyinStringArray((char) codePoint1) == null ? null
  93. : PinyinHelper.toHanyuPinyinStringArray((char) codePoint1)[0];
  94. String pinyin2 = PinyinHelper.toHanyuPinyinStringArray((char) codePoint2) == null ? null
  95. : PinyinHelper.toHanyuPinyinStringArray((char) codePoint2)[0];
  96. if (pinyin1 != null && pinyin2 != null) { // 两个字符都是汉字
  97. if (!pinyin1.equals(pinyin2)) {
  98. return pinyin1.compareTo(pinyin2);
  99. }
  100. } else {
  101. return codePoint1 - codePoint2;
  102. }
  103. }
  104. }
  105. return o1.length() - o2.length();
  106. }
  107. public String getFincode() {
  108. return fincode;
  109. }
  110. public void setFincode(String fincode) {
  111. this.fincode = fincode;
  112. }
  113. }