Forráskód Böngészése

不相一致假设、依据不足假设、限制条件、特殊处理事项生成逻辑 优化

wucl 8 hónapja
szülő
commit
c91e0d964d

+ 4 - 4
biz-base/src/test/java/com/dayou/ConditionDocumentTest.java

@@ -74,10 +74,10 @@ public class ConditionDocumentTest {
     public void testYBJS() {
         List<HouseGuarantyTarget> targets = houseGuarantyTargetService.list(new LambdaQueryWrapper<HouseGuarantyTarget>().eq(HouseGuarantyTarget::getDocId, 15));
         //String ybjsResult = tmplHouseParagraphService.findYBJSResult(targets, YES, YES);
-        String wdsxjsResult = tmplHouseParagraphService.findWDSXJSResult(targets, IMMOVABLE, "233");
-        //String bxyzjsResult = tmplHouseParagraphService.findBXYZJSResult(targets, IMMOVABLE, "2024年2月23日");
-
-        System.out.println(wdsxjsResult);
+        //String wdsxjsResult = tmplHouseParagraphService.findWDSXJSResult(targets, IMMOVABLE, "233");
+        String bxyzjsResult = tmplHouseParagraphService.findBXYZJSResult(targets, IMMOVABLE, "2024年2月23日");
+        String yjbujsResult = tmplHouseParagraphService.findYJBUJSResult(targets, IMMOVABLE, "收益法");
+        System.out.println(yjbujsResult);
 
     }
 }

+ 41 - 21
common/src/main/java/com/dayou/utils/HouseDocumentUtil.java

@@ -792,8 +792,8 @@ public class HouseDocumentUtil {
      */
     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());
+            List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getHasOriginCertificate()!=null && !x.getHasOriginCertificate()
+                    &&x.getIsPromise()!=null &&  x.getIsPromise() && x.getIsPromiseFile()!=null && !x.getIsPromiseFile()).collect(Collectors.toList());
             if (CollectionUtil.isNotEmpty(collect)){
                 List<String> tIds = collect.stream().map(HouseGuarantyTarget::getTId).collect(Collectors.toList());
                 String paragraph = tmplParagraph.getParagraph();
@@ -811,8 +811,11 @@ public class HouseDocumentUtil {
      */
     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());
+            List<HouseGuarantyTarget> collect = targets.stream().filter(x ->
+                    x.getHasOriginCertificate()!=null &&!x.getHasOriginCertificate()
+                    && x.getIsPromise()!=null && x.getIsPromise()
+                            && x.getIsPromiseFile()!=null && x.getIsPromiseFile()
+                            && x.getIsInChengDu()!=null && x.getIsInChengDu()).collect(Collectors.toList());
             if (CollectionUtil.isNotEmpty(collect)){
                 List<String> tIds = collect.stream().map(HouseGuarantyTarget::getTId).collect(Collectors.toList());
                 String paragraph = tmplParagraph.getParagraph();
@@ -830,8 +833,9 @@ public class HouseDocumentUtil {
      */
     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());
+            List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getHasOriginCertificate()!=null && !x.getHasOriginCertificate()
+                    && x.getIsPromise()!=null&& x.getIsPromise() && x.getIsPromiseFile() !=null && x.getIsPromiseFile()
+                    && x.getIsInChengDu()!=null && !x.getIsInChengDu()).collect(Collectors.toList());
             if (CollectionUtil.isNotEmpty(collect)){
                 List<String> tIds = collect.stream().map(HouseGuarantyTarget::getTId).collect(Collectors.toList());
                 String paragraph = tmplParagraph.getParagraph();
@@ -849,9 +853,11 @@ public class HouseDocumentUtil {
      */
     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)){
+            List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getIsRentOut()!=null &&x.getIsRentOut()
+                    && x.getHasRentOutContract() !=null && !x.getHasRentOutContract() && x.getIsRentLimit()!=null && !x.getIsRentLimit()).collect(Collectors.toList());
+            if (CollectionUtil.isNotEmpty(collect)){
                 String paragraph = tmplParagraph.getParagraph();
+                List<String> tIds = collect.stream().map(HouseGuarantyTarget::getTId).collect(Collectors.toList());
                 return paragraph.replace("{tIds}", CollectionUtil.formatDotAndRemoveMiddle(tIds));
             }
         }
@@ -867,7 +873,8 @@ public class HouseDocumentUtil {
     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());
+                List<HouseGuarantyTarget> collect = targets.stream().filter(x ->  x.getHasLandUseRightContract()!=null &&!x.getHasLandUseRightContract()
+                        && x.getLandYearLowerHouseYear()!=null && x.getLandYearLowerHouseYear()).collect(Collectors.toList());
                 if (CollectionUtil.isNotEmpty(collect)){
                     List<String> tIds = collect.stream().map(HouseGuarantyTarget::getTId).collect(Collectors.toList());
                     String paragraph = tmplParagraph.getParagraph();
@@ -887,7 +894,8 @@ public class HouseDocumentUtil {
     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());
+                List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getHasLandUseRightContract()!=null && !x.getHasLandUseRightContract()
+                        && x.getLandYearLowerHouseYear()!=null && x.getLandYearLowerHouseYear()).collect(Collectors.toList());
                 if (CollectionUtil.isNotEmpty(collect)){
                     List<String> tIds = collect.stream().map(HouseGuarantyTarget::getTId).collect(Collectors.toList());
                     String paragraph = tmplParagraph.getParagraph();
@@ -906,7 +914,7 @@ public class HouseDocumentUtil {
      */
     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());
+            List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getHasPledge()!=null && x.getHasPledge()).collect(Collectors.toList());
             if (!CollectionUtil.isNotEmpty(collect)){
                 return tmplParagraph.getParagraph();
             }
@@ -924,7 +932,9 @@ public class HouseDocumentUtil {
         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())
+            List<HouseGuarantyTarget> collect = targets.stream().filter(x -> (x.getHasPledge()!=null &&
+                    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++){
@@ -962,7 +972,9 @@ public class HouseDocumentUtil {
         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());
+            List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getHasPledge()!=null &&
+                    x.getHasPledge() && StrUtil.isNotBlank(x.getPledgeType())
+                    && x.getSamePledgeHigh()!=null &&x.getSamePledgeHigh()).collect(Collectors.toList());
             if (CollectionUtil.isNotEmpty(collect)){
                 for (int i = 0; i < collect.size(); i++){
                     String tId = collect.get(i).getTId();
@@ -1058,7 +1070,8 @@ public class HouseDocumentUtil {
      */
     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());
+            List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getSamePledgeContinue()!=null &&
+                    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());
@@ -1080,7 +1093,8 @@ public class HouseDocumentUtil {
         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());
+            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();
@@ -1108,7 +1122,9 @@ public class HouseDocumentUtil {
         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());
+            List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getHasPledge()!=null &&
+                    x.getHasPledge() && StrUtil.isNotBlank(x.getPledgeType()) && x.getSamePledgeHigh()!=null &&
+                    x.getSamePledgeHigh()).collect(Collectors.toList());
             if (CollectionUtil.isNotEmpty(collect)){
                 for (int i = 0; i < collect.size(); i++){
                     String tId = collect.get(i).getTId();
@@ -1134,7 +1150,8 @@ public class HouseDocumentUtil {
         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());
+            List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getHasPledge()!=null && x.getHasPledge()
+                    &&  x.getHighPledgeNotExpire()!=null && x.getHighPledgeNotExpire()).collect(Collectors.toList());
             if (CollectionUtil.isNotEmpty(collect)){
                 for (int i = 0; i < collect.size(); i++){
                     String tId = collect.get(i).getTId();
@@ -1158,7 +1175,7 @@ public class HouseDocumentUtil {
      */
     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());
+            List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getIsRentOut()!=null && !x.getIsRentOut()).collect(Collectors.toList());
             if (CollectionUtil.isNotEmpty(collect)){
                 List<String> tIds = collect.stream().map(HouseGuarantyTarget::getTId).collect(Collectors.toList());
                 String paragraph = tmplParagraph.getParagraph();
@@ -1178,7 +1195,8 @@ public class HouseDocumentUtil {
         StringBuilder result = new StringBuilder();
         String paragraph = tmplParagraph.getParagraph();
         if (CollectionUtil.isNotEmpty(targets)){
-            List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getIsRentOut() && !x.getIsRentLimit()
+            List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getIsRentOut()!=null &&
+                    x.getIsRentOut() && x.getIsRentLimit()!=null && !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++){
@@ -1204,7 +1222,8 @@ public class HouseDocumentUtil {
         StringBuilder result = new StringBuilder();
         String paragraph = tmplParagraph.getParagraph();
         if (CollectionUtil.isNotEmpty(targets)){
-            List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getIsRentOut() && !x.getIsRentLimit()
+            List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getIsRentOut()!=null && x.getIsRentOut()
+                    && x.getIsRentLimit()!=null && !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++){
@@ -1230,7 +1249,8 @@ public class HouseDocumentUtil {
         StringBuilder result = new StringBuilder();
         String paragraph = tmplParagraph.getParagraph();
         if (CollectionUtil.isNotEmpty(targets)){
-            List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getIsRentOut() && x.getIsRentLimit()
+            List<HouseGuarantyTarget> collect = targets.stream().filter(x -> x.getIsRentOut()!=null && x.getIsRentOut()
+                    && x.getIsRentLimit()!=null && 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++){

+ 27 - 0
domain/src/main/java/com/dayou/doc/house/ConditionDO.java

@@ -26,4 +26,31 @@ public class ConditionDO {
      * 未定事项假设
      */
     private String WDSXJS;
+
+    /**
+     * 不相一致假设
+     */
+    private String BXYZJS;
+
+    /**
+     * 依据不足假设
+     */
+    private String YJBZJS;
+
+    /**
+     * 限制条件
+     */
+    private String XZTJ;
+
+    /**
+     * 报告使用说明
+     */
+    private String SYBGSM;
+
+    /**
+     * 特殊事项处理
+     */
+    private String TSSXCL;
+
+
  }

+ 8 - 0
service/src/main/java/com/dayou/service/impl/HouseGuarantyServiceImpl.java

@@ -242,12 +242,15 @@ public class HouseGuarantyServiceImpl implements HouseGuarantyService {
 
             //组合未定事项假设内容
             String wdsxjsResult = tmplHouseParagraphService.findWDSXJSResult(targets, hasImmovableCertificate,valueMap.get("acreage"));
+            conditionDO.setWDSXJS(wdsxjsResult);
 
             //组合不相一致假设内容
             String bxyzjsResult = tmplHouseParagraphService.findBXYZJSResult(targets,hasImmovableCertificate,valueMap.get("docDate"));
+            conditionDO.setBXYZJS(bxyzjsResult);
 
             //组合依据不足假设内容
             String yjbujsResult = tmplHouseParagraphService.findYJBUJSResult(targets,hasImmovableCertificate,valueMap.get("methods"));
+            conditionDO.setYJBZJS(yjbujsResult);
 
             //组合限制条件内容
             String limitCondition = tmplHouseParagraphService.findLimitConditionResult(targets
@@ -255,11 +258,16 @@ public class HouseGuarantyServiceImpl implements HouseGuarantyService {
                     ,HouseDocumentUtil.checkBoolean(valueMap.get("hasTechReport"))
                     ,HouseDocumentUtil.checkBoolean(valueMap.get("isNsBank")));
 
+            conditionDO.setXZTJ(limitCondition);
+
             //组合使用报告说明内容
             String useReportExplain = tmplHouseParagraphService.findUseReportExplain(targets);
 
+            conditionDO.setSYBGSM(useReportExplain);
+
             //组合估价中的特殊处理事项内容
             String specialHandles = tmplHouseParagraphService.findSpecialHandle(targets);
+            conditionDO.setTSSXCL(specialHandles);
 
             byte[] tmplWordByte = Files.readAllBytes(Paths.get(baseDir
                     + fileNetConfig.getHouseGuarantyTemplatePath() + CONDITION_LETTER_TEMPLATE));

+ 5 - 5
service/src/main/java/com/dayou/service/impl/TmplHouseParagraphServiceImpl.java

@@ -179,7 +179,7 @@ public class TmplHouseParagraphServiceImpl extends ServiceImpl<TmplHouseParagrap
                 i++;
             }
         }
-        return "";
+        return result.toString();
     }
 
     @Override
@@ -247,7 +247,7 @@ public class TmplHouseParagraphServiceImpl extends ServiceImpl<TmplHouseParagrap
                 i++;
             }
         }
-        return "";
+        return result.toString();
     }
 
     @Override
@@ -321,7 +321,7 @@ public class TmplHouseParagraphServiceImpl extends ServiceImpl<TmplHouseParagrap
                 i++;
             }
         }
-        return "";
+        return result.toString();
     }
 
     @Override
@@ -340,7 +340,7 @@ public class TmplHouseParagraphServiceImpl extends ServiceImpl<TmplHouseParagrap
                 i++;
             }
         }
-        return "";
+        return result.toString();
     }
 
     @Override
@@ -421,7 +421,7 @@ public class TmplHouseParagraphServiceImpl extends ServiceImpl<TmplHouseParagrap
                 i++;
             }
         }
-        return "";
+        return result.toString();
     }
 }