Compare commits

...

319 Commits
dev ... master

Author SHA1 Message Date
yaoshuli c8082ddab0 Merge pull request 'feature: 20240403演示版本合并' (#66) from test into master
2 years ago
yaoshuli a38e43ddb3 Merge pull request 'fix: 任务审核列表补齐返回值信息' (#65) from fix/listalldataComplementResult into test
2 years ago
shuliYao 1392d7c1b0 fix: 补齐参数信息
2 years ago
sunchenliang b95e36ec33 Merge pull request 'fix: 修改相似度列表' (#64) from sunchenliang into test
2 years ago
sunchenliang 718ba4324c fix: 修改相似度列表
2 years ago
sunchenliang c49779459b Merge pull request 'fix: 修改相似度' (#63) from sunchenliang into test
2 years ago
sunchenliang d8294d704b fix: 修改相似度
2 years ago
shuliYao 432ac36346 fix: 解决终审列表报错问题
2 years ago
sunchenliang 78cd6cbc60 Merge pull request 'fix: 终审列表添加排序' (#62) from sunchenliang into test
2 years ago
sunchenliang 1680322a64 fix: 终审列表添加排序
2 years ago
sunchenliang 493e07c2ee Merge pull request 'fix: 任务包主图返回任务id' (#61) from sunchenliang into test
2 years ago
sunchenliang d89a98808f fix: 任务包主图返回任务id
2 years ago
sunchenliang acc3f48cc6 Merge pull request 'fix: 修改终审列表返回及搜索' (#60) from sunchenliang into test
2 years ago
sunchenliang 229e164046 fix: 修改终审列表返回及搜索
2 years ago
sunchenliang 49efcca13b Merge pull request 'sunchenliang' (#59) from sunchenliang into test
2 years ago
sunchenliang 4737149aa5 fix: 修改任务包详情返回taskId
2 years ago
shuliYao 2e919f8b06 fix: 拉取新数据域名代码切换
2 years ago
shuliYao 9b2cd4b1cb fix: 拉取新数据域名代码切换
2 years ago
shuliYao 17258e7adb fix: 数据拉取参数环境调整修改。
2 years ago
LILI 9823f6e2c5 fix:1.图片列表排序字段变更 2.图片查重列表返回阈值重新获取排序 3.可疑文件删除代码优化
2 years ago
LILI b5892c3885 fix:可疑文件删除接口增加非空判断,添加API文档注释
2 years ago
LILI af56654566 fix:1.图片查重页面条件回写接口问题修改
2 years ago
DELL a81625f674 fix:全文检索-工单搜索部分对已删除数据加判断
2 years ago
shuliYao 39ecb23c6b fix: 新数据域名及请求切换
2 years ago
shuliYao 9d72a9a602 fix: 框架定制查询封装bug修改,searchQuery
2 years ago
DELL dd42fa96ad fix:ai统计弹窗,已审批数修改为通过+不通过
2 years ago
lili 010230306b Merge pull request 'fix/userSearch_0402' (#58) from fix/userSearch_0402 into test
2 years ago
LILI 1dc8822518 Merge branch 'test' into fix/userSearch_0402
2 years ago
LILI 26b3453a72 fix:1.图片列表排序字段变更 2.图片查重列表返回阈值重新获取排序 3.可疑文件删除代码优化
2 years ago
lili bf2753f384 Merge pull request 'fix:可疑文件删除接口增加非空判断,添加API文档注释' (#57) from fix/userSearch_0402 into test
2 years ago
LILI fe9ac432e7 fix:可疑文件删除接口增加非空判断,添加API文档注释
2 years ago
shuliYao 507283851a fix: 拉取新数据域名代码切换
2 years ago
shuliYao d18089a7c4 fix: 拉取新数据域名代码切换
2 years ago
shuliYao a42ea9ff39 Merge remote-tracking branch 'origin/test' into test
2 years ago
shuliYao a49b5a8e09 fix: 数据拉取参数环境调整修改。
2 years ago
lili 240735c524 Merge pull request 'fix:1.图片查重页面条件回写接口问题修改' (#56) from fix/userSearch_0402 into test
2 years ago
LILI 70687e9ab5 fix:1.图片查重页面条件回写接口问题修改
2 years ago
cuihaojie db2b97265c Merge pull request 'fix:全文检索-工单搜索部分对已删除数据加判断' (#55) from fix/Full-text_search into test
2 years ago
DELL 1aa84b6ad8 fix:全文检索-工单搜索部分对已删除数据加判断
2 years ago
yaoshuli 7fa45f41e6 Merge pull request 'fix:修复自定义查询封装缺失功能、修改拉取无量云数据接口地址变化问题' (#54) from fix/searchQueryEdit into test
2 years ago
shuliYao 10321f99de fix: 新数据域名及请求切换
2 years ago
shuliYao 7e04e5c23d fix: 框架定制查询封装bug修改,searchQuery
2 years ago
cuihaojie 5976bbbd23 Merge pull request 'fix:ai统计弹窗,已审批数修改为通过+不通过' (#53) from fix/Statistical_popup into test
2 years ago
DELL 120e02786d fix:ai统计弹窗,已审批数修改为通过+不通过
2 years ago
sunchenliang 0aae10cba9 fix: 相似度列表增加缩略图
2 years ago
cuihaojie eeea2fe479 Merge pull request 'fix:测试结束,恢复ai审批工具弹窗原有阈值判断' (#52) from fix/The_judgment_threshold_is_restored into test
2 years ago
DELL 24f36fa020 fix:测试结束,恢复ai审批工具弹窗原有阈值判断
2 years ago
cuihaojie 38730470df Merge pull request 'fix:ai审批工具修改阈值方便测试' (#51) from fix/Example_Modify_the_judgment_threshold into test
2 years ago
DELL b8da26f48e fix:ai审批工具修改阈值方便测试
2 years ago
sunchenliang 63c2980045 Merge pull request 'fix: ai审批列表及相似度列表返回查重信息' (#50) from sunchenliang into test
2 years ago
sunchenliang aee0a37b43 fix: ai审批列表及相似度列表返回查重信息
2 years ago
sunchenliang 719a1885f7 Merge pull request 'sunchenliang' (#49) from sunchenliang into test
2 years ago
sunchenliang 59697db137 Merge remote-tracking branch 'origin/sunchenliang' into sunchenliang
2 years ago
cuihaojie bf71402ac8 Merge pull request 'fix:高级检索的修改先注释掉,SearchQuery类修改的代码不完整,会影响服务运行' (#48) from fix/Task_approval_Advanced_screening_2898 into test
2 years ago
sunchenliang 193ab52f02 fix: ai审批列表及相似度列表返回查重信息
2 years ago
DELL 4e9d6d3345 fix:高级检索的修改先注释掉,SearchQuery类修改的代码不完整,会影响服务运行
2 years ago
sunchenliang 3c40ab3da8 fix: ai审批列表及相似度列表返回查重信息
2 years ago
lili d2da1c988d Merge pull request 'fix/dubious_file_2897' (#46) from fix/dubious_file_2897 into test
2 years ago
LILI c92beb488e Merge branch 'test' into fix/dubious_file_2897
2 years ago
LILI 475cf208c7 fix:1.可疑文件搜索返回相关字段信息处理
2 years ago
shuliYao e94dcb014c Merge remote-tracking branch 'origin/test' into test
2 years ago
shuliYao 13d7eea4a4 fix: 封装代码提交
2 years ago
sunchenliang d2957f6fb9 Merge pull request 'fix: 相似度列表添加图片信息' (#45) from sunchenliang into test
2 years ago
sunchenliang 17a467d3f6 fix: 相似度列表添加图片信息
2 years ago
sunchenliang a615930c35 Merge pull request 'sunchenliang' (#44) from sunchenliang into test
2 years ago
sunchenliang d9066f1115 fix: 任务重复列表修改
2 years ago
sunchenliang 3fbe5ba03c Merge remote-tracking branch 'origin/sunchenliang' into sunchenliang
2 years ago
sunchenliang 740cc6ae47 fix: 任务重复列表修改
2 years ago
sunchenliang f95b910323 fix: 任务重复列表修改
2 years ago
sunchenliang 0798e990f4 fix: 任务重复列表修改
2 years ago
shuliYao 4f2a478f68 fix: 解决任务审核查询报错问题
2 years ago
cuihaojie 5703682b41 Merge pull request 'fix:调整ai审批工具弹窗,相似度为100的为空时,传0' (#42) from fix/advanced_screening_2898 into test
2 years ago
lili cd186235e4 Merge pull request 'fix:1.admin账号后台登录问题 2.可疑文件搜索返回相关字段信息TODO' (#41) from fix/dubious_file_2897 into test
2 years ago
LILI 62c2223213 fix:1.admin账号后台登录问题 2.可疑文件搜索返回相关字段信息TODO
2 years ago
DELL 0d0ee047ca fix:调整ai审批工具弹窗,相似度为100的为空时,传0
2 years ago
lili 3db9b614d1 Merge pull request 'fix:1.综合搜索菜单模块权限过滤,2.历史搜索租户数据权限过滤' (#40) from fix/dubious_file_2897 into test
2 years ago
shuliYao 2883921cd4 fix: 解决图片查询、终审查询,选择项目后不生效问题
2 years ago
LILI daad7b874f fix:1.综合搜索菜单模块权限过滤,2.历史搜索租户数据权限过滤
2 years ago
cuihaojie 45600563f5 Merge pull request 'fix:调整ai统计弹窗,复用/flow/task/listalldata接口的查询方法' (#39) from fix/ai_statistics_2896 into test
2 years ago
DELL 5244be57f7 fix:调整ai统计弹窗,复用/flow/task/listalldata接口的查询方法
2 years ago
cuihaojie 2c85c8d93b Merge pull request 'fix:修改ai审批工具弹窗接口,审批节点不需要前端传递' (#38) from fix/one-click_pop-up_window_2898 into test
2 years ago
DELL a772b8859b fix:修改ai审批工具弹窗接口,审批节点不需要前端传递
2 years ago
shuliYao 4f50317ec6 fix: 解决查重结果返回排序问题
2 years ago
shuliYao 143922c5f9 fix: 图审相似度主图查询,排序规则改变
2 years ago
yaoshuli 6040528bc4 Merge pull request 'feat: 图审相似度列表接口,增加相似度分组排序' (#37) from feature/taskPageSimilarityGroupOrder into test
2 years ago
shuliYao 77110f5ffa feat: 图审相似度列表接口,增加相似度分组排序
2 years ago
sunchenliang ae20c76a1c Merge pull request 'fix: 相似度列表添加任务信息' (#36) from sunchenliang into test
2 years ago
sunchenliang 425ac204f6 fix: 相似度列表添加任务信息
2 years ago
sunchenliang 0342cdcbea Merge pull request 'sunchenliang' (#35) from sunchenliang into test
2 years ago
DELL e9fe05c8c1 fix:调整一键查重和图审审批弹窗接口
2 years ago
LILI c6f812040d fix:1.查重任务添加可以文件判断过滤
2 years ago
sunchenliang 39a3307341 fix: 修改任务包列表
2 years ago
sunchenliang 1008932b63 Merge remote-tracking branch 'origin/test' into sunchenliang
2 years ago
sunchenliang c43e96a65c Merge pull request 'sunchenliang' (#33) from sunchenliang into test
2 years ago
sunchenliang e0e5d9863a fix: 修改任务包列表
2 years ago
cuihaojie bbcc920d63 Merge pull request 'fix:调整一键查重和图审审批弹窗接口' (#32) from fix/approvalToolPopupNew into test
2 years ago
DELL 3221541f58 fix:调整一键查重和图审审批弹窗接口
2 years ago
lili 305e96c3be Merge pull request 'dev-lili-330' (#31) from dev-lili-330 into test
2 years ago
LILI 91e68fc2ce Merge branch 'test' into dev-lili-330
2 years ago
LILI ef1b3d4c02 fix:1.查重任务添加可以文件判断过滤
2 years ago
sunchenliang 2a512486ea fix: 修改任务包列表
2 years ago
sunchenliang 3df983cb94 fix: 修改任务审批
2 years ago
sunchenliang 58a6399fc0 Merge pull request 'fix: 修改任务审批筛选' (#30) from sunchenliang into test
2 years ago
sunchenliang 10c4288243 fix: 修改任务审批筛选
2 years ago
cuihaojie 139090358b Merge pull request 'fix:修改ai审批工具接口,未修改完整,因为需要拉代码拿一个新增接口,所以先暂时提交部分代码' (#29) from fix/aiApprovalToolPopup into test
2 years ago
DELL 244d922752 fix:修改ai审批工具接口,未修改完整,因为需要拉代码拿一个新增接口,所以先暂时提交部分代码
2 years ago
sunchenliang 002890a4e4 Merge pull request 'sunchenliang' (#28) from sunchenliang into test
2 years ago
shuliYao 950ac308df fix: 解决查重时因为某张图片没有下载到本地,导致查重任务异常问题
2 years ago
sunchenliang 18389bd9b5 Merge remote-tracking branch 'origin/test' into sunchenliang
2 years ago
sunchenliang 91cd05ac83 fix: 任务包列表添加是否删除标识,增加查询图片节点状态接口
2 years ago
sunchenliang 84347984b3 Merge pull request 'fix: 1.修改小结查重返回参数' (#25) from sunchenliang into test
2 years ago
sunchenliang 909e625575 fix: 1.修改小结查重返回参数
2 years ago
sunchenliang 0748b452bf Merge pull request 'fix: 1.修改小结查重返回参数' (#24) from sunchenliang into test
2 years ago
sunchenliang 23ec8ab108 fix: 1.修改小结查重返回参数
2 years ago
cuihaojie c0dee71196 Merge pull request 'fix:修改ai审批工具接口,调整查询表和返回数据' (#23) from fix/aiApprovalTool into test
2 years ago
DELL 0ccbf8bbfc fix:修改ai审批工具接口,调整查询表和返回数据
2 years ago
sunchenliang a31e94d28e Merge pull request 'fix: 1.修改小结查重2.修改创建任务' (#22) from sunchenliang into test
2 years ago
sunchenliang b8721bd84a fix: 1.修改小结查重2.修改创建任务
2 years ago
lili 9d5d167f03 Merge pull request 'dev-lili-330' (#21) from dev-lili-330 into test
2 years ago
LILI b23b54cb78 Merge branch 'test' into dev-lili-330
2 years ago
LILI 383d28870e fix:1.代码合并问题
2 years ago
cuihaojie e4c9aea585 Merge pull request 'fix:ai统计接口去掉24小时限制' (#20) from fix/aiStatistics into test
2 years ago
DELL 85f66e192c fix:ai统计接口去掉24小时限制
2 years ago
lili c056ec056e Merge pull request 'dev-lili-330' (#19) from dev-lili-330 into test
2 years ago
LILI 22a78f1c07 Merge branch 'test' into dev-lili-330
2 years ago
shuliYao 57cc29f86e feat: 创建任务包后 增加对象返回
2 years ago
LILI 0ff031169b fix:1.一键查重提报人模糊搜索 2.AI工单模糊搜索 3.AI工单任务包倒排序处理
2 years ago
shuliYao 5dec7d2c04 fix: 默认提报日期和拍照日期
2 years ago
yaoshuli c1ab8e2015 Merge pull request 'feature: 增加业务字典,根据value反差label接口。' (#16) from feature/queryDictionaryByValueOrKye into test
2 years ago
shuliYao a151f9047a feature: 增加业务字典,根据value反差label接口。
2 years ago
LILI 5295d09942 Merge remote-tracking branch 'origin/dev-lili-330' into test
2 years ago
LILI ddbcbd474d add:新增获取AI查询过滤条件回写接口
2 years ago
cuihaojie 611f07687d Merge pull request 'fix:测试ai统计接口,调整获取验证码_当天最多发送10条_缓存时间调整为24小时' (#15) from fix/aiStatistics_2825_2826 into test
2 years ago
DELL 2bb50bf2dc fix:测试ai统计接口,调整获取验证码_当天最多发送10条_缓存时间调整为24小时
2 years ago
cuihaojie da6156c425 Merge pull request 'fix:修改忘记密码_修改密码模块,符合修改密码策略' (#14) from fix/forgotPassword_2727 into test
2 years ago
DELL 94e26c88fd fix:修改忘记密码_修改密码模块,符合修改密码策略
2 years ago
sunchenliang 5c110b5df3 Merge pull request 'fix: 完善任务详情信息' (#13) from sunchenliang into test
2 years ago
sunchenliang 76b7df199d fix: 完善任务详情信息
2 years ago
sunchenliang 96617e1525 Merge pull request 'fix: 任务启动添加提报日期' (#12) from sunchenliang into test
2 years ago
sunchenliang 322be423b9 fix: 任务启动添加提报日期
2 years ago
sunchenliang 829a0aa97f Merge pull request 'fix: 修改任务审批监听' (#11) from sunchenliang into test
2 years ago
sunchenliang 22c7810274 fix: 修改任务审批监听
2 years ago
cuihaojie ebc9a535f3 Merge pull request 'fix:修改账号密码登录模块,在输入错误的企业编码、账号、密码时,弹出对应的提示信息' (#10) from fix/loginErrorCheck_2783 into test
2 years ago
DELL dba60ff044 fix:修改账号密码登录模块,在输入错误的企业编码、账号、密码时,弹出对应的提示信息
2 years ago
cuihaojie 92829980b2 Merge pull request 'fix:修改短信登录模块_手机号正确的情况下提示用户错误的bug' (#9) from fix/smsLogin_2782 into test
2 years ago
DELL 968740acfa fix:修改短信登录模块_手机号正确的情况下提示用户错误的bug
2 years ago
sunchenliang f7ce84d86d Merge pull request 'fix: 修改获取用户信息及任务包接口' (#8) from sunchenliang into test
2 years ago
sunchenliang 5f1bc17a5c fix: 修改获取用户信息及任务包接口
2 years ago
cuihaojie a68d23aafa Merge pull request 'fix:工具类修改时间格式,我的终审列表查询_时间查询_修改时间格式' (#7) from fix/timeToolClassModification into test
2 years ago
DELL a235b507d4 fix:工具类修改时间格式,我的终审列表查询_时间查询_修改时间格式
2 years ago
yaoshuli 86610ec292 Merge pull request 'feature:修改图片识别水印模块' (#6) from feature/pictureWatermarkAnalysis_2761 into test
2 years ago
DELL 957883d0a3 feature:修改图片识别水印模块
2 years ago
cuihaojie f584b635fe Merge pull request 'fix:修改短信验证码模块,限制当天验证码最多发送十次' (#5) from feature/verificationCodeLimitingFrequency_2724 into test
2 years ago
DELL 3ad65bf5a6 修改短信验证码模块,限制当天验证码最多发送十次
2 years ago
sunchenliang 6f0bb8fce8 Merge pull request 'refactor:修改相似度列表' (#4) from sunchenliang into test
2 years ago
sunchenliang 9cb6c446b2 refactor/1.修改相似度列表
2 years ago
yaoshuli 2cfb8b86e8 Merge pull request 'fix: 解决图片查询接口,时间、图片相似度排序bug问题' (#3) from fix/pictrueListOrderBug_2676 into test
2 years ago
shuliYao 144df64bd0 fix: 解决图片查询接口,时间、图片相似度排序bug问题
2 years ago
yaoshuli b51d6bbc04 Merge pull request 'fix: 修复图片查询,阈值区间比对不正确问题' (#2) from fix/queryPictureByIzsimilarityNull into test
2 years ago
sunchenliang f7cf61567b refactor(修改任务包列表):修改任务包列表增加全量筛选项
2 years ago
shuliYao e86ff9f8fc fix: 修复图片查询,阈值区间比对不正确问题
2 years ago
shuliYao 7e9c134a91 docs: 演示修改
2 years ago
sunchenliang 646ace6e5d 提交无量云回传相关
2 years ago
sunchenliang fbbff17114 优化批量审批接口
2 years ago
DELL a44c24815e Merge branch 'dev-cui'
2 years ago
DELL 3a35d7cd23 增加定时任务->拉取图片数据->并判断任务是否重复,修改识别拍照时间的代码,这些代码均已经注释
2 years ago
lzCodeGarden c847267d5c 配置文件数据库更改,后端页面路径指向
2 years ago
sunchenliang d51749801a 修改任务包详情历史记录
2 years ago
DELL 31cae5bb3b Merge branch 'dev-cui'
2 years ago
DELL a169ac057d 消息列表接口分页->查看更多->bug,登录获取用户信息接口bug,验证码登录时修改为手机号校验,拉取数据时提报时间和拍照时间的获取(暂时注释掉),消息列表排序实现
2 years ago
sunchenliang 7f2d61b402 修改获取任务包列表增加创建时间字段
2 years ago
sunchenliang 5c9b8a15ff 优化审批相关流程
2 years ago
sunchenliang 142dc2c080 工单及审批相关接口修改
2 years ago
sunchenliang 712bb593bb 修改任务审批接口
2 years ago
DELL 9b6e6f89b9 picture实体类加字段 拍照时间
2 years ago
DELL b0f0165b64 Merge branch 'dev-cui'
2 years ago
DELL 9d469ad7e2 修改生成验证码接口为4位数验证码,登录增加对租户是否冻结判断,以及对账号是否禁用判断
2 years ago
sunchenliang d19cf2223b 工单相似列表优化
2 years ago
sunchenliang ae9661d5cf 任务包列表添加创建人
2 years ago
sunchenliang 71eec4287b 修改工单列表及相关接口
2 years ago
DELL 55d6676549 Merge branch 'dev-cui'
2 years ago
DELL c30e0e9ede 综合搜索功能修复查询bug,相似度查询增加当相似度起始区间包含0时,对相似度为null的数据也进行查询
2 years ago
sunchenliang 48d1881d5e 修改任务包列表
2 years ago
707464720@qq.com cf9a24596f Merge remote-tracking branch 'origin/master'
2 years ago
707464720@qq.com ecbd92dad7 Merge branch 'dev-lili'
2 years ago
707464720@qq.com ef562ea16e fix:1.AI查重页面图片查询-相似度、时间排序不生效问题处理
2 years ago
sunchenliang cc6a88e0c3 修改任务包列表
2 years ago
sunchenliang 31d98eecdb 开发任务单详情及相似度列表
2 years ago
sunchenliang 311ea02a71 开发任务单详情及相似度列表
2 years ago
DELL 640419d136 图片查询->相似度查询
2 years ago
DELL 6ab5ea4f3d 字段表增加是否高亮和是否可点击字段
2 years ago
707464720@qq.com 86dd2cfee2 Merge branch 'dev-lili'
2 years ago
707464720@qq.com 90e4a2a83d add:1.登录返回用户前端菜单权限列表 2.根据查重任务编号,获取到当前查重任务的结果
2 years ago
sunchenliang 41e9626aa3 修改任务审批
2 years ago
shuliYao c9636fac90 feat: 解决一件查重 创建审核任务和比对相似度结果有问题
2 years ago
sunchenliang ed91a64ee1 修改一键查重添加创建任务方法
2 years ago
shuliYao 047781e254 feat: 解决掉相似度阈值检索导致图片查询出问题
2 years ago
shuliYao 353d28c90e feat: 一件查重、创建任务包新逻辑调整
2 years ago
shuliYao 15b105543f Merge branch 'dev-lili'
2 years ago
707464720@qq.com 7f10dfc1ea add:AI一键查重功能改造方法实现
2 years ago
sunchenliang 57e22e39b9 修改任务消息
2 years ago
shuliYao dbda330be8 feat: 解决消息通知bug
2 years ago
shuliYao 74e83c4c96 Merge remote-tracking branch 'origin/master'
2 years ago
shuliYao 56116fd0fa feat: 清理无用字段类和代码,解决获取未读消息总数异常问题
2 years ago
sunchenliang 063cfdb0f9 修改任务详情返回图片信息
2 years ago
sunchenliang 92f56fa136 修改任务详情返回图片信息
2 years ago
707464720@qq.com 1afb543613 Merge remote-tracking branch 'origin/dev-lili' into dev-lili
2 years ago
707464720@qq.com 46e66d684d add:AI一键查重功能改造基础类提交
2 years ago
shuliYao 80a2a14cd6 Merge remote-tracking branch 'origin/master'
2 years ago
shuliYao c9dde6a7f1 feat: 增加描述信息
2 years ago
sunchenliang 4038b03337 修改任务详情返回图片信息
2 years ago
707464720@qq.com b23b67f975 add:AI一键查重功能改造基础类提交
2 years ago
707464720@qq.com b4b72c2fb7 add:AI一键查重功能改造基础类提交
2 years ago
707464720@qq.com 8aa367b80d add:AI一键查重功能改造基础类提交
2 years ago
sunchenliang 8750b393e2 修改相似度图片列表
2 years ago
shuliYao 2ebeddfbeb feat: 消息通知增加消息时间排序 默认倒序
2 years ago
shuliYao 6bfb80660d feat: 消息通知增加消息时间排序 默认倒序
2 years ago
sunchenliang 2f0e40f304 修改一键查重
2 years ago
sunchenliang 13813dd154 Merge remote-tracking branch 'origin/wujinhui'
2 years ago
wujinhui 44f576e4d6 bug修改
2 years ago
lijingtao f1f6de6427 可疑文件排查修改 都用图片id 并且限制这个用户添加过不能重复添加 列表预防空值报错返回限制
2 years ago
lijingtao 3049235e8c 轮询接口和可疑文件限制
2 years ago
707464720@qq.com c582470987 Merge remote-tracking branch 'origin/master' into dev-lili
2 years ago
ljt b9acf812be 移入可疑文件夹和增加返回限制
2 years ago
ljt 5351125ee1 可疑文件夹列表增加自定义排序
2 years ago
707464720@qq.com eaaebc05eb Merge remote-tracking branch 'origin/master' into dev-lili
2 years ago
ljt 2d5577f5c3 忘记密码效验返回error增加、综合搜索修改
2 years ago
ljt 5be2580cba 可疑文件夹列表和移出可疑文件夹
2 years ago
ljt 6149b38538 任务包-单任务详情-相似图片列表修改
2 years ago
ljt 162cea8f85 判断修改
2 years ago
lijingtao 266a8d337c 可疑文件夹修改传参方式
2 years ago
sunchenliang fc47a67318 修改任务审批列表
2 years ago
ljt 2362043c07 可疑文件夹接口新增
2 years ago
sunchenliang b97e03e961 提交小结查重相关
2 years ago
ljt 1f0acd7603 全文检索bug修改
2 years ago
lijingtao e6fd677957 补上字段
2 years ago
lijingtao 11bdeeaea9 图片查询、图片查询-自定义过滤条件、相似度图片列表接口 增加是否在可疑文件夹排除
2 years ago
ljt 42ba770547 登陆接口返回提示修改
2 years ago
ljt d835c7dd6e 个人笔记接口排查 增加新增后 排序显示 原因是前端页面更改完显示还是老数据
2 years ago
707464720@qq.com 6d12608e59 fix:抛出filter异常到全局异常处理
2 years ago
shuliYao 129c390345 feat: 提报日期转换时间戳、增加相似度阈值区间比对
2 years ago
lijingtao f504cccdf4 ai审批工具修改 添加批量假接口
2 years ago
DELL 1d64a16ffb 我的审核任务列表,需要关联查询ocr_picture表,将查到的信息返回到前端,注意,返回有新建对象
2 years ago
sunchenliang 4f800fc941 修改ai工单列表
2 years ago
DELL 51ab9b6401 工单列表返回数据修改
2 years ago
ljt dbec394c92 修改ai统计修改传参租户id 增加缓存24小时
2 years ago
sunchenliang d1b55fa87d 审批成功通知下一审批人
2 years ago
sunchenliang c9202520f7 修改历史审查数据结构
2 years ago
DELL ce0469b591 任务包列表接口返回数据结构修复,终审高级检索接口实现
2 years ago
sunchenliang 0732ed41f1 一键查重优化
2 years ago
ljt c19ed0d35c 综合搜索和前端对接 修改返回参类型
2 years ago
DELL db59a7adce 配合阿龙动态列显示,代码做了一些假数据
2 years ago
ljt 06c63d0caf 阿里云短信api和pom.xml添加依赖,发送短信验证码增加验证码接口
2 years ago
DELL ce85f7540f 终审列表检查查询补充
2 years ago
DELL 9c1155d359 Merge branch 'dev-cui-1'
2 years ago
DELL 299cad893e 终审列表检索查询
2 years ago
ljt 956aa0552f 综合搜索接口修改返回参数集合
2 years ago
lzCodeGarden f133c8e9a8 Merge remote-tracking branch 'origin/master'
2 years ago
lzCodeGarden 0d535fd16e 配置文件数据库更改,后端页面路径指向
2 years ago
shuliYao 2926cc2a3f feat: 调整历史状态str值和当前节点数据补充位置,防止被前面查询覆盖
2 years ago
DELL 1d7adfefb0 终审列表查询
2 years ago
sunchenliang 4c0df12a73 添加图片最大相似值
2 years ago
lijingtao 94b2cbec67 ai审批工具
2 years ago
sunchenliang 2e64d7d50b 修改任务列表数据重复问题
2 years ago
DELL cbb632eb13 11
2 years ago
DELL d35902c27a Merge remote-tracking branch 'origin/master'
2 years ago
DELL 1dbeaefe4b 1
2 years ago
sunchenliang cbc6e13672 修改任务列表数据重复问题
2 years ago
shuliYao 240fd8b644 feat: 解决动态列新增失败问题
2 years ago
lzCodeGarden c0fc50acef 相似度四舍五入为整数
2 years ago
DELL 5f1010e502 动态列保存用户勾选字段接口修改
2 years ago
sunchenliang c993e89ceb 修改任务包详情
2 years ago
DELL 986409a500 Merge remote-tracking branch 'origin/master'
2 years ago
DELL e00644e22f 审核左侧列表查询,新增返回字段,审批状态和提报人姓名
2 years ago
shuliYao c8501e6be2 feat: 无量云数据拉取、相似度列表查询
2 years ago
sunchenliang 2fd4a6e9ef 修改终审列表
2 years ago
sunchenliang b96354b5f0 修改任务包详情添加审查记录
2 years ago
lzCodeGarden 15847e37d8 修复linux地址路径截取
2 years ago
lzCodeGarden 99d9be6429 修复缩略图名称获取错误
2 years ago
lzCodeGarden fc2ed1c78f Merge remote-tracking branch 'origin/master'
2 years ago
lzCodeGarden deabcea411 配置文件数据库更改,后端页面路径指向
2 years ago
shuliYao b0d9af3aba feat: dev-yml增加缩略图地址配置
2 years ago
lzCodeGarden 542c9e10c1 Merge remote-tracking branch 'origin/master'
2 years ago
lzCodeGarden a806630cbc 新增缩略图
2 years ago
sunchenliang 92444d64b7 修改任务单任务详情-相似图片列表
2 years ago
ljt 5b9a213668 综合搜索接口已修改
2 years ago
sunchenliang 38e682da0c 修改任务单任务详情-相似图片列表
2 years ago
DELL c41d921dc4 动态列查询,原型图每个页面必选字段不一样,原来查询的是必选字段或类型匹配的字段,暂时修改查询方式为:只根据类型匹配查询
2 years ago
shuliYao 96c0716bf6 feat: 解决dev-yml缺少参数,解决图片数据处理项目名称赋值错误问题
2 years ago
lzCodeGarden 794bf19811 配置文件数据库更改,后端页面路径指向
2 years ago
lzCodeGarden e1186d6fda 配置文件数据库更改,后端页面路径指向
2 years ago
lzCodeGarden a16abc330b 更新比对
2 years ago
lzCodeGarden 137790a115 图片比对优化
2 years ago
ljt 188ef2019c 任务清除标记 没清除标记 已修改bug
2 years ago
sunchenliang 4bde6ffd72 修改任务审批及任务包详情添加审查日志
2 years ago
sunchenliang c58a6123ac 修改任务审批列表数据重复
2 years ago
shuliYao 77e3f69c10 feat: 审核任务列表(包含历史审批) id为long导致丢失精度问题修改
2 years ago
shuliYao be1e3e1525 Merge branch 'master' of https://git.mcnetmart.com/guoxiangbin/ocr
2 years ago
sunchenliang 76a120a10c 修改任务包相关接口
2 years ago
shuliYao 70349a55b9 Merge remote-tracking branch 'origin/master'
2 years ago
shuliYao 82ce94e50b feat: 修改一键查重服务器地址
2 years ago
sunchenliang 4ac99767b1 修改任务包相关接口
2 years ago
sunchenliang 9975fe7cb7 修改图片相似度检测
2 years ago
sunchenliang ee36909fc3 修改图片相似度检测
2 years ago
sunchenliang 2afc9f89c2 修改图片本地化存储
2 years ago
DELL 974e61e0ad 动态列->>保存用户勾选字段列表和查询用户勾选字段列表->>增加固定列和非固定列字段
2 years ago
lijingtao 91f5537b35 消息接口清除 修改bug
2 years ago
lijingtao 44623e8c06 ai统计接口增加 少提交一个
2 years ago
sunchenliang 6b10a0ac43 Merge branch 'dev'
2 years ago
lijingtao 7e667bbf9f 消息列表修改去掉发送人
2 years ago
DELL b31a128643 终审列表查询
2 years ago
DELL 100ea1e7c7 终审列表查询
2 years ago
DELL ff01c25373 Merge branch 'master' into dev-cui
2 years ago
shuliYao 690b0961be feat: 解决图片查询,日期比对不正确问题
2 years ago
DELL 54ac08208e 高级筛选新增类型,自定义筛选新增类型
2 years ago
shuliYao 6884d69ed2 feat: 解决查询包含相似度报错问题,修改检索提报人字段,由名称改为id
2 years ago
DELL 0367629dea 首页和终审的筛选加类型字段
2 years ago
DELL f4d60c10ac 动态列接口
2 years ago
DELL 6ca42aaade 动态列接口
2 years ago

1
.gitignore vendored

@ -2,3 +2,4 @@
**/.idea/ **/.idea/
*.iml *.iml
rebel.xml rebel.xml
*.log

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -22,6 +22,14 @@ public interface UserTokenService {
* @return * @return
*/ */
User findByLoginname(String loginname); User findByLoginname(String loginname);
/**
*
* @param phone
* @return
*/
User findByPhone(String phone);
/** /**
* *
* @param userid * @param userid
@ -123,6 +131,22 @@ public interface UserTokenService {
* @return * @return
*/ */
public Long listCount(String otherno,String loginname); public Long listCount(String otherno,String loginname);
/**
*
* @param otherno
* @return
*/
public Long listOthernoCount(String otherno);
/**
*
* @param otherno
* @param loginname
* @return
*/
public Long listLoginNameCount(String otherno,String loginname);
/** /**
* *
@ -131,4 +155,11 @@ public interface UserTokenService {
* @return * @return
*/ */
public Long listMobileCount(String otherno,String mobile); public Long listMobileCount(String otherno,String mobile);
/**
*
* @return
*/
boolean getTenantStatus(String agentcode);
} }

@ -69,6 +69,9 @@ public class SearchQuery implements java.io.Serializable{
public void addIn(String field,List<String> value){ public void addIn(String field,List<String> value){
addQuery(field,value, SearchQueryConstant.SEARCH_IN); addQuery(field,value, SearchQueryConstant.SEARCH_IN);
} }
public void addIn(String field,String value){
addQuery(field,value, SearchQueryConstant.SEARCH_IN);
}
public void addInLong(String field,List<Long> value){ public void addInLong(String field,List<Long> value){
addQuery(field,value, SearchQueryConstant.SEARCH_IN); addQuery(field,value, SearchQueryConstant.SEARCH_IN);
} }
@ -92,6 +95,13 @@ public class SearchQuery implements java.io.Serializable{
public void addGreater(String field,Integer value){ public void addGreater(String field,Integer value){
addQuery(field,value, SearchQueryConstant.SEARCH_GREATER); addQuery(field,value, SearchQueryConstant.SEARCH_GREATER);
} }
public void addGreater(String field,String value){
addQuery(field,value, SearchQueryConstant.SEARCH_GREATER);
}
public void addGreater(String field,Long value){
addQuery(field,value, SearchQueryConstant.SEARCH_GREATER);
}
public void addGreater(String field,BigDecimal value){ public void addGreater(String field,BigDecimal value){
addQuery(field,value, SearchQueryConstant.SEARCH_GREATER); addQuery(field,value, SearchQueryConstant.SEARCH_GREATER);
@ -104,6 +114,9 @@ public class SearchQuery implements java.io.Serializable{
public void addGreaterEqual(String field,Integer value){ public void addGreaterEqual(String field,Integer value){
addQuery(field,value, SearchQueryConstant.SEARCH_GREATER_EQUAL); addQuery(field,value, SearchQueryConstant.SEARCH_GREATER_EQUAL);
} }
public void addGreaterEqual(String field,String value){
addQuery(field,value, SearchQueryConstant.SEARCH_GREATER_EQUAL);
}
public void addGreaterEqual(String field,BigDecimal value){ public void addGreaterEqual(String field,BigDecimal value){
addQuery(field,value, SearchQueryConstant.SEARCH_GREATER_EQUAL); addQuery(field,value, SearchQueryConstant.SEARCH_GREATER_EQUAL);
@ -114,7 +127,13 @@ public class SearchQuery implements java.io.Serializable{
public void addLess(String field,Integer value){ public void addLess(String field,Integer value){
addQuery(field,value, SearchQueryConstant.SEARCH_LESS); addQuery(field,value, SearchQueryConstant.SEARCH_LESS);
} }
public void addLess(String field,String value){
addQuery(field,value, SearchQueryConstant.SEARCH_LESS);
}
public void addLess(String field,Long value){
addQuery(field,value, SearchQueryConstant.SEARCH_LESS);
}
public void addLess(String field,BigDecimal value){ public void addLess(String field,BigDecimal value){
addQuery(field,value, SearchQueryConstant.SEARCH_LESS); addQuery(field,value, SearchQueryConstant.SEARCH_LESS);
} }
@ -124,6 +143,9 @@ public class SearchQuery implements java.io.Serializable{
public void addLessEqual(String field,Integer value){ public void addLessEqual(String field,Integer value){
addQuery(field,value, SearchQueryConstant.SEARCH_LESS_EQUAL); addQuery(field,value, SearchQueryConstant.SEARCH_LESS_EQUAL);
} }
public void addLessEqual(String field,String value){
addQuery(field,value, SearchQueryConstant.SEARCH_LESS_EQUAL);
}
public void addLessEqual(String field,BigDecimal value){ public void addLessEqual(String field,BigDecimal value){
addQuery(field,value, SearchQueryConstant.SEARCH_LESS_EQUAL); addQuery(field,value, SearchQueryConstant.SEARCH_LESS_EQUAL);
@ -132,6 +154,17 @@ public class SearchQuery implements java.io.Serializable{
public void addLessEqual(String field,Date value){ public void addLessEqual(String field,Date value){
addQuery(field,value, SearchQueryConstant.SEARCH_LESS_EQUAL); addQuery(field,value, SearchQueryConstant.SEARCH_LESS_EQUAL);
} }
public void addRulesOp(String field,String rulesOp){
SearchQueryForm searchQueryForm = new SearchQueryForm();
if(query.get(field)!=null){
searchQueryForm = (SearchQueryForm) query.get(field);
searchQueryForm.setRulesOp(rulesOp);
return;
}
searchQueryForm.setRulesOp(rulesOp);
query.put(field,searchQueryForm);
}
/** /**
* *
* @param field * @param field
@ -155,11 +188,15 @@ public class SearchQuery implements java.io.Serializable{
log.error("【添加搜索条件】对象-value-错误value不能为空"); log.error("【添加搜索条件】对象-value-错误value不能为空");
return; return;
} }
if(null != query.get(field)){ // if(null != query.get(field)){
log.error("【添加搜索条件】-query-错误query已经存在数据,field={}",field); // log.error("【添加搜索条件】-query-错误query已经存在数据,field={}",field);
return; // return;
} // }
SearchQueryForm lf = new SearchQueryForm(); SearchQueryForm lf = new SearchQueryForm();
if(query.get(field)!=null){
lf = (SearchQueryForm) query.get(field);
}
lf.setField(field); lf.setField(field);
lf.setDataOp(SearchQueryUtil.filterMap.get(filter)); lf.setDataOp(SearchQueryUtil.filterMap.get(filter));
lf.setOp(filter); lf.setOp(filter);

@ -8,10 +8,10 @@ import java.io.Serializable;
*/ */
public class SearchQueryForm implements Serializable { public class SearchQueryForm implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String field;// 字段名称 private String field;// 字段名称 username and t1.username = %111%(vachar)
private String op;// 比对条件 private String op;// 比对条件 =
private Object value;// 比对内容 private Object value;// 比对内容 111
private String type;// 类型 private String type;// 类型 ()
private String rulesOp;// 搜索条件的关联方式,或/与and/or private String rulesOp;// 搜索条件的关联方式,或/与and/or
private String tablenameother = "";// 数据表别名 private String tablenameother = "";// 数据表别名
private String dataOp;// 数据库中的比较条件,根据op属性获取 private String dataOp;// 数据库中的比较条件,根据op属性获取
@ -78,7 +78,10 @@ public class SearchQueryForm implements Serializable {
public String getLikestar() { public String getLikestar() {
if(SearchQueryUtil.filterMap.get(this.getOp()).equals(SearchQueryConstant.SEARCH_LIKE)){ if(SearchQueryUtil.filterMap.get(this.getOp()).equals(SearchQueryConstant.SEARCH_LIKE)){
this.setLikestar("CONCAT('%',"); this.setLikestar("CONCAT('%',");
}else if(SearchQueryUtil.filterMap.get(this.getOp()).equals(SearchQueryConstant.SEARCH_IN)){
this.setLikestar("(");
} }
return likestar; return likestar;
} }
@ -89,6 +92,8 @@ public class SearchQueryForm implements Serializable {
public String getLikeend() { public String getLikeend() {
if(SearchQueryUtil.filterMap.get(this.getOp()).equals(SearchQueryConstant.SEARCH_LIKE)){ if(SearchQueryUtil.filterMap.get(this.getOp()).equals(SearchQueryConstant.SEARCH_LIKE)){
this.setLikeend(",'%')"); this.setLikeend(",'%')");
}else if(SearchQueryUtil.filterMap.get(this.getOp()).equals(SearchQueryConstant.SEARCH_IN)){
this.setLikeend(")");
} }
return likeend; return likeend;
} }

@ -86,6 +86,9 @@ public class User implements java.io.Serializable {
//密码最后更新时间 //密码最后更新时间
private Long psdupdatetime; private Long psdupdatetime;
//用户审批节点
private Integer nodeType;
//用户对应的角色信息,映射文件中对应的字段信息 //用户对应的角色信息,映射文件中对应的字段信息
@JsonIgnore @JsonIgnore
private List roleslist = new ArrayList(0); private List roleslist = new ArrayList(0);
@ -129,6 +132,9 @@ public class User implements java.io.Serializable {
//存放其他平台关联用户的对象信息 //存放其他平台关联用户的对象信息
private List oauthUserList = new ArrayList(0); private List oauthUserList = new ArrayList(0);
//前端菜单展示列表权限
private List<Object> frontmenuTList = new ArrayList<>();
public UserToken getFormatUserToken(){ public UserToken getFormatUserToken(){
//初始化登录用户信息 //初始化登录用户信息

@ -15,32 +15,35 @@ import lombok.NoArgsConstructor;
public class UserToken implements java.io.Serializable { public class UserToken implements java.io.Serializable {
private static final long serialVersionUID = 8798596773855969L; private static final long serialVersionUID = 8798596773855969L;
// loginname + tokenuuid用于缓存的key使用 // loginname + tokenuuid用于缓存的key使用
private String tokenid; private String tokenid;
private String tokenuuid; private String tokenuuid;
//用户主键 //用户主键
private String userid; private String userid;
//登陆账号 //登陆账号
private String loginname; private String loginname;
//用户名 //用户名
private String username; private String username;
// 客户端 // 客户端
private String userAgent; private String userAgent;
// 授权时间 // 授权时间
private Long issuedAt; private Long issuedAt;
// 过期时间 // 过期时间
private Long expiresAt; private Long expiresAt;
// 是否记住我 // 是否记住我
private boolean remember; private boolean remember;
//用户登录后的签名信息目前使用userid签名 //用户登录后的签名信息目前使用userid签名
private String signUser; private String signUser;
//用户审批节点
private Integer nodeType;
} }

@ -20,6 +20,12 @@ public interface CacheConstants {
//缓存超时时间,单位:秒,目前验证码使用 //缓存超时时间,单位:秒,目前验证码使用
int CACHE_TIME = 300;//300; int CACHE_TIME = 300;//300;
//缓存超时时间,单位:秒,目前ai统计使用 24小时,获取验证码在使用
int TOOLSCOUNT_TENANTID_CACHE_TIME = 86400;
//保存ai统计租户id对象
String TOOLSCOUNT_TENANTID_MODEL_NAME = "toolscountmodel_tenantid";
//缓存中验证码存放的关键字 //缓存中验证码存放的关键字
String CACHE_CODE = "CODEKAP"; String CACHE_CODE = "CODEKAP";

@ -55,6 +55,18 @@
<artifactId>jyjz-framework-security</artifactId> <artifactId>jyjz-framework-security</artifactId>
</dependency> </dependency>
<!-- 阿里云短信依赖 -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.16</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>2.1.0</version>
</dependency>
<!-- 验证码 --> <!-- 验证码 -->
<dependency> <dependency>
<groupId>com.github.penggle</groupId> <groupId>com.github.penggle</groupId>

@ -5,6 +5,7 @@ import cn.jyjz.xiaoyao.common.base.exception.CommonExceptionCodeEnum;
import cn.jyjz.xiaoyao.common.base.exception.ServiceException; import cn.jyjz.xiaoyao.common.base.exception.ServiceException;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService; import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil; import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.util.SpringUtils;
import cn.jyjz.xiaoyao.common.base.util.UserUtils; import cn.jyjz.xiaoyao.common.base.util.UserUtils;
import cn.jyjz.xiaoyao.common.base.vo.User; import cn.jyjz.xiaoyao.common.base.vo.User;
import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.common.base.vo.UserToken;
@ -27,6 +28,7 @@ import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.web.authentication.WebAuthenticationDetailsSource; import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter; import org.springframework.web.filter.OncePerRequestFilter;
import org.springframework.web.servlet.HandlerExceptionResolver;
/** /**
* https://blog.csdn.net/zkc7441976/article/details/111034574 * https://blog.csdn.net/zkc7441976/article/details/111034574
@ -58,7 +60,7 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
String[] excludespath = systemopenurlService.getOpenUrl(); String[] excludespath = systemopenurlService.getOpenUrl();
//不需要过滤的url //不需要过滤的url
String[] excludesOther = {"/static","/json",".js",".css",".ico",".jpg",".png",".pcm","/druid"}; String[] excludesOther = {"/static","/json",".js",".css",".ico",".jpg",".png",".pcm","/druid","/doc.html","/swagger-ui.html","/swagger-resources","/webjars/**","/v2/api-docs"};
String[] urls = ArrayUtils.addAll(excludespath, excludesOther); String[] urls = ArrayUtils.addAll(excludespath, excludesOther);
@ -143,6 +145,12 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
} }
} }
else{
//抛出filter异常到全局处理异常
HandlerExceptionResolver hadoopHandlerExceptionResolver = SpringUtils.getBean("handlerExceptionResolver");
hadoopHandlerExceptionResolver.resolveException(request,response,null, new ServiceException(CommonExceptionCodeEnum.DATA_TOKEN_NULL));
return;
}
} }
filterChain.doFilter(request, response); filterChain.doFilter(request, response);

@ -17,8 +17,12 @@ import cn.jyjz.xiaoyao.framework.security.captcha.utile.CaptchUtil;
import cn.jyjz.xiaoyao.framework.security.model.AdminUserModel; import cn.jyjz.xiaoyao.framework.security.model.AdminUserModel;
import cn.jyjz.xiaoyao.framework.security.service.FlowableUserLoginService; import cn.jyjz.xiaoyao.framework.security.service.FlowableUserLoginService;
import cn.jyjz.xiaoyao.framework.security.service.OnlineUserService; import cn.jyjz.xiaoyao.framework.security.service.OnlineUserService;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.AuthenticationProvider; import org.springframework.security.authentication.AuthenticationProvider;
@ -88,8 +92,16 @@ public class MyAuthenticationProvider implements AuthenticationProvider {
// //从缓存中删除验证码 // //从缓存中删除验证码
// iCacheManager.remove(CacheConstants.CACHE_CODE,codetoken); // iCacheManager.remove(CacheConstants.CACHE_CODE,codetoken);
if(StringUtils.isBlank(loginname) || StringUtils.isBlank(password)){ // if(StringUtils.isBlank(loginname) || StringUtils.isBlank(password)){
throw new AuthenticationServiceException("账号密码不正确"); // throw new AuthenticationServiceException("账号密码不正确");
// }
if(StringUtils.isBlank(loginname)){
throw new AuthenticationServiceException("请输入账号!");
}
if(StringUtils.isBlank(password)){
throw new AuthenticationServiceException("密码错误!");
} }
//判断验证码不能为空 //判断验证码不能为空
@ -103,15 +115,36 @@ public class MyAuthenticationProvider implements AuthenticationProvider {
// } // }
//判断手机号与企业编码是否存在 //判断手机号与企业编码是否存在
if(!"admin".equals(loginname) && userTokenService.listCount(agentcode,loginname).intValue() <= 0){ // if(!"admin".equals(loginname) && userTokenService.listCount(agentcode,loginname).intValue() <= 0){
throw new AuthenticationServiceException("企业编码或账号错误"); // throw new AuthenticationServiceException("企业编码或账号错误");
// }
//判断手机号与企业编码是否存在
// if(!"admin".equals(loginname) && userTokenService.listCount(agentcode,loginname).intValue() <= 0){
// throw new AuthenticationServiceException("企业编码错误!");
// }
//企业编码是否存在
if(!"admin".equals(loginname) && userTokenService.listOthernoCount(agentcode).intValue() <= 0){
throw new AuthenticationServiceException("企业编码错误!");
} }
boolean tenantStatus = userTokenService.getTenantStatus(agentcode);
if (!"admin".equals(loginname) && !tenantStatus) {
throw new AuthenticationServiceException("该租户已被冻结!");
}
//判断账号是否存在
if(!"admin".equals(loginname) && userTokenService.listLoginNameCount(agentcode,loginname).intValue() <= 0){
throw new AuthenticationServiceException("账号不存在!");
}
//数据库查询用户对象 //数据库查询用户对象
User user = userTokenService.findByLoginname(loginname); User user = userTokenService.findByLoginname(loginname);
if(null == user){ if(null == user){
throw new AuthenticationServiceException("账号密码不正确"); throw new AuthenticationServiceException("账号密码不正确");
}else if(user.getEnabled() == 0){
throw new AuthenticationServiceException("该账号被禁用");
} }
//TODO 处理同一个用户,多次登录 //TODO 处理同一个用户,多次登录
@ -153,7 +186,7 @@ public class MyAuthenticationProvider implements AuthenticationProvider {
} }
//userTokenService.savePasswordMaxRetry(user.getLoginname()); //userTokenService.savePasswordMaxRetry(user.getLoginname());
throw new AuthenticationServiceException("账号密码不正确"); throw new AuthenticationServiceException("密码错误");
} }
@Override @Override

@ -29,7 +29,7 @@ public class SmsLoginController {
String agentcode = request.getParameter("agentcode"); String agentcode = request.getParameter("agentcode");
//判断手机号与企业编码是否存在 //判断手机号与企业编码是否存在
if(userTokenService.listCount(agentcode,phone).intValue() <= 0){ if(userTokenService.listMobileCount(agentcode,phone).intValue() <= 0){
return ResultVoUtil.error("企业编码或手机号错误。"); return ResultVoUtil.error("企业编码或手机号错误。");
} }

@ -2,7 +2,6 @@ package cn.jyjz.xiaoyao.framework.security.service.impl;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import cn.jyjz.xiaoyao.common.base.config.XiaoyaoConfig; import cn.jyjz.xiaoyao.common.base.config.XiaoyaoConfig;
import cn.jyjz.xiaoyao.common.base.constant.RequestParameterConstans;
import cn.jyjz.xiaoyao.common.base.service.UserTokenOnlineService; import cn.jyjz.xiaoyao.common.base.service.UserTokenOnlineService;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService; import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.util.validator.PhoneNumberValidator; import cn.jyjz.xiaoyao.common.base.util.validator.PhoneNumberValidator;
@ -14,10 +13,10 @@ import cn.jyjz.xiaoyao.common.redis.cache.constants.CacheConstants;
import cn.jyjz.xiaoyao.framework.security.authentication.sms.SmsProvider; import cn.jyjz.xiaoyao.framework.security.authentication.sms.SmsProvider;
import cn.jyjz.xiaoyao.framework.security.model.AdminUserModel; import cn.jyjz.xiaoyao.framework.security.model.AdminUserModel;
import cn.jyjz.xiaoyao.framework.security.service.SmsLoginService; import cn.jyjz.xiaoyao.framework.security.service.SmsLoginService;
import cn.jyjz.xiaoyao.framework.security.sms.MsmService;
import cn.jyjz.xiaoyao.framework.security.utils.JwtUtils; import cn.jyjz.xiaoyao.framework.security.utils.JwtUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication; import org.springframework.security.core.Authentication;
@ -26,6 +25,9 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.time.LocalDate;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import java.util.regex.Matcher; import java.util.regex.Matcher;
@ -46,6 +48,9 @@ public class SmsLoginServiceImpl implements SmsLoginService {
private SmsProvider smsProvider; private SmsProvider smsProvider;
@Resource @Resource
private XiaoyaoConfig xiaoyaoConfig; private XiaoyaoConfig xiaoyaoConfig;
@Resource
private MsmService msmservice;
@Override @Override
public ResultVo sendCode(String phone) { public ResultVo sendCode(String phone) {
//校验手机号 //校验手机号
@ -53,13 +58,34 @@ public class SmsLoginServiceImpl implements SmsLoginService {
if (!isPhone) { if (!isPhone) {
return ResultVoUtil.error("请输入正确的手机号。"); return ResultVoUtil.error("请输入正确的手机号。");
} }
// 检查手机号当天获取验证码的次数
// 获取今天的日期,用于计算当天的发送次数
LocalDate today = LocalDate.now();
String cacheKey = "verification_count_" + phone + "_" + today;
Integer count = iCacheManager.get(CacheConstants.USER_PHONE_MODEL_NAME, cacheKey);
if (count == null) {
count = 0;
}
if (count >= 10) {
return ResultVoUtil.error("获取验证码次数超限,请明天再试!");
}
//生成验证码 //生成验证码
String code = RandomUtil.randomNumbers(6); String code = RandomUtil.randomNumbers(4);
//TODO 发送短信 //TODO 发送短信
Map<String,Object> map=new HashMap<>();
map.put("code",code);
msmservice.send(map,phone);
//用户登录信息写入缓存 //用户登录信息写入缓存
iCacheManager.put(CacheConstants.USER_PHONE_MODEL_NAME,phone,code,CacheConstants.CACHE_TIME); iCacheManager.put(CacheConstants.USER_PHONE_MODEL_NAME,phone,code,CacheConstants.CACHE_TIME);
// 更新手机号当天获取验证码的次数
iCacheManager.put(CacheConstants.USER_PHONE_MODEL_NAME, cacheKey, count + 1, CacheConstants.TOOLSCOUNT_TENANTID_CACHE_TIME);
//保存验证码到 缓存中 //保存验证码到 缓存中
return ResultVoUtil.success(code); return ResultVoUtil.success(code);
} }
@ -88,7 +114,7 @@ public class SmsLoginServiceImpl implements SmsLoginService {
} }
//数据库查询用户对象 //数据库查询用户对象
User user = userTokenService.findByLoginname(phone); User user = userTokenService.findByPhone(phone);
if(null == user){ if(null == user){
return ResultVoUtil.error("用户错误。"); return ResultVoUtil.error("用户错误。");
} }

@ -0,0 +1,8 @@
package cn.jyjz.xiaoyao.framework.security.sms;
import java.util.Map;
public interface MsmService {
//发送验证码
boolean send(Map<String, Object> param, String phone);
}

@ -0,0 +1,46 @@
package cn.jyjz.xiaoyao.framework.security.sms;
import cn.jyjz.xiaoyao.common.base.util.StringUtils;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.profile.DefaultProfile;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
public class MsmServiceImpl implements MsmService{
@Override
public boolean send(Map<String, Object> param, String phone) {
if(StringUtils.isEmpty(phone)) return false;
//default 地域节点, 后面是 阿里云的 id和秘钥
DefaultProfile profile = DefaultProfile.getProfile("default", "LTAI5t764kWdwYXDGYzDnRuJ", "iI2HiElIzbNiyGw1h4UdRE6Fw8159f");
IAcsClient client = new DefaultAcsClient(profile);
//这里不能修改
CommonRequest request = new CommonRequest();
//request.setProtocol(ProtocolType.HTTPS);
// request.setMethod(MethodType.POST);
request.setDomain("dysmsapi.aliyuncs.com");
request.setVersion("2017-05-25");
request.setAction("SendSms");
request.putQueryParameter("PhoneNumbers", phone); //手机号
request.putQueryParameter("SignName", "北京码城科技"); //申请阿里云 签名名称(用的也是阿里云和模板配套的服务器配置好)
request.putQueryParameter("TemplateCode", "SMS_465342327"); //申请阿里云 模板code用的也是阿里云和签名配套的服务器配置好
request.putQueryParameter("TemplateParam", JSONObject.toJSONString(param));
try {
CommonResponse response = client.getCommonResponse(request);
System.out.println(response.getData());
return response.getHttpResponse().isSuccess();
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
}

@ -0,0 +1,20 @@
package cn.jyjz.xiaoyao.admin.dataDao;
import cn.jyjz.xiaoyao.admin.dataobject.SFrontmenuT;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* Mapper
* </p>
*
* @author author
* @since 2024-03-25
*/
@Mapper
public interface SFrontmenuTDao extends BaseMapper<SFrontmenuT> {
List<SFrontmenuT> queryUserMenuById(String loginName);
}

@ -18,6 +18,20 @@ public interface UserTenantMybatisDao extends BaseMapper<UserTenant> {
* @return * @return
*/ */
Long listCount(Map<String, Object> query); Long listCount(Map<String, Object> query);
/**
*
* @param query otherno
* @return
*/
Long listOthernoCount(Map<String, Object> query);
/**
*
* @param query othernologinname
* @return
*/
Long listLoginNameCount(Map<String, Object> query);
/** /**
* *

@ -0,0 +1,61 @@
package cn.jyjz.xiaoyao.admin.dataobject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author author
* @since 2024-03-25
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("s_frontmenu_t")
@ApiModel(value="SFrontmenuT对象", description="前端菜单表")
public class SFrontmenuT implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键ID")
@TableId(value = "id", type = IdType.NONE)
private Long id;
@ApiModelProperty(value = "菜单名")
private String name;
@ApiModelProperty(value = "父级菜单ID")
private Integer parentId;
@ApiModelProperty(value = "资源标识唯一KEY")
private String resKey;
@ApiModelProperty(value = "菜单地址")
private String resUrl;
@ApiModelProperty(value = "菜单级别")
private Integer level;
@ApiModelProperty(value = "菜单图标")
private String icon;
@ApiModelProperty(value = "菜单排序")
private Integer orderNum;
@ApiModelProperty(value = "菜单是否隐藏0:否,1:是)")
private Integer ishide;
@ApiModelProperty(value = "菜单描述")
private String description;
}

@ -124,6 +124,9 @@ public class User implements BaseDto,java.io.Serializable {
@TableField(value="PSDUPDATETIME") @TableField(value="PSDUPDATETIME")
@JsonSerialize(using = DateSerializer.class) @JsonSerialize(using = DateSerializer.class)
private Long psdupdatetime; private Long psdupdatetime;
@Schema(description = "用户审批节点")
@TableField(value="NODETYPE")
private Integer nodeType;
//用户对应的角色信息,映射文件中对应的字段信息 //用户对应的角色信息,映射文件中对应的字段信息
@JsonIgnore @JsonIgnore
@ -178,6 +181,10 @@ public class User implements BaseDto,java.io.Serializable {
@TableField(exist = false) @TableField(exist = false)
private List<Department> deptlist = new ArrayList<Department>(0); private List<Department> deptlist = new ArrayList<Department>(0);
//前端菜单展示列表权限
@TableField(exist = false)
private List<SFrontmenuT> frontmenuTList = new ArrayList<>();
public UserToken getUserToken(){ public UserToken getUserToken(){
UserToken userToken = BeanUtil.copyProperties(this,UserToken.class); UserToken userToken = BeanUtil.copyProperties(this,UserToken.class);

@ -0,0 +1,19 @@
package cn.jyjz.xiaoyao.admin.service;
import cn.jyjz.xiaoyao.admin.dataobject.SFrontmenuT;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author author
* @since 2024-03-25
*/
public interface ISFrontmenuTService extends IService<SFrontmenuT> {
List<SFrontmenuT> queryUserMenuById(String loginName);
}

@ -23,6 +23,13 @@ public interface UserService extends BaseService<User> {
* @return * @return
*/ */
public User findByLoginname(String loginname); public User findByLoginname(String loginname);
/**
*
* @param phone
* @return
*/
public User findByPhone(String phone);
/** /**
* *

@ -40,6 +40,23 @@ public interface UserTenantService extends BaseService<UserTenant> {
* @return * @return
*/ */
public Long listCount(String otherno,String loginname); public Long listCount(String otherno,String loginname);
/**
*
* @param otherno
* @return
*/
public Long listOthernoCount(String otherno);
/**
*
* @param otherno
* @param loginname
* @return
*/
public Long listLoginNameCount(String otherno,String loginname);
/** /**
* *

@ -0,0 +1,34 @@
package cn.jyjz.xiaoyao.admin.service.impl;
import cn.jyjz.xiaoyao.admin.dataDao.SFrontmenuTDao;
import cn.jyjz.xiaoyao.admin.dataobject.SFrontmenuT;
import cn.jyjz.xiaoyao.admin.service.ISFrontmenuTService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.List;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* <p>
*
* </p>
*
* @author author
* @since 2024-03-25
*/
@Service
@Slf4j
public class SFrontmenuTServiceImpl extends ServiceImpl<SFrontmenuTDao, SFrontmenuT> implements ISFrontmenuTService {
@Resource
private SFrontmenuTDao sFrontmenuTDao;
@Override
public List<SFrontmenuT> queryUserMenuById(String loginName){
List<SFrontmenuT> sFrontmenuTList = sFrontmenuTDao.queryUserMenuById(loginName);
return sFrontmenuTList;
}
}

@ -9,6 +9,7 @@ import cn.jyjz.xiaoyao.admin.dataDao.UserobjectMybatisDao;
import cn.jyjz.xiaoyao.admin.dataDao.UserpostMybatisDao; import cn.jyjz.xiaoyao.admin.dataDao.UserpostMybatisDao;
import cn.jyjz.xiaoyao.admin.dataDao.UserrolesMybatisDao; import cn.jyjz.xiaoyao.admin.dataDao.UserrolesMybatisDao;
import cn.jyjz.xiaoyao.admin.dataobject.*; import cn.jyjz.xiaoyao.admin.dataobject.*;
import cn.jyjz.xiaoyao.admin.service.ISFrontmenuTService;
import cn.jyjz.xiaoyao.admin.service.UserService; import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.admin.service.UserTenantService; import cn.jyjz.xiaoyao.admin.service.UserTenantService;
import cn.jyjz.xiaoyao.common.base.config.XiaoyaoConfig; import cn.jyjz.xiaoyao.common.base.config.XiaoyaoConfig;
@ -77,6 +78,10 @@ public class UserServiceImpl extends BaseServiceImpl<UserMybatisDao,User> imple
@Resource @Resource
private UserTenantService userTenantService; private UserTenantService userTenantService;
@Resource
private ISFrontmenuTService isFrontmenuTService;
/** /**
* *
* @param loginname * @param loginname
@ -102,8 +107,43 @@ public class UserServiceImpl extends BaseServiceImpl<UserMybatisDao,User> imple
user.formatDeptlist(departmentList); user.formatDeptlist(departmentList);
user.setTenantList(this.userTenantService.listUserTenant(user.getId())); user.setTenantList(this.userTenantService.listUserTenant(user.getId()));
//返回用户前端菜单权限列表
List<SFrontmenuT> frontmenuTList1 = isFrontmenuTService.queryUserMenuById(user.getLoginname());
user.setFrontmenuTList(frontmenuTList1);
return user; return user;
} }
/**
*
* @param phone
* @return
*/
@Override
public User findByPhone(String phone){
if(StringUtils.isBlank(phone)){
throw new ServiceException(CommonExceptionCodeEnum.PARAM_NOTVALID);
}
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("MOBILE",phone);
User user = this.usermybatisdao.selectOne(queryWrapper);
if(null == user){
return null;
}
List<Department> departmentList = this.departmentMybatisDao.selectDeptByUserid(user.getId());
user.formatDeptlist(departmentList);
user.setTenantList(this.userTenantService.listUserTenant(user.getId()));
//返回用户前端菜单权限列表
List<SFrontmenuT> frontmenuTList1 = isFrontmenuTService.queryUserMenuById(user.getLoginname());
user.setFrontmenuTList(frontmenuTList1);
return user;
}
/** /**
* *
* @param userid * @param userid

@ -96,6 +96,32 @@ public class UserTenantServiceImpl extends BaseServiceImpl<UserTenantMybatisDao,
query.put("loginname",loginname); query.put("loginname",loginname);
return this.userTenantMybatisDao.listCount(query); return this.userTenantMybatisDao.listCount(query);
} }
/**
*
* @param otherno
* @return
*/
public Long listOthernoCount(String otherno){
Map<String, Object> query = new HashMap<>();
query.put("otherno",otherno);
return this.userTenantMybatisDao.listOthernoCount(query);
}
/**
*
* @param otherno
* @param loginname
* @return
*/
public Long listLoginNameCount(String otherno,String loginname){
Map<String, Object> query = new HashMap<>();
query.put("otherno",otherno);
query.put("loginname",loginname);
return this.userTenantMybatisDao.listLoginNameCount(query);
}
/** /**
* *

@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.jyjz.xiaoyao.admin.dataobject.Department; import cn.jyjz.xiaoyao.admin.dataobject.Department;
import cn.jyjz.xiaoyao.admin.dataobject.Oauthuser; import cn.jyjz.xiaoyao.admin.dataobject.Oauthuser;
import cn.jyjz.xiaoyao.admin.dataobject.Roles; import cn.jyjz.xiaoyao.admin.dataobject.Roles;
import cn.jyjz.xiaoyao.admin.dataobject.Tenant;
import cn.jyjz.xiaoyao.admin.service.*; import cn.jyjz.xiaoyao.admin.service.*;
import cn.jyjz.xiaoyao.common.base.config.XiaoyaoConfig; import cn.jyjz.xiaoyao.common.base.config.XiaoyaoConfig;
import cn.jyjz.xiaoyao.common.base.exception.CommonExceptionCodeEnum; import cn.jyjz.xiaoyao.common.base.exception.CommonExceptionCodeEnum;
@ -34,6 +35,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import com.auth0.jwt.exceptions.TokenExpiredException; import com.auth0.jwt.exceptions.TokenExpiredException;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -79,6 +81,9 @@ public class UserTokenServiceImpl implements UserTokenService {
@Resource @Resource
private UserTokenOnlineService userTokenOnlineService; private UserTokenOnlineService userTokenOnlineService;
@Autowired
private TenantService tenantService;
public User findByLoginname(String loginname) { public User findByLoginname(String loginname) {
@ -96,6 +101,24 @@ public class UserTokenServiceImpl implements UserTokenService {
User user = BeanUtil.copyProperties(userData,User.class); User user = BeanUtil.copyProperties(userData,User.class);
return user; return user;
} }
public User findByPhone(String phone) {
cn.jyjz.xiaoyao.admin.dataobject.User userData = userService.findByPhone(phone);
if(null == userData){
return null;
}
Department department = this.departmentService.selectRootDepartid(userData.getDepartment());
if(null != department){
//userData.setDepartname(department.getDepartname());
userData.setDepartmentRootId(department.getId());
}
User user = BeanUtil.copyProperties(userData,User.class);
return user;
}
public User findByUserid(Long userid) { public User findByUserid(Long userid) {
cn.jyjz.xiaoyao.admin.dataobject.User userData = userService.findById(userid); cn.jyjz.xiaoyao.admin.dataobject.User userData = userService.findById(userid);
@ -370,6 +393,27 @@ public class UserTokenServiceImpl implements UserTokenService {
public Long listCount(String otherno,String loginname){ public Long listCount(String otherno,String loginname){
return userTenantService.listCount(otherno,loginname); return userTenantService.listCount(otherno,loginname);
} }
/**
*
* @param otherno
* @return
*/
public Long listOthernoCount(String otherno){
return userTenantService.listOthernoCount(otherno);
}
/**
*
* @param otherno
* @param loginname
* @return
*/
public Long listLoginNameCount(String otherno,String loginname){
return userTenantService.listLoginNameCount(otherno,loginname);
}
/** /**
* *
@ -380,4 +424,17 @@ public class UserTokenServiceImpl implements UserTokenService {
public Long listMobileCount(String otherno,String mobile){ public Long listMobileCount(String otherno,String mobile){
return userTenantService.listMobileCount(otherno,mobile); return userTenantService.listMobileCount(otherno,mobile);
} }
/**
*
* @return
*/
@Override
public boolean getTenantStatus(String agentcode){
LambdaQueryWrapper<Tenant> tenantLambdaQueryWrapper = new LambdaQueryWrapper<>();
tenantLambdaQueryWrapper.eq(Tenant::getOtherno,agentcode);
Tenant tenant = tenantService.getOne(tenantLambdaQueryWrapper);
return tenant != null && tenant.getStatus() == 0;
}
} }

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.jyjz.xiaoyao.admin.dataDao.SFrontmenuTDao">
<resultMap id="BaseResultMap" type="cn.jyjz.xiaoyao.admin.dataobject.SFrontmenuT">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="parentId" jdbcType="INTEGER" property="parentId" />
<result column="resKey" jdbcType="VARCHAR" property="resKey" />
<result column="resUrl" jdbcType="VARCHAR" property="resKey" />
<result column="level" jdbcType="INTEGER" property="level" />
<result column="icon" jdbcType="VARCHAR" property="icon" />
<result column="orderNum" jdbcType="INTEGER" property="orderNum" />
<result column="ishide" jdbcType="INTEGER" property="ishide" />
<result column="description" jdbcType="VARCHAR" property="description" />
</resultMap>
<sql id="Base_Column_List">
id, `name`, parentId, resKey, resUrl, `level`, icon, orderNum, ishide, description
</sql>
<select id="queryUserMenuById" resultType="cn.jyjz.xiaoyao.admin.dataobject.SFrontmenuT">
SELECT
T3.*
FROM
s_user_frontmenu_t T1
LEFT JOIN s_user_t T2 ON T1.userId = T2.ID
LEFT JOIN s_frontmenu_t T3 on T3.id = T1.menuId
WHERE
T2.LOGINNAME = #{loginname}
ORDER BY T3.orderNum asc
</select>
</mapper>

@ -62,6 +62,33 @@
) )
</select> </select>
<select id="listOthernoCount" resultType="java.lang.Long" parameterType="java.util.Map">
select
count(ten.ID)
from
S_TENANT_T ten
where
ten.OTHERNO = #{otherno}
</select>
<select id="listLoginNameCount" resultType="java.lang.Long" parameterType="java.util.Map">
select
count(ten.ID)
from
S_TENANT_T ten
where
ten.OTHERNO = #{otherno}
and
ten.ID in (
select ue.TENANTID from
S_USER_T us,
S_USER_TENANT_T ue where us.LOGINNAME = #{loginname}
)
</select>
<select id="listMobileCount" resultType="java.lang.Long" parameterType="java.util.Map"> <select id="listMobileCount" resultType="java.lang.Long" parameterType="java.util.Map">
select select
count(ten.ID) count(ten.ID)

@ -27,7 +27,11 @@
<groupId>org.apache.httpcomponents</groupId> <groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId> <artifactId>httpcore</artifactId>
</dependency> </dependency>
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.14</version> <!-- 或者最新版本 -->
</dependency>
<dependency> <dependency>
<groupId>commons-configuration</groupId> <groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId> <artifactId>commons-configuration</artifactId>

@ -1,12 +1,24 @@
package cn.jyjz.flowable.common; package cn.jyjz.flowable.common;
import java.util.HashMap;
import java.util.Map;
/** /**
* *
*/ */
public class ProcessConstant { public class ProcessConstant {
public static final String BPMN_FILE_SUFFIX = ".bpmn"; public static final String BPMN_FILE_SUFFIX = ".bpmn";
public static final String FORM_FILE_SUFFIX = ".form"; public static final String FORM_FILE_SUFFIX = ".form";
public static Map<Integer, String> userNodeType;
static {
userNodeType = new HashMap<>();
userNodeType.put(1, "一级审批");
userNodeType.put(2, "二级审批");
userNodeType.put(3, "最终审批");
}
} }

@ -58,6 +58,11 @@ public interface SystemConstantsOa extends SystemConstants {
Integer OA_STATUS_TYPE_END = 3; Integer OA_STATUS_TYPE_END = 3;
Integer OA_STATUS_TYPE_REFUSE = 5; Integer OA_STATUS_TYPE_REFUSE = 5;
String OA_BUSSINRSS_NO_FIX = "TTZZ"; String OA_BUSSINRSS_NO_FIX = "TTZZ";
//无量云回传任务状态
Integer OCR_STATUS_SUCCESS = 0;
//无量云回传任务状态
Integer OCR_STATUS_FAILURE = 1;
//上传参考图存放的文件夹名称 //上传参考图存放的文件夹名称
String OCR_IMG_UP_PATH = File.separator + "upload" + File.separator + "ocr" + File.separator; String OCR_IMG_UP_PATH = File.separator + "upload" + File.separator + "ocr" + File.separator;

@ -2,10 +2,10 @@ package cn.jyjz.flowable.controller;
import cn.jyjz.flowable.common.SystemConstantsOa; import cn.jyjz.flowable.common.SystemConstantsOa;
import cn.jyjz.flowable.domain.dto.HistoricTaskInstanceDto; import cn.jyjz.flowable.domain.dto.HistoricTaskInstanceDto;
import cn.jyjz.flowable.domain.vo.FlowTaskVO; import cn.jyjz.flowable.entity.FlowApprove;
import cn.jyjz.flowable.entity.FlowTaskInfo;
import cn.jyjz.flowable.service.IFlowTaskService; import cn.jyjz.flowable.service.IFlowTaskService;
import cn.jyjz.flowable.utils.PageUtils; import cn.jyjz.flowable.utils.PageUtils;
import cn.jyjz.flowable.utils.SysConstant;
import cn.jyjz.xiaoyao.abase.service.SeqManageService; import cn.jyjz.xiaoyao.abase.service.SeqManageService;
import cn.jyjz.xiaoyao.admin.dataobject.User; import cn.jyjz.xiaoyao.admin.dataobject.User;
import cn.jyjz.xiaoyao.admin.service.UserService; import cn.jyjz.xiaoyao.admin.service.UserService;
@ -15,51 +15,51 @@ import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService; import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil; import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery; import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQueryForm;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo; import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.common.mybatisplus.util.SearchQueryFormat;
import cn.jyjz.xiaoyao.oa.from.dataobject.Category; import cn.jyjz.xiaoyao.oa.from.dataobject.Category;
import cn.jyjz.xiaoyao.oa.from.dataobject.Userapprove;
import cn.jyjz.xiaoyao.oa.from.service.UserapproveService; import cn.jyjz.xiaoyao.oa.from.service.UserapproveService;
import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo; import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo;
import cn.jyjz.xiaoyao.oa.from.vo.RepeatedTaskVo;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrUsersearch;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrUsersearchchild;
import cn.jyjz.xiaoyao.ocr.service.OcrSearchmanagerService;
import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService; import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService;
import cn.jyjz.xiaoyao.ocr.service.OcrUsersearchService;
import cn.jyjz.xiaoyao.ocr.service.OcrUsersearchchildService;
import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo;
import com.alanpoi.common.util.StringUtils; import com.alanpoi.common.util.StringUtils;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import org.flowable.ui.common.model.RemoteUser; import org.apache.commons.collections4.CollectionUtils;
import org.flowable.ui.common.service.idm.RemoteIdmService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.InputStream; import java.io.InputStream;
import java.math.BigDecimal; import java.text.ParseException;
import java.util.Date; import java.text.SimpleDateFormat;
import java.util.HashMap; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Api(tags="ocr_流程接口") @Api(tags = "ocr_流程接口")
@RestController @RestController
@RequestMapping("/flow/task") @RequestMapping("/flow/task")
public class FlowTaskController extends BaseController { public class FlowTaskController extends BaseController {
@Resource @Resource
IFlowTaskService flowTaskService; IFlowTaskService flowTaskService;
@Resource @Resource
private UserTokenService userTokenService; private UserTokenService userTokenService;
@Resource @Resource
private UserService userService; private UserService userService;
@Resource @Resource
@ -71,7 +71,7 @@ public class FlowTaskController extends BaseController {
private OcrTaskchildPictureService ocrTaskchildPictureService; private OcrTaskchildPictureService ocrTaskchildPictureService;
@Resource @Resource
private UserapproveService userapproveService; private OcrUsersearchchildService usersearchchildService;
// /** // /**
// * 查询我的待办任务 // * 查询我的待办任务
// * @return // * @return
@ -86,13 +86,14 @@ public class FlowTaskController extends BaseController {
/** /**
* *
*
* @param processId * @param processId
* @return * @return
* @throws Exception * @throws Exception
*/ */
@GetMapping(value = "/flowImg",produces = MediaType.IMAGE_PNG_VALUE) @GetMapping(value = "/flowImg", produces = MediaType.IMAGE_PNG_VALUE)
@ResponseBody @ResponseBody
public byte[] flowImg(@RequestParam("processId") String processId) throws Exception{ public byte[] flowImg(@RequestParam("processId") String processId) throws Exception {
InputStream diagram = flowTaskService.diagram(processId); InputStream diagram = flowTaskService.diagram(processId);
byte[] bytes = new byte[diagram.available()]; byte[] bytes = new byte[diagram.available()];
diagram.read(bytes); diagram.read(bytes);
@ -101,30 +102,32 @@ public class FlowTaskController extends BaseController {
/** /**
* *
*
* @param processId * @param processId
* @return * @return
* @throws Exception * @throws Exception
*/ */
@GetMapping(value = "/myFlowImg",produces = MediaType.IMAGE_PNG_VALUE) @GetMapping(value = "/myFlowImg", produces = MediaType.IMAGE_PNG_VALUE)
@ResponseBody @ResponseBody
public byte[] myFlowImg(@RequestParam("processId") String processId, HttpServletRequest request) throws Exception{ public byte[] myFlowImg(@RequestParam("processId") String processId, HttpServletRequest request) throws Exception {
InputStream diagram = flowTaskService.myDiagram(processId,request); InputStream diagram = flowTaskService.myDiagram(processId, request);
byte[] bytes = new byte[diagram.available()]; byte[] bytes = new byte[diagram.available()];
diagram.read(bytes); diagram.read(bytes);
return bytes; return bytes;
} }
/** /**
* *
*
* @return * @return
*/ */
@PostMapping("/viewFormid") @PostMapping("/viewFormid")
@ResponseBody @ResponseBody
public ResultVo viewFormid(@RequestParam("processId") String processId, HttpServletRequest request){ public ResultVo viewFormid(@RequestParam("processId") String processId, HttpServletRequest request) {
//查询业务主键 //查询业务主键
Category category = flowTaskService.viewForm(processId,request); Category category = flowTaskService.viewForm(processId, request);
if(null != category){ if (null != category) {
return ResultVoUtil.success(category); return ResultVoUtil.success(category);
} }
return ResultVoUtil.error(); return ResultVoUtil.error();
@ -132,127 +135,90 @@ public class FlowTaskController extends BaseController {
/** /**
* *
*
* @return * @return
*/ */
@ApiOperation(value="任务审批", notes="任务审批") @ApiOperation(value = "任务审批", notes = "任务审批")
@PostMapping("/completeFlow") @PostMapping("/completeFlow")
@ResponseBody @ResponseBody
public ResultVo complete(FlowTaskVO taskVO,HttpServletRequest request){ public ResultVo complete(@RequestBody FlowApprove approve, HttpServletRequest request) {
Boolean flag = flowTaskService.complete(taskVO,request); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
return flag?ResultVoUtil.success():ResultVoUtil.error(); Integer flag = flowTaskService.complete(approve, userToken, Arrays.asList(approve.getFlowTaskInfoList().get(0).getFormId()));
return flag > 0 ? ResultVoUtil.success() : ResultVoUtil.error();
} }
/** /**
* *
*
* @return * @return
*/ */
@ApiOperation(value="任务审批", notes="任务审批") @ApiOperation(value = "任务审批", notes = "任务审批")
@PostMapping("/completeBatchFlow") @PostMapping("/completeBatchFlow")
@ResponseBody @ResponseBody
public ResultVo completeBatch(HttpServletRequest request){ public ResultVo completeBatch(@RequestBody FlowApprove approve, HttpServletRequest request) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
//任务ID //任务ID
String[] taskId = request.getParameterValues("taskId"); List<FlowTaskInfo> flowTaskInfoList = approve.getFlowTaskInfoList();
//审批的任务主键 if (CollectionUtils.isNotEmpty(flowTaskInfoList)) {
String[] formid = request.getParameterValues("formid"); List<String> formIdList = flowTaskInfoList.stream().map(FlowTaskInfo::getFormId).collect(Collectors.toList());
//判断当前任务审批人是否一致
String[] taskname = request.getParameterValues("taskname"); List<String> formIds = ocrTaskchildPictureService.validateAssignee(formIdList, userToken);
// 判断当前任务是否审批完毕
//是否同意true同意false拒绝 if (CollectionUtils.isNotEmpty(formIds)) {
boolean approvd = Boolean.valueOf(request.getParameter("approvd")); Integer success = flowTaskService.complete(approve, userToken, formIds);
return ResultVoUtil.success("审批成功" + success + "条," + "无权审核" + (flowTaskInfoList.size() - success) + "条", "");
//审批意见")
String taskComment = request.getParameter("taskComment");
//判断当前任务审批人是否一致
if(!this.ocrTaskchildPictureService.validateAssignee(formid,userToken)){
return ResultVoUtil.error("审批人不一致,请到任务审批中处理。");
}
//TODO 判断当前任务是否审批完毕
if(!this.ocrTaskchildPictureService.validateApprove(formid)){
return ResultVoUtil.error("存在已经审批的任务。");
}
//TODO 判断taskid是否为非法空置、taskid是否存在
//判断当前任务是否存在历史任务--暂时不做,生成任务时直接保存历史任务的审批工具中
StringBuffer smg = new StringBuffer();
for(int i = 0;i < taskId.length;i++){
String ti = taskId[i];
String fi = formid[i];
FlowTaskVO taskVO = new FlowTaskVO();
taskVO.setTaskId(ti);
taskVO.setFormid(fi);
taskVO.setApprovd(approvd);
taskVO.setTaskComment(taskComment);
Boolean flag = flowTaskService.complete(taskVO,request);
if(!flag){
if(StringUtils.isNotBlank(smg.toString())){
smg.append("");
smg.append(taskname[i]);
smg.append("审批失败");
}else{
smg.append(taskname[i]);
smg.append("审批失败");
}
} }
} }
return ResultVoUtil.success("审核成功0条" + "无权审核" + flowTaskInfoList.size() + "条", "");
return (StringUtils.isNotBlank(smg.toString()))?ResultVoUtil.error(smg.toString()):ResultVoUtil.success();
} }
@GetMapping("/listhistore") @GetMapping("/listhistore")
@ResponseBody @ResponseBody
public ResultVo listhistore(PageUtils vo, Model model, HttpServletRequest request){ public ResultVo listhistore(PageUtils vo, Model model, HttpServletRequest request) {
String processInstanceId = request.getParameter("processInstanceId"); String processInstanceId = request.getParameter("processInstanceId");
List<HistoricTaskInstanceDto> list = flowTaskService.listHistoriceTask(processInstanceId); List<HistoricTaskInstanceDto> list = flowTaskService.listHistoriceTask(processInstanceId);
return ResultVoUtil.success(list); return ResultVoUtil.success(list);
} }
/** /**
* *
* *
*
* @return * @return
*/ */
@GetMapping("/finishedList") @GetMapping("/finishedList")
@ResponseBody @ResponseBody
public ResultVo getFinishedList(PageUtils pageUtils, HttpServletRequest request){ public ResultVo getFinishedList(PageUtils pageUtils, HttpServletRequest request) {
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request,"search_"); SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
User user = this.userService.getSessionUser(request); User user = this.userService.getSessionUser(request);
if(user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))){ if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) {
flowTaskService.getMyProcessInstances(searchQuery.getQuery(),pageUtils); flowTaskService.getMyProcessInstances(searchQuery.getQuery(), pageUtils);
}else{ } else {
searchQuery.addEqual("approveUserid",user.getId().toString()); searchQuery.addEqual("approveUserid", user.getId().toString());
flowTaskService.getMyProcessInstances(searchQuery.getQuery(),pageUtils); flowTaskService.getMyProcessInstances(searchQuery.getQuery(), pageUtils);
} }
return ResultVoUtil.success(pageUtils); return ResultVoUtil.success(pageUtils);
} }
/** /**
* *
* *
*
* @return * @return
*/ */
@ApiOperation(value="待办任务", notes="待办任务") @ApiOperation(value = "待办任务", notes = "待办任务")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true), @ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
}) })
@GetMapping("/listdata") @GetMapping("/listdata")
@ResponseBody @ResponseBody
public ResultVo<FlowUnionVo> listdata(PageUtils<FlowUnionVo> pageUtils, HttpServletRequest request){ public ResultVo<FlowUnionVo> listdata(PageUtils<FlowUnionVo> pageUtils, HttpServletRequest request) {
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request,"search_"); SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
//租户主键,由前端页面传送 //租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id"); String tenantId = request.getHeader("X-Tenant-Id");
String taskid = request.getParameter("taskid"); String taskid = request.getParameter("taskid");
@ -262,91 +228,99 @@ public class FlowTaskController extends BaseController {
String fromuserid = request.getParameter("fromuserid"); String fromuserid = request.getParameter("fromuserid");
String fromplanid = request.getParameter("fromplanid"); String fromplanid = request.getParameter("fromplanid");
if(org.apache.commons.lang3.StringUtils.isBlank(tenantId)){ if (org.apache.commons.lang3.StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空"); return ResultVoUtil.error("租户主键不能为空");
} }
if(StringUtils.isNotBlank(taskid)){ if (StringUtils.isNotBlank(taskid)) {
searchQuery.addEqual("taskid",taskid); searchQuery.addEqual("taskid", taskid);
} }
if(StringUtils.isNotBlank(taskname)){ if (StringUtils.isNotBlank(taskname)) {
searchQuery.addLike("taskname",taskname); searchQuery.addLike("taskname", taskname);
} }
if(StringUtils.isNotBlank(states)){ if (StringUtils.isNotBlank(states)) {
searchQuery.addEqual("states",states); searchQuery.addEqual("states", states);
} }
if(StringUtils.isNotBlank(fromprojectid)){ if (StringUtils.isNotBlank(fromprojectid)) {
searchQuery.addEqual("fromprojectid",fromprojectid); searchQuery.addEqual("fromprojectid", fromprojectid);
} }
if(StringUtils.isNotBlank(fromuserid)){ if (StringUtils.isNotBlank(fromuserid)) {
searchQuery.addEqual("fromuserid",fromuserid); searchQuery.addEqual("fromuserid", fromuserid);
} }
if(StringUtils.isNotBlank(fromplanid)){ if (StringUtils.isNotBlank(fromplanid)) {
searchQuery.addEqual("fromplanid",fromplanid); searchQuery.addEqual("fromplanid", fromplanid);
} }
User user = this.userService.getSessionUser(request); User user = this.userService.getSessionUser(request);
// List<Userapprove> userApprove = userapproveService.list(new LambdaQueryWrapper<Userapprove>().eq(Userapprove::getUserid, user.getId())); // List<Userapprove> userApprove = userapproveService.list(new LambdaQueryWrapper<Userapprove>().eq(Userapprove::getUserid, user.getId()));
// List<String> collect = userApprove.stream().map(Userapprove::getFormid).map(Object::toString).collect(Collectors.toList()); // List<String> collect = userApprove.stream().map(Userapprove::getFormid).map(Object::toString).collect(Collectors.toList());
// searchQuery.addIn("formid",collect); // searchQuery.addIn("formid",collect);
if(user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))){ if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) {
flowTaskService.getMyProcessInstances(searchQuery.getQuery(),pageUtils); flowTaskService.getMyProcessInstances(searchQuery.getQuery(), pageUtils);
}else{ } else {
String assigneeId = request.getParameter("assigneeId"); String assigneeId = request.getParameter("assigneeId");
//如果assigneeId 为空查询发起流程,否则查询待办流程 //如果assigneeId 为空查询发起流程,否则查询待办流程
if(StringUtils.isNotBlank(assigneeId) && assigneeId.equals(user.getId().toString())){ if (StringUtils.isNotBlank(assigneeId) && assigneeId.equals(user.getId().toString())) {
searchQuery.addEqual("assignee",user.getLoginname()); searchQuery.addEqual("assignee", user.getLoginname());
searchQuery.addEqual("states",SystemConstantsOa.OA_STATUS_TYPE_ING.toString()); searchQuery.addEqual("states", SystemConstantsOa.OA_STATUS_TYPE_ING.toString());
}else{ } else {
searchQuery.addEqual("createuser",user.getLoginname()); searchQuery.addEqual("createuser", user.getLoginname());
} }
searchQuery.addEqual("tenantid",tenantId); searchQuery.addEqual("tenantid", tenantId);
flowTaskService.getMyProcessInstances(searchQuery.getQuery(),pageUtils); flowTaskService.getMyProcessInstances(searchQuery.getQuery(), pageUtils);
//待办信息,增加是否查看标记 //待办信息,增加是否查看标记
if(StringUtils.isNotBlank(assigneeId) && assigneeId.equals(user.getId().toString())){ if (StringUtils.isNotBlank(assigneeId) && assigneeId.equals(user.getId().toString())) {
List list = pageUtils.getList(); List list = pageUtils.getList();
if(null != list && !list.isEmpty()){ if (null != list && !list.isEmpty()) {
int count = list.size(); int count = list.size();
for(int i = 0;i < count;i++){ for (int i = 0; i < count; i++) {
FlowUnionVo flowUnionVo = (FlowUnionVo) list.get(i); FlowUnionVo flowUnionVo = (FlowUnionVo) list.get(i);
//flowUnionVo.setView(userViewApproeService.haveByFromid(flowUnionVo.getFormid().toString())); //flowUnionVo.setView(userViewApproeService.haveByFromid(flowUnionVo.getFormid().toString()));
} }
} }
} }
} }
return ResultVoUtil.success(pageUtils); return ResultVoUtil.success(pageUtils);
} }
/** /**
* *
* *
*
* @return * @return
*/ */
@ApiOperation(value="我的任务", notes="查询我的待办、已经办理任务") @ApiOperation(value = "我的任务", notes = "查询我的待办、已经办理任务")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true), @ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
}) })
@GetMapping("/listalldata") @GetMapping("/listalldata")
@ResponseBody @ResponseBody
public ResultVo listAlldata(PageUtils pageUtils, HttpServletRequest request){ public ResultVo listAlldata(PageUtils pageUtils, HttpServletRequest request) {
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request,"search_"); SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
//租户主键,由前端页面传送 //租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id"); String tenantId = request.getHeader("X-Tenant-Id");
if(org.apache.commons.lang3.StringUtils.isBlank(tenantId)){ String taskName = request.getParameter("keyword");
if (org.apache.commons.lang3.StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空"); return ResultVoUtil.error("租户主键不能为空");
} }
if (org.apache.commons.lang3.StringUtils.isNotBlank(taskName)) {
searchQuery.addLike("fromtaskname", taskName);
}
//获取用户预设检索条件id
String userSearchId = request.getParameter("userSearchId");
User user = this.userService.getSessionUser(request); User user = this.userService.getSessionUser(request);
if(user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))){ if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) {
flowTaskService.getMyProcessInstances(searchQuery.getQuery(), pageUtils);
flowTaskService.getMyProcessInstances(searchQuery.getQuery(),pageUtils); } else {
}else{
flowTaskService.getMyProcessInstances(user, tenantId, searchQuery.getQuery(), pageUtils,userSearchId);
flowTaskService.getMyProcessInstances(user,tenantId,searchQuery.getQuery(),pageUtils);
//待办信息,增加是否查看标记 //待办信息,增加是否查看标记
// if(StringUtils.isNotBlank(assigneeId) && assigneeId.equals(user.getId().toString())){ // if(StringUtils.isNotBlank(assigneeId) && assigneeId.equals(user.getId().toString())){
// //
@ -360,73 +334,198 @@ public class FlowTaskController extends BaseController {
// } // }
// //
// } // }
} }
return ResultVoUtil.success(pageUtils); return ResultVoUtil.success(pageUtils);
} }
private void disSearchQuery(SearchQuery query, OcrUsersearchchild userSearch) {
if (userSearch.getSearchtype().equals("eq")) {
if (userSearch.getSearchvalue().contains(",")) {
String[] userIds = userSearch.getSearchvalue().split(",");
List<String> arrayData = Arrays.asList(userIds);
query.addIn(userSearch.getSearchfield(), arrayData);
} else {
query.addEqual(userSearch.getSearchfield(), userSearch.getSearchvalue());
}
}
if (userSearch.getSearchtype().equals("noteq")) {
if (userSearch.getSearchvalue().contains(",")) {
String[] userIds = userSearch.getSearchvalue().split(",");
List<String> arrayData = Arrays.asList(userIds);
query.addNotIn(userSearch.getSearchfield(), arrayData);
} else {
query.addNotEqual(userSearch.getSearchfield(), userSearch.getSearchvalue());
}
}
}
/** /**
* *
*
* @return * @return
*/ */
@ApiOperation(value="我的终审列表", notes="我的终审列表") @ApiOperation(value = "我的终审列表", notes = "我的终审列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true), @ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
}) })
@GetMapping("/listfinal") @GetMapping("/listfinal")
@ResponseBody @ResponseBody
public ResultVo<OcrTaskchildPicture> listFinalData(PageUtils<OcrTaskchildPicture> pageUtils, public ResultVo<OcrTaskchildPicture> listFinalData(PageUtils<OcrTaskchildPicture> pageUtils,
@RequestParam(name="search_fromuserid", defaultValue="",required = false) String searchFromuserid, @RequestParam(name = "izupuser", defaultValue = "", required = false) String izupuser,
@RequestParam(name="search_fromprojectid", defaultValue="",required = false) String searchFromprojectid, @RequestParam(name = "taskName", defaultValue = "", required = false) String taskName,
@RequestParam(name="search_fromplanid", defaultValue="",required = false) String searchFromplanid, @RequestParam(name = "izproject", defaultValue = "", required = false) String izproject,
@RequestParam(name="search_states", defaultValue="",required = false) String searchStates, @RequestParam(name = "izplan", defaultValue = "", required = false) String izplan,
@RequestParam(name="search_fromsourceid", defaultValue="",required = false) String searchFromsourceid, @RequestParam(name = "izstatus", defaultValue = "", required = false) String izstatus,
@RequestParam(name="fromuptime_start", defaultValue="",required = false) BigDecimal fromuptimeStart, @RequestParam(name = "iztaskrrom", defaultValue = "", required = false) String iztaskrrom,
@RequestParam(name="fromuptime_end", defaultValue="",required = false) BigDecimal fromuptimeEnd, @RequestParam(name = "izuptime", defaultValue = "", required = false) String izuptime,
HttpServletRequest request){ HttpServletRequest request) {
SearchQuery searchQuery = new SearchQuery(); SearchQuery searchQuery = new SearchQuery();
if(org.springframework.util.StringUtils.hasText(searchFromuserid)){ if (org.springframework.util.StringUtils.hasText(izupuser)) {
searchQuery.addEqual("fromuserid",searchFromuserid); // searchQuery.addEqual("fromuserid",izupuser);
if (izupuser.contains(",")) {
String[] userIds = izupuser.split(",");
List<String> arrayData = Arrays.asList(userIds);
searchQuery.addIn("fromuserid", arrayData);
} else {
searchQuery.addEqual("fromuserid", izupuser);
}
}
if(StringUtils.isNotBlank(taskName)){
searchQuery.addLike("fromtaskname",taskName);
} }
if(org.springframework.util.StringUtils.hasText(searchFromprojectid)){ if (org.springframework.util.StringUtils.hasText(izproject)) {
searchQuery.addEqual("fromprojectid",searchFromprojectid); if (izproject.contains(",")) {
String[] projectIds = izproject.split(","); // 以逗号拆分字符串
List<String> arrayData = Arrays.asList(projectIds);
SearchQueryForm searchQueryForm = new SearchQueryForm();
searchQuery.addIn("fromprojectname", arrayData);
} else {
searchQuery.addEqual("fromprojectname", izproject);
}
} }
if(org.springframework.util.StringUtils.hasText(searchFromplanid)){ if (org.springframework.util.StringUtils.hasText(izplan)) {
searchQuery.addEqual("fromplanid",searchFromplanid); if (izplan.contains(",")) {
String[] planIds = izplan.split(","); // 以逗号拆分字符串
List<String> arrayData = Arrays.asList(planIds);
SearchQueryForm searchQueryForm = new SearchQueryForm();
searchQuery.addIn("fromplanid", arrayData);
} else {
searchQuery.addEqual("fromplanid", izplan);
}
} }
if(org.springframework.util.StringUtils.hasText(searchStates)){ if (org.springframework.util.StringUtils.hasText(izstatus)) {
searchQuery.addEqual("states",searchStates); if (izstatus.contains(",")) {
String[] statusIds = izstatus.split(","); // 以逗号拆分字符串
List<String> arrayData = Arrays.asList(statusIds);
SearchQueryForm searchQueryForm = new SearchQueryForm();
searchQuery.addIn("states", arrayData);
} else {
searchQuery.addEqual("states", izstatus);
}
} }
if(org.springframework.util.StringUtils.hasText(searchFromsourceid)){ if (org.springframework.util.StringUtils.hasText(iztaskrrom)) {
searchQuery.addEqual("fromsourceid",searchFromsourceid); if (iztaskrrom.contains(",")) {
String[] taskrromIds = iztaskrrom.split(","); // 以逗号拆分字符串
List<String> arrayData = Arrays.asList(taskrromIds);
SearchQueryForm searchQueryForm = new SearchQueryForm();
searchQuery.addIn("fromsourceid", arrayData);
} else {
searchQuery.addEqual("fromsourceid", iztaskrrom);
}
}
if (org.springframework.util.StringUtils.hasText(izuptime)) {
String[] dateRange = izuptime.split("-");
if (dateRange.length == 2) {
try {
SimpleDateFormat sdfInput = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
// 解析开始时间
Long startTimeStamp = sdfInput.parse(dateRange[0].trim() + " 00:00:00").getTime();
// 解析结束时间
Long endTimeStamp = sdfInput.parse(dateRange[1].trim() + " 23:59:59").getTime();
// 如果开始时间不为空,则将其放入查询条件中
if (startTimeStamp != null) {
searchQuery.addGreater("createdateStart", startTimeStamp);
}
// 如果结束时间不为空,则将其放入查询条件中
if (endTimeStamp != null) {
searchQuery.addLess("createdateEnd", endTimeStamp);
}
} catch (ParseException e) {
// 处理日期解析异常
e.printStackTrace();
}
}
} }
//租户主键,由前端页面传送 //租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id"); String tenantId = request.getHeader("X-Tenant-Id");
if(org.apache.commons.lang3.StringUtils.isBlank(tenantId)){ if (org.apache.commons.lang3.StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空"); return ResultVoUtil.error("租户主键不能为空");
} }
User user = this.userService.getSessionUser(request); User user = this.userService.getSessionUser(request);
if(user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))){ if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) {
}else{ } else {
searchQuery.addEqual("thisLoginUserid",user.getId().toString()); searchQuery.addEqual("thisLoginUserid", user.getId().toString());
searchQuery.addEqual("tenantid",tenantId); searchQuery.addEqual("tenantid", tenantId);
} }
String searchId = request.getParameter("searchId");
Map<String,Object> query = searchQuery.getQuery(); if (StringUtils.isNotBlank(searchId)) {
if(fromuptimeStart != null){ List<OcrUsersearchchild> list = usersearchchildService.list(new LambdaQueryWrapper<OcrUsersearchchild>().eq(OcrUsersearchchild::getUsersearchid, searchId).orderByAsc(OcrUsersearchchild::getOrderNum));
query.put("fromuptimeStart",fromuptimeStart); for (OcrUsersearchchild userSearch : list) {
} disSearchQuery(searchQuery, userSearch);
if(fromuptimeEnd != null) { }
query.put("fromuptimeEnd", fromuptimeEnd);
} }
flowTaskService.getFinalProcessInstances(query,pageUtils);
Map<String, Object> query = searchQuery.getQuery();
flowTaskService.getFinalProcessInstances(query, pageUtils);
return ResultVoUtil.success(pageUtils); return ResultVoUtil.success(pageUtils);
} }
/**
* ()
*
* @return
*/
@ApiOperation(value = "图片分页列表查询-根据用户预设检索条件查询", notes = "")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
@ApiImplicitParam(paramType = "path", name = "userSearchId", value = "预设检索条件id", required = true),
})
@GetMapping(value = "/listfinalAdvanced")
public ResultVo<IPage<OcrTaskchildPicture>> queryPageByUserSearchId(
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
//租户主键,由前端页面传送
String tenantId = req.getHeader("X-Tenant-Id");
if (org.apache.commons.lang3.StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
//获取用户预设检索条件id
String userSearchId = req.getParameter("userSearchId");
IPage<OcrTaskchildPicture> pageList = flowTaskService.queryPageByUserSearchId(pageNo, pageSize, userSearchId);
return ResultVoUtil.success(pageList);
}
/** /**
* *
* *
* CATEGORYID * CATEGORYID
*
* @return * @return
*/ */
@GetMapping("/listdataall") @GetMapping("/listdataall")
@ -436,11 +535,11 @@ public class FlowTaskController extends BaseController {
List<FlowUnionVo> flowUnionVoList = null; List<FlowUnionVo> flowUnionVoList = null;
String categoryid = request.getParameter("categoryid"); String categoryid = request.getParameter("categoryid");
String buessinessno = request.getParameter("buessinessno"); String buessinessno = request.getParameter("buessinessno");
//业务表id //业务表id
String formid = request.getParameter("viewformid"); String formid = request.getParameter("viewformid");
if (StringUtils.isNotBlank(categoryid)) { if (StringUtils.isNotBlank(categoryid)) {
User user = this.userService.getSessionUser(request); User user = this.userService.getSessionUser(request);
if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) { if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) {
flowUnionVoList = flowTaskService.getMyProcessInstances(searchQuery.getQuery()); flowUnionVoList = flowTaskService.getMyProcessInstances(searchQuery.getQuery());
@ -448,116 +547,142 @@ public class FlowTaskController extends BaseController {
searchQuery.addEqual("createuser", user.getLoginname()); searchQuery.addEqual("createuser", user.getLoginname());
//流程类型对应流程类型表OA_CATEGORY_T的id //流程类型对应流程类型表OA_CATEGORY_T的id
searchQuery.addEqual("categoryid", categoryid); searchQuery.addEqual("categoryid", categoryid);
if(StringUtils.isNotBlank(buessinessno)){ if (StringUtils.isNotBlank(buessinessno)) {
searchQuery.addEqual("buessinessno", buessinessno); searchQuery.addEqual("buessinessno", buessinessno);
} }
if(StringUtils.isNotBlank(formid)){ if (StringUtils.isNotBlank(formid)) {
searchQuery.addEqual("id", formid); searchQuery.addEqual("id", formid);
} }
searchQuery.addEqual("states", SystemConstantsOa.OA_STATUS_TYPE_END.toString()); searchQuery.addEqual("states", SystemConstantsOa.OA_STATUS_TYPE_END.toString());
flowUnionVoList = flowTaskService.getMyProcessInstances(searchQuery.getQuery()); flowUnionVoList = flowTaskService.getMyProcessInstances(searchQuery.getQuery());
} }
} }
return ResultVoUtil.success(flowUnionVoList); return ResultVoUtil.success(flowUnionVoList);
} }
/** /**
* *
*
* @param pageUtils * @param pageUtils
* @param request * @param request
* @return * @return
*/ */
@GetMapping("/listdatacc") @GetMapping("/listdatacc")
@ResponseBody @ResponseBody
public ResultVo listdatacc(ParamterPage paramterPage,PageUtils pageUtils, HttpServletRequest request){ public ResultVo listdatacc(ParamterPage paramterPage, PageUtils pageUtils, HttpServletRequest request) {
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_"); SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
Map<String, Object> query = searchQuery.getQuery(); Map<String, Object> query = searchQuery.getQuery();
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
flowTaskService.getMyListCc(query,userToken,paramterPage); flowTaskService.getMyListCc(query, userToken, paramterPage);
return ResultVoUtil.success(pageUtils); return ResultVoUtil.success(pageUtils);
} }
/** /**
* *
* *
*
* @return * @return
*/ */
@GetMapping("/mylistcc") @GetMapping("/mylistcc")
@ResponseBody @ResponseBody
public ResultVo myListCc(ParamterPage paramterPage, HttpServletRequest request){ public ResultVo myListCc(ParamterPage paramterPage, HttpServletRequest request) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_"); SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
Map<String, Object> query = searchQuery.getQuery(); Map<String, Object> query = searchQuery.getQuery();
IPage<FlowUnionVo> flowableccIPage = flowTaskService.getMyListCc(query,userToken,paramterPage); IPage<FlowUnionVo> flowableccIPage = flowTaskService.getMyListCc(query, userToken, paramterPage);
return ResultVoUtil.success(flowableccIPage); return ResultVoUtil.success(flowableccIPage);
} }
/** /**
* *
*
* @return * @return
*/ */
@GetMapping("/cancelTask") @GetMapping("/cancelTask")
@ResponseBody @ResponseBody
public ResultVo cancelTask(HttpServletRequest request){ public ResultVo cancelTask(HttpServletRequest request) {
String taskId = request.getParameter("taskId"); String taskId = request.getParameter("taskId");
String reason = request.getParameter("reason"); String reason = request.getParameter("reason");
flowTaskService.cancelTask(taskId,reason); flowTaskService.cancelTask(taskId, reason);
return ResultVoUtil.success(); return ResultVoUtil.success();
} }
/** /**
* *
*
* @return * @return
*/ */
@ApiOperation(value="重置流程流程", notes="重置流程流程") @ApiOperation(value = "重置流程流程", notes = "重置流程流程")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true), @ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
@ApiImplicitParam(paramType = "path",name = "fromid", value = "任务表主键", required = true) @ApiImplicitParam(paramType = "path", name = "fromid", value = "任务表主键", required = true)
}) })
@GetMapping("/removeTask") @GetMapping("/removeTask")
@ResponseBody @ResponseBody
public ResultVo removeTask(HttpServletRequest request){ public ResultVo removeTask(HttpServletRequest request) {
String fromid = request.getParameter("fromid"); String fromid = request.getParameter("fromid");
String taskid = request.getParameter("taskid"); String taskid = request.getParameter("taskid");
return flowTaskService.removeTask(fromid,taskid); return flowTaskService.removeTask(fromid, taskid);
//return ResultVoUtil.success(); //return ResultVoUtil.success();
} }
/** /**
* *
*
* @return * @return
*/ */
@ApiOperation(value="重置流程流程", notes="重置流程流程") @ApiOperation(value = "重置流程流程", notes = "重置流程流程")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true), @ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
@ApiImplicitParam(paramType = "path",name = "buessinessno", value = "业务编码", required = true) @ApiImplicitParam(paramType = "path", name = "buessinessno", value = "业务编码", required = true)
}) })
@GetMapping("/historyTask") @GetMapping("/historyTask")
@ResponseBody @ResponseBody
public ResultVo historyTask(HttpServletRequest request){ public ResultVo historyTask(HttpServletRequest request) {
String fromid = request.getParameter("fromid"); String fromid = request.getParameter("fromid");
String taskid = request.getParameter("buessinessno"); String taskid = request.getParameter("buessinessno");
return flowTaskService.removeTask(fromid,taskid); return flowTaskService.removeTask(fromid, taskid);
//return ResultVoUtil.success(); //return ResultVoUtil.success();
} }
/** /**
* *
*
* @return * @return
*/ */
@ApiOperation(value="重复流程", notes="重复流程") @ApiOperation(value = "重复流程", notes = "重复流程")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true), @ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
}) })
@GetMapping("/repetitionTask") @GetMapping("/repetitionTask")
@ResponseBody @ResponseBody
public ResultVo repetitionTask(HttpServletRequest request){ public ResultVo repetitionTask() {
return flowTaskService.repetitionTask(); return flowTaskService.repetitionTask();
} }
/**
*
*
* @return
*/
@ApiOperation(value = "重复流程", notes = "重复流程")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
})
@GetMapping("/repetitionTaskList")
@ResponseBody
public ResultVo repetitionTaskList(@RequestParam(name = "pageNo") Integer pageNo,
@RequestParam(name = "pageSize") Integer pageSize) {
Page<OcrTaskchildPicture> result = flowTaskService.repetitionTaskList(pageNo, pageSize);
return ResultVoUtil.success(result);
}
} }

@ -0,0 +1,46 @@
package cn.jyjz.flowable.entity;
import lombok.Data;
import java.util.List;
/**
* ClassName FlowApprove$.java
* Description:
* Author scl.
* Date 2024/3/28 17:04
*/
@Data
public class FlowApprove {
/**
*
*/
private String comment;
/**
*
*/
private Boolean result;
/**
*
*/
private String failCauseName;
/**
* id
*/
private String failCauseId;
/**
*
*/
private String disposeType;
/**
* id
*/
private String disposeTypeId;
/**
* id
*/
private List<FlowTaskInfo> flowTaskInfoList;
}

@ -0,0 +1,25 @@
package cn.jyjz.flowable.entity;
import lombok.Data;
/**
* ClassName FlowTaskInfo$.java
* Description:
* Author scl.
* Date 2024/3/28 20:09
*/
@Data
public class FlowTaskInfo {
/**
* id
*/
private String formId;
/**
* id
*/
private String taskId;
/**
*
*/
private String taskName;
}

@ -3,8 +3,8 @@ package cn.jyjz.flowable.service;
import cn.jyjz.flowable.domain.dto.HistoricTaskInstanceDto; import cn.jyjz.flowable.domain.dto.HistoricTaskInstanceDto;
import cn.jyjz.flowable.domain.vo.FlowTaskCompleteVO; import cn.jyjz.flowable.domain.vo.FlowTaskCompleteVO;
import cn.jyjz.flowable.domain.vo.FlowTaskVO;
import cn.jyjz.flowable.domain.vo.WorkFlowNodeVO; import cn.jyjz.flowable.domain.vo.WorkFlowNodeVO;
import cn.jyjz.flowable.entity.FlowApprove;
import cn.jyjz.flowable.utils.PageUtils; import cn.jyjz.flowable.utils.PageUtils;
import cn.jyjz.xiaoyao.admin.dataobject.User; import cn.jyjz.xiaoyao.admin.dataobject.User;
import cn.jyjz.xiaoyao.common.base.param.ParamterPage; import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
@ -13,8 +13,13 @@ import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.oa.from.dataobject.Category; import cn.jyjz.xiaoyao.oa.from.dataobject.Category;
import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo; import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo;
import cn.jyjz.xiaoyao.oa.from.vo.RepeatedTaskVo;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro;
import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo;
import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.flowable.engine.repository.ProcessDefinition; import org.flowable.engine.repository.ProcessDefinition;
import org.flowable.task.api.Task; import org.flowable.task.api.Task;
@ -32,7 +37,8 @@ public interface IFlowTaskService {
Category viewForm(String processId, HttpServletRequest request); Category viewForm(String processId, HttpServletRequest request);
Boolean complete(FlowTaskVO taskVO, HttpServletRequest request); Integer complete(FlowApprove approve, UserToken userToken, List<String> formIds);
/** /**
* 退 * 退
@ -49,7 +55,7 @@ public interface IFlowTaskService {
* @param processDefinition * @param processDefinition
*/ */
public void updateAssignee(String processInstanceId, String processDefinitionId, ProcessDefinition processDefinition); public void updateAssignee(String processInstanceId, String processDefinitionId, ProcessDefinition processDefinition);
void sendMsg(OcrTaskchildPicture model, UserToken userToken);
void finishedList(PageUtils pageUtils, HttpServletRequest request); void finishedList(PageUtils pageUtils, HttpServletRequest request);
/** /**
@ -68,7 +74,16 @@ public interface IFlowTaskService {
* @param tenantId * @param tenantId
* @param pageUtils * @param pageUtils
*/ */
public void getMyProcessInstances(User user,String tenantId, Map<String, Object> query,PageUtils pageUtils); public void getMyProcessInstances(User user,String tenantId, Map<String, Object> query,PageUtils pageUtils,String userSearchId);
/**
*
*
* @param user
* @param tenantId
* @param pageUtils
*/
public List<OcrTaskchildPictureAppro> getMyProcessInstancesNew(User user, String tenantId, Map<String, Object> query, PageUtils pageUtils);
/** /**
* *
@ -79,6 +94,17 @@ public interface IFlowTaskService {
*/ */
public void getFinalProcessInstances(Map<String, Object> query, PageUtils<OcrTaskchildPicture> pageUtils); public void getFinalProcessInstances(Map<String, Object> query, PageUtils<OcrTaskchildPicture> pageUtils);
/**
* id
* @param pageNo
* @param pageSize
* @param userSearchId
* @return
*/
IPage<OcrTaskchildPicture> queryPageByUserSearchId(Integer pageNo, Integer pageSize, String userSearchId);
/** /**
* *
* *
@ -152,4 +178,6 @@ public interface IFlowTaskService {
* @return * @return
*/ */
ResultVo repetitionTask(); ResultVo repetitionTask();
Page<OcrTaskchildPicture> repetitionTaskList(Integer pageNo, Integer pageSize);
} }

@ -1,6 +1,7 @@
package cn.jyjz.flowable.service; package cn.jyjz.flowable.service;
import cn.jyjz.flowable.domain.vo.FlowModelVO; import cn.jyjz.flowable.domain.vo.FlowModelVO;
import org.flowable.task.api.Task;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -36,7 +37,7 @@ public interface IFormCustomService<T> {
* @param deploymentid * @param deploymentid
* @param processdefinitionid * @param processdefinitionid
*/ */
public boolean updateForm(String fromid,String deploymentid,String processdefinitionid,String assignee,String taskId,String processInstanceId,String tasknme); public boolean updateForm(String fromid, String deploymentid, String processdefinitionid, String assignee, String taskId, String processInstanceId, Task task);
/** /**
* *
* @param fromid * @param fromid

@ -93,12 +93,12 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
throw new ServiceException("没有审批人,请联系管理员,流程定义:" + businessKey); throw new ServiceException("没有审批人,请联系管理员,流程定义:" + businessKey);
} }
List<Task> list = this.flowTaskService.nowRunTask(processInstance.getProcessInstanceId(), processInstance.getProcessDefinitionId()); List<Task> list = this.flowTaskService.nowRunTask(processInstance.getProcessInstanceId(), processInstance.getProcessDefinitionId());
String taskname = ""; Task task = null;
if (null != list && !list.isEmpty()) { if (null != list && !list.isEmpty()) {
taskname = list.get(0).getName(); task = list.get(0);
} }
//保存instanceId到数据库需要根据流程分类进行判断更新 //保存instanceId到数据库需要根据流程分类进行判断更新
boolean isupdate = iFormCustomService.updateForm(formid, processDefinition.getDeploymentId(), processDefinition.getId(), flowTaskCompleteVO.getAssignee(), flowTaskCompleteVO.getTaskId(), processInstance.getProcessInstanceId(), taskname); boolean isupdate = iFormCustomService.updateForm(formid, processDefinition.getDeploymentId(), processDefinition.getId(), flowTaskCompleteVO.getAssignee(), flowTaskCompleteVO.getTaskId(), processInstance.getProcessInstanceId(), task);
if (isupdate) { if (isupdate) {
FlowModelVO flowModelVO = iFormCustomService.getForm(formid); FlowModelVO flowModelVO = iFormCustomService.getForm(formid);
//增加未查看记录 //增加未查看记录
@ -121,7 +121,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
if (StringUtils.isNotBlank(servicename) && StringUtils.isNotBlank(formid)) { if (StringUtils.isNotBlank(servicename) && StringUtils.isNotBlank(formid)) {
iFormCustomService.delForm(formid); iFormCustomService.delForm(formid);
} }
}finally { } finally {
RequestContextHolder.resetRequestAttributes(); RequestContextHolder.resetRequestAttributes();
} }
return false; return false;
@ -165,12 +165,12 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
throw new ServiceException("没有审批人,请联系管理员,流程定义:" + businessKey); throw new ServiceException("没有审批人,请联系管理员,流程定义:" + businessKey);
} }
List<Task> list = this.flowTaskService.nowRunTask(processInstance.getProcessInstanceId(), processInstance.getProcessDefinitionId()); List<Task> list = this.flowTaskService.nowRunTask(processInstance.getProcessInstanceId(), processInstance.getProcessDefinitionId());
String taskname = ""; Task task = null;
if (null != list && !list.isEmpty()) { if (null != list && !list.isEmpty()) {
taskname = list.get(0).getName(); task = list.get(0);
} }
//保存instanceId到数据库需要根据流程分类进行判断更新 //保存instanceId到数据库需要根据流程分类进行判断更新
boolean isupdate = iFormCustomService.updateForm(formid, processDefinition.getDeploymentId(), processDefinition.getId(), flowTaskCompleteVO.getAssignee(), flowTaskCompleteVO.getTaskId(), processInstance.getProcessInstanceId(), taskname); boolean isupdate = iFormCustomService.updateForm(formid, processDefinition.getDeploymentId(), processDefinition.getId(), flowTaskCompleteVO.getAssignee(), flowTaskCompleteVO.getTaskId(), processInstance.getProcessInstanceId(), task);
if (isupdate) { if (isupdate) {
FlowModelVO flowModelVO = iFormCustomService.getForm(formid); FlowModelVO flowModelVO = iFormCustomService.getForm(formid);
//增加未查看记录 //增加未查看记录

@ -62,7 +62,7 @@ public class CategoryController extends BaseController{
QueryWrapper<Category> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,category); QueryWrapper<Category> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,category);
IPage<Category> page = this.categoryService.selectSearchListPage(paramterPage,queryWrapper); IPage<Category> page = this.categoryService.selectSearchListPage(paramterPage,queryWrapper);
for(Category category1:page.getRecords()){ for(Category category1:page.getRecords()){
category1.setTenant(tenantService.selectDtoById(category1.getTenantid())); category1.setTenant(tenantService.selectDtoById(Long.parseLong(category1.getTenantid())));
} }
return ResultVoUtil.success(page); return ResultVoUtil.success(page);
} }
@ -77,7 +77,7 @@ public class CategoryController extends BaseController{
}) })
@GetMapping("/listall") @GetMapping("/listall")
public ResultVo<IPage<Category>> listall(HttpServletRequest request, HttpServletResponse response) throws IOException{ public ResultVo<IPage<Category>> listall(HttpServletRequest request, HttpServletResponse response) throws IOException{
//租户主键,由前端页面传送 //租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id"); String tenantId = request.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){ if(StringUtils.isBlank(tenantId)){
@ -86,7 +86,7 @@ public class CategoryController extends BaseController{
QueryWrapper<Category> queryWrapper = new QueryWrapper<>(); QueryWrapper<Category> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("tenantid",tenantId); queryWrapper.eq("tenantid",tenantId);
List<Category> list = this.categoryService.getCategoryAll(queryWrapper); List<Category> list = this.categoryService.getCategoryAll(queryWrapper);
return ResultVoUtil.success(list); return ResultVoUtil.success(list);
@ -99,11 +99,11 @@ public class CategoryController extends BaseController{
@PostMapping("/save") @PostMapping("/save")
public ResultVo saveCategory(HttpServletResponse response,HttpServletRequest request,Category tab) throws IOException{ public ResultVo saveCategory(HttpServletResponse response,HttpServletRequest request,Category tab) throws IOException{
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
//查询流程定义id不为空的数据 //查询流程定义id不为空的数据
Category category = this.categoryService.getCategoryNotNull(); Category category = this.categoryService.getCategoryNotNull();
tab.setProcessdefinitionid(category.getProcessdefinitionid()); tab.setProcessdefinitionid(category.getProcessdefinitionid());
tab.setCreateuser(userToken.getLoginname()); tab.setCreateuser(userToken.getLoginname());
tab.setCreatedate(System.currentTimeMillis()); tab.setCreatedate(System.currentTimeMillis());
this.categoryService.save(tab); this.categoryService.save(tab);
@ -118,17 +118,17 @@ public class CategoryController extends BaseController{
@PostMapping("/edit") @PostMapping("/edit")
public ResultVo editCategory(HttpServletResponse response,HttpServletRequest request,Category tab) throws IOException{ public ResultVo editCategory(HttpServletResponse response,HttpServletRequest request,Category tab) throws IOException{
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
//查询流程定义id不为空的数据 //查询流程定义id不为空的数据
Category category = this.categoryService.getCategoryNotNull(); Category category = this.categoryService.getCategoryNotNull();
tab.setProcessdefinitionid(category.getProcessdefinitionid()); tab.setProcessdefinitionid(category.getProcessdefinitionid());
tab.setUpdateuser(userToken.getLoginname()); tab.setUpdateuser(userToken.getLoginname());
tab.setUpdatetime(System.currentTimeMillis()); tab.setUpdatetime(System.currentTimeMillis());
this.categoryService.updateById(tab); this.categoryService.updateById(tab);
return ResultVoUtil.success(); return ResultVoUtil.success();
} }
/** /**
*form *form
*mail.zhangyong@gmail.com *mail.zhangyong@gmail.com
@ -138,11 +138,11 @@ public class CategoryController extends BaseController{
public ResultVo update(HttpServletResponse response,HttpServletRequest request) throws IOException{ public ResultVo update(HttpServletResponse response,HttpServletRequest request) throws IOException{
String categoryid = request.getParameter("categoryid"); String categoryid = request.getParameter("categoryid");
String processdefinitionid = request.getParameter("processdefinitionid"); String processdefinitionid = request.getParameter("processdefinitionid");
Category tab = this.categoryService.getById(categoryid); Category tab = this.categoryService.getById(categoryid);
tab.setProcessdefinitionid(processdefinitionid); tab.setProcessdefinitionid(processdefinitionid);
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
tab.setUpdateuser(userToken.getLoginname()); tab.setUpdateuser(userToken.getLoginname());
tab.setUpdatetime(System.currentTimeMillis()); tab.setUpdatetime(System.currentTimeMillis());

@ -2,8 +2,11 @@ package cn.jyjz.xiaoyao.oa.from.dataDao;
import cn.jyjz.xiaoyao.oa.from.dataobject.Flowablecc; import cn.jyjz.xiaoyao.oa.from.dataobject.Flowablecc;
import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo; import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo;
import cn.jyjz.xiaoyao.oa.from.vo.RepeatedContentVo;
import cn.jyjz.xiaoyao.oa.from.vo.UserDistionaryVo; import cn.jyjz.xiaoyao.oa.from.vo.UserDistionaryVo;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
@ -36,5 +39,7 @@ public interface FlowableccMybatisDao extends BaseMapper<Flowablecc> {
*/ */
List<UserDistionaryVo> selectUserByFromid(String fromid); List<UserDistionaryVo> selectUserByFromid(String fromid);
List<Map<String,Object>> repetitionTask(); List<RepeatedContentVo> repetitionTask();
Page<OcrTaskchildPicture> repetitionTaskList(Page<OcrTaskchildPicture> page);
} }

@ -20,8 +20,8 @@ import java.util.Map;
import java.util.AbstractMap.SimpleEntry; import java.util.AbstractMap.SimpleEntry;
import java.util.stream.Stream; import java.util.stream.Stream;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Data @Data
@Builder @Builder
@ -30,95 +30,95 @@ import java.util.stream.Collectors;
@Schema(name = "流程类型", title = "流程类型") @Schema(name = "流程类型", title = "流程类型")
@TableName(value = "OA_CATEGORY_T") @TableName(value = "OA_CATEGORY_T")
public class Category implements BaseDto,java.io.Serializable { public class Category implements BaseDto,java.io.Serializable {
private static final long serialVersionUID = 3650775877135330041L; private static final long serialVersionUID = 3650775877135330041L;
@Schema(description = "流水号") @Schema(description = "流水号")
@TableId(value = "id",type = IdType.ASSIGN_ID) @TableId(value = "id",type = IdType.ASSIGN_ID)
@JsonSerialize(using = ToStringSerializer.class) @JsonSerialize(using = ToStringSerializer.class)
@TableField(value="ID") @TableField(value="ID")
private Long id; private Long id;
@Schema(description = "项目名称") @Schema(description = "项目名称")
@TableField(value="CATEGORYNAME") @TableField(value="CATEGORYNAME")
private String categoryname; private String categoryname;
@Schema(description = "项目编码") @Schema(description = "项目编码")
@TableField(value="CATEGORY") @TableField(value="CATEGORY")
private String category; private String category;
@Schema(description = "对应的Service名主要是spring的service名") @Schema(description = "对应的Service名主要是spring的service名")
@TableField(value="SERVICENAME") @TableField(value="SERVICENAME")
private String servicename; private String servicename;
@Schema(description = "内置表单使用flowable表单0使用本地数据1使用flowable表单3:外置表单4其他自定义表单") @Schema(description = "内置表单使用flowable表单0使用本地数据1使用flowable表单3:外置表单4其他自定义表单")
@TableField(value="BUILTFORM") @TableField(value="BUILTFORM")
private Integer builtform; private Integer builtform;
@Schema(description = "表单地址,用户展示用户表单使用") @Schema(description = "表单地址,用户展示用户表单使用")
@TableField(value="FORMURL") @TableField(value="FORMURL")
private String formurl; private String formurl;
@Schema(description = "表单详情") @Schema(description = "表单详情")
@TableField(value="FORMDETAIL") @TableField(value="FORMDETAIL")
private String formdetail; private String formdetail;
@Schema(description = "是否启用0禁用1启用") @Schema(description = "是否启用0禁用1启用")
@TableField(value="HAVEUSE") @TableField(value="HAVEUSE")
private Integer haveuse; private Integer haveuse;
@Schema(description = "表单分类") @Schema(description = "表单分类")
@TableField(value="FORMTYPE") @TableField(value="FORMTYPE")
private String formtype; private String formtype;
@Schema(description = "流程定义id") @Schema(description = "流程定义id")
@TableField(value="PROCESSDEFINITIONID") @TableField(value="PROCESSDEFINITIONID")
private String processdefinitionid; private String processdefinitionid;
@Schema(description = "排序") @Schema(description = "排序")
@TableField(value="FORMNO") @TableField(value="FORMNO")
private Integer formno; private Integer formno;
@Schema(description = "创建人,记录创建人的帐号") @Schema(description = "创建人,记录创建人的帐号")
@TableField(value="CREATEUSER") @TableField(value="CREATEUSER")
private String createuser; private String createuser;
@Schema(description = "创建时间") @Schema(description = "创建时间")
@TableField(value="CREATEDATE") @TableField(value="CREATEDATE")
private Long createdate; private Long createdate;
@Schema(description = "修改人,记录创建人的帐号") @Schema(description = "修改人,记录创建人的帐号")
@TableField(value="UPDATEUSER") @TableField(value="UPDATEUSER")
private String updateuser; private String updateuser;
@Schema(description = "更新时间") @Schema(description = "更新时间")
@TableField(value="UPDATETIME") @TableField(value="UPDATETIME")
private Long updatetime; private Long updatetime;
@Schema(description = "隶属机构") @Schema(description = "隶属机构")
@TableField(value="DEPTID") @TableField(value="DEPTID")
private Long deptid; private Long deptid;
@Schema(description = "租户主键") @Schema(description = "租户主键")
@TableField(value="TENANTID") @TableField(value="TENANTID")
private Long tenantid; private String tenantid;
//租户对象 //租户对象
@TableField(exist = false) @TableField(exist = false)
private Tenant tenant; private Tenant tenant;
//业务表主键 //业务表主键
@Schema(description = "业务表主键") @Schema(description = "业务表主键")
@TableField(exist = false) @TableField(exist = false)
private String formid; private String formid;
//节点描述信息,用于判断是否存在多个下级界面 //节点描述信息,用于判断是否存在多个下级界面
@TableField(exist = false) @TableField(exist = false)
String documentation; String documentation;
@Schema(description = "状态,审批状态 1:未提交 2:审批中 3:审批通过 ") @Schema(description = "状态,审批状态 1:未提交 2:审批中 3:审批通过 ")
@TableField(exist = false) @TableField(exist = false)
private Integer states; private Integer states;
//保存当前登录用户的数据权限范围的搜索条件 //保存当前登录用户的数据权限范围的搜索条件
@TableField(exist = false) @TableField(exist = false)
@JsonIgnore @JsonIgnore

@ -66,6 +66,21 @@ public class Userapprove implements BaseDto,java.io.Serializable {
@Schema(description = "节点编号") @Schema(description = "节点编号")
@TableField(value="TASKNO") @TableField(value="TASKNO")
private String taskno; private String taskno;
@Schema(description = "用户名称")
@TableField(value="USERNAME")
private String username;
@Schema(description = "创建时间")
@TableField(value="CREATEDATE")
private Long createdate;
@Schema(description = "审批意见")
@TableField(value="TASKCOMMENT")
private String taskcomment;
@Schema(description = "审批不通过原因")
@TableField(value="REASON")
private String reason;
@Schema(description = "审批不通过处理方式")
@TableField(value="PROCESSMETHOD")
private String processMethod;
//保存当前登录用户的数据权限范围的搜索条件 //保存当前登录用户的数据权限范围的搜索条件
@TableField(exist = false) @TableField(exist = false)

@ -1,6 +1,8 @@
package cn.jyjz.xiaoyao.oa.from.service; package cn.jyjz.xiaoyao.oa.from.service;
import cn.jyjz.flowable.domain.vo.FlowTaskVO; import cn.jyjz.flowable.domain.vo.FlowTaskVO;
import cn.jyjz.flowable.entity.FlowApprove;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseService; import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseService;
import cn.jyjz.xiaoyao.oa.from.dataobject.Userapprove; import cn.jyjz.xiaoyao.oa.from.dataobject.Userapprove;
import org.flowable.task.api.Task; import org.flowable.task.api.Task;
@ -12,11 +14,11 @@ public interface UserapproveService extends BaseService<Userapprove> {
/** /**
* *
* @param userid * @param approve
* @param formid * @param formId
* @return truefalse * @return truefalse
*/ */
public boolean save(String userid, FlowTaskVO taskVO, Task task ); public boolean save(UserToken userToken, FlowApprove approve, Task task,String formId);
/** /**
* *

@ -1,6 +1,8 @@
package cn.jyjz.xiaoyao.oa.from.service.impl; package cn.jyjz.xiaoyao.oa.from.service.impl;
import cn.jyjz.flowable.domain.vo.FlowTaskVO; import cn.jyjz.flowable.domain.vo.FlowTaskVO;
import cn.jyjz.flowable.entity.FlowApprove;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl; import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl;
import cn.jyjz.xiaoyao.oa.from.dataDao.UserapproveMybatisDao; import cn.jyjz.xiaoyao.oa.from.dataDao.UserapproveMybatisDao;
import cn.jyjz.xiaoyao.oa.from.dataobject.Userapprove; import cn.jyjz.xiaoyao.oa.from.dataobject.Userapprove;
@ -12,37 +14,39 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
* *
*/ */
@Service @Service
@Slf4j @Slf4j
public class UserapproveServiceImpl extends BaseServiceImpl<UserapproveMybatisDao, Userapprove> implements UserapproveService { public class UserapproveServiceImpl extends BaseServiceImpl<UserapproveMybatisDao, Userapprove> implements UserapproveService {
@Autowired @Autowired
private UserapproveMybatisDao userapprovemybatisdao; private UserapproveMybatisDao userapprovemybatisdao;
@Override @Override
public boolean save(String userid, FlowTaskVO taskVO, Task taskd) { public boolean save(UserToken userToken, FlowApprove approve, Task taskd,String formId) {
Userapprove userapprove = new Userapprove();
Userapprove userapprove = new Userapprove(); userapprove.setUserid(Long.parseLong(userToken.getUserid()));
userapprove.setUserid(Long.parseLong(userid)); userapprove.setFormid(Long.parseLong(formId));
userapprove.setFormid(Long.parseLong(taskVO.getFormid())); userapprove.setTaskname(taskd.getName());
userapprove.setTaskname(taskd.getName()); userapprove.setTaskcomment(approve.getComment());
if(taskVO.getApprovd()){ userapprove.setCreatedate(System.currentTimeMillis());
userapprove.setStatshis(2); userapprove.setUsername(userToken.getUsername());
}else{ userapprove.setReason(approve.getFailCauseName());
userapprove.setStatshis(3); userapprove.setReason(approve.getDisposeType());
} if (approve.getResult()) {
userapprove.setStatshis(2);
} else {
userapprove.setStatshis(3);
}
return this.save(userapprove);
}
return this.save(userapprove); @Override
} public boolean delete(String formid) {
@Override QueryWrapper queryWrapper = new QueryWrapper();
public boolean delete(String formid) { queryWrapper.eq("FORMID", formid);
QueryWrapper queryWrapper = new QueryWrapper(); return this.remove(queryWrapper);
queryWrapper.eq("FORMID",formid); }
return this.remove(queryWrapper);
}
} }

@ -44,7 +44,10 @@ public class FlowUnionVo {
private String category; private String category;
@ApiModelProperty(value ="状态,审批状态 1:撤销 2:审批中 3:审批通过 5审批未通过 ") @ApiModelProperty(value ="状态,审批状态 1:撤销 2:审批中 3:审批通过 5审批未通过 ")
private Integer states; private Integer states;
@ApiModelProperty(value ="状态,审批状态 1:撤销 2:审批中 3:审批通过 5审批未通过 ")
private String statesText;
@ApiModelProperty(value ="流程定义id") @ApiModelProperty(value ="流程定义id")
private String processdefinitionid; private String processdefinitionid;

@ -0,0 +1,27 @@
package cn.jyjz.xiaoyao.oa.from.vo;
import lombok.Data;
import java.util.List;
/**
* ClassName RepeatedContentVo$.java
* Description:
* Author scl.
* Date 2024/3/21 14:14
*/
@Data
public class RepeatedContentVo {
private String id;
private String content;
private Integer count;
private String imgUrl;
private List<RepeatedTaskVo> repeatedTaskList;
}

@ -0,0 +1,31 @@
package cn.jyjz.xiaoyao.oa.from.vo;
import lombok.Data;
/**
* ClassName RepeatedTaskVo$.java
* Description:
* Author scl.
* Date 2024/3/21 14:36
*/
@Data
public class RepeatedTaskVo {
private String taskId;
private String formId;
private String fromTaskId;
private String taskName;
private String nodeName;
private Integer states;
private String similarityScore;
private String fromTime;
private String updateTime;
}

@ -155,9 +155,13 @@ public class PictureSourceResult {
Map<String,Object> productName; Map<String,Object> productName;
/** /**
* * 访
*/ */
String manufacturer; String companyDepartment;
/**
*
*/
Map<String,Object> manufacturer;
/** /**
* 访 * 访
@ -195,5 +199,9 @@ public class PictureSourceResult {
*/ */
Map<String,Object> extendedField; Map<String,Object> extendedField;
/**
*
*/
Long submitTime;
} }

@ -80,11 +80,15 @@ public class PrevailCloudApiImpl implements PrevailCloudApi {
//加密请求参数 //加密请求参数
String tenantNo = pictureSourceParameter.getTenantNo().toString(); String tenantNo = pictureSourceParameter.getTenantNo().toString();
String json = JSONObject.toJSONString(queryParam); String json = JSONObject.toJSONString(queryParam);
System.out.println(json);
RequestData requestData = ApiHelper.buildRequest(tenantNo, apiConfig.getAccessKey(), apiConfig.getAccessCode(),json); RequestData requestData = ApiHelper.buildRequest(tenantNo, apiConfig.getAccessKey(), apiConfig.getAccessCode(),json);
//组装请求参数 //组装请求参数
String url = apiConfig.getInterfaceDomain()+pictureSourceUrl; String url = apiConfig.getInterfaceDomain()+pictureSourceUrl;
String requestBodyJson = JSONObject.toJSONString(requestData); String requestBodyJson = JSONObject.toJSONString(requestData);
// String requestBodyJson = "{\"accessKey\":\"7390F0221A1A73D8E13F8C8BB96F33B0\",\"data\":\"gzUtN5Mt24_fbDDMK3wLop8Tgu68xLCVy3Wzp9BcXnkxnCiPg_D2TNEXnQ68-Y-GhGYYcD7Iwg8juZTx1m5v4NkDvKvEwdvjQvZnMDTRYbqtHrwgVLAvUGotIMTckDY67yo2Ku52vWedjYpzzDseHwiIGVcIl-u1CljEbyjLzJzIf6oXfD7qKjOYnxKjfjp11k0IlvsPdS-mgNXTHcBei5jOFrYmZrE2y4v9bI5n1QE\",\"signature\":\"0bmIbhhybDcGeyX4ao5gSPZQeaY8G2JRh3nRt7NC7qw\",\"tenantCode\":\"1673196576094806016\",\"timestamp\":1711971774448}";
//入参
System.out.println("入参数据:"+requestBodyJson);
HttpParamers httpParamers = new HttpParamers(HttpMethod.POST); HttpParamers httpParamers = new HttpParamers(HttpMethod.POST);
httpParamers.setJsonParamer(requestBodyJson); httpParamers.setJsonParamer(requestBodyJson);
//发起请求 //发起请求

@ -37,18 +37,18 @@ public class ApiTestController {
String pageNo = request.getParameter("pageNo"); String pageNo = request.getParameter("pageNo");
PictureSourceParameter pictureSourceParameter = new PictureSourceParameter(); PictureSourceParameter pictureSourceParameter = new PictureSourceParameter();
// DateTime dateTime = DateUtil.parse(beginStr+" 00:00:00","yyyy-MM-dd HH:mm:ss"); DateTime dateTime = DateUtil.parse(beginStr+" 00:00:00","yyyy-MM-dd HH:mm:ss");
DateTime dateTime = DateUtil.parse("2024-03-31 07:00:000","yyyy-MM-dd HH:mm:ss"); // DateTime dateTime = DateUtil.parse("2024-03-31 07:00:000","yyyy-MM-dd HH:mm:ss");
Instant binstant = dateTime.toInstant(); Instant binstant = dateTime.toInstant();
// DateTime dateTime1 = DateUtil.parse(" 00:00:00","yyyy-MM-dd HH:mm:ss"); DateTime dateTime1 = DateUtil.parse(endStr+" 00:00:00","yyyy-MM-dd HH:mm:ss");
DateTime dateTime1 = DateUtil.parse("2024-03-31 09:00:00","yyyy-MM-dd HH:mm:ss"); // DateTime dateTime1 = DateUtil.parse("2024-03-31 09:00:00","yyyy-MM-dd HH:mm:ss");
Instant einstant = dateTime1.toInstant(); Instant einstant = dateTime1.toInstant();
pictureSourceParameter.setStartTime(Date.from(binstant)); pictureSourceParameter.setStartTime(Date.from(binstant));
pictureSourceParameter.setEndTime(Date.from(einstant)); pictureSourceParameter.setEndTime(Date.from(einstant));
pictureSourceParameter.setPageNo(Integer.parseInt(pageNo)); pictureSourceParameter.setPageNo(Integer.parseInt(pageNo));
pictureSourceParameter.setPageSize(Integer.parseInt(pageSize)); pictureSourceParameter.setPageSize(Integer.parseInt(pageSize));
pictureSourceParameter.setTenantNo(1714548920583360512L); pictureSourceParameter.setTenantNo(1714548920583360512L);
pictureSourceParameter.setAccountNo(1714559587755397120L); pictureSourceParameter.setAccountNo(1714887674875514880L);
try { try {
ApiPage<PictureSourceResult> apiPage = prevailCloudApi.pullPictureSource(pictureSourceParameter); ApiPage<PictureSourceResult> apiPage = prevailCloudApi.pullPictureSource(pictureSourceParameter);
List<PictureSourceResult> listResult= apiPage.getRecords(); List<PictureSourceResult> listResult= apiPage.getRecords();

@ -0,0 +1,87 @@
package cn.jyjz.xiaoyao.ocr.controller;
import cn.jyjz.flowable.service.IFlowTaskService;
import cn.jyjz.flowable.utils.PageUtils;
import cn.jyjz.xiaoyao.admin.dataobject.User;
import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.common.base.controller.BaseController;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro;
import cn.jyjz.xiaoyao.ocr.service.IOcrSearchHistoryService;
import cn.jyjz.xiaoyao.framework.security.sms.MsmService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* ocr
*
* @author
* AI
* @Date 2024-03-17 19:53:30
*/
@CrossOrigin
@RestController
@RequestMapping("/ocr/aitools")
public class OcrAiApprovalTools {
@Autowired
private UserTokenService userTokenService;
@Autowired
IOcrSearchHistoryService iocrsearchhistoryservice;
/**
*
*
* @param request
* @return
*/
@RequestMapping(value = "/toolsCount", method = RequestMethod.GET)
public ResultVo toolsCount(HttpServletRequest request) {
String tenantId = request.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空");
}
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
ResultVo toolscount = iocrsearchhistoryservice.toolscount(tenantId,userToken.getUserid(),request);
return toolscount;
}
/*
ai
*/
@RequestMapping(value = "/aiApprovaltools", method = RequestMethod.GET)
public ResultVo aiApprovaltools(HttpServletRequest request,@RequestParam(value = "taskid", required = true) String taskid) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
Map<Object, Object> selectaisp = iocrsearchhistoryservice.selectaisp(userToken.getUserid(), taskid,userToken.getNodeType());
return ResultVoUtil.success(selectaisp);
}
@RequestMapping(value = "/aiApprovaltoolsClearmark", method = RequestMethod.GET)
public ResultVo aiApprovaltoolsClearmark(HttpServletRequest request,@RequestParam(value = "taskid", required = true) String taskid) {
ResultVo clearmark = iocrsearchhistoryservice.clearmark(taskid);
return clearmark;
}
}

@ -1,156 +0,0 @@
package cn.jyjz.xiaoyao.ocr.controller;
import java.io.IOException;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.jyjz.xiaoyao.admin.service.TenantService;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.common.mybatisplus.util.SearchQueryFormat;
import cn.jyjz.xiaoyao.oa.from.dataobject.Category;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrArea;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPlan;
import cn.jyjz.xiaoyao.ocr.service.OcrAreaService;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import liquibase.pro.packaged.S;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.controller.BaseController;
import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@RestController
@RequestMapping("/ocr/ocrarea")
public class OcrAreaController extends BaseController{
private Logger log = LoggerFactory.getLogger(this.getClass());
@Resource
private OcrAreaService ocrAreaService;
@Resource
private TenantService tenantService;
@Resource
private UserTokenService userTokenService;
@Resource
private UserService userService;
/**
*jsondto
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@ApiOperation(value="ocr_任务计划列表查询", notes="ocr_任务计划列表查询无分页")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true)
})
@GetMapping("/listall")
public ResultVo<List<OcrArea>> listall(HttpServletRequest request, HttpServletResponse response) throws IOException{
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空");
}
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
OcrArea ocrArea = new OcrArea();
QueryWrapper<OcrArea> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrArea);
queryWrapper.eq("TENANTID",tenantId);
queryWrapper.orderByDesc("REORDER");
List<OcrArea> page = this.ocrAreaService.queryListNoPage(queryWrapper);;
return ResultVoUtil.success(page);
}
/**
*jsondto
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@GetMapping("/list")
public ResultVo<IPage<OcrArea>> listOcrArea(ParamterPage paramterPage, HttpServletRequest request, HttpServletResponse response) throws IOException{
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
OcrArea ocrarea = new OcrArea();
QueryWrapper<OcrArea> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrarea);
IPage<OcrArea> page = this.ocrAreaService.selectSearchListPage(paramterPage,queryWrapper);
for(OcrArea ocrArea:page.getRecords()){
ocrArea.setTenant(tenantService.selectDtoById(ocrArea.getTenantid()));
}
return ResultVoUtil.success(page);
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@PostMapping("/save")
public ResultVo saveOcrArea(HttpServletResponse response,HttpServletRequest request,OcrArea tab) throws IOException{
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
tab.setCreateby(userToken.getLoginname());
tab.setCreatetime(System.currentTimeMillis());
this.ocrAreaService.save(tab);
return ResultVoUtil.success();
}
/**
*form
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@PostMapping("/edit")
public ResultVo editOcrArea(HttpServletResponse response,HttpServletRequest request,OcrArea tab) throws IOException{
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
tab.setUpdateby(userToken.getLoginname());
tab.setUpdatetime(System.currentTimeMillis());
this.ocrAreaService.updateById(tab);
return ResultVoUtil.success();
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@GetMapping("/getdata/{id}")
@ResponseBody
public ResultVo getdateOcrArea(HttpServletResponse response,HttpServletRequest request,@PathVariable("id") Long id) throws IOException{
OcrArea dto = this.ocrAreaService.selectDtoById(id);
if(null != dto){
return ResultVoUtil.success(dto);
}else{
return ResultVoUtil.error();
}
}
/**
*id1,2,3
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@GetMapping("/delmore")
@ResponseBody
public ResultVo delMoreOcrArea(HttpServletResponse response,HttpServletRequest request) throws IOException{
String ids = request.getParameter("id");
this.ocrAreaService.deleteByIdMore(ids);
return ResultVoUtil.success();
}
}

@ -1,75 +0,0 @@
package cn.jyjz.xiaoyao.ocr.controller;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.jyjz.xiaoyao.ocr.service.OcrAreaService;
import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.controller.BaseController;
import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@Controller
@RequestMapping("/backstage/oa/ocrareaHtml")
public class OcrAreaHtmlController extends BaseController{
private Logger log = LoggerFactory.getLogger(this.getClass());
@Autowired
private OcrAreaService ocrAreaService;
@Autowired
private UserTokenService userTokenService;
@Autowired
private UserService userService;
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@GetMapping("/toList")
public String toListOcrArea(HttpServletResponse response,HttpServletRequest request){
String resourceid = request.getParameter("resourceid");
request.setAttribute("resourceid",resourceid);
return "/backstage/oa/ocr/ocrarea/list";
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@GetMapping("/toSave")
public String toSaveOcrArea(HttpServletResponse response,HttpServletRequest request){
String resourceid = request.getParameter("resourceid");
request.setAttribute("resourceid",resourceid);
return "/backstage/oa/ocr/ocrarea/add";
}
/**
*ID
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@GetMapping("/toEdit/{id}")
public String toEditOcrArea(HttpServletResponse response,HttpServletRequest request,@PathVariable("id") String id){
String resourceid = request.getParameter("resourceid");
request.setAttribute("resourceid",resourceid);
request.setAttribute("id", id);
return "/backstage/oa/ocr/ocrarea/edit";
}
}

@ -117,6 +117,7 @@ public class OcrBooknoteController extends BaseController{
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("CREATEUSER",userToken.getLoginname()); queryWrapper.eq("CREATEUSER",userToken.getLoginname());
queryWrapper.eq("TENANTID",tenantId); queryWrapper.eq("TENANTID",tenantId);
queryWrapper.orderByDesc("CREATEDATE");
List<OcrBooknote> list = ocrBooknoteService.list(queryWrapper); List<OcrBooknote> list = ocrBooknoteService.list(queryWrapper);
if(null == list || list.isEmpty()){ if(null == list || list.isEmpty()){

@ -0,0 +1,188 @@
package cn.jyjz.xiaoyao.ocr.controller;
import cn.hutool.core.collection.CollUtil;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicate;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicateResult;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.service.IOcrCheckDuplicateResultService;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.service.IOcrCheckDuplicateService;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.util.DataUtil;
import cn.jyjz.xiaoyao.ocr.util.SearchConfigEnum;
import cn.jyjz.xiaoyao.ocr.util.SearchParaFormatting;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
*
* @author hugh(shuli.yao) 1397940314@qq.com
* @version 1.0
* @date 2024/3/25 1:31
*/
@RestController
@RequestMapping("/ocr/checkDuplicate")
public class OcrCheckDuplicateController {
@Resource
private UserTokenService userTokenService;
@Resource
private IOcrCheckDuplicateService ocrCheckDuplicateService;
@Resource
private OcrPictureService ocrPictureService;
@ApiOperation(value = "一键查重", notes = "一键查重")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true)
})
@GetMapping(value = "/openCheckDuplicate")
public ResultVo checkDuplicate(OcrPicture ocrPicture, HttpServletRequest req) {
//获取当前登录人
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(req));
//租户主键,由前端页面传送
String tenantId = req.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
QueryWrapper<OcrPicture> queryWrapper = new QueryWrapper<>();
//根据参数枚举获取检索参数并映射为数据库的字段的key-v map
Map<String, Object> paraMap = new HashMap<>();
for (SearchConfigEnum config : SearchConfigEnum.values()) {
String searchvalue = req.getParameter(config.getId());
if (StringUtils.isNotBlank(searchvalue)) {
paraMap.put(config.getMeaning(), searchvalue);
}
}
//调用查询参数解析方法解析为queryWrapper
queryWrapper = SearchParaFormatting.searchParaParse(queryWrapper, paraMap);
queryWrapper.eq("tenant_id", tenantId);
queryWrapper.eq("suspiciousfile", "0");
queryWrapper.orderBy(true,true,"submit_date_timestamp");
List<OcrPicture> pageList = ocrPictureService.listPage(queryWrapper);
if (null != pageList && !pageList.isEmpty()) {
if (pageList.size() == 1) {
return ResultVoUtil.error("查重数据至少要有两条。");
} else {
return ocrCheckDuplicateService.duplicateCheck(pageList, tenantId, userToken, req, paraMap);
}
} else {
return ResultVoUtil.error("没有查重数据。");
}
}
@ApiOperation(value = "获取查重任务接口异步状态", notes = "获取查重任务接口异步状态")
@GetMapping("/getCheckDuplicateStatus")
@ResponseBody
public ResultVo getCheckDuplicateStatus(HttpServletResponse response, HttpServletRequest request,
@RequestParam(name = "checkDuplicateNo", required = true) String checkDuplicateNo) throws IOException {
String tenantId = request.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
if (StringUtils.isBlank(checkDuplicateNo)) {
return ResultVoUtil.error("查重编号不能为空");
}
OcrCheckDuplicate dto = this.ocrCheckDuplicateService.getCheckDuplicateStatus(checkDuplicateNo);
if (null != dto) {
return ResultVoUtil.success(dto);
} else {
return ResultVoUtil.error();
}
}
/**
*
*
* @param request
* @return
*/
@GetMapping(value = "/getLastCheckNo")
public ResultVo getLastCheckNo(HttpServletRequest request) {
String tenantId = request.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
String lastCheckNo = this.ocrCheckDuplicateService.getLastCheckNo(tenantId);
if (!StringUtils.isBlank(lastCheckNo)) {
return ResultVoUtil.success(lastCheckNo);
} else {
return ResultVoUtil.success();
}
}
/**
*
*
* @param request
* @return
*/
@GetMapping(value = "/removeCheckDuplicate")
public ResultVo removeCheckDuplicate(HttpServletRequest request, @RequestParam(name = "checkDuplicateNo", required = true) String checkDuplicateNo) {
String tenantId = request.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
Boolean result = this.ocrCheckDuplicateService.removeCheckDuplicate(checkDuplicateNo, tenantId);
if (result) {
return ResultVoUtil.success("取消查重任务成功!");
}
return ResultVoUtil.error("取消任务失败!");
}
@ApiOperation(value = "查重图片分页列表查询", notes = "根据查重任务编号,返回查重任务图片结果")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
@ApiImplicitParam(paramType = "path", name = "checkDuplicateNo", value = "查重任务编号", dataType = "String", required = true)
})
@GetMapping(value = "/queryPageListByCheckNo")
public ResultVo<IPage<OcrPicture>> queryPageListByCheckNo(@RequestParam(name = "checkDuplicateNo") String checkDuplicateNo,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
//租户主键,由前端页面传送
String tenantId = req.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
IPage<OcrPicture> pageList = ocrCheckDuplicateService.queryPageListByCheckNo(checkDuplicateNo,tenantId,pageNo,pageSize);
return ResultVoUtil.success(pageList);
}
}

@ -4,8 +4,6 @@ import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrDictionary; import cn.jyjz.xiaoyao.ocr.dataobject.OcrDictionary;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrDictionaryGroup; import cn.jyjz.xiaoyao.ocr.dataobject.OcrDictionaryGroup;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrUpuser;
import cn.jyjz.xiaoyao.ocr.service.OcrDictionaryService; import cn.jyjz.xiaoyao.ocr.service.OcrDictionaryService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@ -61,4 +59,26 @@ public class OcrDictionaryController {
} }
return new ResultVo<>(ResultVo.ERROR,"根据field查询不到字典组!"); return new ResultVo<>(ResultVo.ERROR,"根据field查询不到字典组!");
} }
/**
*valuelable
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@GetMapping("/getLabelByValue")
@ResponseBody
public ResultVo<IPage<OcrDictionary>> getLabelByValue(HttpServletResponse response,
HttpServletRequest request,
@RequestParam(name="field", defaultValue="upName",required = true) String field,
@RequestParam(name="value", defaultValue="",required = true) String value) {
String tenantId = request.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空");
}
String result= ocrDictionaryService.queryLabelByValue(field,value,tenantId);
return new ResultVo<>(ResultVo.ERROR,result);
}
} }

@ -74,7 +74,7 @@ public class OcrFieldController extends BaseController {
*/ */
@ApiOperation(value="字段新增和修改", notes="字段新增和修改") @ApiOperation(value="字段新增和修改", notes="字段新增和修改")
@PostMapping(value = "/saveOrUpdate") @PostMapping(value = "/saveOrUpdate")
public ResultVo saveOrUpdate(@ApiParam(value = "字段信息", required = true) OcrFieldVo ocrFieldVo) { public ResultVo saveOrUpdate(@ApiParam(value = "字段信息", required = true) @RequestBody OcrFieldVo ocrFieldVo) {
try { try {
OcrField ocrField = new OcrField(); OcrField ocrField = new OcrField();
ocrField.setName(ocrFieldVo.getName()); ocrField.setName(ocrFieldVo.getName());

@ -1,5 +1,6 @@
package cn.jyjz.xiaoyao.ocr.controller; package cn.jyjz.xiaoyao.ocr.controller;
import cn.hutool.core.bean.BeanUtil;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService; import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil; import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo; import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
@ -9,6 +10,7 @@ import cn.jyjz.xiaoyao.ocr.dataobject.OcrMsg;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrMsgRead; import cn.jyjz.xiaoyao.ocr.dataobject.OcrMsgRead;
import cn.jyjz.xiaoyao.ocr.service.IOcrMsgService; import cn.jyjz.xiaoyao.ocr.service.IOcrMsgService;
import cn.jyjz.xiaoyao.ocr.util.PageRequest; import cn.jyjz.xiaoyao.ocr.util.PageRequest;
import cn.jyjz.xiaoyao.ocr.vo.OcrMsgVO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -19,9 +21,11 @@ import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import cn.jyjz.xiaoyao.ocr.service.IOcrMsgReadService; import cn.jyjz.xiaoyao.ocr.service.IOcrMsgReadService;
import java.sql.Array;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* ocr * ocr
@ -67,7 +71,8 @@ public class OcrMsgReadController {
pageQuery.setPageSize(pageSize); pageQuery.setPageSize(pageSize);
PageInfo<List<Map<Object, String>>> findPage = iocrmsgservice.selectPage(pageQuery,userToken.getUserid(),msgCategory); PageInfo<OcrMsgVO> findPage = iocrmsgservice.selectPage(pageQuery,userToken.getUserid(),msgCategory);
//执行查询方法 //执行查询方法
// return new ResponseEntity<Object>(findPage, HttpStatus.OK); // return new ResponseEntity<Object>(findPage, HttpStatus.OK);
@ -97,6 +102,15 @@ public class OcrMsgReadController {
return ResultVoUtil.success(selectone); return ResultVoUtil.success(selectone);
} }
@ApiOperation(value = "消息轮询", notes = "消息轮询")
@RequestMapping(value = "/msgPolling", method = RequestMethod.GET)
public ResultVo msgPolling(HttpServletRequest request) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
//获取当前用户所有未读消息
int count = iocrmsgservice.queryUnreadMsgCount(userToken.getUserid());
return ResultVoUtil.success(count);
}
/** /**
* *
@ -104,20 +118,21 @@ public class OcrMsgReadController {
* @return * @return
*/ */
@ApiOperation(value = "消除未读所有", notes = "消除未读所有") @ApiOperation(value = "消除未读所有", notes = "消除未读所有")
@RequestMapping(value = "eliminateUnreadfull", method = RequestMethod.POST) @RequestMapping(value = "eliminateUnreadfull", method = RequestMethod.GET)
public ResultVo eliminateUnreadfull(HttpServletRequest request, @RequestParam(value = "msgCategory", required = false)String msgCategory) { public ResultVo eliminateUnreadfull(HttpServletRequest request, @RequestParam(value = "msgCategory", required = true)String msgCategory) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
QueryWrapper<OcrMsg> wrapperlist = new QueryWrapper<>(); QueryWrapper<OcrMsg> wrapperlist = new QueryWrapper<>();
wrapperlist.select("id").eq("msg_category",msgCategory).eq("send_status","1").apply(" FIND_IN_SET('"+userToken.getUserid()+"',receive_user_ids)"); wrapperlist.select("id").eq("msg_category",msgCategory).eq("send_status","1").and(wrapper->{
wrapper.eq("receive_user_type",2).or().apply(" FIND_IN_SET('"+userToken.getUserid()+"',receive_user_ids)");
QueryWrapper<OcrMsgRead> wrapperone = new QueryWrapper<>(); });
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSSS"); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSSS");
List<OcrMsg> list = iocrmsgservice.list(wrapperlist); List<OcrMsg> list = iocrmsgservice.list(wrapperlist);
for (OcrMsg msg:list){ for (OcrMsg msg:list){
QueryWrapper<OcrMsgRead> wrapperone = new QueryWrapper<>();
wrapperone.eq("msg_id", msg.getId()).eq("user_id",userToken.getUserid()); wrapperone.eq("msg_id", msg.getId()).eq("user_id",userToken.getUserid());
OcrMsgRead one = ocrMsgReadService.getOne(wrapperone); OcrMsgRead one = ocrMsgReadService.getOne(wrapperone);
if(null==one) { if(null==one) {
@ -136,26 +151,32 @@ public class OcrMsgReadController {
} }
@ApiOperation(value = "消除未读单个", notes = "消除未读单个") @ApiOperation(value = "消除未读单个", notes = "消除未读单个")
@RequestMapping(value = "eliminateUnreadone", method = RequestMethod.POST) @RequestMapping(value = "eliminateUnreadone", method = RequestMethod.GET)
public ResultVo eliminateUnreadone(HttpServletRequest request, @RequestParam(value = "msgid", required = false)String msgid) { public ResultVo eliminateUnreadone(HttpServletRequest request, @RequestParam(value = "msgid", required = true)String msgid) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSSS"); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSSS");
QueryWrapper<OcrMsgRead> wrapperone = new QueryWrapper<>();
wrapperone.eq("msg_id", msgid).eq("user_id",userToken.getUserid());
OcrMsgRead one = ocrMsgReadService.getOne(wrapperone);
if(null==one) {
OcrMsgRead ocrmsgread=new OcrMsgRead();
ocrmsgread.setId(Long.valueOf(sdf.format(System.currentTimeMillis())));
ocrmsgread.setMsgId(Long.valueOf(msgid));
ocrmsgread.setUserId(Long.valueOf(userToken.getUserid()));
ocrmsgread.setReadFlag(1);
ocrmsgread.setReadTime(System.currentTimeMillis());
ocrMsgReadService.save(ocrmsgread);
return ResultVoUtil.success(ResultVo.SUCCESS);
}
OcrMsgRead ocrmsgread=new OcrMsgRead();
ocrmsgread.setId(Long.valueOf(sdf.format(System.currentTimeMillis())));
ocrmsgread.setMsgId(Long.valueOf(msgid));
ocrmsgread.setUserId(Long.valueOf(userToken.getUserid()));
ocrmsgread.setReadFlag(1);
ocrmsgread.setReadTime(System.currentTimeMillis());
boolean save = ocrMsgReadService.save(ocrmsgread);
//此处需要手工处理 返回需要将修改后的数据返回 return ResultVoUtil.success(ResultVo.SUCCESS);
// return new ResponseEntity<Object>(save,HttpStatus.OK);
return ResultVoUtil.success(save);
} }
} }

@ -1,8 +1,8 @@
package cn.jyjz.xiaoyao.ocr.controller; package cn.jyjz.xiaoyao.ocr.controller;
import java.io.IOException; import java.io.IOException;
import java.util.Arrays; import java.util.*;
import java.util.List; import java.util.stream.Collectors;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -24,9 +24,12 @@ import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.service.OcrPackagetaskService; import cn.jyjz.xiaoyao.ocr.service.OcrPackagetaskService;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService; import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService; import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService;
import cn.jyjz.xiaoyao.ocr.vo.OcrPackagetaskVo;
import cn.jyjz.xiaoyao.upload.upload.UploadSpringUtil; import cn.jyjz.xiaoyao.upload.upload.UploadSpringUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.type.TypeReference;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
@ -37,7 +40,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.lang.reflect.Field;
import cn.jyjz.xiaoyao.admin.service.UserService; import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService; import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.controller.BaseController; import cn.jyjz.xiaoyao.common.base.controller.BaseController;
@ -87,7 +90,7 @@ public class OcrPackagetaskController extends BaseController{
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true) @ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true)
}) })
@GetMapping(value = "/list") @GetMapping(value = "/list")
public ResultVo<IPage<OcrPackagetask>> queryPageList(OcrPackagetask ocrPackagetask, public ResultVo<IPage<Map<String, Object>>> queryPageList(OcrPackagetask ocrPackagetask,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest request) { HttpServletRequest request) {
@ -109,9 +112,55 @@ public class OcrPackagetaskController extends BaseController{
} }
Page<OcrPackagetask> page = new Page<OcrPackagetask>(pageNo, pageSize); Page<OcrPackagetask> page = new Page<OcrPackagetask>(pageNo, pageSize);
IPage<OcrPackagetask> pageList = ocrPackagetaskService.page(page, queryWrapper); IPage<OcrPackagetask> pageList = ocrPackagetaskService.page(page, queryWrapper);
return ResultVoUtil.success(pageList);
List<Map<String, Object>> ocrPackagetaskVoList = new ArrayList<>();
for (OcrPackagetask one : pageList.getRecords()) {
Map<String, Object> resultMap = new HashMap<>();
OcrPackagetaskVo ocrPackagetaskVo = new OcrPackagetaskVo();
ocrPackagetaskVo.setId(one.getId().toString());
ocrPackagetaskVo.setCreateBy(one.getCreateBy());
ocrPackagetaskVo.setCreateTime(one.getCreateTime());
ocrPackagetaskVo.setUpdateBy(one.getUpdateBy());
ocrPackagetaskVo.setUpdateTime(one.getUpdateTime());
ocrPackagetaskVo.setTenantId(one.getTenantId());
ocrPackagetaskVo.setPackagename(one.getPackagename());
ocrPackagetaskVo.setPictureno(one.getPictureno());
ocrPackagetaskVo.setSimilaritys(one.getSimilaritys());
ocrPackagetaskVo.setSearchtimes(one.getSearchtimes());
ObjectMapper ocrMapper = new ObjectMapper();
resultMap = ocrMapper.convertValue(ocrPackagetaskVo, Map.class);
if(StringUtils.isNotBlank(one.getJson())){
ObjectMapper mapper = new ObjectMapper();
try {
Map<String, Object> jsonMap = mapper.readValue(one.getJson(), new TypeReference<Map<String, Object>>() {});
resultMap.putAll(jsonMap);
} catch (IOException e) {
e.printStackTrace();
}
}
ocrPackagetaskVoList.add(resultMap);
}
IPage<Map<String, Object>> newPageList = new Page<>(pageList.getCurrent(), pageList.getSize(), pageList.getTotal());
newPageList.setRecords(ocrPackagetaskVoList);
return ResultVoUtil.success(newPageList);
} }
public static Map<String, Object> convertObjectToMap(Object obj) {
Map<String, Object> result = new HashMap<>();
Field[] fields = obj.getClass().getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true); // 允许访问私有字段
try {
result.put(field.getName(), field.get(obj));
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return result;
}
/** /**
*form *form
*mail.zhangyong@gmail.com *mail.zhangyong@gmail.com

@ -13,9 +13,8 @@ import cn.jyjz.xiaoyao.admin.service.LogService;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil; import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureclass; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService; import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureclassService;
import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService; import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService;
import cn.jyjz.xiaoyao.ocr.util.DataUtil; import cn.jyjz.xiaoyao.ocr.util.DataUtil;
import cn.jyjz.xiaoyao.ocr.util.SearchConfigEnum; import cn.jyjz.xiaoyao.ocr.util.SearchConfigEnum;
@ -49,8 +48,6 @@ public class OcrPictureController extends BaseController {
@Resource @Resource
private OcrPictureService ocrPictureService; private OcrPictureService ocrPictureService;
@Resource @Resource
private OcrPictureclassService ocrPictureclassService;
@Resource
private OcrTaskchildPictureService ocrTaskchildPictureService; private OcrTaskchildPictureService ocrTaskchildPictureService;
@Resource @Resource
private UserTokenService userTokenService; private UserTokenService userTokenService;
@ -121,12 +118,11 @@ public class OcrPictureController extends BaseController {
@ApiImplicitParam(paramType = "path", name = "search_month", value = "搜索时间21,一周内22两周内1进一个月2:进两个月3近三个月、6近六个月、9近九个月、12近12个月", required = true), @ApiImplicitParam(paramType = "path", name = "search_month", value = "搜索时间21,一周内22两周内1进一个月2:进两个月3近三个月、6近六个月、9近九个月、12近12个月", required = true),
@ApiImplicitParam(paramType = "path", name = "search_history", value = "是否查询历史记录0不查询1查询", required = true) @ApiImplicitParam(paramType = "path", name = "search_history", value = "是否查询历史记录0不查询1查询", required = true)
}) })
@GetMapping(value = "/createorder") @GetMapping(value = "/checkHeavy")
public ResultVo createorder(OcrPicture ocrPicture, public ResultVo checkHeavy(OcrPicture ocrPicture, HttpServletRequest req) {
HttpServletRequest req) {
//获取当前登录人 //获取当前登录人
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(req)); //UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(req));
//租户主键,由前端页面传送 //租户主键,由前端页面传送
String tenantId = req.getHeader("X-Tenant-Id"); String tenantId = req.getHeader("X-Tenant-Id");
@ -140,7 +136,7 @@ public class OcrPictureController extends BaseController {
String search_history = req.getParameter("search_history"); String search_history = req.getParameter("search_history");
//任务包名称 //任务包名称
String buessinessno = req.getParameter("buessinessno"); //String buessinessno = req.getParameter("buessinessno");
//搜索时间段 //搜索时间段
// String search_month = req.getParameter("search_month"); // String search_month = req.getParameter("search_month");
@ -176,14 +172,71 @@ public class OcrPictureController extends BaseController {
if (null != pageList && !pageList.isEmpty()) { if (null != pageList && !pageList.isEmpty()) {
if (pageList.size() == 1) { if (pageList.size() == 1) {
return ResultVoUtil.error("查重数据至少要有两条。"); return ResultVoUtil.error("查重数据至少要有两条。");
} else {
return ocrPictureService.createPackageTask(pageList, tenantId, userToken, search_month, req, buessinessno);
} }
}
ocrPictureService.createTaskChild(pageList, pageList.get(0).getTenantId().toString(), req);
return ResultVoUtil.error("没有查重数据。");
}
/**
*
*
* @param req
* @return
*/
@ApiOperation(value = "生成任务包", notes = "生成任务包")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
@ApiImplicitParam(paramType = "path", name = "search_month", value = "搜索时间21,一周内22两周内1进一个月2:进两个月3近三个月、6近六个月、9近九个月、12近12个月", required = true)
})
@GetMapping(value = "/createorder")
public ResultVo createorder(OcrPicture ocrPicture, HttpServletRequest req) {
//获取当前登录人
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(req));
//租户主键,由前端页面传送
String tenantId = req.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
QueryWrapper<OcrPicture> queryWrapper = new QueryWrapper<>();
//任务包名称
String buessinessno = req.getParameter("buessinessno");
String search_month = req.getParameter("search_month");
if (StringUtils.isNotBlank(search_month) && Integer.parseInt(search_month) <= 12 && Integer.parseInt(search_month) > 0) {
queryWrapper.le("create_time", DataUtil.afterDateByMonth(Integer.parseInt(search_month)));
}
//根据参数枚举获取检索参数并映射为数据库的字段的key-v map
Map<String, Object> paraMap = new HashMap<>();
for (SearchConfigEnum config : SearchConfigEnum.values()) {
String searchvalue = req.getParameter(config.getId());
if (StringUtils.isNotBlank(searchvalue)) {
paraMap.put(config.getMeaning(), searchvalue);
}
}
//调用查询参数解析方法解析为queryWrapper
queryWrapper = SearchParaFormatting.searchParaParse(queryWrapper, paraMap);
queryWrapper.eq("tenant_id", tenantId);
List<OcrPicture> pageList = ocrPictureService.listPage(queryWrapper);
if (null != pageList && !pageList.isEmpty()) {
return ocrPictureService.createTaskChild(pageList, tenantId, userToken, search_month, req, buessinessno);
} else { } else {
return ResultVoUtil.error("没有查重数据。"); return ResultVoUtil.error("没有查重数据。");
} }
} }
/** /**
* *
* *
@ -211,18 +264,39 @@ public class OcrPictureController extends BaseController {
return ResultVoUtil.error("租户主键不能为空"); return ResultVoUtil.error("租户主键不能为空");
} }
QueryWrapper<OcrPicture> queryWrapper = new QueryWrapper<>(); QueryWrapper<OcrPicture> queryWrapper = new QueryWrapper<>();
//是否查询历史记录 String search_month = req.getParameter("search_month");
String search_history = req.getParameter("search_history"); String ordertype = req.getParameter("ordertype");
//判断是否需要查询历史记录 queryWrapper.eq("suspiciousfile", "0");
if (search_history.equals("0")) { if (StringUtils.isNotBlank(ordertype)) {
queryWrapper.eq("taskstatus", search_history); if (ordertype.equals("asc")) {
queryWrapper.orderByAsc("similarity_score");
} else {
queryWrapper.orderByDesc("similarity_score");
}
}
//按时间排序
String orderByTime = req.getParameter("orderByTime");
if (StringUtils.isNotBlank(orderByTime)) {
if (orderByTime.equals("asc")) {
queryWrapper.orderByAsc("submit_date_timestamp");
} else {
queryWrapper.orderByDesc("submit_date_timestamp");
}
} }
String search_month = req.getParameter("search_month");
if (StringUtils.isNotBlank(search_month) && Integer.parseInt(search_month) <= 12 && Integer.parseInt(search_month) > 0) { if (StringUtils.isNotBlank(search_month) && Integer.parseInt(search_month) <= 12 && Integer.parseInt(search_month) > 0) {
queryWrapper.le("create_time", DataUtil.afterDateByMonth(Integer.parseInt(search_month))); queryWrapper.ge("create_time", DataUtil.afterDateByMonth(Integer.parseInt(search_month)));
}
//提报人模糊搜索
String upUserName = req.getParameter("upUserName");
if(StringUtils.isNotBlank(upUserName)){
queryWrapper.like("upName",upUserName);
} }
//根据参数枚举获取检索参数并映射为数据库的字段的key-v map //根据参数枚举获取检索参数并映射为数据库的字段的key-v map
@ -240,14 +314,6 @@ public class OcrPictureController extends BaseController {
Page<OcrPicture> page = new Page<OcrPicture>(pageNo, pageSize); Page<OcrPicture> page = new Page<OcrPicture>(pageNo, pageSize);
IPage<OcrPicture> pageList = ocrPictureService.page(page, queryWrapper); IPage<OcrPicture> pageList = ocrPictureService.page(page, queryWrapper);
for (OcrPicture ocrPicture1 : pageList.getRecords()) {
if (StringUtils.isNotBlank(ocrPicture1.getPictureclassid())) {
OcrPictureclass ocrPictureclass = this.ocrPictureclassService.getById(ocrPicture1.getPictureclassid());
ocrPicture1.setOcrPictureclass(ocrPictureclass);
}
}
return ResultVoUtil.success(pageList); return ResultVoUtil.success(pageList);
} }
@ -327,4 +393,29 @@ public class OcrPictureController extends BaseController {
return ResultVoUtil.success(); return ResultVoUtil.success();
} }
/**
*
*
* @return
*/
@GetMapping(value = "/getPackagePicture")
public ResultVo getPackagePictureInfo(@RequestParam(name = "checkDuplicateId") String checkDuplicateId,
@RequestParam(name = "pictureId", required = false) String pictureId,
HttpServletRequest req) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(req));
OcrPicture result = ocrPictureService.getPackagePictureInfo(checkDuplicateId, pictureId,userToken);
return ResultVoUtil.success(result);
}
/**
* id1,2,3
* mail.zhangyong@gmail.com
* 2024-01-14 10:27:01
**/
@GetMapping("/getPictureDetail")
public ResultVo getPictureDetail(@RequestParam(value = "pictureId") String pictureId, HttpServletRequest request) throws IOException {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
return ResultVoUtil.success(ocrTaskchildPictureService.getPictureDetail(pictureId, userToken));
}
} }

@ -1,158 +0,0 @@
package cn.jyjz.xiaoyao.ocr.controller;
import java.io.IOException;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.jyjz.xiaoyao.admin.service.TenantService;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.common.mybatisplus.util.SearchQueryFormat;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrArea;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureclass;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureclassService;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.controller.BaseController;
import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@Api(tags="ocr-分类管理")
@RestController
@RequestMapping("/ocr/ocrPictureclass")
public class OcrPictureclassController extends BaseController{
private Logger log = LoggerFactory.getLogger(this.getClass());
@Resource
private OcrPictureclassService ocrPictureclassService;
@Resource
private TenantService tenantService;
@Resource
private UserTokenService userTokenService;
@Resource
private UserService userService;
/**
*
* @return
*/
//@AutoLog(value = "ocr_pictureclass-分页列表查询")
@ApiOperation(value="分类列表", notes="分类列表,无分页")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true)
})
@GetMapping(value = "/rootList")
public ResultVo<List<OcrPictureclass>> rootList(HttpServletRequest request, HttpServletResponse response) {
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空");
}
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
OcrPictureclass ocrpictureclass = new OcrPictureclass();
QueryWrapper<OcrPictureclass> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrpictureclass);
queryWrapper.eq("TENANTID",tenantId);
queryWrapper.orderByDesc("REORDER");
List<OcrPictureclass> page = this.ocrPictureclassService.queryListNoPage(queryWrapper);;
return ResultVoUtil.success(page);
}
/**
*jsondto
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@GetMapping("/list")
public ResultVo<IPage<OcrPictureclass>> listOcrPictureclass(ParamterPage paramterPage, HttpServletRequest request, HttpServletResponse response) throws IOException{
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
OcrPictureclass ocrpictureclass = new OcrPictureclass();
QueryWrapper<OcrPictureclass> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrpictureclass);
IPage<OcrPictureclass> page = this.ocrPictureclassService.selectSearchListPage(paramterPage,queryWrapper);
for(OcrPictureclass ocrPictureclass:page.getRecords()){
ocrPictureclass.setTenant(tenantService.selectDtoById(ocrPictureclass.getTenantid()));
}
return ResultVoUtil.success(page);
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@PostMapping("/save")
public ResultVo saveOcrPictureclass(HttpServletResponse response,HttpServletRequest request,OcrPictureclass tab) throws IOException{
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
tab.setCreateby(userToken.getLoginname());
tab.setCreatetime(System.currentTimeMillis());
this.ocrPictureclassService.save(tab);
return ResultVoUtil.success();
}
/**
*form
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@PostMapping("/edit")
public ResultVo editOcrPictureclass(HttpServletResponse response,HttpServletRequest request,OcrPictureclass tab) throws IOException{
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
tab.setUpdateby(userToken.getLoginname());
tab.setUpdatetime(System.currentTimeMillis());
this.ocrPictureclassService.updateById(tab);
return ResultVoUtil.success();
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@GetMapping("/getdata/{id}")
@ResponseBody
public ResultVo getdateOcrPictureclass(HttpServletResponse response,HttpServletRequest request,@PathVariable("id") Long id) throws IOException{
OcrPictureclass dto = this.ocrPictureclassService.selectDtoById(id);
if(null != dto){
return ResultVoUtil.success(dto);
}else{
return ResultVoUtil.error();
}
}
/**
*id1,2,3
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@GetMapping("/delmore")
@ResponseBody
public ResultVo delMoreOcrPictureclass(HttpServletResponse response,HttpServletRequest request) throws IOException{
String ids = request.getParameter("id");
this.ocrPictureclassService.deleteByIdMore(ids);
return ResultVoUtil.success();
}
}

@ -1,75 +0,0 @@
package cn.jyjz.xiaoyao.ocr.controller;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureclassService;
import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.controller.BaseController;
import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@Controller
@RequestMapping("/backstage/oa/ocrpictureclassHtml")
public class OcrPictureclassHtmlController extends BaseController{
private Logger log = LoggerFactory.getLogger(this.getClass());
@Autowired
private OcrPictureclassService ocrPictureclassService;
@Autowired
private UserTokenService userTokenService;
@Autowired
private UserService userService;
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@GetMapping("/toList")
public String toListOcrPictureclass(HttpServletResponse response,HttpServletRequest request){
String resourceid = request.getParameter("resourceid");
request.setAttribute("resourceid",resourceid);
return "/backstage/oa/ocr/ocrpictureclass/list";
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@GetMapping("/toSave")
public String toSaveOcrPictureclass(HttpServletResponse response,HttpServletRequest request){
String resourceid = request.getParameter("resourceid");
request.setAttribute("resourceid",resourceid);
return "/backstage/oa/ocr/ocrpictureclass/add";
}
/**
*ID
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@GetMapping("/toEdit/{id}")
public String toEditOcrPictureclass(HttpServletResponse response,HttpServletRequest request,@PathVariable("id") String id){
String resourceid = request.getParameter("resourceid");
request.setAttribute("resourceid",resourceid);
request.setAttribute("id", id);
return "/backstage/oa/ocr/ocrpictureclass/edit";
}
}

@ -1,113 +0,0 @@
package cn.jyjz.xiaoyao.ocr.controller;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.common.mybatisplus.util.SearchQueryFormat;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicturejob;
import cn.jyjz.xiaoyao.ocr.service.OcrPicturejobService;
import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.controller.BaseController;
import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@RestController
@RequestMapping("/backstage/jifen/ocrpicturejob")
public class OcrPicturejobController extends BaseController{
private Logger log = LoggerFactory.getLogger(this.getClass());
@Autowired
private OcrPicturejobService ocrPicturejobService;
@Autowired
private UserTokenService userTokenService;
@Autowired
private UserService userService;
/**
*jsondto
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@GetMapping("/list")
public ResultVo<IPage<OcrPicturejob>> listOcrPicturejob(ParamterPage paramterPage, HttpServletRequest request, HttpServletResponse response) throws IOException{
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
OcrPicturejob ocrpicturejob = new OcrPicturejob();
QueryWrapper<OcrPicturejob> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrpicturejob);
IPage<OcrPicturejob> page = this.ocrPicturejobService.selectSearchListPage(paramterPage,queryWrapper);;
return ResultVoUtil.success(page);
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@PostMapping("/save")
public ResultVo saveOcrPicturejob(HttpServletResponse response,HttpServletRequest request,OcrPicturejob tab) throws IOException{
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
this.ocrPicturejobService.save(tab);
return ResultVoUtil.success();
}
/**
*form
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@PostMapping("/edit")
public ResultVo editOcrPicturejob(HttpServletResponse response,HttpServletRequest request,OcrPicturejob tab) throws IOException{
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
this.ocrPicturejobService.updateById(tab);
return ResultVoUtil.success();
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@GetMapping("/getdata/{id}")
@ResponseBody
public ResultVo getdateOcrPicturejob(HttpServletResponse response,HttpServletRequest request,@PathVariable("id") Long id) throws IOException{
OcrPicturejob dto = this.ocrPicturejobService.selectDtoById(id);
if(null != dto){
return ResultVoUtil.success(dto);
}else{
return ResultVoUtil.error();
}
}
/**
*id1,2,3
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@GetMapping("/delmore")
@ResponseBody
public ResultVo delMoreOcrPicturejob(HttpServletResponse response,HttpServletRequest request) throws IOException{
String ids = request.getParameter("id");
this.ocrPicturejobService.deleteByIdMore(ids);
return ResultVoUtil.success();
}
}

@ -4,7 +4,6 @@ import java.io.IOException;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import cn.jyjz.xiaoyao.ocr.service.OcrPicturejobService;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -28,8 +27,6 @@ public class OcrPicturejobHtmlController extends BaseController{
private Logger log = LoggerFactory.getLogger(this.getClass()); private Logger log = LoggerFactory.getLogger(this.getClass());
@Autowired
private OcrPicturejobService ocrPicturejobService;
@Autowired @Autowired
private UserTokenService userTokenService; private UserTokenService userTokenService;

@ -1,159 +0,0 @@
package cn.jyjz.xiaoyao.ocr.controller;
import java.io.IOException;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.jyjz.xiaoyao.admin.service.TenantService;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.common.mybatisplus.util.SearchQueryFormat;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureclass;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicturetype;
import cn.jyjz.xiaoyao.ocr.service.OcrPicturetypeService;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.controller.BaseController;
import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@RestController
@RequestMapping("/ocr/ocrPicturetype")
public class OcrPicturetypeController extends BaseController{
private Logger log = LoggerFactory.getLogger(this.getClass());
@Resource
private OcrPicturetypeService ocrPicturetypeService;
@Resource
private UserTokenService userTokenService;
@Resource
private UserService userService;
@Resource
private TenantService tenantService;
/**
*
*
* @param req
* @return
*/
//@AutoLog(value = "orc_picturetype-分页列表查询")
@ApiOperation(value="图片类型列表", notes="图片类型列表,无分页")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true)
})
@GetMapping(value = "/rootList")
public ResultVo<List<OcrPicturetype>> queryPageList(HttpServletRequest req) {
//租户主键,由前端页面传送
String tenantId = req.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空");
}
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(req, "search_");
OcrPicturetype ocrpicturetype = new OcrPicturetype();
QueryWrapper<OcrPicturetype> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrpicturetype);
queryWrapper.eq("TENANTID",tenantId);
queryWrapper.orderByDesc("REORDER");
List<OcrPicturetype> list = this.ocrPicturetypeService.queryListNoPage(queryWrapper);
return ResultVoUtil.success(list);
}
/**
*jsondto
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@GetMapping("/list")
public ResultVo<IPage<OcrPicturetype>> listOcrPicturetype(ParamterPage paramterPage, HttpServletRequest request, HttpServletResponse response) throws IOException{
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
OcrPicturetype ocrpicturetype = new OcrPicturetype();
QueryWrapper<OcrPicturetype> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrpicturetype);
IPage<OcrPicturetype> page = this.ocrPicturetypeService.selectSearchListPage(paramterPage,queryWrapper);
for(OcrPicturetype ocrPicturetype:page.getRecords()){
ocrPicturetype.setTenant(tenantService.selectDtoById(ocrPicturetype.getTenantid()));
}
return ResultVoUtil.success(page);
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@PostMapping("/save")
public ResultVo saveOcrPicturetype(HttpServletResponse response,HttpServletRequest request,OcrPicturetype tab) throws IOException{
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
tab.setCreateby(userToken.getLoginname());
tab.setCreatetime(System.currentTimeMillis());
this.ocrPicturetypeService.save(tab);
return ResultVoUtil.success();
}
/**
*form
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@PostMapping("/edit")
public ResultVo editOcrPicturetype(HttpServletResponse response,HttpServletRequest request,OcrPicturetype tab) throws IOException{
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
tab.setUpdateby(userToken.getLoginname());
tab.setUpdatetime(System.currentTimeMillis());
this.ocrPicturetypeService.updateById(tab);
return ResultVoUtil.success();
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@GetMapping("/getdata/{id}")
@ResponseBody
public ResultVo getdateOcrPicturetype(HttpServletResponse response,HttpServletRequest request,@PathVariable("id") Long id) throws IOException{
OcrPicturetype dto = this.ocrPicturetypeService.selectDtoById(id);
if(null != dto){
return ResultVoUtil.success(dto);
}else{
return ResultVoUtil.error();
}
}
/**
*id1,2,3
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@GetMapping("/delmore")
@ResponseBody
public ResultVo delMoreOcrPicturetype(HttpServletResponse response,HttpServletRequest request) throws IOException{
String ids = request.getParameter("id");
this.ocrPicturetypeService.deleteByIdMore(ids);
return ResultVoUtil.success();
}
}

@ -1,75 +0,0 @@
package cn.jyjz.xiaoyao.ocr.controller;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.jyjz.xiaoyao.ocr.service.OcrPicturetypeService;
import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.controller.BaseController;
import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@Controller
@RequestMapping("/backstage/oa/ocrpicturetypeHtml")
public class OcrPicturetypeHtmlController extends BaseController{
private Logger log = LoggerFactory.getLogger(this.getClass());
@Autowired
private OcrPicturetypeService ocrPicturetypeService;
@Autowired
private UserTokenService userTokenService;
@Autowired
private UserService userService;
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@GetMapping("/toList")
public String toListOcrPicturetype(HttpServletResponse response,HttpServletRequest request){
String resourceid = request.getParameter("resourceid");
request.setAttribute("resourceid",resourceid);
return "/backstage/oa/ocr/ocrpicturetype/list";
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@GetMapping("/toSave")
public String toSaveOcrPicturetype(HttpServletResponse response,HttpServletRequest request){
String resourceid = request.getParameter("resourceid");
request.setAttribute("resourceid",resourceid);
return "/backstage/oa/ocr/ocrpicturetype/add";
}
/**
*ID
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@GetMapping("/toEdit/{id}")
public String toEditOcrPicturetype(HttpServletResponse response,HttpServletRequest request,@PathVariable("id") String id){
String resourceid = request.getParameter("resourceid");
request.setAttribute("resourceid",resourceid);
request.setAttribute("id", id);
return "/backstage/oa/ocr/ocrpicturetype/edit";
}
}

@ -1,156 +0,0 @@
package cn.jyjz.xiaoyao.ocr.controller;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.jyjz.xiaoyao.admin.service.TenantService;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.common.mybatisplus.util.SearchQueryFormat;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicturetype;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPlan;
import cn.jyjz.xiaoyao.ocr.service.OcrPlanService;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.controller.BaseController;
import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@RestController
@RequestMapping("/ocr/ocrPlan")
public class OcrPlanController extends BaseController{
private Logger log = LoggerFactory.getLogger(this.getClass());
@Resource
private OcrPlanService ocrPlanService;
@Resource
private UserTokenService userTokenService;
@Resource
private UserService userService;
@Resource
private TenantService tenantService;
/**
*jsondto
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@ApiOperation(value="ocr_任务计划列表查询", notes="ocr_任务计划列表查询无分页")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true)
})
@GetMapping("/listall")
public ResultVo<List<OcrPlan>> listall(HttpServletRequest request, HttpServletResponse response) throws IOException{
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空");
}
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
OcrPlan ocrplan = new OcrPlan();
QueryWrapper<OcrPlan> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrplan);
queryWrapper.eq("TENANTID",tenantId);
queryWrapper.orderByDesc("REORDER");
List<OcrPlan> page = this.ocrPlanService.queryListNoPage(queryWrapper);;
return ResultVoUtil.success(page);
}
/**
*jsondto
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@GetMapping("/list")
public ResultVo<IPage<OcrPlan>> listOcrPlan(ParamterPage paramterPage, HttpServletRequest request, HttpServletResponse response) throws IOException{
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
OcrPlan ocrplan = new OcrPlan();
QueryWrapper<OcrPlan> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrplan);
IPage<OcrPlan> page = this.ocrPlanService.selectSearchListPage(paramterPage,queryWrapper);
for(OcrPlan ocrPlan:page.getRecords()){
ocrPlan.setTenant(tenantService.selectDtoById(ocrPlan.getTenantid()));
}
return ResultVoUtil.success(page);
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@PostMapping("/save")
public ResultVo saveOcrPlan(HttpServletResponse response,HttpServletRequest request,OcrPlan tab) throws IOException{
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
tab.setCreateby(userToken.getLoginname());
tab.setCreatetime(System.currentTimeMillis());
this.ocrPlanService.save(tab);
return ResultVoUtil.success();
}
/**
*form
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@PostMapping("/edit")
public ResultVo editOcrPlan(HttpServletResponse response,HttpServletRequest request,OcrPlan tab) throws IOException{
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
tab.setUpdateby(userToken.getLoginname());
tab.setUpdatetime(System.currentTimeMillis());
this.ocrPlanService.updateById(tab);
return ResultVoUtil.success();
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@GetMapping("/getdata/{id}")
@ResponseBody
public ResultVo getdateOcrPlan(HttpServletResponse response,HttpServletRequest request,@PathVariable("id") Long id) throws IOException{
OcrPlan dto = this.ocrPlanService.selectDtoById(id);
if(null != dto){
return ResultVoUtil.success(dto);
}else{
return ResultVoUtil.error();
}
}
/**
*id1,2,3
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@GetMapping("/delmore")
@ResponseBody
public ResultVo delMoreOcrPlan(HttpServletResponse response,HttpServletRequest request) throws IOException{
String ids = request.getParameter("id");
this.ocrPlanService.deleteByIdMore(ids);
return ResultVoUtil.success();
}
}

@ -1,75 +0,0 @@
package cn.jyjz.xiaoyao.ocr.controller;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.jyjz.xiaoyao.ocr.service.OcrPlanService;
import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.controller.BaseController;
import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@Controller
@RequestMapping("/backstage/oa/ocrplanHtml")
public class OcrPlanHtmlController extends BaseController{
private Logger log = LoggerFactory.getLogger(this.getClass());
@Autowired
private OcrPlanService ocrPlanService;
@Autowired
private UserTokenService userTokenService;
@Autowired
private UserService userService;
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@GetMapping("/toList")
public String toListOcrPlan(HttpServletResponse response,HttpServletRequest request){
String resourceid = request.getParameter("resourceid");
request.setAttribute("resourceid",resourceid);
return "/backstage/oa/ocr/ocrplan/list";
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@GetMapping("/toSave")
public String toSaveOcrPlan(HttpServletResponse response,HttpServletRequest request){
String resourceid = request.getParameter("resourceid");
request.setAttribute("resourceid",resourceid);
return "/backstage/oa/ocr/ocrplan/add";
}
/**
*ID
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@GetMapping("/toEdit/{id}")
public String toEditOcrPlan(HttpServletResponse response,HttpServletRequest request,@PathVariable("id") String id){
String resourceid = request.getParameter("resourceid");
request.setAttribute("resourceid",resourceid);
request.setAttribute("id", id);
return "/backstage/oa/ocr/ocrplan/edit";
}
}

@ -1,73 +0,0 @@
package cn.jyjz.xiaoyao.ocr.controller;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.jyjz.xiaoyao.oa.from.dataobject.Category;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrProvince;
import cn.jyjz.xiaoyao.ocr.service.OcrProvinceService;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.controller.BaseController;
import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@Api(tags="ocr_省份管理")
@RestController
@RequestMapping("/backstage/ocrnewtest/ocrprovince")
public class OcrProvinceController extends BaseController{
private Logger log = LoggerFactory.getLogger(this.getClass());
@Autowired
private OcrProvinceService ocrProvinceService;
@Autowired
private UserTokenService userTokenService;
@Autowired
private UserService userService;
/**
*jsondto
*mail.zhangyong@gmail.com
*2024-03-10 23:18:35
**/
@ApiOperation(value="省份列表", notes="省份列表")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true)
})
@GetMapping("/listall")
public ResultVo<List<OcrProvince>> listall(HttpServletRequest request, HttpServletResponse response) throws IOException{
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空");
}
QueryWrapper<OcrProvince> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("tenantid",tenantId);
List<OcrProvince> list = this.ocrProvinceService.getProvinceAll(queryWrapper);
return ResultVoUtil.success(list);
}
}

@ -66,38 +66,38 @@ public class OcrSUserTController {
if(map.get("newPassword").equals(map.get("rePasswrod"))){ if(map.get("newPassword").equals(map.get("rePasswrod"))){
BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder(); BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
UpdateWrapper<OcrSUserT> updatewrapper = new UpdateWrapper<>(); UpdateWrapper<OcrSUserT> updatewrapper = new UpdateWrapper<>();
updatewrapper.eq("LOGINNAME", map.get("loginname")).set("PASSWORD",bCryptPasswordEncoder.encode(map.get("newPassword"))); updatewrapper.eq("MOBILE", map.get("loginname")).set("PASSWORD",bCryptPasswordEncoder.encode(map.get("newPassword")));
boolean update = sUserTService.update(updatewrapper); boolean update = sUserTService.update(updatewrapper);
if(update){ if(update){
// return new ResponseEntity<Object>("密码重设成功!",HttpStatus.OK); // return new ResponseEntity<Object>("密码重设成功!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"密码重设成功!"); return ResultVoUtil.success(ResultVo.SUCCESS,"密码重设成功!");
} }
}else{ }else{
// return new ResponseEntity<Object>("两次密码输入不一致!",HttpStatus.OK); // return new ResponseEntity<Object>("两次密码输入不一致!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"两次密码输入不一致!"); return ResultVoUtil.error(ResultVo.ERROR,"两次密码输入不一致!");
} }
}else{ }else{
// return new ResponseEntity<Object>("请再次输入新密码!",HttpStatus.OK); // return new ResponseEntity<Object>("请再次输入新密码!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"请再次输入新密码!"); return ResultVoUtil.error(ResultVo.ERROR,"请再次输入新密码!");
} }
}else{ }else{
// return new ResponseEntity<Object>("请输入新密码!",HttpStatus.OK); // return new ResponseEntity<Object>("请输入新密码!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"请输入新密码!"); return ResultVoUtil.error(ResultVo.ERROR,"请输入新密码!");
} }
}else { }else {
// return new ResponseEntity<Object>("请输入同时包含英文、数字的8~16位密码",HttpStatus.OK); // return new ResponseEntity<Object>("请输入同时包含英文、数字的8~16位密码",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"请输入同时包含英文、数字的8~16位密码"); return ResultVoUtil.error(ResultVo.ERROR,"请输入同时包含英文、数字的8~16位密码");
} }
return ResultVoUtil.error(ResultVo.SUCCESS); return ResultVoUtil.error(ResultVo.ERROR);
} }
@ApiOperation(value = "忘记密码", notes = "忘记密码") @ApiOperation(value = "忘记密码", notes = "忘记密码")
@ -131,40 +131,40 @@ public class OcrSUserTController {
return ResultVoUtil.success(ResultVo.SUCCESS,list); return ResultVoUtil.success(ResultVo.SUCCESS,list);
}else { }else {
// return new ResponseEntity<Object>("验证码错误!",HttpStatus.OK); // return new ResponseEntity<Object>("验证码错误!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"验证码错误!"); return ResultVoUtil.error(ResultVo.ERROR,"验证码错误!");
} }
}else { }else {
// return new ResponseEntity<Object>("手机号错误!",HttpStatus.OK); // return new ResponseEntity<Object>("手机号错误!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"手机号错误!"); return ResultVoUtil.error(ResultVo.ERROR,"手机号错误!");
} }
}else { }else {
// return new ResponseEntity<Object>("账号不存在!",HttpStatus.OK); // return new ResponseEntity<Object>("账号不存在!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"账号不存在!"); return ResultVoUtil.error(ResultVo.ERROR,"账号不存在!");
} }
}else { }else {
// return new ResponseEntity<Object>("企业编码错误!",HttpStatus.OK); // return new ResponseEntity<Object>("企业编码错误!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"企业编码错误!"); return ResultVoUtil.error(ResultVo.ERROR,"企业编码错误!");
} }
}else { }else {
// return new ResponseEntity<Object>("请输入企业编码!",HttpStatus.OK); // return new ResponseEntity<Object>("请输入企业编码!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"请输入企业编码!"); return ResultVoUtil.error(ResultVo.ERROR,"请输入企业编码!");
} }
}else { }else {
// return new ResponseEntity<Object>("请输入验证码!",HttpStatus.OK); // return new ResponseEntity<Object>("请输入验证码!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"请输入验证码!"); return ResultVoUtil.error(ResultVo.ERROR,"请输入验证码!");
} }
}else { }else {
// return new ResponseEntity<Object>("请输入手机号!",HttpStatus.OK); // return new ResponseEntity<Object>("请输入手机号!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"请输入手机号!"); return ResultVoUtil.error(ResultVo.ERROR,"请输入手机号!");
} }
}else { }else {
// return new ResponseEntity<Object>("请输入账号!",HttpStatus.OK); // return new ResponseEntity<Object>("请输入账号!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"请输入账号!"); return ResultVoUtil.error(ResultVo.ERROR,"请输入账号!");
} }

@ -7,6 +7,7 @@ import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrSearchHistory; import cn.jyjz.xiaoyao.ocr.dataobject.OcrSearchHistory;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -15,6 +16,7 @@ import javax.servlet.http.HttpServletRequest;
import cn.jyjz.xiaoyao.ocr.service.IOcrSearchHistoryService; import cn.jyjz.xiaoyao.ocr.service.IOcrSearchHistoryService;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* ocr * ocr
@ -42,13 +44,20 @@ public class OcrSearchHistoryController {
*/ */
@RequestMapping(value = "/searchList", method = RequestMethod.GET) @RequestMapping(value = "/searchList", method = RequestMethod.GET)
public ResultVo searchList(HttpServletRequest request, public ResultVo searchList(HttpServletRequest request,
@RequestParam(value = "search", required = false) String search) { @RequestParam(value = "search", required = true) String search) {
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
//执行查询方法 //执行查询方法
List<String> selectsearch = ocrSearchHistoryService.selectsearch(search, userToken.getUsername()); Map<Object, List<Map<String,String>>> selectsearch = ocrSearchHistoryService.selectsearch(search, userToken.getLoginname(),userToken.getUserid(),tenantId);
OcrSearchHistory ocrsearchhistory =new OcrSearchHistory(); OcrSearchHistory ocrsearchhistory =new OcrSearchHistory();
ocrsearchhistory.setHistoryname(search); ocrsearchhistory.setHistoryname(search);
ocrsearchhistory.setTenantId(Long.valueOf(tenantId));
ocrsearchhistory.setUserid(Long.valueOf(userToken.getUserid())); ocrsearchhistory.setUserid(Long.valueOf(userToken.getUserid()));
ocrsearchhistory.setCreatedate(System.currentTimeMillis()); ocrsearchhistory.setCreatedate(System.currentTimeMillis());
ocrSearchHistoryService.save(ocrsearchhistory); ocrSearchHistoryService.save(ocrsearchhistory);
@ -67,9 +76,16 @@ public class OcrSearchHistoryController {
*/ */
@RequestMapping(value = "/searchdelete", method = RequestMethod.DELETE) @RequestMapping(value = "/searchdelete", method = RequestMethod.DELETE)
public ResultVo searchdelete(HttpServletRequest request) { public ResultVo searchdelete(HttpServletRequest request) {
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
QueryWrapper<OcrSearchHistory> wrapper = new QueryWrapper<>(); QueryWrapper<OcrSearchHistory> wrapper = new QueryWrapper<>();
wrapper.eq("userid",userToken.getUserid()); wrapper.eq("userid",userToken.getUserid());
wrapper.eq("tenant_id",Long.valueOf(tenantId));
//根据具体情况 判断 是否需要 进行数据返回, 默认不返回数据 //根据具体情况 判断 是否需要 进行数据返回, 默认不返回数据
ocrSearchHistoryService.remove(wrapper); ocrSearchHistoryService.remove(wrapper);
// return new ResponseEntity<Object>("true",HttpStatus.OK); // return new ResponseEntity<Object>("true",HttpStatus.OK);
@ -84,10 +100,15 @@ public class OcrSearchHistoryController {
*/ */
@RequestMapping(value = "/historySearch", method = RequestMethod.GET) @RequestMapping(value = "/historySearch", method = RequestMethod.GET)
public ResultVo historySearch(HttpServletRequest request) { public ResultVo historySearch(HttpServletRequest request) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
QueryWrapper<OcrSearchHistory> wrapper = new QueryWrapper<>(); QueryWrapper<OcrSearchHistory> wrapper = new QueryWrapper<>();
wrapper.select("historyname","createdate").eq("userid",userToken.getUserid()).orderByDesc("createdate").last("limit 8"); wrapper.select("historyname","createdate").eq("userid",userToken.getUserid()).eq("tenant_id",Long.valueOf(tenantId)).orderByDesc("createdate").last("limit 8");
List<OcrSearchHistory> list = ocrSearchHistoryService.list(wrapper); List<OcrSearchHistory> list = ocrSearchHistoryService.list(wrapper);
// return new ResponseEntity<List<OcrSearchHistory>>(list, HttpStatus.OK); // return new ResponseEntity<List<OcrSearchHistory>>(list, HttpStatus.OK);

@ -12,10 +12,7 @@ import cn.jyjz.xiaoyao.common.mybatisplus.util.SearchQueryFormat;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrSearchmanager; import cn.jyjz.xiaoyao.ocr.dataobject.OcrSearchmanager;
import cn.jyjz.xiaoyao.ocr.service.OcrSearchmanagerService; import cn.jyjz.xiaoyao.ocr.service.OcrSearchmanagerService;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api; import io.swagger.annotations.*;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -72,6 +69,7 @@ public class OcrSearchmanagerController extends BaseController{
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("create_by",userToken.getLoginname()); queryWrapper.eq("create_by",userToken.getLoginname());
queryWrapper.eq("tenant_id",tenantId); queryWrapper.eq("tenant_id",tenantId);
queryWrapper.eq("type",ocrSearchmanager.getType());
List<OcrSearchmanager> list = ocrSearchmanagerService.list(queryWrapper); List<OcrSearchmanager> list = ocrSearchmanagerService.list(queryWrapper);
@ -82,6 +80,7 @@ public class OcrSearchmanagerController extends BaseController{
ocrSearchmanager.setCreateBy(userToken.getLoginname()); ocrSearchmanager.setCreateBy(userToken.getLoginname());
ocrSearchmanager.setCreateTime(System.currentTimeMillis()); ocrSearchmanager.setCreateTime(System.currentTimeMillis());
ocrSearchmanager.setTenantId(Long.parseLong(tenantId)); ocrSearchmanager.setTenantId(Long.parseLong(tenantId));
ocrSearchmanager.setType(ocrSearchmanager.getType());
return ocrSearchmanagerService.save(ocrSearchmanager)?ResultVoUtil.success("添加成功!"):ResultVoUtil.error(); return ocrSearchmanagerService.save(ocrSearchmanager)?ResultVoUtil.success("添加成功!"):ResultVoUtil.error();
} }
@ -97,7 +96,7 @@ public class OcrSearchmanagerController extends BaseController{
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true) @ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true)
}) })
@GetMapping(value = "/query") @GetMapping(value = "/query")
public ResultVo<OcrSearchmanager> queryById(HttpServletRequest req) { public ResultVo<OcrSearchmanager> queryById(HttpServletRequest req,@RequestParam(name = "type") @ApiParam(value = "类型首页0终审1", required = true) Integer type) {
//获取当前登录人 //获取当前登录人
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(req)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(req));
@ -107,11 +106,12 @@ public class OcrSearchmanagerController extends BaseController{
if(StringUtils.isBlank(tenantId)){ if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空"); return ResultVoUtil.error("租户主键不能为空");
} }
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("create_by",userToken.getLoginname()); queryWrapper.eq("create_by",userToken.getLoginname());
queryWrapper.eq("tenant_id",tenantId); queryWrapper.eq("tenant_id",tenantId);
queryWrapper.eq("type",type);
OcrSearchmanager ocrSearchmanager = null; OcrSearchmanager ocrSearchmanager = null;
List<OcrSearchmanager> list = ocrSearchmanagerService.list(queryWrapper); List<OcrSearchmanager> list = ocrSearchmanagerService.list(queryWrapper);

@ -0,0 +1,122 @@
package cn.jyjz.xiaoyao.ocr.controller;
import cn.jyjz.xiaoyao.common.base.controller.BaseController;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskPackage;
import cn.jyjz.xiaoyao.ocr.dto.OcrTaskPackageDto;
import cn.jyjz.xiaoyao.ocr.service.IOcrTaskPackageService;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
/**
* <p>
* and
* </p>
*
* @author author
* @since 2024-03-24
*/
@RestController
@RequestMapping("/ocr/ocrTaskPackage")
public class OcrTaskPackageController extends BaseController {
private Logger log = LoggerFactory.getLogger(this.getClass());
@Resource
private IOcrTaskPackageService ocrTaskPackageService;
@Resource
private UserTokenService userTokenService;
/**
*
*
* @param ocrTaskPackage
* @param req
* @return
*/
@PostMapping(value = "/createPackage")
public ResultVo createPackage(@RequestBody OcrTaskPackageDto ocrTaskPackage, HttpServletRequest req) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(req));
//租户
String tenantId = req.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
ocrTaskPackage.setTenantId(Long.parseLong(tenantId));
//校验参数包名称
if (ocrTaskPackage == null) {
return ResultVoUtil.error("参数对象为空");
}
//校验参数包名称
if (StringUtils.isBlank(ocrTaskPackage.getName())) {
return ResultVoUtil.error("任务包名称不能为空");
}
//校验参数包名称
if (StringUtils.isBlank(ocrTaskPackage.getCheckDuplicateNo())) {
return ResultVoUtil.error("查重任务编号不能为空");
}
ocrTaskPackage.setCreateBy(userToken.getUserid());
ocrTaskPackage.setCreateTime(System.currentTimeMillis());
return ocrTaskPackageService.saveTaskPackage(ocrTaskPackage);
}
/**
*
*
* @param packageId
* @param req
* @return
*/
@GetMapping(value = "/deletePackage")
public ResultVo deletePackage(@RequestParam(name = "packageId", required = true) Long packageId, HttpServletRequest req) {
OcrTaskPackage taskPackage = new OcrTaskPackage();
taskPackage.setId(packageId);
taskPackage.setIsDelete(1);
boolean b = ocrTaskPackageService.updateById(taskPackage);
if (b) {
return ResultVoUtil.success();
} else {
return ResultVoUtil.error();
}
}
/**
*
*
* @param packageName
* @param req
* @return
*/
@GetMapping(value = "/getPackageList")
public ResultVo getPackageList(@RequestParam(name = "packageName", required = false) String packageName,
@RequestParam(name = "pageNo") Integer pageNo,
@RequestParam(name = "pageSize") Integer pageSize,
HttpServletRequest req) {
String tenantId = req.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空");
}
Page<Map<String, Object>> result = ocrTaskPackageService.getPackageList(pageNo, pageSize, packageName,tenantId);
return ResultVoUtil.success(result);
}
}

@ -0,0 +1,221 @@
package cn.jyjz.xiaoyao.ocr.controller;
import cn.hutool.core.collection.CollUtil;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataobject.*;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService;
import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
import cn.jyjz.xiaoyao.ocr.service.IOcrTaskchildDubiousFileService;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* ocr
*
* @author
* @Date 2024-03-21 19:00:57
*/
@Api(tags="ocr可疑文件控制器")
@RestController
@RequestMapping("/ocr/dubiousfile")
public class OcrTaskchildDubiousFileController {
@Autowired
private IOcrTaskchildDubiousFileService ocrTaskchildDubiousFileService;
@Autowired
private UserTokenService userTokenService;
@Autowired
OcrTaskchildPictureService ocrtaskchildpictureservice;
@Autowired
OcrPictureService ocrpictureservice;
/**
*
* @param request
* @return
*/
@ApiOperation(value="可疑文件列表查询", notes="可疑文件列表查询")
@RequestMapping(value = "/dubiousfilelist", method = RequestMethod.GET)
public ResultVo<Page<OcrTaskChildPictureVo>> dubiousfilelist(HttpServletRequest request,
@RequestParam(value = "pageNo", required = false, defaultValue = "0") Integer pageNo,
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize,
@RequestParam(value = "orderbyname", required = true, defaultValue = "asc") String orderbyname) {
String tenantId = request.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空");
}
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
// QueryWrapper<OcrTaskchildDubiousFile> dubiouswrapper = new QueryWrapper<>();
// dubiouswrapper.eq("userid",userToken.getUserid());
// List<OcrTaskchildDubiousFile> list = ocrTaskchildDubiousFileService.list(dubiouswrapper);
// if(list.size()==0){
// return ResultVoUtil.success();
// }
// IPage<OcrPicture> iPage = new Page<>(Integer.valueOf(pageNo),Integer.valueOf(pageSize));
//
// QueryWrapper<OcrPicture> wrapper = new QueryWrapper<>();
// wrapper.in("ID",list.stream().map(i->i.getPictureId()).collect(Collectors.toList()));
//
//
// if(orderbyname.equals("desc")){
// wrapper.orderByDesc("create_time");
// }else {
// wrapper.orderByAsc("create_time");
// }
//
// //IPage<OcrPicture> page = ocrpictureservice.page(iPage, wrapper);
Page<OcrTaskChildPictureVo> page = ocrTaskchildDubiousFileService.dubiousfilelist(pageNo,pageSize,orderbyname,userToken,tenantId);
return ResultVoUtil.success(page);
}
/**
*
* @param request
* @return
*/
@ApiOperation(value="可疑文件列表移除", notes="可疑文件列表移除")
@RequestMapping(value = "/dubiousfileyc", method = RequestMethod.GET)
public ResultVo dubiousfileyc(HttpServletRequest request, @RequestParam(value = "pictureid", required = true) String pictureid) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
String[] cps = pictureid.split(",");
List<OcrPicture> saveList = new ArrayList<>();
List<OcrTaskchildDubiousFile> fileList = new ArrayList<>();
for (String childpictureid : cps) {
OcrPicture ocrPicture = ocrpictureservice.selectDtoById(Long.parseLong(childpictureid));
if(ocrPicture != null){
ocrPicture.setSuspiciousfile(0);
ocrPicture.setUpdateTime(System.currentTimeMillis());
saveList.add(ocrPicture);
}
QueryWrapper<OcrTaskchildDubiousFile> dubiouswrapper = new QueryWrapper<>();
dubiouswrapper.eq("userid",userToken.getUserid()).eq("picture_id",childpictureid);
OcrTaskchildDubiousFile one = ocrTaskchildDubiousFileService.getOne(dubiouswrapper);
if(one != null){
fileList.add(one);
}
}
//无对应图片信息
if(CollUtil.isEmpty(saveList)){
return ResultVoUtil.error("可疑文件不存在!");
}
ocrpictureservice.updateBatchById(saveList);
//根据具体情况 判断 是否需要 进行数据返回, 默认不返回数据
return ocrTaskchildDubiousFileService.removeByIds(fileList)?ResultVoUtil.success():ResultVoUtil.error("可疑文件不存在!");
}
/**
*
* @param request
* @return
*/
@ApiOperation(value="可疑文件列表添加", notes="可疑文件列表添加")
@RequestMapping(value = "/dubiousfileyd", method = RequestMethod.GET)
public ResultVo dubiousfileyd(HttpServletRequest request, @RequestParam(value = "pictureid", required = true) String pictureid) {
String tenantId = request.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空");
}
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
List<OcrTaskchildDubiousFile> list=new ArrayList<>();
String[] taskchildid1 = pictureid.toString().split(",");
for (String asd:taskchildid1){
QueryWrapper<OcrTaskchildDubiousFile> filewrapper = new QueryWrapper<>();
filewrapper.eq("picture_id",asd).eq("userid",userToken.getUserid());
OcrTaskchildDubiousFile one1 = ocrTaskchildDubiousFileService.getOne(filewrapper);
if (null==one1){
OcrTaskchildDubiousFile ocrtaskchilddubiousfile=new OcrTaskchildDubiousFile();
ocrtaskchilddubiousfile.setPictureId(Long.parseLong(asd));
ocrtaskchilddubiousfile.setTenantid(Long.parseLong(tenantId));
ocrtaskchilddubiousfile.setUserid(Long.parseLong(userToken.getUserid()));
ocrtaskchilddubiousfile.setCreatedate(System.currentTimeMillis());
QueryWrapper<OcrTaskchildPicture> wrapper = new QueryWrapper<>();
wrapper.eq("PICTUREID",asd);
OcrTaskchildPicture one = ocrtaskchildpictureservice.getOne(wrapper);
ocrtaskchilddubiousfile.setTaskchildId(one.getId());
UpdateWrapper<OcrPicture> updatewrapper = new UpdateWrapper<>();
updatewrapper.eq("ID", asd).set("suspiciousfile","1");
ocrpictureservice.update(updatewrapper);
list.add(ocrtaskchilddubiousfile);
}else {
if (!asd.equals(one1.getPictureId().toString())) {
OcrTaskchildDubiousFile ocrtaskchilddubiousfile=new OcrTaskchildDubiousFile();
ocrtaskchilddubiousfile.setPictureId(Long.parseLong(asd));
ocrtaskchilddubiousfile.setTenantid(Long.parseLong(tenantId));
ocrtaskchilddubiousfile.setUserid(Long.parseLong(userToken.getUserid()));
ocrtaskchilddubiousfile.setCreatedate(System.currentTimeMillis());
QueryWrapper<OcrTaskchildPicture> wrapper = new QueryWrapper<>();
wrapper.eq("PICTUREID",asd);
OcrTaskchildPicture one = ocrtaskchildpictureservice.getOne(wrapper);
ocrtaskchilddubiousfile.setTaskchildId(one.getId());
UpdateWrapper<OcrPicture> updatewrapper = new UpdateWrapper<>();
updatewrapper.eq("ID", asd).set("suspiciousfile","1");
ocrpictureservice.update(updatewrapper);
list.add(ocrtaskchilddubiousfile);
}
}
}
return ocrTaskchildDubiousFileService.saveBatch(list)?ResultVoUtil.success():ResultVoUtil.error("当前图片已添加过了");
}
}

@ -1,7 +1,10 @@
package cn.jyjz.xiaoyao.ocr.controller; package cn.jyjz.xiaoyao.ocr.controller;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -13,7 +16,10 @@ import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService; import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService; import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService;
import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.beust.jcommander.Parameter; import com.beust.jcommander.Parameter;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
@ -21,7 +27,9 @@ import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -37,279 +45,368 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
@RestController @RestController
@RequestMapping("/backstage/jifen/ocrtaskchildpicture") @RequestMapping("/backstage/jifen/ocrtaskchildpicture")
public class OcrTaskchildPictureController extends BaseController{ public class OcrTaskchildPictureController extends BaseController {
private Logger log = LoggerFactory.getLogger(this.getClass()); private Logger log = LoggerFactory.getLogger(this.getClass());
@Resource @Resource
private OcrTaskchildPictureService ocrTaskchildPictureService; private OcrTaskchildPictureService ocrTaskchildPictureService;
@Resource @Resource
private OcrPictureService ocrPictureService; private OcrPictureService ocrPictureService;
@Resource @Resource
private UserTokenService userTokenService; private UserTokenService userTokenService;
@Resource @Resource
private UserService userService; private UserService userService;
/**
*jsondto
*mail.zhangyong@gmail.com /**
*2024-01-14 10:27:01 * jsondto
**/ * mail.zhangyong@gmail.com
@GetMapping("/list") * 2024-01-14 10:27:01
public ResultVo<IPage<OcrTaskchildPicture>> listOcrTaskchildPicture(ParamterPage paramterPage, HttpServletRequest request, HttpServletResponse response) throws IOException{ **/
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_"); @GetMapping("/list")
public ResultVo<IPage<OcrTaskchildPicture>> listOcrTaskchildPicture(ParamterPage paramterPage, HttpServletRequest request, HttpServletResponse response) throws IOException {
OcrTaskchildPicture ocrtaskchildpicture = new OcrTaskchildPicture(); SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
QueryWrapper<OcrTaskchildPicture> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrtaskchildpicture); OcrTaskchildPicture ocrtaskchildpicture = new OcrTaskchildPicture();
IPage<OcrTaskchildPicture> page = this.ocrTaskchildPictureService.selectSearchListPage(paramterPage,queryWrapper);;
return ResultVoUtil.success(page); QueryWrapper<OcrTaskchildPicture> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery, ocrtaskchildpicture);
} IPage<OcrTaskchildPicture> page = this.ocrTaskchildPictureService.selectSearchListPage(paramterPage, queryWrapper);
;
/** return ResultVoUtil.success(page);
*jsondto }
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01 /**
**/ * jsondto
@ApiOperation(value="ocr_任务包下的任务集合", notes="ocr_任务包下的任务集合") * mail.zhangyong@gmail.com
@ApiImplicitParams({ * 2024-01-14 10:27:01
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true), **/
@ApiImplicitParam(paramType = "path",name = "packageid", value = "任务包主键", required = true) @ApiOperation(value = "ocr_任务包下的任务集合", notes = "ocr_任务包下的任务集合")
}) @ApiImplicitParams({
@GetMapping("/listbypackageid/{packageid}") @ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
public ResultVo<IPage<OcrTaskchildPicture>> listbypackageid(ParamterPage paramterPage, @ApiImplicitParam(paramType = "path", name = "packageid", value = "任务包主键", required = true)
HttpServletRequest request, })
HttpServletResponse response, @GetMapping("/listbypackageid/{packageid}")
@PathVariable("packageid") String packageid) throws IOException{ public ResultVo<IPage<OcrTaskchildPicture>> listbypackageid(ParamterPage paramterPage,
HttpServletRequest request,
//租户主键,由前端页面传送 HttpServletResponse response,
String tenantId = request.getHeader("X-Tenant-Id"); @PathVariable("packageid") String packageid) throws IOException {
if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空"); //租户主键,由前端页面传送
} String tenantId = request.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_"); return ResultVoUtil.error("租户主键不能为空");
}
OcrTaskchildPicture ocrtaskchildpicture = new OcrTaskchildPicture();
QueryWrapper<OcrTaskchildPicture> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrtaskchildpicture); SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
queryWrapper.eq("TENANTID",tenantId); OcrTaskchildPicture ocrtaskchildpicture = new OcrTaskchildPicture();
queryWrapper.eq("PACKAGEID",packageid); QueryWrapper<OcrTaskchildPicture> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery, ocrtaskchildpicture);
IPage<OcrTaskchildPicture> page = this.ocrTaskchildPictureService.selectSearchListPage(paramterPage,queryWrapper); queryWrapper.eq("TENANTID", tenantId);
if (StringUtils.isNotBlank(packageid)) {
QueryWrapper<OcrTaskchildPicture> queryWrapperNex = SearchQueryFormat.queryStringFormat(searchQuery,ocrtaskchildpicture); queryWrapper.eq("PACKAGEID", packageid);
}
if(!page.getRecords().isEmpty()){ IPage<OcrTaskchildPicture> page = this.ocrTaskchildPictureService.selectSearchListPage(paramterPage, queryWrapper);
OcrTaskchildPicture ocrTaskchildPicture = page.getRecords().get(0);
queryWrapperNex.eq("TENANTID",tenantId); QueryWrapper<OcrTaskchildPicture> queryWrapperNex = SearchQueryFormat.queryStringFormat(searchQuery, ocrtaskchildpicture);
queryWrapperNex.in("PICTUREID",ocrTaskchildPicture.getOcpictureid().split(","));
if (!page.getRecords().isEmpty()) {
page = this.ocrTaskchildPictureService.selectSearchListPage(paramterPage,queryWrapperNex); OcrTaskchildPicture ocrTaskchildPicture = page.getRecords().get(0);
} queryWrapperNex.eq("TENANTID", tenantId);
queryWrapperNex.in("PICTUREID", ocrTaskchildPicture.getOcpictureid().split(","));
return ResultVoUtil.success(page);
} page = this.ocrTaskchildPictureService.selectSearchListPage(paramterPage, queryWrapperNex);
}
@ApiOperation(value="ocr_任务包下的当前图片比对的集合列表", notes="ocr_任务包下的当前图片比对的集合列表")
@ApiImplicitParams({ return ResultVoUtil.success(page);
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true), }
@ApiImplicitParam(paramType = "path",name = "packageid", value = "任务包主键", required = true),
@ApiImplicitParam(paramType = "path",name = "taskchildpictureid", value = "当前选中的任务主键", required = true) @ApiOperation(value = "ocr_任务包下的当前图片比对的集合列表", notes = "ocr_任务包下的当前图片比对的集合列表")
}) @ApiImplicitParams({
@GetMapping("/listbypictureid/{packageid}/{taskchildpictureid}") @ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
public ResultVo<IPage<OcrTaskchildPicture>> listbypackageidlistbypictureid(ParamterPage paramterPage, @ApiImplicitParam(paramType = "path", name = "packageid", value = "任务包主键"),
HttpServletRequest request, @ApiImplicitParam(paramType = "path", name = "taskchildpictureid", value = "当前选中的任务主键", required = true)
HttpServletResponse response, })
@PathVariable("packageid") String packageid, @GetMapping("/listbypictureid/{packageid}/{taskchildpictureid}")
@PathVariable("taskchildpictureid") String taskchildpictureid) throws IOException{ public ResultVo<IPage<OcrTaskchildPicture>> listbypackageidlistbypictureid(ParamterPage paramterPage,
HttpServletRequest request,
//租户主键,由前端页面传送 HttpServletResponse response,
String tenantId = request.getHeader("X-Tenant-Id"); @PathVariable("packageid") String packageid,
if(StringUtils.isBlank(tenantId)){ @PathVariable("taskchildpictureid") String taskchildpictureid) throws IOException {
return ResultVoUtil.error("租户主键不能为空"); //获取页码、当前页
} String pageNoStr = request.getParameter("pageNo");
String pageSizeStr = request.getParameter("pageSize");
//排序方式 if (StringUtils.isEmpty(pageNoStr) || StringUtils.isEmpty(pageSizeStr)) {
String orderbyname = request.getParameter("orderbyname"); return ResultVoUtil.error("页码和条数必传!");
//排序字段 }
String orderbyvalue = request.getParameter("orderbyvalue"); paramterPage.setStart(Integer.parseInt(pageNoStr));
paramterPage.setPagesize(Integer.parseInt(pageSizeStr));
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_"); //租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
OcrTaskchildPicture ocrtaskchildpicture = new OcrTaskchildPicture(); if (StringUtils.isBlank(tenantId)) {
QueryWrapper<OcrTaskchildPicture> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrtaskchildpicture); return ResultVoUtil.error("租户主键不能为空");
}
//queryWrapper.eq("TENANTID",tenantId);
//queryWrapper.eq("PACKAGEID",packageid); //排序方式
String orderbyname = request.getParameter("orderbyname");
IPage<OcrTaskchildPicture> page = this.ocrTaskchildPictureService.listByPackageId(taskchildpictureid,paramterPage,queryWrapper,orderbyname,orderbyvalue, packageid,tenantId); //排序字段
return ResultVoUtil.success(page); String orderbyvalue = request.getParameter("orderbyvalue");
}
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
/**
* OcrTaskchildPicture ocrtaskchildpicture = new OcrTaskchildPicture();
* QueryWrapper<OcrTaskchildPicture> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery, ocrtaskchildpicture);
* @param req
* @return //
*/
@ApiOperation(value="任务主图真假标记", notes="任务主图真假标记") //queryWrapper.eq("TENANTID",tenantId);
@ApiImplicitParams({ //queryWrapper.eq("PACKAGEID",packageid);
@ApiImplicitParam(paramType = "path",name = "taskchildpictureid", value = "任务主键", required = true),
@ApiImplicitParam(paramType = "path",name = "izTrueorfalse", value = "主图片真假0:假1真", required = true), IPage<OcrTaskchildPicture> page = this.ocrTaskchildPictureService.listByPackageId(taskchildpictureid, paramterPage, queryWrapper, orderbyname, orderbyvalue, packageid, tenantId);
@ApiImplicitParam(paramType = "path",name = "judgeid", value = "主图判真假原因id,从字典表中获得", required = true), List<JSONObject> collect = page.getRecords().stream().map(p -> {
@ApiImplicitParam(paramType = "path",name = "judgedesc", value = "真假其他原因", required = false), JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(p));
@ApiImplicitParam(paramType = "path",name = "packageid", value = "任务包主键", required = true) jsonObject.put("id", jsonObject.getOrDefault("id", null).toString());
}) jsonObject.put("tenantid", jsonObject.getOrDefault("tenantid", null).toString());
@PostMapping(value = "/ordertrueorfalse") jsonObject.put("pictureid", jsonObject.getOrDefault("pictureid", null).toString());
public ResultVo ordertrueorfalse(@RequestParam(name="taskchildpictureids",required=true) String taskchildpictureids, jsonObject.put("packageid", jsonObject.getOrDefault("packageid", null).toString());
@RequestParam(name="iztrueorfalse",required=true) String iztrueorfalse, return jsonObject;
@RequestParam(name="judgeid",required=true) String judgeid, }).collect(Collectors.toList());
@RequestParam(name="judgedesc",required=false) String judgedesc, List<JSONObject> collect1 = new ArrayList<>();
@RequestParam(name="packageid",required=true) String packageid, for (JSONObject asd : collect) {
HttpServletRequest req) { QueryWrapper<OcrPicture> imgWrapper = new QueryWrapper<>();
//如果是历史图片,不允许进行设置 imgWrapper.eq("id", asd.get("pictureid"));
//如果是已经审批完成的图片不允许是指 OcrPicture one = ocrPictureService.getOne(imgWrapper);
if (one.getSuspiciousfile() == 0) {
OcrTaskchildPicture ocrTaskchildPicture = new OcrTaskchildPicture(); collect1.add(asd);
}
ocrTaskchildPicture.setPackageid(Long.parseLong(packageid)); }
IPage<JSONObject> objects = new Page<>();
return ocrTaskchildPictureService.trueorfalse(taskchildpictureids,packageid,iztrueorfalse,judgeid,judgedesc); BeanUtils.copyProperties(page, objects);
} objects.setRecords(collect1);
return ResultVoUtil.success(objects);
/** }
*
* /**
* @param req *
* @return *
*/ * @param req
@ApiOperation(value="任务清除标记", notes="任务清除标记") * @return
@ApiImplicitParams({ */
@ApiImplicitParam(paramType = "path",name = "taskchildpictureid", value = "任务主键", required = true), @ApiOperation(value = "任务主图真假标记", notes = "任务主图真假标记")
@ApiImplicitParam(paramType = "path",name = "packageid", value = "任务包主键", required = true) @ApiImplicitParams({
}) @ApiImplicitParam(paramType = "path", name = "taskchildpictureid", value = "任务主键", required = true),
@PostMapping(value = "/clearmark") @ApiImplicitParam(paramType = "path", name = "izTrueorfalse", value = "主图片真假0:假1真", required = true),
public ResultVo clearmark(@RequestParam(name="taskchildpictureid",required=true) String taskchildpictureid, @ApiImplicitParam(paramType = "path", name = "judgeid", value = "主图判真假原因id,从字典表中获得", required = true),
@RequestParam(name="packageid",required=true) String packageid, @ApiImplicitParam(paramType = "path", name = "judgedesc", value = "真假其他原因", required = false),
HttpServletRequest req) { @ApiImplicitParam(paramType = "path", name = "packageid", value = "任务包主键", required = true)
//如果是历史图片,不允许进行设置 })
//如果是已经审批完成的图片不允许是指 @PostMapping(value = "/ordertrueorfalse")
public ResultVo ordertrueorfalse(@RequestParam(name = "taskchildpictureids", required = true) String taskchildpictureids,
OcrTaskchildPicture ocrTaskchildPicture = new OcrTaskchildPicture(); @RequestParam(name = "iztrueorfalse", required = true) String iztrueorfalse,
@RequestParam(name = "judgeid", required = true) String judgeid,
ocrTaskchildPicture.setPackageid(Long.parseLong(packageid)); @RequestParam(name = "judgedesc", required = false) String judgedesc,
@RequestParam(name = "packageid", required = true) String packageid,
return ocrTaskchildPictureService.clearmark(taskchildpictureid,packageid); HttpServletRequest req) {
} //如果是历史图片,不允许进行设置
//如果是已经审批完成的图片不允许是指
/**
* OcrTaskchildPicture ocrTaskchildPicture = new OcrTaskchildPicture();
*
* @param req ocrTaskchildPicture.setPackageid(Long.parseLong(packageid));
* @return
*/ return ocrTaskchildPictureService.trueorfalse(taskchildpictureids, packageid, iztrueorfalse, judgeid, judgedesc);
@ApiOperation(value="当前任务包智能识别", notes="当前任务包智能识别") }
@ApiImplicitParams({
@ApiImplicitParam(paramType = "path",name = "packageid", value = "任务包主键", required = true) /**
}) *
@PostMapping(value = "/markpoint") *
public ResultVo markpoint(@RequestParam(name="packageid",required=true) String packageid, * @param req
HttpServletRequest req) { * @return
//如果是历史图片,不允许进行设置 */
//如果是已经审批完成的图片不允许是指 // @ApiOperation(value="任务清除标记", notes="任务清除标记")
// @ApiImplicitParams({
OcrTaskchildPicture ocrTaskchildPicture = new OcrTaskchildPicture(); // @ApiImplicitParam(paramType = "path",name = "taskchildpictureid", value = "任务主键", required = true),
// @ApiImplicitParam(paramType = "path",name = "packageid", value = "任务包主键", required = true)
ocrTaskchildPicture.setPackageid(Long.parseLong(packageid)); // })
// @PostMapping(value = "/clearmark")
List<OcrTaskchildPicture> list = ocrTaskchildPictureService.markpoint(packageid); // public ResultVo clearmark(@RequestParam(name="taskchildpictureid",required=true) String taskchildpictureid,
if(null != list && !list.isEmpty()){ // @RequestParam(name="packageid",required=true) String packageid,
return ResultVoUtil.success(list); // HttpServletRequest req) {
} // //如果是历史图片,不允许进行设置
return ResultVoUtil.error(); // //如果是已经审批完成的图片不允许是指
} //
// OcrTaskchildPicture ocrTaskchildPicture = new OcrTaskchildPicture();
/** //
* // ocrTaskchildPicture.setPackageid(Long.parseLong(packageid));
*mail.zhangyong@gmail.com //
*2024-01-14 10:27:01 // return ocrTaskchildPictureService.clearmark(taskchildpictureid,packageid);
**/ // }
@ApiOperation(value="ocr_任务包下的当前展示的任务对象", notes="ocr_任务包下的当前展示的任务对象") @ApiOperation(value = "任务清除标记", notes = "任务清除标记")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(paramType = "path",name = "id", value = "当前选中的任务主键", required = true), @ApiImplicitParam(paramType = "path", name = "taskchildpictureid", value = "任务主键", required = true),
@ApiImplicitParam(paramType = "path",name = "packageid", value = "任务包主键注意不是当前任务关联的packageid而是当前选中的任务包主键", required = true) @ApiImplicitParam(paramType = "path", name = "packageid", value = "任务包主键", required = true)
}) })
@GetMapping("/getdata/{id}/{packageid}") @PostMapping(value = "/clearmark")
@ResponseBody public ResultVo clearmark(@RequestParam(name = "taskchildpictureid", required = true) String taskchildpictureid,
public ResultVo getdateOcrTaskchildPicture(HttpServletResponse response,HttpServletRequest request, @RequestParam(name = "packageid", required = true) String packageid,
@PathVariable("packageid") Long packageid, HttpServletRequest request) {
@PathVariable("id") Long id) throws IOException{ //租户主键,由前端页面传送
OcrTaskchildPicture dto = this.ocrTaskchildPictureService.listPicturePackageId(id.toString(),packageid); String tenantId = request.getHeader("X-Tenant-Id");
if(null != dto){ if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.success(dto); return ResultVoUtil.error("租户主键不能为空");
}else{ }
return ResultVoUtil.error();
}
} return ocrTaskchildPictureService.clearmark(tenantId, taskchildpictureid, packageid);
}
/**
* /**
*mail.zhangyong@gmail.com *
*2024-01-14 10:27:01 *
**/ * @param req
@PostMapping("/save") * @return
public ResultVo saveOcrTaskchildPicture(HttpServletResponse response,HttpServletRequest request,OcrTaskchildPicture tab) throws IOException{ */
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); @ApiOperation(value = "当前任务包智能识别", notes = "当前任务包智能识别")
@ApiImplicitParams({
this.ocrTaskchildPictureService.save(tab); @ApiImplicitParam(paramType = "path", name = "packageid", value = "任务包主键", required = true)
return ResultVoUtil.success(); })
} @PostMapping(value = "/markpoint")
public ResultVo markpoint(@RequestParam(name = "packageid", required = true) String packageid,
/** HttpServletRequest req) {
*form //如果是历史图片,不允许进行设置
*mail.zhangyong@gmail.com //如果是已经审批完成的图片不允许是指
*2024-01-14 10:27:01
**/ OcrTaskchildPicture ocrTaskchildPicture = new OcrTaskchildPicture();
@PostMapping("/edit")
public ResultVo editOcrTaskchildPicture(HttpServletResponse response,HttpServletRequest request,OcrTaskchildPicture tab) throws IOException{ ocrTaskchildPicture.setPackageid(Long.parseLong(packageid));
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
this.ocrTaskchildPictureService.updateById(tab); List<OcrTaskchildPicture> list = ocrTaskchildPictureService.markpoint(packageid);
return ResultVoUtil.success(); if (null != list && !list.isEmpty()) {
} return ResultVoUtil.success(list);
}
return ResultVoUtil.error();
/** }
*
*mail.zhangyong@gmail.com /**
*2024-01-14 10:27:01 *
**/ * mail.zhangyong@gmail.com
@ApiOperation(value="根据任务或者工单主键查询图片对象", notes="根据任务或者工单主键查询图片对象") * 2024-01-14 10:27:01
@ApiImplicitParams({ **/
@ApiImplicitParam(paramType = "path",name = "id", value = "任务审批中的formid或者id", required = true) @ApiOperation(value = "ocr_任务包下的当前展示的任务对象", notes = "ocr_任务包下的当前展示的任务对象")
}) @ApiImplicitParams({
@GetMapping("/pictureinfo") @ApiImplicitParam(paramType = "path", name = "id", value = "当前选中的任务主键", required = true),
@ResponseBody @ApiImplicitParam(paramType = "path", name = "packageid", value = "任务包主键注意不是当前任务关联的packageid而是当前选中的任务包主键")
public ResultVo pictureinfo(HttpServletResponse response,HttpServletRequest request) throws IOException{ })
String id = request.getParameter("id"); @GetMapping("/getdata/{id}/{packageid}")
OcrPicture dto = this.ocrTaskchildPictureService.findOcrPictureByTaskchildid(id); @ResponseBody
if(null != dto){ public ResultVo getdateOcrTaskchildPicture(HttpServletResponse response, HttpServletRequest request,
return ResultVoUtil.success(dto); @PathVariable("packageid") Long packageid,
}else{ @PathVariable("id") Long id) throws IOException {
return ResultVoUtil.error(); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
} OcrTaskchildPicture dto = this.ocrTaskchildPictureService.listPicturePackageId(id.toString(), packageid, userToken);
} if (null != dto) {
return ResultVoUtil.success(dto);
/** } else {
*id1,2,3 return ResultVoUtil.error();
*mail.zhangyong@gmail.com }
*2024-01-14 10:27:01 }
**/
@GetMapping("/delmore") /**
@ResponseBody *
public ResultVo delMoreOcrTaskchildPicture(HttpServletResponse response,HttpServletRequest request) throws IOException{ * mail.zhangyong@gmail.com
String ids = request.getParameter("id"); * 2024-01-14 10:27:01
this.ocrTaskchildPictureService.deleteByIdMore(ids); **/
return ResultVoUtil.success(); @PostMapping("/save")
} public ResultVo saveOcrTaskchildPicture(HttpServletResponse response, HttpServletRequest request, OcrTaskchildPicture tab) throws IOException {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
this.ocrTaskchildPictureService.save(tab);
return ResultVoUtil.success();
}
/**
* form
* mail.zhangyong@gmail.com
* 2024-01-14 10:27:01
**/
@PostMapping("/edit")
public ResultVo editOcrTaskchildPicture(HttpServletResponse response, HttpServletRequest request, OcrTaskchildPicture tab) throws IOException {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
this.ocrTaskchildPictureService.updateById(tab);
return ResultVoUtil.success();
}
/**
*
* mail.zhangyong@gmail.com
* 2024-01-14 10:27:01
**/
@ApiOperation(value = "根据任务或者工单主键查询图片对象", notes = "根据任务或者工单主键查询图片对象")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "path", name = "id", value = "任务审批中的formid或者id", required = true)
})
@GetMapping("/pictureinfo")
@ResponseBody
public ResultVo pictureinfo(HttpServletResponse response, HttpServletRequest request) throws IOException {
String id = request.getParameter("id");
OcrPicture dto = this.ocrTaskchildPictureService.findOcrPictureByTaskchildid(id);
if (null != dto) {
return ResultVoUtil.success(dto);
} else {
return ResultVoUtil.error();
}
}
/**
* id1,2,3
* mail.zhangyong@gmail.com
* 2024-01-14 10:27:01
**/
@GetMapping("/delmore")
@ResponseBody
public ResultVo delMoreOcrTaskchildPicture(HttpServletResponse response, HttpServletRequest request) throws IOException {
String ids = request.getParameter("id");
this.ocrTaskchildPictureService.deleteByIdMore(ids);
return ResultVoUtil.success();
}
@ApiOperation(value = "ocr_任务包下的当前图片比对的集合列表", notes = "ocr_任务包下的当前图片比对的集合列表")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true)
})
@GetMapping("/getSimilarityList")
public ResultVo<IPage<OcrTaskChildPictureVo>> getSimilarityList(
@RequestParam(name = "pageNo") Integer pageNo,
@RequestParam(name = "pageSize") Integer pageSize,
@RequestParam(name = "orderType") String orderType,
@RequestParam(name = "orderName") String orderName,
@RequestParam(name = "pictureId") String pictureId,
HttpServletRequest request) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
Page<OcrTaskChildPictureVo> similarityList = ocrTaskchildPictureService.getSimilarityList(pageNo, pageSize, pictureId, orderType, orderName,userToken);
return ResultVoUtil.success(similarityList);
}
/**
*
*
* @return
*/
@GetMapping(value = "/getPictureSimilarityList")
public ResultVo getPictureSimilarityList(
@RequestParam(name = "pageNo") Integer pageNo,
@RequestParam(name = "pageSize") Integer pageSize,
@RequestParam(name = "orderType") String orderType,
@RequestParam(name = "orderName") String orderName,
@RequestParam(name = "checkDuplicateId") String checkDuplicateId,
@RequestParam(name = "pictureId") String pictureId,
HttpServletRequest request) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
Page<OcrTaskChildPictureVo> result = ocrTaskchildPictureService.getPackageSimilarityList(pageNo, pageSize, orderType, orderName, checkDuplicateId, pictureId,userToken);
return ResultVoUtil.success(result);
}
} }

@ -1,155 +0,0 @@
package cn.jyjz.xiaoyao.ocr.controller;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.common.mybatisplus.util.SearchQueryFormat;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicturetype;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrUpuser;
import cn.jyjz.xiaoyao.ocr.service.OcrUpuserService;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.controller.BaseController;
import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@Api(tags="ocr_提报人管理")
@RestController
@RequestMapping("/ocr/ocrUpuser")
public class OcrUpuserController extends BaseController{
private Logger log = LoggerFactory.getLogger(this.getClass());
@Autowired
private OcrUpuserService ocrUpuserService;
@Autowired
private UserTokenService userTokenService;
@Autowired
private UserService userService;
/**
*
*
* @return
*/
//@AutoLog(value = "ocr_upuser-分页列表查询")
@ApiOperation(value="ocr_提报人查询", notes="ocr_提报人查询无分页")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true)
})
@GetMapping(value = "/listall")
public ResultVo<IPage<OcrUpuser>> queryPageList(
HttpServletRequest req) {
//租户主键,由前端页面传送
String tenantId = req.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空");
}
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(req, "search_");
OcrUpuser ocrUpuser = new OcrUpuser();
QueryWrapper<OcrUpuser> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrUpuser);
queryWrapper.eq("tenant_id",tenantId);
queryWrapper.orderByAsc("convert(upname using gbk)");
List<OcrUpuser> pageList = ocrUpuserService.queryListNoPage(queryWrapper);
return ResultVoUtil.success(pageList);
}
/**
*jsondto
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@GetMapping("/list")
public ResultVo<IPage<OcrUpuser>> listOcrUpuser(ParamterPage paramterPage, HttpServletRequest request, HttpServletResponse response) throws IOException{
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
OcrUpuser ocrupuser = new OcrUpuser();
QueryWrapper<OcrUpuser> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrupuser);
IPage<OcrUpuser> page = this.ocrUpuserService.selectSearchListPage(paramterPage,queryWrapper);;
return ResultVoUtil.success(page);
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@PostMapping("/save")
public ResultVo saveOcrUpuser(HttpServletResponse response,HttpServletRequest request,OcrUpuser tab) throws IOException{
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
tab.setCreateBy(userToken.getLoginname());
tab.setCreateTime(System.currentTimeMillis());
this.ocrUpuserService.save(tab);
return ResultVoUtil.success();
}
/**
*form
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@PostMapping("/edit")
public ResultVo editOcrUpuser(HttpServletResponse response,HttpServletRequest request,OcrUpuser tab) throws IOException{
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
tab.setUpdateBy(userToken.getLoginname());
tab.setUpdateTime(System.currentTimeMillis());
this.ocrUpuserService.updateById(tab);
return ResultVoUtil.success();
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@GetMapping("/getdata/{id}")
@ResponseBody
public ResultVo getdateOcrUpuser(HttpServletResponse response,HttpServletRequest request,@PathVariable("id") Long id) throws IOException{
OcrUpuser dto = this.ocrUpuserService.selectDtoById(id);
if(null != dto){
return ResultVoUtil.success(dto);
}else{
return ResultVoUtil.error();
}
}
/**
*id1,2,3
*mail.zhangyong@gmail.com
*2024-01-14 10:27:02
**/
@GetMapping("/delmore")
@ResponseBody
public ResultVo delMoreOcrUpuser(HttpServletResponse response,HttpServletRequest request) throws IOException{
String ids = request.getParameter("id");
this.ocrUpuserService.deleteByIdMore(ids);
return ResultVoUtil.success();
}
}

@ -30,14 +30,13 @@ public class OcrUserFieldController extends BaseController{
*/ */
@ApiOperation(value="保存或更新用户展示字段列表", notes="保存或更新用户展示字段列表") @ApiOperation(value="保存或更新用户展示字段列表", notes="保存或更新用户展示字段列表")
@PostMapping(value = "/saveOrUpdate") @PostMapping(value = "/saveOrUpdate")
public ResultVo saveOrUpdate(@ApiParam(value = "用户字段信息", required = true) OcrUserFieldVo ocrUserFieldVo) { public ResultVo saveOrUpdate(@ApiParam(value = "用户字段信息", required = true) @RequestBody OcrUserFieldVo ocrUserFieldVo) {
try { try {
OcrUserField ocrUserField = new OcrUserField(); OcrUserField ocrUserField = new OcrUserField();
ocrUserField.setUserId(ocrUserFieldVo.getUserId()); ocrUserField.setUserId(ocrUserFieldVo.getUserId());
ocrUserField.setReviewType(ocrUserFieldVo.getReviewType()); ocrUserField.setReviewType(ocrUserFieldVo.getReviewType());
ocrUserField.setUserField(ocrUserFieldVo.getUserField()); ocrUserField.setUserFieldFixed(ocrUserFieldVo.getUserFieldFixed());
ocrUserFieldService.saveData(ocrUserField); ocrUserField.setUserFieldUnFixed(ocrUserFieldVo.getUserFieldUnFixed());
// 调用服务层方法,并处理返回值
ResultVo result = ocrUserFieldService.saveData(ocrUserField); ResultVo result = ocrUserFieldService.saveData(ocrUserField);
return result; return result;
}catch (Exception e) { }catch (Exception e) {

@ -12,17 +12,15 @@ import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.common.mybatisplus.util.SearchQueryFormat; import cn.jyjz.xiaoyao.common.mybatisplus.util.SearchQueryFormat;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrConfiguration; import cn.jyjz.xiaoyao.ocr.dataobject.OcrConfiguration;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicturetype;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrUsersearch; import cn.jyjz.xiaoyao.ocr.dataobject.OcrUsersearch;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrUsersearchchild; import cn.jyjz.xiaoyao.ocr.dataobject.OcrUsersearchchild;
import cn.jyjz.xiaoyao.ocr.service.OcrUsersearchService; import cn.jyjz.xiaoyao.ocr.service.OcrUsersearchService;
import cn.jyjz.xiaoyao.ocr.service.OcrUsersearchchildService; import cn.jyjz.xiaoyao.ocr.service.OcrUsersearchchildService;
import cn.jyjz.xiaoyao.ocr.util.SearchConfigEnum;
import cn.jyjz.xiaoyao.ocr.vo.SearchConditionVO;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api; import io.swagger.annotations.*;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -55,7 +53,7 @@ public class OcrUsersearchController extends BaseController{
private UserTokenService userTokenService; private UserTokenService userTokenService;
@Resource @Resource
private UserService userService; private UserService userService;
/** /**
* *
* *
@ -71,33 +69,35 @@ public class OcrUsersearchController extends BaseController{
@GetMapping(value = "/list") @GetMapping(value = "/list")
public ResultVo<IPage<OcrUsersearch>> queryPageList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, public ResultVo<IPage<OcrUsersearch>> queryPageList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@RequestParam(name="type") @ApiParam(value = "类型(首页为0终审为1)", required = true) Integer type,
HttpServletRequest request) { HttpServletRequest request) {
//获取当前登录人 //获取当前登录人
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
ParamterPage paramterPage = new ParamterPage(); ParamterPage paramterPage = new ParamterPage();
paramterPage.setPagesize(pageSize); paramterPage.setPagesize(pageSize);
paramterPage.setStart(pageNo); paramterPage.setStart(pageNo);
//租户主键,由前端页面传送 //租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id"); String tenantId = request.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){ if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空"); return ResultVoUtil.error("租户主键不能为空");
} }
OcrUsersearch ocrUsersearch = new OcrUsersearch(); OcrUsersearch ocrUsersearch = new OcrUsersearch();
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_"); SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
QueryWrapper<OcrUsersearch> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrUsersearch); QueryWrapper<OcrUsersearch> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrUsersearch);
queryWrapper.eq("USERID",userToken.getUserid()); queryWrapper.eq("USERID",userToken.getUserid());
queryWrapper.eq("TENANTID",tenantId); queryWrapper.eq("TENANTID",tenantId);
queryWrapper.eq("TYPE",type);
queryWrapper.orderByDesc(Arrays.asList("IZTOP","REORDER")); queryWrapper.orderByDesc(Arrays.asList("IZTOP","REORDER"));
IPage<OcrUsersearch> pageList = ocrUsersearchService.selectSearchListPage(paramterPage, queryWrapper); IPage<OcrUsersearch> pageList = ocrUsersearchService.selectSearchListPage(paramterPage, queryWrapper);
for(OcrUsersearch ocrUsersearch1:pageList.getRecords()){ for(OcrUsersearch ocrUsersearch1:pageList.getRecords()){
List<OcrUsersearchchild> ocrUsersearchchildList = ocrUsersearchchildService.selectByMainId(ocrUsersearch1.getId().toString()); List<OcrUsersearchchild> ocrUsersearchchildList = ocrUsersearchchildService.selectByMainId(ocrUsersearch1.getId().toString());
ocrUsersearch1.setOcrUsersearchchildList(ocrUsersearchchildList); ocrUsersearch1.setOcrUsersearchchildList(ocrUsersearchchildList);
@ -105,7 +105,7 @@ public class OcrUsersearchController extends BaseController{
return ResultVoUtil.success(pageList); return ResultVoUtil.success(pageList);
} }
/** /**
* *
* *
@ -118,28 +118,29 @@ public class OcrUsersearchController extends BaseController{
}) })
@PostMapping(value = "/add") @PostMapping(value = "/add")
public ResultVo<String> add(@RequestBody OcrUsersearch ocrUsersearch, HttpServletRequest req) { public ResultVo<String> add(@RequestBody OcrUsersearch ocrUsersearch, HttpServletRequest req) {
//租户主键,由前端页面传送 //租户主键,由前端页面传送
String tenantId = req.getHeader("X-Tenant-Id"); String tenantId = req.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){ if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空"); return ResultVoUtil.error("租户主键不能为空");
} }
//获取当前登录人 //获取当前登录人
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(req)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(req));
ocrUsersearch.setUserid(Long.parseLong(userToken.getUserid())); ocrUsersearch.setUserid(Long.parseLong(userToken.getUserid()));
ocrUsersearch.setCreatetime(System.currentTimeMillis()); ocrUsersearch.setCreatetime(System.currentTimeMillis());
ocrUsersearch.setCreateby(userToken.getLoginname()); ocrUsersearch.setCreateby(userToken.getLoginname());
ocrUsersearch.setTenantid(Long.parseLong(tenantId)); ocrUsersearch.setTenantid(Long.parseLong(tenantId));
ocrUsersearch.setReorder(this.ocrUsersearchService.getReorder(ocrUsersearch.getUserid())); ocrUsersearch.setReorder(this.ocrUsersearchService.getReorder(ocrUsersearch.getUserid(),ocrUsersearch.getType()));
ocrUsersearch.setType(ocrUsersearch.getType());
if(null != ocrUsersearch.getId()){ if(null != ocrUsersearch.getId()){
this.ocrUsersearchService.removeByIds(ocrUsersearch.getId().toString()); this.ocrUsersearchService.removeByIds(ocrUsersearch.getId().toString());
} }
this.ocrUsersearchService.save(ocrUsersearch); this.ocrUsersearchService.save(ocrUsersearch);
if(null != ocrUsersearch.getOcrUsersearchchildList()){ if(null != ocrUsersearch.getOcrUsersearchchildList()){
for(OcrUsersearchchild ocrUsersearchchild:ocrUsersearch.getOcrUsersearchchildList()){ for(OcrUsersearchchild ocrUsersearchchild:ocrUsersearch.getOcrUsersearchchildList()){
ocrUsersearchchild.setUsersearchid(ocrUsersearch.getId()); ocrUsersearchchild.setUsersearchid(ocrUsersearch.getId());
@ -160,10 +161,10 @@ public class OcrUsersearchController extends BaseController{
}) })
@PostMapping(value = "/edit") @PostMapping(value = "/edit")
public ResultVo<String> edit(@RequestBody OcrUsersearch ocrUsersearch, HttpServletRequest req) { public ResultVo<String> edit(@RequestBody OcrUsersearch ocrUsersearch, HttpServletRequest req) {
//租户主键,由前端页面传送 //租户主键,由前端页面传送
String tenantId = req.getHeader("X-Tenant-Id"); String tenantId = req.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){ if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空"); return ResultVoUtil.error("租户主键不能为空");
} }
@ -171,10 +172,10 @@ public class OcrUsersearchController extends BaseController{
if(null == old){ if(null == old){
return ResultVoUtil.error("数据错误。"); return ResultVoUtil.error("数据错误。");
} }
//获取当前登录人 //获取当前登录人
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(req)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(req));
ocrUsersearch.setUserid(old.getUserid()); ocrUsersearch.setUserid(old.getUserid());
ocrUsersearch.setCreatetime(old.getCreatetime()); ocrUsersearch.setCreatetime(old.getCreatetime());
ocrUsersearch.setCreateby(old.getCreateby()); ocrUsersearch.setCreateby(old.getCreateby());
@ -183,14 +184,14 @@ public class OcrUsersearchController extends BaseController{
ocrUsersearch.setIztop(old.getIztop()); ocrUsersearch.setIztop(old.getIztop());
ocrUsersearch.setUpdateby(userToken.getLoginname()); ocrUsersearch.setUpdateby(userToken.getLoginname());
ocrUsersearch.setUpdatetime(System.currentTimeMillis()); ocrUsersearch.setUpdatetime(System.currentTimeMillis());
if(null != ocrUsersearch.getId()){ if(null != ocrUsersearch.getId()){
this.ocrUsersearchService.removeChildByIds(ocrUsersearch.getId().toString()); this.ocrUsersearchService.removeChildByIds(ocrUsersearch.getId().toString());
} }
this.ocrUsersearchService.updateById(ocrUsersearch); this.ocrUsersearchService.updateById(ocrUsersearch);
if(null != ocrUsersearch.getOcrUsersearchchildList()){ if(null != ocrUsersearch.getOcrUsersearchchildList()){
for(OcrUsersearchchild ocrUsersearchchild:ocrUsersearch.getOcrUsersearchchildList()){ for(OcrUsersearchchild ocrUsersearchchild:ocrUsersearch.getOcrUsersearchchildList()){
ocrUsersearchchild.setUsersearchid(ocrUsersearch.getId()); ocrUsersearchchild.setUsersearchid(ocrUsersearch.getId());
@ -214,16 +215,16 @@ public class OcrUsersearchController extends BaseController{
public ResultVo<String> reorder( HttpServletRequest req , public ResultVo<String> reorder( HttpServletRequest req ,
@RequestParam(name="searchid", required = true) String searchid, @RequestParam(name="searchid", required = true) String searchid,
@RequestParam(name="reorder", defaultValue="1") Integer reorder) { @RequestParam(name="reorder", defaultValue="1") Integer reorder) {
OcrUsersearch old = this.ocrUsersearchService.getById(searchid); OcrUsersearch old = this.ocrUsersearchService.getById(searchid);
if(null == old){ if(null == old){
return ResultVoUtil.error("数据错误。"); return ResultVoUtil.error("数据错误。");
} }
old.setReorder(reorder); old.setReorder(reorder);
return this.ocrUsersearchService.updateById(old)?ResultVoUtil.success():ResultVoUtil.error(); return this.ocrUsersearchService.updateById(old)?ResultVoUtil.success():ResultVoUtil.error();
} }
/** /**
* *
@ -238,16 +239,16 @@ public class OcrUsersearchController extends BaseController{
@GetMapping(value = "/collect") @GetMapping(value = "/collect")
public ResultVo<String> collect( HttpServletRequest req) { public ResultVo<String> collect( HttpServletRequest req) {
String searchid = req.getParameter("searchid"); String searchid = req.getParameter("searchid");
OcrUsersearch old = this.ocrUsersearchService.getById(searchid); OcrUsersearch old = this.ocrUsersearchService.getById(searchid);
if(null == old){ if(null == old){
return ResultVoUtil.error("数据错误。"); return ResultVoUtil.error("数据错误。");
} }
old.setIztop(1); old.setIztop(1);
return this.ocrUsersearchService.updateById(old)?ResultVoUtil.success():ResultVoUtil.error(); return this.ocrUsersearchService.updateById(old)?ResultVoUtil.success():ResultVoUtil.error();
} }
/** /**
* *
@ -266,11 +267,11 @@ public class OcrUsersearchController extends BaseController{
if(null == old){ if(null == old){
return ResultVoUtil.error("数据错误。"); return ResultVoUtil.error("数据错误。");
} }
old.setIztop(0); old.setIztop(0);
return this.ocrUsersearchService.updateById(old)?ResultVoUtil.success():ResultVoUtil.error(); return this.ocrUsersearchService.updateById(old)?ResultVoUtil.success():ResultVoUtil.error();
} }
/** /**
* *
@ -283,7 +284,7 @@ public class OcrUsersearchController extends BaseController{
public ResultVo<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { public ResultVo<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
return this.ocrUsersearchService.removeByIds(ids)?ResultVoUtil.success("批量删除成功!"):ResultVoUtil.error(); return this.ocrUsersearchService.removeByIds(ids)?ResultVoUtil.success("批量删除成功!"):ResultVoUtil.error();
} }
/** /**
* id * id
* *
@ -302,4 +303,21 @@ public class OcrUsersearchController extends BaseController{
} }
return ResultVoUtil.success(ocrUsersearch); return ResultVoUtil.success(ocrUsersearch);
} }
/**
*
* @param userSearchId
* @return
*/
@ApiOperation(value="获取AI查询过滤条件回写", notes="获取AI查询过滤条件回写")
@GetMapping(value = "/querySearchCondition")
public ResultVo<SearchConditionVO> querySearchCondition(@RequestParam(name="userSearchId",required=true) String userSearchId) {
//解析此条件列表字段并返回前端解析为对应前端字段内容
SearchConditionVO searchConditionVO = ocrUsersearchchildService.querySearchCondition(userSearchId);
if(searchConditionVO==null) {
return ResultVoUtil.error("未找到对应数据");
}
return ResultVoUtil.success(searchConditionVO);
}
} }

@ -1,11 +0,0 @@
package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrArea;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
*
*/
@Mapper
public interface OcrAreaMybatisDao extends BaseMapper<OcrArea> {
}

@ -0,0 +1,18 @@
package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicate;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* Mapper
* </p>
*
* @author author
* @since 2024-03-24
*/
@Mapper
public interface OcrCheckDuplicateMapper extends BaseMapper<OcrCheckDuplicate> {
}

@ -0,0 +1,18 @@
package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicateResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* Mapper
* </p>
*
* @author author
* @since 2024-03-24
*/
@Mapper
public interface OcrCheckDuplicateResultMapper extends BaseMapper<OcrCheckDuplicateResult> {
}

@ -1,6 +1,5 @@
package cn.jyjz.xiaoyao.ocr.dataDao; package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrArea;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrField; import cn.jyjz.xiaoyao.ocr.dataobject.OcrField;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;

@ -19,7 +19,9 @@ import java.util.Map;
*/ */
@Mapper @Mapper
public interface OcrMsgMapper extends BaseMapper<OcrMsg> { public interface OcrMsgMapper extends BaseMapper<OcrMsg> {
List<List<Map<Object, String>>> selectPage(@Param("userid")String userid,@Param("msgCategory")String msgCategory); List<Map<Object, String>> selectPage(@Param("userid")String userid,@Param("msgCategory")String msgCategory);
Map<Object, String> selectone(@Param("id")String id); Map<Object, String> selectone(@Param("id")String id);
int selectUnreadMsgCount(@Param("userId") String userid);
} }

@ -0,0 +1,18 @@
package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureDuplicateHis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* Mapper
* </p>
*
* @author author
* @since 2024-03-24
*/
@Mapper
public interface OcrPictureDuplicateHisMapper extends BaseMapper<OcrPictureDuplicateHis> {
}

@ -0,0 +1,13 @@
package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* ClassName $className$.java
* Description:
* Author scl.
* Date 2024/3/22 07:09
*/
public interface OcrPictureInfoMapper extends BaseMapper<OcrPictureInfo> {
}

@ -3,9 +3,16 @@ package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* *
*/ */
@Mapper @Mapper
public interface OcrPictureMybatisDao extends BaseMapper<OcrPicture> { public interface OcrPictureMybatisDao extends BaseMapper<OcrPicture> {
OcrPicture getPackagePictureInfo(@Param("packageId") String packageId, @Param("pictureId") String pictureId, @Param("userNodeType") String userNodeType);
List<OcrPicture> getPictureNodeStatesList(@Param("pictureIds") List<String> pictureIds, @Param("userNodeType") String userNodeType);
} }

@ -1,11 +0,0 @@
package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureclass;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
*
*/
@Mapper
public interface OcrPictureclassMybatisDao extends BaseMapper<OcrPictureclass> {
}

@ -1,30 +0,0 @@
package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicturejob;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
*
*/
@Mapper
public interface OcrPicturejobMybatisDao extends BaseMapper<OcrPicturejob> {
/**
* id
*
* @param mainId id
* @return boolean
*/
public boolean deleteByMainId(@Param("mainId") String mainId);
/**
* id
*
* @param mainId id
* @return List<OcrPicturejob>
*/
public List<OcrPicturejob> selectByMainId(@Param("mainId") String mainId);
}

@ -1,11 +0,0 @@
package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicturetype;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
*
*/
@Mapper
public interface OcrPicturetypeMybatisDao extends BaseMapper<OcrPicturetype> {
}

@ -1,11 +0,0 @@
package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPlan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
*
*/
@Mapper
public interface OcrPlanMybatisDao extends BaseMapper<OcrPlan> {
}

@ -1,11 +0,0 @@
package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrProvince;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
*
*/
@Mapper
public interface OcrProvinceMybatisDao extends BaseMapper<OcrProvince> {
}

@ -3,11 +3,11 @@ package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrSearchHistory; import cn.jyjz.xiaoyao.ocr.dataobject.OcrSearchHistory;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import liquibase.pro.packaged.S;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
@ -19,5 +19,21 @@ import java.util.List;
*/ */
@Mapper @Mapper
public interface OcrSearchHistoryMapper extends BaseMapper<OcrSearchHistory> { public interface OcrSearchHistoryMapper extends BaseMapper<OcrSearchHistory> {
List<String> selectsearch(@Param("search")String search,@Param("assignee") String assignee); List<Map<String,String>> selectsearch1(@Param("userid")String userid,@Param("search")String search,@Param("tenantId")String tenantId);
List<Map<String,String>> selectsearch2(@Param("userid")String userid,@Param("search")String search,@Param("tenantId")String tenantId);
List<Map<String,String>> selectsearch3(@Param("userid")String userid,@Param("search")String search,@Param("tenantId")String tenantId);
// Map<Object,Object> toolscount(@Param("tenantid")String tenantid);
Map<Object,Object> toolscount(@Param("userId")String userId);
Map<Object,Object> selectaisp(@Param("id")String id);
List<Map<Object, Object>> selectaispList(@Param("id")String id);
String selectaiuser(@Param("userid")String userid);
} }

@ -0,0 +1,25 @@
package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskPackage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.IPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
* <p>
* (20240323) Mapper
* </p>
*
* @author author
* @since 2024-03-24
*/
@Mapper
public interface OcrTaskPackageMapper extends BaseMapper<OcrTaskPackage> {
Page<Map<String,Object>> getPackageList(Page<Map<String, Object>> page, @Param("packageName") String packageName,
@Param("tenantId") String tenantId);
}

@ -0,0 +1,19 @@
package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildDubiousFile;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* Mapper
* </p>
*
* @author 123
* @since 2024-03-21
*/
@Mapper
public interface OcrTaskchildDubiousFileMapper extends BaseMapper<OcrTaskchildDubiousFile> {
}

@ -1,10 +1,13 @@
package cn.jyjz.xiaoyao.ocr.dataDao; package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro;
import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo;
import cn.jyjz.xiaoyao.ocr.vo.PictureDetailVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -41,4 +44,14 @@ public interface OcrTaskchildPictureMybatisDao extends BaseMapper<OcrTaskchildPi
* @return * @return
*/ */
Long listmytaskCount(Map<String, Object> query); Long listmytaskCount(Map<String, Object> query);
String selectocpicture(@Param("tenantid")String tenantid,@Param("packageid")String packageid,@Param("id")String id);
List<OcrTaskChildPictureVo> getPictureHistoryList(@Param("pictureIds") List<String> pictureIds, @Param("taskname") String taskname);
List<OcrTaskChildPictureVo> getDubiousfileList(@Param("pictureIds") List<String> pictureIds, @Param("taskname") String taskname);
PictureDetailVo getPictureDetail(String pictureId);
Page<OcrTaskChildPictureVo> getPackageSimilarityList(Page<OcrTaskChildPictureVo> page, @Param("checkDuplicateId") String checkDuplicateId, @Param("pictureId") String pictureId, @Param("oderType") String oderType, @Param("oderName") String oderName, @Param("taskname") String taskname);
} }

@ -1,11 +0,0 @@
package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrUpuser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
*
*/
@Mapper
public interface OcrUpuserMybatisDao extends BaseMapper<OcrUpuser> {
}

@ -1,114 +0,0 @@
package cn.jyjz.xiaoyao.ocr.dataobject;
import cn.jyjz.xiaoyao.admin.dataobject.Tenant;
import cn.jyjz.xiaoyao.common.base.jsonDomain.DateNotimeSerializer;
import cn.jyjz.xiaoyao.common.base.jsonDomain.DateSerializer;
import cn.jyjz.xiaoyao.common.mybatisplus.dto.BaseDto;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Map;
import java.util.AbstractMap.SimpleEntry;
import java.util.stream.Stream;
import java.util.stream.Collectors;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "图片地区管理", title = "图片地区管理")
@TableName(value = "ocr_area")
public class OcrArea implements BaseDto,java.io.Serializable {
private static final long serialVersionUID = 8088861709460050761L;
@Schema(description = "主键")
@TableId(value = "id",type = IdType.ASSIGN_ID)
@JsonSerialize(using = ToStringSerializer.class)
@TableField(value="ID")
private Long id;
@Schema(description = "创建人")
@TableField(value="CREATEBY")
private String createby;
@Schema(description = "创建时间")
@JsonSerialize(using = DateSerializer.class)
@TableField(value="CREATETIME")
private Long createtime;
@Schema(description = "修改人")
@TableField(value="UPDATEBY")
private String updateby;
@Schema(description = "修改时间")
@JsonSerialize(using = DateSerializer.class)
@TableField(value="UPDATETIME")
private Long updatetime;
@Schema(description = "租户ID")
@JsonSerialize(using = ToStringSerializer.class)
@TableField(value="TENANTID")
private Long tenantid;
@Schema(description = "省份主键")
@JsonSerialize(using = ToStringSerializer.class)
@TableField(value="PROVINCEID")
private Long provinceid;
@Schema(description = "地区名称")
@TableField(value="CITYNAME")
private String cityname;
@Schema(description = "排序字段")
@TableField(value="REORDER")
private Integer reorder;
//租户对象
@TableField(exist = false)
private Tenant tenant;
//保存当前登录用户的数据权限范围的搜索条件
@TableField(exist = false)
@JsonIgnore
private SearchQuery searchQueryrolesShowleave;
@TableField(exist = false)
@JsonIgnore
private final Map<String,String> query = Stream.of(
new SimpleEntry<>("listdept","deptid"),
new SimpleEntry<>("ID","id"),
new SimpleEntry<>("create_by","createBy"),
new SimpleEntry<>("create_time","createTime"),
new SimpleEntry<>("update_by","updateBy"),
new SimpleEntry<>("update_time","updateTime"),
new SimpleEntry<>("TENANTID","tenant_id"),
new SimpleEntry<>("PID","pid"),
new SimpleEntry<>("HASCHILD","has_child"),
new SimpleEntry<>("TYPENAME","typename")
)
.collect(Collectors.toMap(SimpleEntry::getKey, SimpleEntry::getValue));
@Override
public String getQueryFiled(String filedname){
String obj = null;
if(null != query && query.size() > 0){
obj = query.get(filedname);
}
return obj;
}
}

@ -0,0 +1,71 @@
package cn.jyjz.xiaoyao.ocr.dataobject;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author author
* @since 2024-03-24
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("ocr_check_duplicate")
@ApiModel(value="OcrCheckDuplicate对象", description="查重任务表")
public class OcrCheckDuplicate implements Serializable {
private static final long serialVersionUID = 1L;
@Schema(description = "主键")
@TableId(value = "id",type = IdType.ASSIGN_ID)
@JsonSerialize(using = ToStringSerializer.class)
@TableField(value="id")
private Long id;
@ApiModelProperty(value = "查重任务编号")
private String checkDuplicateNo;
@ApiModelProperty(value = "1.执行中 2.执行完毕 3.执行异常")
private Integer status;
@ApiModelProperty(value = "完成时间")
private Long completionTime;
@ApiModelProperty(value = "租户标识")
private Long tenantId;
@ApiModelProperty(value = "创建人")
private String createBy;
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
private Long createTime;
@ApiModelProperty(value = "查重时的筛选条件")
private String searchingJson;
@ApiModelProperty(value = "主图数量")
private Integer pictureCount;
@ApiModelProperty(value = "0可用 1删除")
private Integer isDelete;
}

@ -0,0 +1,56 @@
package cn.jyjz.xiaoyao.ocr.dataobject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author author
* @since 2024-03-24
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("ocr_check_duplicate_result")
@ApiModel(value="OcrCheckDuplicateResult对象", description="")
public class OcrCheckDuplicateResult implements Serializable {
private static final long serialVersionUID = 1L;
@Schema(description = "主键")
@TableId(value = "id",type = IdType.ASSIGN_ID)
@JsonSerialize(using = ToStringSerializer.class)
@TableField(value="ID")
private Long id;
@ApiModelProperty(value = "图片id")
private Long pictureId;
@ApiModelProperty(value = "当前图片与任务包其他图片比对结果")
private String compareResultJson;
@ApiModelProperty(value = "查重任务id")
private Long checkDuplicateId;
@ApiModelProperty(value = "当前图片在当前任务包下比对最高阈值")
private Double maxSimilarity;
@ApiModelProperty(value = "阈值分组排序值,数值越低排序越靠前,")
private Integer similarityGroupOrder;
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save