Przeglądaj źródła

Merge branch 'master' of http://121.41.40.202:3000/zhuwei/bladex

huangtf 1 rok temu
rodzic
commit
71095c7cba
100 zmienionych plików z 2410 dodań i 111 usunięć
  1. 8 0
      blade-common/src/main/java/org/springblade/common/constant/ClientIdConstant.java
  2. 28 3
      blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java
  3. 3 3
      blade-common/src/main/java/org/springblade/common/utils/AsyncConfigurer.java
  4. 21 1
      blade-common/src/main/java/org/springblade/common/utils/BaseUtils.java
  5. 14 9
      blade-common/src/main/java/org/springblade/common/utils/CommonUtil.java
  6. 2 0
      blade-gateway/src/main/java/org/springblade/gateway/provider/AuthProvider.java
  7. 1 1
      blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/oss/AliOssBuilder.java
  8. 2 2
      blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/oss/OssBuilder.java
  9. 0 1
      blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/dto/SaveApplyDTO.java
  10. 3 0
      blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/vo/ArchiveTaskPageVO.java
  11. 13 2
      blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/vo/ArchivesAutoVO2.java
  12. 18 0
      blade-service-api/blade-archive-api/src/main/java/org/springblade/feign/ArchiveWebSocketClient.java
  13. 6 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/ArchiveTaskBatchRepealDTO.java
  14. 5 1
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/MileagexyDTO.java
  15. 6 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/TaskArchiveOuterLayerDTO.java
  16. 27 1
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/Task.java
  17. 6 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/TaskParallel.java
  18. 0 4
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/ArchiveFileClient.java
  19. 19 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/BusinessWebSocketClient.java
  20. 5 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/OpinionUserClient.java
  21. 4 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/TaskClient.java
  22. 6 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/BatchTaskVO.java
  23. 3 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/InformationQueryVO.java
  24. 6 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/TaskVO.java
  25. 36 30
      blade-service-api/blade-e-visa-api/src/main/java/org/springblade/evisa/feign/EVisaClientFallBack.java
  26. 51 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/enums/StorageTypeEnum.java
  27. 18 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/ManagerWebSocketClient.java
  28. 31 3
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/BaseInfo.java
  29. 68 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/Material.java
  30. 39 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/MeterPeriodInfo.java
  31. 23 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ReportResult.java
  32. 18 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/SelectorModel.java
  33. 2 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/WbsFormElementVO.java
  34. 1 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/WtcEva.java
  35. 3 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/ChangeTokenAddFormDTO.java
  36. 32 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/InventoryFormApplyTaskBatchDTO.java
  37. 14 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/InventoryFormApplyTaskDTO.java
  38. 41 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/MeterApprovalDTO.java
  39. 13 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/MeterMidPayItemContractDTO.java
  40. 13 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/MeterMidPayItemProjectDTO.java
  41. 20 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskApproveDTO.java
  42. 23 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskAuditDTO.java
  43. 34 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskChangeTokenInventoryBatchSaveDTO.java
  44. 30 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskChangeTokenInventoryUpdateDTO.java
  45. 20 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskChangeTokenMeterUpdateDTO.java
  46. 35 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskDataRemoveDTO.java
  47. 28 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskDataUploadFileDTO.java
  48. 44 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskPageDTO.java
  49. 23 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskRepealDTO.java
  50. 7 2
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/AttachmentForm.java
  51. 58 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/AttachmentFormTask.java
  52. 2 1
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ChangeTokenForm.java
  53. 121 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ChangeTokenFormTask.java
  54. 12 3
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ChangeTokenInventory.java
  55. 105 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ChangeTokenInventoryTask.java
  56. 8 4
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ChangeTokenMeter.java
  57. 67 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ChangeTokenMeterTask.java
  58. 0 2
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ContractInventoryForm.java
  59. 3 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ContractMeterPeriod.java
  60. 3 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/InterimPayCertificate.java
  61. 6 4
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/InventoryFormApply.java
  62. 94 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/InventoryFormApplyTask.java
  63. 14 2
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/InventoryFormMeter.java
  64. 131 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MaterialMeterFormTask.java
  65. 3 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MaterialStartStatement.java
  66. 1 1
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MeterMidPayItemContract.java
  67. 1 4
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MeterMidPayItemProject.java
  68. 1 4
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MeterMidPayItemSystem.java
  69. 3 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MeterPeriod.java
  70. 2 2
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MeterTreeContract.java
  71. 1 1
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MeterTreeProject.java
  72. 1 1
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MeterTreeSystem.java
  73. 14 3
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MiddleMeterApply.java
  74. 116 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MiddleMeterApplyTask.java
  75. 1 1
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/StartPayMeterForm.java
  76. 85 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/StartPayMeterFormTask.java
  77. 37 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/TaskComment.java
  78. 18 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/feign/MeterWebSocketClient.java
  79. 27 3
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/ChangeFormVO2.java
  80. 14 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/ChangeNodeVO.java
  81. 13 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/ChangeTokenFormTaskVO.java
  82. 47 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/ChangeTokenFormVO2.java
  83. 38 12
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/ContractFromVO.java
  84. 6 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/InventoryFormMeterVO.java
  85. 19 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MaterialMeterFormTaskVO.java
  86. 7 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MeterInventoryVO.java
  87. 16 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MiddleMeterApplyTaskVO.java
  88. 38 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MiddleMeterApplyVO2.java
  89. 24 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MiddleMeterTokenVO.java
  90. 50 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/NodeSortVO.java
  91. 13 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/StartPayMeterFormTaskVO.java
  92. 25 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/TaskDataDetailVO.java
  93. 21 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/TaskDetailVO.java
  94. 51 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/TaskPageVO.java
  95. 47 0
      blade-service-api/blade-rabbitmq-producer-api/pom.xml
  96. 12 0
      blade-service-api/blade-rabbitmq-producer-api/src/main/java/org/springblade/producer/bean/PushMessage.java
  97. 128 0
      blade-service-api/blade-rabbitmq-producer-api/src/main/java/org/springblade/producer/bean/PushMessageAspect.java
  98. 25 0
      blade-service-api/blade-rabbitmq-producer-api/src/main/java/org/springblade/producer/feign/RabbitMqProducerServiceClient.java
  99. 7 0
      blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/AuthClient.java
  100. 1 0
      blade-service-api/pom.xml

+ 8 - 0
blade-common/src/main/java/org/springblade/common/constant/ClientIdConstant.java

@@ -0,0 +1,8 @@
+package org.springblade.common.constant;
+
+public interface ClientIdConstant {
+    String ARCHIVE_CLIENT_ID = "archive";
+    String MANAGER_CLIENT_ID = "manager";
+    String BUSINESS_CLIENT_ID = "business";
+    String METER_CLIENT_ID = "meter";
+}

+ 28 - 3
blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java

@@ -27,16 +27,41 @@ import static org.springblade.core.launch.constant.AppConstant.APPLICATION_NAME_
  */
  */
 public interface LauncherConstant {
 public interface LauncherConstant {
 
 
-    String APPLICATION_MANAGER_NAME = APPLICATION_NAME_PREFIX + "manager"; /*后管*/
+    /**
+     * 后管
+     */
+    String APPLICATION_MANAGER_NAME = APPLICATION_NAME_PREFIX + "manager";
 
 
-    String APPLICATION_METER_NAME = APPLICATION_NAME_PREFIX + "meter"; /*计量*/
+    /**
+     * 计量
+     */
+    String APPLICATION_METER_NAME = APPLICATION_NAME_PREFIX + "meter";
 
 
-    String APPLICATION_ARCHIVE_NAME = APPLICATION_NAME_PREFIX + "archive"; /*档案*/
+    /**
+     * 档案
+     */
+    String APPLICATION_ARCHIVE_NAME = APPLICATION_NAME_PREFIX + "archive";
 
 
+    /**
+     * 大屏
+     */
     String APPLICATION_VISUAL_NAME = APPLICATION_NAME_PREFIX + "visual";
     String APPLICATION_VISUAL_NAME = APPLICATION_NAME_PREFIX + "visual";
 
 
+    /**
+     * 征拆
+     */
     String APPLICATION_LAND_NAME = APPLICATION_NAME_PREFIX + "land";
     String APPLICATION_LAND_NAME = APPLICATION_NAME_PREFIX + "land";
 
 
+    /**
+     * MQ生产者
+     */
+    String APPLICATION_MQ_PRODUCER = APPLICATION_NAME_PREFIX + "rabbitmq-producer";
+
+    /**
+     * MQ消费者
+     */
+    String APPLICATION_MQ_CONSUMER = APPLICATION_NAME_PREFIX + "rabbitmq-consumer";
+
     /**
     /**
      * xxljob
      * xxljob
      */
      */

+ 3 - 3
blade-common/src/main/java/org/springblade/common/utils/AsyncConfigurer.java

@@ -15,7 +15,7 @@ public class AsyncConfigurer {
     /**
     /**
      * cpu 核心数量
      * cpu 核心数量
      */
      */
-    public static final int cpuNum = 8;//Runtime.getRuntime().availableProcessors();
+    public static final int cpuNum =6 ;//Runtime.getRuntime().availableProcessors();
 
 
     /**
     /**
      * 线程池配置
      * 线程池配置
@@ -25,8 +25,8 @@ public class AsyncConfigurer {
     @Bean("taskExecutor1")
     @Bean("taskExecutor1")
     public ThreadPoolExecutor getAsyncExecutor() {
     public ThreadPoolExecutor getAsyncExecutor() {
         return new ThreadPoolMonitor(cpuNum
         return new ThreadPoolMonitor(cpuNum
-                , 20
-                , 60
+                , 12
+                , 30
                 , TimeUnit.SECONDS
                 , TimeUnit.SECONDS
                 , new LinkedBlockingQueue<>(2000)
                 , new LinkedBlockingQueue<>(2000)
                 , new ThreadPoolExecutor.DiscardOldestPolicy(), "manager-thread-pool");
                 , new ThreadPoolExecutor.DiscardOldestPolicy(), "manager-thread-pool");

+ 21 - 1
blade-common/src/main/java/org/springblade/common/utils/BaseUtils.java

@@ -7,8 +7,10 @@ import org.springblade.common.constant.RegexConstant;
 import java.io.*;
 import java.io.*;
 import java.lang.annotation.Annotation;
 import java.lang.annotation.Annotation;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.math.BigInteger;
 import java.net.JarURLConnection;
 import java.net.JarURLConnection;
 import java.net.URL;
 import java.net.URL;
+import java.security.MessageDigest;
 import java.util.*;
 import java.util.*;
 import java.util.jar.JarEntry;
 import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
 import java.util.jar.JarFile;
@@ -86,6 +88,19 @@ public class BaseUtils {
         }
         }
         return false;
         return false;
     }
     }
+/*将不同长度的字符串转换为固定长度的Long*/
+    public static long str2Long(String input) {
+        try {
+            MessageDigest md = MessageDigest.getInstance("SHA-256");
+            byte[] hash = md.digest(input.getBytes());
+            BigInteger bigInt = new BigInteger(1, hash);
+
+            // 取正整数
+            return bigInt.longValue() & Long.MAX_VALUE;
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
 
 
 
 
     /**
     /**
@@ -327,7 +342,12 @@ public class BaseUtils {
         }
         }
         return false;
         return false;
     }
     }
-
+    public static boolean inChain(String[] cp,String s){
+        if(cp!=null&&cp.length>0&& s!=null&&s.length()>0){
+            return inChain(Arrays.asList(cp), s);
+        }
+        return false;
+    }
 
 
 
 
 }
 }

+ 14 - 9
blade-common/src/main/java/org/springblade/common/utils/CommonUtil.java

@@ -4,6 +4,7 @@ import cn.hutool.core.io.FileUtil;
 import cn.hutool.http.HttpUtil;
 import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
+import com.aliyun.oss.common.utils.IOUtils;
 import com.drew.imaging.ImageMetadataReader;
 import com.drew.imaging.ImageMetadataReader;
 import com.drew.imaging.ImageProcessingException;
 import com.drew.imaging.ImageProcessingException;
 import com.drew.metadata.Metadata;
 import com.drew.metadata.Metadata;
@@ -110,15 +111,14 @@ public class CommonUtil {
     /**
     /**
      * 根据OSS文件路径获取文件输入流
      * 根据OSS文件路径获取文件输入流
      */
      */
-    public static InputStream getOSSInputStream(String urlStr) throws Exception {
+    public static synchronized InputStream getOSSInputStream(String urlStr) throws Exception {
         //获取OSS文件流
         //获取OSS文件流
-//        urlStr = replaceOssUrl(urlStr);
-        URL imageUrl = new URL(urlStr);
+        URL url =new URL(urlStr);
+        final URLConnection conn = url.openConnection();
+        conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
         try {
         try {
-            HttpURLConnection conn = (HttpURLConnection) imageUrl.openConnection();
-            conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
             return conn.getInputStream();
             return conn.getInputStream();
-        } catch (Exception e) {
+        } catch (Exception e){
             return null;
             return null;
         }
         }
     }
     }
@@ -147,12 +147,17 @@ public class CommonUtil {
     /**
     /**
      * 获取字节数组
      * 获取字节数组
      */
      */
-    public static byte[] InputStreamToBytes(InputStream is) throws IOException {
+    public static synchronized byte[] InputStreamToBytes(InputStream is){
         BufferedInputStream bis = new BufferedInputStream(is);
         BufferedInputStream bis = new BufferedInputStream(is);
         ByteArrayOutputStream os = new ByteArrayOutputStream();
         ByteArrayOutputStream os = new ByteArrayOutputStream();
         int date = -1;
         int date = -1;
-        while ((date = bis.read()) != -1) {
-            os.write(date);
+        while (true) {
+            try {
+                if (!((date = bis.read()) != -1)) break;
+                os.write(date);
+            } catch (IOException e) {
+                throw new RuntimeException(e);
+            }
         }
         }
         return os.toByteArray();
         return os.toByteArray();
     }
     }

+ 2 - 0
blade-gateway/src/main/java/org/springblade/gateway/provider/AuthProvider.java

@@ -36,6 +36,8 @@ public class AuthProvider {
         DEFAULT_SKIP_URL.add("/example");
         DEFAULT_SKIP_URL.add("/example");
         DEFAULT_SKIP_URL.add("/oauth/token/**");
         DEFAULT_SKIP_URL.add("/oauth/token/**");
         DEFAULT_SKIP_URL.add("/loginByToken");
         DEFAULT_SKIP_URL.add("/loginByToken");
+        DEFAULT_SKIP_URL.add("/loginByToken2");
+        DEFAULT_SKIP_URL.add("/submit2");
         DEFAULT_SKIP_URL.add("/exceltab/callbackSave");
         DEFAULT_SKIP_URL.add("/exceltab/callbackSave");
         DEFAULT_SKIP_URL.add("/oauth/captcha/**");
         DEFAULT_SKIP_URL.add("/oauth/captcha/**");
         DEFAULT_SKIP_URL.add("/oauth/clear-cache/**");
         DEFAULT_SKIP_URL.add("/oauth/clear-cache/**");

+ 1 - 1
blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/oss/AliOssBuilder.java

@@ -55,7 +55,7 @@ public class AliOssBuilder {
         ossProperties.setEndpoint(oss.getEndpoint());
         ossProperties.setEndpoint(oss.getEndpoint());
 
 
         //本地测试1
         //本地测试1
-        //ossProperties.setEndpoint("https://oss-cn-hangzhou.aliyuncs.com/");
+      //  ossProperties.setEndpoint("https://oss-cn-hangzhou.aliyuncs.com/");
 
 
         ossProperties.setAccessKey(oss.getAccessKey());
         ossProperties.setAccessKey(oss.getAccessKey());
         ossProperties.setSecretKey(oss.getSecretKey());
         ossProperties.setSecretKey(oss.getSecretKey());

+ 2 - 2
blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/oss/OssBuilder.java

@@ -145,8 +145,8 @@ public class OssBuilder {
                 Oss defaultOss = new Oss();
                 Oss defaultOss = new Oss();
                 defaultOss.setId(0L);
                 defaultOss.setId(0L);
                 defaultOss.setCategory(OssEnum.of(ossProperties.getName()).getCategory());
                 defaultOss.setCategory(OssEnum.of(ossProperties.getName()).getCategory());
-              //  defaultOss.setEndpoint(ossProperties.getEndpoint());
-                defaultOss.setEndpoint("https://oss-cn-hangzhou.aliyuncs.com");
+                defaultOss.setEndpoint(ossProperties.getEndpoint());
+               // defaultOss.setEndpoint("https://oss-cn-hangzhou.aliyuncs.com");
                 defaultOss.setBucketName(ossProperties.getBucketName());
                 defaultOss.setBucketName(ossProperties.getBucketName());
                 defaultOss.setAccessKey(ossProperties.getAccessKey());
                 defaultOss.setAccessKey(ossProperties.getAccessKey());
                 defaultOss.setSecretKey(ossProperties.getSecretKey());
                 defaultOss.setSecretKey(ossProperties.getSecretKey());

+ 0 - 1
blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/dto/SaveApplyDTO.java

@@ -3,7 +3,6 @@ package org.springblade.archive.dto;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
-import org.springblade.archive.vo.ArchivesAutoVO2;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
 import java.time.LocalDate;
 import java.time.LocalDate;

+ 3 - 0
blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/vo/ArchiveTaskPageVO.java

@@ -45,4 +45,7 @@ public class ArchiveTaskPageVO implements Serializable {
     @ApiModelProperty(value = "任务类型")
     @ApiModelProperty(value = "任务类型")
     private Integer type;
     private Integer type;
 
 
+    @ApiModelProperty(value = "档案附件url")
+    private String archiveAppUrl;
+
 }
 }

+ 13 - 2
blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/vo/ArchivesAutoVO2.java

@@ -11,12 +11,23 @@ import org.springblade.archive.entity.ArchivesAuto;
  * @description TODO
  * @description TODO
  */
  */
 @Data
 @Data
-@EqualsAndHashCode(callSuper = true)
-public class ArchivesAutoVO2 extends ArchivesAuto {
+public class ArchivesAutoVO2  {
 
 
     @ApiModelProperty("主节点")
     @ApiModelProperty("主节点")
     private Long masterNode;
     private Long masterNode;
 
 
     @ApiModelProperty("保管期限名称")
     @ApiModelProperty("保管期限名称")
     private String storageTimeValue;
     private String storageTimeValue;
+
+    @ApiModelProperty("档案id")
+    private Long id;
+
+    private String name;
+
+    private String fileNumber;
+
+    private String remark;
+
+    private Integer pageN;
+
 }
 }

+ 18 - 0
blade-service-api/blade-archive-api/src/main/java/org/springblade/feign/ArchiveWebSocketClient.java

@@ -0,0 +1,18 @@
+package org.springblade.feign;
+
+import org.springblade.common.constant.LauncherConstant;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.Map;
+
+@FeignClient(value = LauncherConstant.APPLICATION_ARCHIVE_NAME)
+@Component
+public interface ArchiveWebSocketClient {
+
+    @GetMapping(value = "/archive/getWebsocketMsg")
+    Map<String, String> getWebsocketMsg(@RequestParam String projectId, @RequestParam String contractId, @RequestParam String userIdResult);
+
+}

+ 6 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/ArchiveTaskBatchRepealDTO.java

@@ -14,4 +14,10 @@ public class ArchiveTaskBatchRepealDTO implements Serializable {
     @ApiModelProperty(value = "数据ids,type=1时表示档案收集数据的ids;type=2时表示审批任务的ids;字符串逗号分割拼接")
     @ApiModelProperty(value = "数据ids,type=1时表示档案收集数据的ids;type=2时表示审批任务的ids;字符串逗号分割拼接")
     private String ids;
     private String ids;
 
 
+    @ApiModelProperty(value = "项目id")
+    private String projectId;
+
+    @ApiModelProperty(value = "合同id")
+    private String contractId;
+
 }
 }

+ 5 - 1
blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/MileagexyDTO.java

@@ -13,10 +13,14 @@ public class MileagexyDTO {
     private Double value = 0.0;        // 里程
     private Double value = 0.0;        // 里程
     private Double x = 0.0;        // x
     private Double x = 0.0;        // x
     private Double y = 0.0;
     private Double y = 0.0;
-    private Double r = 0.0;         //半径
+    private Double r = 0.0;
+    private Double r2 = 0.0;    //半径
     private Integer orderNum = 0;     //顺序
     private Integer orderNum = 0;     //顺序
     private Integer type = 0;     //类型 0 起点  1交点  2终点
     private Integer type = 0;     //类型 0 起点  1交点  2终点
     private Double angle = 0.0;     //方位角
     private Double angle = 0.0;     //方位角
+    private Integer du = 0;        // 度
+    private Integer fen = 0;        // 分
+    private Double miao = 0.0;
     private Double corner = 0.0;     //转角
     private Double corner = 0.0;     //转角
     private String swing = "右转";     //转向
     private String swing = "右转";     //转向
     private Double ls1 = 0.0;         //第一缓和线
     private Double ls1 = 0.0;         //第一缓和线

+ 6 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/TaskArchiveOuterLayerDTO.java

@@ -12,4 +12,10 @@ public class TaskArchiveOuterLayerDTO implements Serializable {
     @ApiModelProperty("档案批量审批入参集合")
     @ApiModelProperty("档案批量审批入参集合")
     private List<TaskArchiveDTO> taskArchiveDtoList;
     private List<TaskArchiveDTO> taskArchiveDtoList;
 
 
+    @ApiModelProperty(value = "项目id")
+    private String projectId;
+
+    @ApiModelProperty(value = "合同段id")
+    private String contractId;
+
 }
 }

+ 27 - 1
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/Task.java

@@ -120,18 +120,30 @@ public class Task extends BaseEntity {
     /**
     /**
      * 上报类型,1填报资料,2工程文件
      * 上报类型,1填报资料,2工程文件
      */
      */
-    @ApiModelProperty("上报类型,1填报资料,2工程文件,3日志资料,4档案")
+    @ApiModelProperty("上报类型,1填报资料,2工程文件,3日志资料,4档案,5计量")
     private Integer approvalType;
     private Integer approvalType;
 
 
+    /**
+     * 项目ID
+     */
     @ApiModelProperty("项目ID")
     @ApiModelProperty("项目ID")
     private String projectId;
     private String projectId;
 
 
+    /**
+     * 合同段ID
+     */
     @ApiModelProperty("合同段ID")
     @ApiModelProperty("合同段ID")
     private String contractId;
     private String contractId;
 
 
+    /**
+     * 申请验收的档案id
+     */
     @ApiModelProperty("申请验收的档案id")
     @ApiModelProperty("申请验收的档案id")
     private String archiveIds;
     private String archiveIds;
 
 
+    /**
+     * 附件PDF地址
+     */
     @ApiModelProperty("附件PDF地址")
     @ApiModelProperty("附件PDF地址")
     private String attachmentPdfUrl;
     private String attachmentPdfUrl;
 
 
@@ -141,8 +153,22 @@ public class Task extends BaseEntity {
     @ApiModelProperty("试验自检记录id")
     @ApiModelProperty("试验自检记录id")
     private Long trialSelfInspectionRecordId;
     private Long trialSelfInspectionRecordId;
 
 
+    /**
+     * 档案任务创建时间戳(解决顺序问题)
+     */
     @ApiModelProperty("档案任务创建时间戳(解决顺序问题)")
     @ApiModelProperty("档案任务创建时间戳(解决顺序问题)")
     private Long taskCreateTimestamp;
     private Long taskCreateTimestamp;
 
 
+    /**
+     * 计量任务类型 1=中间计量申请,2=材料计量单,3=开工预付款计量单(用于任务详情返回VO区分)
+     */
+    @ApiModelProperty("计量任务类型 1=中间计量申请,2=材料计量单,3=开工预付款计量单")
+    private Integer meterTaskType;
+
+    /**
+     * 计量任务废除原因信息
+     */
+    @ApiModelProperty("计量任务废除原因信息")
+    private String meterTaskRepealDesc;
 
 
 }
 }

+ 6 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/TaskParallel.java

@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.Date;
 
 
+import io.swagger.annotations.ApiModelProperty;
 import org.springblade.core.mp.base.BaseEntity;
 import org.springblade.core.mp.base.BaseEntity;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
@@ -71,6 +72,11 @@ public class TaskParallel extends BaseEntity {
      */
      */
     private Integer initiative;
     private Integer initiative;
 
 
+    /**
+     * 排序
+     */
+    private Integer sort;
+
     public TaskParallel(String processInstanceId, String parallelProcessInstanceId, String taskUser, String taskUserName) {
     public TaskParallel(String processInstanceId, String parallelProcessInstanceId, String taskUser, String taskUserName) {
         this.processInstanceId = processInstanceId;
         this.processInstanceId = processInstanceId;
         this.parallelProcessInstanceId = parallelProcessInstanceId;
         this.parallelProcessInstanceId = parallelProcessInstanceId;

+ 0 - 4
blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/ArchiveFileClient.java

@@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.archive.dto.SendsWebSocketArchiveDTO;
 import org.springblade.archive.dto.SendsWebSocketArchiveDTO;
 import org.springblade.business.entity.ArchiveFile;
 import org.springblade.business.entity.ArchiveFile;
 import org.springblade.business.vo.ArchiveFileVO;
 import org.springblade.business.vo.ArchiveFileVO;
@@ -151,7 +150,4 @@ public interface ArchiveFileClient {
     @PostMapping(API_PREFIX + "/updateById2")
     @PostMapping(API_PREFIX + "/updateById2")
     void updateById2(@RequestBody ArchiveFile archiveFile);
     void updateById2(@RequestBody ArchiveFile archiveFile);
 
 
-    @PostMapping(API_PREFIX + "/sendWebSocketArchiveMsg")
-    void sendWebSocketArchiveMsg(@RequestBody SendsWebSocketArchiveDTO webSocketArchiveDTO) throws IOException;
-
 }
 }

+ 19 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/BusinessWebSocketClient.java

@@ -0,0 +1,19 @@
+package org.springblade.business.feign;
+
+
+import org.springblade.common.constant.BusinessConstant;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.Map;
+
+@FeignClient(value = BusinessConstant.APPLICATION_WEATHER_NAME)
+@Component
+public interface BusinessWebSocketClient {
+
+    @GetMapping(value = "/business/getWebsocketMsg")
+    Map<String, String> getWebsocketMsg(@RequestParam String projectId, @RequestParam String contractId, @RequestParam String userIdResult);
+
+}

+ 5 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/OpinionUserClient.java

@@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RequestParam;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 @FeignClient(value = BusinessConstant.APPLICATION_WEATHER_NAME)
 @FeignClient(value = BusinessConstant.APPLICATION_WEATHER_NAME)
 public interface OpinionUserClient {
 public interface OpinionUserClient {
@@ -88,4 +89,8 @@ public interface OpinionUserClient {
     @GetMapping(API_PREFIX + "/countUserAssessmentPageList")
     @GetMapping(API_PREFIX + "/countUserAssessmentPageList")
     Integer countUserAssessmentPageList(@RequestBody AssessmentUserVOS vo);
     Integer countUserAssessmentPageList(@RequestBody AssessmentUserVOS vo);
 
 
+    /*获取后管任务信息*/
+    @GetMapping(API_PREFIX + "/getWebsocketMsg")
+    Map<String, String> getWebsocketMsg(@RequestParam String projectId, @RequestParam String contractId, @RequestParam String userIdResult);
+
 }
 }

+ 4 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/TaskClient.java

@@ -120,4 +120,8 @@ public interface TaskClient {
     @PostMapping(BATCH_RE_SIGN)
     @PostMapping(BATCH_RE_SIGN)
     R<Boolean> reSigningEVisa(@RequestParam String taskIds, @RequestParam String contractId,@RequestParam String projectId,@RequestParam String header);
     R<Boolean> reSigningEVisa(@RequestParam String taskIds, @RequestParam String contractId,@RequestParam String projectId,@RequestParam String header);
 
 
+    /*获取档案任务*/
+    @GetMapping(value = "/getWebsocketMsgArchive")
+    Map<String, String> getWebsocketMsgArchive(@RequestParam String projectId,@RequestParam  String contractId,@RequestParam  String userIdResult);
+
 }
 }

+ 6 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/BatchTaskVO.java

@@ -24,4 +24,10 @@ public class BatchTaskVO {
     @ApiModelProperty("业务数据")
     @ApiModelProperty("业务数据")
     private String formDataId;
     private String formDataId;
 
 
+    @ApiModelProperty("项目id")
+    private String projectId;
+
+    @ApiModelProperty("合同段id")
+    private String contractId;
+
 }
 }

+ 3 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/InformationQueryVO.java

@@ -76,6 +76,9 @@ public class InformationQueryVO extends InformationQuery {
     @ApiModelProperty("任务人")
     @ApiModelProperty("任务人")
     private List<WaitingUser> waitingUserList;
     private List<WaitingUser> waitingUserList;
 
 
+    @ApiModelProperty(value = "电签失败原因")
+    private String eVisaFailedInfo;
+
     public void setWaitingUserList(String waitingUserName, Integer status) {
     public void setWaitingUserList(String waitingUserName, Integer status) {
         if (this.waitingUserList == null) {
         if (this.waitingUserList == null) {
             this.waitingUserList = new ArrayList<>();
             this.waitingUserList = new ArrayList<>();

+ 6 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/TaskVO.java

@@ -56,6 +56,12 @@ public class TaskVO extends Task {
     @ApiModelProperty("电签状态")
     @ApiModelProperty("电签状态")
     private String eVisaContent;
     private String eVisaContent;
 
 
+    @ApiModelProperty("上报人id")
+    private String reportUserId;
+
+    @ApiModelProperty("上报人名称")
+    private String reportUserName;
+
     /**
     /**
      * 试验自检记录id
      * 试验自检记录id
      */
      */

+ 36 - 30
blade-service-api/blade-e-visa-api/src/main/java/org/springblade/evisa/feign/EVisaClientFallBack.java

@@ -1,5 +1,6 @@
 package org.springblade.evisa.feign;
 package org.springblade.evisa.feign;
 
 
+import feign.hystrix.FallbackFactory;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springblade.evisa.vo.CertBeanVO;
 import org.springblade.evisa.vo.CertBeanVO;
@@ -9,38 +10,43 @@ import org.springblade.evisa.vo.TaskArchiveDTO;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 @Component
 @Component
-public class EVisaClientFallBack implements EVisaClient {
-
+public class EVisaClientFallBack implements FallbackFactory<EVisaClient> {
     private static final Logger logger = LoggerFactory.getLogger(EVisaClientFallBack.class);
     private static final Logger logger = LoggerFactory.getLogger(EVisaClientFallBack.class);
 
 
     @Override
     @Override
-    public String eVisaContractSeal(EVisaTaskApprovalVO task, String finalPdfUrl) {
-        return null;
-    }
-
-    @Override
-    public String eVisa(EVisaTaskApprovalVO task) {
-        return null;
-    }
-
-    @Override
-    public String eVisaCustom(TaskArchiveDTO eVisaObj) {
-        logger.info("-----------------远程feign调用电签自定义签章服务EVisaCustom方法失败-----------------");
-        return "500";
-    }
-
-    @Override
-    public String createSeal(EVisaMakeSealVO vo) {
-        return null;
-    }
-
-    @Override
-    public String certification(String pdfUrl, String fileName, String contractId) {
-        return null;
-    }
-
-    @Override
-    public CertBeanVO onlineCheckSeal(String pdfUrl) {
-        return null;
+    public EVisaClient create(Throwable throwable) {
+        return new EVisaClient() {
+            @Override
+            public String eVisaContractSeal(EVisaTaskApprovalVO task, String finalPdfUrl) {
+                return null;
+            }
+
+            @Override
+            public String eVisa(EVisaTaskApprovalVO task) {
+                System.out.println("throwable.getMessage() = " + throwable.getMessage());
+                logger.info("throwable.getMessage() = " +throwable.getMessage());
+                return null;
+            }
+
+            @Override
+            public String eVisaCustom(TaskArchiveDTO eVisaObj) {
+                return null;
+            }
+
+            @Override
+            public String createSeal(EVisaMakeSealVO vo) {
+                return null;
+            }
+
+            @Override
+            public String certification(String pdfUrl, String fileName, String contractId) {
+                return null;
+            }
+
+            @Override
+            public CertBeanVO onlineCheckSeal(String pdfUrl) {
+                return null;
+            }
+        };
     }
     }
 }
 }

+ 51 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/enums/StorageTypeEnum.java

@@ -0,0 +1,51 @@
+package org.springblade.manager.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import org.springblade.core.tool.utils.ObjectUtil;
+
+/**
+ * 储存类型枚举
+ * @author xingqianji
+ */
+@Getter
+@AllArgsConstructor
+public enum StorageTypeEnum {
+
+    UNKNOWN(-1, ""),
+    ORDINARY(1, "普通"),
+    AS_BUILT_DRAWINGS(2, "竣工图"),
+    METERING(3, "计量"),
+    QUALITY_INSPECTION(4, "质检"),
+    SOUND_IMAGE(5, "声像"),
+    TRIAL(6, "试验"),
+    HIDE(7, "隐蔽"),
+    MANAGE_FILES(8, "管理文件"),
+    CHANGE_ORDER(9, "变更令");
+
+    /**
+     * 编码
+     */
+    private Integer code;
+
+    /**
+     * 描述
+     */
+    private String desc;
+
+    /**
+     * 根据编码获取枚举描述
+     */
+    public static String getByCode(int code) {
+        // 判断code
+        if(ObjectUtil.isNotEmpty(code)){
+            for (StorageTypeEnum storageTypeEnum : StorageTypeEnum.values()) {
+                if (storageTypeEnum.getCode() == code) {
+                    return storageTypeEnum.getDesc();
+                }
+            }
+        }
+        return StorageTypeEnum.UNKNOWN.getDesc();
+    }
+
+}

+ 18 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/ManagerWebSocketClient.java

@@ -0,0 +1,18 @@
+package org.springblade.manager.feign;
+
+import org.springblade.common.constant.LauncherConstant;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.Map;
+
+@FeignClient(value = LauncherConstant.APPLICATION_MANAGER_NAME)
+@Component
+public interface ManagerWebSocketClient {
+
+    @GetMapping(value = "/manager/getWebsocketMsg")
+    Map<String, String> getWebsocketMsg(@RequestParam String projectId, @RequestParam String contractId, @RequestParam String userIdResult);
+
+}

+ 31 - 3
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/BaseInfo.java

@@ -1,8 +1,8 @@
 package org.springblade.manager.vo;
 package org.springblade.manager.vo;
 
 
-import io.swagger.annotations.ApiModelProperty;
+import com.alibaba.fastjson.annotation.JSONField;
 import lombok.Data;
 import lombok.Data;
-import org.springblade.manager.entity.ContractInfo;
+import lombok.EqualsAndHashCode;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 
 
@@ -12,29 +12,57 @@ import java.math.BigDecimal;
  * @description 基础信息
  * @description 基础信息
  */
  */
 @Data
 @Data
-public class BaseInfo {
+public class BaseInfo  {
+    public static final String ID="20100000000";
+    public static final String TBN="BSI";
+    public static final String TBN_CH="合同信息";
     /**项目名称*/
     /**项目名称*/
+    @JSONField(name = "key_1",label="项目名称",ordinal = 1)
     private String projectName;
     private String projectName;
     /**合同段名称*/
     /**合同段名称*/
+    @JSONField(name = "key_2",label="合同段名称",ordinal = 2)
     private String contractName;
     private String contractName;
     /**
     /**
      * 合同段编号
      * 合同段编号
      */
      */
+    @JSONField(name = "key_3",label="合同段编号",ordinal = 3)
     private String contractNumber;
     private String contractNumber;
     /**
     /**
      * 业主单位名称
      * 业主单位名称
      */
      */
+    @JSONField(name = "key_4",label="业主单位名称",ordinal = 4)
     private String contractorUnitName;
     private String contractorUnitName;
     /**
     /**
      * 施工单位名称
      * 施工单位名称
      */
      */
+    @JSONField(name = "key_5",label="施工单位名称",ordinal = 5)
     private String constructionUnitName;
     private String constructionUnitName;
     /**
     /**
      * 监理单位名称
      * 监理单位名称
      */
      */
+    @JSONField(name = "key_6",label="监理单位名称",ordinal = 6)
     private String supervisionUnitName;
     private String supervisionUnitName;
     /**合同段金额*/
     /**合同段金额*/
+    @JSONField(name = "key_7",label="合同段金额",ordinal = 7)
     private BigDecimal contractAmount;
     private BigDecimal contractAmount;
+    /**
+     * 开户银行
+     * */
+    @JSONField(name = "key_8",label="开户银行",ordinal = 8)
+    private String  bankName  ="未设置";
+    /**对公账户*/
+    @JSONField(name = "key_9",label="对公账户",ordinal = 9)
+    private String  bankAccount ="未设置";
+    /**银行账户名称*/
+    @JSONField(name = "key_10",label="银行账户名称",ordinal = 10)
+    private String  bankAccountName = "未设置";
+    /**合同总金额*/
+    @JSONField(name = "key_11",label="合同总金额",ordinal = 11)
+    private String  TotalAmount;
+    /**预付款比例*/
+    @JSONField(name = "key_12",label="预付款比例",ordinal = 12)
+    private Double  deductRatio=0.7;
+
 
 
 
 
 }
 }

+ 68 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/Material.java

@@ -0,0 +1,68 @@
+package org.springblade.manager.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author yangyj
+ * @Date 2023/12/18 10:41
+ * @description 材料计量
+ */
+@Data
+public class Material {
+    public static final String TBN="MATERIAL";
+    public static final String TBN_CH="材料预付款支付申请表";
+    /*b.material_name name,b.unit,b.price,a.meter_amount,
+    a.material_source source,material_conform ,a.storage_place,a.storage_status,a.storage_conform,a.remark*/
+    /**序号*/
+    @JSONField(name = "key_1",label="序号",ordinal = 1)
+    private Integer index;
+    /**名称*/
+    @JSONField(name = "key_2",label="材料名称",ordinal = 2)
+    private String materialName;
+    @JSONField(name = "key_3",label="单位",ordinal = 3)
+    private String unit;
+    @JSONField(name = "key_4",label="单价",ordinal = 4)
+    private String price;
+    @JSONField(name = "key_5",label="数量",ordinal = 5)
+    private String meterAmount;
+    @JSONField(name = "key_6",label="材料合计价格",ordinal = 6)
+    private String sum="0";
+    @JSONField(name = "key_7",label="预付款比例",ordinal = 7)
+    private String ratio;
+    @JSONField(name = "key_8",label="材料预付款",ordinal = 8)
+    private String advancePayment;
+    @JSONField(name = "key_9",label="材料来源",ordinal = 9)
+    private String source;
+    @JSONField(name = "key_10",label="材料来源是否符合要求",ordinal = 10)
+    private String materialConform;
+    @JSONField(name = "key_11",label="备料堆放地点",ordinal = 11)
+    private String storagePlace;
+    @JSONField(name = "key_12",label="存储情况",ordinal = 12)
+    private String storageStatus;
+    @JSONField(name = "key_13",label="存放方法是否符合要求",ordinal = 13)
+    private String storageConform;
+    @JSONField(name = "key_14",label="备注",ordinal = 14)
+    private String remark;
+    public List<Object> getData(){
+        List<Object> data = new ArrayList<>();
+        data.add(index);
+        data.add(materialName);
+        data.add(unit);
+        data.add(price);
+        data.add(meterAmount);
+        data.add(sum);
+        data.add(ratio);
+        data.add(advancePayment);
+        data.add(source);
+        data.add(materialConform);
+        data.add(storagePlace);
+        data.add(storageStatus);
+        data.add(storageConform);
+        data.add(remark);
+        return data;
+    }
+}

+ 39 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/MeterPeriodInfo.java

@@ -0,0 +1,39 @@
+package org.springblade.manager.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Data;
+
+import java.time.LocalDate;
+
+/**
+ * @author yangyj
+ * @Date 2023/12/20 10:36
+ * @description 计量期信息
+ */
+@Data
+public class MeterPeriodInfo {
+    public static final String ID="20200000000";
+    /**计量期信息表名*/
+    public static final String TBN="MPI";
+    public static final String TBN_CH="开工材料计量期";
+    /**计量期*/
+    @JSONField(name = "key_1",label="计量期",ordinal = 1)
+    private String periodNumber;
+    /**
+     * 期名称
+     */
+    @JSONField(name = "key_2",label="计量期名称",ordinal = 2)
+    private String periodName;
+    /**
+     * 报表打印日期
+     */
+    @JSONField(name = "key_3",label="报告打印日期",ordinal = 3)
+    private LocalDate formPrintDate;
+    /**上期累计金额*/
+    @JSONField(name = "key_4",label="上期累计金额",ordinal = 4)
+    private String  preTotal;
+    /**请款理由*/
+    @JSONField(name = "key_5",label="请款理由",ordinal = 5)
+    private String  cause;
+
+}

+ 23 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ReportResult.java

@@ -0,0 +1,23 @@
+package org.springblade.manager.vo;
+
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author yangyj
+ * @Date 2023/12/28 11:29
+ * @description 计量公式计算结果
+ */
+@Data
+public class ReportResult {
+    /**html地址*/
+    private String url;
+    /**表编号*/
+    private String initTableName;
+    /**表名*/
+    private String name;
+    /**每一页的数据,格式{y_x:val,y1_x1:val1...}{...}...*/
+    private List<Map<String,Object>> data;
+}

+ 18 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/SelectorModel.java

@@ -0,0 +1,18 @@
+package org.springblade.manager.vo;
+
+/**
+ * @author yangyj
+ * @Date 2023/12/29 16:30
+ * @description 选项模型-计量
+ */
+public class SelectorModel {
+    public static final String NODE_NAME="模型数据";
+    public  static final Long ID=20000000000L;
+    public  static final Long P_ID=12345678910L;
+    public Long getParentId(){
+        return ID;
+    }
+    public String getNodeName(){
+        return NODE_NAME;
+    }
+}

+ 2 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/WbsFormElementVO.java

@@ -34,4 +34,6 @@ public class WbsFormElementVO extends WbsFormElement {
      * 是否保存业务时间 '0'否 '1'是
      * 是否保存业务时间 '0'否 '1'是
      */
      */
     private Integer isBussTime;
     private Integer isBussTime;
+    /*是否包含节点公式*/
+    private Boolean hasPartFormula;
 }
 }

+ 1 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/WtcEva.java

@@ -18,6 +18,7 @@ public class WtcEva {
     private Long contractId;
     private Long contractId;
     private String treeCode;
     private String treeCode;
     private Long parentId;
     private Long parentId;
+    private Long pKeyId;
     public boolean isEva(){
     public boolean isEva(){
       return Objects.requireNonNull(this.nodeName, "nodeName不能为空").contains("评定");
       return Objects.requireNonNull(this.nodeName, "nodeName不能为空").contains("评定");
   }
   }

+ 3 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/ChangeTokenAddFormDTO.java

@@ -25,4 +25,7 @@ public class ChangeTokenAddFormDTO {
 
 
     @ApiModelProperty(value = "已经存在的变更申请清单id,逗号拼接")
     @ApiModelProperty(value = "已经存在的变更申请清单id,逗号拼接")
     private String ids;
     private String ids;
+
+    @ApiModelProperty(value = "任务id(任务查看时传入)")
+    private Long taskId;
 }
 }

+ 32 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/InventoryFormApplyTaskBatchDTO.java

@@ -0,0 +1,32 @@
+package org.springblade.meter.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class InventoryFormApplyTaskBatchDTO implements Serializable {
+
+    @ApiModelProperty(value = "选择的数据id,英文字符串逗号拼接ids")
+    private String ids;
+
+    @ApiModelProperty(value = "项目id")
+    private Long projectId;
+
+    @ApiModelProperty(value = "合同段id")
+    private Long contractId;
+
+    @ApiModelProperty(value = "节点id")
+    private Long nodeId;
+
+    @ApiModelProperty(value = "任务id")
+    private Long taskId;
+
+    @ApiModelProperty(value = "中间业务数据id")
+    private Long dataId;
+
+    @ApiModelProperty(value = "期数id")
+    private Long contractPeriodId;
+
+}

+ 14 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/InventoryFormApplyTaskDTO.java

@@ -0,0 +1,14 @@
+package org.springblade.meter.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.meter.entity.InventoryFormApplyTask;
+
+
+@Data
+public class InventoryFormApplyTaskDTO extends InventoryFormApplyTask {
+
+    @ApiModelProperty(value = "任务修改时使用清单id")
+    private Long taskDetailId;
+
+}

+ 41 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/MeterApprovalDTO.java

@@ -0,0 +1,41 @@
+package org.springblade.meter.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class MeterApprovalDTO implements Serializable {
+
+    @ApiModelProperty(value = "项目id")
+    private Long projectId;
+
+    @ApiModelProperty(value = "合同段id")
+    private Long contractId;
+
+    @ApiModelProperty(value = "期数id(如果是变更令,那么入参传勾选的id字符串英文逗号拼接)")
+    private String periodId;
+
+    @ApiModelProperty(value = "任务名称")
+    private String taskName;
+
+    @ApiModelProperty(value = "任务描述")
+    private String taskDesc;
+
+    @ApiModelProperty(value = "任务人ids,按照顺序,英文字符串逗号分割拼接")
+    private String taskUserIds;
+
+    @ApiModelProperty(value = "上报批次")
+    private Integer batch;
+
+    @ApiModelProperty("限定审批时间(天)")
+    private Integer restrictDay;
+
+    @ApiModelProperty("类型,=1(中间计量申请)、=2(材料计量单)、=3(开工预付款计量单)、=4(变更令)")
+    private Integer type;
+
+    @ApiModelProperty("预设流程id")
+    private String fixedFlowId;
+
+}

+ 13 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/MeterMidPayItemContractDTO.java

@@ -0,0 +1,13 @@
+package org.springblade.meter.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.meter.entity.MeterMidPayItemContract;
+
+@Data
+public class MeterMidPayItemContractDTO extends MeterMidPayItemContract {
+
+    @ApiModelProperty(value = "选择的id")
+    private String recordId;
+
+}

+ 13 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/MeterMidPayItemProjectDTO.java

@@ -0,0 +1,13 @@
+package org.springblade.meter.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.meter.entity.MeterMidPayItemProject;
+
+@Data
+public class MeterMidPayItemProjectDTO extends MeterMidPayItemProject {
+
+    @ApiModelProperty(value = "选择的id")
+    private String recordId;
+
+}

+ 20 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskApproveDTO.java

@@ -0,0 +1,20 @@
+package org.springblade.meter.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class TaskApproveDTO implements Serializable {
+
+    @ApiModelProperty(value = "任务id")
+    private String taskId;
+
+    @ApiModelProperty(value = "项目id")
+    private String projectId;
+
+    @ApiModelProperty(value = "合同段id")
+    private String contractId;
+
+}

+ 23 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskAuditDTO.java

@@ -0,0 +1,23 @@
+package org.springblade.meter.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class TaskAuditDTO implements Serializable {
+
+    @ApiModelProperty(value = "任务id")
+    private String taskId;
+
+    @ApiModelProperty(value = "中间业务数据列表的id")
+    private String dataId;
+
+    @ApiModelProperty(value = "审核状态,1=同意,2=驳回")
+    private String auditStatus;
+
+    @ApiModelProperty(value = "数据驳回描述信息")
+    private String repealDesc;
+
+}

+ 34 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskChangeTokenInventoryBatchSaveDTO.java

@@ -0,0 +1,34 @@
+package org.springblade.meter.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.meter.vo.ChangeFormVO2;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class TaskChangeTokenInventoryBatchSaveDTO implements Serializable {
+
+    @ApiModelProperty(value = "清单信息")
+    private List<ChangeFormVO2> formList;
+
+    @ApiModelProperty(value = "项目id")
+    private Long projectId;
+
+    @ApiModelProperty(value = "合同段id")
+    private Long contractId;
+
+    @ApiModelProperty(value = "任务id",required = true)
+    private Long taskId;
+
+    @ApiModelProperty(value = "中间列表数据的id")
+    private Long dataId;
+
+    @ApiModelProperty(value = "申请部位的primaryKeyId")
+    private Long primaryKeyIdMeter;
+
+    @ApiModelProperty(value = "申请部位的id(实际就是计量单元id)")
+    private Long nodeId;
+
+}

+ 30 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskChangeTokenInventoryUpdateDTO.java

@@ -0,0 +1,30 @@
+package org.springblade.meter.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+@Data
+public class TaskChangeTokenInventoryUpdateDTO implements Serializable {
+
+    @ApiModelProperty(value = "合同段id")
+    private Long contractId;
+
+    @ApiModelProperty(value = "任务id",required = true)
+    private Long taskId;
+
+    @ApiModelProperty(value = "中间列表的id")
+    private Long dataId;
+
+    @ApiModelProperty(value = "部位的主键id")
+    private Long primaryKeyIdMeter;
+
+    @ApiModelProperty(value = "清单的主键id")
+    private Long primaryKeyIdInventory;
+
+    @ApiModelProperty(value = "变更增减数量")
+    private BigDecimal changTotal;
+
+}

+ 20 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskChangeTokenMeterUpdateDTO.java

@@ -0,0 +1,20 @@
+package org.springblade.meter.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class TaskChangeTokenMeterUpdateDTO implements Serializable {
+
+    @ApiModelProperty(value = "任务id",required = true)
+    private Long taskId;
+
+    @ApiModelProperty(value = "主键id")
+    private Long primaryKeyId;
+
+    @ApiModelProperty(value = "合同图号")
+    private String contractPicture;
+
+}

+ 35 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskDataRemoveDTO.java

@@ -0,0 +1,35 @@
+package org.springblade.meter.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class TaskDataRemoveDTO implements Serializable {
+
+    @ApiModelProperty(value = "项目id", required = true)
+    private Long projectId;
+
+    @ApiModelProperty(value = "合同段id", required = true)
+    private Long contractId;
+
+    @ApiModelProperty(value = "任务id", required = true)
+    private Long taskId;
+
+    @ApiModelProperty(value = "中间列表的数据id", required = true)
+    private Long dataId;
+
+    @ApiModelProperty(value = "中期计量清单返回的taskDetailId")
+    private Long middleMeterInventoryFormId;
+
+    @ApiModelProperty(value = "变更令部位的primaryKeyId")
+    private Long changeNodeId;
+
+    @ApiModelProperty(value = "变更令清单的primaryKeyId")
+    private Long changeFormId;
+
+    @ApiModelProperty(value = "变更令删除时传入type,1=申请部位删除,2=申请清单删除")
+    private Integer type;
+
+}

+ 28 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskDataUploadFileDTO.java

@@ -0,0 +1,28 @@
+package org.springblade.meter.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.meter.entity.AttachmentFormTask;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class TaskDataUploadFileDTO implements Serializable {
+
+    @ApiModelProperty(value = "附件文件")
+    private List<AttachmentFormTask> fileList;
+
+    @ApiModelProperty(value = "中间列表数据的Id")
+    private Long dataId;
+
+    @ApiModelProperty(value = "任务id")
+    private Long taskId;
+
+    @ApiModelProperty(value = "项目id")
+    private Long projectId;
+
+    @ApiModelProperty(value = "合同段id")
+    private Long contractId;
+
+}

+ 44 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskPageDTO.java

@@ -0,0 +1,44 @@
+package org.springblade.meter.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class TaskPageDTO implements Serializable {
+
+    @ApiModelProperty(value = "项目id")
+    private String projectId;
+
+    @ApiModelProperty(value = "合同段id")
+    private String contractId;
+
+    @ApiModelProperty(value = "选择菜单类型,1=待办,2=已办,3=我发起的")
+    private Integer selectedType;
+
+    @ApiModelProperty(value = "任务类型 1=中间计量,2=材料计量,3=开工预付款,4=变更令,5=工程结算,6=收方单")
+    private Integer typeValue;
+
+    @ApiModelProperty(value = "任务状态")
+    private Integer statusValue;
+
+    @ApiModelProperty(value = "上报批次")
+    private Integer batchValue;
+
+    @ApiModelProperty(value = "开始时间")
+    private String startTimeValue;
+
+    @ApiModelProperty(value = "结束时间")
+    private String endTimeValue;
+
+    @ApiModelProperty(value = "关键字查询输入框")
+    private String queryValue;
+
+    @ApiModelProperty(value = "每页条数")
+    private Integer size;
+
+    @ApiModelProperty(value = "当前页码")
+    private Integer current;
+
+}

+ 23 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/TaskRepealDTO.java

@@ -0,0 +1,23 @@
+package org.springblade.meter.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class TaskRepealDTO implements Serializable {
+
+    @ApiModelProperty(value = "项目id")
+    private String projectId;
+
+    @ApiModelProperty(value = "合同段id")
+    private String contractId;
+
+    @ApiModelProperty("任务id")
+    private String taskId;
+
+    @ApiModelProperty("废除原因")
+    private String meterTaskRepealDesc;
+
+}

+ 7 - 2
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/AttachmentForm.java

@@ -49,9 +49,9 @@ public class AttachmentForm extends BaseEntity {
     @ApiModelProperty(value = "合同段id")
     @ApiModelProperty(value = "合同段id")
     private Long contractId;
     private Long contractId;
     /**
     /**
-     * 主id
+     * 主id
      */
      */
-    @ApiModelProperty(value = "主id")
+    @ApiModelProperty(value = "主id")
     private Long masterId;
     private Long masterId;
     /**
     /**
      * 附件名称
      * 附件名称
@@ -68,6 +68,11 @@ public class AttachmentForm extends BaseEntity {
      */
      */
     @ApiModelProperty(value = "附件pdf地址")
     @ApiModelProperty(value = "附件pdf地址")
     private String filePdfUrl;
     private String filePdfUrl;
+    /**
+     * 中间计量申请专用字段 1中间计量附件,2变更令附件
+     */
+    @ApiModelProperty(value = "中间计量申请专用字段 1中间计量附件,2变更令附件")
+    private Integer fileType;
 
 
 
 
 }
 }

+ 58 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/AttachmentFormTask.java

@@ -0,0 +1,58 @@
+package org.springblade.meter.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+@Data
+@TableName("s_attachment_form_task")
+@EqualsAndHashCode(callSuper = true)
+public class AttachmentFormTask extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 任务id
+     */
+    @ApiModelProperty(value = "任务id")
+    private Long taskId;
+    /**
+     * 项目id
+     */
+    @ApiModelProperty(value = "项目id")
+    private Long projectId;
+    /**
+     * 合同段id
+     */
+    @ApiModelProperty(value = "合同段id")
+    private Long contractId;
+    /**
+     * 主键id
+     */
+    @ApiModelProperty(value = "主键id")
+    private Long masterId;
+    /**
+     * 附件名称
+     */
+    @ApiModelProperty(value = "附件名称")
+    private String fileName;
+    /**
+     * 附件地址
+     */
+    @ApiModelProperty(value = "附件地址")
+    private String fileUrl;
+    /**
+     * 附件pdf地址
+     */
+    @ApiModelProperty(value = "附件pdf地址")
+    private String filePdfUrl;
+    /**
+     * 中间计量申请专用字段 1中间计量附件,2变更令附件
+     */
+    @ApiModelProperty(value = "中间计量申请专用字段 1中间计量附件,2变更令附件")
+    private Integer fileType;
+
+
+}

+ 2 - 1
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ChangeTokenForm.java

@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 
 
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import org.springblade.core.mp.base.BaseEntity;
 import org.springblade.core.mp.base.BaseEntity;
@@ -127,7 +128,7 @@ public class ChangeTokenForm extends BaseEntity {
     private Integer commandStatus;
     private Integer commandStatus;
 
 
     @ApiModelProperty(value = "下达日期")
     @ApiModelProperty(value = "下达日期")
-    private LocalDate commandDate;
+    private LocalDateTime commandDate;
 
 
 
 
 
 

+ 121 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ChangeTokenFormTask.java

@@ -0,0 +1,121 @@
+package org.springblade.meter.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@TableName("s_change_token_form_task")
+@EqualsAndHashCode(callSuper = true)
+public class ChangeTokenFormTask extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 任务id
+     */
+    @ApiModelProperty(value = "任务id")
+    private Long taskId;
+
+    /**
+     * 项目id
+     */
+    @ApiModelProperty(value = "项目id")
+    private Long projectId;
+    /**
+     * 合同段id
+     */
+    @ApiModelProperty(value = "合同段id")
+    private Long contractId;
+    /**
+     * 变更令编号
+     */
+    @ApiModelProperty(value = "变更令编号")
+    private String changeNumber;
+    /**
+     * 变更令名称
+     */
+    @ApiModelProperty(value = "变更令名称")
+    private String changeName;
+    /**
+     * 变更发起单位
+     */
+    @ApiModelProperty(value = "变更发起单位")
+    private String changeUnit;
+    /**
+     * 变更类型
+     */
+    @ApiModelProperty(value = "变更类型")
+    private Integer changeType;
+    /**
+     * 业务日期
+     */
+    @ApiModelProperty(value = "业务日期")
+    private LocalDate businessDate;
+    /**
+     * 延长工期
+     */
+    @ApiModelProperty(value = "延长工期")
+    private Integer lengthenDays;
+    /**
+     * 变更申请金额
+     */
+    @ApiModelProperty(value = "变更申请金额")
+    private BigDecimal changeMoney;
+    /**
+     * 设计完成时间
+     */
+    @ApiModelProperty(value = "设计完成时间")
+    private LocalDate designDate;
+    /**
+     * 实际变更桩号
+     */
+    @ApiModelProperty(value = "实际变更桩号")
+    private String realityChangeNumber;
+    /**
+     * 变更批复文号
+     */
+    @ApiModelProperty(value = "变更批复文号")
+    private String changeApprovalNumber;
+    /**
+     * 变更归类
+     */
+    @ApiModelProperty(value = "变更归类")
+    private Integer changeClassify;
+    /**
+     * 变更批复日期
+     */
+    @ApiModelProperty(value = "变更批复日期")
+    private LocalDate changeApprovalDate;
+    /**
+     * 变更原因
+     */
+    @ApiModelProperty(value = "变更原因")
+    private String changeCause;
+    /**
+     * 审批状态
+     */
+    @ApiModelProperty(value = "审批状态,0未上报,1待审批,2已审批,3已废除")
+    private Integer approveStatus;
+    /**
+     * 下达状态
+     */
+    @ApiModelProperty(value = "下达状态0未下达1已下达")
+    private Integer commandStatus;
+
+    @ApiModelProperty(value = "下达日期")
+    private LocalDateTime commandDate;
+
+    /**
+     * 单条数据驳回描述信息
+     */
+    @ApiModelProperty(value = "单条数据驳回描述信息")
+    private String repealDesc;
+
+}

+ 12 - 3
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ChangeTokenInventory.java

@@ -85,17 +85,17 @@ public class ChangeTokenInventory extends BaseEntity {
      * 变更前数量
      * 变更前数量
      */
      */
     @ApiModelProperty(value = "变更前数量")
     @ApiModelProperty(value = "变更前数量")
-    private Integer changeBeforeTotal;
+    private BigDecimal changeBeforeTotal;
     /**
     /**
      * 变更数量
      * 变更数量
      */
      */
     @ApiModelProperty(value = "变更数量")
     @ApiModelProperty(value = "变更数量")
-    private Integer changeTotal;
+    private BigDecimal changeTotal;
     /**
     /**
      * 变更后数量
      * 变更后数量
      */
      */
     @ApiModelProperty(value = "变更后数量")
     @ApiModelProperty(value = "变更后数量")
-    private Integer changeAfterTotal;
+    private BigDecimal changeAfterTotal;
     /**
     /**
      * 变更前金额
      * 变更前金额
      */
      */
@@ -112,5 +112,14 @@ public class ChangeTokenInventory extends BaseEntity {
     @ApiModelProperty(value = "变更后金额")
     @ApiModelProperty(value = "变更后金额")
     private BigDecimal changeAfterMoney;
     private BigDecimal changeAfterMoney;
 
 
+    /**
+     * 是否汇总清单,0分解清单1汇总清单
+     */
+    @ApiModelProperty(value = "是否汇总清单,0分解清单1汇总清单")
+    private Integer isCollectForm;
+
+    @ApiModelProperty(value = "需要修改的中间计量申请ids")
+    private String applyIds;
+
 
 
 }
 }

+ 105 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ChangeTokenInventoryTask.java

@@ -0,0 +1,105 @@
+package org.springblade.meter.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+import java.math.BigDecimal;
+
+@Data
+@TableName("s_change_token_inventory_task")
+@EqualsAndHashCode(callSuper = true)
+public class ChangeTokenInventoryTask extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 任务id
+     */
+    @ApiModelProperty(value = "任务id")
+    private Long taskId;
+
+    /**
+     * 项目id
+     */
+    @ApiModelProperty(value = "项目id")
+    private Long projectId;
+    /**
+     * 合同段id
+     */
+    @ApiModelProperty(value = "合同段id")
+    private Long contractId;
+    /**
+     * 变更令id
+     */
+    @ApiModelProperty(value = "变更令id")
+    private Long changeTokenId;
+    /**
+     * 合同计量单元id
+     */
+    @ApiModelProperty(value = "合同计量单元id(部位)")
+    private Long contractMeterId;
+    /**
+     * 合同工程清单id
+     */
+    @ApiModelProperty(value = "合同工程清单id")
+    private Long contractFormId;
+    /**
+     * 清单编号
+     */
+    @ApiModelProperty(value = "清单编号")
+    private String formNumber;
+    /**
+     * 清单名称
+     */
+    @ApiModelProperty(value = "清单名称")
+    private String formName;
+    /**
+     * 当前单价
+     */
+    @ApiModelProperty(value = "当前单价")
+    private BigDecimal currentPrice;
+    /**
+     * 变更前数量
+     */
+    @ApiModelProperty(value = "变更前数量")
+    private BigDecimal changeBeforeTotal;
+    /**
+     * 变更数量
+     */
+    @ApiModelProperty(value = "变更数量")
+    private BigDecimal changeTotal;
+    /**
+     * 变更后数量
+     */
+    @ApiModelProperty(value = "变更后数量")
+    private BigDecimal changeAfterTotal;
+    /**
+     * 变更前金额
+     */
+    @ApiModelProperty(value = "变更前金额")
+    private BigDecimal changeBeforeMoney;
+    /**
+     * 变更金额
+     */
+    @ApiModelProperty(value = "变更金额")
+    private BigDecimal changeMoney;
+    /**
+     * 变更后金额
+     */
+    @ApiModelProperty(value = "变更后金额")
+    private BigDecimal changeAfterMoney;
+
+    /**
+     * 是否汇总清单,0分解清单1汇总清单
+     */
+    @ApiModelProperty(value = "是否汇总清单,0分解清单1汇总清单")
+    private Integer isCollectForm;
+
+    @ApiModelProperty(value = "需要修改的中间计量申请ids")
+    private String applyIds;
+
+
+}

+ 8 - 4
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ChangeTokenMeter.java

@@ -65,15 +65,19 @@ public class ChangeTokenMeter extends BaseEntity {
 
 
     @ApiModelProperty(value = "节点路径")
     @ApiModelProperty(value = "节点路径")
     private String nodeUrl;
     private String nodeUrl;
-    /**
-     * 合同图号
-     */
-    @ApiModelProperty(value = "合同图号")
+
+    @ApiModelProperty(value = "变更后合同图号")
     private String contractPicture;
     private String contractPicture;
 
 
+    @ApiModelProperty(value = "变更前-变更合同图号")
+    private String beforeContractPicture;
+
     @ApiModelProperty(value = "变更后金额")
     @ApiModelProperty(value = "变更后金额")
     private BigDecimal changeMoney;
     private BigDecimal changeMoney;
 
 
+    @ApiModelProperty(value = "变更前-变更后金额")
+    private BigDecimal beforeChangeMoney;
+
     @ApiModelProperty(value = "是否增补")
     @ApiModelProperty(value = "是否增补")
     private Integer isSupplement;
     private Integer isSupplement;
 
 

+ 67 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ChangeTokenMeterTask.java

@@ -0,0 +1,67 @@
+package org.springblade.meter.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+import java.math.BigDecimal;
+
+
+@Data
+@TableName("s_change_token_meter_task")
+@EqualsAndHashCode(callSuper = true)
+public class ChangeTokenMeterTask extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 任务id
+     */
+    @ApiModelProperty(value = "任务id")
+    private Long taskId;
+    /**
+     * 项目id
+     */
+    @ApiModelProperty(value = "项目id")
+    private Long projectId;
+    /**
+     * 合同段id
+     */
+    @ApiModelProperty(value = "合同段id")
+    private Long contractId;
+    /**
+     * 变更令id
+     */
+    @ApiModelProperty(value = "变更令id")
+    private Long changeTokenId;
+    /**
+     * 合同计量单元id
+     */
+    @ApiModelProperty(value = "合同计量单元id")
+    private Long contractMeterId;
+
+    @ApiModelProperty(value = "工程名称")
+    private String nodeName;
+
+    @ApiModelProperty(value = "节点路径")
+    private String nodeUrl;
+
+    @ApiModelProperty(value = "变更后合同图号")
+    private String contractPicture;
+
+    @ApiModelProperty(value = "变更前-变更合同图号")
+    private String beforeContractPicture;
+
+    @ApiModelProperty(value = "变更后金额")
+    private BigDecimal changeMoney;
+
+    @ApiModelProperty(value = "变更前-变更后金额")
+    private BigDecimal beforeChangeMoney;
+
+    @ApiModelProperty(value = "是否增补")
+    private Integer isSupplement;
+
+
+}

+ 0 - 2
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ContractInventoryForm.java

@@ -198,6 +198,4 @@ public class ContractInventoryForm extends BaseEntity {
     @ExcelIgnore
     @ExcelIgnore
     private Integer buildChangeTotal;
     private Integer buildChangeTotal;
 
 
-
-
 }
 }

+ 3 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ContractMeterPeriod.java

@@ -101,5 +101,8 @@ public class ContractMeterPeriod extends BaseEntity {
     @ApiModelProperty(value = "排序")
     @ApiModelProperty(value = "排序")
     private Integer sort;
     private Integer sort;
 
 
+    @ApiModelProperty(value = "审批状态,0未上报,1待审批,2已审批")
+    private Integer approveStatus;
+
 
 
 }
 }

+ 3 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/InterimPayCertificate.java

@@ -106,6 +106,9 @@ public class InterimPayCertificate extends BaseEntity {
     @ApiModelProperty(value = "是否锁定:0未锁定,1锁定")
     @ApiModelProperty(value = "是否锁定:0未锁定,1锁定")
     private Integer isLock;
     private Integer isLock;
 
 
+    @ApiModelProperty(value = "审批状态,0未上报,1待审批,2已审批")
+    private Integer approveStatus;
+
 
 
 
 
 }
 }

+ 6 - 4
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/InventoryFormApply.java

@@ -16,11 +16,7 @@
  */
  */
 package org.springblade.meter.entity;
 package org.springblade.meter.entity;
 
 
-import com.alibaba.excel.annotation.ExcelIgnore;
-import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
-
-import java.io.Serializable;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDate;
 
 
@@ -106,4 +102,10 @@ public class InventoryFormApply extends BaseEntity {
     @ApiModelProperty(value = "业务日期")
     @ApiModelProperty(value = "业务日期")
     private LocalDate businessDate;
     private LocalDate businessDate;
 
 
+    /**
+     * 审批状态
+     */
+    @ApiModelProperty(value = "审批状态,0未上报,1待审批,2已审批,3已废除")
+    private Integer approveStatus;
+
 }
 }

+ 94 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/InventoryFormApplyTask.java

@@ -0,0 +1,94 @@
+package org.springblade.meter.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+@Data
+@TableName("s_inventory_form_apply_task")
+@EqualsAndHashCode(callSuper = true)
+public class InventoryFormApplyTask extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 任务id
+     */
+    @ApiModelProperty(value = "任务id")
+    private Long taskId;
+
+    /**
+     * 项目id
+     */
+    @ApiModelProperty(value = "项目id")
+    private Long projectId;
+    /**
+     * 合同段id
+     */
+    @ApiModelProperty(value = "合同段id")
+    private Long contractId;
+    /**
+     * 合同工程清单id
+     */
+    @ApiModelProperty(value = "合同工程清单id")
+    private Long contractFormId;
+    /**
+     * 中间计量申请id
+     */
+    @ApiModelProperty(value = "中间计量申请id")
+    private Long middleMeterId;
+
+    @ApiModelProperty(value = "合同计量单元id")
+    private Long contractMeterId;
+    /**
+     * 计量单编号
+     */
+    @ApiModelProperty(value = "计量单编号")
+    private String meterNumber;
+
+    @ApiModelProperty(value = "清单编号")
+    private String formNumber;
+
+    @ApiModelProperty(value = "清单名称")
+    private String formName;
+
+    @ApiModelProperty(value = "当前单价")
+    private BigDecimal currentPrice;
+
+    @ApiModelProperty(value = "施工图数量")
+    private BigDecimal buildPictureTotal;
+    /**
+     * 变更后施工图数量
+     */
+    @ApiModelProperty(value = "变更后施工图数量")
+    private BigDecimal changeBuildPictureTotal;
+    /**
+     * 本期计量数量
+     */
+    @ApiModelProperty(value = "本期计量数量")
+    private BigDecimal currentMeterTotal;
+    /**
+     * 本期计量金额
+     */
+    @ApiModelProperty(value = "本期计量金额")
+    private BigDecimal currentMeterMoney;
+    /**
+     * 合同计量期id
+     */
+    @ApiModelProperty(value = "合同计量期id")
+    private Long contractPeriodId;
+
+    @ApiModelProperty(value = "业务日期")
+    private LocalDate businessDate;
+    /**
+     * 审批状态
+     */
+    @ApiModelProperty(value = "审批状态,0未上报,1待审批,2已审批,3已废除")
+    private Integer approveStatus;
+
+}

+ 14 - 2
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/InventoryFormMeter.java

@@ -22,6 +22,8 @@ import org.springblade.core.mp.base.BaseEntity;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 
 
+import java.math.BigDecimal;
+
 /**
 /**
  * 工程清单与合同计量单元	中间表实体类
  * 工程清单与合同计量单元	中间表实体类
  *
  *
@@ -59,12 +61,22 @@ public class InventoryFormMeter extends BaseEntity {
      * 施工图数量
      * 施工图数量
      */
      */
     @ApiModelProperty(value = "施工图数量")
     @ApiModelProperty(value = "施工图数量")
-    private Integer buildPictureTotal;
+    private BigDecimal buildPictureTotal;
     /**
     /**
      * 变更后施工图数量
      * 变更后施工图数量
      */
      */
     @ApiModelProperty(value = "变更后施工图数量")
     @ApiModelProperty(value = "变更后施工图数量")
-    private Integer changeBuildPictureTotal;
+    private BigDecimal changeBuildPictureTotal;
+    /**
+     * 施工图金额
+     */
+    @ApiModelProperty(value = "施工图金额")
+    private BigDecimal buildPictureMoney;
+    /**
+     * 变更后施工图金额
+     */
+    @ApiModelProperty(value = "变更后施工图金额")
+    private BigDecimal changeBuildPictureMoney;
 
 
 
 
 }
 }

+ 131 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MaterialMeterFormTask.java

@@ -0,0 +1,131 @@
+package org.springblade.meter.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+@Data
+@TableName("s_material_meter_form_task")
+@EqualsAndHashCode(callSuper = true)
+public class MaterialMeterFormTask extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 任务id
+     */
+    @ApiModelProperty(value = "任务id")
+    private Long taskId;
+
+    /**
+     * 项目id
+     */
+    @ApiModelProperty(value = "项目id")
+    private Long projectId;
+    /**
+     * 合同段id
+     */
+    @ApiModelProperty(value = "合同段id")
+    private Long contractId;
+    /**
+     * 材料到场编号
+     */
+    @ApiModelProperty(value = "材料到场编号")
+    private String materialArriveNumber;
+    /**
+     * 计量期id,s_meter_period
+     */
+    @ApiModelProperty(value = "计量期id,s_meter_period")
+    private Long meterPeriodId;
+    /**
+     * 合同材料id
+     */
+    @ApiModelProperty(value = "合同材料id")
+    private Long contractMaterialId;
+    @ApiModelProperty(value = "合同材料名称")
+    private String contractMaterialName;
+    @ApiModelProperty(value = "期号")
+    private String periodNumber;
+    /**
+     * 期名称
+     */
+    @ApiModelProperty(value = "期名称")
+    private String periodName;
+    /**
+     * 单价
+     */
+    @ApiModelProperty(value = "单价")
+    private BigDecimal price;
+    /**
+     * 计量数量
+     */
+    @ApiModelProperty(value = "计量数量")
+    private BigDecimal meterAmount;
+    /**
+     * 计量金额
+     */
+    @ApiModelProperty(value = "计量金额")
+    private BigDecimal meterMoney;
+    /**
+     * 业务日期
+     */
+    @ApiModelProperty(value = "业务日期")
+    private LocalDate businessDate;
+    /**
+     * 备料堆放地点
+     */
+    @ApiModelProperty(value = "备料堆放地点")
+    private String storagePlace;
+    /**
+     * 存储情况
+     */
+    @ApiModelProperty(value = "存储情况")
+    private String storageStatus;
+    /**
+     * 材料来源
+     */
+    @ApiModelProperty(value = "材料来源")
+    private String materialSource;
+    /**
+     * 材料是否符合0不符合1符合
+     */
+    @ApiModelProperty(value = "材料是否符合0不符合1符合")
+    private Integer materialConform;
+    /**
+     * 存储是否符合0不符合1符合
+     */
+    @ApiModelProperty(value = "存储是否符合0不符合1符合")
+    private Integer storageConform;
+    /**
+     * 合格证
+     */
+    @ApiModelProperty(value = "合格证")
+    private String certificate;
+    /**
+     * 备注
+     */
+    @ApiModelProperty(value = "备注")
+    private String remark;
+    /**
+     * 审批状态
+     */
+    @ApiModelProperty(value = "审批状态,0未上报,1待审批,2已审批,3已废除")
+    private Integer approveStatus;
+    /**
+     * 排序
+     */
+    @ApiModelProperty(value = "排序")
+    private Integer sort;
+    /**
+     * 单条数据驳回描述信息
+     */
+    @ApiModelProperty(value = "单条数据驳回描述信息")
+    private String repealDesc;
+
+
+}

+ 3 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MaterialStartStatement.java

@@ -95,5 +95,8 @@ public class MaterialStartStatement extends BaseEntity {
     @ApiModelProperty(value = "排序")
     @ApiModelProperty(value = "排序")
     private Integer sort;
     private Integer sort;
 
 
+    @ApiModelProperty(value = "审批状态,0未上报,1待审批,2已审批")
+    private Integer approveStatus;
+
 
 
 }
 }

+ 1 - 1
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MeterMidPayItemContract.java

@@ -55,7 +55,7 @@ public class MeterMidPayItemContract extends BaseEntity {
     private Integer payApplicableType;
     private Integer payApplicableType;
 
 
     @ApiModelProperty(value = "租户id")
     @ApiModelProperty(value = "租户id")
-    private Long tenantId;
+    private String tenantId;
 
 
     @ApiModelProperty(value = "排序")
     @ApiModelProperty(value = "排序")
     private Integer sort;
     private Integer sort;

+ 1 - 4
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MeterMidPayItemProject.java

@@ -52,14 +52,11 @@ public class MeterMidPayItemProject extends BaseEntity {
     private Integer payApplicableType;
     private Integer payApplicableType;
 
 
     @ApiModelProperty(value = "租户id")
     @ApiModelProperty(value = "租户id")
-    private Long tenantId;
+    private String tenantId;
 
 
     @ApiModelProperty(value = "排序")
     @ApiModelProperty(value = "排序")
     private Integer sort;
     private Integer sort;
 
 
-    @ApiModelProperty(value = "是否被引用 0=否 1=是")
-    private Integer isReferenced;
-
     @ApiModelProperty(value = "备注")
     @ApiModelProperty(value = "备注")
     private String remarks;
     private String remarks;
 
 

+ 1 - 4
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MeterMidPayItemSystem.java

@@ -49,14 +49,11 @@ public class MeterMidPayItemSystem extends BaseEntity {
     private Integer payApplicableType;
     private Integer payApplicableType;
 
 
     @ApiModelProperty(value = "租户id")
     @ApiModelProperty(value = "租户id")
-    private Long tenantId;
+    private String tenantId;
 
 
     @ApiModelProperty(value = "排序")
     @ApiModelProperty(value = "排序")
     private Integer sort;
     private Integer sort;
 
 
-    @ApiModelProperty(value = "是否被引用 0=否 1=是")
-    private Integer isReferenced;
-
     @ApiModelProperty(value = "备注")
     @ApiModelProperty(value = "备注")
     private String remarks;
     private String remarks;
 
 

+ 3 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MeterPeriod.java

@@ -93,5 +93,8 @@ public class MeterPeriod extends BaseEntity {
     @ApiModelProperty(value = "排序")
     @ApiModelProperty(value = "排序")
     private Integer sort;
     private Integer sort;
 
 
+    @ApiModelProperty(value = "审批状态,0未上报,1待审批,2已审批")
+    private Integer approveStatus;
+
 
 
 }
 }

+ 2 - 2
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MeterTreeContract.java

@@ -35,7 +35,7 @@ public class MeterTreeContract extends BaseEntity {
     @ApiModelProperty(value = "工程类型名称")
     @ApiModelProperty(value = "工程类型名称")
     private String engineeringTypeName;
     private String engineeringTypeName;
 
 
-    @ApiModelProperty(value = "数据源类型 1=项目原始引用、2=合同段手动新增、3=项目新增引用(项目是新增的)")
+    @ApiModelProperty(value = "数据源类型 1=项目原始引用、2=合同段手动新增、3=项目新增引用(项目是新增的)、4=导入")
     private Integer dataSourceType;
     private Integer dataSourceType;
 
 
     @ApiModelProperty(value = "源节点id(项目树节点id)")
     @ApiModelProperty(value = "源节点id(项目树节点id)")
@@ -54,7 +54,7 @@ public class MeterTreeContract extends BaseEntity {
     private String remarks;
     private String remarks;
 
 
     @ApiModelProperty(value = "租户id")
     @ApiModelProperty(value = "租户id")
-    private Long tenantId;
+    private String tenantId;
 
 
     @ApiModelProperty(value = "排序")
     @ApiModelProperty(value = "排序")
     private Integer sort;
     private Integer sort;

+ 1 - 1
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MeterTreeProject.java

@@ -49,7 +49,7 @@ public class MeterTreeProject extends BaseEntity {
     private String remarks;
     private String remarks;
 
 
     @ApiModelProperty(value = "租户id")
     @ApiModelProperty(value = "租户id")
-    private Long tenantId;
+    private String tenantId;
 
 
     @ApiModelProperty(value = "排序")
     @ApiModelProperty(value = "排序")
     private Integer sort;
     private Integer sort;

+ 1 - 1
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MeterTreeSystem.java

@@ -37,7 +37,7 @@ public class MeterTreeSystem extends BaseEntity {
     private String remarks;
     private String remarks;
 
 
     @ApiModelProperty(value = "租户id")
     @ApiModelProperty(value = "租户id")
-    private Long tenantId;
+    private String tenantId;
 
 
     @ApiModelProperty(value = "排序")
     @ApiModelProperty(value = "排序")
     private Integer sort;
     private Integer sort;

+ 14 - 3
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MiddleMeterApply.java

@@ -27,6 +27,8 @@ import org.springblade.core.mp.base.BaseEntity;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 
 
+import javax.validation.constraints.NotNull;
+
 /**
 /**
  * 中间计量申请表实体类
  * 中间计量申请表实体类
  *
  *
@@ -59,6 +61,7 @@ public class MiddleMeterApply extends BaseEntity {
      * 合同计量期id
      * 合同计量期id
      */
      */
     @ApiModelProperty(value = "合同计量期id")
     @ApiModelProperty(value = "合同计量期id")
+    @NotNull(message = "合同计量期id不能为null")
     private Long contractPeriodId;
     private Long contractPeriodId;
     /**
     /**
      * 合同计量期期号
      * 合同计量期期号
@@ -101,15 +104,23 @@ public class MiddleMeterApply extends BaseEntity {
     @ApiModelProperty(value = "收方单id")
     @ApiModelProperty(value = "收方单id")
     private Long debitFormId;
     private Long debitFormId;
     /**
     /**
-     * 变更令id
+     * 变更令编号
      */
      */
     @ApiModelProperty(value = "变更令编号")
     @ApiModelProperty(value = "变更令编号")
     private String changeTokenNumber;
     private String changeTokenNumber;
     /**
     /**
-     * 图片地址
+     * 变更令id
+     */
+    @ApiModelProperty(value = "变更令id,逗号拼接")
+    private String changeTokenIds;
+    /**
+     * 草图文件
      */
      */
-    @ApiModelProperty(value = "图片地址")
+    @ApiModelProperty(value = "草图文件地址")
     private String pictureUrl;
     private String pictureUrl;
+
+    @ApiModelProperty(value = "草图文件名称")
+    private String pictureName;
     /**
     /**
      * 计算式
      * 计算式
      */
      */

+ 116 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MiddleMeterApplyTask.java

@@ -0,0 +1,116 @@
+package org.springblade.meter.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+@Data
+@TableName("s_middle_meter_apply_task")
+@EqualsAndHashCode(callSuper = true)
+public class MiddleMeterApplyTask extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 任务id
+     */
+    @ApiModelProperty(value = "任务id")
+    private Long taskId;
+
+    /**
+     * 项目id
+     */
+    @ApiModelProperty(value = "项目id")
+    private Long projectId;
+    /**
+     * 合同段id
+     */
+    @ApiModelProperty(value = "合同段id")
+    private Long contractId;
+    /**
+     * 合同计量单元id
+     */
+    @ApiModelProperty(value = "合同计量单元id")
+    private Long contractUnitId;
+    /**
+     * 合同计量期id
+     */
+    @ApiModelProperty(value = "合同计量期id")
+    private Long contractPeriodId;
+    /**
+     * 合同计量期期号
+     */
+    @ApiModelProperty(value = "合同计量期期号")
+    private String periodNumber;
+    /**
+     * 计量单编号
+     */
+    @ApiModelProperty(value = "计量单编号")
+    private String meterNumber;
+    /**
+     * 业务日期
+     */
+    @ApiModelProperty(value = "业务日期")
+    private LocalDate businessDate;
+    /**
+     * 工程划分
+     */
+    @ApiModelProperty(value = "工程划分")
+    private String engineerDivide;
+    /**
+     * 部位名称
+     */
+    @ApiModelProperty(value = "部位名称")
+    private String partName;
+    /**
+     * 交工证书编号
+     */
+    @ApiModelProperty(value = "交工证书编号")
+    private String certificateNumber;
+    /**
+     * 计量金额
+     */
+    @ApiModelProperty(value = "计量金额")
+    private BigDecimal meterMoney;
+    /**
+     * 收方单id
+     */
+    @ApiModelProperty(value = "收方单id")
+    private Long debitFormId;
+    /**
+     * 变更令id
+     */
+    @ApiModelProperty(value = "变更令编号")
+    private String changeTokenNumber;
+    /**
+     * 变更令id
+     */
+    @ApiModelProperty(value = "变更令id,逗号拼接")
+    private String changeTokenIds;
+    /**
+     * 图片地址
+     */
+    @ApiModelProperty(value = "图片地址")
+    private String pictureUrl;
+    /**
+     * 计算式
+     */
+    @ApiModelProperty(value = "计算式")
+    private String calculateFormula;
+    /**
+     * 审批状态
+     */
+    @ApiModelProperty(value = "审批状态,0未上报,1待审批,2已审批,3已废除")
+    private Integer approveStatus;
+    /**
+     * 单条数据驳回描述信息
+     */
+    @ApiModelProperty(value = "单条数据驳回描述信息")
+    private String repealDesc;
+
+}

+ 1 - 1
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/StartPayMeterForm.java

@@ -76,7 +76,7 @@ public class StartPayMeterForm extends BaseEntity {
     /**
     /**
      * 审批状态
      * 审批状态
      */
      */
-    @ApiModelProperty(value = "审批状态")
+    @ApiModelProperty(value = "审批状态,0未上报,1待审批,2已审批")
     private Integer approveStatus;
     private Integer approveStatus;
     /**
     /**
      * 开工预付款总额
      * 开工预付款总额

+ 85 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/StartPayMeterFormTask.java

@@ -0,0 +1,85 @@
+package org.springblade.meter.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+@Data
+@TableName("s_start_pay_meter_form_task")
+@EqualsAndHashCode(callSuper = true)
+public class StartPayMeterFormTask extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 任务id
+     */
+    @ApiModelProperty(value = "任务id")
+    private Long taskId;
+
+    /**
+     * 项目id
+     */
+    @ApiModelProperty(value = "项目id")
+    private Long projectId;
+    /**
+     * 合同段id
+     */
+    @ApiModelProperty(value = "合同段id")
+    private Long contractId;
+    /**
+     * 计量期id,s_meter_period
+     */
+    @ApiModelProperty(value = "计量期id,s_meter_period")
+    private Long meterPeriodId;
+
+    @ApiModelProperty(value = "期号")
+    private String periodNumber;
+    /**
+     * 期名称
+     */
+    @ApiModelProperty(value = "期名称")
+    private String periodName;
+    /**
+     * 业务日期
+     */
+    @ApiModelProperty(value = "业务日期")
+    private LocalDate businessDate;
+    /**
+     * 计量金额
+     */
+    @ApiModelProperty(value = "计量金额")
+    private BigDecimal meterMoney;
+    /**
+     * 审批状态
+     */
+    @ApiModelProperty(value = "审批状态,0未上报,1待审批,2已审批")
+    private Integer approveStatus;
+    /**
+     * 开工预付款总额
+     */
+    @ApiModelProperty(value = "开工预付款总额")
+    private BigDecimal startPayAmount;
+    /**
+     * 申请依据
+     */
+    @ApiModelProperty(value = "申请依据")
+    private String applyCause;
+    /**
+     * 排序
+     */
+    @ApiModelProperty(value = "排序")
+    private Integer sort;
+    /**
+     * 单条数据驳回描述信息
+     */
+    @ApiModelProperty(value = "单条数据驳回描述信息")
+    private String repealDesc;
+
+
+}

+ 37 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/TaskComment.java

@@ -0,0 +1,37 @@
+package org.springblade.meter.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@TableName(value = "s_task_comment")
+public class TaskComment implements Serializable {
+
+    @ApiModelProperty(value = "主键id")
+    private Long id;
+
+    @ApiModelProperty(value = "任务id", required = true)
+    private Long taskId;
+
+    @ApiModelProperty(value = "数据id", required = true)
+    private Long dataId;
+
+    @ApiModelProperty(value = "创建人id")
+    private Long userId;
+
+    @ApiModelProperty(value = "创建人名称")
+    private String userName;
+
+    @ApiModelProperty(value = "批注信息")
+    private String comment;
+
+    @ApiModelProperty(value = "创建时间")
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date createTime;
+
+}

+ 18 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/feign/MeterWebSocketClient.java

@@ -0,0 +1,18 @@
+package org.springblade.meter.feign;
+
+import org.springblade.common.constant.LauncherConstant;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.Map;
+
+@FeignClient(value = LauncherConstant.APPLICATION_METER_NAME)
+@Component
+public interface MeterWebSocketClient {
+
+    @GetMapping(value = "/meter/getWebsocketMsg")
+    Map<String, String> getWebsocketMsg(@RequestParam String projectId, @RequestParam String contractId, @RequestParam String userIdResult);
+
+}

+ 27 - 3
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/ChangeFormVO2.java

@@ -14,12 +14,27 @@ import java.math.BigDecimal;
 @Data
 @Data
 public class ChangeFormVO2 {
 public class ChangeFormVO2 {
 
 
+    @ApiModelProperty(value = "主键id")
+    private Long primaryKeyId;
+
+    @ApiModelProperty(value = "项目id")
+    private Long projectId;
+
+    @ApiModelProperty(value = "合同段id")
+    private Long contractId;
+
+    @ApiModelProperty(value = "变更令id")
+    private Long changeTokenId;
+
     @ApiModelProperty(value = "合同计量单元id(部位)")
     @ApiModelProperty(value = "合同计量单元id(部位)")
     private Long contractMeterId;
     private Long contractMeterId;
 
 
     @ApiModelProperty(value = "清单id")
     @ApiModelProperty(value = "清单id")
     private Long id;
     private Long id;
 
 
+    @ApiModelProperty(value = "中间表id")
+    private Long middleId;
+
     @ApiModelProperty(value = "清单编号")
     @ApiModelProperty(value = "清单编号")
     private String formNumber;
     private String formNumber;
 
 
@@ -30,13 +45,13 @@ public class ChangeFormVO2 {
     private BigDecimal currentPrice;
     private BigDecimal currentPrice;
 
 
     @ApiModelProperty(value = "合同数量(变更前)")
     @ApiModelProperty(value = "合同数量(变更前)")
-    private Integer contractTotal;
+    private BigDecimal contractTotal;
 
 
     @ApiModelProperty(value = "数量变更增减")
     @ApiModelProperty(value = "数量变更增减")
-    private Integer currentChangeTotal;
+    private BigDecimal currentChangeTotal;
 
 
     @ApiModelProperty(value = "合同变更后数量(变更后)")
     @ApiModelProperty(value = "合同变更后数量(变更后)")
-    private Integer changeTotal;
+    private BigDecimal changeTotal;
 
 
     @ApiModelProperty(value = "合同金额(变更前)")
     @ApiModelProperty(value = "合同金额(变更前)")
     private BigDecimal contractMoney;
     private BigDecimal contractMoney;
@@ -46,4 +61,13 @@ public class ChangeFormVO2 {
 
 
     @ApiModelProperty(value = "变更后金额(变更后)")
     @ApiModelProperty(value = "变更后金额(变更后)")
     private BigDecimal changeMoney;
     private BigDecimal changeMoney;
+
+    @ApiModelProperty(value = "最新变更后数量")
+    private BigDecimal newestChangeTotal;
+
+    @ApiModelProperty(value = "最新变更后金额")
+    private BigDecimal newestChangeMoney;
+
+    @ApiModelProperty(value = "需要修改的中间计量申请ids")
+    private String applyIds;
 }
 }

+ 14 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/ChangeNodeVO.java

@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 import java.util.Objects;
 import java.util.Objects;
 
 
@@ -15,6 +16,9 @@ import java.util.Objects;
 @Data
 @Data
 public class ChangeNodeVO {
 public class ChangeNodeVO {
 
 
+    @ApiModelProperty(value = "主键id")
+    private Long primaryKeyId;
+
     @ApiModelProperty(value = "id")
     @ApiModelProperty(value = "id")
     private Long id;
     private Long id;
 
 
@@ -27,6 +31,15 @@ public class ChangeNodeVO {
     @ApiModelProperty(value = "合同图号")
     @ApiModelProperty(value = "合同图号")
     private String contractPicture;
     private String contractPicture;
 
 
+    @ApiModelProperty(value = "变更前-变更合同图号")
+    private String beforeContractPicture;
+
+    @ApiModelProperty(value = "变更前-施工图金额")
+    private BigDecimal beforeBuildMoney;
+
+    @ApiModelProperty(value = "变更前-变更后金额")
+    private BigDecimal beforeChangeMoney;
+
     @ApiModelProperty(value = "变更后金额")
     @ApiModelProperty(value = "变更后金额")
     private BigDecimal changeMoney;
     private BigDecimal changeMoney;
 
 
@@ -47,6 +60,7 @@ public class ChangeNodeVO {
         return id.equals(that.id);
         return id.equals(that.id);
     }
     }
 
 
+    //用于去重
     @Override
     @Override
     public int hashCode() {
     public int hashCode() {
         return Objects.hash(id);
         return Objects.hash(id);

+ 13 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/ChangeTokenFormTaskVO.java

@@ -0,0 +1,13 @@
+package org.springblade.meter.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.meter.entity.ChangeTokenFormTask;
+
+@Data
+public class ChangeTokenFormTaskVO extends ChangeTokenFormTask {
+
+    @ApiModelProperty(value = "是否已批注,1=是,0=否")
+    private Integer isComment;
+
+}

+ 47 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/ChangeTokenFormVO2.java

@@ -0,0 +1,47 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.meter.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.meter.entity.AttachmentForm;
+import org.springblade.meter.entity.ChangeTokenForm;
+
+import java.util.List;
+
+/**
+ * 变更令表视图实体类
+ *
+ * @author BladeX
+ * @since 2023-11-29
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ChangeTokenFormVO2 extends ChangeTokenForm {
+	private static final long serialVersionUID = 1L;
+
+	@ApiModelProperty(value = "变更类型名称")
+	private String changeTypeName;
+
+	@ApiModelProperty(value = "变更归类名称")
+	private String changeClassifyName;
+
+	@ApiModelProperty(value = "部位集合")
+	private List<ChangeNodeVO> nodeList;
+
+}

+ 38 - 12
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/ContractFromVO.java

@@ -27,53 +27,76 @@ public class ContractFromVO {
     @JsonSerialize(using = ToStringSerializer.class)
     @JsonSerialize(using = ToStringSerializer.class)
     private Long id;
     private Long id;
 
 
+    @ApiModelProperty(value = "清单id")
+    private Long contractFormId;
+
     /**
     /**
      * 清单编号
      * 清单编号
      */
      */
     @ApiModelProperty(value = "清单编号")
     @ApiModelProperty(value = "清单编号")
-    @ExcelProperty("清单编号")
     private String formNumber;
     private String formNumber;
     /**
     /**
      * 清单名称
      * 清单名称
      */
      */
     @ApiModelProperty(value = "清单名称")
     @ApiModelProperty(value = "清单名称")
-    @ExcelProperty("清单名称")
     private String formName;
     private String formName;
 
 
     /**
     /**
      * 当前单价
      * 当前单价
      */
      */
     @ApiModelProperty(value = "当前单价")
     @ApiModelProperty(value = "当前单价")
-    @ExcelIgnore
     private BigDecimal currentPrice;
     private BigDecimal currentPrice;
 
 
     /**
     /**
      * 合同数量
      * 合同数量
      */
      */
     @ApiModelProperty(value = "合同数量")
     @ApiModelProperty(value = "合同数量")
-    @ExcelProperty("数量")
-    private Integer contractTotal;
+    private BigDecimal contractTotal;
 
 
     /**
     /**
      * 变更后数量
      * 变更后数量
      */
      */
     @ApiModelProperty(value = "变更后数量")
     @ApiModelProperty(value = "变更后数量")
-    @ExcelIgnore
-    private Integer changeTotal;
+    private BigDecimal changeTotal;
 
 
     /**
     /**
      * 已分解量
      * 已分解量
      */
      */
-    @ApiModelProperty(value = "已分解量")
-    @ExcelIgnore
-    private Integer poseNum;
+    @ApiModelProperty(value = "已分解量 = 其他节点分解量+变更后施工图数量")
+    private BigDecimal poseNum;
+
+    /**
+     * 已分解量
+     */
+    @ApiModelProperty(value = "其他节点分解量")
+    private BigDecimal otherPoseNum;
 
 
     /**
     /**
      * 剩余分解量
      * 剩余分解量
      */
      */
     @ApiModelProperty(value = "剩余分解量")
     @ApiModelProperty(value = "剩余分解量")
-    @ExcelIgnore
-    private Integer residueNum;
+    private BigDecimal residueNum;
+
+    /**
+     * 施工图数量
+     */
+    @ApiModelProperty(value = "施工图数量")
+    private BigDecimal buildPictureTotal;
+    /**
+     * 变更后施工图数量
+     */
+    @ApiModelProperty(value = "变更后施工图数量")
+    private BigDecimal changeBuildPictureTotal;
+    /**
+     * 施工图金额
+     */
+    @ApiModelProperty(value = "施工图金额")
+    private BigDecimal buildPictureMoney;
+    /**
+     * 变更后施工图金额
+     */
+    @ApiModelProperty(value = "变更后施工图金额")
+    private BigDecimal changeBuildPictureMoney;
 
 
     /**
     /**
      * 是否增补
      * 是否增补
@@ -81,4 +104,7 @@ public class ContractFromVO {
     @ApiModelProperty(value = "是否增补")
     @ApiModelProperty(value = "是否增补")
     @ExcelIgnore
     @ExcelIgnore
     private Integer isSupplement;
     private Integer isSupplement;
+
+    @ApiModelProperty(value = "引用状态,0未引用,1引用,被引用的施工图不允许修改删除")
+    private Integer citeStatus;
 }
 }

+ 6 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/InventoryFormMeterVO.java

@@ -16,10 +16,13 @@
  */
  */
 package org.springblade.meter.vo;
 package org.springblade.meter.vo;
 
 
+import io.swagger.annotations.ApiModelProperty;
 import org.springblade.meter.entity.InventoryFormMeter;
 import org.springblade.meter.entity.InventoryFormMeter;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 
 
+import java.math.BigDecimal;
+
 /**
 /**
  * 工程清单与合同计量单元	中间表视图实体类
  * 工程清单与合同计量单元	中间表视图实体类
  *
  *
@@ -31,4 +34,7 @@ import lombok.EqualsAndHashCode;
 public class InventoryFormMeterVO extends InventoryFormMeter {
 public class InventoryFormMeterVO extends InventoryFormMeter {
 	private static final long serialVersionUID = 1L;
 	private static final long serialVersionUID = 1L;
 
 
+	@ApiModelProperty(value = "当前部位当前清单当前计量总和")
+	private BigDecimal allMeterMoney;
+
 }
 }

+ 19 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MaterialMeterFormTaskVO.java

@@ -0,0 +1,19 @@
+package org.springblade.meter.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.meter.entity.MaterialMeterFormTask;
+
+@Data
+public class MaterialMeterFormTaskVO extends MaterialMeterFormTask {
+
+    @ApiModelProperty(value = "是否已批注,1=是,0=否")
+    private Integer isComment;
+
+    @ApiModelProperty(value = "材料是否符合要求名称")
+    private String materialConformName;
+
+    @ApiModelProperty(value = "存放是否符合要求名称")
+    private String storageConformName;
+
+}

+ 7 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MeterInventoryVO.java

@@ -19,6 +19,9 @@ public class MeterInventoryVO {
     @ApiModelProperty(value = "id")
     @ApiModelProperty(value = "id")
     private Long id;
     private Long id;
 
 
+    @ApiModelProperty(value = "任务修改时使用id")
+    private Long taskDetailId;
+
     @ApiModelProperty(value = "清单编号")
     @ApiModelProperty(value = "清单编号")
     private String formNumber;
     private String formNumber;
 
 
@@ -46,4 +49,8 @@ public class MeterInventoryVO {
     @ApiModelProperty(value = "累计计量数量")
     @ApiModelProperty(value = "累计计量数量")
     private BigDecimal allMeterTotal;
     private BigDecimal allMeterTotal;
 
 
+    @ApiModelProperty(value = "其他计量期计量量")
+    private BigDecimal otherMeterTotal;
+
+
 }
 }

+ 16 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MiddleMeterApplyTaskVO.java

@@ -0,0 +1,16 @@
+package org.springblade.meter.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.meter.entity.MiddleMeterApplyTask;
+
+@Data
+public class MiddleMeterApplyTaskVO extends MiddleMeterApplyTask {
+
+    @ApiModelProperty(value = "是否已批注,1=是,0=否")
+    private Integer isComment;
+
+    @ApiModelProperty(value = "合同计量期名称")
+    private String contractPeriodIdName;
+
+}

+ 38 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MiddleMeterApplyVO2.java

@@ -0,0 +1,38 @@
+package org.springblade.meter.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.meter.entity.AttachmentForm;
+
+import java.time.LocalDate;
+import java.util.List;
+
+/**
+ * @Param   用于下达变更
+ * @Author wangwl
+ * @Date 2024/1/2 14:44
+ **/
+@Data
+public class MiddleMeterApplyVO2 {
+    @ApiModelProperty(value = "中间计量申请id")
+    private Long id;
+
+    @ApiModelProperty(value = "中间计量申请下的清单id,逗号分隔")
+    private String formIds;
+
+    @ApiModelProperty(value = "合同段id")
+    private Long contractId;
+
+    @ApiModelProperty(value = "合同计量单元id")
+    private Long contractUnitId;
+
+    @ApiModelProperty(value = "业务日期")
+    private LocalDate businessDate;
+
+    @ApiModelProperty(value = "变更令编号")
+    private String changeTokenNumber;
+
+    @ApiModelProperty(value = "变更令id,逗号拼接")
+    private String changeTokenIds;
+
+}

+ 24 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MiddleMeterTokenVO.java

@@ -0,0 +1,24 @@
+package org.springblade.meter.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.meter.entity.AttachmentForm;
+
+import java.util.List;
+
+/**
+ * @Param   中间计量申请,返回变更令和变更令编号和变更令附件
+ * @Author wangwl
+ * @Date 2024/1/2 9:37
+ **/
+@Data
+public class MiddleMeterTokenVO {
+    @ApiModelProperty(value = "变更令编号,逗号分隔")
+    private String changeTokenNumber;
+
+    @ApiModelProperty(value = "变更令id,逗号分隔")
+    private String changeTokenIds;
+
+    @ApiModelProperty(value = "变更令附件集合")
+    private List<AttachmentForm> files;
+}

+ 50 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/NodeSortVO.java

@@ -0,0 +1,50 @@
+package org.springblade.meter.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import lombok.Data;
+import org.springblade.core.tool.node.INode;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Param   计量节点按最底层排序VO
+ * @Author wangwl
+ * @Date 2023/12/26 15:38
+ **/
+@Data
+public class NodeSortVO implements INode<NodeSortVO> {
+    /**
+     * 主键ID
+     */
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+
+    /**
+     * 父节点ID
+     */
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long parentId;
+
+    /**
+     * 子孙节点
+     */
+    @JsonInclude(JsonInclude.Include.NON_EMPTY)
+    private List<NodeSortVO> children;
+
+    /**
+     * 是否有子孙节点
+     */
+    @JsonInclude(JsonInclude.Include.NON_EMPTY)
+    private Boolean hasChildren;
+
+    @Override
+    public List<NodeSortVO> getChildren() {
+        if (this.children == null) {
+            this.children = new ArrayList<>();
+        }
+        return this.children;
+    }
+}

+ 13 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/StartPayMeterFormTaskVO.java

@@ -0,0 +1,13 @@
+package org.springblade.meter.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.meter.entity.StartPayMeterFormTask;
+
+@Data
+public class StartPayMeterFormTaskVO extends StartPayMeterFormTask {
+
+    @ApiModelProperty(value = "是否已批注,1=是,0=否")
+    private Integer isComment;
+
+}

+ 25 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/TaskDataDetailVO.java

@@ -0,0 +1,25 @@
+package org.springblade.meter.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.meter.entity.AttachmentFormTask;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class TaskDataDetailVO implements Serializable {
+
+    @ApiModelProperty(value = "基础信息")
+    private Object basicsInfo;
+
+    @ApiModelProperty(value = "中间计量-关联清单列表数据")
+    private List<MeterInventoryVO> associatedDataInfoList;
+
+    @ApiModelProperty(value = "变更令-详情信息")
+    private ChangeTokenFormVO2 changeTokenFormVO;
+
+    @ApiModelProperty(value = "附件文件信息")
+    private List<AttachmentFormTask> attachmentFormTask;
+
+}

+ 21 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/TaskDetailVO.java

@@ -0,0 +1,21 @@
+package org.springblade.meter.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.meter.entity.AttachmentFormTask;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+@Data
+public class TaskDetailVO implements Serializable {
+
+    @ApiModelProperty(value = "流程信息")
+    private List<Map<String, String>> taskProcessInfo;
+
+    @ApiModelProperty(value = "中间的业务数据列表信息")
+    private Object taskCenterDataInfo;
+
+}

+ 51 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/TaskPageVO.java

@@ -0,0 +1,51 @@
+package org.springblade.meter.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class TaskPageVO implements Serializable {
+
+    @ApiModelProperty(value = "任务id")
+    private Long id;
+
+    @ApiModelProperty(value = "任务名称")
+    private String taskName;
+
+    @ApiModelProperty(value = "任务类型")
+    private String taskTypeName;
+
+    @ApiModelProperty(value = "任务状态")
+    private String taskStatusName;
+
+    @ApiModelProperty(value = "开始时间")
+    private String startTime;
+
+    @ApiModelProperty(value = "限时时间")
+    private String endTime;
+
+    @ApiModelProperty(value = "任务描述")
+    private String taskDesc;
+
+    @ApiModelProperty(value = "上报人")
+    private String taskReportUserName;
+
+    @ApiModelProperty(value = "签字人员")
+    private String taskApproveUserNames;
+
+    @ApiModelProperty(value = "电签状态")
+    private String eVisaStatus;
+
+    @ApiModelProperty(value = "签字人员集合")
+    private List<Object> taskApproveUserNamesList;
+
+    @ApiModelProperty(value = "任务类型")
+    private Integer type;
+
+    @ApiModelProperty(value = "计量数据类型")
+    private Integer meterType;
+
+}

+ 47 - 0
blade-service-api/blade-rabbitmq-producer-api/pom.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>blade-service-api</artifactId>
+        <groupId>org.springblade</groupId>
+        <version>2.9.1.RELEASE</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>blade-rabbitmq-producer-api</artifactId>
+    <name>${project.artifactId}</name>
+    <version>${bladex.project.version}</version>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-common</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-archive-api</artifactId>
+            <version>2.9.1.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-business-api</artifactId>
+            <version>2.9.1.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-meter-api</artifactId>
+            <version>2.9.1.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-manager-api</artifactId>
+            <version>2.9.1.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
+    </dependencies>
+
+</project>

+ 12 - 0
blade-service-api/blade-rabbitmq-producer-api/src/main/java/org/springblade/producer/bean/PushMessage.java

@@ -0,0 +1,12 @@
+package org.springblade.producer.bean;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface PushMessage {
+    String clientId() default "";
+}

+ 128 - 0
blade-service-api/blade-rabbitmq-producer-api/src/main/java/org/springblade/producer/bean/PushMessageAspect.java

@@ -0,0 +1,128 @@
+package org.springblade.producer.bean;
+
+import com.alibaba.fastjson.JSON;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springblade.business.feign.BusinessWebSocketClient;
+import org.springblade.core.tool.api.R;
+import org.springblade.feign.ArchiveWebSocketClient;
+import org.springblade.manager.feign.ManagerWebSocketClient;
+import org.springblade.meter.feign.MeterWebSocketClient;
+import org.springblade.common.constant.ClientIdConstant;
+
+import org.springblade.producer.feign.RabbitMqProducerServiceClient;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.util.StringUtils;
+
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+@Aspect
+@Component
+public class PushMessageAspect {
+
+    private static final Logger logger = LogManager.getLogger(PushMessageAspect.class);
+
+    private final RabbitMqProducerServiceClient rabbitMqProducerServiceClient;
+    private final ArchiveWebSocketClient archiveWebSocketClient;
+    private final BusinessWebSocketClient businessWebSocketClient;
+    private final ManagerWebSocketClient managerWebSocketClient;
+    private final MeterWebSocketClient meterWebSocketClient;
+
+    @Autowired
+    public PushMessageAspect(RabbitMqProducerServiceClient rabbitMqProducerServiceClient, ArchiveWebSocketClient archiveWebSocketClient, BusinessWebSocketClient businessWebSocketClient, ManagerWebSocketClient managerWebSocketClient, MeterWebSocketClient meterWebSocketClient) {
+        this.rabbitMqProducerServiceClient = rabbitMqProducerServiceClient;
+        this.archiveWebSocketClient = archiveWebSocketClient;
+        this.businessWebSocketClient = businessWebSocketClient;
+        this.managerWebSocketClient = managerWebSocketClient;
+        this.meterWebSocketClient = meterWebSocketClient;
+    }
+
+    @Pointcut("@annotation(org.springblade.producer.bean.PushMessage)")
+    public void pushMessagePointcut() {
+    }
+
+    @AfterReturning(value = "pushMessagePointcut()", returning = "result")
+    public void pushMessageAfterMethod(JoinPoint joinPoint, Object result) {
+        logger.info("=========================================== push message start ======================================");
+        if (result instanceof R) {
+            R<?> r = (R<?>) result;
+            Object objSet = r.getData();
+            if (objSet instanceof Set) {
+                MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+                Method method = signature.getMethod();
+                PushMessage pushMessage = method.getAnnotation(PushMessage.class);
+                String clientIds = pushMessage.clientId();
+                if (StringUtils.hasText(clientIds)) {
+                    for (String clientId : clientIds.split(",")) {
+                        Set<?> rawSet = (Set<?>) objSet;
+                        for (Object element : rawSet) {
+                            if (element instanceof String) {
+                                String param = (String) element;
+                                String userId = param.split(",")[0];
+                                String projectId = param.split(",")[1];
+                                String contractId = param.split(",")[2];
+                                this.pushMessageToMqQueue(clientId, userId, projectId, contractId);
+                            }
+                        }
+                        logger.info("=========================================== push message end ========================================");
+                    }
+                } else {
+                    logger.info("=========================================== clientId is null ========================================");
+                }
+            } else {
+                logger.info("=========================================== data is null ========================================");
+            }
+        }
+    }
+
+    private void pushMessageToMqQueue(String clientId, String userId, String projectId, String contractId) {
+        Map<String, String> stringMap = this.getTaskStringMapData(projectId, contractId, userId, clientId);
+        if (stringMap.size() > 0) {
+            switch (clientId) {
+                case ClientIdConstant.ARCHIVE_CLIENT_ID:
+                    rabbitMqProducerServiceClient.sendMessageToArchiveQueue(JSON.toJSONString(stringMap));
+                    break;
+                case ClientIdConstant.MANAGER_CLIENT_ID:
+                    rabbitMqProducerServiceClient.sendMessageToManagerQueue(JSON.toJSONString(stringMap));
+                    break;
+                case ClientIdConstant.BUSINESS_CLIENT_ID:
+                    rabbitMqProducerServiceClient.sendMessageToBusinessQueue(JSON.toJSONString(stringMap));
+                    break;
+                case ClientIdConstant.METER_CLIENT_ID:
+                    rabbitMqProducerServiceClient.sendMessageToMeterQueue(JSON.toJSONString(stringMap));
+                    break;
+            }
+        }
+    }
+
+    private Map<String, String> getTaskStringMapData(String projectId, String contractId, String userId, String clientId) {
+        Map<String, String> stringMap = new HashMap<>();
+        if (StringUtils.hasText(clientId)) {
+            switch (clientId) {
+                case ClientIdConstant.ARCHIVE_CLIENT_ID:
+                    stringMap = archiveWebSocketClient.getWebsocketMsg(projectId, contractId, userId);
+                    break;
+                case ClientIdConstant.MANAGER_CLIENT_ID:
+                    stringMap = managerWebSocketClient.getWebsocketMsg(projectId, contractId, userId);
+                    break;
+                case ClientIdConstant.BUSINESS_CLIENT_ID:
+                    stringMap = businessWebSocketClient.getWebsocketMsg(projectId, contractId, userId);
+                    break;
+                case ClientIdConstant.METER_CLIENT_ID:
+                    // TODO stringMap = meterWebSocketClient.getWebsocketMsg(projectId, contractId, userId);
+                    break;
+            }
+        }
+        return stringMap;
+    }
+
+}

+ 25 - 0
blade-service-api/blade-rabbitmq-producer-api/src/main/java/org/springblade/producer/feign/RabbitMqProducerServiceClient.java

@@ -0,0 +1,25 @@
+package org.springblade.producer.feign;
+
+import org.springblade.common.constant.LauncherConstant;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+@FeignClient(value = LauncherConstant.APPLICATION_MQ_PRODUCER)
+@Component
+public interface RabbitMqProducerServiceClient {
+
+    @GetMapping(value = "/mqProducer/sendMessageToArchiveQueue")
+    void sendMessageToArchiveQueue(@RequestParam String message);
+
+    @GetMapping(value = "/mqProducer/sendMessageToManagerQueue")
+    void sendMessageToManagerQueue(@RequestParam String message);
+
+    @GetMapping(value = "/mqProducer/sendMessageToBusinessQueue")
+    void sendMessageToBusinessQueue(@RequestParam String message);
+
+    @GetMapping(value = "/mqProducer/sendMessageToMeterQueue")
+    void sendMessageToMeterQueue(@RequestParam String message);
+
+}

+ 7 - 0
blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/AuthClient.java

@@ -47,6 +47,13 @@ public class AuthClient extends BaseEntity {
      */
      */
     @ApiModelProperty(value = "客户端密钥")
     @ApiModelProperty(value = "客户端密钥")
     private String clientSecret;
     private String clientSecret;
+
+    /**
+     * 名称
+     */
+    @ApiModelProperty(value = "名称")
+    private String name;
+
     /**
     /**
      * 资源集合
      * 资源集合
      */
      */

+ 1 - 0
blade-service-api/pom.xml

@@ -28,6 +28,7 @@
         <module>blade-control-api</module>
         <module>blade-control-api</module>
         <module>blade-land-api</module>
         <module>blade-land-api</module>
         <module>blade-meter-api</module>
         <module>blade-meter-api</module>
+        <module>blade-rabbitmq-producer-api</module>
     </modules>
     </modules>
 
 
     <dependencies>
     <dependencies>

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików