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