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> 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("/getProfitBudgetHeadStatistic") public Map getProfitBudgetHeadStatistic(@RequestBody ContractSelectDto dto) { return contractService.getProfitBudgetHeadStatistic(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()); } /** * 外销跟单分页 */ @PostMapping("/exportCopy/page") public Page exportCopyPage(@RequestBody ContractSelectDto dto) { return contractService.getExportCopyList(dto); } /** * 外销跟单备注 */ @PostMapping("/editContractRemark") public void editContractRemark(@RequestBody ContractVo contractVo) { contractService.editContractRemark(contractVo); } /** * 合同结清 */ @PostMapping("/settle") public void settle(@RequestBody ContractDto dto) { contractService.settle(dto); } /** * 产品分析 */ @PostMapping("/productAnalysis") public Page productAnalysis(@RequestBody ContractSelectDto dto) { return contractService.productAnalysis(dto); } /** * 产品价格提示 */ @PostMapping("/getProductPriceInfo") Map> getProductPriceInfo(@RequestBody ProductInfoDto dto) { return contractService.getProductPriceInfo(dto); } /** * 产品价格提示 */ @PostMapping("/updateProductionTag") void updateProductionTag(@RequestBody ContractDto dto) { contractService.updateProductionTag(dto); } /** * 销售出库 */ @PostMapping("/saleOutbound") public void saleOutbound(@RequestBody ContractOutboundInfoDto dto) { contractService.saleOutbound(dto); } /** * 生产终止 */ @PostMapping("/productionTermination") public void productionTermination(@RequestBody ContractDto dto) { contractService.productionTermination(dto); } /** * 合同附件 */ @PostMapping("/contractAttach") public void contractAttach(@RequestBody ContractDto dto) { contractService.contractAttach(dto); } @PostMapping("/excelExport") public void excelExport(HttpServletResponse httpServletResponse, @RequestBody ContractSelectDto dto) { contractService.excelExport(httpServletResponse, dto); } /** * 修改结算日期范围 */ @PostMapping("/editSettleDateRange") public void editSettleDateRange(@RequestBody ContractDto dto) { contractService.editSettleDateRange(dto); } /** * 下发待采购 */ @PostMapping("/createWaitMaterial") public void createWaitMaterial(@RequestBody ContractDto dto) { contractService.createWaitMaterial(dto.getId()); } /** * 创建评审 * * @return */ @PostMapping("/createReview") public FlowResult createReview(@RequestBody ContractDto dto) { return contractService.createReview(dto); } }