SalesOrderServiceImpl.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. package jnpf.service.impl;
  2. import com.baomidou.dynamic.datasource.annotation.DSTransactional;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import jnpf.base.service.BillRuleService;
  5. import jnpf.base.service.SuperServiceImpl;
  6. import jnpf.entity.SalesOrderEntity;
  7. import jnpf.entity.SalesOrderEntryEntity;
  8. import jnpf.mapper.SalesOrderMapper;
  9. import jnpf.model.salesorder.SalesOrderEntryEntityInfoModel;
  10. import jnpf.model.salesorder.SalesOrderForm;
  11. import jnpf.service.SalesOrderEntryService;
  12. import jnpf.service.SalesOrderService;
  13. import jnpf.util.JsonUtil;
  14. import jnpf.util.RandomUtil;
  15. import jnpf.util.StringUtil;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Service;
  18. import java.util.ArrayList;
  19. import java.util.List;
  20. /**
  21. * 销售订单
  22. *
  23. * @author JNPF开发平台组
  24. * @version V3.1.0
  25. * @copyright 引迈信息技术有限公司
  26. * @date 2019年9月29日 上午9:18
  27. */
  28. @Service
  29. public class SalesOrderServiceImpl extends SuperServiceImpl<SalesOrderMapper, SalesOrderEntity> implements SalesOrderService {
  30. @Autowired
  31. private BillRuleService billRuleService;
  32. @Autowired
  33. private SalesOrderEntryService salesOrderEntryService;
  34. @Override
  35. public List<SalesOrderEntryEntity> getSalesEntryList(String id) {
  36. QueryWrapper<SalesOrderEntryEntity> queryWrapper = new QueryWrapper<>();
  37. queryWrapper.lambda().eq(SalesOrderEntryEntity::getSalesOrderId, id).orderByDesc(SalesOrderEntryEntity::getSortCode);
  38. return salesOrderEntryService.list(queryWrapper);
  39. }
  40. @Override
  41. public SalesOrderEntity getInfo(String id) {
  42. QueryWrapper<SalesOrderEntity> queryWrapper = new QueryWrapper<>();
  43. queryWrapper.lambda().eq(SalesOrderEntity::getId, id);
  44. return getOne(queryWrapper);
  45. }
  46. @Override
  47. @DSTransactional
  48. public void save(String id, SalesOrderEntity entity, List<SalesOrderEntryEntity> salesOrderEntryEntityList, SalesOrderForm form) {
  49. //表单信息
  50. if (StringUtil.isEmpty(entity.getId())) {
  51. entity.setId(id);
  52. for (int i = 0; i < salesOrderEntryEntityList.size(); i++) {
  53. salesOrderEntryEntityList.get(i).setId(RandomUtil.uuId());
  54. salesOrderEntryEntityList.get(i).setSalesOrderId(entity.getId());
  55. salesOrderEntryEntityList.get(i).setSortCode(Long.parseLong(i + ""));
  56. salesOrderEntryService.save(salesOrderEntryEntityList.get(i));
  57. }
  58. //创建
  59. save(entity);
  60. billRuleService.useBillNumber("WF_SalesOrderNo");
  61. } else {
  62. entity.setId(id);
  63. QueryWrapper<SalesOrderEntryEntity> queryWrapper = new QueryWrapper<>();
  64. queryWrapper.lambda().eq(SalesOrderEntryEntity::getSalesOrderId, entity.getId());
  65. salesOrderEntryService.remove(queryWrapper);
  66. for (int i = 0; i < salesOrderEntryEntityList.size(); i++) {
  67. salesOrderEntryEntityList.get(i).setId(RandomUtil.uuId());
  68. salesOrderEntryEntityList.get(i).setSalesOrderId(entity.getId());
  69. salesOrderEntryEntityList.get(i).setSortCode(Long.parseLong(i + ""));
  70. salesOrderEntryService.save(salesOrderEntryEntityList.get(i));
  71. }
  72. //编辑
  73. updateById(entity);
  74. }
  75. }
  76. @Override
  77. @DSTransactional
  78. public void submit(String id, SalesOrderEntity entity, List<SalesOrderEntryEntity> salesOrderEntryEntityList, SalesOrderForm form) {
  79. //表单信息
  80. if (StringUtil.isEmpty(entity.getId())) {
  81. entity.setId(id);
  82. for (int i = 0; i < salesOrderEntryEntityList.size(); i++) {
  83. salesOrderEntryEntityList.get(i).setId(RandomUtil.uuId());
  84. salesOrderEntryEntityList.get(i).setSalesOrderId(entity.getId());
  85. salesOrderEntryEntityList.get(i).setSortCode(Long.parseLong(i + ""));
  86. salesOrderEntryService.save(salesOrderEntryEntityList.get(i));
  87. }
  88. //创建
  89. save(entity);
  90. billRuleService.useBillNumber("WF_SalesOrderNo");
  91. } else {
  92. entity.setId(id);
  93. QueryWrapper<SalesOrderEntryEntity> queryWrapper = new QueryWrapper<>();
  94. queryWrapper.lambda().eq(SalesOrderEntryEntity::getSalesOrderId, entity.getId());
  95. salesOrderEntryService.remove(queryWrapper);
  96. for (int i = 0; i < salesOrderEntryEntityList.size(); i++) {
  97. salesOrderEntryEntityList.get(i).setId(RandomUtil.uuId());
  98. salesOrderEntryEntityList.get(i).setSalesOrderId(entity.getId());
  99. salesOrderEntryEntityList.get(i).setSortCode(Long.parseLong(i + ""));
  100. salesOrderEntryService.save(salesOrderEntryEntityList.get(i));
  101. }
  102. //编辑
  103. updateById(entity);
  104. }
  105. }
  106. @Override
  107. public void data(String id, String data) {
  108. SalesOrderForm salesOrderForm = JsonUtil.getJsonToBean(data, SalesOrderForm.class);
  109. SalesOrderEntity entity = JsonUtil.getJsonToBean(salesOrderForm, SalesOrderEntity.class);
  110. List<SalesOrderEntryEntityInfoModel> entryList = salesOrderForm.getEntryList() != null ? salesOrderForm.getEntryList() : new ArrayList<>();
  111. List<SalesOrderEntryEntity> salesOrderEntryEntityList = JsonUtil.getJsonToList(entryList, SalesOrderEntryEntity.class);
  112. entity.setId(id);
  113. QueryWrapper<SalesOrderEntryEntity> queryWrapper = new QueryWrapper<>();
  114. queryWrapper.lambda().eq(SalesOrderEntryEntity::getSalesOrderId, entity.getId());
  115. salesOrderEntryService.remove(queryWrapper);
  116. for (int i = 0; i < salesOrderEntryEntityList.size(); i++) {
  117. salesOrderEntryEntityList.get(i).setId(RandomUtil.uuId());
  118. salesOrderEntryEntityList.get(i).setSalesOrderId(entity.getId());
  119. salesOrderEntryEntityList.get(i).setSortCode(Long.parseLong(i + ""));
  120. salesOrderEntryService.save(salesOrderEntryEntityList.get(i));
  121. }
  122. //编辑
  123. saveOrUpdate(entity);
  124. }
  125. @Override
  126. public void delete(SalesOrderEntity entity) {
  127. this.removeById(entity);
  128. }
  129. }