ContractService.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. package com.fjhx.sale.service.contract;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.fjhx.account.entity.account.vo.AccountRunningWaterVo;
  5. import com.fjhx.customer.entity.customer.dto.CustomerDto;
  6. import com.fjhx.item.entity.product.dto.ProductInfoSelectDto;
  7. import com.fjhx.sale.entity.contract.dto.ContractDto;
  8. import com.fjhx.sale.entity.contract.dto.ContractSelectDto;
  9. import com.fjhx.sale.entity.contract.dto.DecisionAidDto;
  10. import com.fjhx.sale.entity.contract.dto.PayDecisionAidDto;
  11. import com.fjhx.sale.entity.contract.po.Contract;
  12. import com.fjhx.sale.entity.contract.vo.*;
  13. import com.fjhx.sale.entity.purchase.po.EhsdPurchase;
  14. import com.fjhx.sale.entity.sale.vo.SaleQuotationVo;
  15. import com.ruoyi.common.core.service.BaseService;
  16. import org.apache.ibatis.annotations.Param;
  17. import java.util.List;
  18. import java.util.Map;
  19. /**
  20. * <p>
  21. * 外销合同表 服务类
  22. * </p>
  23. *
  24. * @author
  25. * @since 2023-04-17
  26. */
  27. public interface ContractService extends BaseService<Contract> {
  28. Page<ContractVo> getContractAndSamplePage(ContractSelectDto dto);
  29. /**
  30. * 外销合同表分页
  31. */
  32. Page<ContractVo> getPage(ContractSelectDto dto);
  33. /**
  34. * 外销合同表分页 不过滤权限
  35. */
  36. Page<ContractVo> getPage1(ContractSelectDto dto);
  37. /**
  38. * 利润预算分页
  39. */
  40. Page<ContractBudgetVo> getProfitBudgetPage(ContractSelectDto dto);
  41. /**
  42. * 利润结算分页
  43. */
  44. Page<ContractBudgetVo> getProfitClearingPage(ContractSelectDto dto);
  45. /**
  46. * 外销合同表明细
  47. */
  48. ContractVo detail(Long id);
  49. /**
  50. * 外销合同表新增
  51. */
  52. void add(ContractDto contractDto);
  53. /**
  54. * 外销合同表编辑
  55. */
  56. void edit(ContractDto contractDto);
  57. /**
  58. * 外销合同表删除
  59. */
  60. void delete(Long id);
  61. /**
  62. * 根据客户ID查询未包装的订单
  63. * @param customerId
  64. * @return
  65. */
  66. List<ContractVo> getNoPackContractByCustomerId(String customerId);
  67. /**
  68. * 根据合同ID集合查询合同
  69. */
  70. List<Contract> getByIds(List<Long> ids);
  71. /**
  72. * 获取合同明细
  73. */
  74. ContractPdfInfoVo getContractPdfInfo(Long id);
  75. /**
  76. * 查询销售额(合同总金额)
  77. * @param id(买方公司ID)
  78. */
  79. ContractVo getSalesTotal(Long id);
  80. /**
  81. * 查询销售额(合同总金额)
  82. * @param id(买方公司ID)
  83. */
  84. Page<ContractVo> getSalesTotalList(Page<Object> page, Long id);
  85. /**
  86. * 查询指定客户的每月合同总额
  87. * @param dto
  88. */
  89. List<ContractVo> getAmount(CustomerDto dto);
  90. /**
  91. * 查询成交单统计(合同)
  92. * @param query
  93. * @return
  94. */
  95. List<SaleQuotationVo> contractStatistics(QueryWrapper<Object> query);
  96. /**
  97. * 销售趋势(数据看板-产品分析页面)
  98. * @param productInfoDto
  99. */
  100. List<Map<String, Object>> saleTrend(ProductInfoSelectDto productInfoDto);
  101. /**
  102. * 销售统计(数据看板-销售分析页面开发)
  103. */
  104. Map<String, Object> salesStatistics(ContractDto dto);
  105. /**
  106. * 国家销售统计(数据看板-销售分析页面开发)
  107. */
  108. List<ContractDto> countrySalesStatistics(ContractDto dto);
  109. /**
  110. * 客户销售统计(数据看板-销售分析页面开发)
  111. */
  112. List<ContractDto> customSalesStatistics(ContractDto dto);
  113. /**
  114. * 业务员销售统计(数据看板-销售分析页面开发)
  115. */
  116. List<ContractDto> salesmanSalesStatistics(ContractDto dto);
  117. /**
  118. * 产品销售统计(数据看板-销售分析页面开发)
  119. */
  120. List<ContractDto> productSalesStatistics(ContractDto dto);
  121. /**
  122. * 产品销售量统计(数据看板-销售分析页面开发)
  123. */
  124. List<ContractDto> salesVolumeStatistics(ContractDto dto);
  125. /**
  126. * 合同交接单
  127. */
  128. void contractHandover(ContractDto dto);
  129. /**
  130. * 合同销售统计(合同列表)
  131. */
  132. Map<String, Object> covenantStatistics(ContractDto dto);
  133. /**
  134. * 销售合同-》到账完成
  135. */
  136. void toTheAccount(Contract dto);
  137. /**
  138. * 决策辅助
  139. */
  140. DecisionAidVo decisionAid(DecisionAidDto dto);
  141. /**
  142. * 采购付款决策辅助
  143. */
  144. PayDecisionAidVo payDecisionAid(PayDecisionAidDto dto);
  145. /**
  146. * 获取合同相关的所有版本列表
  147. */
  148. List<ContractVo> getVersionList(Long id);
  149. /**
  150. * 获取合同相关的所有采购合同版本列表
  151. */
  152. List<EhsdPurchase> getPurchaseListByContractId(Long id);
  153. /**
  154. * 根据合同id获取合同的资金流水信息
  155. */
  156. List<AccountRunningWaterVo> getAccountRunningWaterByContractId(Long contractId);
  157. void updateContract(Contract contract);
  158. /**
  159. * 外销跟单分页
  160. */
  161. Page<ContractVo> getExportCopyList(ContractSelectDto dto);
  162. /**
  163. * 添加备注
  164. */
  165. void editContractRemark(ContractVo contractVo);
  166. }