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.flow.entity.flow.dto.FlowResult;
import com.fjhx.item.entity.product.bo.ProductAnalysisBo;
import com.fjhx.item.entity.product.dto.ProductInfoDto;
import com.fjhx.item.entity.product.dto.ProductInfoSelectDto;
import com.fjhx.sale.entity.contract.dto.*;
import com.fjhx.sale.entity.contract.po.Contract;
import com.fjhx.sale.entity.contract.vo.*;
import com.fjhx.sale.entity.purchase.po.EhsdPurchase;
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 javax.servlet.http.HttpServletResponse;
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("/getHeadStatistic")
public Map getHeadStatistic(@RequestBody ContractSelectDto dto) {
return contractService.getHeadStatistic(dto);
}
/**
* 外销合同与样品单合并分页
*/
@PostMapping("/contractAndSamplePage")
public Page getContractAndSamplePage(@RequestBody ContractSelectDto dto) {
return contractService.getContractAndSamplePage(dto);
}
/**
* 外销合同表分页 不过滤权限
*/
@PostMapping("/page1")
public Page page1(@RequestBody ContractSelectDto dto) {
return contractService.getPage1(dto);
}
/**
* 外销合同表明细
*/
@PostMapping("/detail")
public ContractVo detail(@RequestBody ContractSelectDto dto) {
return contractService.detail(dto);
}
/**
* 外销合同表新增
*/
@PostMapping("/add")
public void add(@RequestBody ContractDto contractDto) {
contractService.add(contractDto);
}
// /**
// * 外销合同表编辑
// */
// @PostMapping("/edit")
// public void edit(@RequestBody ContractDto contractDto) {
// contractService.edit(contractDto);
// }
/**
* 外销合同作废
*/
@PostMapping("/cancellation")
public void cancellation(@RequestBody ContractDto contractDto) {
contractService.cancellation(contractDto.getId());
}
/**
* 修改合同代理费
*/
@PostMapping("/modifyAgencyFee")
public void modifyAgencyFee(@RequestBody ContractDto contractDto) {
contractService.modifyAgencyFee(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