package com.fjhx.sale.controller.contract; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fjhx.account.entity.account.vo.AccountRunningWaterVo; import com.fjhx.item.entity.product.dto.ProductInfoSelectDto; import com.fjhx.purchase.entity.purchase.po.Purchase; import com.fjhx.sale.entity.contract.dto.ContractDto; import com.fjhx.sale.entity.contract.dto.ContractSelectDto; import com.fjhx.sale.entity.contract.dto.DecisionAidDto; import com.fjhx.sale.entity.contract.dto.PayDecisionAidDto; import com.fjhx.sale.entity.contract.po.Contract; import com.fjhx.sale.entity.contract.vo.*; import com.fjhx.sale.service.contract.ContractService; import com.ruoyi.common.core.domain.BaseSelectDto; import com.ruoyi.common.utils.StringUtils; 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("/page1") public Page page1(@RequestBody ContractSelectDto dto) { return contractService.getPage1(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 ContractDto dto) { Long id; if(StringUtils.isNotEmpty(dto.getCode())){ Contract contract = contractService.getOne(Wrappers.query().lambda().eq(Contract::getCode,dto.getCode()).last("limit 1")); id = ObjectUtils.isEmpty(contract)?0:contract.getId(); }else{ id = dto.getId(); } return contractService.getContractPdfInfo(id); } /** * 销售趋势(数据看板-产品分析页面) * * @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); } /** * 利润结算 */ @PostMapping("/getProfitClearingPage") public Page getProfitClearingPage(@RequestBody ContractSelectDto dto) { return contractService.getProfitClearingPage(dto); } /** * 销售合同-》到账完成 */ @PostMapping("/toTheAccount") public void toTheAccount(@RequestBody Contract dto) { contractService.toTheAccount(dto); } /** * 决策辅助 */ @PostMapping("/decisionAid") public DecisionAidVo decisionAid(@RequestBody DecisionAidDto dto) { return contractService.decisionAid(dto); } /** * 采购付款决策辅助 */ @PostMapping("/payDecisionAid") public PayDecisionAidVo payDecisionAid(@RequestBody PayDecisionAidDto dto) { return contractService.payDecisionAid(dto); } /** * 获取合同相关的所有版本列表 */ @PostMapping("/getVersionList") public List getVersionList(@RequestBody ContractDto dto) { return contractService.getVersionList(dto.getId()); } /** * 获取合同相关的所有版本列表 */ @PostMapping("/getPurchaseListByContractId") public List getPurchaseListByContractId(@RequestBody ContractDto dto) { return contractService.getPurchaseListByContractId(dto.getId()); } /** * 根据合同id获取合同的资金流水信息 */ @PostMapping("/getAccountRunningWaterByContractId") public List getAccountRunningWaterByContractId(@RequestBody ContractDto dto) { return contractService.getAccountRunningWaterByContractId(dto.getId()); } /** * 根据合同id获取合同的资金流水信息 */ @PostMapping("/111") public void tt111(@RequestBody ContractDto dto) { dto.setCreateUser(133333333333333L); contractService.save(dto); } }