VppContractService.java 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package com.usky.vpp.service;
  2. import com.usky.common.core.bean.CommonPage;
  3. import com.usky.vpp.service.vo.VppContractExpireStatVO;
  4. import com.usky.vpp.service.vo.VppContractRequestVO;
  5. import com.usky.vpp.service.vo.VppContractResponseVO;
  6. import javax.servlet.http.HttpServletResponse;
  7. import java.time.LocalDate;
  8. import java.util.Map;
  9. /**
  10. * VppContractService 业务接口
  11. */
  12. public interface VppContractService {
  13. default Object stub(String action, Map<String, Object> params) {
  14. return null;
  15. }
  16. /**
  17. * 新增合同
  18. */
  19. Boolean create(VppContractRequestVO vo);
  20. /**
  21. * 修改合同
  22. */
  23. Boolean update(VppContractRequestVO vo);
  24. /**
  25. * 分页查询合同
  26. * @param id 主键ID(精确匹配)
  27. * @param signDateStart 签约日期起始
  28. * @param signDateEnd 签约日期截止
  29. * @param templateId 模板ID
  30. * @param contractType 合同类型
  31. * @param customerId 客户ID
  32. * @param customerName 客户名称(模糊匹配)
  33. * @param signDateStart 签订时间起始
  34. * @param signDateEnd 签订时间截止
  35. * @param contractStatus 合同状态
  36. * @param pageNum 页码
  37. * @param pageSize 页大小
  38. */
  39. CommonPage<VppContractResponseVO> page(Long id, LocalDate signDateStart, LocalDate signDateEnd,
  40. Long templateId, Integer contractType, Long customerId,
  41. String customerName, LocalDate signDateRangeStart, LocalDate signDateRangeEnd,
  42. Integer contractStatus, Integer pageNum, Integer pageSize);
  43. /**
  44. * 删除合同(软删除)
  45. */
  46. Boolean delete(Long id);
  47. /**
  48. * 下载合同文件
  49. */
  50. void download(Long id, HttpServletResponse response);
  51. /**
  52. * 按客户最新合同统计已到期 / 即将到期(近三个月)数量
  53. * <p>租户隔离;每个客户仅取创建时间最新的一份合同,再按到期日分类统计数量。
  54. * 列表请走分页接口,按 contractStatus=5(已到期)/ 7(即将到期)查询。</p>
  55. */
  56. VppContractExpireStatVO expireStat();
  57. }