package platform.modules.carrier.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import platform.common.base.service.BaseService; import platform.modules.build.entity.BuildFloor; import platform.modules.build.service.FloorService; import platform.modules.carrier.dao.ContractFloorDao; import platform.modules.carrier.entity.CarrierStatistic; import platform.modules.carrier.entity.CarrierVolume; import platform.modules.carrier.entity.ContractFloor; import java.util.List; @Service public class ContractFloorService extends BaseService { @Autowired private ContractFloorDao contractFloorDao; @Autowired private FloorService floorService; public Integer insertBatch(List list) { return contractFloorDao.insertBatch(list); } public Integer deleteByContractId(Integer id) { return contractFloorDao.deleteByContractId(id); } public List findByContractId(Integer id) { return contractFloorDao.findByContractId(id); } /** * 获取到期的合同 * */ public void findEndContract() { List contractList = contractFloorDao.findEndContract(); for (ContractFloor contractFloor : contractList) { contractFloor.setStatus(3); this.updateSelective(contractFloor); BuildFloor floor = floorService.findById(contractFloor.getFloor_id()); if (floor != null){ Double remain_area = floor.getRemain_area()== null ? 0 : floor.getRemain_area(); Double contract_area = contractFloor.getArea() == null ? 0 : contractFloor.getArea(); floor.setRemain_area(remain_area + contract_area); } floorService.updateSelective(floor); } } /** * 合同生效 * */ public void findStartContract() { List contractList = contractFloorDao.findStartContract(); for (ContractFloor contractFloor : contractList) { contractFloor.setStatus(2); this.updateSelective(contractFloor); BuildFloor floor = floorService.findById(contractFloor.getFloor_id()); if (floor != null){ Double remain_area = floor.getRemain_area()== null ? 0 : floor.getRemain_area(); Double contract_area = contractFloor.getArea() == null ? 0 : contractFloor.getArea(); floor.setRemain_area((remain_area - contract_area) < 0 ? 0 : (remain_area - contract_area)); } floorService.updateSelective(floor); } } /** * 获取终止合同释放面积 * */ public void finderminateContract() { List contractFloors = contractFloorDao.finderminateContract(); for (ContractFloor contractFloor : contractFloors) { contractFloor.setStatus(5); this.updateSelective(contractFloor); BuildFloor floor = floorService.findById(contractFloor.getFloor_id()); if (floor != null){ Double remain_area = floor.getRemain_area()== null ? 0 : floor.getRemain_area(); Double contract_area = contractFloor.getArea() == null ? 0 : contractFloor.getArea(); floor.setRemain_area(remain_area + contract_area); } floorService.updateSelective(floor); } } /** * 成交量 * * @param startTime * @param endTime * @return */ public Integer findCarrierVolume(String startTime, String endTime) { return contractFloorDao.findCarrierVolume(startTime, endTime); } /** * 各园区成交量 * * @param startTime * @param endTime */ public List findEachParkVolume(String startTime, String endTime) { return contractFloorDao.findEachParkVolume(startTime, endTime); } /** * 查找相应时间内到期的合同 * * @param startTime * @param endTime * @return */ public List findEndContractByTime(String startTime, String endTime, Integer id) { return contractFloorDao.findEndContractByTime(startTime, endTime, id); } }