From 161f8f469ab6883dc5621a3080bb7b97cea2c221 Mon Sep 17 00:00:00 2001
From: zhizhi wu <2377881365@qq.com>
Date: Thu, 18 Mar 2021 17:09:09 +0800
Subject: [PATCH 1/6] ocr
---
ocr/pom.xml | 35 ++++
.../java/com/ccsens/orc/OcrApplication.java | 24 +++
ocr/src/main/resources/application-common.yml | 28 +++
ocr/src/main/resources/application-dev.yml | 41 ++++
.../resources/application-greenvalley.yml | 39 ++++
ocr/src/main/resources/application-prod.yml | 48 +++++
.../main/resources/application-prodapi.yml | 44 ++++
ocr/src/main/resources/application-prodsd.yml | 44 ++++
ocr/src/main/resources/application-test.yml | 51 +++++
ocr/src/main/resources/application.yml | 5 +
ocr/src/main/resources/banner.txt | 21 ++
ocr/src/main/resources/logback-spring.xml | 196 ++++++++++++++++++
.../java/com/ccsens/orc/test/OrcTest.java | 44 ++++
pom.xml | 1 +
14 files changed, 621 insertions(+)
create mode 100644 ocr/pom.xml
create mode 100644 ocr/src/main/java/com/ccsens/orc/OcrApplication.java
create mode 100644 ocr/src/main/resources/application-common.yml
create mode 100644 ocr/src/main/resources/application-dev.yml
create mode 100644 ocr/src/main/resources/application-greenvalley.yml
create mode 100644 ocr/src/main/resources/application-prod.yml
create mode 100644 ocr/src/main/resources/application-prodapi.yml
create mode 100644 ocr/src/main/resources/application-prodsd.yml
create mode 100644 ocr/src/main/resources/application-test.yml
create mode 100644 ocr/src/main/resources/application.yml
create mode 100644 ocr/src/main/resources/banner.txt
create mode 100644 ocr/src/main/resources/logback-spring.xml
create mode 100644 ocr/src/test/java/com/ccsens/orc/test/OrcTest.java
diff --git a/ocr/pom.xml b/ocr/pom.xml
new file mode 100644
index 00000000..b9200524
--- /dev/null
+++ b/ocr/pom.xml
@@ -0,0 +1,35 @@
+
+
+
+ ccsenscloud
+ com.ccsens
+ 1.0-SNAPSHOT
+
+ 4.0.0
+
+ ocr
+
+
+
+
+ cloudutil
+ com.ccsens
+ 1.0-SNAPSHOT
+
+
+
+ util
+ com.ccsens
+ 1.0-SNAPSHOT
+
+
+
+ org.bytedeco.javacpp-presets
+ opencv
+ 4.0.1-1.4.4
+
+
+
+
\ No newline at end of file
diff --git a/ocr/src/main/java/com/ccsens/orc/OcrApplication.java b/ocr/src/main/java/com/ccsens/orc/OcrApplication.java
new file mode 100644
index 00000000..d1c1c8e2
--- /dev/null
+++ b/ocr/src/main/java/com/ccsens/orc/OcrApplication.java
@@ -0,0 +1,24 @@
+package com.ccsens.orc;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.servlet.ServletComponentScan;
+import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.scheduling.annotation.EnableAsync;
+
+/**
+ * @description:
+ * @author: whj
+ * @time: 2021/3/17 15:41
+ */
+
+@MapperScan(basePackages = {"com.ccsens.ocr.persist.*"})
+@ServletComponentScan
+@EnableAsync
+//开启断路器功能
+@EnableCircuitBreaker
+@EnableFeignClients(basePackages = "com.ccsens.cloudutil.feign")
+@SpringBootApplication(scanBasePackages = "com.ccsens")
+public class OcrApplication {
+}
diff --git a/ocr/src/main/resources/application-common.yml b/ocr/src/main/resources/application-common.yml
new file mode 100644
index 00000000..c27ac934
--- /dev/null
+++ b/ocr/src/main/resources/application-common.yml
@@ -0,0 +1,28 @@
+logging:
+ level:
+ com:
+ favorites: DEBUG
+ org:
+ hibernate: ERROR
+ springframework:
+ web: DEBUG
+mybatis:
+ config-location: classpath:mybatis/mybatis-config.xml
+ mapper-locations: classpath*:mapper_*/*.xml
+ type-aliases-package: com.ccsens.ht.bean
+server:
+ tomcat:
+ uri-encoding: UTF-8
+spring:
+ http:
+ encoding:
+ charset: UTF-8
+ enabled: true
+ force: true
+ log-request-details: true
+ servlet:
+ multipart:
+ max-file-size: 10MB
+ max-request-size: 100MB
+
+
diff --git a/ocr/src/main/resources/application-dev.yml b/ocr/src/main/resources/application-dev.yml
new file mode 100644
index 00000000..8cb2dc85
--- /dev/null
+++ b/ocr/src/main/resources/application-dev.yml
@@ -0,0 +1,41 @@
+server:
+ port: 7030
+ servlet:
+ context-path: /v1.0
+spring:
+ snowflake:
+ datacenterId: 1
+ workerId: 1
+ application:
+ name: tall
+ datasource:
+ type: com.alibaba.druid.pool.DruidDataSource
+ rabbitmq:
+ host: 192.168.0.99
+ password: guest
+ port: 5672
+ username: guest
+ redis:
+ database: 0
+ host: 127.0.0.1
+ jedis:
+ pool:
+ max-active: 200
+ max-idle: 10
+ max-wait: -1ms
+ min-idle: 0
+ password: ''
+ port: 6379
+ timeout: 1000ms
+swagger:
+ enable: true
+
+gatewayUrl: https://test.tall.wiki/gateway/
+notGatewayUrl: /home/staticrec/logo.png
+smsCode: 0
+wx:
+ prefixUrl: https://test.tall.wiki/wxconfigurer-api/
+file:
+ path: /home/cloud/tall/uploads/
+ domain: http://localhost:7030/v1.0/
+ imgDomain: http://localhost:7030/v1.0/uploads
\ No newline at end of file
diff --git a/ocr/src/main/resources/application-greenvalley.yml b/ocr/src/main/resources/application-greenvalley.yml
new file mode 100644
index 00000000..fa815963
--- /dev/null
+++ b/ocr/src/main/resources/application-greenvalley.yml
@@ -0,0 +1,39 @@
+server:
+ port: 7030
+ servlet:
+ context-path: /v1.0
+spring:
+ snowflake:
+ datacenterId: 1
+ workerId: 1
+ application:
+ name: tall
+ datasource:
+ type: com.alibaba.druid.pool.DruidDataSource
+ rabbitmq:
+ host: 127.0.0.1
+ password: admin
+ port: 5672
+ username: 111111
+ redis:
+ database: 0
+ host: 127.0.0.1
+ jedis:
+ pool:
+ max-active: 200
+ max-idle: 10
+ max-wait: -1ms
+ min-idle: 0
+ password: ''
+ port: 6379
+ timeout: 1000ms
+swagger:
+ enable: true
+eureka:
+ instance:
+ ip-address: 82.156.116.247
+gatewayUrl: http://82.156.116.247 /gateway/
+notGatewayUrl: http://82.156.116.247 /
+file:
+ domain: http://82.156.116.247 /gateway/tall/v1.0/
+ imgDomain: http://82.156.116.247 /gateway/tall/v1.0/uploads
\ No newline at end of file
diff --git a/ocr/src/main/resources/application-prod.yml b/ocr/src/main/resources/application-prod.yml
new file mode 100644
index 00000000..48426ae3
--- /dev/null
+++ b/ocr/src/main/resources/application-prod.yml
@@ -0,0 +1,48 @@
+server:
+ port: 7030
+ servlet:
+ context-path: /v1.0
+spring:
+ snowflake:
+ datacenterId: 1
+ workerId: 1
+ application:
+ name: tall
+ datasource:
+ type: com.alibaba.druid.pool.DruidDataSource
+ rabbitmq:
+ host: 127.0.0.1
+ password: 111111
+ port: 5672
+ username: admin
+ redis:
+ database: 0
+ host: 127.0.0.1
+ jedis:
+ pool:
+ max-active: 200
+ max-idle: 10
+ max-wait: -1ms
+ min-idle: 0
+# password: ''
+ password: 'areowqr!@43ef'
+ port: 6379
+ timeout: 1000ms
+swagger:
+ enable: false
+eureka:
+ instance:
+ # www.tall.wiki
+# ip-address: 140.143.228.3
+# ip-address: 81.70.54.64
+ ip-address: 192.144.182.42
+
+gatewayUrl: https://www.tall.wiki/gateway/
+notGatewayUrl: https://www.tall.wiki/
+smsCode: 1
+wx:
+ prefixUrl: https://www.tall.wiki/wxconfigurer-api/
+file:
+ path: /home/cloud/tall/uploads/
+ domain: https://www.tall.wiki/gateway/tall/v1.0/
+ imgDomain: https://www.tall.wiki/gateway/tall/v1.0/uploads
\ No newline at end of file
diff --git a/ocr/src/main/resources/application-prodapi.yml b/ocr/src/main/resources/application-prodapi.yml
new file mode 100644
index 00000000..c0e64083
--- /dev/null
+++ b/ocr/src/main/resources/application-prodapi.yml
@@ -0,0 +1,44 @@
+server:
+ port: 7031
+ servlet:
+ context-path: /v1.0
+spring:
+ snowflake:
+ datacenterId: 3
+ workerId: 3
+ application:
+ name: tall
+ datasource:
+ type: com.alibaba.druid.pool.DruidDataSource
+ rabbitmq:
+ host: www.tall.wiki
+ password: 111111
+ port: 5672
+ username: admin
+ redis:
+ database: 0
+ host: www.tall.wiki
+ jedis:
+ pool:
+ max-active: 200
+ max-idle: 10
+ max-wait: -1ms
+ min-idle: 0
+ password: 'areowqr!@43ef'
+ port: 6379
+ timeout: 1000ms
+swagger:
+ enable: false
+eureka:
+ instance:
+ ip-address: 129.28.149.79
+
+gatewayUrl: https://www.tall.wiki/gateway/
+notGatewayUrl: https://www.tall.wiki/
+smsCode: 1
+wx:
+ prefixUrl: https://www.tall.wiki/wxconfigurer-api/
+file:
+ path: /home/cloud/tall/uploads/
+ domain: https://www.tall.wiki/gateway/tall/v1.0/
+ imgDomain: https://www.tall.wiki/gateway/tall/v1.0/uploads
\ No newline at end of file
diff --git a/ocr/src/main/resources/application-prodsd.yml b/ocr/src/main/resources/application-prodsd.yml
new file mode 100644
index 00000000..0e72ae87
--- /dev/null
+++ b/ocr/src/main/resources/application-prodsd.yml
@@ -0,0 +1,44 @@
+server:
+ port: 7031
+ servlet:
+ context-path: /v1.0
+spring:
+ snowflake:
+ datacenterId: 2
+ workerId: 2
+ application:
+ name: tall
+ datasource:
+ type: com.alibaba.druid.pool.DruidDataSource
+ rabbitmq:
+ host: www.tall.wiki
+ password: 111111
+ port: 5672
+ username: admin
+ redis:
+ database: 0
+ host: www.tall.wiki
+ jedis:
+ pool:
+ max-active: 200
+ max-idle: 10
+ max-wait: -1ms
+ min-idle: 0
+ password: 'areowqr!@43ef'
+ port: 6379
+ timeout: 1000ms
+swagger:
+ enable: false
+eureka:
+ instance:
+ ip-address: 81.70.54.64
+
+gatewayUrl: https://www.tall.wiki/gateway/
+notGatewayUrl: https://www.tall.wiki/
+smsCode: 1
+wx:
+ prefixUrl: https://www.tall.wiki/wxconfigurer-api/
+file:
+ path: /home/cloud/tall/uploads/
+ domain: https://www.tall.wiki/gateway/tall/v1.0/
+ imgDomain: https://www.tall.wiki/gateway/tall/v1.0/uploads
\ No newline at end of file
diff --git a/ocr/src/main/resources/application-test.yml b/ocr/src/main/resources/application-test.yml
new file mode 100644
index 00000000..de3527c1
--- /dev/null
+++ b/ocr/src/main/resources/application-test.yml
@@ -0,0 +1,51 @@
+server:
+ port: 7030
+ servlet:
+ context-path: /v1.0
+spring:
+ snowflake:
+ datacenterId: 1
+ workerId: 1
+ application:
+ name: tall
+ datasource:
+ type: com.alibaba.druid.pool.DruidDataSource
+ rabbitmq:
+ host: 127.0.0.1
+# host: api.ccsens.com
+ password: 111111
+ port: 5672
+ username: admin
+ redis:
+ database: 0
+ host: 127.0.0.1
+ jedis:
+ pool:
+ max-active: 200
+ max-idle: 10
+ max-wait: -1ms
+ min-idle: 0
+ password: ''
+ port: 6379
+ timeout: 1000ms
+swagger:
+ enable: true
+eureka:
+ instance:
+ ip-address: 192.168.0.99
+# ip-address: 49.233.89.188
+#gatewayUrl: http://192.168.0.99/gateway/
+#notGatewayUrl: http://192.168.0.99/
+gatewayUrl: https://test.tall.wiki/gateway/
+notGatewayUrl: https://test.tall.wiki/
+smsCode: 0
+wx:
+ prefixUrl: https://www.tall.wiki/wxconfigurer-api/
+file:
+ path: /home/cloud/tall/uploads/
+ domain: https://test.tall.wiki/gateway/tall/v1.0/
+ imgDomain: https://test.tall.wiki/gateway/tall/v1.0/uploads
+
+#file:
+# domain: http://192.168.0.99/gateway/tall/v1.0/
+# imgDomain: http://192.168.0.99/gateway/tall/v1.0/uploads
\ No newline at end of file
diff --git a/ocr/src/main/resources/application.yml b/ocr/src/main/resources/application.yml
new file mode 100644
index 00000000..b5408a3a
--- /dev/null
+++ b/ocr/src/main/resources/application.yml
@@ -0,0 +1,5 @@
+spring:
+ profiles:
+ active: dev
+ include: util-dev,common
+
diff --git a/ocr/src/main/resources/banner.txt b/ocr/src/main/resources/banner.txt
new file mode 100644
index 00000000..759c9b00
--- /dev/null
+++ b/ocr/src/main/resources/banner.txt
@@ -0,0 +1,21 @@
+// _ooOoo_
+// o8888888o
+// 88" . "88
+// (| -_- |)
+// O\ = /O
+// ____/`---'\____
+// . ' \\| |// `.
+// / \\||| : |||// \
+// / _||||| -:- |||||- \
+// | | \\\ - /// | |
+// | \_| ''\---/'' | |
+// \ .-\__ `-` ___/-. /
+// ___`. .' /--.--\ `. . __
+// ."" '< `.___\_<|>_/___.' >'"".
+// | | : `- \`.;`\ _ /`;.`/ - ` : | |
+// \ \ `-. \_ __\ /__ _/ .-` / /
+// ======`-.____`-.___\_____/___.-`____.-'======
+// `=---='
+//
+// .............................................
+// 佛祖保佑 永无BUG
\ No newline at end of file
diff --git a/ocr/src/main/resources/logback-spring.xml b/ocr/src/main/resources/logback-spring.xml
new file mode 100644
index 00000000..f3348e34
--- /dev/null
+++ b/ocr/src/main/resources/logback-spring.xml
@@ -0,0 +1,196 @@
+
+
+
+
+
+
+
+
+
+ logback
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ info
+
+
+ ${CONSOLE_LOG_PATTERN}
+
+ UTF-8
+
+
+
+
+
+
+
+
+
+ ${log.path}/log_debug.log
+
+
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
+ UTF-8
+
+
+
+
+ ${log.path}/debug/log-debug-%d{yyyy-MM-dd}.%i.log
+
+ 100MB
+
+
+ 15
+
+
+
+ debug
+ ACCEPT
+ DENY
+
+
+
+
+
+
+ ${log.path}/log_info.log
+
+
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
+ UTF-8
+
+
+
+
+ ${log.path}/info/log-info-%d{yyyy-MM-dd}.%i.log
+
+ 100MB
+
+
+ 15
+
+
+
+ info
+ ACCEPT
+ DENY
+
+
+
+
+
+
+ ${log.path}/log_warn.log
+
+
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
+ UTF-8
+
+
+
+ ${log.path}/warn/log-warn-%d{yyyy-MM-dd}.%i.log
+
+ 100MB
+
+
+ 15
+
+
+
+ warn
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${log.path}/log_error.log
+
+
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
+ UTF-8
+
+
+
+ ${log.path}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+ 100MB
+
+
+ 15
+
+
+
+ ERROR
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ocr/src/test/java/com/ccsens/orc/test/OrcTest.java b/ocr/src/test/java/com/ccsens/orc/test/OrcTest.java
new file mode 100644
index 00000000..053a9eff
--- /dev/null
+++ b/ocr/src/test/java/com/ccsens/orc/test/OrcTest.java
@@ -0,0 +1,44 @@
+package com.ccsens.orc.test;
+
+import org.junit.Test;
+import org.opencv.core.Core;
+import org.opencv.core.CvType;
+import org.opencv.core.Mat;
+import org.opencv.core.Size;
+import org.opencv.imgcodecs.Imgcodecs;
+import org.opencv.imgproc.Imgproc;
+
+/**
+ * @description:
+ * @author: whj
+ * @time: 2021/3/17 17:45
+ */
+public class OrcTest {
+
+ @Test
+ public void test01(){
+ // 加载资源
+ System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
+
+ //创建3px*3px的8UC1(8个位的无符号(8U)单通道(C1)整数)
+// Mat hello = Mat.eye(3,3, CvType.CV_8UC1);
+// System.out.println(hello.dump());
+ //加载图片
+// Mat mat = Imgcodecs.imread("D:\\img\\0df7f58ea9d3a61019596094eb35003.png");
+ // 加载图片并灰度图像
+ Mat mat = Imgcodecs.imread("D:\\img\\0df7f58ea9d3a61019596094eb35003.png", Imgcodecs.IMREAD_GRAYSCALE);
+// System.out.println(mat.width() + "*" + mat.height() + "," + mat.type());
+ System.out.println(mat);
+ // 输出图片
+// Imgcodecs.imwrite("D:\\img\\1.png", mat);
+ // 截取图像
+ Mat submat = mat.submat(50, 300, 60, 250);
+// Imgcodecs.imwrite("D:\\img\\1.png", submat);
+ // 模糊图片 模糊子图片后,父模块也跟着模糊了
+ Imgproc.blur(submat, submat, new Size(25.0,25.0));
+ System.out.println(submat);
+ Imgcodecs.imwrite("D:\\img\\blur.png", mat);
+
+
+ }
+}
diff --git a/pom.xml b/pom.xml
index 625987e1..3a1adf27 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,6 +20,7 @@
tcm
+ ocr
From a508190247ecead5818b7d9faae7f24102d1ff66 Mon Sep 17 00:00:00 2001
From: wang0018 <1007152140@qq.com>
Date: Thu, 18 Mar 2021 17:15:56 +0800
Subject: [PATCH 2/6] la
---
.../src/main/java/com/ccsens/tall/service/ExcelService.java | 4 ++--
tall/src/main/java/com/ccsens/tall/web/LogController.java | 6 ++++--
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java
index 43375b88..0ecb3078 100644
--- a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java
+++ b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java
@@ -143,10 +143,10 @@ public class ExcelService implements IExcelService {
if (projectInfoStart == 0) {
throw new BaseException(CodeEnum.WSB_NOT_PROJECT_HEADER);
}
- if (projectInfoStart == 0) {
+ if (memberStart == 0) {
throw new BaseException(CodeEnum.WSB_NOT_MEMBER_HEADER);
}
- if (projectInfoStart == 0) {
+ if (taskStart == 0) {
throw new BaseException(CodeEnum.WSB_NOT_TASK_HEADER);
}
readProject(wbsSheet, projectInfoStart, projectInfoEnd, currentUserId, sysProject);
diff --git a/tall/src/main/java/com/ccsens/tall/web/LogController.java b/tall/src/main/java/com/ccsens/tall/web/LogController.java
index 873bffd6..44bf40bc 100644
--- a/tall/src/main/java/com/ccsens/tall/web/LogController.java
+++ b/tall/src/main/java/com/ccsens/tall/web/LogController.java
@@ -14,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import javax.annotation.Resource;
+
/**
* @description:
* @author: wuHuiJuan
@@ -24,9 +26,9 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
public class LogController {
- @Autowired
+ @Resource
private SysLogMapper sysLogMapper;
- @Autowired
+ @Resource
private Snowflake snowflake;
@RequestMapping("/log/operation")
From 6cdefc7493ebd54ba429e1984de590ee3077c3e1 Mon Sep 17 00:00:00 2001
From: wang0018 <1007152140@qq.com>
Date: Thu, 18 Mar 2021 18:34:01 +0800
Subject: [PATCH 3/6] tijiao
---
.../com/ccsens/tall/service/ExcelService.java | 25 +++++++++++++++++++
tall/src/main/resources/application.yml | 4 +--
2 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java
index 3ef37805..c4827750 100644
--- a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java
+++ b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java
@@ -13,6 +13,8 @@ import com.ccsens.util.cron.CronConstant;
import com.ccsens.util.cron.NatureToDate;
import com.ccsens.util.exception.BaseException;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.map.HashedMap;
+import org.apache.commons.lang.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
@@ -606,6 +608,19 @@ public class ExcelService implements IExcelService {
private void readTask(XSSFWorkbook xssfWorkbook, XSSFSheet wbsSheet, int taskStart, int taskEnd,
Long currentUserId, SysProject sysProject, List taskDetails,
List proRoles, List proMembers, Map> hasGroupMap) throws Exception {
+ /**
+ * 读取到任务的表头,key为属性,value为在第几列
+ */
+ HashMap map =new HashMap();
+ XSSFRow rowq = wbsSheet.getRow(taskStart);
+ for (int q=0;q<100;q++){
+ String s= ExcelUtil.getCellValue(rowq.getCell(q));
+ if(StringUtils.isBlank(s)){
+ break;
+ }
+ map.put(s,q);
+ }
+
Long pmRoleId = null;
//获取项目经理的id(一级角色)
for (ProRole role : proRoles) {
@@ -659,14 +674,24 @@ public class ExcelService implements IExcelService {
String subTaskCell = ExcelUtil.getCellValue(row.getCell(8));
//关联子项目表
String subProject = ExcelUtil.getCellValue(row.getCell(9));
+ //交付物
String deliver = ExcelUtil.getCellValue(row.getCell(10));
+ //负责人
String executorRole = ExcelUtil.getCellValue(row.getCell(11));
+ //检查人
String checkerRole = ExcelUtil.getCellValue(row.getCell(12));
+ //即时奖惩(元)
String money = ExcelUtil.getCellValue(row.getCell(13));
+ //任务切换模式
String delay = ExcelUtil.getCellValue(row.getCell(14));
+ //延迟时间
+ //(自动延迟模式可用)
String delayTime = ExcelUtil.getCellValue(row.getCell(15));
+ //跳转任务
String loopTo = ExcelUtil.getCellValue(row.getCell(16));
+ //跳转次数
String loopTimes = ExcelUtil.getCellValue(row.getCell(17));
+ //输入文件
String input = ExcelUtil.getCellValue(row.getCell(18));
//二级任务名不能为空
// if(StrUtil.isEmpty(task2)){
diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml
index 9e02c3e8..b5408a3a 100644
--- a/tall/src/main/resources/application.yml
+++ b/tall/src/main/resources/application.yml
@@ -1,5 +1,5 @@
spring:
profiles:
- active: greenvalley
- include: util-greenvalley,common
+ active: dev
+ include: util-dev,common
From 0026eada985eb6ce26fee2a54a1e02884d8eaea8 Mon Sep 17 00:00:00 2001
From: zhizhi wu <2377881365@qq.com>
Date: Fri, 19 Mar 2021 09:30:36 +0800
Subject: [PATCH 4/6] orcTest
---
.../java/com/ccsens/orc/test/OrcTest.java | 32 ++++++++++++++-----
1 file changed, 24 insertions(+), 8 deletions(-)
diff --git a/ocr/src/test/java/com/ccsens/orc/test/OrcTest.java b/ocr/src/test/java/com/ccsens/orc/test/OrcTest.java
index 053a9eff..4d4a73ec 100644
--- a/ocr/src/test/java/com/ccsens/orc/test/OrcTest.java
+++ b/ocr/src/test/java/com/ccsens/orc/test/OrcTest.java
@@ -24,21 +24,37 @@ public class OrcTest {
// Mat hello = Mat.eye(3,3, CvType.CV_8UC1);
// System.out.println(hello.dump());
//加载图片
-// Mat mat = Imgcodecs.imread("D:\\img\\0df7f58ea9d3a61019596094eb35003.png");
+ Mat mat = Imgcodecs.imread("D:\\img\\0df7f58ea9d3a61019596094eb35003.png");
// 加载图片并灰度图像
- Mat mat = Imgcodecs.imread("D:\\img\\0df7f58ea9d3a61019596094eb35003.png", Imgcodecs.IMREAD_GRAYSCALE);
+// Mat mat = Imgcodecs.imread("D:\\img\\0df7f58ea9d3a61019596094eb35003.png", Imgcodecs.IMREAD_GRAYSCALE);
// System.out.println(mat.width() + "*" + mat.height() + "," + mat.type());
- System.out.println(mat);
+// System.out.println(mat);
// 输出图片
// Imgcodecs.imwrite("D:\\img\\1.png", mat);
// 截取图像
- Mat submat = mat.submat(50, 300, 60, 250);
+// Mat submat = mat.submat(50, 300, 60, 250);
// Imgcodecs.imwrite("D:\\img\\1.png", submat);
// 模糊图片 模糊子图片后,父模块也跟着模糊了
- Imgproc.blur(submat, submat, new Size(25.0,25.0));
- System.out.println(submat);
- Imgcodecs.imwrite("D:\\img\\blur.png", mat);
-
+// Imgproc.blur(submat, submat, new Size(25.0,25.0));
+// System.out.println(submat);
+// Imgcodecs.imwrite("D:\\img\\blur.png", mat);
+ // 黑白化
+ Imgproc.cvtColor(mat, mat, Imgproc.COLOR_RGB2GRAY);
+ /*
+ 高亮显示轮廓
+ ■源矩阵
+ ■目标矩阵
+ ■低阈值,使用150.0
+ ■高阈值,通常是低阈值的2倍或3倍
+ ■光圈,3~7之间的一个奇数,我们使用3。光圈值越大,被检测到的轮廓越多
+ ■L2梯度,暂时设置为true
+ */
+ Imgproc.Canny(mat, mat, 150,300,5, true);
+ // 反色操作
+ Core.bitwise_not(mat, mat);
+ // 将反色结果作为掩膜
+ Mat target = new Mat(mat.height(), mat.width(), CvType.CV_8UC3);
+ Imgcodecs.imwrite("D:\\img\\1.png", mat);
}
}
From 07a7c1ac003bd51a9ef1d7f9da94abb2a1dd3033 Mon Sep 17 00:00:00 2001
From: zhizhi wu <2377881365@qq.com>
Date: Mon, 22 Mar 2021 15:23:39 +0800
Subject: [PATCH 5/6] =?UTF-8?q?'prod=E7=8E=AF=E5=A2=83=E5=8F=98=E6=9B=B4'?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/main/resources/application.yml | 4 +-
.../main/resources/application-util-prod.yml | 2 +-
.../main/resources/application-util-test.yml | 2 +-
game/src/main/resources/application-prod.yml | 2 +-
.../src/main/resources/application-prodsd.yml | 2 +-
game/src/main/resources/application.yml | 2 +-
ht/src/main/resources/application-prod.yml | 2 +-
mt/src/main/resources/application-dev.yml | 2 +-
mt/src/main/resources/application.yml | 4 +-
ocr/src/main/resources/application-prodsd.yml | 2 +-
.../java/com/ccsens/orc/test/OrcTest.java | 5 +-
pom.xml | 6 +-
.../src/main/resources/application-prodsd.yml | 2 +-
tall/src/main/resources/application-test.yml | 2 +-
tall/src/main/resources/application.yml | 4 +-
.../main/java/com/ccsens/util/PoiUtil.java | 1 -
.../ccsens/wisdomcar/bean/dto/RecordDto.java | 5 ++
.../ccsens/wisdomcar/bean/vo/RecordVo.java | 5 +-
.../persist/dao/WisdomCarRecordDao.java | 11 ++++
.../wisdomcar/service/RecordService.java | 64 ++++++++++++++++++-
.../src/main/resources/application-test.yml | 2 +-
.../mapper_dao/WisdomCarRecordDao.xml | 27 ++++++++
22 files changed, 128 insertions(+), 30 deletions(-)
diff --git a/beneficiation/src/main/resources/application.yml b/beneficiation/src/main/resources/application.yml
index ac92adb9..1ac895fc 100644
--- a/beneficiation/src/main/resources/application.yml
+++ b/beneficiation/src/main/resources/application.yml
@@ -1,6 +1,6 @@
spring:
profiles:
- active: test
- include: common, util-test
+ active: prod
+ include: common, util-prod
diff --git a/cloudutil/src/main/resources/application-util-prod.yml b/cloudutil/src/main/resources/application-util-prod.yml
index 189c4bef..6fd2ea14 100644
--- a/cloudutil/src/main/resources/application-util-prod.yml
+++ b/cloudutil/src/main/resources/application-util-prod.yml
@@ -22,7 +22,7 @@ eureka:
#defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/
# defaultZone: http://admin:admin@81.70.54.64:7010/eureka/
- defaultZone: http://admin:admin@192.144.182.42:7010/eureka/
+ defaultZone: http://admin:admin@121.36.3.207:7010/eureka/
instance:
# 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server
diff --git a/cloudutil/src/main/resources/application-util-test.yml b/cloudutil/src/main/resources/application-util-test.yml
index 5401183c..3429f03e 100644
--- a/cloudutil/src/main/resources/application-util-test.yml
+++ b/cloudutil/src/main/resources/application-util-test.yml
@@ -83,7 +83,7 @@ eureka:
# 指定eureka server通信地址,注意/eureka/小尾巴不能少
#defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/
# defaultZone: http://admin:admin@49.232.6.143:7010/eureka/
- defaultZone: http://admin:admin@192.168.0.99:7010/eureka/
+ defaultZone: http://admin:admin@192.168.31.13:7010/eureka/
# defaultZone: http://admin:admin@test.tall.wiki:7010/eureka/
instance:
# 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server
diff --git a/game/src/main/resources/application-prod.yml b/game/src/main/resources/application-prod.yml
index 25d923e2..21a31e26 100644
--- a/game/src/main/resources/application-prod.yml
+++ b/game/src/main/resources/application-prod.yml
@@ -32,7 +32,7 @@ swagger:
enable: true
eureka:
instance:
- ip-address: 192.144.182.42
+ ip-address: 121.36.3.207
gatewayUrl: https://www.tall.wiki/gateway/
notGatewayUrl: https://www.tall.wiki/
diff --git a/game/src/main/resources/application-prodsd.yml b/game/src/main/resources/application-prodsd.yml
index ebd7485c..4e218684 100644
--- a/game/src/main/resources/application-prodsd.yml
+++ b/game/src/main/resources/application-prodsd.yml
@@ -31,7 +31,7 @@ swagger:
enable: true
eureka:
instance:
- ip-address: 81.70.54.64
+ ip-address: 121.36.3.207
gatewayUrl: https://www.tall.wiki/gateway/
notGatewayUrl: https://www.tall.wiki/
diff --git a/game/src/main/resources/application.yml b/game/src/main/resources/application.yml
index 6c2249b0..d082c0ea 100644
--- a/game/src/main/resources/application.yml
+++ b/game/src/main/resources/application.yml
@@ -1,4 +1,4 @@
spring:
profiles:
- active: prodapi
+ active: prod
include: common, util-prod
\ No newline at end of file
diff --git a/ht/src/main/resources/application-prod.yml b/ht/src/main/resources/application-prod.yml
index c3cc8976..d14db72c 100644
--- a/ht/src/main/resources/application-prod.yml
+++ b/ht/src/main/resources/application-prod.yml
@@ -39,5 +39,5 @@ ht:
name: 认知功能评测云平台系统
eureka:
instance:
- ip-address: 81.70.54.64
+ ip-address: 121.36.3.207
diff --git a/mt/src/main/resources/application-dev.yml b/mt/src/main/resources/application-dev.yml
index 646ecd0c..45fd1c45 100644
--- a/mt/src/main/resources/application-dev.yml
+++ b/mt/src/main/resources/application-dev.yml
@@ -8,7 +8,7 @@ spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
rabbitmq:
- host: 81.70.54.64
+ host: 121.36.3.207
password: 111111
port: 5672
username: admin
diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml
index a47f2a7b..1ac895fc 100644
--- a/mt/src/main/resources/application.yml
+++ b/mt/src/main/resources/application.yml
@@ -1,6 +1,6 @@
spring:
profiles:
- active: dev
- include: common, util-dev
+ active: prod
+ include: common, util-prod
diff --git a/ocr/src/main/resources/application-prodsd.yml b/ocr/src/main/resources/application-prodsd.yml
index 0e72ae87..b3d23b27 100644
--- a/ocr/src/main/resources/application-prodsd.yml
+++ b/ocr/src/main/resources/application-prodsd.yml
@@ -31,7 +31,7 @@ swagger:
enable: false
eureka:
instance:
- ip-address: 81.70.54.64
+ ip-address: 121.36.3.207
gatewayUrl: https://www.tall.wiki/gateway/
notGatewayUrl: https://www.tall.wiki/
diff --git a/ocr/src/test/java/com/ccsens/orc/test/OrcTest.java b/ocr/src/test/java/com/ccsens/orc/test/OrcTest.java
index 4d4a73ec..cc01df11 100644
--- a/ocr/src/test/java/com/ccsens/orc/test/OrcTest.java
+++ b/ocr/src/test/java/com/ccsens/orc/test/OrcTest.java
@@ -53,8 +53,9 @@ public class OrcTest {
// 反色操作
Core.bitwise_not(mat, mat);
// 将反色结果作为掩膜
- Mat target = new Mat(mat.height(), mat.width(), CvType.CV_8UC3);
-
+ Mat bg = Imgcodecs.imread("D:\\img\\e2669de7219943b8ac37f79dd8fef2f8.png");
+ Imgproc.resize(bg, bg, mat.size());
+ bg.copyTo(mat,mat);
Imgcodecs.imwrite("D:\\img\\1.png", mat);
}
}
diff --git a/pom.xml b/pom.xml
index 3a1adf27..886f407b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,9 +9,9 @@
cloudutil
util
tall
-
-
-
+ ht
+ game
+ mt
wisdomcar
beneficiation
diff --git a/tall/src/main/resources/application-prodsd.yml b/tall/src/main/resources/application-prodsd.yml
index 1177ad28..fc50b900 100644
--- a/tall/src/main/resources/application-prodsd.yml
+++ b/tall/src/main/resources/application-prodsd.yml
@@ -31,7 +31,7 @@ swagger:
enable: false
eureka:
instance:
- ip-address: 81.70.54.64
+ ip-address: 121.36.3.207
gatewayUrl: https://www.tall.wiki/gateway/
notGatewayUrl: https://www.tall.wiki/
diff --git a/tall/src/main/resources/application-test.yml b/tall/src/main/resources/application-test.yml
index 0d2c66c4..c6f9600e 100644
--- a/tall/src/main/resources/application-test.yml
+++ b/tall/src/main/resources/application-test.yml
@@ -32,7 +32,7 @@ swagger:
enable: true
eureka:
instance:
- ip-address: 192.168.0.99
+ ip-address: 127.0.0.1
# ip-address: 49.233.89.188
#gatewayUrl: http://192.168.0.99/gateway/
#notGatewayUrl: http://192.168.0.99/
diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml
index b5408a3a..e75cc2c3 100644
--- a/tall/src/main/resources/application.yml
+++ b/tall/src/main/resources/application.yml
@@ -1,5 +1,5 @@
spring:
profiles:
- active: dev
- include: util-dev,common
+ active: prod
+ include: util-prod,common
diff --git a/util/src/main/java/com/ccsens/util/PoiUtil.java b/util/src/main/java/com/ccsens/util/PoiUtil.java
index ddb69837..654acf07 100644
--- a/util/src/main/java/com/ccsens/util/PoiUtil.java
+++ b/util/src/main/java/com/ccsens/util/PoiUtil.java
@@ -186,7 +186,6 @@ public class PoiUtil {
if(ObjectUtil.isNull(cell.value)) {
log.info("单元格内容为空:{}", cell.value);
}else {
- log.info("单元格内容:{}", cell.value);
if (cell.value.length() <= 14 && cell.value.matches("\\d+")) {
newCell.setCellValue(Long.parseLong(cell.value));
} else {
diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/RecordDto.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/RecordDto.java
index 2a8b0fdc..c0c265ef 100644
--- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/RecordDto.java
+++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/RecordDto.java
@@ -26,6 +26,9 @@ public class RecordDto {
private Long startTime;
@ApiModelProperty("结束时间, 默认当前时间")
private Long endTime;
+ @ApiModelProperty("数据类型 0开始 1体重 2rfid, 3称重一 4称重二 5称重三 6称重四 7震动 8剂量")
+ private byte[] types = {1,2};
+
// @ApiModelProperty("当前页,默认1")
// private int pageNum=1;
// @ApiModelProperty("每页数量,默认100")
@@ -55,6 +58,8 @@ public class RecordDto {
private Long startTime;
@ApiModelProperty("结束时间, 默认当前时间")
private Long endTime;
+ @ApiModelProperty("数据类型 0开始 1体重 2rfid, 3称重一 4称重二 5称重三 6称重四 7震动 8剂量")
+ private byte[] types = {1,2};
{
endTime = System.currentTimeMillis();
diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/RecordVo.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/RecordVo.java
index 2a0259e4..1dad8cd8 100644
--- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/RecordVo.java
+++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/RecordVo.java
@@ -1,12 +1,9 @@
package com.ccsens.wisdomcar.bean.vo;
-import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import java.util.Date;
-
/**
* @description: 数据记录
* @author: whj
@@ -21,7 +18,7 @@ public class RecordVo {
@ApiModelProperty("时间")
private Long time;
@ApiModelProperty("类型:1体重 2rfid")
- private Byte type;
+ private byte type;
private String value;
private String name;
}
diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarRecordDao.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarRecordDao.java
index 41f5dbe1..97e5d3f1 100644
--- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarRecordDao.java
+++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarRecordDao.java
@@ -20,4 +20,15 @@ public interface WisdomCarRecordDao extends WisdomCarRecordMapper {
* @return 称重和rfid记录
*/
List queryWeightAndRfid(@Param("carId") Long carId, @Param("startTime") Long startTime, @Param("endTime") Long endTime);
+
+ /**
+ * 根据类型查询平车记录
+ * @param carId 平车ID
+ * @param startTime 开始时间
+ * @param endTime 结束时间
+ * @param type 数据类型
+ * @return 记录
+ */
+ List queryRecords(@Param("carId") Long carId, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("type") byte type);
+
}
diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java
index 52ddfa1e..9498902a 100644
--- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java
+++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java
@@ -151,9 +151,56 @@ public class RecordService implements IRecordService{
@Override
public List queryWeightAndRfid(RecordDto.WeightAndRfid param, Long userId) {
- List list = queryWeightAndRfid(param.getCarId(), param.getStartTime(), param.getEndTime());
+ List list = queryRecord(param.getCarId(), param.getStartTime(), param.getEndTime(), param.getTypes());
return list;
}
+ private List queryRecord(Long carId, Long startTime, Long endTime, byte[] types) {
+ List records = new ArrayList<>();
+ if (types == null || types.length == 0) {
+ log.info("没有输入查询记录类型,直接返回");
+ return records;
+ }
+
+ for (byte type : types) {
+ List list = wisdomCarRecordDao.queryRecords(carId, startTime, endTime, type);
+ RecordVo.WeightAndRfid prev = null;
+ for (int i = 0; i < list.size(); i++) {
+ RecordVo.WeightAndRfid cur = list.get(i);
+ if (i == 0) {
+ records.add(cur);
+ prev = cur;
+ continue;
+ }
+ // i > 0 && cur.type == prev.type
+ //称重
+ if (cur.getType() == Constant.CAR_RECORD_WEIGHT) {
+ // 重量差大于10KG或时间间隔大于10分钟,保留
+ if (Math.abs(Integer.parseInt(cur.getValue()) - Integer.parseInt(prev.getValue())) > weightMinus
+ || Math.abs(cur.getTime() - prev.getTime()) > timeMinus) {
+ records.add(cur);
+ prev = cur;
+ }
+ continue;
+ }
+ // 非称重 值不重复 或 非称重 值重复 最后一条数据
+ if(!cur.getValue().equals(prev.getValue()) || i == list.size() -1){
+ records.add(cur);
+
+ } else if (!cur.getValue().equals(list.get(i+1).getValue()) ) {
+ // 非称重 值重复 非最后一条数据
+ // 判断与下一个是否一致,一致,则不保留第一个和最后一个
+ records.add(cur);
+ }
+ prev = cur;
+ }
+ }
+ if (types.length > 1) {
+ log.info("重新排序");
+ Collections.sort(records, (o1, o2) -> (int) (o1.getTime() - o2.getTime()));
+ }
+ return records;
+ }
+
/**
* 查询数据
@@ -218,7 +265,7 @@ public class RecordService implements IRecordService{
@Override
public Workbook exportWeightAndRfid(RecordDto.WeightAndRfidExport param) {
log.info("数据导出:{}", param);
- List list = queryWeightAndRfid(param.getCarId(), param.getStartTime(), param.getEndTime());
+ List list = queryRecord(param.getCarId(), param.getStartTime(), param.getEndTime(), param.getTypes());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 参数封装
List> rows = new ArrayList<>();
@@ -246,7 +293,18 @@ public class RecordService implements IRecordService{
Date time = new Date();
time.setTime(record.getTime());
row.add(new PoiUtil.PoiUtilCell(sdf.format(time)));
- row.add(new PoiUtil.PoiUtilCell(record.getType() == Constant.CAR_RECORD_WEIGHT ? "称重" : "rfid"));
+ String type = "称重";
+ switch (record.getType()) {
+ case Constant.CAR_RECORD_WEIGHT: type = "称重";break;
+ case Constant.CAR_RECORD_RFID: type = "rfid";break;
+ case Constant.WEIGHT_SENSOR_1: type = "称重1";break;
+ case Constant.WEIGHT_SENSOR_2: type = "称重2";break;
+ case Constant.WEIGHT_SENSOR_3: type = "称重3";break;
+ case Constant.WEIGHT_SENSOR_4: type = "称重4";break;
+ case Constant.SHAKE_SENSOR: type = "震动";break;
+ case Constant.THROMBOLYTIC: type = "剂量";break;
+ }
+ row.add(new PoiUtil.PoiUtilCell(type));
row.add(new PoiUtil.PoiUtilCell(record.getType() == Constant.CAR_RECORD_WEIGHT ? new BigDecimal(record.getValue()).divide(new BigDecimal(1000), 3).toString() + "Kg" : record.getName()));
rows.add(row);
}
diff --git a/wisdomcar/src/main/resources/application-test.yml b/wisdomcar/src/main/resources/application-test.yml
index 9af9b909..55574b45 100644
--- a/wisdomcar/src/main/resources/application-test.yml
+++ b/wisdomcar/src/main/resources/application-test.yml
@@ -28,7 +28,7 @@ swagger:
enable: true
eureka:
instance:
- ip-address: 192.168.0.99
+ ip-address: 127.0.0.1
file:
path: /home/cloud/wisdomcar/uploads/
signUpUrl: https://test.tall.wiki/compete/
diff --git a/wisdomcar/src/main/resources/mapper_dao/WisdomCarRecordDao.xml b/wisdomcar/src/main/resources/mapper_dao/WisdomCarRecordDao.xml
index a292f581..dada4965 100644
--- a/wisdomcar/src/main/resources/mapper_dao/WisdomCarRecordDao.xml
+++ b/wisdomcar/src/main/resources/mapper_dao/WisdomCarRecordDao.xml
@@ -11,4 +11,31 @@
) t
order by time
+
\ No newline at end of file
From dec0c10fe3d7f8b2d91d3a3c0b3ef795b8736d38 Mon Sep 17 00:00:00 2001
From: wang0018 <1007152140@qq.com>
Date: Mon, 22 Mar 2021 15:48:38 +0800
Subject: [PATCH 6/6] =?UTF-8?q?=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/ccsens/tall/bean/dto/InputDocDto.java | 23 +
.../com/ccsens/tall/bean/dto/LwbsDto.java | 39 +
.../com/ccsens/tall/bean/dto/TaskDto.java | 2 +-
.../ccsens/tall/bean/po/ProTaskInputDoc.java | 117 +++
.../tall/bean/po/ProTaskInputDocExample.java | 761 ++++++++++++++++++
.../tall/bean/po/ProTaskInputRecord.java | 106 +++
.../bean/po/ProTaskInputRecordExample.java | 681 ++++++++++++++++
.../java/com/ccsens/tall/bean/vo/LwbsVo.java | 52 ++
.../java/com/ccsens/tall/bean/vo/TaskVo.java | 2 +-
.../persist/mapper/ProTaskInputDocMapper.java | 30 +
.../mapper/ProTaskInputRecordMapper.java | 30 +
.../com/ccsens/tall/service/ExcelService.java | 76 +-
.../ccsens/tall/service/IInputDocService.java | 12 +
.../tall/service/ITaskDeliverService.java | 3 +
.../ccsens/tall/service/InputDocService.java | 60 ++
.../tall/service/TaskDeliverService.java | 16 +
.../ccsens/tall/web/InputDocController.java | 42 +
.../com/ccsens/tall/web/LwbsController.java | 48 ++
tall/src/main/resources/application-dev.yml | 1 +
tall/src/main/resources/application.yml | 4 +-
.../mapper_raw/ProTaskInputDocMapper.xml | 276 +++++++
.../mapper_raw/ProTaskInputRecordMapper.xml | 258 ++++++
22 files changed, 2611 insertions(+), 28 deletions(-)
create mode 100644 tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java
create mode 100644 tall/src/main/java/com/ccsens/tall/bean/dto/LwbsDto.java
create mode 100644 tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputDoc.java
create mode 100644 tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputDocExample.java
create mode 100644 tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputRecord.java
create mode 100644 tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputRecordExample.java
create mode 100644 tall/src/main/java/com/ccsens/tall/bean/vo/LwbsVo.java
create mode 100644 tall/src/main/java/com/ccsens/tall/persist/mapper/ProTaskInputDocMapper.java
create mode 100644 tall/src/main/java/com/ccsens/tall/persist/mapper/ProTaskInputRecordMapper.java
create mode 100644 tall/src/main/java/com/ccsens/tall/service/IInputDocService.java
create mode 100644 tall/src/main/java/com/ccsens/tall/service/InputDocService.java
create mode 100644 tall/src/main/java/com/ccsens/tall/web/InputDocController.java
create mode 100644 tall/src/main/java/com/ccsens/tall/web/LwbsController.java
create mode 100644 tall/src/main/resources/mapper_raw/ProTaskInputDocMapper.xml
create mode 100644 tall/src/main/resources/mapper_raw/ProTaskInputRecordMapper.xml
diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java
new file mode 100644
index 00000000..acafd6ee
--- /dev/null
+++ b/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java
@@ -0,0 +1,23 @@
+package com.ccsens.tall.bean.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class InputDocDto {
+ @Data
+ @ApiModel("详细输入文档")
+ public static class AddAddInputDoc{
+ @ApiModelProperty("文件id")
+ private Long fileId;
+ }
+ @Data
+ @ApiModel("输入文档集合")
+ public static class AddAddInputDocs{
+ @ApiModelProperty("输入文档集合")
+ private List list;
+ }
+}
diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/LwbsDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/LwbsDto.java
new file mode 100644
index 00000000..5d78b7bc
--- /dev/null
+++ b/tall/src/main/java/com/ccsens/tall/bean/dto/LwbsDto.java
@@ -0,0 +1,39 @@
+package com.ccsens.tall.bean.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+@Data
+public class LwbsDto {
+ @Data
+ @ApiModel("查询lwbs的任务")
+ public static class SelByUserIdToComProject{
+ @NotNull
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+ @ApiModelProperty("开始时间")
+ private Date startTime;
+ @NotNull
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+ @ApiModelProperty("结束时间")
+ private Date endTime;
+ }
+ @Data
+ @ApiModel("查询lwbs的任务")
+ public static class SelByProjectIdToTaskDto {
+ @ApiModelProperty("项目id")
+ private Long id;
+ @NotNull
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+ @ApiModelProperty("开始时间")
+ private Date startTime;
+ @NotNull
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+ @ApiModelProperty("结束时间")
+ private Date endTime;
+ }
+}
diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java
index 3496c018..6e9f7cb5 100644
--- a/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java
+++ b/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java
@@ -207,7 +207,7 @@ public class TaskDto {
private Long delayTime;
@ApiModelProperty("优先级 3,紧急重要 2,紧急不重要 1,重要不紧急 0,不重要不紧急 默认0")
private Byte priority;
- @ApiModelProperty("是否是里程碑 0否 1是")
+ @ApiModelProperty("是否是里程碑 0否 1是 2普通任务 3关键任务")
private Byte milestone;
@ApiModelProperty("交付物id和修改后的名字")
private List deliverList;
diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputDoc.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputDoc.java
new file mode 100644
index 00000000..5b4008f8
--- /dev/null
+++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputDoc.java
@@ -0,0 +1,117 @@
+package com.ccsens.tall.bean.po;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class ProTaskInputDoc implements Serializable {
+ private Long id;
+
+ private Long taskDetailId;
+
+ private String name;
+
+ private String description;
+
+ private Integer sequence;
+
+ private Integer isUpload;
+
+ private Date createdAt;
+
+ private Date updatedAt;
+
+ private Byte recStatus;
+
+ private static final long serialVersionUID = 1L;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Long getTaskDetailId() {
+ return taskDetailId;
+ }
+
+ public void setTaskDetailId(Long taskDetailId) {
+ this.taskDetailId = taskDetailId;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name == null ? null : name.trim();
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description == null ? null : description.trim();
+ }
+
+ public Integer getSequence() {
+ return sequence;
+ }
+
+ public void setSequence(Integer sequence) {
+ this.sequence = sequence;
+ }
+
+ public Integer getIsUpload() {
+ return isUpload;
+ }
+
+ public void setIsUpload(Integer isUpload) {
+ this.isUpload = isUpload;
+ }
+
+ public Date getCreatedAt() {
+ return createdAt;
+ }
+
+ public void setCreatedAt(Date createdAt) {
+ this.createdAt = createdAt;
+ }
+
+ public Date getUpdatedAt() {
+ return updatedAt;
+ }
+
+ public void setUpdatedAt(Date updatedAt) {
+ this.updatedAt = updatedAt;
+ }
+
+ public Byte getRecStatus() {
+ return recStatus;
+ }
+
+ public void setRecStatus(Byte recStatus) {
+ this.recStatus = recStatus;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append(getClass().getSimpleName());
+ sb.append(" [");
+ sb.append("Hash = ").append(hashCode());
+ sb.append(", id=").append(id);
+ sb.append(", taskDetailId=").append(taskDetailId);
+ sb.append(", name=").append(name);
+ sb.append(", description=").append(description);
+ sb.append(", sequence=").append(sequence);
+ sb.append(", isUpload=").append(isUpload);
+ sb.append(", createdAt=").append(createdAt);
+ sb.append(", updatedAt=").append(updatedAt);
+ sb.append(", recStatus=").append(recStatus);
+ sb.append("]");
+ return sb.toString();
+ }
+}
\ No newline at end of file
diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputDocExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputDocExample.java
new file mode 100644
index 00000000..1e316209
--- /dev/null
+++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputDocExample.java
@@ -0,0 +1,761 @@
+package com.ccsens.tall.bean.po;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class ProTaskInputDocExample {
+ protected String orderByClause;
+
+ protected boolean distinct;
+
+ protected List oredCriteria;
+
+ public ProTaskInputDocExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andIdIsNull() {
+ addCriterion("id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIsNotNull() {
+ addCriterion("id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdEqualTo(Long value) {
+ addCriterion("id =", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotEqualTo(Long value) {
+ addCriterion("id <>", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThan(Long value) {
+ addCriterion("id >", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("id >=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThan(Long value) {
+ addCriterion("id <", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThanOrEqualTo(Long value) {
+ addCriterion("id <=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIn(List values) {
+ addCriterion("id in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotIn(List values) {
+ addCriterion("id not in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdBetween(Long value1, Long value2) {
+ addCriterion("id between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotBetween(Long value1, Long value2) {
+ addCriterion("id not between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andTaskDetailIdIsNull() {
+ addCriterion("task_detail_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andTaskDetailIdIsNotNull() {
+ addCriterion("task_detail_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andTaskDetailIdEqualTo(Long value) {
+ addCriterion("task_detail_id =", value, "taskDetailId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTaskDetailIdNotEqualTo(Long value) {
+ addCriterion("task_detail_id <>", value, "taskDetailId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTaskDetailIdGreaterThan(Long value) {
+ addCriterion("task_detail_id >", value, "taskDetailId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTaskDetailIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("task_detail_id >=", value, "taskDetailId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTaskDetailIdLessThan(Long value) {
+ addCriterion("task_detail_id <", value, "taskDetailId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTaskDetailIdLessThanOrEqualTo(Long value) {
+ addCriterion("task_detail_id <=", value, "taskDetailId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTaskDetailIdIn(List values) {
+ addCriterion("task_detail_id in", values, "taskDetailId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTaskDetailIdNotIn(List values) {
+ addCriterion("task_detail_id not in", values, "taskDetailId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTaskDetailIdBetween(Long value1, Long value2) {
+ addCriterion("task_detail_id between", value1, value2, "taskDetailId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTaskDetailIdNotBetween(Long value1, Long value2) {
+ addCriterion("task_detail_id not between", value1, value2, "taskDetailId");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameIsNull() {
+ addCriterion("name is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameIsNotNull() {
+ addCriterion("name is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameEqualTo(String value) {
+ addCriterion("name =", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotEqualTo(String value) {
+ addCriterion("name <>", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameGreaterThan(String value) {
+ addCriterion("name >", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameGreaterThanOrEqualTo(String value) {
+ addCriterion("name >=", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameLessThan(String value) {
+ addCriterion("name <", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameLessThanOrEqualTo(String value) {
+ addCriterion("name <=", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameLike(String value) {
+ addCriterion("name like", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotLike(String value) {
+ addCriterion("name not like", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameIn(List values) {
+ addCriterion("name in", values, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotIn(List values) {
+ addCriterion("name not in", values, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameBetween(String value1, String value2) {
+ addCriterion("name between", value1, value2, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotBetween(String value1, String value2) {
+ addCriterion("name not between", value1, value2, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionIsNull() {
+ addCriterion("description is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionIsNotNull() {
+ addCriterion("description is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionEqualTo(String value) {
+ addCriterion("description =", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionNotEqualTo(String value) {
+ addCriterion("description <>", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionGreaterThan(String value) {
+ addCriterion("description >", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
+ addCriterion("description >=", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionLessThan(String value) {
+ addCriterion("description <", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionLessThanOrEqualTo(String value) {
+ addCriterion("description <=", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionLike(String value) {
+ addCriterion("description like", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionNotLike(String value) {
+ addCriterion("description not like", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionIn(List values) {
+ addCriterion("description in", values, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionNotIn(List values) {
+ addCriterion("description not in", values, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionBetween(String value1, String value2) {
+ addCriterion("description between", value1, value2, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionNotBetween(String value1, String value2) {
+ addCriterion("description not between", value1, value2, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andSequenceIsNull() {
+ addCriterion("sequence is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andSequenceIsNotNull() {
+ addCriterion("sequence is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andSequenceEqualTo(Integer value) {
+ addCriterion("sequence =", value, "sequence");
+ return (Criteria) this;
+ }
+
+ public Criteria andSequenceNotEqualTo(Integer value) {
+ addCriterion("sequence <>", value, "sequence");
+ return (Criteria) this;
+ }
+
+ public Criteria andSequenceGreaterThan(Integer value) {
+ addCriterion("sequence >", value, "sequence");
+ return (Criteria) this;
+ }
+
+ public Criteria andSequenceGreaterThanOrEqualTo(Integer value) {
+ addCriterion("sequence >=", value, "sequence");
+ return (Criteria) this;
+ }
+
+ public Criteria andSequenceLessThan(Integer value) {
+ addCriterion("sequence <", value, "sequence");
+ return (Criteria) this;
+ }
+
+ public Criteria andSequenceLessThanOrEqualTo(Integer value) {
+ addCriterion("sequence <=", value, "sequence");
+ return (Criteria) this;
+ }
+
+ public Criteria andSequenceIn(List values) {
+ addCriterion("sequence in", values, "sequence");
+ return (Criteria) this;
+ }
+
+ public Criteria andSequenceNotIn(List values) {
+ addCriterion("sequence not in", values, "sequence");
+ return (Criteria) this;
+ }
+
+ public Criteria andSequenceBetween(Integer value1, Integer value2) {
+ addCriterion("sequence between", value1, value2, "sequence");
+ return (Criteria) this;
+ }
+
+ public Criteria andSequenceNotBetween(Integer value1, Integer value2) {
+ addCriterion("sequence not between", value1, value2, "sequence");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsUploadIsNull() {
+ addCriterion("is_upload is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsUploadIsNotNull() {
+ addCriterion("is_upload is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsUploadEqualTo(Integer value) {
+ addCriterion("is_upload =", value, "isUpload");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsUploadNotEqualTo(Integer value) {
+ addCriterion("is_upload <>", value, "isUpload");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsUploadGreaterThan(Integer value) {
+ addCriterion("is_upload >", value, "isUpload");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsUploadGreaterThanOrEqualTo(Integer value) {
+ addCriterion("is_upload >=", value, "isUpload");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsUploadLessThan(Integer value) {
+ addCriterion("is_upload <", value, "isUpload");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsUploadLessThanOrEqualTo(Integer value) {
+ addCriterion("is_upload <=", value, "isUpload");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsUploadIn(List values) {
+ addCriterion("is_upload in", values, "isUpload");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsUploadNotIn(List values) {
+ addCriterion("is_upload not in", values, "isUpload");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsUploadBetween(Integer value1, Integer value2) {
+ addCriterion("is_upload between", value1, value2, "isUpload");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsUploadNotBetween(Integer value1, Integer value2) {
+ addCriterion("is_upload not between", value1, value2, "isUpload");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIsNull() {
+ addCriterion("created_at is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIsNotNull() {
+ addCriterion("created_at is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtEqualTo(Date value) {
+ addCriterion("created_at =", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotEqualTo(Date value) {
+ addCriterion("created_at <>", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtGreaterThan(Date value) {
+ addCriterion("created_at >", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
+ addCriterion("created_at >=", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtLessThan(Date value) {
+ addCriterion("created_at <", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
+ addCriterion("created_at <=", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIn(List values) {
+ addCriterion("created_at in", values, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotIn(List values) {
+ addCriterion("created_at not in", values, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtBetween(Date value1, Date value2) {
+ addCriterion("created_at between", value1, value2, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
+ addCriterion("created_at not between", value1, value2, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIsNull() {
+ addCriterion("updated_at is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIsNotNull() {
+ addCriterion("updated_at is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtEqualTo(Date value) {
+ addCriterion("updated_at =", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotEqualTo(Date value) {
+ addCriterion("updated_at <>", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtGreaterThan(Date value) {
+ addCriterion("updated_at >", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
+ addCriterion("updated_at >=", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtLessThan(Date value) {
+ addCriterion("updated_at <", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
+ addCriterion("updated_at <=", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIn(List values) {
+ addCriterion("updated_at in", values, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotIn(List values) {
+ addCriterion("updated_at not in", values, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtBetween(Date value1, Date value2) {
+ addCriterion("updated_at between", value1, value2, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
+ addCriterion("updated_at not between", value1, value2, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIsNull() {
+ addCriterion("rec_status is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIsNotNull() {
+ addCriterion("rec_status is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusEqualTo(Byte value) {
+ addCriterion("rec_status =", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotEqualTo(Byte value) {
+ addCriterion("rec_status <>", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusGreaterThan(Byte value) {
+ addCriterion("rec_status >", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) {
+ addCriterion("rec_status >=", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusLessThan(Byte value) {
+ addCriterion("rec_status <", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusLessThanOrEqualTo(Byte value) {
+ addCriterion("rec_status <=", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIn(List values) {
+ addCriterion("rec_status in", values, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotIn(List values) {
+ addCriterion("rec_status not in", values, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusBetween(Byte value1, Byte value2) {
+ addCriterion("rec_status between", value1, value2, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotBetween(Byte value1, Byte value2) {
+ addCriterion("rec_status not between", value1, value2, "recStatus");
+ return (Criteria) this;
+ }
+ }
+
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputRecord.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputRecord.java
new file mode 100644
index 00000000..c4427ade
--- /dev/null
+++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputRecord.java
@@ -0,0 +1,106 @@
+package com.ccsens.tall.bean.po;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class ProTaskInputRecord implements Serializable {
+ private Long id;
+
+ private Long inputDocId;
+
+ private Long fileId;
+
+ private Long userId;
+
+ private Byte status;
+
+ private Date createdAt;
+
+ private Date updatedAt;
+
+ private Byte recStatus;
+
+ private static final long serialVersionUID = 1L;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Long getInputDocId() {
+ return inputDocId;
+ }
+
+ public void setInputDocId(Long inputDocId) {
+ this.inputDocId = inputDocId;
+ }
+
+ public Long getFileId() {
+ return fileId;
+ }
+
+ public void setFileId(Long fileId) {
+ this.fileId = fileId;
+ }
+
+ public Long getUserId() {
+ return userId;
+ }
+
+ public void setUserId(Long userId) {
+ this.userId = userId;
+ }
+
+ public Byte getStatus() {
+ return status;
+ }
+
+ public void setStatus(Byte status) {
+ this.status = status;
+ }
+
+ public Date getCreatedAt() {
+ return createdAt;
+ }
+
+ public void setCreatedAt(Date createdAt) {
+ this.createdAt = createdAt;
+ }
+
+ public Date getUpdatedAt() {
+ return updatedAt;
+ }
+
+ public void setUpdatedAt(Date updatedAt) {
+ this.updatedAt = updatedAt;
+ }
+
+ public Byte getRecStatus() {
+ return recStatus;
+ }
+
+ public void setRecStatus(Byte recStatus) {
+ this.recStatus = recStatus;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append(getClass().getSimpleName());
+ sb.append(" [");
+ sb.append("Hash = ").append(hashCode());
+ sb.append(", id=").append(id);
+ sb.append(", inputDocId=").append(inputDocId);
+ sb.append(", fileId=").append(fileId);
+ sb.append(", userId=").append(userId);
+ sb.append(", status=").append(status);
+ sb.append(", createdAt=").append(createdAt);
+ sb.append(", updatedAt=").append(updatedAt);
+ sb.append(", recStatus=").append(recStatus);
+ sb.append("]");
+ return sb.toString();
+ }
+}
\ No newline at end of file
diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputRecordExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputRecordExample.java
new file mode 100644
index 00000000..6beae3a7
--- /dev/null
+++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputRecordExample.java
@@ -0,0 +1,681 @@
+package com.ccsens.tall.bean.po;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class ProTaskInputRecordExample {
+ protected String orderByClause;
+
+ protected boolean distinct;
+
+ protected List oredCriteria;
+
+ public ProTaskInputRecordExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andIdIsNull() {
+ addCriterion("id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIsNotNull() {
+ addCriterion("id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdEqualTo(Long value) {
+ addCriterion("id =", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotEqualTo(Long value) {
+ addCriterion("id <>", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThan(Long value) {
+ addCriterion("id >", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("id >=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThan(Long value) {
+ addCriterion("id <", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThanOrEqualTo(Long value) {
+ addCriterion("id <=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIn(List values) {
+ addCriterion("id in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotIn(List values) {
+ addCriterion("id not in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdBetween(Long value1, Long value2) {
+ addCriterion("id between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotBetween(Long value1, Long value2) {
+ addCriterion("id not between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andInputDocIdIsNull() {
+ addCriterion("input_doc_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andInputDocIdIsNotNull() {
+ addCriterion("input_doc_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andInputDocIdEqualTo(Long value) {
+ addCriterion("input_doc_id =", value, "inputDocId");
+ return (Criteria) this;
+ }
+
+ public Criteria andInputDocIdNotEqualTo(Long value) {
+ addCriterion("input_doc_id <>", value, "inputDocId");
+ return (Criteria) this;
+ }
+
+ public Criteria andInputDocIdGreaterThan(Long value) {
+ addCriterion("input_doc_id >", value, "inputDocId");
+ return (Criteria) this;
+ }
+
+ public Criteria andInputDocIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("input_doc_id >=", value, "inputDocId");
+ return (Criteria) this;
+ }
+
+ public Criteria andInputDocIdLessThan(Long value) {
+ addCriterion("input_doc_id <", value, "inputDocId");
+ return (Criteria) this;
+ }
+
+ public Criteria andInputDocIdLessThanOrEqualTo(Long value) {
+ addCriterion("input_doc_id <=", value, "inputDocId");
+ return (Criteria) this;
+ }
+
+ public Criteria andInputDocIdIn(List values) {
+ addCriterion("input_doc_id in", values, "inputDocId");
+ return (Criteria) this;
+ }
+
+ public Criteria andInputDocIdNotIn(List values) {
+ addCriterion("input_doc_id not in", values, "inputDocId");
+ return (Criteria) this;
+ }
+
+ public Criteria andInputDocIdBetween(Long value1, Long value2) {
+ addCriterion("input_doc_id between", value1, value2, "inputDocId");
+ return (Criteria) this;
+ }
+
+ public Criteria andInputDocIdNotBetween(Long value1, Long value2) {
+ addCriterion("input_doc_id not between", value1, value2, "inputDocId");
+ return (Criteria) this;
+ }
+
+ public Criteria andFileIdIsNull() {
+ addCriterion("file_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andFileIdIsNotNull() {
+ addCriterion("file_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andFileIdEqualTo(Long value) {
+ addCriterion("file_id =", value, "fileId");
+ return (Criteria) this;
+ }
+
+ public Criteria andFileIdNotEqualTo(Long value) {
+ addCriterion("file_id <>", value, "fileId");
+ return (Criteria) this;
+ }
+
+ public Criteria andFileIdGreaterThan(Long value) {
+ addCriterion("file_id >", value, "fileId");
+ return (Criteria) this;
+ }
+
+ public Criteria andFileIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("file_id >=", value, "fileId");
+ return (Criteria) this;
+ }
+
+ public Criteria andFileIdLessThan(Long value) {
+ addCriterion("file_id <", value, "fileId");
+ return (Criteria) this;
+ }
+
+ public Criteria andFileIdLessThanOrEqualTo(Long value) {
+ addCriterion("file_id <=", value, "fileId");
+ return (Criteria) this;
+ }
+
+ public Criteria andFileIdIn(List values) {
+ addCriterion("file_id in", values, "fileId");
+ return (Criteria) this;
+ }
+
+ public Criteria andFileIdNotIn(List values) {
+ addCriterion("file_id not in", values, "fileId");
+ return (Criteria) this;
+ }
+
+ public Criteria andFileIdBetween(Long value1, Long value2) {
+ addCriterion("file_id between", value1, value2, "fileId");
+ return (Criteria) this;
+ }
+
+ public Criteria andFileIdNotBetween(Long value1, Long value2) {
+ addCriterion("file_id not between", value1, value2, "fileId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdIsNull() {
+ addCriterion("user_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdIsNotNull() {
+ addCriterion("user_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdEqualTo(Long value) {
+ addCriterion("user_id =", value, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdNotEqualTo(Long value) {
+ addCriterion("user_id <>", value, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdGreaterThan(Long value) {
+ addCriterion("user_id >", value, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("user_id >=", value, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdLessThan(Long value) {
+ addCriterion("user_id <", value, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdLessThanOrEqualTo(Long value) {
+ addCriterion("user_id <=", value, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdIn(List values) {
+ addCriterion("user_id in", values, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdNotIn(List values) {
+ addCriterion("user_id not in", values, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdBetween(Long value1, Long value2) {
+ addCriterion("user_id between", value1, value2, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdNotBetween(Long value1, Long value2) {
+ addCriterion("user_id not between", value1, value2, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andStatusIsNull() {
+ addCriterion("status is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andStatusIsNotNull() {
+ addCriterion("status is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andStatusEqualTo(Byte value) {
+ addCriterion("status =", value, "status");
+ return (Criteria) this;
+ }
+
+ public Criteria andStatusNotEqualTo(Byte value) {
+ addCriterion("status <>", value, "status");
+ return (Criteria) this;
+ }
+
+ public Criteria andStatusGreaterThan(Byte value) {
+ addCriterion("status >", value, "status");
+ return (Criteria) this;
+ }
+
+ public Criteria andStatusGreaterThanOrEqualTo(Byte value) {
+ addCriterion("status >=", value, "status");
+ return (Criteria) this;
+ }
+
+ public Criteria andStatusLessThan(Byte value) {
+ addCriterion("status <", value, "status");
+ return (Criteria) this;
+ }
+
+ public Criteria andStatusLessThanOrEqualTo(Byte value) {
+ addCriterion("status <=", value, "status");
+ return (Criteria) this;
+ }
+
+ public Criteria andStatusIn(List values) {
+ addCriterion("status in", values, "status");
+ return (Criteria) this;
+ }
+
+ public Criteria andStatusNotIn(List values) {
+ addCriterion("status not in", values, "status");
+ return (Criteria) this;
+ }
+
+ public Criteria andStatusBetween(Byte value1, Byte value2) {
+ addCriterion("status between", value1, value2, "status");
+ return (Criteria) this;
+ }
+
+ public Criteria andStatusNotBetween(Byte value1, Byte value2) {
+ addCriterion("status not between", value1, value2, "status");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIsNull() {
+ addCriterion("created_at is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIsNotNull() {
+ addCriterion("created_at is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtEqualTo(Date value) {
+ addCriterion("created_at =", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotEqualTo(Date value) {
+ addCriterion("created_at <>", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtGreaterThan(Date value) {
+ addCriterion("created_at >", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
+ addCriterion("created_at >=", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtLessThan(Date value) {
+ addCriterion("created_at <", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
+ addCriterion("created_at <=", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIn(List values) {
+ addCriterion("created_at in", values, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotIn(List values) {
+ addCriterion("created_at not in", values, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtBetween(Date value1, Date value2) {
+ addCriterion("created_at between", value1, value2, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
+ addCriterion("created_at not between", value1, value2, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIsNull() {
+ addCriterion("updated_at is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIsNotNull() {
+ addCriterion("updated_at is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtEqualTo(Date value) {
+ addCriterion("updated_at =", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotEqualTo(Date value) {
+ addCriterion("updated_at <>", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtGreaterThan(Date value) {
+ addCriterion("updated_at >", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
+ addCriterion("updated_at >=", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtLessThan(Date value) {
+ addCriterion("updated_at <", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
+ addCriterion("updated_at <=", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIn(List values) {
+ addCriterion("updated_at in", values, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotIn(List values) {
+ addCriterion("updated_at not in", values, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtBetween(Date value1, Date value2) {
+ addCriterion("updated_at between", value1, value2, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
+ addCriterion("updated_at not between", value1, value2, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIsNull() {
+ addCriterion("rec_status is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIsNotNull() {
+ addCriterion("rec_status is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusEqualTo(Byte value) {
+ addCriterion("rec_status =", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotEqualTo(Byte value) {
+ addCriterion("rec_status <>", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusGreaterThan(Byte value) {
+ addCriterion("rec_status >", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) {
+ addCriterion("rec_status >=", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusLessThan(Byte value) {
+ addCriterion("rec_status <", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusLessThanOrEqualTo(Byte value) {
+ addCriterion("rec_status <=", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIn(List values) {
+ addCriterion("rec_status in", values, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotIn(List values) {
+ addCriterion("rec_status not in", values, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusBetween(Byte value1, Byte value2) {
+ addCriterion("rec_status between", value1, value2, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotBetween(Byte value1, Byte value2) {
+ addCriterion("rec_status not between", value1, value2, "recStatus");
+ return (Criteria) this;
+ }
+ }
+
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/LwbsVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/LwbsVo.java
new file mode 100644
index 00000000..af56218f
--- /dev/null
+++ b/tall/src/main/java/com/ccsens/tall/bean/vo/LwbsVo.java
@@ -0,0 +1,52 @@
+package com.ccsens.tall.bean.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.scheduling.support.SimpleTriggerContext;
+
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Stream;
+
+@Data
+public class LwbsVo {
+ @Data
+ @ApiModel("查询某人下的所有的项目")
+ public static class SelByUserIdToComProjectVo{
+ @ApiModelProperty("项目名称")
+ private String name;
+ @ApiModelProperty("项目id")
+ private Long id;
+ }
+ @Data
+ @ApiModel("查询某人下的项目的任务")
+ public static class SelByProjectIdToTaskVo {
+ @NotNull
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+ @ApiModelProperty("开始时间")
+ private Date startTime;
+ @NotNull
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+ @ApiModelProperty("结束时间")
+ private Date endTime;
+ @ApiModelProperty("详情")
+ private String description;
+ @ApiModelProperty("标签 0否 1是 2普通任务 3关键任务")
+ private Byte milestone;
+
+ }
+
+ @Data
+ @ApiModel("查询出某人下的所有项目")
+ public static class SelByProjectIdToTasksVo {
+ @ApiModelProperty("项目id")
+ private Long id;
+ @ApiModelProperty("项目名称")
+ private String name;
+ @ApiModelProperty("所有的任务")
+ private List list;
+ }
+}
diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java
index 10cb5edb..08f3672b 100644
--- a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java
+++ b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java
@@ -150,7 +150,7 @@ public class TaskVo {
private String importParam;
@ApiModelProperty("优先级 默认0 3,紧急重要 2,紧急不重要 1,重要不紧急 0,不重要不紧急")
private Byte priority;
- @ApiModelProperty("是否是里程碑 0否 1是")
+ @ApiModelProperty("是否是里程碑 0否 1是 2普通任务 3关键任务")
private Byte milestone;
@ApiModelProperty("提醒的信息")
private List remindInfoList;
diff --git a/tall/src/main/java/com/ccsens/tall/persist/mapper/ProTaskInputDocMapper.java b/tall/src/main/java/com/ccsens/tall/persist/mapper/ProTaskInputDocMapper.java
new file mode 100644
index 00000000..ea0f3d22
--- /dev/null
+++ b/tall/src/main/java/com/ccsens/tall/persist/mapper/ProTaskInputDocMapper.java
@@ -0,0 +1,30 @@
+package com.ccsens.tall.persist.mapper;
+
+import com.ccsens.tall.bean.po.ProTaskInputDoc;
+import com.ccsens.tall.bean.po.ProTaskInputDocExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface ProTaskInputDocMapper {
+ long countByExample(ProTaskInputDocExample example);
+
+ int deleteByExample(ProTaskInputDocExample example);
+
+ int deleteByPrimaryKey(Long id);
+
+ int insert(ProTaskInputDoc record);
+
+ int insertSelective(ProTaskInputDoc record);
+
+ List selectByExample(ProTaskInputDocExample example);
+
+ ProTaskInputDoc selectByPrimaryKey(Long id);
+
+ int updateByExampleSelective(@Param("record") ProTaskInputDoc record, @Param("example") ProTaskInputDocExample example);
+
+ int updateByExample(@Param("record") ProTaskInputDoc record, @Param("example") ProTaskInputDocExample example);
+
+ int updateByPrimaryKeySelective(ProTaskInputDoc record);
+
+ int updateByPrimaryKey(ProTaskInputDoc record);
+}
\ No newline at end of file
diff --git a/tall/src/main/java/com/ccsens/tall/persist/mapper/ProTaskInputRecordMapper.java b/tall/src/main/java/com/ccsens/tall/persist/mapper/ProTaskInputRecordMapper.java
new file mode 100644
index 00000000..f4e8929a
--- /dev/null
+++ b/tall/src/main/java/com/ccsens/tall/persist/mapper/ProTaskInputRecordMapper.java
@@ -0,0 +1,30 @@
+package com.ccsens.tall.persist.mapper;
+
+import com.ccsens.tall.bean.po.ProTaskInputRecord;
+import com.ccsens.tall.bean.po.ProTaskInputRecordExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface ProTaskInputRecordMapper {
+ long countByExample(ProTaskInputRecordExample example);
+
+ int deleteByExample(ProTaskInputRecordExample example);
+
+ int deleteByPrimaryKey(Long id);
+
+ int insert(ProTaskInputRecord record);
+
+ int insertSelective(ProTaskInputRecord record);
+
+ List selectByExample(ProTaskInputRecordExample example);
+
+ ProTaskInputRecord selectByPrimaryKey(Long id);
+
+ int updateByExampleSelective(@Param("record") ProTaskInputRecord record, @Param("example") ProTaskInputRecordExample example);
+
+ int updateByExample(@Param("record") ProTaskInputRecord record, @Param("example") ProTaskInputRecordExample example);
+
+ int updateByPrimaryKeySelective(ProTaskInputRecord record);
+
+ int updateByPrimaryKey(ProTaskInputRecord record);
+}
\ No newline at end of file
diff --git a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java
index c4827750..8680c393 100644
--- a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java
+++ b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java
@@ -618,6 +618,7 @@ public class ExcelService implements IExcelService {
if(StringUtils.isBlank(s)){
break;
}
+ s=s.trim().replace("\r","").replace("\n","");
map.put(s,q);
}
@@ -659,38 +660,46 @@ public class ExcelService implements IExcelService {
continue;
}
//一级任务名称
- String task1 = ExcelUtil.getCellValue(row.getCell(1));
+ String task1 = ExcelUtil.getCellValue(row.getCell(map.get("任务(节点)")));
//二级任务名称
- String task2 = ExcelUtil.getCellValue(row.getCell(2));
+ String task2 = ExcelUtil.getCellValue(row.getCell(map.get("二级任务(节点)")));
//详情
- String description = ExcelUtil.getCellValue(row.getCell(3));
+ String description = ExcelUtil.getCellValue(row.getCell(map.get("任务描述/要求")));
//开始时间
- String beginTime = StringUtil.replaceStrSpace(ExcelUtil.getCellValue(row.getCell(4)));
+ String beginTime = StringUtil.replaceStrSpace(ExcelUtil.getCellValue(row.getCell(map.get("开始时间"))));
//结束时间
- String endTime = StringUtil.replaceStrSpace(ExcelUtil.getCellValue(row.getCell(5)));
+ String endTime = StringUtil.replaceStrSpace(ExcelUtil.getCellValue(row.getCell(map.get("结束时间"))));
+ //标签
+ String label=StringUtil.replaceStrSpace(ExcelUtil.getCellValue(row.getCell(map.get("标签"))));
+
//重复
- String repeat = ExcelUtil.getCellValue(row.getCell(7));
- //关联子任务表
- String subTaskCell = ExcelUtil.getCellValue(row.getCell(8));
+ String repeat = ExcelUtil.getCellValue(row.getCell(map.get("重复")));
+ //关联子日程表
+ String subTaskCell = ExcelUtil.getCellValue(row.getCell(map.get("关联子日程表")));
//关联子项目表
- String subProject = ExcelUtil.getCellValue(row.getCell(9));
+ String subProject = ExcelUtil.getCellValue(row.getCell(map.get("关联子项目表")));
+ //输入文档
+ String inputFiles=StringUtil.replaceStrSpace(ExcelUtil.getCellValue(row.getCell(map.get("输入文档"))));
//交付物
- String deliver = ExcelUtil.getCellValue(row.getCell(10));
+ String deliver = ExcelUtil.getCellValue(row.getCell(map.get("交付物/MVP项")));
//负责人
- String executorRole = ExcelUtil.getCellValue(row.getCell(11));
+ String executorRole = ExcelUtil.getCellValue(row.getCell(map.get("负责人")));
//检查人
- String checkerRole = ExcelUtil.getCellValue(row.getCell(12));
+ String checkerRole = ExcelUtil.getCellValue(row.getCell(map.get("检查人")));
//即时奖惩(元)
- String money = ExcelUtil.getCellValue(row.getCell(13));
+ String money = ExcelUtil.getCellValue(row.getCell(map.get("即时奖惩(元)")));
//任务切换模式
- String delay = ExcelUtil.getCellValue(row.getCell(14));
+ String delay = ExcelUtil.getCellValue(row.getCell(map.get("任务切换模式")));
//延迟时间
//(自动延迟模式可用)
- String delayTime = ExcelUtil.getCellValue(row.getCell(15));
+ String delayTime = ExcelUtil.getCellValue(row.getCell(map.get("延迟时间(自动延迟模式可用)")));
+
+ //TODO 跳转任务和跳转次数暂不处理
//跳转任务
String loopTo = ExcelUtil.getCellValue(row.getCell(16));
//跳转次数
String loopTimes = ExcelUtil.getCellValue(row.getCell(17));
+ //这个不知道要不要先给你留着
//输入文件
String input = ExcelUtil.getCellValue(row.getCell(18));
//二级任务名不能为空
@@ -754,6 +763,15 @@ public class ExcelService implements IExcelService {
taskDetail.setLevel((byte) WebConstant.TASK_LEVEL.SecondTask.value);
taskDetail.setHasGroup((byte) 0);
taskDetail.setAllMember((byte) 1);
+
+ if("关键任务".equals(label)){
+ taskDetail.setMilestone((byte) 3);
+ }else if("里程碑".equals(label)){
+ taskDetail.setMilestone((byte) 1);
+ }else {
+ //设置成默认的普通任务
+ taskDetail.setMilestone((byte) 2);
+ }
//子项目
if (StrUtil.isNotEmpty(subProject)) {
subProject = StringUtil.replaceComma(subProject);
@@ -821,16 +839,26 @@ public class ExcelService implements IExcelService {
//TODO 跳转任务(应该在循环外处理)
- //输入文档
- if (StrUtil.isNotEmpty(input)) {
- ProTaskDeliver taskDeliver = new ProTaskDeliver();
- taskDeliver.setId(snowflake.nextId());
- taskDeliver.setTaskDetailId(taskDetail.getId());
- taskDeliver.setName(input);
- taskDeliver.setIsInput(1);
- taskDeliver.setIsFinal(0);
- taskDeliverService.saveDeliver(taskDeliver);
+ //输入文档 旧的
+// if (StrUtil.isNotEmpty(input)) {
+// ProTaskDeliver taskDeliver = new ProTaskDeliver();
+// taskDeliver.setId(snowflake.nextId());
+// taskDeliver.setTaskDetailId(taskDetail.getId());
+// taskDeliver.setName(input);
+// taskDeliver.setIsInput(1);
+// taskDeliver.setIsFinal(0);
+// taskDeliverService.saveDeliver(taskDeliver);
+// }
+
+ //输入文档 新的
+ if(StrUtil.isNotEmpty(inputFiles)){
+ String regex=",|,|;|:|;|:|、|。";
+ String[] fileNames= inputFiles.split(regex);
+ if(fileNames.length>0){
+ taskDeliverService.saveProTaskInputDoc(fileNames,taskDetail.getId());
+ }
}
+
//TODO 设备挂载暂不处理
//没有开始时间默认项目开始时间
diff --git a/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java b/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java
new file mode 100644
index 00000000..53c651d2
--- /dev/null
+++ b/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java
@@ -0,0 +1,12 @@
+package com.ccsens.tall.service;
+
+import com.ccsens.tall.bean.dto.LwbsDto;
+import com.ccsens.tall.bean.vo.LwbsVo;
+
+import java.util.List;
+
+public interface IInputDocService {
+ List selBylwbs(LwbsDto.SelByUserIdToComProject param, Long userId);
+
+ List selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId);
+}
diff --git a/tall/src/main/java/com/ccsens/tall/service/ITaskDeliverService.java b/tall/src/main/java/com/ccsens/tall/service/ITaskDeliverService.java
index 650da50a..c93e9db5 100644
--- a/tall/src/main/java/com/ccsens/tall/service/ITaskDeliverService.java
+++ b/tall/src/main/java/com/ccsens/tall/service/ITaskDeliverService.java
@@ -2,6 +2,7 @@ package com.ccsens.tall.service;
import com.ccsens.tall.bean.dto.DeliverDto;
import com.ccsens.tall.bean.po.ProTaskDeliver;
+import com.ccsens.tall.bean.po.ProTaskInputDoc;
import com.ccsens.tall.bean.vo.DeliverVo;
import com.ccsens.tall.bean.vo.ProjectVo;
import com.ccsens.tall.bean.vo.TaskVo;
@@ -12,6 +13,8 @@ public interface ITaskDeliverService {
void saveDeliver(ProTaskDeliver taskDeliver);
+ void saveProTaskInputDoc(String[] inputs,Long taskId);
+
List selectDeliverOrInputByTask(Long id, int i);
DeliverVo.DFile uploadDeliver(String filePath, String name);
diff --git a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java
new file mode 100644
index 00000000..e7649048
--- /dev/null
+++ b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java
@@ -0,0 +1,60 @@
+package com.ccsens.tall.service;
+
+import com.ccsens.tall.bean.dto.LwbsDto;
+import com.ccsens.tall.bean.po.ProMember;
+import com.ccsens.tall.bean.po.ProMemberExample;
+import com.ccsens.tall.bean.po.SysProject;
+import com.ccsens.tall.bean.po.SysProjectExample;
+import com.ccsens.tall.bean.vo.LwbsVo;
+import com.ccsens.tall.persist.mapper.ProMemberMapper;
+import com.ccsens.tall.persist.mapper.SysProjectMapper;
+import com.rabbitmq.client.TopologyRecoveryException;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+@Service
+public class InputDocService implements IInputDocService {
+ @Resource
+ public ProMemberMapper proMemberMapper;
+ @Resource
+ public SysProjectMapper sysProjectMapper;
+
+ @Override
+ public List selBylwbs(LwbsDto.SelByUserIdToComProject param, Long userId) {
+ List selByUserIdToComProjectVos =new ArrayList();
+ //手动添加一个我的
+ LwbsVo.SelByUserIdToComProjectVo selByUserIdToComProjectVo_wode =new LwbsVo.SelByUserIdToComProjectVo();
+ selByUserIdToComProjectVo_wode.setName("我的");
+ selByUserIdToComProjectVos.add(selByUserIdToComProjectVo_wode);
+ //查询中间的项目
+ ProMemberExample proMemberExample=new ProMemberExample();
+ proMemberExample.createCriteria().andRecStatusEqualTo((byte) 0).andUserIdEqualTo(userId);
+ List proMembers = proMemberMapper.selectByExample(proMemberExample);
+ List longList=new ArrayList();
+ proMembers.forEach(proMember -> {
+ longList.add(proMember.getProjectId());
+ });
+ SysProjectExample sysProjectExample=new SysProjectExample();
+ sysProjectExample.createCriteria().andRecStatusEqualTo((byte)0).andIdIn(longList).andBeginTimeGreaterThanOrEqualTo(param.getStartTime().getTime()).andEndTimeLessThanOrEqualTo(param.getEndTime().getTime());
+ List sysProjects = sysProjectMapper.selectByExample(sysProjectExample);
+ sysProjects.forEach(sysProject -> {
+ LwbsVo.SelByUserIdToComProjectVo selByUserIdToComProjectVo_zhongjian =new LwbsVo.SelByUserIdToComProjectVo();
+ selByUserIdToComProjectVo_zhongjian.setName(sysProject.getName());
+ selByUserIdToComProjectVo_zhongjian.setId(sysProject.getId());
+ selByUserIdToComProjectVos.add(selByUserIdToComProjectVo_zhongjian);
+ });
+ //手动添加一个其他
+ LwbsVo.SelByUserIdToComProjectVo selByUserIdToComProjectVo_qita =new LwbsVo.SelByUserIdToComProjectVo();
+ selByUserIdToComProjectVo_wode.setName("其他");
+ selByUserIdToComProjectVos.add(selByUserIdToComProjectVo_qita);
+ return selByUserIdToComProjectVos;
+ }
+
+ @Override
+ public List selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId) {
+ return null;
+ }
+}
diff --git a/tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java b/tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java
index d5ab692a..d05580a0 100644
--- a/tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java
+++ b/tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java
@@ -15,6 +15,7 @@ import com.ccsens.tall.bean.vo.DeliverVo;
import com.ccsens.tall.bean.vo.ProjectVo;
import com.ccsens.tall.bean.vo.TaskVo;
import com.ccsens.tall.persist.dao.*;
+import com.ccsens.tall.persist.mapper.ProTaskInputDocMapper;
import com.ccsens.util.*;
import com.ccsens.util.bean.message.common.InMessage;
import com.ccsens.util.bean.message.common.MessageConstant;
@@ -22,6 +23,7 @@ import com.ccsens.util.bean.message.common.MessageRule;
import com.ccsens.util.config.RabbitMQConfig;
import com.ccsens.util.exception.BaseException;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
@@ -70,11 +72,25 @@ public class TaskDeliverService implements ITaskDeliverService {
private SysProjectDao sysProjectDao;
@Resource
private IWpsService wpsService;
+ @Resource
+ private ProTaskInputDocMapper proTaskInputDocMapper;
@Override
public void saveDeliver(ProTaskDeliver taskDeliver) {
taskDeliverDao.insertSelective(taskDeliver);
}
+ @Override
+ public void saveProTaskInputDoc(String[] inputs,Long taskId){
+ for (int i = 0; i < inputs.length; i++) {
+ if(StringUtils.isNotBlank(inputs[i])){
+ ProTaskInputDoc proTaskInputDoc = new ProTaskInputDoc();
+ proTaskInputDoc.setId(snowflake.nextId());
+ proTaskInputDoc.setTaskDetailId(taskId);
+ proTaskInputDoc.setName(inputs[i].trim());
+ proTaskInputDocMapper.insertSelective(proTaskInputDoc);
+ }
+ }
+ }
/**
* 根据taskId查找交付物或输入文档
diff --git a/tall/src/main/java/com/ccsens/tall/web/InputDocController.java b/tall/src/main/java/com/ccsens/tall/web/InputDocController.java
new file mode 100644
index 00000000..e4551012
--- /dev/null
+++ b/tall/src/main/java/com/ccsens/tall/web/InputDocController.java
@@ -0,0 +1,42 @@
+package com.ccsens.tall.web;
+
+import com.ccsens.cloudutil.annotation.MustLogin;
+import com.ccsens.tall.bean.dto.InputDocDto;
+import com.ccsens.tall.bean.dto.LabelDto;
+import com.ccsens.tall.bean.vo.LabelVo;
+import com.ccsens.tall.service.IInputDocService;
+import com.ccsens.util.JsonResponse;
+import com.ccsens.util.WebConstant;
+import com.ccsens.util.bean.dto.QueryDto;
+import io.jsonwebtoken.Claims;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+@Slf4j
+@Api(tags = "输入文档相关的" , description = "")
+@RestController
+@RequestMapping("/inputDoc")
+public class InputDocController {
+ @Autowired
+ IInputDocService iInputDocService;
+ @MustLogin
+ @ApiOperation(value = "添加输入文档", notes = "1007:添加输入文档")
+ @RequestMapping(value = "/addInputDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
+ public JsonResponse addInputDoc(@ApiParam @Validated @RequestBody QueryDto params) {
+ log.info("添加输入文档:{}",params);
+ //iInputDocService.addInputDoc(params.getParam(),params.getUserId());
+ log.info("添加输入文档");
+ return JsonResponse.newInstance().ok();
+ }
+}
diff --git a/tall/src/main/java/com/ccsens/tall/web/LwbsController.java b/tall/src/main/java/com/ccsens/tall/web/LwbsController.java
new file mode 100644
index 00000000..4564c7fe
--- /dev/null
+++ b/tall/src/main/java/com/ccsens/tall/web/LwbsController.java
@@ -0,0 +1,48 @@
+package com.ccsens.tall.web;
+
+import com.ccsens.cloudutil.annotation.MustLogin;
+import com.ccsens.tall.bean.dto.InputDocDto;
+import com.ccsens.tall.bean.dto.LwbsDto;
+import com.ccsens.tall.bean.vo.LwbsVo;
+import com.ccsens.tall.service.IInputDocService;
+import com.ccsens.util.JsonResponse;
+import com.ccsens.util.bean.dto.QueryDto;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@Slf4j
+@Api(tags = "lwbs相关接口输出" , description = "")
+@RestController
+@RequestMapping("/lwbs")
+public class LwbsController {
+ @Autowired
+ private IInputDocService iInputDocService;
+ @MustLogin
+ @ApiOperation(value = "查询人下参加的所有的项目", notes = "1007:输出")
+ @RequestMapping(value = "/selByUserIdToComProject", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
+ public JsonResponse> selByUserIdToComProject(@ApiParam @Validated @RequestBody QueryDto params) {
+ log.info("输出某人下的所有的项目:{}",params);
+ List selBylwbs= iInputDocService.selBylwbs(params.getParam(),params.getUserId());
+ log.info("输出某人下的所有的项目成功");
+ return JsonResponse.newInstance().ok(selBylwbs);
+ }
+ @MustLogin
+ @ApiOperation(value = "查询某人下参加的项目的所有的任务", notes = "1007:输出")
+ @RequestMapping(value = "/selByProjectIdToTask", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
+ public JsonResponse> selByProjectIdToTask(@ApiParam @Validated @RequestBody QueryDto params) {
+ log.info("查询某人下参加的项目的所有的任务:{}",params);
+ List selBylwbs= iInputDocService.selByProjectIdToTask(params.getParam(),params.getUserId());
+ log.info("查询某人下参加的项目的所有的任务");
+ return JsonResponse.newInstance().ok(selBylwbs);
+ }
+}
diff --git a/tall/src/main/resources/application-dev.yml b/tall/src/main/resources/application-dev.yml
index 8cb2dc85..58302ba7 100644
--- a/tall/src/main/resources/application-dev.yml
+++ b/tall/src/main/resources/application-dev.yml
@@ -12,6 +12,7 @@ spring:
type: com.alibaba.druid.pool.DruidDataSource
rabbitmq:
host: 192.168.0.99
+# host: 127.0.0.1
password: guest
port: 5672
username: guest
diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml
index b5408a3a..ebc544af 100644
--- a/tall/src/main/resources/application.yml
+++ b/tall/src/main/resources/application.yml
@@ -1,5 +1,5 @@
spring:
profiles:
- active: dev
- include: util-dev,common
+ active: test
+ include: util-test,common
diff --git a/tall/src/main/resources/mapper_raw/ProTaskInputDocMapper.xml b/tall/src/main/resources/mapper_raw/ProTaskInputDocMapper.xml
new file mode 100644
index 00000000..c001a31c
--- /dev/null
+++ b/tall/src/main/resources/mapper_raw/ProTaskInputDocMapper.xml
@@ -0,0 +1,276 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+ id, task_detail_id, name, description, sequence, is_upload, created_at, updated_at,
+ rec_status
+
+
+
+
+ delete from t_pro_task_input_doc
+ where id = #{id,jdbcType=BIGINT}
+
+
+ delete from t_pro_task_input_doc
+
+
+
+
+
+ insert into t_pro_task_input_doc (id, task_detail_id, name,
+ description, sequence, is_upload,
+ created_at, updated_at, rec_status
+ )
+ values (#{id,jdbcType=BIGINT}, #{taskDetailId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR},
+ #{description,jdbcType=VARCHAR}, #{sequence,jdbcType=INTEGER}, #{isUpload,jdbcType=INTEGER},
+ #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}
+ )
+
+
+ insert into t_pro_task_input_doc
+
+
+ id,
+
+
+ task_detail_id,
+
+
+ name,
+
+
+ description,
+
+
+ sequence,
+
+
+ is_upload,
+
+
+ created_at,
+
+
+ updated_at,
+
+
+ rec_status,
+
+
+
+
+ #{id,jdbcType=BIGINT},
+
+
+ #{taskDetailId,jdbcType=BIGINT},
+
+
+ #{name,jdbcType=VARCHAR},
+
+
+ #{description,jdbcType=VARCHAR},
+
+
+ #{sequence,jdbcType=INTEGER},
+
+
+ #{isUpload,jdbcType=INTEGER},
+
+
+ #{createdAt,jdbcType=TIMESTAMP},
+
+
+ #{updatedAt,jdbcType=TIMESTAMP},
+
+
+ #{recStatus,jdbcType=TINYINT},
+
+
+
+
+
+ update t_pro_task_input_doc
+
+
+ id = #{record.id,jdbcType=BIGINT},
+
+
+ task_detail_id = #{record.taskDetailId,jdbcType=BIGINT},
+
+
+ name = #{record.name,jdbcType=VARCHAR},
+
+
+ description = #{record.description,jdbcType=VARCHAR},
+
+
+ sequence = #{record.sequence,jdbcType=INTEGER},
+
+
+ is_upload = #{record.isUpload,jdbcType=INTEGER},
+
+
+ created_at = #{record.createdAt,jdbcType=TIMESTAMP},
+
+
+ updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
+
+
+ rec_status = #{record.recStatus,jdbcType=TINYINT},
+
+
+
+
+
+
+
+ update t_pro_task_input_doc
+ set id = #{record.id,jdbcType=BIGINT},
+ task_detail_id = #{record.taskDetailId,jdbcType=BIGINT},
+ name = #{record.name,jdbcType=VARCHAR},
+ description = #{record.description,jdbcType=VARCHAR},
+ sequence = #{record.sequence,jdbcType=INTEGER},
+ is_upload = #{record.isUpload,jdbcType=INTEGER},
+ created_at = #{record.createdAt,jdbcType=TIMESTAMP},
+ updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
+ rec_status = #{record.recStatus,jdbcType=TINYINT}
+
+
+
+
+
+ update t_pro_task_input_doc
+
+
+ task_detail_id = #{taskDetailId,jdbcType=BIGINT},
+
+
+ name = #{name,jdbcType=VARCHAR},
+
+
+ description = #{description,jdbcType=VARCHAR},
+
+
+ sequence = #{sequence,jdbcType=INTEGER},
+
+
+ is_upload = #{isUpload,jdbcType=INTEGER},
+
+
+ created_at = #{createdAt,jdbcType=TIMESTAMP},
+
+
+ updated_at = #{updatedAt,jdbcType=TIMESTAMP},
+
+
+ rec_status = #{recStatus,jdbcType=TINYINT},
+
+
+ where id = #{id,jdbcType=BIGINT}
+
+
+ update t_pro_task_input_doc
+ set task_detail_id = #{taskDetailId,jdbcType=BIGINT},
+ name = #{name,jdbcType=VARCHAR},
+ description = #{description,jdbcType=VARCHAR},
+ sequence = #{sequence,jdbcType=INTEGER},
+ is_upload = #{isUpload,jdbcType=INTEGER},
+ created_at = #{createdAt,jdbcType=TIMESTAMP},
+ updated_at = #{updatedAt,jdbcType=TIMESTAMP},
+ rec_status = #{recStatus,jdbcType=TINYINT}
+ where id = #{id,jdbcType=BIGINT}
+
+
\ No newline at end of file
diff --git a/tall/src/main/resources/mapper_raw/ProTaskInputRecordMapper.xml b/tall/src/main/resources/mapper_raw/ProTaskInputRecordMapper.xml
new file mode 100644
index 00000000..83da7fb1
--- /dev/null
+++ b/tall/src/main/resources/mapper_raw/ProTaskInputRecordMapper.xml
@@ -0,0 +1,258 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+ id, input_doc_id, file_id, user_id, status, created_at, updated_at, rec_status
+
+
+
+
+ delete from t_pro_task_input_record
+ where id = #{id,jdbcType=BIGINT}
+
+
+ delete from t_pro_task_input_record
+
+
+
+
+
+ insert into t_pro_task_input_record (id, input_doc_id, file_id,
+ user_id, status, created_at,
+ updated_at, rec_status)
+ values (#{id,jdbcType=BIGINT}, #{inputDocId,jdbcType=BIGINT}, #{fileId,jdbcType=BIGINT},
+ #{userId,jdbcType=BIGINT}, #{status,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP},
+ #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT})
+
+
+ insert into t_pro_task_input_record
+
+
+ id,
+
+
+ input_doc_id,
+
+
+ file_id,
+
+
+ user_id,
+
+
+ status,
+
+
+ created_at,
+
+
+ updated_at,
+
+
+ rec_status,
+
+
+
+
+ #{id,jdbcType=BIGINT},
+
+
+ #{inputDocId,jdbcType=BIGINT},
+
+
+ #{fileId,jdbcType=BIGINT},
+
+
+ #{userId,jdbcType=BIGINT},
+
+
+ #{status,jdbcType=TINYINT},
+
+
+ #{createdAt,jdbcType=TIMESTAMP},
+
+
+ #{updatedAt,jdbcType=TIMESTAMP},
+
+
+ #{recStatus,jdbcType=TINYINT},
+
+
+
+
+
+ update t_pro_task_input_record
+
+
+ id = #{record.id,jdbcType=BIGINT},
+
+
+ input_doc_id = #{record.inputDocId,jdbcType=BIGINT},
+
+
+ file_id = #{record.fileId,jdbcType=BIGINT},
+
+
+ user_id = #{record.userId,jdbcType=BIGINT},
+
+
+ status = #{record.status,jdbcType=TINYINT},
+
+
+ created_at = #{record.createdAt,jdbcType=TIMESTAMP},
+
+
+ updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
+
+
+ rec_status = #{record.recStatus,jdbcType=TINYINT},
+
+
+
+
+
+
+
+ update t_pro_task_input_record
+ set id = #{record.id,jdbcType=BIGINT},
+ input_doc_id = #{record.inputDocId,jdbcType=BIGINT},
+ file_id = #{record.fileId,jdbcType=BIGINT},
+ user_id = #{record.userId,jdbcType=BIGINT},
+ status = #{record.status,jdbcType=TINYINT},
+ created_at = #{record.createdAt,jdbcType=TIMESTAMP},
+ updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
+ rec_status = #{record.recStatus,jdbcType=TINYINT}
+
+
+
+
+
+ update t_pro_task_input_record
+
+
+ input_doc_id = #{inputDocId,jdbcType=BIGINT},
+
+
+ file_id = #{fileId,jdbcType=BIGINT},
+
+
+ user_id = #{userId,jdbcType=BIGINT},
+
+
+ status = #{status,jdbcType=TINYINT},
+
+
+ created_at = #{createdAt,jdbcType=TIMESTAMP},
+
+
+ updated_at = #{updatedAt,jdbcType=TIMESTAMP},
+
+
+ rec_status = #{recStatus,jdbcType=TINYINT},
+
+
+ where id = #{id,jdbcType=BIGINT}
+
+
+ update t_pro_task_input_record
+ set input_doc_id = #{inputDocId,jdbcType=BIGINT},
+ file_id = #{fileId,jdbcType=BIGINT},
+ user_id = #{userId,jdbcType=BIGINT},
+ status = #{status,jdbcType=TINYINT},
+ created_at = #{createdAt,jdbcType=TIMESTAMP},
+ updated_at = #{updatedAt,jdbcType=TIMESTAMP},
+ rec_status = #{recStatus,jdbcType=TINYINT}
+ where id = #{id,jdbcType=BIGINT}
+
+
\ No newline at end of file