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