EquipmentNo.java 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package com.data.datarepo.utils;
  2. import com.mysql.cj.jdbc.MysqlDataSource;
  3. import org.apache.commons.lang3.StringUtils;
  4. import java.sql.Connection;
  5. import java.sql.PreparedStatement;
  6. import java.sql.ResultSet;
  7. import java.sql.SQLException;
  8. import java.text.SimpleDateFormat;
  9. import java.util.Date;
  10. public class EquipmentNo extends DataSourceOra{
  11. public String getNewEquipmentNo(String equipmentType,String up_num) throws SQLException {
  12. // SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd");//设置日期格式
  13. // String date = f.format(new Date(System.currentTimeMillis()));
  14. // String update="";
  15. // String Number="";
  16. // if(StringUtils.isEmpty(up_num)||"null".equals(up_num)){
  17. // Number = "220000000000_"+equipmentType+"_" + date+"_" + "01";
  18. // }else {
  19. // String[] upnums= up_num.split("_");
  20. // update=upnums[2];
  21. // if(date.equals(update)){
  22. // int intNumber = Integer.parseInt(up_num.substring(up_num.length()-2));
  23. // intNumber++;
  24. // Number = String.valueOf(intNumber);
  25. // for (int i = 0; i < 2; i++){
  26. // Number = Number.length() < 2 ? "0" + Number : Number;
  27. // }
  28. // Number = "220000000000_"+equipmentType+"_" + date+"_" + Number;
  29. // }else{
  30. // Number = "220000000000_"+equipmentType+"_" + date+"_" + "01";
  31. // }
  32. // }
  33. SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd");//设置日期格式
  34. String date = f.format(new Date(System.currentTimeMillis()));
  35. Connection connection = null;
  36. String selectSQL = "select UP_NUM from "+equipmentType+"_OLD where UP_NUM like '220000000000_"+equipmentType+"_"+date+"%' order by up_num desc";
  37. PreparedStatement prepStmt = null;
  38. String update="";
  39. String Number="";
  40. try {
  41. // MysqlDataSource basicDS = DataSource.getInstance().getMySqlDS();
  42. connection = this.getConn();
  43. prepStmt = connection.prepareStatement(selectSQL);
  44. ResultSet rs = prepStmt.executeQuery();
  45. // String[] upnums= up_num.split("_");
  46. // update=upnums[2];
  47. if(rs.next()){
  48. String n =rs.getString("up_num");
  49. int intNumber = Integer.parseInt(n.substring(n.length()-2));
  50. intNumber++;
  51. Number = String.valueOf(intNumber);
  52. for (int i = 0; i < 2; i++){
  53. Number = Number.length() < 2 ? "0" + Number : Number;
  54. }
  55. Number = "220000000000_"+equipmentType+"_" + date+"_" + Number;
  56. }else{
  57. Number = "220000000000_"+equipmentType+"_" + date+"_" + "01";
  58. }
  59. }catch (Exception e){
  60. e.printStackTrace();
  61. }finally {
  62. if (prepStmt != null) {
  63. prepStmt.close();
  64. }
  65. if (connection != null) {
  66. connection.close();
  67. }
  68. }
  69. return Number;
  70. }
  71. }