SupplierService.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. package com.dk.mdm.service.mst;
  2. import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
  3. import com.dk.common.infrastructure.annotaiton.Pagination;
  4. import com.dk.common.model.pojo.PageList;
  5. import com.dk.common.response.ResponseResultUtil;
  6. import com.dk.common.response.ResponseResultVO;
  7. import com.dk.mdm.infrastructure.convert.mst.OrgConvert;
  8. import com.dk.mdm.infrastructure.convert.mst.SupplierConvert;
  9. import com.dk.mdm.model.pojo.mst.Org;
  10. import com.dk.mdm.model.pojo.mst.Staff;
  11. import com.dk.mdm.model.pojo.mst.Supplier;
  12. import com.dk.mdm.mapper.mst.SupplierMapper;
  13. import com.dk.common.service.BaseService;
  14. import com.dk.common.mapper.BaseMapper;
  15. import com.dk.mdm.model.query.mst.OrgQuery;
  16. import com.dk.mdm.model.query.mst.SupplierQuery;
  17. import com.dk.mdm.model.vo.mst.OrgVO;
  18. import com.dk.mdm.model.vo.mst.StaffVO;
  19. import com.dk.mdm.model.vo.mst.SupplierVo;
  20. import org.springframework.stereotype.Service;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.transaction.annotation.Transactional;
  23. import org.springframework.transaction.interceptor.TransactionAspectSupport;
  24. import java.sql.CallableStatement;
  25. import java.sql.Connection;
  26. import java.sql.DriverManager;
  27. import java.sql.SQLException;
  28. import java.util.UUID;
  29. @Service
  30. @Transactional
  31. public class SupplierService extends BaseService<Supplier> {
  32. /**
  33. * @desc : 重写主键
  34. * @author : 王英杰
  35. * @date : 2023/1/9 10:39
  36. */
  37. @Override
  38. public String getPrimaryKey() {
  39. return "sup_id";
  40. }
  41. @Override
  42. public BaseMapper<Supplier> getRepository() {
  43. return supplierMapper;
  44. }
  45. @Autowired
  46. private SupplierMapper supplierMapper;
  47. @Autowired
  48. private SupplierConvert supplierConvert;
  49. /**
  50. * @desc : 条件查询
  51. * @author : 王英杰
  52. * @date : 2023/1/10 17:19
  53. */
  54. @Pagination
  55. public ResponseResultVO<PageList<Supplier>> selectByCond(SupplierQuery supplierQuery) {
  56. return super.mergeListWithCount(supplierQuery, supplierMapper.selectByCond(supplierQuery),
  57. supplierMapper.countByCond(supplierQuery));
  58. }
  59. /**
  60. * @desc : 停用 供应商
  61. * @author : 王英杰
  62. * @date : 2023/1/10 17:19
  63. */
  64. public ResponseResultVO<?> deactivateData(SupplierVo supplierVo) {
  65. return super.disable(supplierVo.getSupId());
  66. }
  67. /**
  68. * @desc : 新建供应商
  69. * @author : 王英杰
  70. * @date : 2024/2/27 9:17
  71. */
  72. @Transactional(rollbackFor = {Exception.class})
  73. public ResponseResultVO<?> insert(SupplierVo supplierVo) {
  74. // 转化实体
  75. Supplier supplier = supplierConvert.convertToPo(supplierVo);
  76. try {
  77. // 获取第一个插入操作生成的id
  78. String supID = supplierMapper.selectUuid(); // 先生成id
  79. supplierVo.setSupId(supID);
  80. String supCode = supplierMapper.selectSupCode(supplierVo); //拿着生成的id 传过来的cpid 去生成code
  81. supplierVo.setSupCode(supCode); //插入供应商品牌的实体
  82. supplier.setSupCode(supCode); //插入供应商表的实体
  83. super.insert(supplier);// 先插入自己的供应商表
  84. if (supplierVo.getBrandId() != null) { //如果有 商品品牌
  85. // 设置supplierVo的supplierId
  86. supplierMapper.insertSupplierBrand(supplierVo); // 向供应商品牌表插入数据
  87. }
  88. return ResponseResultUtil.success();
  89. } catch (Exception e) {
  90. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); // 手动回滚事务
  91. return ResponseResultUtil.error("保存失败");
  92. }
  93. }
  94. /**
  95. * @desc : 编辑方法
  96. * @author : 王英杰
  97. * @date : 2023/1/9 10:49
  98. */
  99. @Transactional(
  100. rollbackFor = {Exception.class}
  101. )
  102. public ResponseResultVO<?> update(SupplierVo supplierVo) {
  103. // 转化实体
  104. Supplier supplier = supplierConvert.convertToPo(supplierVo);
  105. try {
  106. super.updateByUuid(supplier);// 先更新的供应商表
  107. supplierMapper.batchDelete(supplierVo);//批量删除供应商对应的供应商品牌
  108. if (supplierVo.getBrandId() != null) { //如果有 商品品牌
  109. // 设置supplierVo的supplierId
  110. supplierMapper.insertSupplierBrand(supplierVo); // 向供应商品牌表插入数据
  111. }
  112. return ResponseResultUtil.success();
  113. } catch (Exception e) {
  114. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); // 手动回滚事务
  115. return ResponseResultUtil.error("更新失败");
  116. }
  117. }
  118. }