InsCommissionDaoImpl.java 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. package com.ydtech.modules.ins.dao.impl;
  2. import com.github.drinkjava2.jdialects.Dialect;
  3. import com.ydtech.core.page.PageResult;
  4. import com.ydtech.modules.ins.dao.InsCommissionDao;
  5. import com.ydtech.modules.ins.dao.InsCommissionDao;
  6. import com.ydtech.modules.ins.model.InsCommission;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.jdbc.core.JdbcTemplate;
  9. import org.springframework.jdbc.core.RowMapper;
  10. import org.springframework.stereotype.Repository;
  11. import javax.sql.DataSource;
  12. import java.sql.ResultSet;
  13. import java.sql.SQLException;
  14. import java.text.SimpleDateFormat;
  15. import java.util.Date;
  16. import java.util.List;
  17. @Repository
  18. public class InsCommissionDaoImpl implements InsCommissionDao {
  19. @Autowired
  20. public DataSource dataSource;
  21. public static class InsCommissionRowMapper implements RowMapper {
  22. public InsCommission mapRow(ResultSet resultSet, int rowNum) throws SQLException {
  23. InsCommission model = new InsCommission();
  24. model.setOrderno(resultSet.getString("orderno"));
  25. model.setPolicyno(resultSet.getString("policyno"));
  26. model.setLicenseno(resultSet.getString("licenseno"));
  27. model.setRiskcode(resultSet.getString("riskcode"));
  28. model.setDeptid(resultSet.getString("deptid"));
  29. model.setDeptname(resultSet.getString("deptname"));
  30. model.setInscompany(resultSet.getString("inscompany"));
  31. model.setAgreeid(resultSet.getString("agreeid"));
  32. model.setQuoteno(resultSet.getString("quoteno"));
  33. model.setRefereescode(resultSet.getString("refereescode"));
  34. model.setRefereesname(resultSet.getString("refereesname"));
  35. model.setCommissionrate(resultSet.getDouble("commissionrate"));
  36. model.setCommissionamount(resultSet.getDouble("commissionamount"));
  37. model.setLevel(resultSet.getString("level"));
  38. model.setAuditstatus(resultSet.getString("auditstatus"));
  39. model.setSettlestatus(resultSet.getString("settlestatus"));
  40. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  41. if (resultSet.getTimestamp("insuredtime") != null) {
  42. Date insuredtime = new Date(resultSet.getTimestamp("insuredtime").getTime());
  43. model.setInsuredtime(sdf.format(insuredtime));
  44. } else {
  45. model.setInsuredtime(null);
  46. }
  47. if (resultSet.getTimestamp("signdate") != null) {
  48. Date signdate = new Date(resultSet.getTimestamp("signdate").getTime());
  49. model.setSignDate(sdf.format(signdate));
  50. } else {
  51. model.setSignDate(null);
  52. }
  53. return model;
  54. }
  55. }
  56. @Override
  57. public InsCommission selectByPk(String orderno) {
  58. String sql = " select t.orderno,t.quoteno,t.refereescode,t.refereesname,t.commissionrate,t.commissionamount,t.level,t.auditstatus,t.settlestatus,t.insuredtime from ins_commission t where orderno=? ";
  59. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  60. List<InsCommission> ls = jdbcTemplate.query(sql, new Object[]{orderno}, new InsCommissionRowMapper());
  61. if (ls != null && ls.size() > 0) {
  62. return ls.get(0);
  63. }
  64. return null;
  65. }
  66. @Override
  67. public List<InsCommission> selectAll() {
  68. String sql = "select t.orderno,t.quoteno,t.refereescode,t.refereesname,t.commissionrate,t.commissionamount,t.level,t.auditstatus,t.settlestatus,t.insuredtime from ins_commission t ";
  69. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  70. return jdbcTemplate.query(sql, new InsCommissionRowMapper());
  71. }
  72. public List<InsCommission> selectList(String whereCase, Object[] paramValues) {
  73. String sql = "select t.orderno,t.quoteno,t.refereescode,t.refereesname,t.commissionrate,t.commissionamount,t.level,t.auditstatus,t.settlestatus,t.insuredtime from ins_commission t " + whereCase;
  74. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  75. return jdbcTemplate.query(sql, paramValues, new InsCommissionRowMapper());
  76. }
  77. public Integer count(String whereCase, Object[] paramValues) {
  78. String sql = "select count(1) from ins_commission t " + whereCase;
  79. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  80. return jdbcTemplate.queryForObject(sql, paramValues, Integer.class);
  81. }
  82. public double sumAmount(String whereCase, Object[] paramValues) {
  83. String sql = "select IFNULL(sum(t.commissionamount),0) totalamount from ins_commission t " + whereCase;
  84. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  85. return jdbcTemplate.queryForObject(sql, paramValues, Double.class);
  86. }
  87. public double sumCommRate(String whereCase, Object[] paramValues) {
  88. String sql = "select IFNULL(sum(t.commissionrate),0) totalamount from ins_commission t " + whereCase;
  89. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  90. return jdbcTemplate.queryForObject(sql, paramValues, Double.class);
  91. }
  92. public PageResult selectPaging(int pageNumber, int pageSize, String whereCase, Object[] paramValues) {
  93. Dialect dialect = Dialect.guessDialect(dataSource);
  94. String sql = dialect.pagin(pageNumber, pageSize, "select t.orderno,t.policyno,t.deptid,t.deptname,t.riskcode,t.licenseno,(SELECT name from esm_ins_company where id =t.inscompany) inscompany,t.agreeid,t.quoteno,t.refereescode,t.refereesname,t.commissionrate,t.commissionamount,t.level,t.auditstatus,t.settlestatus,t.insuredtime,t.signdate " +
  95. "from ins_commission t " + whereCase);
  96. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  97. List<InsCommission> recordList = jdbcTemplate.query(sql, paramValues, new InsCommissionRowMapper());
  98. int totalCount = count(whereCase, paramValues);
  99. PageResult pageResult = new PageResult(pageNumber, pageSize, totalCount, recordList);
  100. return pageResult;
  101. }
  102. @Override
  103. public Integer insert(InsCommission model) {
  104. String sql = "insert into ins_commission (orderno,policyno,licenseno,riskcode,deptid,deptname,inscompany,agreeid,quoteno,refereescode,refereesname,commissionrate,commissionamount,level,auditstatus,settlestatus,insuredtime) " +
  105. "values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ";
  106. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  107. Object[] params = new Object[]{model.getOrderno(),model.getPolicyno(),model.getLicenseno(),model.getRiskcode(),model.getDeptid(),model.getDeptname(),model.getInscompany(),model.getAgreeid(), model.getQuoteno(), model.getRefereescode(), model.getRefereesname(), model.getCommissionrate(), model.getCommissionamount(), model.getLevel(), model.getAuditstatus(), model.getSettlestatus(), model.getInsuredtime()};
  108. int out = jdbcTemplate.update(sql, params);
  109. return out;
  110. }
  111. @Override
  112. public Integer update(InsCommission model) {
  113. String sql = "update ins_commission set quoteno=?,refereescode=?,refereesname=?,commissionrate=?,commissionamount=?,level=?,auditstatus=?,settlestatus=?,insuredtime=? where orderno=?";
  114. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  115. Object[] params = new Object[]{model.getQuoteno(), model.getRefereescode(), model.getRefereesname(), model.getCommissionrate(), model.getCommissionamount(), model.getLevel(), model.getAuditstatus(), model.getSettlestatus(), model.getInsuredtime(), model.getOrderno()};
  116. return jdbcTemplate.update(sql, params);
  117. }
  118. @Override
  119. public Integer updateStatus(String orderno, String status) {
  120. String sql = "update ins_commission set auditstatus=? where orderno=?";
  121. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  122. Object[] params = new Object[]{status, orderno};
  123. return jdbcTemplate.update(sql, params);
  124. }
  125. @Override
  126. public Integer updateSettleStatus(String orderno, String status) {
  127. String sql = "update ins_commission set settlestatus=? where orderno=?";
  128. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  129. Object[] params = new Object[]{status, orderno};
  130. return jdbcTemplate.update(sql, params);
  131. }
  132. @Override
  133. public Integer delete(String orderno) {
  134. String sql = "delete from ins_commission where orderno=? ";
  135. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  136. return jdbcTemplate.update(sql, orderno);
  137. }
  138. }