TWarehouseAreaServiceImpl.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. package com.ruoyi.basicData.service.impl;
  2. import com.ruoyi.basicData.domain.TWarehouseArea;
  3. import com.ruoyi.basicData.mapper.TWarehouseAreaMapper;
  4. import com.ruoyi.basicData.mapper.TWarehouseMapper;
  5. import com.ruoyi.basicData.service.ITWarehouseAreaService;
  6. import com.ruoyi.common.constant.UserConstants;
  7. import com.ruoyi.common.core.domain.AjaxResult;
  8. import com.ruoyi.common.core.domain.entity.TWarehouse;
  9. import com.ruoyi.common.utils.DateUtils;
  10. import com.ruoyi.common.utils.StringUtils;
  11. import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
  12. import com.ruoyi.warehouseBusiness.domain.TWarehousebillsitems;
  13. import com.ruoyi.warehouseBusiness.mapper.TWarehouseBillsMapper;
  14. import com.ruoyi.warehouseBusiness.mapper.TWarehousebillsitemsMapper;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Service;
  17. import org.springframework.transaction.annotation.Transactional;
  18. import org.springframework.transaction.interceptor.TransactionAspectSupport;
  19. import java.math.BigDecimal;
  20. import java.util.List;
  21. /**
  22. * 库区Service业务层处理
  23. *
  24. * @author ruoyi
  25. * @date 2020-12-11
  26. */
  27. @Service
  28. public class TWarehouseAreaServiceImpl implements ITWarehouseAreaService {
  29. @Autowired
  30. private TWarehouseAreaMapper tWarehouseAreaMapper;
  31. @Autowired
  32. private TWarehousebillsitemsMapper tWarehousebillsitemsMapper;
  33. @Autowired
  34. private TWarehouseMapper tWarehouseMapper;
  35. /**
  36. * 查询库区
  37. *
  38. * @param fId 库区ID
  39. * @return 库区
  40. */
  41. @Override
  42. public TWarehouseArea selectTWarehouseAreaById(Long fId) {
  43. return tWarehouseAreaMapper.selectTWarehouseAreaById(fId);
  44. }
  45. /**
  46. * 查询库区列表
  47. *
  48. * @param tWarehouseArea 库区
  49. * @return 库区
  50. */
  51. @Override
  52. public List<TWarehouseArea> selectTWarehouseAreaList(TWarehouseArea tWarehouseArea) {
  53. return tWarehouseAreaMapper.selectTWarehouseAreaList(tWarehouseArea);
  54. }
  55. /**
  56. * 新增库区
  57. *
  58. * @param tWarehouseArea 库区
  59. * @return 结果
  60. */
  61. @Override
  62. @Transactional
  63. public int insertTWarehouseArea(TWarehouseArea tWarehouseArea) {
  64. tWarehouseArea.setCreateTime(DateUtils.getNowDate());
  65. tWarehouseAreaMapper.insertTWarehouseArea(tWarehouseArea);
  66. // 修改仓库库容
  67. int i = updateWarehousefTotalgross(tWarehouseArea.getfWarehouseid());
  68. if (i <= 0) {
  69. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  70. return 0;
  71. }
  72. return 1;
  73. }
  74. /**
  75. * 修改库区
  76. *
  77. * @param tWarehouseArea 库区
  78. * @return 结果
  79. */
  80. @Override
  81. @Transactional
  82. public int updateTWarehouseArea(TWarehouseArea tWarehouseArea) {
  83. tWarehouseArea.setUpdateTime(DateUtils.getNowDate());
  84. tWarehouseAreaMapper.updateTWarehouseArea(tWarehouseArea);
  85. // 修改仓库库容
  86. int i = updateWarehousefTotalgross(tWarehouseArea.getfWarehouseid());
  87. if (i <= 0) {
  88. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  89. return 0;
  90. }
  91. return 1;
  92. }
  93. /**
  94. * 批量删除库区
  95. *
  96. * @param fId 需要删除的库区ID
  97. * @return 结果
  98. */
  99. @Override
  100. @Transactional
  101. public AjaxResult deleteTWarehouseAreaByIds(Long[] fId) {
  102. for(Long id:fId){
  103. TWarehousebillsitems tWarehousebillsitems =new TWarehousebillsitems();
  104. tWarehousebillsitems.setfWarehouselocid(id);
  105. int warehousebillsitemsSize = tWarehousebillsitemsMapper.warehousebillsitemsWarehouselocidSize(id);
  106. if(warehousebillsitemsSize > 0 ){
  107. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  108. return AjaxResult.error("库区有货物不可删除");
  109. }
  110. tWarehouseAreaMapper.deleteTWarehouseAreaById(id);
  111. }
  112. return AjaxResult.success();
  113. }
  114. /**
  115. * 删除库区信息
  116. *
  117. * @param fId 库区ID
  118. * @return 结果
  119. */
  120. @Override
  121. public int deleteTWarehouseAreaById(Long fId) {
  122. return tWarehouseAreaMapper.deleteTWarehouseAreaById(fId);
  123. }
  124. @Override
  125. public String checkUFTWarehouseUnique(TWarehouseArea tWarehouseArea) {
  126. TWarehouse tWarehouse = tWarehouseMapper.selectTWarehousById(tWarehouseArea.getfWarehouseid());
  127. if (StringUtils.isNotNull(tWarehouse) ) {
  128. return UserConstants.NOT_UNIQUE;
  129. }
  130. return UserConstants.UNIQUE;
  131. }
  132. /**
  133. * 修改仓库库容
  134. * @param fWarehouseid
  135. * @return
  136. */
  137. public int updateWarehousefTotalgross(Long fWarehouseid){
  138. // 查询仓库
  139. TWarehouse tWarehouse =tWarehouseMapper.selectTWarehouseById(fWarehouseid);
  140. String newfWarehouseid =tWarehouse.getAncestors().substring(tWarehouse.getAncestors().lastIndexOf(",")+1);
  141. // 所有库容
  142. BigDecimal fTotalgross = tWarehouseAreaMapper.selectTWarehouseArea(fWarehouseid);
  143. // 修改仓库扩容
  144. TWarehouse tWarehouseNew = new TWarehouse();
  145. tWarehouseNew.setfId(Long.valueOf(newfWarehouseid));
  146. tWarehouseNew.setfTotalgross(fTotalgross);
  147. return tWarehouseMapper.updatefTotalgross(tWarehouseNew);
  148. }
  149. }