TWarehouseServiceImpl.java 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. package com.ruoyi.basicData.service.impl;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.ruoyi.basicData.domain.TWarehouse;
  5. import com.ruoyi.basicData.domain.TWarehouseArea;
  6. import com.ruoyi.basicData.mapper.TWarehouseAreaMapper;
  7. import com.ruoyi.basicData.mapper.TWarehouseMapper;
  8. import com.ruoyi.basicData.service.ITWarehouseService;
  9. import com.ruoyi.common.constant.UserConstants;
  10. import com.ruoyi.common.core.domain.AjaxResult;
  11. import com.ruoyi.common.core.domain.model.LoginUser;
  12. import com.ruoyi.common.utils.DateUtils;
  13. import com.ruoyi.common.utils.StringUtils;
  14. import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
  15. import com.ruoyi.warehouseBusiness.mapper.TWarehouseBillsMapper;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Service;
  18. import org.springframework.transaction.annotation.Transactional;
  19. import org.springframework.transaction.interceptor.TransactionAspectSupport;
  20. import java.util.Date;
  21. import java.util.HashMap;
  22. import java.util.List;
  23. import java.util.Map;
  24. /**
  25. * 仓库Service业务层处理
  26. *
  27. * @author ruoyi
  28. * @date 2020-12-11
  29. */
  30. @Service
  31. public class TWarehouseServiceImpl implements ITWarehouseService {
  32. @Autowired
  33. private TWarehouseMapper tWarehouseMapper;
  34. @Autowired
  35. private TWarehouseAreaMapper tWarehouseAreaMapper;
  36. @Autowired
  37. private TWarehouseBillsMapper tWarehouseBillsMapper;
  38. /**
  39. * 查询仓库
  40. *
  41. * @param fId 仓库ID
  42. * @return 仓库
  43. */
  44. @Override
  45. public TWarehouse selectTWarehouseById(Long fId) {
  46. return tWarehouseMapper.selectTWarehouseById(fId);
  47. }
  48. @Override
  49. public Map<String, Object> selectTWarehouseById1(Long fId) {
  50. Map<String, Object> map = new HashMap<>();
  51. TWarehouse tWarehouse = tWarehouseMapper.selectTWarehouseById(fId);
  52. if (StringUtils.isNotNull(tWarehouse)) {
  53. map.put("tWarehouse", tWarehouse);
  54. }
  55. TWarehouseArea tWarehouseArea= new TWarehouseArea();
  56. tWarehouseArea.setfWarehouseid(fId);
  57. List<TWarehouseArea> tWarehouseAreaList =tWarehouseAreaMapper.selectTWarehouseAreaList(tWarehouseArea);
  58. if (StringUtils.isNotEmpty(tWarehouseAreaList)) {
  59. map.put("tWarehouseArea", tWarehouseAreaList);
  60. }
  61. return map;
  62. }
  63. /**
  64. * 查询仓库列表
  65. *
  66. * @param tWarehouse 仓库
  67. * @return 仓库
  68. */
  69. @Override
  70. public List<TWarehouse> selectTWarehouseList(TWarehouse tWarehouse) {
  71. return tWarehouseMapper.selectTWarehouseList(tWarehouse);
  72. }
  73. /**
  74. * 新增仓库
  75. *
  76. * @param tWarehouse 仓库
  77. * @return 结果
  78. */
  79. @Override
  80. public int insertTWarehouse(TWarehouse tWarehouse) {
  81. tWarehouse.setCreateTime(DateUtils.getNowDate());
  82. return tWarehouseMapper.insertTWarehouse(tWarehouse);
  83. }
  84. @Override
  85. public AjaxResult insertTWarehouse1(String tWarehouse, String tWarehouseArea, LoginUser loginUser) {
  86. if (StringUtils.isEmpty(tWarehouse)) {
  87. return AjaxResult.error("提交失败:仓库信息为空");
  88. }
  89. if ( StringUtils.isEmpty(tWarehouseArea) ) {
  90. return AjaxResult.error("提交失败:库区为空");
  91. }
  92. Long fPid = null;
  93. TWarehouse tWarehouses = JSONArray.parseObject(tWarehouse, TWarehouse.class);
  94. JSONArray jsonArray = JSONArray.parseArray(tWarehouseArea);
  95. List<TWarehouseArea> tWarehouseAreaList = JSONObject.parseArray(jsonArray.toJSONString(), TWarehouseArea.class);
  96. tWarehouses.setfStatus("0");
  97. if (StringUtils.isNull(tWarehouses.getfId())) {
  98. tWarehouses.setCreateBy(loginUser.getUser().getUserName());
  99. tWarehouses.setCreateTime(new Date());
  100. tWarehouseMapper.insertTWarehouse(tWarehouses);
  101. fPid=tWarehouses.getfId();
  102. } else {
  103. fPid=tWarehouses.getfId();
  104. tWarehouses.setUpdateBy(loginUser.getUser().getUserName());
  105. tWarehouses.setUpdateTime(new Date());
  106. tWarehouseMapper.updateTWarehouse(tWarehouses);
  107. tWarehouseAreaMapper.deleteTWarehouseAreaByTWarehoused(fPid);
  108. }
  109. for (TWarehouseArea cc : tWarehouseAreaList) {
  110. cc.setfWarehouseid(fPid);
  111. cc.setfStatus("0");
  112. cc.setCreateBy(loginUser.getUser().getUserName());
  113. cc.setCreateTime(new Date());
  114. tWarehouseAreaMapper.insertTWarehouseArea(cc);
  115. }
  116. return AjaxResult.success();
  117. }
  118. /**
  119. * 修改仓库
  120. *
  121. * @param tWarehouse 仓库
  122. * @return 结果
  123. */
  124. @Override
  125. public int updateTWarehouse(TWarehouse tWarehouse) {
  126. tWarehouse.setUpdateTime(DateUtils.getNowDate());
  127. return tWarehouseMapper.updateTWarehouse(tWarehouse);
  128. }
  129. /**
  130. * 批量删除仓库
  131. *
  132. * @param fIds 需要删除的仓库ID
  133. * @return 结果
  134. */
  135. @Override
  136. @Transactional
  137. public AjaxResult deleteTWarehouseByIds(Long[] fIds) {
  138. // 查询仓库主表 是否有仓库在使用
  139. int i = 1;
  140. for(Long id:fIds){
  141. TWarehouseBills tWarehouseBill =new TWarehouseBills();
  142. tWarehouseBill.setfWarehouseid(id);
  143. List<TWarehouseBills> tWarehouseBillList=tWarehouseBillsMapper.selectTWarehousebillsList(tWarehouseBill);
  144. if(tWarehouseBillList!=null && !tWarehouseBillList.isEmpty()){
  145. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  146. return AjaxResult.error("仓库第" + i + "行仓库有货物不可删除");
  147. }
  148. tWarehouseMapper.deleteTWarehouseById(id);
  149. i++;
  150. }
  151. // tWarehouseMapper.deleteTWarehouseByIds(fIds);
  152. return AjaxResult.success();
  153. }
  154. /**
  155. * 删除仓库信息
  156. *
  157. * @param fId 仓库ID
  158. * @return 结果
  159. */
  160. @Override
  161. public int deleteTWarehouseById(Long fId) {
  162. return tWarehouseMapper.deleteTWarehouseById(fId);
  163. }
  164. @Override
  165. public String checkUFNoUnique(TWarehouse tWarehouse) {
  166. TWarehouse tWarehouse1 = tWarehouseMapper.checkFNoUnique(tWarehouse.getfNo());
  167. if (StringUtils.isNotNull(tWarehouse1) && tWarehouse1.getfId()!=tWarehouse.getfId()) {
  168. return UserConstants.NOT_UNIQUE;
  169. }
  170. return UserConstants.UNIQUE;
  171. }
  172. @Override
  173. public String checkUFNnameUnique(TWarehouse tWarehouse) {
  174. TWarehouse tWarehouse1 = tWarehouseMapper.checkUFNnameUnique(tWarehouse.getfName());
  175. if (StringUtils.isNotNull(tWarehouse1) && tWarehouse1.getfId()!=tWarehouse.getfId()) {
  176. return UserConstants.NOT_UNIQUE;
  177. }
  178. return UserConstants.UNIQUE;
  179. }
  180. @Override
  181. public String checkUFAaddrUnique(TWarehouse tWarehouse) {
  182. TWarehouse tWarehouse1 = tWarehouseMapper.checkUFAaddrUnique(tWarehouse.getfAddr());
  183. if (StringUtils.isNotNull(tWarehouse1) && tWarehouse1.getfId()!=tWarehouse.getfId()) {
  184. return UserConstants.NOT_UNIQUE;
  185. }
  186. return UserConstants.UNIQUE;
  187. }
  188. @Override
  189. public String checkUFTWarehouseAreaNoUnique(TWarehouseArea tWarehouseAreas) {
  190. TWarehouseArea tWarehouseAreas1 = tWarehouseAreaMapper.checkFNoUnique(tWarehouseAreas.getfNo(),tWarehouseAreas.getfWarehouseid());
  191. if (StringUtils.isNotNull(tWarehouseAreas1) && tWarehouseAreas1.getfId()!=tWarehouseAreas.getfId()) {
  192. return UserConstants.NOT_UNIQUE;
  193. }
  194. return UserConstants.UNIQUE;
  195. }
  196. @Override
  197. public String checkUTWarehouseAreaFNnameUnique(TWarehouseArea tWarehouseAreas) {
  198. TWarehouseArea tWarehouseAreas1 = tWarehouseAreaMapper.checkUFNnameUnique(tWarehouseAreas.getfName(),tWarehouseAreas.getfWarehouseid());
  199. if (StringUtils.isNotNull(tWarehouseAreas1) && tWarehouseAreas1.getfId()!=tWarehouseAreas.getfId()) {
  200. return UserConstants.NOT_UNIQUE;
  201. }
  202. return UserConstants.UNIQUE;
  203. }
  204. }