TGoodsServiceImpl.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. package com.ruoyi.basicData.service.impl;
  2. import com.ruoyi.basicData.domain.TGoods;
  3. import com.ruoyi.basicData.mapper.TGoodsMapper;
  4. import com.ruoyi.basicData.service.ITGoodsService;
  5. import com.ruoyi.common.constant.UserConstants;
  6. import com.ruoyi.common.core.domain.AjaxResult;
  7. import com.ruoyi.common.utils.DateUtils;
  8. import com.ruoyi.common.utils.StringUtils;
  9. import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
  10. import com.ruoyi.warehouseBusiness.domain.TWarehousebillsitems;
  11. import com.ruoyi.warehouseBusiness.mapper.TWarehousebillsitemsMapper;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import org.springframework.transaction.annotation.Transactional;
  15. import org.springframework.transaction.interceptor.TransactionAspectSupport;
  16. import java.util.List;
  17. /**
  18. * 商品详情Service业务层处理
  19. *
  20. * @author ruoyi
  21. * @date 2020-12-11
  22. */
  23. @Service
  24. public class TGoodsServiceImpl implements ITGoodsService {
  25. @Autowired
  26. private TGoodsMapper tGoodsMapper;
  27. @Autowired
  28. private TWarehousebillsitemsMapper tWarehousebillsitemsMapper;
  29. /**
  30. * 查询商品详情
  31. *
  32. * @param fId 商品详情ID
  33. * @return 商品详情
  34. */
  35. @Override
  36. public TGoods selectTGoodsById(Long fId) {
  37. return tGoodsMapper.selectTGoodsById(fId);
  38. }
  39. /**
  40. * 查询商品详情列表
  41. *
  42. * @param tGoods 商品详情
  43. * @return 商品详情
  44. */
  45. @Override
  46. public List<TGoods> selectTGoodsList(TGoods tGoods) {
  47. return tGoodsMapper.selectTGoodsList(tGoods);
  48. }
  49. /**
  50. * 新增商品详情
  51. *
  52. * @param tGoods 商品详情
  53. * @return 结果
  54. */
  55. @Override
  56. public int insertTGoods(TGoods tGoods) {
  57. tGoods.setCreateTime(DateUtils.getNowDate());
  58. return tGoodsMapper.insertTGoods(tGoods);
  59. }
  60. /**
  61. * 修改商品详情
  62. *
  63. * @param tGoods 商品详情
  64. * @return 结果
  65. */
  66. @Override
  67. public AjaxResult updateTGoods(TGoods tGoods) {
  68. TWarehousebillsitems tWarehousebillsitems =new TWarehousebillsitems();
  69. tWarehousebillsitems.setfGoodsid(tGoods.getfId());
  70. List<TWarehousebillsitems> warehousebillsitemsList1 =tWarehousebillsitemsMapper.selectTWarehousebillsitemsList(tWarehousebillsitems);
  71. if(warehousebillsitemsList1!=null && !warehousebillsitemsList1.isEmpty()){
  72. return AjaxResult.error("商品在库存总账有记录不可变更状态");
  73. }
  74. tGoods.setUpdateTime(DateUtils.getNowDate());
  75. tGoodsMapper.updateTGoods(tGoods);
  76. return AjaxResult.success();
  77. }
  78. /**
  79. * 批量删除商品详情
  80. *
  81. * @param fIds 需要删除的商品详情ID
  82. * @return 结果
  83. */
  84. @Override
  85. @Transactional
  86. public AjaxResult deleteTGoodsByIds(Long[] fIds) {
  87. // return tGoodsMapper.deleteTGoodsByIds(fIds);
  88. int i = 1;
  89. for(Long id:fIds){
  90. TWarehousebillsitems tWarehousebillsitems =new TWarehousebillsitems();
  91. tWarehousebillsitems.setfGoodsid(id);
  92. List<TWarehousebillsitems> warehousebillsitemsList1 =tWarehousebillsitemsMapper.selectTWarehousebillsitemsList(tWarehousebillsitems);
  93. if(warehousebillsitemsList1!=null && !warehousebillsitemsList1.isEmpty()){
  94. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  95. return AjaxResult.error("商品第" + i + "行 仓库有货物不可删除");
  96. }
  97. tGoodsMapper.deleteTGoodsById(id);
  98. i++;
  99. }
  100. return AjaxResult.success();
  101. }
  102. /**
  103. * 删除商品详情信息
  104. *
  105. * @param fId 商品详情ID
  106. * @return 结果
  107. */
  108. @Override
  109. public int deleteTGoodsById(Long fId) {
  110. return tGoodsMapper.deleteTGoodsById(fId);
  111. }
  112. @Override
  113. public String checkUFNoUnique(TGoods tGoods) {
  114. TGoods tGoods1 = tGoodsMapper.checkFNoUnique(tGoods.getfNo());
  115. if (StringUtils.isNotNull(tGoods1) && tGoods1.getfId()!=tGoods.getfId()) {
  116. return UserConstants.NOT_UNIQUE;
  117. }
  118. return UserConstants.UNIQUE;
  119. }
  120. @Override
  121. public String checkUFNnameUnique(TGoods tGoods) {
  122. TGoods tGoods1 = tGoodsMapper.checkUFNnameUnique(tGoods.getfName());
  123. if (StringUtils.isNotNull(tGoods1) && tGoods1.getfId()!=tGoods.getfId()) {
  124. return UserConstants.NOT_UNIQUE;
  125. }
  126. return UserConstants.UNIQUE;
  127. }
  128. }