ContractFloorService.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. package platform.modules.carrier.service;
  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import org.springframework.stereotype.Service;
  4. import platform.common.base.service.BaseService;
  5. import platform.modules.build.entity.BuildFloor;
  6. import platform.modules.build.service.FloorService;
  7. import platform.modules.carrier.dao.ContractFloorDao;
  8. import platform.modules.carrier.entity.CarrierStatistic;
  9. import platform.modules.carrier.entity.CarrierVolume;
  10. import platform.modules.carrier.entity.ContractFloor;
  11. import java.util.List;
  12. @Service
  13. public class ContractFloorService extends BaseService<ContractFloor> {
  14. @Autowired
  15. private ContractFloorDao contractFloorDao;
  16. @Autowired
  17. private FloorService floorService;
  18. public Integer insertBatch(List<ContractFloor> list) {
  19. return contractFloorDao.insertBatch(list);
  20. }
  21. public Integer deleteByContractId(Integer id) {
  22. return contractFloorDao.deleteByContractId(id);
  23. }
  24. public List<ContractFloor> findByContractId(Integer id) {
  25. return contractFloorDao.findByContractId(id);
  26. }
  27. /**
  28. * 获取到期的合同
  29. *
  30. */
  31. public void findEndContract() {
  32. List<ContractFloor> contractList = contractFloorDao.findEndContract();
  33. for (ContractFloor contractFloor : contractList) {
  34. contractFloor.setStatus(3);
  35. this.updateSelective(contractFloor);
  36. BuildFloor floor = floorService.findById(contractFloor.getFloor_id());
  37. if (floor != null){
  38. Double remain_area = floor.getRemain_area()== null ? 0 : floor.getRemain_area();
  39. Double contract_area = contractFloor.getArea() == null ? 0 : contractFloor.getArea();
  40. floor.setRemain_area(remain_area + contract_area);
  41. }
  42. floorService.updateSelective(floor);
  43. }
  44. }
  45. /**
  46. * 合同生效
  47. *
  48. */
  49. public void findStartContract() {
  50. List<ContractFloor> contractList = contractFloorDao.findStartContract();
  51. for (ContractFloor contractFloor : contractList) {
  52. contractFloor.setStatus(2);
  53. this.updateSelective(contractFloor);
  54. BuildFloor floor = floorService.findById(contractFloor.getFloor_id());
  55. if (floor != null){
  56. Double remain_area = floor.getRemain_area()== null ? 0 : floor.getRemain_area();
  57. Double contract_area = contractFloor.getArea() == null ? 0 : contractFloor.getArea();
  58. floor.setRemain_area((remain_area - contract_area) < 0 ? 0 : (remain_area - contract_area));
  59. }
  60. floorService.updateSelective(floor);
  61. }
  62. }
  63. /**
  64. * 获取终止合同释放面积
  65. *
  66. */
  67. public void finderminateContract() {
  68. List<ContractFloor> contractFloors = contractFloorDao.finderminateContract();
  69. for (ContractFloor contractFloor : contractFloors) {
  70. contractFloor.setStatus(5);
  71. this.updateSelective(contractFloor);
  72. BuildFloor floor = floorService.findById(contractFloor.getFloor_id());
  73. if (floor != null){
  74. Double remain_area = floor.getRemain_area()== null ? 0 : floor.getRemain_area();
  75. Double contract_area = contractFloor.getArea() == null ? 0 : contractFloor.getArea();
  76. floor.setRemain_area(remain_area + contract_area);
  77. }
  78. floorService.updateSelective(floor);
  79. }
  80. }
  81. /**
  82. * 成交量
  83. *
  84. * @param startTime
  85. * @param endTime
  86. * @return
  87. */
  88. public Integer findCarrierVolume(String startTime, String endTime) {
  89. return contractFloorDao.findCarrierVolume(startTime, endTime);
  90. }
  91. /**
  92. * 各园区成交量
  93. *
  94. * @param startTime
  95. * @param endTime
  96. */
  97. public List<CarrierVolume> findEachParkVolume(String startTime, String endTime) {
  98. return contractFloorDao.findEachParkVolume(startTime, endTime);
  99. }
  100. /**
  101. * 查找相应时间内到期的合同
  102. *
  103. * @param startTime
  104. * @param endTime
  105. * @return
  106. */
  107. public List<ContractFloor> findEndContractByTime(String startTime, String endTime, Integer id) {
  108. return contractFloorDao.findEndContractByTime(startTime, endTime, id);
  109. }
  110. }