Parcourir la source

报告签章合同金额条件修改

user5 il y a 3 ans
Parent
commit
b872a46a99

+ 45 - 12
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageElectronicSealService.java

@@ -65,6 +65,8 @@ import java.math.BigDecimal;
 import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author: 徐滕
@@ -1893,12 +1895,16 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
         }
         //合同总价
         if(null != projectReportSignatureInfo && StringUtils.isNotBlank(projectReportSignatureInfo.getTotalContractPrice())){
-            // 四舍五入
-            BigDecimal value = new BigDecimal(projectReportSignatureInfo.getTotalContractPrice()).setScale(2,BigDecimal.ROUND_HALF_UP);
-            // 不足两位小数补0
-            DecimalFormat decimalFormat = new DecimalFormat("0.00#");
-            String strVal = decimalFormat.format(value);
-            data.put("contractAllMoney",strVal);
+            if(isNumeric(projectReportSignatureInfo.getTotalContractPrice())){
+                // 四舍五入
+                BigDecimal value = new BigDecimal(projectReportSignatureInfo.getTotalContractPrice()).setScale(2,BigDecimal.ROUND_HALF_UP);
+                // 不足两位小数补0
+                DecimalFormat decimalFormat = new DecimalFormat("0.00#");
+                String strVal = decimalFormat.format(value);
+                data.put("contractAllMoney",strVal);
+            }else{
+                data.put("contractAllMoney",projectReportSignatureInfo.getTotalContractPrice());
+            }
         }else{
             data.put("contractAllMoney","");
         }
@@ -2042,12 +2048,16 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
         }
         //合同金额
         if(null != projectReportSignatureInfo && StringUtils.isNotBlank(projectReportSignatureInfo.getTotalContractPrice())){
-            // 四舍五入
-            BigDecimal value = new BigDecimal(projectReportSignatureInfo.getTotalContractPrice()).setScale(2,BigDecimal.ROUND_HALF_UP);
-            // 不足两位小数补0
-            DecimalFormat decimalFormat = new DecimalFormat("0.00#");
-            String strVal = decimalFormat.format(value);
-            data.put("contractMoney",strVal);
+            if(isNumeric(projectReportSignatureInfo.getTotalContractPrice())){
+                // 四舍五入
+                BigDecimal value = new BigDecimal(projectReportSignatureInfo.getTotalContractPrice()).setScale(2,BigDecimal.ROUND_HALF_UP);
+                // 不足两位小数补0
+                DecimalFormat decimalFormat = new DecimalFormat("0.00#");
+                String strVal = decimalFormat.format(value);
+                data.put("contractMoney",strVal);
+            }else{
+                data.put("contractMoney",projectReportSignatureInfo.getTotalContractPrice());
+            }
         }else{
             data.put("contractMoney","");
         }
@@ -2239,6 +2249,21 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
     }
 
     /**
+     * 判断字符串是不是double型
+     * @param str
+     * @return
+     */
+    public static boolean isNumeric(String str){
+        Pattern pattern = Pattern.compile("[0-9]+[.]{0,1}[0-9]*[dD]{0,1}");
+        Matcher isNum = pattern.matcher(str);
+        if( !isNum.matches() ){
+            return false;
+        }
+        return true;
+    }
+
+
+    /**
      * 将文件上传到阿里云中
      * @param projectReportData
      */
@@ -2482,6 +2507,14 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
     * */
     public void updateProjectReportSignatureInfo(ProjectReportSignatureInfo projectReportSignatureInfo){
         dao.updateProjectReportSignatureInfo(projectReportSignatureInfo);
+        //删除对应文件的附件信息
+        //根据报告号查询项目信息
+        ProjectReportData reportInfo = projectReportDataService.findByNum(projectReportSignatureInfo.getProjectReportId());
+        Workattachment workClientAttachment = new Workattachment();
+        workClientAttachment.setAttachmentFlag("145");
+        workClientAttachment.setAttachmentId(projectReportSignatureInfo.getId());
+        workClientAttachment.setProjectId(reportInfo.getProject().getId());
+        workattachmentService.deleteWorkattachment(workClientAttachment);
     }
 
     /*