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/
*.iml
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
*/
User findByLoginname(String loginname);
/**
*
* @param phone
* @return
*/
User findByPhone(String phone);
/**
*
* @param userid
@ -124,6 +132,22 @@ public interface UserTokenService {
*/
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);
/**
*
* @param otherno
@ -131,4 +155,11 @@ public interface UserTokenService {
* @return
*/
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){
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){
addQuery(field,value, SearchQueryConstant.SEARCH_IN);
}
@ -92,6 +95,13 @@ public class SearchQuery implements java.io.Serializable{
public void addGreater(String field,Integer value){
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){
addQuery(field,value, SearchQueryConstant.SEARCH_GREATER);
@ -104,6 +114,9 @@ public class SearchQuery implements java.io.Serializable{
public void addGreaterEqual(String field,Integer value){
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){
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){
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){
addQuery(field,value, SearchQueryConstant.SEARCH_LESS);
}
@ -124,6 +143,9 @@ public class SearchQuery implements java.io.Serializable{
public void addLessEqual(String field,Integer value){
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){
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){
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
@ -155,11 +188,15 @@ public class SearchQuery implements java.io.Serializable{
log.error("【添加搜索条件】对象-value-错误value不能为空");
return;
}
if(null != query.get(field)){
log.error("【添加搜索条件】-query-错误query已经存在数据,field={}",field);
return;
}
// if(null != query.get(field)){
// log.error("【添加搜索条件】-query-错误query已经存在数据,field={}",field);
// return;
// }
SearchQueryForm lf = new SearchQueryForm();
if(query.get(field)!=null){
lf = (SearchQueryForm) query.get(field);
}
lf.setField(field);
lf.setDataOp(SearchQueryUtil.filterMap.get(filter));
lf.setOp(filter);

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

@ -86,6 +86,9 @@ public class User implements java.io.Serializable {
//密码最后更新时间
private Long psdupdatetime;
//用户审批节点
private Integer nodeType;
//用户对应的角色信息,映射文件中对应的字段信息
@JsonIgnore
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<Object> frontmenuTList = new ArrayList<>();
public UserToken getFormatUserToken(){
//初始化登录用户信息

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

@ -20,6 +20,12 @@ public interface CacheConstants {
//缓存超时时间,单位:秒,目前验证码使用
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";

@ -55,6 +55,18 @@
<artifactId>jyjz-framework-security</artifactId>
</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>
<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.service.UserTokenService;
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.vo.User;
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.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter;
import org.springframework.web.servlet.HandlerExceptionResolver;
/**
* https://blog.csdn.net/zkc7441976/article/details/111034574
@ -58,7 +60,7 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
String[] excludespath = systemopenurlService.getOpenUrl();
//不需要过滤的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);
@ -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);

@ -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.service.FlowableUserLoginService;
import cn.jyjz.xiaoyao.framework.security.service.OnlineUserService;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.AuthenticationProvider;
@ -88,8 +92,16 @@ public class MyAuthenticationProvider implements AuthenticationProvider {
// //从缓存中删除验证码
// iCacheManager.remove(CacheConstants.CACHE_CODE,codetoken);
if(StringUtils.isBlank(loginname) || StringUtils.isBlank(password)){
throw new AuthenticationServiceException("账号密码不正确");
// if(StringUtils.isBlank(loginname) || StringUtils.isBlank(password)){
// 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){
throw new AuthenticationServiceException("企业编码或账号错误");
// if(!"admin".equals(loginname) && userTokenService.listCount(agentcode,loginname).intValue() <= 0){
// 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);
if(null == user){
throw new AuthenticationServiceException("账号密码不正确");
}else if(user.getEnabled() == 0){
throw new AuthenticationServiceException("该账号被禁用");
}
//TODO 处理同一个用户,多次登录
@ -153,7 +186,7 @@ public class MyAuthenticationProvider implements AuthenticationProvider {
}
//userTokenService.savePasswordMaxRetry(user.getLoginname());
throw new AuthenticationServiceException("账号密码不正确");
throw new AuthenticationServiceException("密码错误");
}
@Override

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

@ -2,7 +2,6 @@ package cn.jyjz.xiaoyao.framework.security.service.impl;
import cn.hutool.core.util.RandomUtil;
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.UserTokenService;
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.model.AdminUserModel;
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 lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
@ -26,6 +25,9 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
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.regex.Matcher;
@ -46,6 +48,9 @@ public class SmsLoginServiceImpl implements SmsLoginService {
private SmsProvider smsProvider;
@Resource
private XiaoyaoConfig xiaoyaoConfig;
@Resource
private MsmService msmservice;
@Override
public ResultVo sendCode(String phone) {
//校验手机号
@ -53,13 +58,34 @@ public class SmsLoginServiceImpl implements SmsLoginService {
if (!isPhone) {
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 发送短信
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, cacheKey, count + 1, CacheConstants.TOOLSCOUNT_TENANTID_CACHE_TIME);
//保存验证码到 缓存中
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){
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);
}

@ -19,6 +19,20 @@ public interface UserTenantMybatisDao extends BaseMapper<UserTenant> {
*/
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);
/**
*
* @param query othernomobile

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

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

@ -41,6 +41,23 @@ public interface UserTenantService extends BaseService<UserTenant> {
*/
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);
/**
*
* @param otherno

@ -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.UserrolesMybatisDao;
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.UserTenantService;
import cn.jyjz.xiaoyao.common.base.config.XiaoyaoConfig;
@ -77,6 +78,10 @@ public class UserServiceImpl extends BaseServiceImpl<UserMybatisDao,User> imple
@Resource
private UserTenantService userTenantService;
@Resource
private ISFrontmenuTService isFrontmenuTService;
/**
*
* @param loginname
@ -102,8 +107,43 @@ public class UserServiceImpl extends BaseServiceImpl<UserMybatisDao,User> imple
user.formatDeptlist(departmentList);
user.setTenantList(this.userTenantService.listUserTenant(user.getId()));
//返回用户前端菜单权限列表
List<SFrontmenuT> frontmenuTList1 = isFrontmenuTService.queryUserMenuById(user.getLoginname());
user.setFrontmenuTList(frontmenuTList1);
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

@ -97,6 +97,32 @@ public class UserTenantServiceImpl extends BaseServiceImpl<UserTenantMybatisDao,
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);
}
/**
*
* @param otherno

@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.jyjz.xiaoyao.admin.dataobject.Department;
import cn.jyjz.xiaoyao.admin.dataobject.Oauthuser;
import cn.jyjz.xiaoyao.admin.dataobject.Roles;
import cn.jyjz.xiaoyao.admin.dataobject.Tenant;
import cn.jyjz.xiaoyao.admin.service.*;
import cn.jyjz.xiaoyao.common.base.config.XiaoyaoConfig;
import cn.jyjz.xiaoyao.common.base.exception.CommonExceptionCodeEnum;
@ -34,6 +35,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import com.auth0.jwt.exceptions.TokenExpiredException;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -80,6 +82,9 @@ public class UserTokenServiceImpl implements UserTokenService {
@Resource
private UserTokenOnlineService userTokenOnlineService;
@Autowired
private TenantService tenantService;
public User findByLoginname(String loginname) {
cn.jyjz.xiaoyao.admin.dataobject.User userData = userService.findByLoginname(loginname);
@ -96,6 +101,24 @@ public class UserTokenServiceImpl implements UserTokenService {
User user = BeanUtil.copyProperties(userData,User.class);
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) {
cn.jyjz.xiaoyao.admin.dataobject.User userData = userService.findById(userid);
@ -371,6 +394,27 @@ public class UserTokenServiceImpl implements UserTokenService {
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);
}
/**
*
* @param otherno
@ -380,4 +424,17 @@ public class UserTokenServiceImpl implements UserTokenService {
public Long listMobileCount(String otherno,String 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 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
count(ten.ID)

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

@ -1,5 +1,8 @@
package cn.jyjz.flowable.common;
import java.util.HashMap;
import java.util.Map;
/**
*
*/
@ -9,4 +12,13 @@ public class ProcessConstant {
public static final String BPMN_FILE_SUFFIX = ".bpmn";
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, "最终审批");
}
}

@ -59,6 +59,11 @@ public interface SystemConstantsOa extends SystemConstants {
Integer OA_STATUS_TYPE_REFUSE = 5;
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;
}

@ -2,10 +2,10 @@ package cn.jyjz.flowable.controller;
import cn.jyjz.flowable.common.SystemConstantsOa;
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.utils.PageUtils;
import cn.jyjz.flowable.utils.SysConstant;
import cn.jyjz.xiaoyao.abase.service.SeqManageService;
import cn.jyjz.xiaoyao.admin.dataobject.User;
import cn.jyjz.xiaoyao.admin.service.UserService;
@ -15,41 +15,41 @@ import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
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.util.requestFormat.SearchQueryForm;
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.common.mybatisplus.util.SearchQueryFormat;
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.vo.FlowUnionVo;
import cn.jyjz.xiaoyao.oa.from.vo.RepeatedTaskVo;
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.OcrUsersearchService;
import cn.jyjz.xiaoyao.ocr.service.OcrUsersearchchildService;
import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo;
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.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.*;
import org.flowable.ui.common.model.RemoteUser;
import org.flowable.ui.common.service.idm.RemoteIdmService;
import org.springframework.beans.factory.annotation.Autowired;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.InputStream;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@Api(tags="ocr_流程接口")
@Api(tags = "ocr_流程接口")
@RestController
@RequestMapping("/flow/task")
public class FlowTaskController extends BaseController {
@ -71,7 +71,7 @@ public class FlowTaskController extends BaseController {
private OcrTaskchildPictureService ocrTaskchildPictureService;
@Resource
private UserapproveService userapproveService;
private OcrUsersearchchildService usersearchchildService;
// /**
// * 查询我的待办任务
// * @return
@ -86,13 +86,14 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @param processId
* @return
* @throws Exception
*/
@GetMapping(value = "/flowImg",produces = MediaType.IMAGE_PNG_VALUE)
@GetMapping(value = "/flowImg", produces = MediaType.IMAGE_PNG_VALUE)
@ResponseBody
public byte[] flowImg(@RequestParam("processId") String processId) throws Exception{
public byte[] flowImg(@RequestParam("processId") String processId) throws Exception {
InputStream diagram = flowTaskService.diagram(processId);
byte[] bytes = new byte[diagram.available()];
diagram.read(bytes);
@ -101,14 +102,15 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @param processId
* @return
* @throws Exception
*/
@GetMapping(value = "/myFlowImg",produces = MediaType.IMAGE_PNG_VALUE)
@GetMapping(value = "/myFlowImg", produces = MediaType.IMAGE_PNG_VALUE)
@ResponseBody
public byte[] myFlowImg(@RequestParam("processId") String processId, HttpServletRequest request) throws Exception{
InputStream diagram = flowTaskService.myDiagram(processId,request);
public byte[] myFlowImg(@RequestParam("processId") String processId, HttpServletRequest request) throws Exception {
InputStream diagram = flowTaskService.myDiagram(processId, request);
byte[] bytes = new byte[diagram.available()];
diagram.read(bytes);
return bytes;
@ -116,15 +118,16 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @return
*/
@PostMapping("/viewFormid")
@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);
if(null != category){
Category category = flowTaskService.viewForm(processId, request);
if (null != category) {
return ResultVoUtil.success(category);
}
return ResultVoUtil.error();
@ -132,126 +135,89 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @return
*/
@ApiOperation(value="任务审批", notes="任务审批")
@ApiOperation(value = "任务审批", notes = "任务审批")
@PostMapping("/completeFlow")
@ResponseBody
public ResultVo complete(FlowTaskVO taskVO,HttpServletRequest request){
Boolean flag = flowTaskService.complete(taskVO,request);
return flag?ResultVoUtil.success():ResultVoUtil.error();
public ResultVo complete(@RequestBody FlowApprove approve, HttpServletRequest request) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
Integer flag = flowTaskService.complete(approve, userToken, Arrays.asList(approve.getFlowTaskInfoList().get(0).getFormId()));
return flag > 0 ? ResultVoUtil.success() : ResultVoUtil.error();
}
/**
*
*
* @return
*/
@ApiOperation(value="任务审批", notes="任务审批")
@ApiOperation(value = "任务审批", notes = "任务审批")
@PostMapping("/completeBatchFlow")
@ResponseBody
public ResultVo completeBatch(HttpServletRequest request){
public ResultVo completeBatch(@RequestBody FlowApprove approve, HttpServletRequest request) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
//任务ID
String[] taskId = request.getParameterValues("taskId");
//审批的任务主键
String[] formid = request.getParameterValues("formid");
String[] taskname = request.getParameterValues("taskname");
//是否同意true同意false拒绝
boolean approvd = Boolean.valueOf(request.getParameter("approvd"));
//审批意见")
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("审批失败");
}
List<FlowTaskInfo> flowTaskInfoList = approve.getFlowTaskInfoList();
if (CollectionUtils.isNotEmpty(flowTaskInfoList)) {
List<String> formIdList = flowTaskInfoList.stream().map(FlowTaskInfo::getFormId).collect(Collectors.toList());
//判断当前任务审批人是否一致
List<String> formIds = ocrTaskchildPictureService.validateAssignee(formIdList, userToken);
// 判断当前任务是否审批完毕
if (CollectionUtils.isNotEmpty(formIds)) {
Integer success = flowTaskService.complete(approve, userToken, formIds);
return ResultVoUtil.success("审批成功" + success + "条," + "无权审核" + (flowTaskInfoList.size() - success) + "条", "");
}
}
return (StringUtils.isNotBlank(smg.toString()))?ResultVoUtil.error(smg.toString()):ResultVoUtil.success();
return ResultVoUtil.success("审核成功0条" + "无权审核" + flowTaskInfoList.size() + "条", "");
}
@GetMapping("/listhistore")
@ResponseBody
public ResultVo listhistore(PageUtils vo, Model model, HttpServletRequest request){
public ResultVo listhistore(PageUtils vo, Model model, HttpServletRequest request) {
String processInstanceId = request.getParameter("processInstanceId");
List<HistoricTaskInstanceDto> list = flowTaskService.listHistoriceTask(processInstanceId);
List<HistoricTaskInstanceDto> list = flowTaskService.listHistoriceTask(processInstanceId);
return ResultVoUtil.success(list);
}
/**
*
*
*
*
* @return
*/
@GetMapping("/finishedList")
@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);
if(user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))){
flowTaskService.getMyProcessInstances(searchQuery.getQuery(),pageUtils);
}else{
searchQuery.addEqual("approveUserid",user.getId().toString());
if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) {
flowTaskService.getMyProcessInstances(searchQuery.getQuery(), pageUtils);
} else {
searchQuery.addEqual("approveUserid", user.getId().toString());
flowTaskService.getMyProcessInstances(searchQuery.getQuery(),pageUtils);
flowTaskService.getMyProcessInstances(searchQuery.getQuery(), pageUtils);
}
return ResultVoUtil.success(pageUtils);
}
/**
*
*
*
*
* @return
*/
@ApiOperation(value="待办任务", notes="待办任务")
@ApiOperation(value = "待办任务", notes = "待办任务")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
})
@GetMapping("/listdata")
@ResponseBody
public ResultVo<FlowUnionVo> listdata(PageUtils<FlowUnionVo> pageUtils, HttpServletRequest request){
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request,"search_");
public ResultVo<FlowUnionVo> listdata(PageUtils<FlowUnionVo> pageUtils, HttpServletRequest request) {
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
@ -262,52 +228,52 @@ public class FlowTaskController extends BaseController {
String fromuserid = request.getParameter("fromuserid");
String fromplanid = request.getParameter("fromplanid");
if(org.apache.commons.lang3.StringUtils.isBlank(tenantId)){
if (org.apache.commons.lang3.StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
if(StringUtils.isNotBlank(taskid)){
searchQuery.addEqual("taskid",taskid);
if (StringUtils.isNotBlank(taskid)) {
searchQuery.addEqual("taskid", taskid);
}
if(StringUtils.isNotBlank(taskname)){
searchQuery.addLike("taskname",taskname);
if (StringUtils.isNotBlank(taskname)) {
searchQuery.addLike("taskname", taskname);
}
if(StringUtils.isNotBlank(states)){
searchQuery.addEqual("states",states);
if (StringUtils.isNotBlank(states)) {
searchQuery.addEqual("states", states);
}
if(StringUtils.isNotBlank(fromprojectid)){
searchQuery.addEqual("fromprojectid",fromprojectid);
if (StringUtils.isNotBlank(fromprojectid)) {
searchQuery.addEqual("fromprojectid", fromprojectid);
}
if(StringUtils.isNotBlank(fromuserid)){
searchQuery.addEqual("fromuserid",fromuserid);
if (StringUtils.isNotBlank(fromuserid)) {
searchQuery.addEqual("fromuserid", fromuserid);
}
if(StringUtils.isNotBlank(fromplanid)){
searchQuery.addEqual("fromplanid",fromplanid);
if (StringUtils.isNotBlank(fromplanid)) {
searchQuery.addEqual("fromplanid", fromplanid);
}
User user = this.userService.getSessionUser(request);
// 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());
// searchQuery.addIn("formid",collect);
if(user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))){
if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) {
flowTaskService.getMyProcessInstances(searchQuery.getQuery(),pageUtils);
}else{
flowTaskService.getMyProcessInstances(searchQuery.getQuery(), pageUtils);
} else {
String assigneeId = request.getParameter("assigneeId");
//如果assigneeId 为空查询发起流程,否则查询待办流程
if(StringUtils.isNotBlank(assigneeId) && assigneeId.equals(user.getId().toString())){
searchQuery.addEqual("assignee",user.getLoginname());
searchQuery.addEqual("states",SystemConstantsOa.OA_STATUS_TYPE_ING.toString());
}else{
searchQuery.addEqual("createuser",user.getLoginname());
if (StringUtils.isNotBlank(assigneeId) && assigneeId.equals(user.getId().toString())) {
searchQuery.addEqual("assignee", user.getLoginname());
searchQuery.addEqual("states", SystemConstantsOa.OA_STATUS_TYPE_ING.toString());
} else {
searchQuery.addEqual("createuser", user.getLoginname());
}
searchQuery.addEqual("tenantid",tenantId);
flowTaskService.getMyProcessInstances(searchQuery.getQuery(),pageUtils);
searchQuery.addEqual("tenantid", tenantId);
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();
if(null != list && !list.isEmpty()){
if (null != list && !list.isEmpty()) {
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.setView(userViewApproeService.haveByFromid(flowUnionVo.getFormid().toString()));
}
@ -318,34 +284,42 @@ public class FlowTaskController extends BaseController {
}
return ResultVoUtil.success(pageUtils);
}
/**
*
*
*
*
* @return
*/
@ApiOperation(value="我的任务", notes="查询我的待办、已经办理任务")
@ApiOperation(value = "我的任务", notes = "查询我的待办、已经办理任务")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
})
@GetMapping("/listalldata")
@ResponseBody
public ResultVo listAlldata(PageUtils pageUtils, HttpServletRequest request){
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request,"search_");
public ResultVo listAlldata(PageUtils pageUtils, HttpServletRequest request) {
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
//租户主键,由前端页面传送
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("租户主键不能为空");
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(taskName)) {
searchQuery.addLike("fromtaskname", taskName);
}
User user = this.userService.getSessionUser(request);
if(user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))){
//获取用户预设检索条件id
String userSearchId = request.getParameter("userSearchId");
flowTaskService.getMyProcessInstances(searchQuery.getQuery(),pageUtils);
}else{
flowTaskService.getMyProcessInstances(user,tenantId,searchQuery.getQuery(),pageUtils);
User user = this.userService.getSessionUser(request);
if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) {
flowTaskService.getMyProcessInstances(searchQuery.getQuery(), pageUtils);
} else {
flowTaskService.getMyProcessInstances(user, tenantId, searchQuery.getQuery(), pageUtils,userSearchId);
//待办信息,增加是否查看标记
// if(StringUtils.isNotBlank(assigneeId) && assigneeId.equals(user.getId().toString())){
@ -364,69 +338,194 @@ public class FlowTaskController extends BaseController {
}
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
*/
@ApiOperation(value="我的终审列表", notes="我的终审列表")
@ApiOperation(value = "我的终审列表", notes = "我的终审列表")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
})
@GetMapping("/listfinal")
@ResponseBody
public ResultVo<OcrTaskchildPicture> listFinalData(PageUtils<OcrTaskchildPicture> pageUtils,
@RequestParam(name="search_fromuserid", defaultValue="",required = false) String searchFromuserid,
@RequestParam(name="search_fromprojectid", defaultValue="",required = false) String searchFromprojectid,
@RequestParam(name="search_fromplanid", defaultValue="",required = false) String searchFromplanid,
@RequestParam(name="search_states", defaultValue="",required = false) String searchStates,
@RequestParam(name="search_fromsourceid", defaultValue="",required = false) String searchFromsourceid,
@RequestParam(name="fromuptime_start", defaultValue="",required = false) BigDecimal fromuptimeStart,
@RequestParam(name="fromuptime_end", defaultValue="",required = false) BigDecimal fromuptimeEnd,
HttpServletRequest request){
@RequestParam(name = "izupuser", defaultValue = "", required = false) String izupuser,
@RequestParam(name = "taskName", defaultValue = "", required = false) String taskName,
@RequestParam(name = "izproject", defaultValue = "", required = false) String izproject,
@RequestParam(name = "izplan", defaultValue = "", required = false) String izplan,
@RequestParam(name = "izstatus", defaultValue = "", required = false) String izstatus,
@RequestParam(name = "iztaskrrom", defaultValue = "", required = false) String iztaskrrom,
@RequestParam(name = "izuptime", defaultValue = "", required = false) String izuptime,
HttpServletRequest request) {
SearchQuery searchQuery = new SearchQuery();
if(org.springframework.util.StringUtils.hasText(searchFromuserid)){
searchQuery.addEqual("fromuserid",searchFromuserid);
if (org.springframework.util.StringUtils.hasText(izupuser)) {
// 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(org.springframework.util.StringUtils.hasText(searchFromprojectid)){
searchQuery.addEqual("fromprojectid",searchFromprojectid);
if(StringUtils.isNotBlank(taskName)){
searchQuery.addLike("fromtaskname",taskName);
}
if (org.springframework.util.StringUtils.hasText(izproject)) {
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(izplan)) {
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(searchFromplanid)){
searchQuery.addEqual("fromplanid",searchFromplanid);
if (org.springframework.util.StringUtils.hasText(izstatus)) {
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(searchStates)){
searchQuery.addEqual("states",searchStates);
if (org.springframework.util.StringUtils.hasText(iztaskrrom)) {
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(searchFromsourceid)){
searchQuery.addEqual("fromsourceid",searchFromsourceid);
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");
if(org.apache.commons.lang3.StringUtils.isBlank(tenantId)){
if (org.apache.commons.lang3.StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
User user = this.userService.getSessionUser(request);
if(user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))){
}else{
searchQuery.addEqual("thisLoginUserid",user.getId().toString());
searchQuery.addEqual("tenantid",tenantId);
if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) {
} else {
searchQuery.addEqual("thisLoginUserid", user.getId().toString());
searchQuery.addEqual("tenantid", tenantId);
}
String searchId = request.getParameter("searchId");
Map<String,Object> query = searchQuery.getQuery();
if(fromuptimeStart != null){
query.put("fromuptimeStart",fromuptimeStart);
}
if(fromuptimeEnd != null) {
query.put("fromuptimeEnd", fromuptimeEnd);
if (StringUtils.isNotBlank(searchId)) {
List<OcrUsersearchchild> list = usersearchchildService.list(new LambdaQueryWrapper<OcrUsersearchchild>().eq(OcrUsersearchchild::getUsersearchid, searchId).orderByAsc(OcrUsersearchchild::getOrderNum));
for (OcrUsersearchchild userSearch : list) {
disSearchQuery(searchQuery, userSearch);
}
}
flowTaskService.getFinalProcessInstances(query,pageUtils);
Map<String, Object> query = searchQuery.getQuery();
flowTaskService.getFinalProcessInstances(query, 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
*/
@GetMapping("/listdataall")
@ -448,10 +547,10 @@ public class FlowTaskController extends BaseController {
searchQuery.addEqual("createuser", user.getLoginname());
//流程类型对应流程类型表OA_CATEGORY_T的id
searchQuery.addEqual("categoryid", categoryid);
if(StringUtils.isNotBlank(buessinessno)){
if (StringUtils.isNotBlank(buessinessno)) {
searchQuery.addEqual("buessinessno", buessinessno);
}
if(StringUtils.isNotBlank(formid)){
if (StringUtils.isNotBlank(formid)) {
searchQuery.addEqual("id", formid);
}
@ -462,102 +561,128 @@ public class FlowTaskController extends BaseController {
}
return ResultVoUtil.success(flowUnionVoList);
}
/**
*
*
* @param pageUtils
* @param request
* @return
*/
@GetMapping("/listdatacc")
@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_");
Map<String, Object> query = searchQuery.getQuery();
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
flowTaskService.getMyListCc(query,userToken,paramterPage);
flowTaskService.getMyListCc(query, userToken, paramterPage);
return ResultVoUtil.success(pageUtils);
}
/**
*
*
*
*
* @return
*/
@GetMapping("/mylistcc")
@ResponseBody
public ResultVo myListCc(ParamterPage paramterPage, HttpServletRequest request){
public ResultVo myListCc(ParamterPage paramterPage, HttpServletRequest request) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
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
*/
@GetMapping("/cancelTask")
@ResponseBody
public ResultVo cancelTask(HttpServletRequest request){
public ResultVo cancelTask(HttpServletRequest request) {
String taskId = request.getParameter("taskId");
String reason = request.getParameter("reason");
flowTaskService.cancelTask(taskId,reason);
flowTaskService.cancelTask(taskId, reason);
return ResultVoUtil.success();
}
/**
*
*
* @return
*/
@ApiOperation(value="重置流程流程", notes="重置流程流程")
@ApiOperation(value = "重置流程流程", notes = "重置流程流程")
@ApiImplicitParams({
@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")
@ResponseBody
public ResultVo removeTask(HttpServletRequest request){
public ResultVo removeTask(HttpServletRequest request) {
String fromid = request.getParameter("fromid");
String taskid = request.getParameter("taskid");
return flowTaskService.removeTask(fromid,taskid);
return flowTaskService.removeTask(fromid, taskid);
//return ResultVoUtil.success();
}
/**
*
*
* @return
*/
@ApiOperation(value="重置流程流程", notes="重置流程流程")
@ApiOperation(value = "重置流程流程", notes = "重置流程流程")
@ApiImplicitParams({
@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")
@ResponseBody
public ResultVo historyTask(HttpServletRequest request){
public ResultVo historyTask(HttpServletRequest request) {
String fromid = request.getParameter("fromid");
String taskid = request.getParameter("buessinessno");
return flowTaskService.removeTask(fromid,taskid);
return flowTaskService.removeTask(fromid, taskid);
//return ResultVoUtil.success();
}
/**
*
*
* @return
*/
@ApiOperation(value="重复流程", notes="重复流程")
@ApiOperation(value = "重复流程", notes = "重复流程")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
})
@GetMapping("/repetitionTask")
@ResponseBody
public ResultVo repetitionTask(HttpServletRequest request){
public ResultVo 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.vo.FlowTaskCompleteVO;
import cn.jyjz.flowable.domain.vo.FlowTaskVO;
import cn.jyjz.flowable.domain.vo.WorkFlowNodeVO;
import cn.jyjz.flowable.entity.FlowApprove;
import cn.jyjz.flowable.utils.PageUtils;
import cn.jyjz.xiaoyao.admin.dataobject.User;
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.vo.FlowUnionVo;
import cn.jyjz.xiaoyao.oa.from.vo.RepeatedTaskVo;
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.extension.plugins.pagination.Page;
import org.flowable.engine.repository.ProcessDefinition;
import org.flowable.task.api.Task;
@ -32,7 +37,8 @@ public interface IFlowTaskService {
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
*/
public void updateAssignee(String processInstanceId, String processDefinitionId, ProcessDefinition processDefinition);
void sendMsg(OcrTaskchildPicture model, UserToken userToken);
void finishedList(PageUtils pageUtils, HttpServletRequest request);
/**
@ -68,7 +74,16 @@ public interface IFlowTaskService {
* @param tenantId
* @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);
/**
* 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
*/
ResultVo repetitionTask();
Page<OcrTaskchildPicture> repetitionTaskList(Integer pageNo, Integer pageSize);
}

@ -1,6 +1,7 @@
package cn.jyjz.flowable.service;
import cn.jyjz.flowable.domain.vo.FlowModelVO;
import org.flowable.task.api.Task;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
@ -36,7 +37,7 @@ public interface IFormCustomService<T> {
* @param deploymentid
* @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

@ -93,12 +93,12 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
throw new ServiceException("没有审批人,请联系管理员,流程定义:" + businessKey);
}
List<Task> list = this.flowTaskService.nowRunTask(processInstance.getProcessInstanceId(), processInstance.getProcessDefinitionId());
String taskname = "";
Task task = null;
if (null != list && !list.isEmpty()) {
taskname = list.get(0).getName();
task = list.get(0);
}
//保存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) {
FlowModelVO flowModelVO = iFormCustomService.getForm(formid);
//增加未查看记录
@ -121,7 +121,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
if (StringUtils.isNotBlank(servicename) && StringUtils.isNotBlank(formid)) {
iFormCustomService.delForm(formid);
}
}finally {
} finally {
RequestContextHolder.resetRequestAttributes();
}
return false;
@ -165,12 +165,12 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
throw new ServiceException("没有审批人,请联系管理员,流程定义:" + businessKey);
}
List<Task> list = this.flowTaskService.nowRunTask(processInstance.getProcessInstanceId(), processInstance.getProcessDefinitionId());
String taskname = "";
Task task = null;
if (null != list && !list.isEmpty()) {
taskname = list.get(0).getName();
task = list.get(0);
}
//保存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) {
FlowModelVO flowModelVO = iFormCustomService.getForm(formid);
//增加未查看记录

@ -62,7 +62,7 @@ public class CategoryController extends BaseController{
QueryWrapper<Category> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,category);
IPage<Category> page = this.categoryService.selectSearchListPage(paramterPage,queryWrapper);
for(Category category1:page.getRecords()){
category1.setTenant(tenantService.selectDtoById(category1.getTenantid()));
category1.setTenant(tenantService.selectDtoById(Long.parseLong(category1.getTenantid())));
}
return ResultVoUtil.success(page);
}

@ -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.vo.FlowUnionVo;
import cn.jyjz.xiaoyao.oa.from.vo.RepeatedContentVo;
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.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@ -36,5 +39,7 @@ public interface FlowableccMybatisDao extends BaseMapper<Flowablecc> {
*/
List<UserDistionaryVo> selectUserByFromid(String fromid);
List<Map<String,Object>> repetitionTask();
List<RepeatedContentVo> repetitionTask();
Page<OcrTaskchildPicture> repetitionTaskList(Page<OcrTaskchildPicture> page);
}

@ -100,7 +100,7 @@ public class Category implements BaseDto,java.io.Serializable {
@Schema(description = "租户主键")
@TableField(value="TENANTID")
private Long tenantid;
private String tenantid;
//租户对象
@TableField(exist = false)

@ -66,6 +66,21 @@ public class Userapprove implements BaseDto,java.io.Serializable {
@Schema(description = "节点编号")
@TableField(value="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)

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

@ -45,6 +45,9 @@ public class FlowUnionVo {
@ApiModelProperty(value ="状态,审批状态 1:撤销 2:审批中 3:审批通过 5审批未通过 ")
private Integer states;
@ApiModelProperty(value ="状态,审批状态 1:撤销 2:审批中 3:审批通过 5审批未通过 ")
private String statesText;
@ApiModelProperty(value ="流程定义id")
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;
/**
*
* 访
*/
String manufacturer;
String companyDepartment;
/**
*
*/
Map<String,Object> manufacturer;
/**
* 访
@ -195,5 +199,9 @@ public class PictureSourceResult {
*/
Map<String,Object> extendedField;
/**
*
*/
Long submitTime;
}

@ -80,11 +80,15 @@ public class PrevailCloudApiImpl implements PrevailCloudApi {
//加密请求参数
String tenantNo = pictureSourceParameter.getTenantNo().toString();
String json = JSONObject.toJSONString(queryParam);
System.out.println(json);
RequestData requestData = ApiHelper.buildRequest(tenantNo, apiConfig.getAccessKey(), apiConfig.getAccessCode(),json);
//组装请求参数
String url = apiConfig.getInterfaceDomain()+pictureSourceUrl;
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.setJsonParamer(requestBodyJson);
//发起请求

@ -37,18 +37,18 @@ public class ApiTestController {
String pageNo = request.getParameter("pageNo");
PictureSourceParameter pictureSourceParameter = new PictureSourceParameter();
// 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(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");
Instant binstant = dateTime.toInstant();
// DateTime dateTime1 = DateUtil.parse(" 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(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");
Instant einstant = dateTime1.toInstant();
pictureSourceParameter.setStartTime(Date.from(binstant));
pictureSourceParameter.setEndTime(Date.from(einstant));
pictureSourceParameter.setPageNo(Integer.parseInt(pageNo));
pictureSourceParameter.setPageSize(Integer.parseInt(pageSize));
pictureSourceParameter.setTenantNo(1714548920583360512L);
pictureSourceParameter.setAccountNo(1714559587755397120L);
pictureSourceParameter.setAccountNo(1714887674875514880L);
try {
ApiPage<PictureSourceResult> apiPage = prevailCloudApi.pullPictureSource(pictureSourceParameter);
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.eq("CREATEUSER",userToken.getLoginname());
queryWrapper.eq("TENANTID",tenantId);
queryWrapper.orderByDesc("CREATEDATE");
List<OcrBooknote> list = ocrBooknoteService.list(queryWrapper);
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.ocr.dataobject.OcrDictionary;
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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -61,4 +59,26 @@ public class OcrDictionaryController {
}
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="字段新增和修改")
@PostMapping(value = "/saveOrUpdate")
public ResultVo saveOrUpdate(@ApiParam(value = "字段信息", required = true) OcrFieldVo ocrFieldVo) {
public ResultVo saveOrUpdate(@ApiParam(value = "字段信息", required = true) @RequestBody OcrFieldVo ocrFieldVo) {
try {
OcrField ocrField = new OcrField();
ocrField.setName(ocrFieldVo.getName());

@ -1,5 +1,6 @@
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.util.RequestBaseUtil;
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.service.IOcrMsgService;
import cn.jyjz.xiaoyao.ocr.util.PageRequest;
import cn.jyjz.xiaoyao.ocr.vo.OcrMsgVO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.ApiOperation;
@ -19,9 +21,11 @@ import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
import cn.jyjz.xiaoyao.ocr.service.IOcrMsgReadService;
import java.sql.Array;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* ocr
@ -67,7 +71,8 @@ public class OcrMsgReadController {
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);
@ -97,6 +102,15 @@ public class OcrMsgReadController {
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
*/
@ApiOperation(value = "消除未读所有", notes = "消除未读所有")
@RequestMapping(value = "eliminateUnreadfull", method = RequestMethod.POST)
public ResultVo eliminateUnreadfull(HttpServletRequest request, @RequestParam(value = "msgCategory", required = false)String msgCategory) {
@RequestMapping(value = "eliminateUnreadfull", method = RequestMethod.GET)
public ResultVo eliminateUnreadfull(HttpServletRequest request, @RequestParam(value = "msgCategory", required = true)String msgCategory) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
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)");
QueryWrapper<OcrMsgRead> wrapperone = new QueryWrapper<>();
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)");
});
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSSS");
List<OcrMsg> list = iocrmsgservice.list(wrapperlist);
for (OcrMsg msg:list){
QueryWrapper<OcrMsgRead> wrapperone = new QueryWrapper<>();
wrapperone.eq("msg_id", msg.getId()).eq("user_id",userToken.getUserid());
OcrMsgRead one = ocrMsgReadService.getOne(wrapperone);
if(null==one) {
@ -136,26 +151,32 @@ public class OcrMsgReadController {
}
@ApiOperation(value = "消除未读单个", notes = "消除未读单个")
@RequestMapping(value = "eliminateUnreadone", method = RequestMethod.POST)
public ResultVo eliminateUnreadone(HttpServletRequest request, @RequestParam(value = "msgid", required = false)String msgid) {
@RequestMapping(value = "eliminateUnreadone", method = RequestMethod.GET)
public ResultVo eliminateUnreadone(HttpServletRequest request, @RequestParam(value = "msgid", required = true)String msgid) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
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 new ResponseEntity<Object>(save,HttpStatus.OK);
return ResultVoUtil.success(save);
return ResultVoUtil.success(ResultVo.SUCCESS);
}
}

@ -1,8 +1,8 @@
package cn.jyjz.xiaoyao.ocr.controller;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
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.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService;
import cn.jyjz.xiaoyao.ocr.vo.OcrPackagetaskVo;
import cn.jyjz.xiaoyao.upload.upload.UploadSpringUtil;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.type.TypeReference;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@ -37,7 +40,7 @@ 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 java.lang.reflect.Field;
import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
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)
})
@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="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest request) {
@ -109,7 +112,53 @@ public class OcrPackagetaskController extends BaseController{
}
Page<OcrPackagetask> page = new Page<OcrPackagetask>(pageNo, pageSize);
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;
}
/**

@ -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.vo.UserToken;
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.OcrPictureclassService;
import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService;
import cn.jyjz.xiaoyao.ocr.util.DataUtil;
import cn.jyjz.xiaoyao.ocr.util.SearchConfigEnum;
@ -49,8 +48,6 @@ public class OcrPictureController extends BaseController {
@Resource
private OcrPictureService ocrPictureService;
@Resource
private OcrPictureclassService ocrPictureclassService;
@Resource
private OcrTaskchildPictureService ocrTaskchildPictureService;
@Resource
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_history", value = "是否查询历史记录0不查询1查询", required = true)
})
@GetMapping(value = "/createorder")
public ResultVo createorder(OcrPicture ocrPicture,
HttpServletRequest req) {
@GetMapping(value = "/checkHeavy")
public ResultVo checkHeavy(OcrPicture ocrPicture, 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");
@ -140,7 +136,7 @@ public class OcrPictureController extends BaseController {
String search_history = req.getParameter("search_history");
//任务包名称
String buessinessno = req.getParameter("buessinessno");
//String buessinessno = req.getParameter("buessinessno");
//搜索时间段
// String search_month = req.getParameter("search_month");
@ -176,14 +172,71 @@ public class OcrPictureController extends BaseController {
if (null != pageList && !pageList.isEmpty()) {
if (pageList.size() == 1) {
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 {
return ResultVoUtil.error("没有查重数据。");
}
}
/**
*
*
@ -211,18 +264,39 @@ public class OcrPictureController extends BaseController {
return ResultVoUtil.error("租户主键不能为空");
}
QueryWrapper<OcrPicture> queryWrapper = new QueryWrapper<>();
//是否查询历史记录
String search_history = req.getParameter("search_history");
//判断是否需要查询历史记录
if (search_history.equals("0")) {
queryWrapper.eq("taskstatus", search_history);
String search_month = req.getParameter("search_month");
String ordertype = req.getParameter("ordertype");
queryWrapper.eq("suspiciousfile", "0");
if (StringUtils.isNotBlank(ordertype)) {
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) {
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
@ -240,14 +314,6 @@ public class OcrPictureController extends BaseController {
Page<OcrPicture> page = new Page<OcrPicture>(pageNo, pageSize);
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);
}
@ -327,4 +393,29 @@ public class OcrPictureController extends BaseController {
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.HttpServletResponse;
import cn.jyjz.xiaoyao.ocr.service.OcrPicturejobService;
import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -28,8 +27,6 @@ public class OcrPicturejobHtmlController extends BaseController{
private Logger log = LoggerFactory.getLogger(this.getClass());
@Autowired
private OcrPicturejobService ocrPicturejobService;
@Autowired
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"))){
BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
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);
if(update){
// return new ResponseEntity<Object>("密码重设成功!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"密码重设成功!");
return ResultVoUtil.success(ResultVo.SUCCESS,"密码重设成功!");
}
}else{
// return new ResponseEntity<Object>("两次密码输入不一致!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"两次密码输入不一致!");
return ResultVoUtil.error(ResultVo.ERROR,"两次密码输入不一致!");
}
}else{
// return new ResponseEntity<Object>("请再次输入新密码!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"请再次输入新密码!");
return ResultVoUtil.error(ResultVo.ERROR,"请再次输入新密码!");
}
}else{
// return new ResponseEntity<Object>("请输入新密码!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"请输入新密码!");
return ResultVoUtil.error(ResultVo.ERROR,"请输入新密码!");
}
}else {
// 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 = "忘记密码")
@ -131,40 +131,40 @@ public class OcrSUserTController {
return ResultVoUtil.success(ResultVo.SUCCESS,list);
}else {
// return new ResponseEntity<Object>("验证码错误!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"验证码错误!");
return ResultVoUtil.error(ResultVo.ERROR,"验证码错误!");
}
}else {
// return new ResponseEntity<Object>("手机号错误!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"手机号错误!");
return ResultVoUtil.error(ResultVo.ERROR,"手机号错误!");
}
}else {
// return new ResponseEntity<Object>("账号不存在!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"账号不存在!");
return ResultVoUtil.error(ResultVo.ERROR,"账号不存在!");
}
}else {
// return new ResponseEntity<Object>("企业编码错误!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"企业编码错误!");
return ResultVoUtil.error(ResultVo.ERROR,"企业编码错误!");
}
}else {
// return new ResponseEntity<Object>("请输入企业编码!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"请输入企业编码!");
return ResultVoUtil.error(ResultVo.ERROR,"请输入企业编码!");
}
}else {
// return new ResponseEntity<Object>("请输入验证码!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"请输入验证码!");
return ResultVoUtil.error(ResultVo.ERROR,"请输入验证码!");
}
}else {
// return new ResponseEntity<Object>("请输入手机号!",HttpStatus.OK);
return ResultVoUtil.error(ResultVo.SUCCESS,"请输入手机号!");
return ResultVoUtil.error(ResultVo.ERROR,"请输入手机号!");
}
}else {
// 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.ocr.dataobject.OcrSearchHistory;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -15,6 +16,7 @@ import javax.servlet.http.HttpServletRequest;
import cn.jyjz.xiaoyao.ocr.service.IOcrSearchHistoryService;
import java.util.List;
import java.util.Map;
/**
* ocr
@ -42,13 +44,20 @@ public class OcrSearchHistoryController {
*/
@RequestMapping(value = "/searchList", method = RequestMethod.GET)
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));
//执行查询方法
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.setHistoryname(search);
ocrsearchhistory.setTenantId(Long.valueOf(tenantId));
ocrsearchhistory.setUserid(Long.valueOf(userToken.getUserid()));
ocrsearchhistory.setCreatedate(System.currentTimeMillis());
ocrSearchHistoryService.save(ocrsearchhistory);
@ -67,9 +76,16 @@ public class OcrSearchHistoryController {
*/
@RequestMapping(value = "/searchdelete", method = RequestMethod.DELETE)
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));
QueryWrapper<OcrSearchHistory> wrapper = new QueryWrapper<>();
wrapper.eq("userid",userToken.getUserid());
wrapper.eq("tenant_id",Long.valueOf(tenantId));
//根据具体情况 判断 是否需要 进行数据返回, 默认不返回数据
ocrSearchHistoryService.remove(wrapper);
// return new ResponseEntity<Object>("true",HttpStatus.OK);
@ -84,10 +100,15 @@ public class OcrSearchHistoryController {
*/
@RequestMapping(value = "/historySearch", method = RequestMethod.GET)
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<>();
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);
// 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.service.OcrSearchmanagerService;
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 io.swagger.annotations.*;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -72,6 +69,7 @@ public class OcrSearchmanagerController extends BaseController{
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("create_by",userToken.getLoginname());
queryWrapper.eq("tenant_id",tenantId);
queryWrapper.eq("type",ocrSearchmanager.getType());
List<OcrSearchmanager> list = ocrSearchmanagerService.list(queryWrapper);
@ -82,6 +80,7 @@ public class OcrSearchmanagerController extends BaseController{
ocrSearchmanager.setCreateBy(userToken.getLoginname());
ocrSearchmanager.setCreateTime(System.currentTimeMillis());
ocrSearchmanager.setTenantId(Long.parseLong(tenantId));
ocrSearchmanager.setType(ocrSearchmanager.getType());
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)
})
@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));
@ -111,6 +110,7 @@ public class OcrSearchmanagerController extends BaseController{
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("create_by",userToken.getLoginname());
queryWrapper.eq("tenant_id",tenantId);
queryWrapper.eq("type",type);
OcrSearchmanager ocrSearchmanager = null;
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;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
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.service.OcrPictureService;
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.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.beust.jcommander.Parameter;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@ -21,7 +27,9 @@ import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
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.*;
@ -37,279 +45,368 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
@RestController
@RequestMapping("/backstage/jifen/ocrtaskchildpicture")
public class OcrTaskchildPictureController extends BaseController{
private Logger log = LoggerFactory.getLogger(this.getClass());
@Resource
private OcrTaskchildPictureService ocrTaskchildPictureService;
@Resource
private OcrPictureService ocrPictureService;
@Resource
private UserTokenService userTokenService;
@Resource
private UserService userService;
/**
*jsondto
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@GetMapping("/list")
public ResultVo<IPage<OcrTaskchildPicture>> listOcrTaskchildPicture(ParamterPage paramterPage, HttpServletRequest request, HttpServletResponse response) throws IOException{
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
OcrTaskchildPicture ocrtaskchildpicture = new OcrTaskchildPicture();
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
**/
@ApiOperation(value="ocr_任务包下的任务集合", notes="ocr_任务包下的任务集合")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
@ApiImplicitParam(paramType = "path",name = "packageid", value = "任务包主键", required = true)
})
@GetMapping("/listbypackageid/{packageid}")
public ResultVo<IPage<OcrTaskchildPicture>> listbypackageid(ParamterPage paramterPage,
HttpServletRequest request,
HttpServletResponse response,
@PathVariable("packageid") String packageid) throws IOException{
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空");
}
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
OcrTaskchildPicture ocrtaskchildpicture = new OcrTaskchildPicture();
QueryWrapper<OcrTaskchildPicture> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrtaskchildpicture);
queryWrapper.eq("TENANTID",tenantId);
queryWrapper.eq("PACKAGEID",packageid);
IPage<OcrTaskchildPicture> page = this.ocrTaskchildPictureService.selectSearchListPage(paramterPage,queryWrapper);
QueryWrapper<OcrTaskchildPicture> queryWrapperNex = SearchQueryFormat.queryStringFormat(searchQuery,ocrtaskchildpicture);
if(!page.getRecords().isEmpty()){
OcrTaskchildPicture ocrTaskchildPicture = page.getRecords().get(0);
queryWrapperNex.eq("TENANTID",tenantId);
queryWrapperNex.in("PICTUREID",ocrTaskchildPicture.getOcpictureid().split(","));
page = this.ocrTaskchildPictureService.selectSearchListPage(paramterPage,queryWrapperNex);
}
return ResultVoUtil.success(page);
}
@ApiOperation(value="ocr_任务包下的当前图片比对的集合列表", notes="ocr_任务包下的当前图片比对的集合列表")
@ApiImplicitParams({
@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)
})
@GetMapping("/listbypictureid/{packageid}/{taskchildpictureid}")
public ResultVo<IPage<OcrTaskchildPicture>> listbypackageidlistbypictureid(ParamterPage paramterPage,
HttpServletRequest request,
HttpServletResponse response,
@PathVariable("packageid") String packageid,
@PathVariable("taskchildpictureid") String taskchildpictureid) throws IOException{
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){
return ResultVoUtil.error("租户主键不能为空");
}
//排序方式
String orderbyname = request.getParameter("orderbyname");
//排序字段
String orderbyvalue = request.getParameter("orderbyvalue");
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
OcrTaskchildPicture ocrtaskchildpicture = new OcrTaskchildPicture();
QueryWrapper<OcrTaskchildPicture> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrtaskchildpicture);
//queryWrapper.eq("TENANTID",tenantId);
//queryWrapper.eq("PACKAGEID",packageid);
IPage<OcrTaskchildPicture> page = this.ocrTaskchildPictureService.listByPackageId(taskchildpictureid,paramterPage,queryWrapper,orderbyname,orderbyvalue, packageid,tenantId);
return ResultVoUtil.success(page);
}
/**
*
*
* @param req
* @return
*/
@ApiOperation(value="任务主图真假标记", notes="任务主图真假标记")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "path",name = "taskchildpictureid", value = "任务主键", required = true),
@ApiImplicitParam(paramType = "path",name = "izTrueorfalse", value = "主图片真假0:假1真", required = true),
@ApiImplicitParam(paramType = "path",name = "judgeid", value = "主图判真假原因id,从字典表中获得", required = true),
@ApiImplicitParam(paramType = "path",name = "judgedesc", value = "真假其他原因", required = false),
@ApiImplicitParam(paramType = "path",name = "packageid", value = "任务包主键", required = true)
})
@PostMapping(value = "/ordertrueorfalse")
public ResultVo ordertrueorfalse(@RequestParam(name="taskchildpictureids",required=true) String taskchildpictureids,
@RequestParam(name="iztrueorfalse",required=true) String iztrueorfalse,
@RequestParam(name="judgeid",required=true) String judgeid,
@RequestParam(name="judgedesc",required=false) String judgedesc,
@RequestParam(name="packageid",required=true) String packageid,
HttpServletRequest req) {
//如果是历史图片,不允许进行设置
//如果是已经审批完成的图片不允许是指
OcrTaskchildPicture ocrTaskchildPicture = new OcrTaskchildPicture();
ocrTaskchildPicture.setPackageid(Long.parseLong(packageid));
return ocrTaskchildPictureService.trueorfalse(taskchildpictureids,packageid,iztrueorfalse,judgeid,judgedesc);
}
/**
*
*
* @param req
* @return
*/
@ApiOperation(value="任务清除标记", notes="任务清除标记")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "path",name = "taskchildpictureid", value = "任务主键", required = true),
@ApiImplicitParam(paramType = "path",name = "packageid", value = "任务包主键", required = true)
})
@PostMapping(value = "/clearmark")
public ResultVo clearmark(@RequestParam(name="taskchildpictureid",required=true) String taskchildpictureid,
@RequestParam(name="packageid",required=true) String packageid,
HttpServletRequest req) {
//如果是历史图片,不允许进行设置
//如果是已经审批完成的图片不允许是指
OcrTaskchildPicture ocrTaskchildPicture = new OcrTaskchildPicture();
ocrTaskchildPicture.setPackageid(Long.parseLong(packageid));
return ocrTaskchildPictureService.clearmark(taskchildpictureid,packageid);
}
/**
*
*
* @param req
* @return
*/
@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,
HttpServletRequest req) {
//如果是历史图片,不允许进行设置
//如果是已经审批完成的图片不允许是指
OcrTaskchildPicture ocrTaskchildPicture = new OcrTaskchildPicture();
ocrTaskchildPicture.setPackageid(Long.parseLong(packageid));
List<OcrTaskchildPicture> list = ocrTaskchildPictureService.markpoint(packageid);
if(null != list && !list.isEmpty()){
return ResultVoUtil.success(list);
}
return ResultVoUtil.error();
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@ApiOperation(value="ocr_任务包下的当前展示的任务对象", notes="ocr_任务包下的当前展示的任务对象")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "path",name = "id", value = "当前选中的任务主键", required = true),
@ApiImplicitParam(paramType = "path",name = "packageid", value = "任务包主键注意不是当前任务关联的packageid而是当前选中的任务包主键", required = true)
})
@GetMapping("/getdata/{id}/{packageid}")
@ResponseBody
public ResultVo getdateOcrTaskchildPicture(HttpServletResponse response,HttpServletRequest request,
@PathVariable("packageid") Long packageid,
@PathVariable("id") Long id) throws IOException{
OcrTaskchildPicture dto = this.ocrTaskchildPictureService.listPicturePackageId(id.toString(),packageid);
if(null != dto){
return ResultVoUtil.success(dto);
}else{
return ResultVoUtil.error();
}
}
/**
*
*mail.zhangyong@gmail.com
*2024-01-14 10:27:01
**/
@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();
}
public class OcrTaskchildPictureController extends BaseController {
private Logger log = LoggerFactory.getLogger(this.getClass());
@Resource
private OcrTaskchildPictureService ocrTaskchildPictureService;
@Resource
private OcrPictureService ocrPictureService;
@Resource
private UserTokenService userTokenService;
@Resource
private UserService userService;
/**
* jsondto
* mail.zhangyong@gmail.com
* 2024-01-14 10:27:01
**/
@GetMapping("/list")
public ResultVo<IPage<OcrTaskchildPicture>> listOcrTaskchildPicture(ParamterPage paramterPage, HttpServletRequest request, HttpServletResponse response) throws IOException {
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
OcrTaskchildPicture ocrtaskchildpicture = new OcrTaskchildPicture();
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
**/
@ApiOperation(value = "ocr_任务包下的任务集合", notes = "ocr_任务包下的任务集合")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
@ApiImplicitParam(paramType = "path", name = "packageid", value = "任务包主键", required = true)
})
@GetMapping("/listbypackageid/{packageid}")
public ResultVo<IPage<OcrTaskchildPicture>> listbypackageid(ParamterPage paramterPage,
HttpServletRequest request,
HttpServletResponse response,
@PathVariable("packageid") String packageid) throws IOException {
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
OcrTaskchildPicture ocrtaskchildpicture = new OcrTaskchildPicture();
QueryWrapper<OcrTaskchildPicture> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery, ocrtaskchildpicture);
queryWrapper.eq("TENANTID", tenantId);
if (StringUtils.isNotBlank(packageid)) {
queryWrapper.eq("PACKAGEID", packageid);
}
IPage<OcrTaskchildPicture> page = this.ocrTaskchildPictureService.selectSearchListPage(paramterPage, queryWrapper);
QueryWrapper<OcrTaskchildPicture> queryWrapperNex = SearchQueryFormat.queryStringFormat(searchQuery, ocrtaskchildpicture);
if (!page.getRecords().isEmpty()) {
OcrTaskchildPicture ocrTaskchildPicture = page.getRecords().get(0);
queryWrapperNex.eq("TENANTID", tenantId);
queryWrapperNex.in("PICTUREID", ocrTaskchildPicture.getOcpictureid().split(","));
page = this.ocrTaskchildPictureService.selectSearchListPage(paramterPage, queryWrapperNex);
}
return ResultVoUtil.success(page);
}
@ApiOperation(value = "ocr_任务包下的当前图片比对的集合列表", notes = "ocr_任务包下的当前图片比对的集合列表")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
@ApiImplicitParam(paramType = "path", name = "packageid", value = "任务包主键"),
@ApiImplicitParam(paramType = "path", name = "taskchildpictureid", value = "当前选中的任务主键", required = true)
})
@GetMapping("/listbypictureid/{packageid}/{taskchildpictureid}")
public ResultVo<IPage<OcrTaskchildPicture>> listbypackageidlistbypictureid(ParamterPage paramterPage,
HttpServletRequest request,
HttpServletResponse response,
@PathVariable("packageid") String packageid,
@PathVariable("taskchildpictureid") String taskchildpictureid) throws IOException {
//获取页码、当前页
String pageNoStr = request.getParameter("pageNo");
String pageSizeStr = request.getParameter("pageSize");
if (StringUtils.isEmpty(pageNoStr) || StringUtils.isEmpty(pageSizeStr)) {
return ResultVoUtil.error("页码和条数必传!");
}
paramterPage.setStart(Integer.parseInt(pageNoStr));
paramterPage.setPagesize(Integer.parseInt(pageSizeStr));
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
//排序方式
String orderbyname = request.getParameter("orderbyname");
//排序字段
String orderbyvalue = request.getParameter("orderbyvalue");
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
OcrTaskchildPicture ocrtaskchildpicture = new OcrTaskchildPicture();
QueryWrapper<OcrTaskchildPicture> queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery, ocrtaskchildpicture);
//
//queryWrapper.eq("TENANTID",tenantId);
//queryWrapper.eq("PACKAGEID",packageid);
IPage<OcrTaskchildPicture> page = this.ocrTaskchildPictureService.listByPackageId(taskchildpictureid, paramterPage, queryWrapper, orderbyname, orderbyvalue, packageid, tenantId);
List<JSONObject> collect = page.getRecords().stream().map(p -> {
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(p));
jsonObject.put("id", jsonObject.getOrDefault("id", null).toString());
jsonObject.put("tenantid", jsonObject.getOrDefault("tenantid", null).toString());
jsonObject.put("pictureid", jsonObject.getOrDefault("pictureid", null).toString());
jsonObject.put("packageid", jsonObject.getOrDefault("packageid", null).toString());
return jsonObject;
}).collect(Collectors.toList());
List<JSONObject> collect1 = new ArrayList<>();
for (JSONObject asd : collect) {
QueryWrapper<OcrPicture> imgWrapper = new QueryWrapper<>();
imgWrapper.eq("id", asd.get("pictureid"));
OcrPicture one = ocrPictureService.getOne(imgWrapper);
if (one.getSuspiciousfile() == 0) {
collect1.add(asd);
}
}
IPage<JSONObject> objects = new Page<>();
BeanUtils.copyProperties(page, objects);
objects.setRecords(collect1);
return ResultVoUtil.success(objects);
}
/**
*
*
* @param req
* @return
*/
@ApiOperation(value = "任务主图真假标记", notes = "任务主图真假标记")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "path", name = "taskchildpictureid", value = "任务主键", required = true),
@ApiImplicitParam(paramType = "path", name = "izTrueorfalse", value = "主图片真假0:假1真", required = true),
@ApiImplicitParam(paramType = "path", name = "judgeid", value = "主图判真假原因id,从字典表中获得", required = true),
@ApiImplicitParam(paramType = "path", name = "judgedesc", value = "真假其他原因", required = false),
@ApiImplicitParam(paramType = "path", name = "packageid", value = "任务包主键", required = true)
})
@PostMapping(value = "/ordertrueorfalse")
public ResultVo ordertrueorfalse(@RequestParam(name = "taskchildpictureids", required = true) String taskchildpictureids,
@RequestParam(name = "iztrueorfalse", required = true) String iztrueorfalse,
@RequestParam(name = "judgeid", required = true) String judgeid,
@RequestParam(name = "judgedesc", required = false) String judgedesc,
@RequestParam(name = "packageid", required = true) String packageid,
HttpServletRequest req) {
//如果是历史图片,不允许进行设置
//如果是已经审批完成的图片不允许是指
OcrTaskchildPicture ocrTaskchildPicture = new OcrTaskchildPicture();
ocrTaskchildPicture.setPackageid(Long.parseLong(packageid));
return ocrTaskchildPictureService.trueorfalse(taskchildpictureids, packageid, iztrueorfalse, judgeid, judgedesc);
}
/**
*
*
* @param req
* @return
*/
// @ApiOperation(value="任务清除标记", notes="任务清除标记")
// @ApiImplicitParams({
// @ApiImplicitParam(paramType = "path",name = "taskchildpictureid", value = "任务主键", required = true),
// @ApiImplicitParam(paramType = "path",name = "packageid", value = "任务包主键", required = true)
// })
// @PostMapping(value = "/clearmark")
// public ResultVo clearmark(@RequestParam(name="taskchildpictureid",required=true) String taskchildpictureid,
// @RequestParam(name="packageid",required=true) String packageid,
// HttpServletRequest req) {
// //如果是历史图片,不允许进行设置
// //如果是已经审批完成的图片不允许是指
//
// OcrTaskchildPicture ocrTaskchildPicture = new OcrTaskchildPicture();
//
// ocrTaskchildPicture.setPackageid(Long.parseLong(packageid));
//
// return ocrTaskchildPictureService.clearmark(taskchildpictureid,packageid);
// }
@ApiOperation(value = "任务清除标记", notes = "任务清除标记")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "path", name = "taskchildpictureid", value = "任务主键", required = true),
@ApiImplicitParam(paramType = "path", name = "packageid", value = "任务包主键", required = true)
})
@PostMapping(value = "/clearmark")
public ResultVo clearmark(@RequestParam(name = "taskchildpictureid", required = true) String taskchildpictureid,
@RequestParam(name = "packageid", required = true) String packageid,
HttpServletRequest request) {
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
return ocrTaskchildPictureService.clearmark(tenantId, taskchildpictureid, packageid);
}
/**
*
*
* @param req
* @return
*/
@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,
HttpServletRequest req) {
//如果是历史图片,不允许进行设置
//如果是已经审批完成的图片不允许是指
OcrTaskchildPicture ocrTaskchildPicture = new OcrTaskchildPicture();
ocrTaskchildPicture.setPackageid(Long.parseLong(packageid));
List<OcrTaskchildPicture> list = ocrTaskchildPictureService.markpoint(packageid);
if (null != list && !list.isEmpty()) {
return ResultVoUtil.success(list);
}
return ResultVoUtil.error();
}
/**
*
* mail.zhangyong@gmail.com
* 2024-01-14 10:27:01
**/
@ApiOperation(value = "ocr_任务包下的当前展示的任务对象", notes = "ocr_任务包下的当前展示的任务对象")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "path", name = "id", value = "当前选中的任务主键", required = true),
@ApiImplicitParam(paramType = "path", name = "packageid", value = "任务包主键注意不是当前任务关联的packageid而是当前选中的任务包主键")
})
@GetMapping("/getdata/{id}/{packageid}")
@ResponseBody
public ResultVo getdateOcrTaskchildPicture(HttpServletResponse response, HttpServletRequest request,
@PathVariable("packageid") Long packageid,
@PathVariable("id") Long id) throws IOException {
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 {
return ResultVoUtil.error();
}
}
/**
*
* mail.zhangyong@gmail.com
* 2024-01-14 10:27:01
**/
@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="保存或更新用户展示字段列表")
@PostMapping(value = "/saveOrUpdate")
public ResultVo saveOrUpdate(@ApiParam(value = "用户字段信息", required = true) OcrUserFieldVo ocrUserFieldVo) {
public ResultVo saveOrUpdate(@ApiParam(value = "用户字段信息", required = true) @RequestBody OcrUserFieldVo ocrUserFieldVo) {
try {
OcrUserField ocrUserField = new OcrUserField();
ocrUserField.setUserId(ocrUserFieldVo.getUserId());
ocrUserField.setReviewType(ocrUserFieldVo.getReviewType());
ocrUserField.setUserField(ocrUserFieldVo.getUserField());
ocrUserFieldService.saveData(ocrUserField);
// 调用服务层方法,并处理返回值
ocrUserField.setUserFieldFixed(ocrUserFieldVo.getUserFieldFixed());
ocrUserField.setUserFieldUnFixed(ocrUserFieldVo.getUserFieldUnFixed());
ResultVo result = ocrUserFieldService.saveData(ocrUserField);
return result;
}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.mybatisplus.util.SearchQueryFormat;
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.OcrUsersearchchild;
import cn.jyjz.xiaoyao.ocr.service.OcrUsersearchService;
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.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 io.swagger.annotations.*;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -71,6 +69,7 @@ public class OcrUsersearchController extends BaseController{
@GetMapping(value = "/list")
public ResultVo<IPage<OcrUsersearch>> queryPageList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@RequestParam(name="type") @ApiParam(value = "类型(首页为0终审为1)", required = true) Integer type,
HttpServletRequest request) {
//获取当前登录人
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
@ -93,6 +92,7 @@ public class OcrUsersearchController extends BaseController{
queryWrapper.eq("USERID",userToken.getUserid());
queryWrapper.eq("TENANTID",tenantId);
queryWrapper.eq("TYPE",type);
queryWrapper.orderByDesc(Arrays.asList("IZTOP","REORDER"));
IPage<OcrUsersearch> pageList = ocrUsersearchService.selectSearchListPage(paramterPage, queryWrapper);
@ -133,7 +133,8 @@ public class OcrUsersearchController extends BaseController{
ocrUsersearch.setCreatetime(System.currentTimeMillis());
ocrUsersearch.setCreateby(userToken.getLoginname());
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()){
this.ocrUsersearchService.removeByIds(ocrUsersearch.getId().toString());
}
@ -302,4 +303,21 @@ public class OcrUsersearchController extends BaseController{
}
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;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrArea;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrField;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

@ -19,7 +19,9 @@ import java.util.Map;
*/
@Mapper
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);
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 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 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 com.baomidou.mybatisplus.core.mapper.BaseMapper;
import liquibase.pro.packaged.S;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* <p>
@ -19,5 +19,21 @@ import java.util.List;
*/
@Mapper
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;
import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo;
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.PictureDetailVo;
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.Param;
import java.util.List;
import java.util.Map;
@ -41,4 +44,14 @@ public interface OcrTaskchildPictureMybatisDao extends BaseMapper<OcrTaskchildPi
* @return
*/
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