|
|
@@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.zksy.property.domain.AContractInfo;
|
|
|
import com.zksy.property.domain.AHouseInfoDetail;
|
|
|
import com.zksy.property.domain.ASimplifiedHouseInfo;
|
|
|
-import com.zksy.property.domain.ATenantInfo;
|
|
|
import com.zksy.property.domain.bo.*;
|
|
|
import com.zksy.property.domain.dto.ContractFormDTO;
|
|
|
import com.zksy.property.factory.ContractFactory;
|
|
|
@@ -79,7 +78,7 @@ public class AContractInfoServiceImpl extends ServiceImpl<AContractInfoMapper, A
|
|
|
ASimplifiedHouseInfo aSimplifiedHouseInfo = aSimplifiedHouseInfoService.getById(dto.getHouseId());
|
|
|
|
|
|
if (!"空闲".equals(aSimplifiedHouseInfo.getStatus())) {
|
|
|
- throw new RuntimeException("此房屋已存在合同");
|
|
|
+ throw new RuntimeException("此房屋已租");
|
|
|
}
|
|
|
|
|
|
Contract baseContract = ContractFactory.createContract(aSimplifiedHouseInfo.getAssetType());
|
|
|
@@ -87,20 +86,59 @@ public class AContractInfoServiceImpl extends ServiceImpl<AContractInfoMapper, A
|
|
|
RentalTempBo bo = new RentalTempBo();
|
|
|
var resPath = "";
|
|
|
|
|
|
-
|
|
|
+ AContractInfo contractInfo = new AContractInfo();
|
|
|
var contractNumber = generateAssetNumber();
|
|
|
if (baseContract instanceof ContractA) {
|
|
|
- processContractA((ContractA) baseContract, aSimplifiedHouseInfo, houseInfoDetail, bo);
|
|
|
+ var contractA = (ContractA) baseContract;
|
|
|
+ processContractA(contractA , aSimplifiedHouseInfo, houseInfoDetail, bo);
|
|
|
resPath = fillContractData(bo, aSimplifiedHouseInfo.getAssetType());
|
|
|
+ contractInfo.setContractNumber(contractNumber);
|
|
|
+ contractInfo.setContractDate(LocalDate.parse(contractA.getTenantTimeStart()));
|
|
|
+ contractInfo.setContractTime(contractA.getTenantTime());
|
|
|
+ contractInfo.setContractExpirationDate(LocalDate.parse(contractA.getTenantTimeEnd()));
|
|
|
+ contractInfo.setContractDeposit(new BigDecimal(contractA.getTenantDepositAmount()));
|
|
|
+ contractInfo.setContractStatus("有效");
|
|
|
+ contractInfo.setSimplifiedHouseId(dto.getHouseId());
|
|
|
+ contractInfo.setOriginalContractUrl(resPath);
|
|
|
+ contractInfo.setSignContractUrl(null);
|
|
|
+ contractInfo.setCreateTime(LocalDateTime.now());
|
|
|
+ contractInfo.setUpdateTime(LocalDateTime.now());
|
|
|
+ this.save(contractInfo);
|
|
|
} else if (baseContract instanceof ContractB) {
|
|
|
- processContractB((ContractB) baseContract, aSimplifiedHouseInfo, houseInfoDetail, bo);
|
|
|
+ var contractB = (ContractB) baseContract;
|
|
|
+ processContractB(contractB, aSimplifiedHouseInfo, houseInfoDetail, bo);
|
|
|
resPath = fillContractData(bo, aSimplifiedHouseInfo.getAssetType());
|
|
|
+ contractInfo.setContractNumber(contractNumber);
|
|
|
+ contractInfo.setContractDate(LocalDate.parse(contractB.getLeaseStartDate()));
|
|
|
+ contractInfo.setContractTime(contractB.getLeaseTermYears());
|
|
|
+ contractInfo.setContractExpirationDate(LocalDate.parse(contractB.getLeaseEndDate()));
|
|
|
+ contractInfo.setContractDeposit(new BigDecimal(contractB.getDepositAmount()));
|
|
|
+ contractInfo.setContractStatus("有效");
|
|
|
+ contractInfo.setSimplifiedHouseId(dto.getHouseId());
|
|
|
+ contractInfo.setOriginalContractUrl(resPath);
|
|
|
+ contractInfo.setSignContractUrl(null);
|
|
|
+ contractInfo.setCreateTime(LocalDateTime.now());
|
|
|
+ contractInfo.setUpdateTime(LocalDateTime.now());
|
|
|
+ this.save(contractInfo);
|
|
|
} else if (baseContract instanceof ContractC) {
|
|
|
- processContractC((ContractC) baseContract, bo,contractNumber);
|
|
|
+ var contractC = (ContractC) baseContract;
|
|
|
+ processContractC(contractC, bo,contractNumber);
|
|
|
resPath = fillContractData(bo, aSimplifiedHouseInfo.getAssetType());
|
|
|
+ contractInfo.setContractNumber(contractNumber);
|
|
|
+ contractInfo.setContractDate(LocalDate.parse(contractC.getLeaseStartDate()));
|
|
|
+ contractInfo.setContractTime(contractC.getLeaseTermMonths());
|
|
|
+ contractInfo.setContractExpirationDate(LocalDate.parse(contractC.getLeaseEndDate()));
|
|
|
+ contractInfo.setContractDeposit(new BigDecimal(contractC.getDepositAmount()));
|
|
|
+ contractInfo.setContractStatus("有效");
|
|
|
+ contractInfo.setSimplifiedHouseId(dto.getHouseId());
|
|
|
+ contractInfo.setOriginalContractUrl(resPath);
|
|
|
+ contractInfo.setSignContractUrl(null);
|
|
|
+ contractInfo.setCreateTime(LocalDateTime.now());
|
|
|
+ contractInfo.setUpdateTime(LocalDateTime.now());
|
|
|
+ this.save(contractInfo);
|
|
|
}
|
|
|
|
|
|
- aSimplifiedHouseInfo.setStatus("已租");
|
|
|
+ /*aSimplifiedHouseInfo.setStatus("已租");
|
|
|
aSimplifiedHouseInfoService.updateById(aSimplifiedHouseInfo);
|
|
|
|
|
|
ATenantInfo aTenantInfo = new ATenantInfo();
|
|
|
@@ -113,7 +151,7 @@ public class AContractInfoServiceImpl extends ServiceImpl<AContractInfoMapper, A
|
|
|
aTenantInfo.setSimplifiedHouseId(dto.getHouseId());
|
|
|
aTenantInfo.setCreateTime(LocalDateTime.now());
|
|
|
aTenantInfo.setUpdateTime(LocalDateTime.now());
|
|
|
- aTenantInfoService.save(aTenantInfo);
|
|
|
+ aTenantInfoService.save(aTenantInfo);*/
|
|
|
|
|
|
return resPath;
|
|
|
}
|