package com.fjhx.sale.controller.contract; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fjhx.item.entity.product.dto.ProductInfoSelectDto; import com.fjhx.item.entity.product.vo.ProductInfoVo; import com.fjhx.sale.entity.contract.dto.ContractDto; import com.fjhx.sale.entity.contract.dto.ContractSelectDto; import com.fjhx.sale.entity.contract.po.Contract; import com.fjhx.sale.entity.contract.vo.ContractBudgetVo; import com.fjhx.sale.entity.contract.vo.ContractPdfInfoVo; import com.fjhx.sale.entity.contract.vo.ContractVo; import com.fjhx.sale.entity.sample.dto.SampleDto; import com.fjhx.sale.service.contract.ContractService; import com.ruoyi.common.core.domain.BaseSelectDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; /** *

* 外销合同表 前端控制器 *

* * @author * @since 2023-04-17 */ @RestController @RequestMapping("/contract") public class ContractController { @Autowired private ContractService contractService; /** * 外销合同表分页 */ @PostMapping("/page") public Page page(@RequestBody ContractSelectDto dto) { return contractService.getPage(dto); } /** * 外销合同表明细 */ @PostMapping("/detail") public ContractVo detail(@RequestBody BaseSelectDto dto) { return contractService.detail(dto.getId()); } /** * 外销合同表新增 */ @PostMapping("/add") public void add(@RequestBody ContractDto contractDto) { contractService.add(contractDto); } /** * 外销合同表编辑 */ @PostMapping("/edit") public void edit(@RequestBody ContractDto contractDto) { contractService.edit(contractDto); } /** * 外销合同表删除 */ @PostMapping("/delete") public void delete(@RequestBody BaseSelectDto dto) { contractService.delete(dto.getId()); } /** * 根据客户ID查询未包装的订单 */ @GetMapping("/getNoPackContractByCustomerId") public List getNoPackContractByCustomerId(@RequestParam("customerId")String customerId) { return contractService.getNoPackContractByCustomerId(customerId); } /** * 根据合同id集合查询合同列表 */ @PostMapping("/getByIds") public List getByIds(@RequestBody List ids) { return contractService.getByIds(ids); } /** * 销售合同pdf */ @PostMapping("/getContractPdfInfo") public ContractPdfInfoVo getContractPdfInfo(@RequestBody BaseSelectDto dto) { return contractService.getContractPdfInfo(dto.getId()); } /** * 销售趋势(数据看板-产品分析页面) * @param productInfoDto */ @PostMapping("/saleTrend") public List> saleTrend(@RequestBody ProductInfoSelectDto productInfoDto) { return contractService.saleTrend(productInfoDto); } /** * 销售统计(数据看板-销售分析页面开发) */ @PostMapping("/salesStatistics") public Map salesStatistics(@RequestBody ContractDto dto) { return contractService.salesStatistics(dto); } /** * 国家销售统计(数据看板-销售分析页面开发) */ @PostMapping("/countrySalesStatistics") public List countrySalesStatistics(@RequestBody ContractDto dto) { return contractService.countrySalesStatistics(dto); } /** * 客户销售统计(数据看板-销售分析页面开发) */ @PostMapping("/customSalesStatistics") public List customSalesStatistics(@RequestBody ContractDto dto) { return contractService.customSalesStatistics(dto); } /** * 业务员销售统计(数据看板-销售分析页面开发) */ @PostMapping("/salesmanSalesStatistics") public List salesmanSalesStatistics(@RequestBody ContractDto dto) { return contractService.salesmanSalesStatistics(dto); } /** * 产品销售额统计(数据看板-销售分析页面开发) */ @PostMapping("/productSalesStatistics") public List productSalesStatistics(@RequestBody ContractDto dto) { return contractService.productSalesStatistics(dto); } /** * 产品销售量统计(数据看板-销售分析页面开发) */ @PostMapping("/salesVolumeStatistics") public List salesVolumeStatistics(@RequestBody ContractDto dto) { return contractService.salesVolumeStatistics(dto); } /** * 合同交接单 */ @PostMapping("/contractHandover") public void contractHandover(@RequestBody ContractDto dto) { contractService.contractHandover(dto); } /** * 合同销售统计(合同列表) */ @PostMapping("/covenantStatistics") public Map covenantStatistics(@RequestBody ContractDto dto){ return contractService.covenantStatistics(dto); } /** * 利润预算 */ @PostMapping("/getProfitBudgetPage") public Page getProfitBudgetPage(@RequestBody ContractSelectDto dto){ return contractService.getProfitBudgetPage(dto); } }