ContractController.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. package com.fjhx.sale.controller.contract;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.fjhx.item.entity.product.dto.ProductInfoSelectDto;
  4. import com.fjhx.item.entity.product.vo.ProductInfoVo;
  5. import com.fjhx.sale.entity.contract.dto.ContractDto;
  6. import com.fjhx.sale.entity.contract.dto.ContractSelectDto;
  7. import com.fjhx.sale.entity.contract.po.Contract;
  8. import com.fjhx.sale.entity.contract.vo.ContractBudgetVo;
  9. import com.fjhx.sale.entity.contract.vo.ContractPdfInfoVo;
  10. import com.fjhx.sale.entity.contract.vo.ContractVo;
  11. import com.fjhx.sale.entity.sample.dto.SampleDto;
  12. import com.fjhx.sale.service.contract.ContractService;
  13. import com.ruoyi.common.core.domain.BaseSelectDto;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.web.bind.annotation.*;
  16. import java.util.List;
  17. import java.util.Map;
  18. /**
  19. * <p>
  20. * 外销合同表 前端控制器
  21. * </p>
  22. *
  23. * @author
  24. * @since 2023-04-17
  25. */
  26. @RestController
  27. @RequestMapping("/contract")
  28. public class ContractController {
  29. @Autowired
  30. private ContractService contractService;
  31. /**
  32. * 外销合同表分页
  33. */
  34. @PostMapping("/page")
  35. public Page<ContractVo> page(@RequestBody ContractSelectDto dto) {
  36. return contractService.getPage(dto);
  37. }
  38. /**
  39. * 外销合同表明细
  40. */
  41. @PostMapping("/detail")
  42. public ContractVo detail(@RequestBody BaseSelectDto dto) {
  43. return contractService.detail(dto.getId());
  44. }
  45. /**
  46. * 外销合同表新增
  47. */
  48. @PostMapping("/add")
  49. public void add(@RequestBody ContractDto contractDto) {
  50. contractService.add(contractDto);
  51. }
  52. /**
  53. * 外销合同表编辑
  54. */
  55. @PostMapping("/edit")
  56. public void edit(@RequestBody ContractDto contractDto) {
  57. contractService.edit(contractDto);
  58. }
  59. /**
  60. * 外销合同表删除
  61. */
  62. @PostMapping("/delete")
  63. public void delete(@RequestBody BaseSelectDto dto) {
  64. contractService.delete(dto.getId());
  65. }
  66. /**
  67. * 根据客户ID查询未包装的订单
  68. */
  69. @GetMapping("/getNoPackContractByCustomerId")
  70. public List<ContractVo> getNoPackContractByCustomerId(@RequestParam("customerId")String customerId) {
  71. return contractService.getNoPackContractByCustomerId(customerId);
  72. }
  73. /**
  74. * 根据合同id集合查询合同列表
  75. */
  76. @PostMapping("/getByIds")
  77. public List<Contract> getByIds(@RequestBody List<Long> ids) {
  78. return contractService.getByIds(ids);
  79. }
  80. /**
  81. * 销售合同pdf
  82. */
  83. @PostMapping("/getContractPdfInfo")
  84. public ContractPdfInfoVo getContractPdfInfo(@RequestBody BaseSelectDto dto) {
  85. return contractService.getContractPdfInfo(dto.getId());
  86. }
  87. /**
  88. * 销售趋势(数据看板-产品分析页面)
  89. * @param productInfoDto
  90. */
  91. @PostMapping("/saleTrend")
  92. public List<Map<String, Object>> saleTrend(@RequestBody ProductInfoSelectDto productInfoDto) {
  93. return contractService.saleTrend(productInfoDto);
  94. }
  95. /**
  96. * 销售统计(数据看板-销售分析页面开发)
  97. */
  98. @PostMapping("/salesStatistics")
  99. public Map<String, Object> salesStatistics(@RequestBody ContractDto dto) {
  100. return contractService.salesStatistics(dto);
  101. }
  102. /**
  103. * 国家销售统计(数据看板-销售分析页面开发)
  104. */
  105. @PostMapping("/countrySalesStatistics")
  106. public List<ContractDto> countrySalesStatistics(@RequestBody ContractDto dto) {
  107. return contractService.countrySalesStatistics(dto);
  108. }
  109. /**
  110. * 客户销售统计(数据看板-销售分析页面开发)
  111. */
  112. @PostMapping("/customSalesStatistics")
  113. public List<ContractDto> customSalesStatistics(@RequestBody ContractDto dto) {
  114. return contractService.customSalesStatistics(dto);
  115. }
  116. /**
  117. * 业务员销售统计(数据看板-销售分析页面开发)
  118. */
  119. @PostMapping("/salesmanSalesStatistics")
  120. public List<ContractDto> salesmanSalesStatistics(@RequestBody ContractDto dto) {
  121. return contractService.salesmanSalesStatistics(dto);
  122. }
  123. /**
  124. * 产品销售额统计(数据看板-销售分析页面开发)
  125. */
  126. @PostMapping("/productSalesStatistics")
  127. public List<ContractDto> productSalesStatistics(@RequestBody ContractDto dto) {
  128. return contractService.productSalesStatistics(dto);
  129. }
  130. /**
  131. * 产品销售量统计(数据看板-销售分析页面开发)
  132. */
  133. @PostMapping("/salesVolumeStatistics")
  134. public List<ContractDto> salesVolumeStatistics(@RequestBody ContractDto dto) {
  135. return contractService.salesVolumeStatistics(dto);
  136. }
  137. /**
  138. * 合同交接单
  139. */
  140. @PostMapping("/contractHandover")
  141. public void contractHandover(@RequestBody ContractDto dto) {
  142. contractService.contractHandover(dto);
  143. }
  144. /**
  145. * 合同销售统计(合同列表)
  146. */
  147. @PostMapping("/covenantStatistics")
  148. public Map<String,Object> covenantStatistics(@RequestBody ContractDto dto){
  149. return contractService.covenantStatistics(dto);
  150. }
  151. /**
  152. * 利润预算
  153. */
  154. @PostMapping("/getProfitBudgetPage")
  155. public Page<ContractBudgetVo> getProfitBudgetPage(@RequestBody ContractSelectDto dto){
  156. return contractService.getProfitBudgetPage(dto);
  157. }
  158. }