QualityInspectProgramServiceImpl.java 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package easydo.technology.service.impl;
  2. import easydo.technology.components.JdbcClient;
  3. import easydo.technology.exception.BizException;
  4. import easydo.technology.model.ProcessRoute;
  5. import easydo.technology.model.QualityInspectProgram;
  6. import easydo.technology.service.FlowNoService;
  7. import easydo.technology.service.QualityInspectProgramService;
  8. import easydo.technology.utils.SecurityUtils;
  9. import org.springframework.stereotype.Service;
  10. import javax.annotation.Resource;
  11. import javax.sql.DataSource;
  12. import java.sql.Connection;
  13. import java.util.List;
  14. import java.util.Map;
  15. @Service
  16. public class QualityInspectProgramServiceImpl implements QualityInspectProgramService {
  17. @Resource
  18. JdbcClient jdbcClient;
  19. @Resource
  20. DataSource dataSource;
  21. @Resource
  22. FlowNoService flowNoService;
  23. @Override
  24. public Object getList(Map<String, Object> map) throws Exception {
  25. return jdbcClient.getJdbcList(map, QualityInspectProgram.class);
  26. }
  27. @Override
  28. public Object getPage(Map<String, Object> map) throws Exception {
  29. Connection connection = dataSource.getConnection();
  30. try {
  31. return jdbcClient.getJdbcPage(map, QualityInspectProgram.class, connection);
  32. } finally {
  33. connection.close();
  34. }
  35. }
  36. @Override
  37. public Object save(QualityInspectProgram model) throws Exception {
  38. Connection connection = dataSource.getConnection();
  39. try {
  40. connection.setAutoCommit(false);
  41. model.setCreateId(SecurityUtils.getCurrentUserId());
  42. model.setCode(flowNoService.generateQualityCode(model, connection));
  43. jdbcClient.jdbcInsert(model, connection);
  44. connection.commit();
  45. return model;
  46. } catch (Exception e) {
  47. connection.rollback();
  48. throw e;
  49. } finally {
  50. connection.close();
  51. }
  52. }
  53. @Override
  54. public Object update(QualityInspectProgram model) throws Exception {
  55. jdbcClient.jdbcUpdateById(model);
  56. return model;
  57. }
  58. @Override
  59. public Object remove(QualityInspectProgram model) throws Exception {
  60. Connection connection = dataSource.getConnection();
  61. try {
  62. connection.setAutoCommit(false);
  63. // 校验:工艺路线是否关联
  64. ProcessRoute route = new ProcessRoute();
  65. route.setInspectProgramId(model.getId());
  66. int count = jdbcClient.getJdbcCount(route, connection);
  67. if (count > 0) {
  68. throw new BizException("当前质检方案已被工艺路线引用,不允许删除");
  69. }
  70. jdbcClient.jdbcRemoveById(model, connection);
  71. connection.commit();
  72. return model;
  73. } catch (Exception e) {
  74. connection.rollback();
  75. throw e;
  76. } finally {
  77. connection.close();
  78. }
  79. }
  80. }