|
@@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.json.JSONArray;
|
|
|
import cn.hutool.json.JSONNull;
|
|
|
import cn.hutool.json.JSONObject;
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
import com.alibaba.fastjson2.JSON;
|
|
|
import com.dayou.dto.Address;
|
|
|
import com.dayou.dto.HouseGuarantyTargetDTO;
|
|
@@ -429,11 +430,7 @@ public class HouseDocumentUtil {
|
|
|
public static String getCheckOriginCertificate(String isCheckOriginCertificate,String hasImmovable, TmplHouseParagraph tmplHouseParagraph){
|
|
|
if (checkBoolean(isCheckOriginCertificate)){
|
|
|
String paragraph = tmplHouseParagraph.getParagraph();
|
|
|
- if (checkBoolean(hasImmovable)){
|
|
|
- return paragraph.replace("{immovable}",IMMOVABLE);
|
|
|
- }else{
|
|
|
- return paragraph.replace("{immovable}","");
|
|
|
- }
|
|
|
+ return paragraph.replace("{immovable}",hasImmovable);
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
@@ -494,19 +491,758 @@ public class HouseDocumentUtil {
|
|
|
String paragraph = tmplHouseParagraph.getParagraph();
|
|
|
String result = null;
|
|
|
if (CollectionUtil.isNotEmpty(targets)){
|
|
|
- List<HouseGuarantyTarget> collect = targets.stream().filter(x -> (!x.getHasBuildingYear() && StrUtil.isNotBlank(x.getBuildingYear()))).collect(Collectors.toList());
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> (x.getHasBuildingYear()!=null && !x.getHasBuildingYear() && StrUtil.isNotBlank(x.getBuildingYear()))).collect(Collectors.toList());
|
|
|
if (CollectionUtil.isNotEmpty(collect)){
|
|
|
List<String> tIds = collect.stream().map(HouseGuarantyTarget::getTId).collect(Collectors.toList());
|
|
|
List<String> buildingYears = collect.stream().map(HouseGuarantyTarget::getBuildingYear).collect(Collectors.toList());
|
|
|
- result = paragraph.replace("{tIds}", CollectionUtil.formatSplitAndRemoveMiddle(tIds))
|
|
|
- .replace("{years}", CollectionUtil.formatSplitAndRemoveMiddle(buildingYears));
|
|
|
- if (checkBoolean(hasImmovable)){
|
|
|
- result.replace("{immovable}",IMMOVABLE);
|
|
|
- }else {
|
|
|
- result.replace("{immovable}","");
|
|
|
- }
|
|
|
+ result = paragraph.replace("{tIds}", CollectionUtil.formatDotAndRemoveMiddle(tIds))
|
|
|
+ .replace("{years}", CollectionUtil.formatDotAndRemoveMiddle(buildingYears));
|
|
|
+ result = result.replace("{immovable}",hasImmovable);
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 未定事项假设 房产证登记用途与土地证用途不一致
|
|
|
+ * @param targets
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isUseDiff(List<HouseGuarantyTarget> targets,TmplHouseParagraph tmplHouseParagraph) {
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> StrUtil.isNotBlank(x.getLandUseTo())).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ for (HouseGuarantyTarget target : collect) {
|
|
|
+ List<HouseGuarantyTargetDTO> targetDTOS = JSON.parseArray(target.getBaseInfo(), HouseGuarantyTargetDTO.class);
|
|
|
+ Set<String> houseUseTo = targetDTOS.stream().map(HouseGuarantyTargetDTO::getUseTo).collect(Collectors.toSet());
|
|
|
+ if (!houseUseTo.contains(target.getLandUseTo())){
|
|
|
+ result.append(tmplHouseParagraph.getParagraph())
|
|
|
+ .append("估价对象").append(target.getTId())
|
|
|
+ .append("所在宗地《国有土地使用证》记载土地用途为")
|
|
|
+ .append(target.getLandUseTo()).append(",估价对象")
|
|
|
+ .append(target.getTId()).append("《房屋所有权证》记载规划用途为")
|
|
|
+ .append(CollectionUtil.formatDotAndRemoveMiddle(houseUseTo))
|
|
|
+ .append(",本次估价以估价对象合法保持房屋实际用途继续使用为假设前提。\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ result.append("\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 未定事项假设 未提供分户土地证,提供宗地大证
|
|
|
+ * @param targets
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isProvideLandBigCertificate(List<HouseGuarantyTarget> targets,TmplHouseParagraph tmplHouseParagraph) {
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
|
+ String paragraph = tmplHouseParagraph.getParagraph();
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> StrUtil.isNotBlank(x.getLandCertificateType())
|
|
|
+ && x.getLandCertificateType().equals("大证")&& !x.getIsCostingShareMethod()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ for (HouseGuarantyTarget target : collect) {
|
|
|
+ String tId = target.getTId();
|
|
|
+ String landUseTo = target.getLandUseTo();
|
|
|
+ String landExpireDate = target.getLandExpireDate();
|
|
|
+ String content = paragraph.replace("{tId}", tId).replace("{landUseTo}", landUseTo).replace("{landExpireDate}", landExpireDate);
|
|
|
+ result.append(content).append("\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 未定事项假设 未提供分户土地证,提供宗地大证需要采用成本法,分摊土地面积处理方式
|
|
|
+ * @param targets
|
|
|
+ * @param tmplHouseParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isProvideLandBigCertificateShare(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplHouseParagraph) {
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
|
+ String paragraph = tmplHouseParagraph.getParagraph();
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> (StrUtil.isNotBlank(x.getLandCertificateType()) &&
|
|
|
+ x.getLandCertificateType().equals("大证") && x.getIsCostingShareMethod())).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ for (HouseGuarantyTarget target : collect) {
|
|
|
+ String tId = target.getTId();
|
|
|
+ String landExpireDate = target.getLandExpireDate();
|
|
|
+ String shareAcreage1 = target.getShareAcreage1();
|
|
|
+ String content = paragraph.replace("{tId}", tId).replace("{landExpireDate}", landExpireDate).replace("{shareAcreage1}", shareAcreage1);
|
|
|
+ result.append(content).append("\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 未定事项假设 房屋分层面积处理方式1 有图
|
|
|
+ * @param targets
|
|
|
+ * @param tmplHouseParagraph
|
|
|
+ * @param hasImmovableCertificate
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isDivideMethod1(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplHouseParagraph, String hasImmovableCertificate,String acreage) {
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
|
+ String paragraph = tmplHouseParagraph.getParagraph();
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> (x.getIsLayer()!=null && x.getIsLayer()
|
|
|
+ && x.getHasLayerImage()!=null && x.getHasLayerImage())).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ for (HouseGuarantyTarget target : collect) {
|
|
|
+ String tId = target.getTId();
|
|
|
+ StringBuilder floorAcreageDesc = new StringBuilder();
|
|
|
+ String floor1Acreage = target.getFloor1Acreage();
|
|
|
+ String floor2Acreage = target.getFloor2Acreage();
|
|
|
+ String floor3Acreage = target.getFloor3Acreage();
|
|
|
+ if (StrUtil.isNotBlank(floor1Acreage)){
|
|
|
+ floorAcreageDesc.append("一层").append(floor1Acreage).append("平方米");
|
|
|
+ }
|
|
|
+ if (StrUtil.isNotBlank(floor2Acreage)){
|
|
|
+ floorAcreageDesc.append("、");
|
|
|
+ floorAcreageDesc.append("二层").append(floor2Acreage).append("平方米");
|
|
|
+ }else {
|
|
|
+ floorAcreageDesc.append(";");
|
|
|
+ }
|
|
|
+ if (StrUtil.isNotBlank(floor3Acreage)){
|
|
|
+ floorAcreageDesc.append("、");
|
|
|
+ floorAcreageDesc.append("三层").append(floor3Acreage).append("平方米");
|
|
|
+ }else {
|
|
|
+ floorAcreageDesc.append(";");
|
|
|
+ }
|
|
|
+ paragraph = paragraph.replace("{immovable}", hasImmovableCertificate).replace("{tId}", tId).replace("{acreage}", acreage);
|
|
|
+ paragraph = paragraph.replace("{floorAcreageDesc}", floorAcreageDesc.toString());
|
|
|
+ result.append(paragraph).append("\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 未定事项假设 房屋分层面积处理方式2 无图
|
|
|
+ * @param targets
|
|
|
+ * @param tmplHouseParagraph
|
|
|
+ * @param hasImmovableCertificate
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isDivideMethod2(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplHouseParagraph, String hasImmovableCertificate, String acreage) {
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
|
+ String paragraph = tmplHouseParagraph.getParagraph();
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> (x.getIsLayer()!=null && x.getIsLayer()
|
|
|
+ && x.getHasLayerImage()!=null && !x.getHasLayerImage())).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ for (HouseGuarantyTarget target : collect) {
|
|
|
+ String tId = target.getTId();
|
|
|
+ StringBuilder floorAcreageDesc = new StringBuilder();
|
|
|
+ String floor1Acreage = target.getFloor1Acreage();
|
|
|
+ String floor2Acreage = target.getFloor2Acreage();
|
|
|
+ String floor3Acreage = target.getFloor3Acreage();
|
|
|
+ if (StrUtil.isNotBlank(floor1Acreage)){
|
|
|
+ floorAcreageDesc.append("一层").append(floor1Acreage).append("平方米");
|
|
|
+ }
|
|
|
+ if (StrUtil.isNotBlank(floor2Acreage)){
|
|
|
+ floorAcreageDesc.append("、");
|
|
|
+ floorAcreageDesc.append("二层").append(floor2Acreage).append("平方米");
|
|
|
+ }else {
|
|
|
+ floorAcreageDesc.append(";");
|
|
|
+ }
|
|
|
+ if (StrUtil.isNotBlank(floor3Acreage)){
|
|
|
+ floorAcreageDesc.append("、");
|
|
|
+ floorAcreageDesc.append("三层").append(floor3Acreage).append("平方米").append(";");
|
|
|
+ }else {
|
|
|
+ floorAcreageDesc.append(";");
|
|
|
+ }
|
|
|
+ paragraph = paragraph.replace("{immovable}", hasImmovableCertificate).replace("{tId}", tId).replace("{acreage}", acreage);
|
|
|
+ paragraph = paragraph.replace("{floorAcreageDesc}", floorAcreageDesc.toString());
|
|
|
+ result.append(paragraph).append("\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 不相一致假设 登记地址与实勘地址不一致 有证明
|
|
|
+ * @param targets
|
|
|
+ * @param hasImmovableCertificate
|
|
|
+ * @param tmplHouseParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isAddressDiffCertificate(List<HouseGuarantyTarget> targets, String hasImmovableCertificate, TmplHouseParagraph tmplHouseParagraph) {
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
|
+ String paragraph = tmplHouseParagraph.getParagraph();
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getIsAddressSame()!=null && !x.getIsAddressSame()
|
|
|
+ && x.getIsAddressCertificate()!=null && x.getIsAddressCertificate()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ for (HouseGuarantyTarget target : collect) {
|
|
|
+ String tId = target.getTId();
|
|
|
+ List<HouseGuarantyTargetDTO> targetDTOS = JSON.parseArray(target.getBaseInfo(), HouseGuarantyTargetDTO.class);
|
|
|
+ String location = targetDTOS.get(0).getLocation();
|
|
|
+ String actAddress = targetDTOS.get(0).getActAddress();
|
|
|
+ String replace = paragraph.replace("{tId}", tId).replace("{location}", location).replace("{actAddress}", actAddress).replace("{immovable}", hasImmovableCertificate);
|
|
|
+ result.append(replace).append("\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 不相一致假设 登记地址与实勘地址不一致 无证明
|
|
|
+ * @param targets
|
|
|
+ * @param hasImmovableCertificate
|
|
|
+ * @param tmplHouseParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isAddressDiffNoCertificate(List<HouseGuarantyTarget> targets, String hasImmovableCertificate, TmplHouseParagraph tmplHouseParagraph) {
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
|
+ String paragraph = tmplHouseParagraph.getParagraph();
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getIsAddressSame()!=null && !x.getIsAddressSame()
|
|
|
+ && x.getIsAddressCertificate()!=null && !x.getIsAddressCertificate()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ for (HouseGuarantyTarget target : collect) {
|
|
|
+ String tId = target.getTId();
|
|
|
+ Boolean noBuildingHouseNos = target.getNoBuildingHouseNos();
|
|
|
+ String noBuildingHouseNosStr="";
|
|
|
+ if (noBuildingHouseNos){
|
|
|
+ noBuildingHouseNosStr = ",未见估价对象栋号,房号。";
|
|
|
+ }
|
|
|
+ List<HouseGuarantyTargetDTO> targetDTOS = JSON.parseArray(target.getBaseInfo(), HouseGuarantyTargetDTO.class);
|
|
|
+ String location = targetDTOS.get(0).getLocation();
|
|
|
+ String actAddress = targetDTOS.get(0).getActAddress();
|
|
|
+ String replace = paragraph.replace("{tId}", tId).replace("{location}", location)
|
|
|
+ .replace("{actAddress}", actAddress).replace("{noBuildingHouseNos}",noBuildingHouseNosStr).replace("{immovable}", hasImmovableCertificate);
|
|
|
+ result.append(replace).append("\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 不相一致假设 价值时点与查勘日期不一致
|
|
|
+ * @param targets
|
|
|
+ * @param tmplHouseParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isDateDiff(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplHouseParagraph,String docDate) {
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
|
+ String paragraph = tmplHouseParagraph.getParagraph();
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getIsDateTimeSame()!=null && !x.getIsDateTimeSame()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ for (HouseGuarantyTarget target : collect) {
|
|
|
+ String tId = target.getTId();
|
|
|
+ String exploreDate = target.getExploreDate();
|
|
|
+ String replace = paragraph.replace("{tId}", tId).replace("{exploreDate}", exploreDate).replace("{docDate}", docDate);
|
|
|
+ result.append(replace).append("\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 依据不足假设 未办理分户土地证和提供所在宗地大证仅限住宅商品房
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isBigCertificateOnlyHouse(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph) {
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> StrUtil.isNotBlank(x.getLandCertificateType()) &&
|
|
|
+ x.getLandCertificateType().equals("大证")).collect(Collectors.toList());
|
|
|
+ List<String> tIds = new ArrayList<>();
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ for (HouseGuarantyTarget target : collect) {
|
|
|
+ List<HouseGuarantyTargetDTO> targetDTOS = JSON.parseArray(target.getBaseInfo(), HouseGuarantyTargetDTO.class);
|
|
|
+ List<String> userTos = targetDTOS.stream().map(HouseGuarantyTargetDTO::getUseTo).collect(Collectors.toList());
|
|
|
+ for (String userTo : userTos){
|
|
|
+ if (userTo.contains("住宅")){
|
|
|
+ tIds.add(target.getTId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (CollectionUtil.isNotEmpty(tIds)){
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ return paragraph.replace("{tIds}",CollectionUtil.formatDotAndRemoveMiddle(tIds));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 依据不足假设 必须在“估价对象权利状况说明及承诺书”中说明未提供上述权属证书原件,并承诺提供的权属证书复印件与原件一致
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isNotOriginCertificateOnlyHouse(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph,String hasImmovable) {
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> !x.getHasOriginCertificate()
|
|
|
+ && x.getIsPromise() && !x.getIsPromiseFile()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ List<String> tIds = collect.stream().map(HouseGuarantyTarget::getTId).collect(Collectors.toList());
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ return paragraph.replace("{tIds}", CollectionUtil.formatDotAndRemoveMiddle(tIds)).replace("{hasImmovable}", hasImmovable);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 依据不足假设 承诺提供的权属证书及与估价对象相关的法律文件复印件与原件一致(大成都范围内)
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isNotOriginFileInChengDu(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph) {
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> !x.getHasOriginCertificate()
|
|
|
+ && x.getIsPromise() && x.getIsPromiseFile() && x.getIsInChengDu()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ List<String> tIds = collect.stream().map(HouseGuarantyTarget::getTId).collect(Collectors.toList());
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ return paragraph.replace("{tIds}", CollectionUtil.formatDotAndRemoveMiddle(tIds));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 依据不足假设 承诺提供的权属证书及与估价对象相关的法律文件复印件与原件一致(大成都范围外)
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isNotOriginFileOutChengDu(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph) {
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> !x.getHasOriginCertificate()
|
|
|
+ && x.getIsPromise() && x.getIsPromiseFile() && !x.getIsInChengDu()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ List<String> tIds = collect.stream().map(HouseGuarantyTarget::getTId).collect(Collectors.toList());
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ return paragraph.replace("{tIds}", CollectionUtil.formatDotAndRemoveMiddle(tIds));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 依据不足假设 已出租未提供租赁合同且未考虑租约影响
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isRentOutNotContractNoAffect(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph) {
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> tIds = targets.stream().filter(x -> x.getIsRentOut() && !x.getHasRentOutContract() && !x.getIsRentLimit()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(tIds)){
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ return paragraph.replace("{tIds}", CollectionUtil.formatDotAndRemoveMiddle(tIds));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 依据不足假设 未提供土地出让合同且土地使用年限低于房屋年限且使用收益法评估
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isNotContractLandLowerHouseSY(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph,String methods) {
|
|
|
+ if (methods.contains("收益法")){
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> !x.getHasLandUseRightContract() && x.getLandYearLowerHouseYear()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ List<String> tIds = collect.stream().map(HouseGuarantyTarget::getTId).collect(Collectors.toList());
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ return paragraph.replace("{tIds}", CollectionUtil.formatDotAndRemoveMiddle(tIds));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 依据不足假设 未提供土地出让合同且土地使用年限低于房屋年限且使用成本法评估
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isNotContractLandLowerHouseCB(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph,String methods) {
|
|
|
+ if (methods.contains("成本法")){
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> !x.getHasLandUseRightContract() && x.getLandYearLowerHouseYear()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ List<String> tIds = collect.stream().map(HouseGuarantyTarget::getTId).collect(Collectors.toList());
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ return paragraph.replace("{tIds}", CollectionUtil.formatDotAndRemoveMiddle(tIds));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 限制条件 估价对象未设立抵押权
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isNotPledge(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph) {
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getHasPledge()).collect(Collectors.toList());
|
|
|
+ if (!CollectionUtil.isNotEmpty(collect)){
|
|
|
+ return tmplParagraph.getParagraph();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 限制条件 适用于原设立抵押权未注销,向新的抵押权人申请贷款
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isOldPledgeToNewPledge(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph) {
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> (x.getHasPledge() && StrUtil.isNotBlank(x.getPledgeType()) && StrUtil.isNotBlank(x.getPledgeUser()) && StrUtil.isNotBlank(x.getPledgeValue())
|
|
|
+ && StrUtil.isNotBlank(x.getNewPledgeUser()))).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ for (int i = 0; i < collect.size(); i++){
|
|
|
+ String replace = getString(collect.get(i), paragraph);
|
|
|
+ result.append(replace);
|
|
|
+ if (i != collect.size()-1){
|
|
|
+ result.append("\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result.toString();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static String getString(HouseGuarantyTarget target, String paragraph) {
|
|
|
+ String pledgeType = target.getPledgeType();
|
|
|
+ String pledgeUser = target.getPledgeUser();
|
|
|
+ String pledgeValue = target.getPledgeValue();
|
|
|
+ String newPledgeUser = target.getNewPledgeUser();
|
|
|
+ String tId = target.getTId();
|
|
|
+ return paragraph.replace("{tId}", tId)
|
|
|
+ .replace("{tId}", tId).replace("{pledgeType}", pledgeType).replace("{pledgeType}", pledgeType)
|
|
|
+ .replace("{pledgeUser}", pledgeUser).replace("{pledgeValue}",
|
|
|
+ pledgeValue).replace("{newPledgeUser}", newPledgeUser);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 限制条件 适用于原抵押权未注销,现拟设立最高额抵押权,同一抵押权人
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isOldPledgeToOldPledge(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph) {
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getHasPledge() && StrUtil.isNotBlank(x.getPledgeType()) && x.getSamePledgeHigh()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ for (int i = 0; i < collect.size(); i++){
|
|
|
+ String tId = collect.get(i).getTId();
|
|
|
+ String pledgeUser = collect.get(i).getPledgeUser();
|
|
|
+ result.append(paragraph.replace("{tId}", tId).replace("{tId}",tId).replace("{pledgeUser}",pledgeUser));
|
|
|
+ if (i != collect.size()-1){
|
|
|
+ result.append("\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result.toString();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 限制条件 土地使用权未划拨但未扣除出让金
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isTransferNotDeductSellMoney(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph,Boolean isDeductSellAmount) {
|
|
|
+ return isDeductSellAmount?null:tmplParagraph.getParagraph();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 限制条件 土地使用权未划拨已扣除出让金
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isTransferDeductSellMoney(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph,Boolean isDeductSellAmount) {
|
|
|
+ return isDeductSellAmount?tmplParagraph.getParagraph():null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 限制条件 是否提供技术报告
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isProvideTechReport(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph,Boolean hasTechReport) {
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ if (hasTechReport){
|
|
|
+ return paragraph.replace("{hasTechReport}","、“估价技术报告”");
|
|
|
+ }
|
|
|
+ return paragraph.replace("{hasTechReport}","");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 限制条件 是否是农商银行
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isNSBank(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph,Boolean isNsBank) {
|
|
|
+ return isNsBank?tmplParagraph.getParagraph():null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 限制条件 其他银行
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isNormalBank(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph,Boolean isNsBank) {
|
|
|
+ return !isNsBank?tmplParagraph.getParagraph():null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 估价中的特殊处理事项 无法定优先受偿款
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isNoFirstMoney(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph) {
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> StrUtil.isBlank(x.getFirstMoney())).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ List<String> tIds = collect.stream().map(HouseGuarantyTarget::getTId).collect(Collectors.toList());
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ return paragraph.replace("{tIds}", CollectionUtil.formatDotAndRemoveMiddle(tIds));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 估价中的特殊处理事项 适用于同一抵押权人续贷
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isSamePledgeUserContinue(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph) {
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getSamePledgeContinue() && StrUtil.isNotBlank(x.getPledgeType())).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ List<String> tIds = collect.stream().map(HouseGuarantyTarget::getTId).collect(Collectors.toList());
|
|
|
+ Set<String> pledgeTypes = collect.stream().map(HouseGuarantyTarget::getPledgeType).collect(Collectors.toSet());
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ return paragraph.replace("{tIds}", CollectionUtil.formatDotAndRemoveMiddle(tIds))
|
|
|
+ .replace("{pledgeTypes}",CollectionUtil.formatDotAndRemoveMiddle(pledgeTypes));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 估价中的特殊处理事项 适用于原设立抵押权未注销,向新的抵押权人申请贷款
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isOldPledgeToNewPledgeSpecial(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph) {
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> StrUtil.isNotBlank(x.getPledgeType()) && StrUtil.isNotBlank(x.getNewPledgeUser())).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ for (int i = 0; i < collect.size(); i++){
|
|
|
+ String tId = collect.get(i).getTId();
|
|
|
+ String pledgeType = collect.get(i).getPledgeType();
|
|
|
+ String newPledgeUser = collect.get(i).getNewPledgeUser();
|
|
|
+ result.append(paragraph.replace("{tId}", tId)
|
|
|
+ .replace("{pledgeType}", pledgeType).replace("{newPledgeUser}",newPledgeUser));
|
|
|
+ if (i != collect.size()-1){
|
|
|
+ result.append("\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result.toString();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 估价中的特殊处理事项 适用于原已设立抵押权,现拟设立最高额抵押权,同一抵押权人
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isNormalPledgeToHighPledge(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph) {
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getHasPledge() && StrUtil.isNotBlank(x.getPledgeType()) && x.getSamePledgeHigh()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ for (int i = 0; i < collect.size(); i++){
|
|
|
+ String tId = collect.get(i).getTId();
|
|
|
+ String pledgeUser = collect.get(i).getPledgeUser();
|
|
|
+ result.append(paragraph.replace("{tId}", tId).replace("{tId}",tId).replace("{pledgeUser}",pledgeUser));
|
|
|
+ if (i != collect.size()-1){
|
|
|
+ result.append("\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result.toString();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 估价中的特殊处理事项 适用于已设立最高额抵押权,抵押未到期
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isHighPledgeNotExpire(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph) {
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getHasPledge() && x.getHighPledgeNotExpire()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ for (int i = 0; i < collect.size(); i++){
|
|
|
+ String tId = collect.get(i).getTId();
|
|
|
+ String pledgeUser = collect.get(i).getPledgeUser();
|
|
|
+ result.append(paragraph.replace("{tId}", tId).replace("{tId}",tId).replace("{pledgeUser}",pledgeUser));
|
|
|
+ if (i != collect.size()-1){
|
|
|
+ result.append("\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result.toString();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 估价中的特殊处理事项 估价对象未出租
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isNotRentOut(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph) {
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> !x.getIsRentOut()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ List<String> tIds = collect.stream().map(HouseGuarantyTarget::getTId).collect(Collectors.toList());
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ return paragraph.replace("{tIds}", CollectionUtil.formatDotAndRemoveMiddle(tIds));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 估价中的特殊处理事项 已出租,未考虑租约影响:高于市场租金
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isRentOutNotAffectHigh(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph) {
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getIsRentOut() && !x.getIsRentLimit()
|
|
|
+ && StrUtil.isNotBlank(x.getNotRentLimitReason()) && StrUtil.equals(x.getRentLimitReason(), "高于市场租金")).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ for (int i = 0; i < collect.size(); i++){
|
|
|
+ String tId = collect.get(i).getTId();
|
|
|
+ result.append(paragraph.replace("{tId}", tId));
|
|
|
+ if (i != collect.size()-1){
|
|
|
+ result.append("\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result.toString();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 估价中的特殊处理事项 已出租,未考虑租约影响:与市场租金相当
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isRentOutNotAffectNormal(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph) {
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getIsRentOut() && !x.getIsRentLimit()
|
|
|
+ && StrUtil.isNotBlank(x.getNotRentLimitReason()) && StrUtil.equals(x.getRentLimitReason(), "与市场租金相当")).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ for (int i = 0; i < collect.size(); i++){
|
|
|
+ String tId = collect.get(i).getTId();
|
|
|
+ result.append(paragraph.replace("{tId}", tId));
|
|
|
+ if (i != collect.size()-1){
|
|
|
+ result.append("\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result.toString();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 估价中的特殊处理事项 已出租,考虑租约影响:低于市场租金
|
|
|
+ * @param targets
|
|
|
+ * @param tmplParagraph
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String isRentOutAffectLow(List<HouseGuarantyTarget> targets, TmplHouseParagraph tmplParagraph) {
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
|
+ String paragraph = tmplParagraph.getParagraph();
|
|
|
+ if (CollectionUtil.isNotEmpty(targets)){
|
|
|
+ List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getIsRentOut() && x.getIsRentLimit()
|
|
|
+ && StrUtil.isNotBlank(x.getNotRentLimitReason()) && StrUtil.equals(x.getRentLimitReason(), "低于市场租金")).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
+ for (int i = 0; i < collect.size(); i++){
|
|
|
+ String tId = collect.get(i).getTId();
|
|
|
+ result.append(paragraph.replace("{tId}", tId));
|
|
|
+ if (i != collect.size()-1){
|
|
|
+ result.append("\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result.toString();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|