ShippingEnquiry.java 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. package com.trade.purchase.enquiry;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
  4. import com.trade.purchase.order.dto.OrderSubmitDto;
  5. import com.trade.purchase.order.entity.Order;
  6. import com.trade.purchase.order.entity.OrderFees;
  7. import com.trade.purchase.order.entity.OrderFiles;
  8. import com.trade.purchase.order.entity.OrderItems;
  9. import com.trade.purchase.order.enums.OrderTypeEnum;
  10. import com.trade.purchase.order.service.IOrderFeesService;
  11. import com.trade.purchase.order.service.IOrderFilesService;
  12. import com.trade.purchase.order.service.IOrderItemsService;
  13. import com.trade.purchase.order.service.IOrderService;
  14. import com.trade.purchase.order.vo.OrderVO;
  15. import io.swagger.annotations.Api;
  16. import io.swagger.annotations.ApiOperation;
  17. import io.swagger.annotations.ApiParam;
  18. import lombok.AllArgsConstructor;
  19. import org.springblade.core.boot.ctrl.BladeController;
  20. import org.springblade.core.mp.support.Condition;
  21. import org.springblade.core.mp.support.Query;
  22. import org.springblade.core.secure.utils.AuthUtil;
  23. import org.springblade.core.tool.api.R;
  24. import org.springblade.core.tool.utils.Func;
  25. import org.springframework.web.bind.annotation.*;
  26. import javax.validation.Valid;
  27. /**
  28. * 出口船务询价 控制器
  29. *
  30. * @author BladeX
  31. * @since 2021-09-26
  32. */
  33. @RestController
  34. @AllArgsConstructor
  35. @RequestMapping("/shipping-enquiry")
  36. @Api(value = "出口船务询价", tags = "出口船务询价接口")
  37. public class ShippingEnquiry extends BladeController {
  38. private final IOrderService orderService;
  39. private final IOrderFeesService orderFeesService;
  40. private final IOrderFilesService orderFilesService;
  41. private final IOrderItemsService orderItemsService;
  42. private final String ERROR_MSG = "缺少查询信息";
  43. /**
  44. * 详情
  45. */
  46. @GetMapping("/{id}")
  47. @ApiOperationSupport(order = 1)
  48. @ApiOperation(value = "详情", notes = "传入order")
  49. public R<OrderVO> detail(@PathVariable(value = "id") String id) {
  50. return orderService.getShippingMessage(id);
  51. }
  52. /**
  53. * 分页 出口采购询价
  54. */
  55. @GetMapping("/list")
  56. @ApiOperationSupport(order = 2)
  57. @ApiOperation(value = "查询所有", notes = "传入order")
  58. public R<IPage<Order>> list(Order order, Query query) {
  59. order.setIsDeleted(0);
  60. order.setTenantId(AuthUtil.getTenantId());
  61. order.setBillType(OrderTypeEnum.ENQUIRY.getType());
  62. order.setTradeType(OrderTypeEnum.EXPORT.getType());
  63. IPage<Order> pages = orderService.page(Condition.getPage(query), Condition.getQueryWrapper(order));
  64. return R.data(pages);
  65. }
  66. /**
  67. * 自定义分页 出口采购询价
  68. */
  69. @GetMapping("/page")
  70. @ApiOperationSupport(order = 3)
  71. @ApiOperation(value = "分页", notes = "传入order")
  72. public R<IPage<OrderVO>> page(OrderVO order, Query query) {
  73. order.setIsDeleted(0);
  74. order.setTenantId(AuthUtil.getTenantId());
  75. order.setBillType(OrderTypeEnum.ENQUIRY.getType());
  76. order.setTradeType(OrderTypeEnum.EXPORT.getType());
  77. IPage<OrderVO> pages = orderService.shippingEnquiry(Condition.getPage(query), order);
  78. return R.data(pages);
  79. }
  80. /**
  81. * 新增 出口采购询价
  82. */
  83. @PostMapping("/save")
  84. @ApiOperationSupport(order = 4)
  85. @ApiOperation(value = "新增", notes = "传入order")
  86. public R<String> save(@Valid @RequestBody OrderSubmitDto submitDto) {
  87. submitDto.setBillType(OrderTypeEnum.ENQUIRY.getType());
  88. submitDto.setTradeTypeEnum(OrderTypeEnum.EXPORT);
  89. return orderService.saveOrderMessage(submitDto);
  90. }
  91. /**
  92. * 修改 出口采购询价
  93. */
  94. @PostMapping("/update")
  95. @ApiOperationSupport(order = 5)
  96. @ApiOperation(value = "修改", notes = "传入order")
  97. public R<String> update(@Valid @RequestBody Order order) {
  98. if (order.getId() == null) {
  99. return R.fail(ERROR_MSG);
  100. }
  101. Order orderMessage = orderService.getById(order.getId());
  102. if (orderMessage != null && !orderMessage.getIfShipping().equals("无")){
  103. return R.fail(500,"已提交船务询价,请勿重复提交");
  104. }
  105. order.setIfShipping("已提交");
  106. return R.status(orderService.saveOrUpdate(order));
  107. }
  108. /**
  109. * 新增或修改 出口采购询价
  110. */
  111. @PostMapping("/submit")
  112. @ApiOperationSupport(order = 6)
  113. @ApiOperation(value = "新增或修改", notes = "传入order")
  114. public R<OrderSubmitDto> submit(@Valid @RequestBody OrderSubmitDto submitDto) {
  115. submitDto.setBillType(OrderTypeEnum.ENQUIRY.getType());
  116. submitDto.setTradeTypeEnum(OrderTypeEnum.EXPORT);
  117. return orderService.saveShippingMessage(submitDto);
  118. }
  119. /**
  120. * 采购订单表
  121. */
  122. @PostMapping("/removeByItem")
  123. @ApiOperationSupport(order = 5)
  124. @ApiOperation(value = "删除明细信息", notes = "传入order")
  125. public R<String> update(@Valid @RequestBody OrderItems order) {
  126. if (order.getId() == null) {
  127. return R.fail(500, "请选择要删除的数据");
  128. }
  129. order.setIsDeleted(1);
  130. return R.status(orderItemsService.updateById(order));
  131. }
  132. /**
  133. * 删除 出口采购询价
  134. */
  135. @PostMapping("/remove")
  136. @ApiOperationSupport(order = 8)
  137. @ApiOperation(value = "删除", notes = "传入ids")
  138. public R<String> remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
  139. return R.status(orderService.removeByIds(Func.toLongList(ids)));
  140. }
  141. /**
  142. * 删除费用信息
  143. */
  144. @PostMapping("/removeByFees")
  145. @ApiOperationSupport(order = 8)
  146. @ApiOperation(value = "删除费用信息", notes = "传入order")
  147. public R<String> update(@Valid @RequestBody OrderFees order) {
  148. if (order.getId() == null) {
  149. return R.fail(ERROR_MSG);
  150. }
  151. return R.status(orderFeesService.removeById(order));
  152. }
  153. /**
  154. * 删除订单文件信息
  155. *
  156. * @param order
  157. * @return
  158. */
  159. @PostMapping("/removeByFiles")
  160. @ApiOperationSupport(order = 9)
  161. @ApiOperation(value = "删除文件信息", notes = "传入order")
  162. public R<String> update(@Valid @RequestBody OrderFiles order) {
  163. if (order.getId() == null) {
  164. return R.fail(ERROR_MSG);
  165. }
  166. return R.status(orderFilesService.removeById(order));
  167. }
  168. }