306 Commits
Author SHA1 Message Date
lijiarao 1895487d1d fix 首页科室总体统计的确认收入金额是按缴费年份统计 2024-10-09 16:50:08 +08:00
lijiarao fd42035863 update 标协会员的视图 复制到 统计视图(新).sql 2024-09-18 17:49:27 +08:00
lijiarao 506d6a53dd update 企业端 会议资料下载和分标委-资料下载 pdf加水印 2024-09-14 11:51:39 +08:00
lijiarao e9e98f4aa6 update 修改短信模板 2024-09-13 14:57:31 +08:00
lijiarao 7b570451b9 update 下载pdf增加水印 2024-09-11 17:39:30 +08:00
lijiarao 6b7cae0399 update 批量新增成员单位时,工作组按排序字段排序 2024-09-11 17:10:29 +08:00
lijiarao 38013213cd update 通过起草组id和企业id查询企业信息和所有联系人信息 解密 2024-09-11 15:55:17 +08:00
lijiarao afb6b12ef0 update 通过起草组id和企业id查询企业信息和所有联系人信息 解密 2024-09-11 15:46:56 +08:00
lijiarao dd753559ba update 审核起草组报名信息 兼容批量审核 2024-09-11 14:59:55 +08:00
lijiarao 477f2b86e3 update 参会人排序由原来的按照创建时间排序修改为按照公司名称排序 2024-09-11 14:57:23 +08:00
lijiarao f5ea32e423 update 通过起草组id和企业id查询企业信息和所有联系人信息 2024-09-11 14:21:37 +08:00
lijiarao e38a906f69 update 委员会导出 2024-09-11 14:15:50 +08:00
lijiarao 988072e4a8 add 通过起草组id和参会人id查询企业信息和所有联系人信息 2024-09-11 13:57:36 +08:00
lijiarao 4ab9ef578d add 委员及委员信息导入接口 2024-09-11 10:57:51 +08:00
lijiarao 1f985bbf5c update 委员及委员信息导入接口文档 2024-09-11 09:57:54 +08:00
lijiarao 757785d4ab update 起草组审核接口文档 2024-09-11 09:55:35 +08:00
lijiarao 2c0e8eaa0b add 通过会议id和参会人id查询企业信息和所有联系人信息 2024-09-11 09:54:55 +08:00
lijiarao ab687e9012 update 导出pdf时增加水印 2024-09-10 16:11:43 +08:00
lijiarao e8dc627d42 update 会员到期提醒 提醒时间由到期前3个月改为3个月和1个月 2024-09-10 15:12:45 +08:00
lijiarao fe068c5181 fix 会员门户端,会员下载文件报没权限 2024-09-10 10:48:16 +08:00
lijiarao b036f012e2 fix 标协会议报名时因为企业未审核报错 2024-09-10 10:47:51 +08:00
lijiarao 93286cce3f codeClean 代码清理 2024-08-23 09:59:53 +08:00
lijiarao 8ab4fe1973 update 收入分类统计 增加打包项目和子项目区分 2024-08-21 17:56:41 +08:00
lijiarao 8ec6030f17 update 打包查询未打包项目时回显工作组排序 2024-08-20 15:35:01 +08:00
lijiarao 54ac2338f5 update 发送邮件无发件人时,返回提示信息 2024-08-20 11:54:09 +08:00
lijiarao d052ae8218 update 委员会排序 2024-08-15 11:11:53 +08:00
lijiarao 8dc104efb5 update 同步委员会信息策略修改 2024-08-14 10:26:05 +08:00
lijiarao 6694f62a84 Merge branch '24年二季度其他' 2024-08-12 17:11:30 +08:00
lijiarao bcf0c50525 update 到账开票可以查询到23年及之前的打包子项目 2024-08-12 14:57:30 +08:00
lijiarao 71f69f61a5 Merge branch '24年二季度其他' 2024-08-09 18:06:15 +08:00
lijiarao bd5c3e6c98 update 24年6月变更.sql 2024-08-09 16:55:35 +08:00
fengchenchen d255313c51 【update】- 查看凭证 按钮sql的处理 2024-08-09 16:45:18 +08:00
lijiarao 3b9b2b92be update 88309 【所有会议】企业端--报名后缴费方式从打包切换成汇款/需要缴费--到账开票的状态和审核按钮没有同步 2024-08-09 16:42:21 +08:00
lijiarao 8d6dd81beb update 同步委员会信息超时时间 2024-08-09 14:32:30 +08:00
lijiarao 924b1b09bb fix 88309 【所有会议】企业端--报名后缴费方式从打包切换成汇款/需要缴费--到账开票的状态和审核按钮没有同步 2024-08-09 14:20:46 +08:00
lijiarao 929e7fec9d fix 88141 标协会员-编辑金额后,以下状态没有更新 2024-08-09 10:55:12 +08:00
lijiarao 9a8511d136 update ShiroConfig.java 2024-08-08 15:35:56 +08:00
lijiarao 3b65e244d3 update 功能安全中心的导入、导出、下载模板改为和起草组一致,企业联系人最多可以增加20个 2024-08-08 15:35:10 +08:00
lijiarao 9d10406888 fix 88102 企业端--报名后编辑缴费方式--到账开票的缴费凭证状态不对 2024-08-08 09:41:15 +08:00
lijiarao 9a8347fe3a update 工作组导入导出增加到20人 2024-08-07 17:44:48 +08:00
lijiarao d7ca128328 update 起草组导入导出增加到20人 2024-08-07 17:29:08 +08:00
lijiarao 60feb3a406 update 标协会员导出增加是否借票 2024-08-07 16:30:44 +08:00
lijiarao e2964901cc Revert "Revert "fix 会议报名成功后是否需要审核""
This reverts commit 029c617aba.
2024-08-07 15:54:25 +08:00
fengchenchen 1c9c80bd3e 【update】- 功能安全中心菜单中增加 汽车2字sql 2024-08-07 15:48:19 +08:00
lijiarao dbc5cdb12f fix 处理标协会员未缴费历史数据 2024-08-07 15:47:34 +08:00
fengchenchen bf56171083 【update】-会议汇总改名为会议信息统计,放在统计报表中,会议酒店推荐单独出菜单sql 2024-08-07 15:26:12 +08:00
fengchenchen 86da713579 【update】- 查看凭证 按钮sql 2024-08-07 14:56:52 +08:00
lijiarao 9db82c0b4d fix 88082 工作组--工作组成员的确认凭证逻辑与企业端缴费和审核没有联动,请确认需求 2024-08-07 14:44:56 +08:00
lijiarao a323f14893 update 工作组成员导出增加企业缴费凭证(最新上传的缴费凭证) 2024-08-07 14:37:07 +08:00
lijiarao bc839fafd9 update 起草组参会人导出 2024-08-07 14:08:32 +08:00
lijiarao 7fa91ed9b9 update 会议导出增加到账状态,企业缴费凭证(最新上传的缴费凭证) 2024-08-07 14:03:06 +08:00
lijiarao 6eee05ae13 fix 88150 打包管理-编辑金额后,确收状态没有更新 2024-08-07 11:21:44 +08:00
lijiarao 6c6e255cfe fix 88148 普通项目管理-编辑金额后,以下状态没有更新 2024-08-07 11:07:29 +08:00
lijiarao f13d9bc03a fix 88147 资料网元-编辑金额后,以下状态没有更新 2024-08-07 11:04:16 +08:00
lijiarao 4b28bb65c0 fix 88142 工作组管理-成员单位-编辑金额后,以下状态没有更新 2024-08-07 10:53:20 +08:00
lijiarao 9126a01a2a fix 88141 标协会员-编辑金额后,以下状态没有更新 2024-08-07 10:46:58 +08:00
lijiarao 5f2cfee507 fix 88139 标协会员编辑金额比实收小时,需要报提示吗 2024-08-07 10:23:27 +08:00
lijiarao 029c617aba Revert "fix 会议报名成功后是否需要审核"
This reverts commit 6e898abf50.
2024-08-07 09:44:42 +08:00
lijiarao 513d6d7840 fix 88100 企业端--报名后编辑缴费方式--外层的报名状态和按钮没更新 2024-08-06 18:01:55 +08:00
lijiarao fcf643f45d fix 88087 企业端--资料网元--已完结后在管理端修改金额,企业端的状态没有改变 2024-08-06 17:34:21 +08:00
lijiarao 7d6e7cfa66 fix 88086 企业端--资料网页--缴费凭证状态不对 2024-08-06 16:45:17 +08:00
lijiarao 97a81cf330 fix 88082 工作组--工作组成员的确认凭证 2024-08-06 16:26:15 +08:00
lijiarao 6cc57fe077 fix 88069 项目费用0元时,企业端缴费凭证状态为空,费用改成1再改成0后,企业端缴费凭证状态没有重新变成空 2024-08-06 16:02:15 +08:00
lijiarao c8bf5ed97d fix 88057 到账开票-未审核先来款后,状态的确认 2024-08-06 15:36:30 +08:00
lijiarao c79478d8bf fix 到账开票列表查询 2024-08-06 15:14:52 +08:00
lijiarao 49c8ce6ad3 fix 87978 工作组来款详情-导出-建议修改以下问题 2024-08-06 14:45:15 +08:00
lijiarao e2f6c04a36 fix 87946 企业来款统计--导出 2024-08-06 14:43:04 +08:00
lijiarao 6e898abf50 fix 会议报名成功后是否需要审核 2024-08-06 10:52:57 +08:00
lijiarao 279bf48548 fix 调整工作组全部文件导出的目录结构 2024-08-05 15:03:55 +08:00
lijiarao b6761c90f2 Merge branch '24年二季度其他'
# Conflicts:
#	db/统计视图(新).sql
2024-08-05 15:00:49 +08:00
lijiarao 73d80358d5 fix 标协会员查询企业名称报错 2024-08-05 09:24:45 +08:00
lijiarao a2ed63a37c fix 会议报名报错 2024-08-02 18:04:41 +08:00
lijiarao 2cb8f2d239 update 标协会员成员导出 2024-08-02 16:51:21 +08:00
lijiarao 2b9fe5a534 fix 87980 企业来款详情&个人来款详情--建议加上是否打包的条件 2024-08-02 15:22:40 +08:00
lijiarao 2080423a29 fix 88024 打包管理--来款、开票、确认收入都操作以后--列表出现重复数据了 2024-08-02 14:53:38 +08:00
lijiarao a7cc8e3f54 fix 87993 个人来款统计详情-导出-有以下问题 2024-08-02 14:49:59 +08:00
lijiarao 3dd1bf8e05 fix 87992 个人来款统计-导出-有以下问题 2024-08-02 14:47:57 +08:00
lijiarao baafad3491 fix 87983 工作组来款详情--金额列排序没有作用 2024-08-02 14:45:37 +08:00
lijiarao 1616ecb636 fix 87981 工作组来款详情--到账金额保留位数不对 2024-08-02 14:39:29 +08:00
lijiarao 0c7334b431 fix 87978 工作组来款详情-导出-建议修改以下问题 2024-08-02 14:36:10 +08:00
lijiarao 88845a26e9 fix 87947 全所收入统计--导出 2024-08-02 14:01:28 +08:00
lijiarao 4c034028e0 fix 87948 全所收入统计--导出数据和列表数据对不上 2024-08-02 14:01:07 +08:00
lijiarao 05018a3a60 fix 87882 全所收入统计--2024及之后--打包子项目存在和取消--统计数据没有变化 2024-08-02 13:44:02 +08:00
lijiarao 13a969a17d fix 87942 全所统计--导出--表头和sheet名称需要修改 2024-08-02 12:03:04 +08:00
lijiarao 078c7ff89e fix 87938 企业来款详情导出 表头 2024-08-02 12:01:12 +08:00
lijiarao 84831f882e fix 87938 企业来款详情导出 表头 2024-08-02 11:59:04 +08:00
lijiarao c81a6fe76a fix 87903 首页--百分比要统一成两位小数 2024-08-02 11:57:50 +08:00
lijiarao 98d92596e7 fix 87901 科室统计--个别为0的数据--导出显示空格 2024-08-02 11:53:05 +08:00
lijiarao 021843e983 fix 87891 全所统计--个别科室选择后,没有回显负责人 2024-08-02 09:56:19 +08:00
lijiarao a656925b2c fix 87900 科室统计--导出所有数据--缺少数据 2024-08-02 09:42:05 +08:00
lijiarao 1a7781f42c fix 87907 工作组项目-成员-锁定后成员信息的详情页--企业联系人信息应该不更新
87910 所有会议-已封锁的详情页面参会人信息却更新了
87912 资料网员&年度会员维护-锁定后的详情页--企业联系人信息应该不更新
2024-07-31 18:30:52 +08:00
lijiarao 55ebacca4a fix 87908 所有会议--未封锁的列表的企业单位没更新
87913 打包管理-封锁更新逻辑做反了
2024-07-31 18:14:44 +08:00
lijiarao 511dcaa46c fix 87894 年度数据锁定--新增,删除,批量删除性能需要调整 2024-07-31 16:54:23 +08:00
lijiarao 9f019b3c43 fix 87782 资料网员--会员项目--封锁后会员单位部分信息还是更新了 2024-07-31 16:36:16 +08:00
lijiarao d350140fd6 fix 87835 到账开票-修改确收金额后,再审核,审核后状态和操作栏没有更新 2024-07-31 15:52:28 +08:00
lijiarao 56f8b09125 fix 87854 首页--收入分类统计--收入分析--普通项目分类是工作组经费选择合同--没有划分到项目合作经费里 2024-07-31 14:01:19 +08:00
lijiarao 38b1615995 fix 87830 年度会员维护-会员单位信息-未锁定时企业单位做了修改,列表没有回显最新的 2024-07-31 13:52:56 +08:00
lijiarao cffc28078b rollback fix 打包查询项目少了 2024-07-31 11:33:15 +08:00
lijiarao 19015d77a0 fix 打包查询项目少了 2024-07-31 11:20:35 +08:00
lijiarao d5f4eca6bf update 年度数据锁定 不能锁定当前年份 2024-07-31 09:49:59 +08:00
lijiarao a89169a2e6 update 工作组成员列表回显联系人1的id 2024-07-31 09:35:54 +08:00
lijiarao 3ae98f5d00 fix 87786 其他会议-锁定后-编辑年份没有报提示 2024-07-30 14:28:09 +08:00
lijiarao d19282e030 fix 87761 企业来款分类统计-个别企业不显示确认
87754 企业来款分类统计,导出后的顺序与列表顺序建议一致
2024-07-30 14:19:06 +08:00
lijiarao cdbc98a053 fix 87752 年度数据锁定--新增选择2020年 2024-07-30 11:16:46 +08:00
lijiarao ab96a990a6 fix 项目详情查询失败 2024-07-30 11:02:58 +08:00
lijiarao f626a33be6 fix 87679 工作组管理--成员--导入--锁定时报导入失败 2024-07-30 10:43:42 +08:00
lijiarao 44c669dc46 update 年度数据锁定,删除编辑按钮 2024-07-30 10:10:37 +08:00
lijiarao 2e45b960c6 fix 87714 首页--全院经营数据统计--单月、累计--预估收入金额--没有统计年度会员维护项目 2024-07-30 10:07:19 +08:00
lijiarao c86eb4d4f6 fix 87645 87647 修改确收金额后缴费凭证状态有问题 2024-07-30 09:37:51 +08:00
lijiarao c431fb0853 fix 87698 年度数据锁定--当没有编辑权限时,新增却报错 2024-07-29 16:49:31 +08:00
lijiarao ba28e7a111 fix 87687 87689 年度会员维护-会员单位信息-导出和详情页面没有回显信息 2024-07-29 16:21:07 +08:00
lijiarao cb111cf53d fix 87657 普通项目管理-编辑-年份填入锁定中存在的年份,却没报提示 2024-07-29 15:25:07 +08:00
lijiarao ab9503faf6 fix 87671 国际研讨会-参会人列表-导出报错 2024-07-29 15:04:56 +08:00
lijiarao d627e02dda fix 87668 工作组项目-没有锁定时-成员列表的单位和联系人需要随之改动吗 2024-07-29 14:28:23 +08:00
lijiarao 5bdd887843 delete 清除不需要的代码 2024-07-29 14:14:33 +08:00
lijiarao ba62963ffb fix 项目详情报错 2024-07-29 14:14:18 +08:00
lijiarao 0a8258de24 fix 87663 资料网员--会员项目--会员单位没回显 2024-07-29 13:59:04 +08:00
lijiarao 34e7031de4 fix 新增普通项目后来款企业没有回显 2024-07-29 10:11:58 +08:00
lijiarao 850334aba6 update 年度数据锁定 2024-07-28 19:54:43 +08:00
lijiarao 870771d863 update 年度数据锁定 2024-07-27 18:05:34 +08:00
lijiarao bf9793bc4d update 年度数据锁定 2024-07-27 17:14:05 +08:00
lijiarao c7e9a9b231 update 年度数据锁定 2024-07-26 17:55:28 +08:00
lijiarao 8973c647d6 update 企业来款分类统计 导出 2024-07-26 17:01:17 +08:00
lijiarao ed2e01bb30 rollback update 参会人缴费方式为打包时,自动添加到打包 2024-07-26 14:46:47 +08:00
lijiarao 98dc271523 update 首页收入分析的统计 统计逻辑 创建为视图 2024-07-26 14:41:03 +08:00
lijiarao 643f16d94a update 首页收入分析的统计 统计逻辑 创建为视图 2024-07-26 14:40:38 +08:00
lijiarao ce1e7115d5 update 屏蔽标协证书缴费推送 2024-07-26 14:31:19 +08:00
lijiarao 8fe33b1af4 update 会议打包统计 确认年份 改为 项目年份 2024-07-25 18:06:17 +08:00
lijiarao d420e969b6 update 参会人缴费方式为打包时,自动添加到打包 2024-07-25 18:00:39 +08:00
lijiarao 3ac41eb7ef update 工作组复制时自动填充最新年份 2024-07-25 17:57:27 +08:00
lijiarao 7000a4ee1e add 打包项目 判断用户是否能操作所选年份数据 2024-07-25 17:22:02 +08:00
lijiarao 2b86b54545 add 标协会员项目 判断用户是否能操作所选年份数据 2024-07-25 17:14:37 +08:00
lijiarao ca866aa932 add 会员项目 判断用户是否能操作所选年份数据 2024-07-25 17:09:13 +08:00
lijiarao 242e7c9796 add 普通项目 判断用户是否能操作所选年份数据 2024-07-25 17:08:57 +08:00
lijiarao 1a41ca5904 add 会议、工作组 判断用户是否能操作所选年份数据 2024-07-25 16:45:35 +08:00
lijiarao b594b8bce5 update 修改待确收金额后 同时修改缴费凭证状态 2024-07-25 16:08:32 +08:00
lijiarao f18d4023b2 update 判断当前企业是否是打包企业 ShiroConfig.java 2024-07-25 15:48:44 +08:00
lijiarao 2805a080af update 修改待确收金额 2024-07-25 15:47:41 +08:00
lijiarao 013441c6dc update 会议项目 年度数据锁定 查询项目详情 2024-07-25 15:43:10 +08:00
lijiarao d455af9bd0 update 修改待确收金额 权限 2024-07-25 15:25:34 +08:00
lijiarao f25475ccdd update 修改待确收金额 开票金额判断 2024-07-25 15:24:32 +08:00
fengchenchen f74a91d6cb Merge branch 'master' into 24年二季度其他 2024-07-25 09:58:01 +08:00
lijiarao 2b1af1e44b update 会议项目 年度数据锁定 2024-07-24 18:00:38 +08:00
lijiarao 11b622ae5f add 年度数据锁定表 2024-07-24 14:05:36 +08:00
lijiarao 9db8911b96 update 统计视图,全所统计包含23年及之前的打包子项目 2024-07-22 17:56:25 +08:00
lijiarao 2b4b99dd3e update 企业来款统计-分类统计 分页 2024-07-22 11:38:52 +08:00
lijiarao 26908c2cee update 企业来款统计-分类统计 2024-07-19 19:40:38 +08:00
lijiarao 1e3ca8738a update 企业来款统计-分类统计 2024-07-19 19:27:41 +08:00
lijiarao 65fac10f86 update 企业来款统计-分类统计 2024-07-19 19:13:47 +08:00
lijiarao 93270ea8d3 update 企业来款统计-分类统计 2024-07-19 19:01:12 +08:00
lijiarao 4844e7135e add 企业来款统计-分类统计导出 2024-07-19 18:29:57 +08:00
lijiarao ac1825f0fc add 判断打包企业的接口 2024-07-19 14:36:09 +08:00
lijiarao d983be8630 update 会议项目来款方式为打包时不设置金额为0 2024-07-19 14:03:10 +08:00
lijiarao e76eff938b add 处理打包管理历史数据sql 2024-07-18 16:01:47 +08:00
lijiarao f7fa7e8369 add 到账开票 修改待确收金额 2024-07-18 13:30:36 +08:00
lijiarao 055a4497fe Merge branch 'master' into 24年二季度其他
# Conflicts:
#	jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java
2024-07-18 09:42:16 +08:00
lijiarao f389d18a3f update 处理历史数据接口 多线程 2024-07-18 09:39:36 +08:00
lijiarao 8b745c1c55 update 处理历史数据接口 2024-07-17 17:54:25 +08:00
lijiarao a006657b68 update 处理历史数据接口 2024-07-17 10:25:28 +08:00
lijiarao 2bba254cef add 处理历史数据接口 2024-07-16 17:11:17 +08:00
lijiarao 1f85dec5a8 update 来款方式为合同打包时处理金额 2024-07-16 15:17:08 +08:00
lijiarao 725b4ec3ed update 修改统计 2024-07-16 14:24:38 +08:00
sunzheng e94f9a4b19 update:添加处理历史数据的sql 2024-07-16 11:02:02 +08:00
sunzheng db3a0bc513 update:修改工作组全部文件导出 2024-07-16 10:05:33 +08:00
sunzheng 7499ce09b2 Merge remote-tracking branch 'origin/24年二季度其他' into 24年二季度其他 2024-07-16 09:01:11 +08:00
sunzheng 81c7cdec42 update:修改酒店推荐导入 2024-07-16 09:00:49 +08:00
lijiarao c2dce605d0 update 修改统计视图 2024-07-15 18:06:46 +08:00
fengchenchen 8207e01153 【fix:bug87189】- 会议汇总-会议酒店推荐按钮新增sql 2024-07-15 17:46:52 +08:00
sunzheng b208292a9b update:修改导入到标协会员;修改sortNo的字段类型 2024-07-15 17:15:46 +08:00
sunzheng 51503da0f5 update:批量新增时自动赋值税率,税额,未税金额等字段 2024-07-15 15:26:27 +08:00
sunzheng 2e3041a91f update:修改bug 2024-07-15 14:37:29 +08:00
sunzheng bbbf70095b update:修改sql 2024-07-15 10:19:49 +08:00
lijiarao 519e40f8bd update 注释打包后设置金额为0的代码 2024-07-15 09:31:55 +08:00
lijiarao 53a408ec80 update 24年6月功能安全中心变更.sql 2024-07-15 09:15:04 +08:00
fengchenchen b6b0997bb3 【update】- 导入到标协会员菜单sql 2024-07-12 15:48:11 +08:00
sunzheng 9f4dec7b18 update:补充权限编码 2024-07-12 15:47:00 +08:00
sunzheng ea8e2d70b3 add:理事会新增导入到标协会员 2024-07-12 14:32:33 +08:00
sunzheng 89cca9684b update:修改会议酒店推荐 2024-07-11 14:52:56 +08:00
lijiarao 82275544f2 Merge remote-tracking branch 'origin/24年二季度其他' into 24年二季度其他 2024-07-11 14:23:21 +08:00
lijiarao b483737c17 Merge branch 'master' into 24年二季度其他 2024-07-11 14:22:59 +08:00
sunzheng fe0884fd47 update:修改工作组全部文件导出的接口 2024-07-11 14:05:05 +08:00
fengchenchen 9aba47aae2 【update】- 修改全部文件导出 的sql 2024-07-11 11:48:10 +08:00
sunzheng 2e5c4ad7cb update:取消打包后,删除会员的有效期;会员编号;修改会员状态为未缴费 2024-07-11 11:01:45 +08:00
sunzheng 07da0214b0 update:标协成员导出的邮箱字段 2024-07-11 10:28:28 +08:00
sunzheng 4eb3b5e5a5 update:补充已有的权限编码 2024-07-11 09:18:26 +08:00
sunzheng 37bb2b359b add:会议酒店推荐的分页查询;导入;导出模板接口 2024-07-10 18:19:28 +08:00
sunzheng 405af59486 update:批量添加工作组成员后,单独计算每个工作组的金额,取本年应收款A 2024-07-10 14:08:53 +08:00
danshihao 3d88faab1c 功能安全中心菜单sql 2024-07-10 11:04:47 +08:00
sunzheng 03e2f3e56b update:修改标协会员的导入 2024-07-10 10:16:38 +08:00
lijiarao ee34e34553 fix 86987 功能安全中心--分发资料--非管理员分发却报资料不可操作 2024-07-09 16:23:10 +08:00
lijiarao 5a576b6f0a fix 86998 企业端--功能安全中心--一二三级的资料不显示了 2024-07-09 16:16:46 +08:00
lijiarao 9968ecd27e fix 86987 功能安全中心--分发资料--非管理员分发却报资料不可操作 2024-07-09 15:56:27 +08:00
lijiarao 1783ae0a02 fix 86987 功能安全中心--分发资料--非管理员分发却报资料不可操作 2024-07-09 15:31:46 +08:00
lijiarao 4fd108b9e6 fix 86924 功能安全中心--分发资料 2024-07-09 15:24:13 +08:00
sunzheng 66601cb712 update:修改文件大小限制为200MB 2024-07-09 15:17:58 +08:00
sunzheng bd407f8dd4 add:工作组-全部文件导出的接口 2024-07-09 15:06:36 +08:00
lijiarao b0bcd0259d add 邮件发送日志 2024-07-09 14:57:59 +08:00
lijiarao 88c0115629 fix 86986 功能安全中心--成员维护-导入-两个备注没有做位数限制 2024-07-09 14:32:11 +08:00
lijiarao 785ad72ba6 fix 86988 功能安全中心--项目会议--导出后顺序与列表不一致 2024-07-09 14:23:33 +08:00
lijiarao ee4fcd16f1 fix 86984 功能安全中心--项目会议--添加参会人选择成员单位页面建议只显示本级的成员单位 2024-07-09 11:20:07 +08:00
lijiarao a8ab4613c4 update 24年6月功能安全中心变更.sql 2024-07-09 11:06:13 +08:00
lijiarao a3f46ff0f1 update 功能安全中心-企业端-分页列表查询 返回subitemId 2024-07-09 10:47:33 +08:00
lijiarao 5f37408080 update 86978 功能安全中心--角色授权--不勾选查询权限--没有弹出提示 2024-07-09 10:38:28 +08:00
sunzheng 8423a1b0e8 update:工作组按照sortNo字段排序,打包关联项目的排序 2024-07-09 10:35:04 +08:00
lijiarao 91a8d30bb2 update 86971 功能安全中心成员 导入导出时 合并单元格 2024-07-09 10:13:39 +08:00
lijiarao 8564e3a523 update 功能安全中心成员导入校验 2024-07-09 09:52:57 +08:00
sunzheng 9e0ecc0ab0 add:工作组成员新增确认凭证、审核字段;新增确认凭证接口 2024-07-08 16:47:57 +08:00
lijiarao 9ddcdc1455 fix 86927 功能安全中心--项目会议--发布页面-按照成员单位检索没有效果 2024-07-08 15:06:36 +08:00
lijiarao f316cc180b fix 86923 功能安全中心--分发资料--批量分发没有收到邮件 2024-07-08 14:37:09 +08:00
lijiarao da49967d83 fix 86915 功能安全中心--成员维护-导入-按以下导入报错 2024-07-08 14:11:24 +08:00
lijiarao d32be40556 fix 86914 功能安全中心--成员维护-导入-企业联系人不为空却报了为空 2024-07-08 14:01:54 +08:00
lijiarao 1691149bed fix 86933 功能安全中心--项目会议--导出报错 2024-07-08 13:57:07 +08:00
sunzheng 78a553c1bd add:工作组,起草组会议新增批量审核接口 2024-07-08 13:43:14 +08:00
lijiarao 939446f9a7 fix 86912 功能安全中心--成员维护-勾选后导出却导出了所有数据 2024-07-08 13:41:36 +08:00
lijiarao a02dcd8d94 fix 86911 功能安全中心--成员维护-点击成员单位详情没有显示 2024-07-08 13:38:24 +08:00
sunzheng 79a2fdaeb3 update:在会员项目被拉入打包后,自动生成会员有效期 2024-07-08 11:07:05 +08:00
sunzheng 67774c96ff update:年度会员维护-详情-导出,新增导出字段 2024-07-08 09:36:34 +08:00
sunzheng a969d6a498 add:标协会员-年度会员维护的查询和导出接口 2024-07-05 18:16:56 +08:00
lijiarao b3041b20f2 update 功能安全中心成员-企业端-根据项目查询联系人 联系人需要翻译一下 2024-07-05 18:02:38 +08:00
lijiarao f9731ce5fd add 功能安全中心成员-企业端-分页列表查询 2024-07-05 16:56:14 +08:00
lijiarao b4e596ffd6 update 功能安全中心 会议发布 权限 2024-07-05 15:42:16 +08:00
lijiarao 151a218592 update 功能安全中心 会议发布 2024-07-05 15:22:25 +08:00
lijiarao a921e29092 update 功能安全中心 企业端 详情 2024-07-05 15:13:30 +08:00
lijiarao 98bf7fb1bc update 功能安全中心 编辑成员 2024-07-05 15:04:38 +08:00
lijiarao 891adffdef update 功能安全中心 企业端 详情 2024-07-05 14:56:21 +08:00
sunzheng f50eb80d6f update:修改预估到账日期字段 2024-07-05 14:48:45 +08:00
lijiarao aaf67e8d0c update 功能安全中心 会议发布提醒 2024-07-05 13:42:34 +08:00
lijiarao 285e58987e update 功能安全中心 资料分发 2024-07-05 11:33:49 +08:00
lijiarao e8fcba719f update 功能安全中心 企业用户编辑联系人 2024-07-05 10:42:24 +08:00
lijiarao 0edd743ee5 update 功能安全中心报名 校验成员 2024-07-05 09:59:46 +08:00
lijiarao 904319211b update 功能安全中心 发布提醒 2024-07-05 09:22:21 +08:00
fengchenchen d8e3fa05e7 【update】- 年度数据锁定、企业分类统计菜单 sql 2024-07-04 18:09:45 +08:00
lijiarao 78c3180aef update 功能安全中心 查询成员 2024-07-04 18:03:52 +08:00
lijiarao 8f9c8e46d1 update 功能安全中心 其他资料分发 2024-07-04 18:00:06 +08:00
lijiarao c29aa3f280 add 功能安全中心成员-发布提醒列表查询 2024-07-04 17:51:40 +08:00
lijiarao 429e7d2933 add 功能安全中心成员-企业端-根据项目查询联系人 2024-07-04 17:20:35 +08:00
lijiarao e2a4a230b1 add 功能安全中心-企业端-分页列表查询 2024-07-04 16:46:52 +08:00
fengchenchen 257278343d 【update】- 新增菜单的sql 2024-07-04 16:29:15 +08:00
lijiarao 3009127bdf update 功能安全中心成员单位导入 2024-07-04 15:06:23 +08:00
lijiarao 9f79d887eb update 成员单位导出 2024-07-04 10:51:39 +08:00
lijiarao a3ca93948b add 功能安全中心,权限 2024-07-04 10:07:10 +08:00
lijiarao 27589281d4 fix 新增安全中心会议 2024-07-03 15:45:58 +08:00
lijiarao 82b0436ee7 fix 新增安全中心会议 2024-07-03 14:57:41 +08:00
lijiarao d9abbcd894 fix 安全中心联调 2024-07-03 14:54:58 +08:00
lijiarao 493af2fee8 add 会议增加安全中心项目id 2024-07-03 14:34:00 +08:00
lijiarao dd53b327eb add 功能安全中心会议 2024-07-03 09:45:57 +08:00
lijiarao ac2d762e59 fix 功能安全中心成员-新增 报错 2024-07-02 17:42:26 +08:00
lijiarao 4654404076 update 功能安全中心成员-删除联系人 2024-07-02 17:41:43 +08:00
lijiarao 9960414825 Merge branch 'master' into 24年6月功能安全中心 2024-07-02 15:18:18 +08:00
lijiarao 152a9250bc Merge branch '24年6月海外会议' 2024-07-02 15:17:52 +08:00
lijiarao efd2c3628f update 功能安全中心成员-新增 2024-07-02 15:17:17 +08:00
lijiarao f7ceedb0dd update 功能安全中心成员-删除 2024-07-02 14:49:35 +08:00
lijiarao 8843c006c6 update 功能安全中心成员-分页列表查询 2024-07-02 14:22:36 +08:00
lijiarao 6c063f5933 update nginx.conf 2024-07-02 14:13:01 +08:00
lijiarao d7bcd67ae7 update 功能安全中心 判重,联系人是否重复 2024-07-02 11:36:47 +08:00
lijiarao e61d2900cf update 功能安全中心查询企业 2024-07-02 10:37:21 +08:00
lijiarao 351b303f55 add 安全中心,研究组和项目组新增成员时查询单位和联系人 2024-07-02 10:33:03 +08:00
lijiarao 93c6636c3e update 24年6月功能安全中心变更.sql 2024-07-02 10:22:32 +08:00
lijiarao 5b3a6c6275 add 功能安全中心查询,新增成员单位 2024-07-01 16:22:02 +08:00
lijiarao 2f4fb76d2b add 功能安全中心增加@Excel 2024-07-01 10:31:19 +08:00
lijiarao 5dbda5dffe add 功能安全中心和项目组的查询、修改、导出接口增加项目类型区分 2024-07-01 10:17:19 +08:00
lijiarao 0aa6308b8b fix 科室统计和个人来款统计时,查询所在部门sql错误 2024-06-27 17:51:25 +08:00
lijiarao db7a53ebb3 update 海外会议参会人 单位及职务拆为两个字段 2024-06-27 10:42:26 +08:00
lijiarao 4dc6a530c6 fix 86405 海外会议报名 2024-06-26 11:35:32 +08:00
lijiarao dd16296e61 update sql 2024-06-26 10:59:13 +08:00
lijiarao 059f5d8710 fix 86403 海外会议-详情页面--导出,入境和出境值与列表反了 2024-06-26 10:58:51 +08:00
lijiarao ad0dc6b5ee update 海外会议导出 2024-06-25 18:12:54 +08:00
lijiarao f2ef469008 update 功能安全中心代码 2024-06-25 17:54:02 +08:00
lijiarao 05b64d4fd1 add 海外会议报名 2024-06-25 11:37:58 +08:00
lijiarao 77fbddbb5f update 功能安全中心代码 2024-06-25 11:23:01 +08:00
lijiarao a159499235 fix 海外会议查询错误 2024-06-25 10:28:15 +08:00
lijiarao 97c1f17063 update 功能安全中心代码 2024-06-25 10:26:02 +08:00
lijiarao ed635254c6 add 海外会议代码 2024-06-24 14:44:43 +08:00
lijiarao d5397e01e1 update 国际研讨会导出 2024-06-19 17:42:30 +08:00
lijiarao 7ca3f462a4 add 功能安全中心基础代码 2024-06-13 09:08:35 +08:00
lijiarao 9ea419d366 update sql文件整理,移动到文件夹中 2024-06-12 14:38:26 +08:00
danshihao f61d86b558 委员会页面和按钮权限增sql,去掉表名 2024-06-12 09:39:55 +08:00
danshihao 61201e703a 委员会页面和按钮权限增sql 2024-06-12 09:35:30 +08:00
lijiarao 783ba704e2 update 数据脱敏 去掉email 2024-06-12 09:19:48 +08:00
lijiarao 4407fed5cc update 数据脱敏 2024-06-07 16:25:44 +08:00
danshihao 6c291be449 委员会页面和按钮权限增sql 2024-06-07 16:02:41 +08:00
lijiarao cf65f4fd14 update 委员查询 2024-06-07 15:24:12 +08:00
lijiarao 857df53f1e add 委员会权限 2024-06-07 15:23:29 +08:00
lijiarao 9dfc117304 add CommitteeInfoSyncJob.java 2024-06-07 14:31:02 +08:00
lijiarao 5c981a05ce add 委员会成员表-上传个人照片 2024-06-07 14:12:49 +08:00
lijiarao fa579b077d update 委员会,委员查询 2024-06-07 14:08:29 +08:00
lijiarao 46ef98a5bb update 缺失字段处理 2024-06-06 18:11:28 +08:00
lijiarao b4ee04bcff add 委员会 委员数量 2024-06-06 17:35:50 +08:00
lijiarao a0d8ab8f82 add 委员会成员 照片 2024-06-06 17:18:54 +08:00
lijiarao 400fe4ce92 add 委员会代码,同步数据代码 2024-06-06 17:14:52 +08:00
lijiarao 4576948659 add 委员会基础代码 2024-06-06 09:28:54 +08:00
lijiarao 42b5064a54 add 调用制修订接口 ZxdUtil.java 2024-06-06 09:15:26 +08:00
lijiarao ac86f82147 fix 打包项目无法导出 2024-05-31 18:11:32 +08:00
lijiarao 104165b3c4 fix 工作组成员-添加 时 预估到账日期不能为空 判断错误 2024-05-22 17:48:52 +08:00
lijiarao 051f800a3a fix 设计遗漏 项目来款方式选择打包合同后,金额应该设置为0 2024-04-30 16:19:07 +08:00
lijiarao ace8c3e334 fix 导入时校验出错 2024-04-22 11:41:11 +08:00
lijiarao 6091f8e548 todo 参会人缴费状态需要处理下 2024-04-19 11:00:09 +08:00
lijiarao 42e1413104 update 打包合同关联的项目金额需要设置为0
update 把24年打包项目中,关联项目的待确收金额设置为0
2024-04-19 10:43:00 +08:00
lijiarao 4f0bc334c5 add 首页 收入分类统计 增加打包 2024-04-16 12:01:50 +08:00
lijiarao ef574d24f5 update 工作组和起草组查询时,管理员和财务查询全部,其余角色查询自己的 2024-04-15 17:24:37 +08:00
lijiarao 9b96d2a32d update 会议汇总导出去除参会人 2024-04-09 11:51:34 +08:00
lijiarao e441e9925e update 升级autopoi版本到1.4.7 2024-04-08 17:34:12 +08:00
lijiarao c8f5e31a58 update sql 2024-04-08 15:09:34 +08:00
lijiarao ba805fc050 fix 到账开票企业名称查询错误 2024-04-07 10:56:13 +08:00
lijiarao 5076eacbf7 update sql 2024-04-03 15:35:13 +08:00
lijiarao 49a5f643a1 update 新增企业联系人 2024-04-03 15:35:06 +08:00
265 changed files with 16494 additions and 2048 deletions
+4 -4
View File
@@ -65,16 +65,16 @@ INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `com
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1765583520246108161', '1438394322899558402', '会员统计', '/incomePayments/memberManage/stardsMemberStatistics', 'incomePayments/memberManage/StardsMemberStatistics', NULL, NULL, 1, NULL, '1', 8.30, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-03-07 11:41:29', NULL, NULL, 0, 0, '1', 0, 1);
-- 字典项目类型新增打包项目
INSERT INTO sys_dict_item ( id, dict_id, item_text, item_value, description, sort_order, status, create_by, create_time ) VALUES ( '1767089980854767618', '1435541165297995778', '打包项目', '8', '', 8, 1, 'chh', '2024-03-11 15:27:37' )
INSERT INTO sys_dict_item ( id, dict_id, item_text, item_value, description, sort_order, status, create_by, create_time ) VALUES ( '1767089980854767618', '1435541165297995778', '打包项目', '8', '', 8, 1, 'chh', '2024-03-11 15:27:37' );
-- 字典来款用途新增打包
INSERT INTO sys_dict_item ( id, dict_id, item_text, item_value, description, sort_order, status, create_by, create_time ) VALUES ( '1767090351832567809', '1431145150766923778', '打包', '22', '', 22, 1, 'chh', '2024-03-11 15:29:05' )
INSERT INTO sys_dict_item ( id, dict_id, item_text, item_value, description, sort_order, status, create_by, create_time ) VALUES ( '1767090351832567809', '1431145150766923778', '打包', '22', '', 22, 1, 'chh', '2024-03-11 15:29:05' );
#
INSERT INTO sys_sms_template ( id, template_code, template_name, template_content, template_type, recipient, create_by, create_time ) VALUES ( '1767384966368137217', 'GL_16_HTTZ_EXPIRE', '15', '<p>【中汽标协】尊敬的会员朋友,您的会员权限将于${expiredDay}到期,请及时续费,以免影响您的会员权益。</p>', '2,3', '1', 'LKGLZ', '2024-03-12 10:59:47' );
#
update income_payments.tb_member_project_subitem tmps
left join standards_association.tb_member_info tmi on tmps.company_name = tmi.company_name
left join standards_association.tb_member_info tmi on tmps.member_id = tmi.id
set tmps.effective_date = tmi.effective_date, tmps.invalidation_date = tmi.invalidation_date
where 1=1;
where tmps.invalidation_date is null;
#
create view v_meeting_pack_statistical as
SELECT
+108
View File
@@ -0,0 +1,108 @@
drop table if exists pay_functional_safety_center;
create table pay_functional_safety_center
(
id varchar(36) not null comment 'id',
parent_id varchar(36) null comment '父级id',
project_type int null comment '项目类型(1功能安全中心,2研究组,3项目组)',
project_name varchar(50) null comment '项目名称',
principal_id varchar(32) null comment '负责人id',
mission_and_objectives varchar(200) null comment '任务及目标',
remarks varchar(200) null comment '备注',
create_by varchar(32) null comment '创建人',
create_time datetime null comment '创建时间',
update_by varchar(32) null comment '更新人',
update_time datetime null comment '更新时间',
constraint Index_1
unique (id)
)
comment '功能安全中心';
alter table pay_functional_safety_center
add primary key (id);
drop table if exists pay_functional_safety_center_subitem;
create table pay_functional_safety_center_subitem
(
id varchar(36) not null comment 'id',
project_id varchar(36) not null comment '项目id',
company_id varchar(32) null comment '成员单位id',
remarks varchar(50) null comment '备注',
create_by varchar(32) null comment '创建人',
create_time datetime null comment '创建时间',
update_by varchar(32) null comment '更新人',
update_time datetime null comment '更新时间',
constraint Index_1
unique (id)
)
comment '功能安全中心成员';
alter table pay_functional_safety_center_subitem
add primary key (id);
drop table if exists pay_functional_safety_center_subitem_contacts;
create table pay_functional_safety_center_subitem_contacts
(
id varchar(36) not null comment 'id',
project_id varchar(36) not null comment '项目id',
subitem_id varchar(36) not null comment '项目成员id',
company_id varchar(32) null comment '成员单位id',
contacts_id varchar(32) null comment '企业联系人id',
remarks varchar(50) null comment '备注',
order_num int null comment '序号',
create_by varchar(32) null comment '创建人',
create_time datetime null comment '创建时间',
update_by varchar(32) null comment '更新人',
update_time datetime null comment '更新时间',
constraint Index_1
unique (id)
)
comment '功能安全中心成员-联系人';
alter table pay_functional_safety_center_subitem_contacts
add primary key (id);
insert into sys_dict_item (id, dict_id, item_text, item_value, description, sort_order, status, create_by, create_time, update_by, update_time)
values ('1803314563741982722', '1432280766382727169', '功能安全中心会议', '9', '', 9.00, 1, 'LKGLZ', '2024-06-19 14:31:11', 'LKGLZ', '2024-06-25 10:40:33');
alter table pay_meeting
add safety_center_id varchar(50) null comment '功能安全中心id';
ALTER TABLE pay_meeting
MODIFY COLUMN `remind` tinyint(1) NULL DEFAULT 0 COMMENT '是否提醒';
-- 功能安全中心菜单权限
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808322558888558593', '1802969401866113025', '资料状态(嘉宾是否可以在企业端上传)', NULL, NULL, NULL, NULL, 2, 'safetyCenterMeetingSituation:guestsUploadFileFlag', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-03 10:11:10', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808097862171545601', '1802969401866113025', '删除', '', NULL, NULL, NULL, 2, 'safetyCenterMeetingSituation:delete', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:18:18', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808097770144321537', '1802969401866113025', '编辑', '', NULL, NULL, NULL, 2, 'safetyCenterMeetingSituation:edit', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:17:56', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808097712564916226', '1802969401866113025', '批量删除', '', NULL, NULL, NULL, 2, 'safetyCenterMeetingSituation:batchDel', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:17:42', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808097643329540097', '1802969401866113025', '导出', '', NULL, NULL, NULL, 2, 'safetyCenterMeetingSituation:export', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:17:26', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808097593895473153', '1802969401866113025', '添加参会人', NULL, NULL, NULL, NULL, 2, 'safetyCenterMeetingSituation:add', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:17:14', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808097528275587074', '1802969401866113025', '查询', NULL, NULL, NULL, NULL, 2, 'safetyCenterMeetingSituation:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:16:58', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808097135822950401', '1802967227660554241', '新增', '', NULL, NULL, NULL, 2, 'safetyCenterMember:add', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:15:25', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808097037156143105', '1802967227660554241', '编辑', NULL, NULL, NULL, NULL, 2, 'safetyCenterMember:edit', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:15:01', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096969082589186', '1802967227660554241', '删除', NULL, NULL, NULL, NULL, 2, 'safetyCenterMember:delete', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:14:45', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096803780874242', '1802967227660554241', '批量删除', '', NULL, NULL, NULL, 2, 'safetyCenterMember:batchDel', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:14:05', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096742850220033', '1802967227660554241', '下载模板', '', NULL, NULL, NULL, 2, 'safetyCenterMember:downTemplate', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:13:51', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096637346697217', '1802967227660554241', '导出', NULL, NULL, NULL, NULL, 2, 'safetyCenterMember:export', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:13:26', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096551610929154', '1802967227660554241', '导入', '', NULL, NULL, NULL, 2, 'safetyCenterMember:import', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:13:05', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096433390276610', '1802967227660554241', '查询', NULL, NULL, NULL, NULL, 2, 'safetyCenterMember:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:12:37', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096164627664897', '1802970571397451777', '删除', '', NULL, NULL, NULL, 2, 'safetyCenterMeeting:delete', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:11:33', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096100412870657', '1802970571397451777', '编辑', '', NULL, NULL, NULL, 2, 'safetyCenterMeeting:edit', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:11:18', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096041596145666', '1802970571397451777', '上传文件', '', NULL, NULL, NULL, 2, 'safetyCenterMeeting:upload', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:11:04', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808095978861940737', '1802970571397451777', '会议纪要', '', NULL, NULL, NULL, 2, 'safetyCenterMeeting:uploadCouncil', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:10:49', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808095827002970113', '1802970571397451777', '发布', '', NULL, NULL, NULL, 2, 'safetyCenterMeeting:publish', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:10:13', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808095745981599745', '1802970571397451777', '批量删除', '', NULL, NULL, NULL, 2, 'safetyCenterMeeting:batchDel', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:09:53', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808095649277726722', '1802970571397451777', '导出', NULL, NULL, NULL, NULL, 2, 'safetyCenterMeeting:export', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:09:30', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808095579434176513', '1802970571397451777', '新增', NULL, NULL, NULL, NULL, 2, 'safetyCenterMeeting:add', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:09:14', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808095482008883201', '1802970571397451777', '查询', NULL, NULL, NULL, NULL, 2, 'safetyCenterMeeting:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:08:50', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808095111647645697', '1802631077112610817', '在研项目', NULL, NULL, NULL, NULL, 2, 'safetyCenter:underStudyProject', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:07:22', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808095031213477890', '1802631077112610817', '删除', NULL, NULL, NULL, NULL, 2, 'safetyCenter:delete', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:07:03', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808094969842421761', '1802631077112610817', '基本信息维护', '', NULL, NULL, NULL, 2, 'safetyCenter:edit', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:06:48', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808094888670056450', '1802631077112610817', '功能安全中心会议', NULL, NULL, NULL, NULL, 2, 'safetyCenter:meetingMaintenance', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:06:29', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808094800346402817', '1802631077112610817', '其他资料分发', NULL, NULL, NULL, NULL, 2, 'safetyCenter:fileMaintenance', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:06:08', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808094623023812610', '1802631077112610817', '批量删除', NULL, NULL, NULL, NULL, 2, 'safetyCenter:batchDel', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:05:26', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808094527150411777', '1802631077112610817', '新增', NULL, NULL, NULL, NULL, 2, 'safetyCenter:add', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:05:03', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808094461882847233', '1802631077112610817', '查询', '', NULL, NULL, NULL, 2, 'safetyCenter:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:04:47', NULL, NULL, 0, 0, '1', 0, 1);
insert into sys_permission (id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external, external_terminal_show)
values ('1802970571397451777', '1430376424950026242', '功能安全中心会议维护', '/functionalSafetyCenter/FunctionalSafetyConferenceMaintenance', 'functionalSafetyCenter/FunctionalSafetyConferenceMaintenance', null, null, 1, null, '1', 28, 0, null, 1, 0, 0, 1, null, 'LKGLZ', '2024-06-18 15:44:16', null, null, 0, 0, '1', 0, 1),
('1802969401866113025', '1430376424950026242', '功能安全中心参会情况', '/incomePayments/meetManage/AttendanceFunctionalSafetyCenter', 'incomePayments/meetManage/Attendance', null, null, 1, null, '1', 29, 0, null, 1, 0, 0, 1, null, 'LKGLZ', '2024-06-18 15:39:38', 'LKGLZ', '2024-06-18 15:40:36', 0, 0, '1', 0, 1),
('1802967227660554241', '1430376424950026242', '功能安全中心成员维护', '/functionalSafetyCenter/FunctionalSafetyMemberUnitMaintenance', 'functionalSafetyCenter/FunctionalSafetyMemberUnitMaintenance', null, null, 1, null, '1', 26, 0, null, 1, 0, 0, 1, null, 'LKGLZ', '2024-06-18 15:30:59', 'LKGLZ', '2024-06-18 15:31:11', 0, 0, '1', 0, 1),
('1802631077112610817', '', '功能安全中心', '/functionalSafetyCenter', 'functionalSafetyCenter/FunctionalSafetyCenter', null, null, 0, null, '1', 3.2, 0, 'safety', 1, 0, 0, 0, null, 'LKGLZ', '2024-06-17 17:15:15', 'LKGLZ', '2024-07-01 09:46:42', 0, 0, '1', 0, 1);
+252
View File
@@ -0,0 +1,252 @@
-- auto-generated definition
create table pay_committee_info
(
id varchar(36) not null comment 'id',
contacts varchar(100) null comment '联系人',
email varchar(100) null comment 'Email',
establishment_year varchar(100) null comment '成立年代',
telephone varchar(100) null comment '电话',
the_unit_to_which_one_belongs varchar(100) null comment '秘书处所在单位',
approval_time_for_this_session date null comment '本届批准时间',
technical_organization_type varchar(100) null comment '技术组织类型',
contact_email varchar(100) null comment '联系人Email',
committee_number varchar(100) null comment '委员会编号',
province varchar(100) null comment '秘书处所在省',
first_establishment_date date null comment '第一届成立时间',
contact_fax varchar(100) null comment '联系人传真',
responsible_for_professional_scope varchar(500) null comment '负责专业范围',
secretariat_mailing_address varchar(100) null comment '秘书处通讯地址',
contact_phone_number varchar(100) null comment '联系人电话',
business_guidance_unit varchar(100) null comment '业务指导单位',
city varchar(100) null comment '秘书处所在城市',
unit_nature varchar(100) null comment '秘书处单位性质',
org_code varchar(100) null comment '秘书处组织机构代码',
secretary_general varchar(100) null comment '秘书长',
establishment_number varchar(100) null comment '成立文号',
cell_phone varchar(100) null comment '联系人手机',
what_is_the_current_session varchar(100) null comment '现为第几届',
zip_code varchar(100) null comment '邮政编码',
english_name varchar(100) null comment '英文名称',
approval_number_for_this_session varchar(100) null comment '本届批准文号编号',
facsimile varchar(100) null comment '传真',
preparation_unit varchar(100) null comment '筹建单位',
committee_name varchar(100) null comment '委员会名称',
member_number int null comment '委员数量',
del_flag int null comment '逻辑删除标识',
constraint Index_1
unique (id)
)
comment '委员会表';
alter table pay_committee_info
add primary key (id);
-- auto-generated definition
drop table if exists pay_committee_member_info;
create table pay_committee_member_info
(
id varchar(36) not null comment 'id',
mobile_phone varchar(100) null comment '手机',
number int null comment '序号',
identification_number varchar(100) null comment '证件号码',
major_studied varchar(100) null comment '所学专业',
administrative_position varchar(100) null comment '行政职务',
technical_title varchar(100) null comment '技术职称',
affiliated_parties varchar(100) null comment '所属相关方',
committee_participation_time date null comment '参加委员会时间',
work_unit varchar(100) null comment '工作单位',
e_mail varchar(100) null comment '电子邮箱',
committee_number varchar(100) null comment '委员会编号',
name varchar(100) null comment '姓名',
nation varchar(100) null comment '民族',
contact_phone_number varchar(100) null comment '联系电话',
graduation_institution varchar(100) null comment '毕业院校',
validity_period_of_employment_letter date null comment '聘书有效期',
foreign_language varchar(100) null comment '外语',
appointment_letter_number varchar(100) null comment '委员聘书编号',
position_of_standards_committee varchar(100) null comment '标委会职务',
professional_technical_expertise text null comment '专业技术特长',
title_level varchar(100) null comment '职称级别',
engaged_in_profession varchar(100) null comment '从事专业',
educational_background varchar(100) null comment '学历',
zip_code varchar(100) null comment '邮政编码',
degree varchar(100) null comment '学位',
unit_nature varchar(100) null comment '单位性质',
gender varchar(100) null comment '性别',
communication_address varchar(100) null comment '通信地址',
foreign_language_proficiency_level varchar(100) null comment '外语熟练程度',
facsimile varchar(100) null comment '传真',
central_enterprise_level varchar(100) null comment '央企级别',
org_code varchar(100) null comment '工作单位统一社会信用代码或组织机构代码',
political_landscape varchar(100) null comment '政治面貌',
province_of_work_unit varchar(100) null comment '工作单位所属省_直辖市_自治区_特区',
document_type varchar(100) null comment '证件类型',
birth_date varchar(100) null comment '出生年月',
photo varchar(100) null comment '个人证件照',
other_languages_and_proficiency_levels varchar(100) null comment '其他语言及熟练程度',
is_academician varchar(100) null comment '是否工程院院士',
is_academy_of_sciences varchar(100) null comment '是否科学院院士',
del_flag int null comment '逻辑删除标识',
constraint Index_1
unique (id)
)
comment '委员会成员表';
alter table pay_committee_member_info
add primary key (id);
-- 委员会相关菜单及按钮权限
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1800702004710924290', '1800701388810936321', '查询', NULL, NULL, NULL, NULL, 2, 'committeeMemberInfo:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-06-12 09:29:48', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1800701911144390657', '1800701388810936321', '上传个人照片', NULL, NULL, NULL, NULL, 2, 'committeeMemberInfo:uploadPhoto', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-06-12 09:29:26', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1800701728788635650', '1800698635388772353', '查询', '', NULL, NULL, NULL, 2, 'committeeInfo:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-06-12 09:28:42', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1800701529127182338', '1430376424950026242', '委员详情', '/organizationalManage/committeeMemberDetail', 'organizationalManage/committeeMemberInfo/CommitteeMemberInfoDetail', NULL, NULL, 1, NULL, '1', 25.00, 0, NULL, 1, 1, 0, 1, NULL, 'LKGLZ', '2024-06-12 09:27:55', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1800701388810936321', '1430376424950026242', '委员信息', '/organizationalManage/committeeMemberInfo', 'organizationalManage/committeeMemberInfo/CommitteeMemberInfoList', NULL, NULL, 1, NULL, '1', 24.00, 0, NULL, 1, 0, 0, 1, NULL, 'LKGLZ', '2024-06-12 09:27:21', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1800701184820961281', '1430376424950026242', '委员会详情', '/organizationalManage/committeeDetail', 'organizationalManage/committeeInfo/CommitteeInfoDetail', NULL, NULL, 1, NULL, '1', 23.00, 0, NULL, 1, 1, 0, 1, NULL, 'LKGLZ', '2024-06-12 09:26:33', 'LKGLZ', '2024-06-12 09:26:44', 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1800698635388772353', '', '委员会', '/organizationalManage/committeeInfo', 'organizationalManage/committeeInfo/CommitteeInfoList', NULL, NULL, 0, NULL, '1', 4.10, 0, 'cus_yinzhang', 1, 0, 0, 0, NULL, 'LKGLZ', '2024-06-12 09:16:25', 'LKGLZ', '2024-06-12 09:16:36', 0, 0, '1', 0, 1);
-- 20240701 财务管理-修改待确收金额
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1806586851988770818', '1435815710331621378', '修改待确收金额', NULL, NULL, NULL, NULL, 2, 'incomePaymentAndInvoiving:editReceivableAmount', '0', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-06-28 15:14:05', NULL, NULL, 0, 0, '1', 0, 1);
-- 20240701 普通项目-新增复制
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1807697397756596226', '1430376521213497345', '复制', '', NULL, NULL, NULL, 2, 'generalProject:copy', '1', 4.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-01 16:47:00', NULL, NULL, 0, 0, '1', 0, 1);
-- 20240701 会员信息统计
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1807709111403286529', '1807708679419334658', '导出', NULL, NULL, NULL, NULL, 2, 'memberStatistic:export', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-01 17:33:32', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1807709030168006657', '1807708679419334658', '查询', NULL, NULL, NULL, NULL, 2, 'memberStatistic:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-01 17:33:13', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1807708679419334658', '1438394322899558402', '会员信息统计', '/incomePayments/memberManage/MemberStatisticList', 'incomePayments/memberManage/MemberStatisticList', NULL, NULL, 1, NULL, '1', 8.11, 0, NULL, 1, 0, 0, 0, NULL, 'LKGLZ', '2024-07-01 17:31:49', NULL, NULL, 0, 0, '1', 0, 1);
-- 20240703 工作组-成员单位维护-确认凭证 工作组-全部文件导出
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808440661174550530', '1431167539278086146', '确认凭证', NULL, NULL, NULL, NULL, 2, 'workingGroupMember:confirmVoucher', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-03 18:00:27', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808439808279609346', '1430718058514440194', '全部文件导出', NULL, NULL, NULL, NULL, 2, 'workingGroupProject:exportAllFile', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-03 17:57:04', NULL, NULL, 0, 0, '1', 0, 1);
-- 20240703 工作组、起草组-会议参会情况-批量审核报名信息
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808458564737335298', '1742070808427126785', '批量审核报名信息', '', NULL, NULL, NULL, 2, 'draftGroupMeetingSituation:batchAuditSignUp', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-03 19:11:36', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808458432167968769', '1443462660843458561', '批量审核报名信息', NULL, NULL, NULL, NULL, 2, 'workGroupMeetingSituation:batchAuditSignUp', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-03 19:11:04', NULL, NULL, 0, 0, '1', 0, 1);
-- 20240704 会议参会情况-编辑打包前金额
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808714130038607873', '1443470901166039042', '编辑打包前金额', NULL, NULL, NULL, NULL, 2, 'standardsMeetingSituation:editBeforePackMoney', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 12:07:08', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808713535055613954', '1443461591480487938', '编辑打包前金额', NULL, NULL, NULL, NULL, 2, 'committeeMeetingSituation:editBeforePackMoney', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 12:04:46', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808712529420898306', '1744610339198091266', '编辑打包前金额', NULL, NULL, NULL, NULL, 2, 'draftGroupMeetingSituation:editBeforePackMoney', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 12:00:46', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808712332892590081', '1470954992463327234', '编辑打包前金额', NULL, NULL, NULL, NULL, 2, 'councilMeetingSituation:editBeforePackMoney', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 11:59:59', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808712185471193089', '1803335479314161665', '编辑打包前金额', NULL, NULL, NULL, NULL, 2, 'overseasMeetingSituation:editBeforePackMoney', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 11:59:24', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808711899306414081', '1443460205023940610', '编辑打包前金额', NULL, NULL, NULL, NULL, 2, 'otherMeetingSituation:editBeforePackMoney', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 11:58:16', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808711775985487874', '1433322232030777345', '编辑打包前金额', NULL, NULL, NULL, NULL, 2, 'internalMeetingSituation:editBeforePackMoney', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 11:57:46', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808711651183972353', '1443462660843458561', '编辑打包前金额', NULL, NULL, NULL, NULL, 2, 'workGroupMeetingSituation:editBeforePackMoney', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 11:57:17', NULL, NULL, 0, 0, '1', 0, 1);
-- 20240704 会议酒店推荐 相关菜单
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808762081121292290', '1808757213186904065', '下载模板', NULL, NULL, NULL, NULL, 2, 'recommendHotelPage:downTemplate', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 15:17:40', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808761976095920129', '1808757213186904065', '导入', NULL, NULL, NULL, NULL, 2, 'recommendHotelPage:import', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 15:17:15', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808761869799673858', '1808757213186904065', '查询', NULL, NULL, NULL, NULL, 2, 'recommendHotelPage:list', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 15:16:50', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808757213186904065', '1430376424950026242', '会议酒店推荐', '/projectManagement/allMeetingList/RecommendHotelPage', 'projectManagement/RecommendHotelPage', NULL, NULL, 1, NULL, '1', 40.00, 0, NULL, 1, 0, 0, 1, NULL, 'LKGLZ', '2024-07-04 14:58:19', 'LKGLZ', '2024-07-04 14:58:31', 0, 0, '1', 0, 1);
-- 20240704 年度数据锁定
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808786188755947522', '1808784364816715778', '批量删除', NULL, NULL, NULL, NULL, 2, 'annualDataLockingList:batchDel', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 16:53:28', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808786109202583554', '1808784364816715778', '删除', NULL, NULL, NULL, NULL, 2, 'annualDataLockingList:delete', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 16:53:09', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808785934673399809', '1808784364816715778', '新增', NULL, NULL, NULL, NULL, 2, 'annualDataLockingList:add', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 16:52:27', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808785856063754242', '1808784364816715778', '查询', NULL, NULL, NULL, NULL, 2, 'annualDataLockingList:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 16:52:08', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808784364816715778', 'd7d6e2e4e2934f2c9385a623fd98c6f3', '年度数据锁定', '/isystem/annualDataLockingList', 'system/AnnualDataLockingList', NULL, NULL, 1, NULL, '1', 9.00, 0, NULL, 1, 0, 0, 0, NULL, 'LKGLZ', '2024-07-04 16:46:13', NULL, NULL, 0, 0, '1', 0, 1);
-- 20240704 企业分类统计菜单
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808798008250093569', '1808797556947177473', '导出', NULL, NULL, NULL, NULL, 2, 'companyPaymentClassificationStatistics:export', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 17:40:26', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808797925806854146', '1808797556947177473', '查询', NULL, NULL, NULL, NULL, 2, 'companyPaymentClassificationStatistics:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 17:40:06', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808797556947177473', '1437320526513905666', '企业来款分类统计', '/statisticalReport/enterprisePaymentStatistics/enterprisePaymentClassificationStatisticsList', 'statisticalReport/enterprisePaymentStatistics/EnterprisePaymentClassificationStatisticsList', NULL, NULL, 1, NULL, '1', 2.10, 0, NULL, 1, 0, 1, 0, NULL, 'LKGLZ', '2024-07-04 17:38:38', NULL, NULL, 0, 0, '1', 0, 0);
-- 20240705 标协会员的视图创建
CREATE VIEW v_member_project_subitem AS
select `t1`.`id` AS `id`,`t1`.`member_no` AS `member_no`,`t1`.`company_name` AS `company_name`,`t1`.`liaison_man_id` AS `liaison_man_id`,
`t1`.`member_status` AS `member_status`,`t1`.`effective_date` AS `effective_date`,`t1`.`invalidation_date` AS `invalidation_date`,
`t1`.`create_time` AS `create_time`,`t1`.`project_id` AS `project_id` from (`tb_member_project_subitem` `t1` join
(select `tb_member_project_subitem`.`company_id` AS `company_id`,max(`tb_member_project_subitem`.`create_time`) AS `max_create_time`
from `tb_member_project_subitem` group by `tb_member_project_subitem`.`company_id`) `t2` on(((`t1`.`company_id` = `t2`.`company_id`)
and (`t1`.`create_time` = `t2`.`max_create_time`)))) where (`t1`.`member_status` is not null);
-- 20240708 工作组成员新增是否审核,是否确认凭证字段
ALTER TABLE `pay_working_group_subitem`
add column check_payment_status tinyint(1) comment '是否审核(1:是,0:否)',
add column confirm_voucher tinyint(1) comment '是否确认凭证(1:是,0:否)';
-- 20240708 工作组表新增自定义排序字段
ALTER TABLE `pay_working_group`
add column sort_no decimal(20, 10) comment '自定义排序顺序';
-- 20240710 新增会议酒店推荐表
DROP TABLE IF EXISTS `pay_meeting_hotel_recommend`;
CREATE TABLE `pay_meeting_hotel_recommend` (
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
`recommend_people` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '推荐人',
`hotel_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '酒店名称',
`hotel_province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所在省份',
`hotel_city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所在城市',
`is_hold` tinyint(1) NULL DEFAULT NULL COMMENT '是否举办过标准院会议 1-是 0-否',
`meeting_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '曾举办的会议类型',
`contact` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '酒店联系方式',
`remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '会议酒店推荐表' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
-- 20240712 导入到标协会员菜单
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1811666066341814274', '1469221945005338626', '导入到标协会员', NULL, NULL, NULL, NULL, 2, 'council:exportToMember', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-12 15:37:04', NULL, NULL, 0, 0, '1', 0, 1);
-- 20240715 会议汇总-会议酒店推荐按钮
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1812785413516914690', '1626061755230580738', '会议酒店推荐', NULL, NULL, NULL, NULL, 2, 'allmeeting:recommendHotel', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-15 17:44:57', NULL, NULL, 0, 0, '1', 0, 1);
-- 20240716 处理工作组成员历史数据中的是否确认凭证字段
UPDATE pay_working_group_subitem SET confirm_voucher = 0 WHERE confirm_voucher IS NULL;
-- 20240716 处理工作组成员历史数据中的是否审核字段
UPDATE pay_working_group_subitem SET check_payment_status = 0;
UPDATE pay_working_group_subitem SET check_payment_status = 1 WHERE payment_status = 'completed' OR payment_status = 'rejected';
-- auto-generated definition
create table pay_annual_data_locking
(
id varchar(32) not null comment '主键'
primary key,
year varchar(32) null comment '年份',
create_by varchar(32) null comment '创建人',
create_time datetime null comment '创建时间',
update_by varchar(32) null comment '更新人',
update_time datetime null comment '更新时间'
)
comment '年度数据锁定表';
alter table pay_company_management_temporary comment '企业管理临时表';
alter table pay_contacts_management_temporary comment '联系人管理临时表';
alter table pay_company_management_temporary
add year varchar(4) null comment '数据锁定年份';
alter table pay_contacts_management_temporary
add year varchar(4) null comment '数据锁定年份';
# id
alter table tb_member_project_subitem
add company_temporary_id varchar(50) null comment '企业临时id' after company_id,
add company_contact_temporary_id varchar(50) null comment '企业联系人临时id' after liaison_man_id,
add post_contact_temporary_id varchar(150) null comment '邮寄联系人临时id' after post_contact_id;
# id
alter table pay_pack_company
add mail_contact_temporary_id varchar(150) null comment '邮寄联系人临时id' after mail_contacts_id;
-- 20240807 工作组成员单位 审核凭证修改成查看凭证
UPDATE sys_permission SET parent_id='1431167539278086146', name='查看凭证' WHERE id='1808440661174550530';
-- 20240807 会议 查看凭证 按钮
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1821076019175383042', '1443460205023940610', '查看凭证', NULL, NULL, NULL, NULL, 2, 'otherMeetingSituation:lookVoucher', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-08-07 14:48:52', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1821076182862290946', '1443461591480487938', '查看凭证', NULL, NULL, NULL, NULL, 2, 'committeeMeetingSituation:lookVoucher', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-08-07 14:49:31', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1821076336449314817', '1433322232030777345', '查看凭证', NULL, NULL, NULL, NULL, 2, 'internalMeetingSituation:lookVoucher', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-08-07 14:50:07', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1821076500849254402', '1470954992463327234', '查看凭证', NULL, NULL, NULL, NULL, 2, 'councilMeetingSituation:lookVoucher', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-08-07 14:50:46', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1821077226275102721', '1443470901166039042', '查看凭证', NULL, NULL, NULL, NULL, 2, 'standardsMeetingSituation:lookVoucher', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-08-07 14:53:39', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1821829573108494337', '1443462660843458561', '查看凭证', NULL, NULL, NULL, NULL, 2, 'workGroupMeetingSituation:lookVoucher', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-08-09 16:43:13', NULL, NULL, 0, 0, '1', 0, 1);
-- 20240807 会议酒店推荐调整菜单层级 增加菜单。会议汇总 修改成 会议信息统计
DELETE FROM sys_permission where id = '1812785413516914690';
UPDATE sys_permission SET menu_type = 0 , parent_id = NULL, sort_no = 4.2, icon = 'fund',hidden = 0 WHERE id = '1808757213186904065';
UPDATE sys_permission SET `name`= '会议信息统计', menu_type = 1 , parent_id = '1437320526513905666', icon = NULL, sort_no = 14.00 WHERE id = '1626061755230580738';
-- 20240807 功能安全中心菜单中增加 汽车2字
UPDATE sys_permission SET `name`= '汽车功能安全中心' WHERE id = '1802631077112610817';
UPDATE sys_permission SET `name`= '汽车功能安全中心成员维护' WHERE id = '1802967227660554241';
UPDATE sys_permission SET `name`= '汽车功能安全中心参会情况' WHERE id = '1802969401866113025';
UPDATE sys_permission SET `name`= '汽车功能安全中心会议维护' WHERE id = '1802970571397451777';
UPDATE sys_permission SET `name`= '汽车功能安全中心会议' WHERE id = '1808094888670056450';
-- 处理标协会员未缴费历史数据
update tb_member_project_subitem set member_status = 3 where member_status != 3 and payment_status = 'completed';
+58
View File
@@ -0,0 +1,58 @@
-- auto-generated definition
create table pay_meeting_overseas_situation
(
id varchar(36) not null comment 'id',
create_by varchar(50) null comment '创建人',
create_time datetime null comment '创建日期',
update_by varchar(50) null comment '更新人',
update_time datetime null comment '更新日期',
meeting_id varchar(50) null comment '会议id',
photo varchar(50) null comment '照片',
name varchar(200) null comment '姓名',
unit varchar(200) null comment '单位',
post varchar(200) null comment '职务',
nationality varchar(200) null comment '国籍',
address varchar(200) null comment '地址',
email varchar(200) null comment '邮箱',
phone varchar(200) null comment '联系电话',
need_visa tinyint(1) null comment '是否需要签证',
foreign_name varchar(200) null comment '外文姓名',
sex varchar(50) null comment '性别',
birthday date null comment '出生日期',
passport_no varchar(200) null comment '护照号码',
entry_date date null comment '出境日期',
exit_date date null comment '入境日期',
embassies_and_consulates varchar(200) null comment '办理签证使领馆',
constraint Index_1
unique (id)
)
comment '海外会议报名表';
create index pm_situation_idx_meeting_id
on pay_meeting_overseas_situation (meeting_id);
alter table pay_meeting_overseas_situation
add primary key (id);
insert into sys_permission (id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external, external_terminal_show)
values ('1805490588726943746', '1430376424950026242', '海外会议报名信息编辑页', '/incomePayments/meetManage/SignUpInfoEditOverseas', 'incomePayments/meetManage/SignUpInfoEditOverseas', null, null, 1, null, '1', 13, 0, null, 1, 1, 0, 1, null, 'LKGLZ', '2024-06-25 14:37:55', 'LKGLZ', '2024-06-25 14:43:42', 0, 0, '1', 0, 1),
('1803343905960304641', '1803335479314161665', '删除', null, null, null, null, 2, 'overseasMeetingSituation:delete', '1', 1, 0, null, 1, 1, 0, 0, null, 'LKGLZ', '2024-06-19 16:27:46', null, null, 0, 0, '1', 0, 1),
('1803343796841291778', '1803335479314161665', '编辑', '', null, null, null, 2, 'overseasMeetingSituation:edit', '1', 1, 0, null, 1, 1, 0, 0, null, 'LKGLZ', '2024-06-19 16:27:20', null, null, 0, 0, '1', 0, 1),
('1803343698526806018', '1803335479314161665', '批量删除', '', null, null, null, 2, 'overseasMeetingSituation:batchDel', '1', 1, 0, null, 1, 1, 0, 0, null, 'LKGLZ', '2024-06-19 16:26:57', null, null, 0, 0, '1', 0, 1),
('1803343493899296770', '1803335479314161665', '导出', '', null, null, null, 2, 'overseasMeetingSituation:export', '1', 1, 0, null, 1, 1, 0, 0, null, 'LKGLZ', '2024-06-19 16:26:08', null, null, 0, 0, '1', 0, 1),
('1803343388232196098', '1803335479314161665', '添加参会人', '', null, null, null, 2, 'overseasMeetingSituation:add', '1', 1, 0, null, 1, 1, 0, 0, null, 'LKGLZ', '2024-06-19 16:25:43', null, null, 0, 0, '1', 0, 1),
('1803343206362980353', '1803335479314161665', '查询', null, null, null, null, 2, 'overseasMeetingSituation:search', '1', 1, 0, null, 1, 1, 0, 0, null, 'LKGLZ', '2024-06-19 16:25:00', null, null, 0, 0, '1', 0, 1),
('1803339101372489730', '1803308298231947266', '删除', '', null, null, null, 2, 'overseasMeeting:delete', '1', 1, 0, null, 1, 1, 0, 0, null, 'LKGLZ', '2024-06-19 16:08:41', null, null, 0, 0, '1', 0, 1),
('1803338998020644865', '1803308298231947266', '编辑', null, null, null, null, 2, 'overseasMeeting:edit', '1', 1, 0, null, 1, 1, 0, 0, null, 'LKGLZ', '2024-06-19 16:08:16', null, null, 0, 0, '1', 0, 1),
('1803338903925628930', '1803308298231947266', '上传文件', null, null, null, null, 2, 'overseasMeeting:upload', '1', 1, 0, null, 1, 1, 0, 0, null, 'LKGLZ', '2024-06-19 16:07:54', null, null, 0, 0, '1', 0, 1),
('1803338833180303361', '1803308298231947266', '会议纪要', null, null, null, null, 2, 'overseasMeeting:uploadCouncil', '1', 1, 0, null, 1, 1, 0, 0, null, 'LKGLZ', '2024-06-19 16:07:37', null, null, 0, 0, '1', 0, 1),
('1803338519882571778', '1803308298231947266', '批量删除', '', null, null, null, 2, 'overseasMeeting:batchDel', '1', 1, 0, null, 1, 1, 0, 0, null, 'LKGLZ', '2024-06-19 16:06:22', null, null, 0, 0, '1', 0, 1),
('1803338277288222722', '1803308298231947266', '导出', '', null, null, null, 2, 'overseasMeeting:export', '1', 1, 0, null, 1, 1, 0, 0, null, 'LKGLZ', '2024-06-19 16:05:24', 'LKGLZ', '2024-06-19 16:05:41', 0, 0, '1', 0, 1),
('1803338186548649985', '1803308298231947266', '新增', null, null, null, null, 2, 'overseasMeeting:add', '1', 1, 0, null, 1, 1, 0, 0, null, 'LKGLZ', '2024-06-19 16:05:03', null, null, 0, 0, '1', 0, 1),
('1803338041375399938', '1803308298231947266', '查询', '', null, null, null, 2, 'overseasMeeting:search', '1', 1, 0, null, 1, 1, 0, 0, null, 'LKGLZ', '2024-06-19 16:04:28', null, null, 0, 0, '1', 0, 1),
('1803335479314161665', '1430376424950026242', '海外会议参会情况', '/incomePayments/meetManage/AttendanceOverseasMeeting', 'incomePayments/meetManage/Attendance', null, null, 1, null, '1', 9, 0, null, 1, 0, 0, 1, null, 'LKGLZ', '2024-06-19 15:54:17', null, null, 0, 0, '1', 0, 1),
('1803308298231947266', '', '海外会议', '/projectManagement/OverseasMeeting', 'projectManagement/OverseasMeeting', null, null, 0, null, '1', 5.1, 0, 'solution', 1, 0, 0, 0, null, 'LKGLZ', '2024-06-19 14:06:17', 'LKGLZ', '2024-06-19 14:11:52', 0, 0, '1', 0, 1);
INSERT INTO sys_dict_item (id, dict_id, item_text, item_value, description, sort_order, status, create_by, create_time, update_by, update_time) VALUES ('1803307382065930242', '1432280766382727169', '海外会议', '8', '', 8.00, 1, 'LKGLZ', '2024-06-19 14:02:38', 'LKGLZ', '2024-06-25 10:40:29');
+6
View File
@@ -328,6 +328,12 @@ update pay_confirm_payment_record
set no_tax_amount = amount_received / 1.06,
tax = amount_received - no_tax_amount
where amount_received is not null;
-- 2024-7-18 16:01:31 处理打包管理历史数据
update pay_pack_company
set receivable_amount = pack_charge_total,
no_tax_amount = receivable_amount / 1.06,
tax = receivable_amount - no_tax_amount
where pack_year != 2024;
-- 六个项目处理历史数据
update pay_common_project
set confirm_no_tax_amount = confirm_amount / 1.06,
+1323 -122
View File
File diff suppressed because it is too large Load Diff
@@ -347,4 +347,6 @@ public interface ISysBaseAPI extends CommonAPI {
* @param templateParas 参数
*/
void sendMessage(String phone, String sender,String templateId,String signature,String templateParas);
List<JSONObject> getLogByRequestParam(String requestParam);
}
+6 -2
View File
@@ -14,7 +14,7 @@
<repository>
<id>aliyun</id>
<name>aliyun Repository</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<url>https://maven.aliyun.com/repository/public</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
@@ -22,7 +22,7 @@
<repository>
<id>jeecg</id>
<name>jeecg Repository</name>
<url>http://maven.jeecg.org/nexus/content/repositories/jeecg</url>
<url>https://maven.jeecg.org/nexus/content/repositories/jeecg</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
@@ -276,6 +276,10 @@
<groupId>p6spy</groupId>
<artifactId>p6spy</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
</dependency>
</dependencies>
</project>
@@ -0,0 +1,18 @@
package com.jero.common.api.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liJiaRao
* @date 2023-11-17 15:27
*/
@Data
public class IdsMapBody {
/**id*/
@ApiModelProperty(value = "id")
private String id;
/**ids*/
@ApiModelProperty(value = "ids")
private String ids;
}
@@ -309,4 +309,9 @@ public interface CommonConstant {
* 第三方登录 验证密码/创建用户 都需要设置一个操作码 防止被恶意调用
*/
public final static String THIRD_LOGIN_CODE = "third_login_code";
public final static String ZERO = "0.00";
Integer YES = 1;
Integer NO = 0;
}
@@ -148,6 +148,7 @@ public class JeroController<T, S extends IService<T>> {
throw new JeroBootException("请导入excel文件!");
}
ImportParams params = new ImportParams();
params.setSheetNum(1);
params.setTitleRows(2);
params.setHeadRows(1);
try {
@@ -238,6 +239,7 @@ public class JeroController<T, S extends IService<T>> {
throw new JeroBootException("文件错误:" + "文件名丢失,请上传正确的文件!");
}
ImportParams params = new ImportParams();
params.setSheetNum(1);
params.setTitleRows(1);
params.setHeadRows(1);
try {
@@ -254,6 +256,7 @@ public class JeroController<T, S extends IService<T>> {
if(Objects.isNull(e.getMessage())){
throw new JeroBootException("文件导入失败:请填写内容标题!");
}
log.error("文件导入失败:",e);
throw new JeroBootException("文件导入失败:" + e.getMessage());
} finally {
try {
@@ -46,6 +46,13 @@ public class StaticConfig {
StaticConfig.needPassword = needPassword;
}
public static String TEMPLATE_PATH;
@Value("${template.path.templatePath}")
public void setTemplatePath(String templatePath) {
StaticConfig.TEMPLATE_PATH = templatePath;
}
/*@Bean
public void initStatic() {
@@ -129,7 +129,9 @@ public class ShiroConfig {
//不需要权限的接口
filterChainDefinitionMap.put("/meeting/payMeetingSituation/signUp","anon");//报名
filterChainDefinitionMap.put("/meeting/overseasSituation/signUp","anon");//海外会议报名
filterChainDefinitionMap.put("/meeting/payMeetingSituation/validInvitationCode","anon");//报名
filterChainDefinitionMap.put("/meeting/draftGroupMeetingSituation/queryInfoByMeetingIdAndContactId","anon");//通过会议id和参会人id查询企业信息和所有联系人信息
filterChainDefinitionMap.put("/meeting/payMeeting/queryById","anon");//会议详情
filterChainDefinitionMap.put("/sys/common/upload","anon");//上传文件
filterChainDefinitionMap.put("/sys/dict/getDictItems/**","anon");//数据字典
@@ -139,7 +141,9 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/sys/oss/file/queryById","anon");//通过id查询文件
filterChainDefinitionMap.put("/meeting/internalMeetingSituation/checkMember","anon");//校验是否为会员单位
filterChainDefinitionMap.put("/meeting/internalMeeting/getLinkTopics","anon");//查询关联会议
filterChainDefinitionMap.put("/pack/payPackCompany/judgeCompanyIsPackaged","anon");//判断当前企业是否是打包企业
filterChainDefinitionMap.put("/company/payCompanyManagement/judgeCompanyIsPackaged","anon");//判断当前企业是否是打包企业
filterChainDefinitionMap.put("/drafting/payDraftingGroupSubitem/queryInfoByDraftIdAndCompanyId","anon");//通过起草组id和参会人id查询企业信息和所有联系人信息
//通过单位名称查询该单位是否可用
filterChainDefinitionMap.put("/member/tbMemberProjectSubitem/enableMemberByCompanyName", "anon");
//门户端-分页查询所有会员名称
+5
View File
@@ -78,5 +78,10 @@
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15to18</artifactId>
<version>1.69</version>
</dependency>
</dependencies>
</project>
@@ -0,0 +1,104 @@
package com.jero.committee.controller;
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.jero.committee.entity.PayCommitteeInfo;
import com.jero.committee.service.PayCommitteeInfoService;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.constant.CommonConstant;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.oConvertUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* 委员会表(pay_committee_info)表控制层
*
* @author xxxxx
*/
@Slf4j
@Api(tags = "委员会表")
@RestController
@RequestMapping("PayCommitteeInfo")
public class PayCommitteeInfoController extends JeroController<PayCommitteeInfo, PayCommitteeInfoService> {
/**
* 服务对象
*/
@Resource
private PayCommitteeInfoService payCommitteeInfoService;
/**
* 分页列表查询
*/
@RequiresPermissions("committeeInfo:search")
@ApiOperation(value = "委员会表-分页列表查询", notes = "委员会表-分页列表查询")
@GetMapping(value = "/page")
public Result<IPage<PayCommitteeInfo>> queryPageList(PayCommitteeInfo payCommitteeInfo,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayCommitteeInfo> queryWrapper = QueryGenerator.initQueryWrapper(payCommitteeInfo, req.getParameterMap());
Page<PayCommitteeInfo> page = new Page<>(pageNo, pageSize);
IPage<PayCommitteeInfo> pageList = payCommitteeInfoService.pageList(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 通过id查询
*/
@AutoLog(value = "委员会表-通过id查询")
@ApiOperation(value = "委员会表-通过id查询", notes = "委员会表-通过id查询")
@GetMapping(value = "/queryById")
public Result<PayCommitteeInfo> queryById(@RequestParam(name = "id") String id) {
PayCommitteeInfo payCommitteeInfo = payCommitteeInfoService.queryById(id);
if (payCommitteeInfo == null) {
throw new JeroBootException("未找到对应数据");
}
return Result.OK(payCommitteeInfo);
}
/**
* 同步数据
*/
@ApiOperation(value = "同步数据")
@GetMapping(value = "/sync")
public void sync() {
payCommitteeInfoService.sync();
}
/**
* 导出excel
*/
@ApiOperation(value = "委员会表-导出excel")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayCommitteeInfo payCommitteeInfo) {
QueryWrapper<PayCommitteeInfo> queryWrapper = QueryGenerator.initQueryWrapper(payCommitteeInfo, request.getParameterMap());
Page<PayCommitteeInfo> page = new Page<>(-1, -1);
IPage<PayCommitteeInfo> pageList = payCommitteeInfoService.pageList(page, queryWrapper);
List<PayCommitteeInfo> list = pageList.getRecords();
// 过滤选中数据
String selections = request.getParameter("selections");
if (oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
list = list.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
}
return super.exportListXls(list, PayCommitteeInfo.class, "委员会表");
}
}
@@ -0,0 +1,123 @@
package com.jero.committee.controller;
import cn.hutool.core.util.DesensitizedUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.committee.entity.PayCommitteeMemberInfo;
import com.jero.committee.service.PayCommitteeMemberInfoService;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.constant.CommonConstant;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.oConvertUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* 委员会成员表(pay_committee_member_info)表控制层
*
* @author xxxxx
*/
@Slf4j
@Api(tags = "委员会成员表")
@RestController
@RequestMapping("PayCommitteeMemberInfo")
public class PayCommitteeMemberInfoController extends JeroController<PayCommitteeMemberInfo, PayCommitteeMemberInfoService> {
/**
* 服务对象
*/
@Resource
private PayCommitteeMemberInfoService payCommitteeMemberInfoService;
/**
* 分页列表查询
*/
@RequiresPermissions("committeeMemberInfo:search")
@ApiOperation(value = "委员会成员表-分页列表查询", notes = "委员会成员表-分页列表查询")
@GetMapping(value = "/page")
public Result<IPage<PayCommitteeMemberInfo>> queryPageList(PayCommitteeMemberInfo payCommitteeMemberInfo,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayCommitteeMemberInfo> queryWrapper = QueryGenerator.initQueryWrapper(payCommitteeMemberInfo, req.getParameterMap());
Page<PayCommitteeMemberInfo> page = new Page<>(pageNo, pageSize);
IPage<PayCommitteeMemberInfo> pageList = payCommitteeMemberInfoService.pageList(page, payCommitteeMemberInfo, queryWrapper);
return Result.OK(pageList);
}
/**
* 通过id查询
*/
@AutoLog(value = "委员会成员表-通过id查询")
@ApiOperation(value = "委员会成员表-通过id查询", notes = "委员会成员表-通过id查询")
@GetMapping(value = "/queryById")
public Result<PayCommitteeMemberInfo> queryById(@RequestParam(name = "id") String id) {
PayCommitteeMemberInfo payCommitteeMemberInfo = payCommitteeMemberInfoService.queryById(id);
if (payCommitteeMemberInfo == null) {
throw new JeroBootException("未找到对应数据");
}
payCommitteeMemberInfoService.desensitized(payCommitteeMemberInfo);
return Result.OK(payCommitteeMemberInfo);
}
/**
* 上传个人照片
*/
@RequiresPermissions("committeeMemberInfo:uploadPhoto")
@AutoLog(value = "委员会成员表-上传个人照片")
@ApiOperation(value = "委员会成员表-上传个人照片", notes = "委员会成员表-上传个人照片")
@PostMapping(value = "/uploadPhoto")
public Result<Object> uploadPhoto(@RequestBody PayCommitteeMemberInfo payCommitteeMemberInfo) {
String id = payCommitteeMemberInfo.getId();
String photo = payCommitteeMemberInfo.getPhoto();
LambdaUpdateWrapper<PayCommitteeMemberInfo> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(PayCommitteeMemberInfo::getId,id);
wrapper.set(PayCommitteeMemberInfo::getPhoto,photo);
payCommitteeMemberInfoService.update(wrapper);
return Result.OK();
}
/**
* 导出excel
*/
@ApiOperation(value = "委员会成员表-导出excel")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayCommitteeMemberInfo payCommitteeMemberInfo) {
QueryWrapper<PayCommitteeMemberInfo> queryWrapper = QueryGenerator.initQueryWrapper(payCommitteeMemberInfo, request.getParameterMap());
Page<PayCommitteeMemberInfo> page = new Page<>(-1, -1);
IPage<PayCommitteeMemberInfo> pageList = payCommitteeMemberInfoService.pageList(page, payCommitteeMemberInfo, queryWrapper);
List<PayCommitteeMemberInfo> list = pageList.getRecords();
// 过滤选中数据
String selections = request.getParameter("selections");
if (oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
list = list.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
}
return super.exportListXls(list, PayCommitteeMemberInfo.class, "委员会成员表");
}
}
@@ -0,0 +1,160 @@
package com.jero.committee.dto;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author liJiaRao
* @date 2024-06-05 15:31
*/
@NoArgsConstructor
@Data
public class CommitteeInfoDTO {
/**
* 联系人
*/
@JSONField(name = "联系人")
private String contacts;
/**
* email
*/
@JSONField(name = "Email")
private String email;
/**
* 成立年代
*/
@JSONField(name = "成立年代")
private String establishmentYear;
/**
* 电话
*/
@JSONField(name = "电话")
private String telephone;
/**
* 秘书处所在单位
*/
@JSONField(name = "秘书处所在单位")
private String theUnitToWhichOneBelongs;
/**
* 本届批准时间
*/
@JSONField(name = "本届批准时间")
private String approvalTimeForThisSession;
/**
* 技术组织类型
*/
@JSONField(name = "技术组织类型")
private String technicalOrganizationType;
/**
* 联系人Email
*/
@JSONField(name = "联系人Email")
private String contactEmail;
/**
* 委员会编号
*/
@JSONField(name = "委员会编号")
private String committeeNumber;
/**
* 秘书处所在省
*/
@JSONField(name = "秘书处所在省")
private String province;
/**
* 第一届成立时间
*/
@JSONField(name = "第一届成立时间")
private String firstEstablishmentDate;
/**
* 联系人传真
*/
@JSONField(name = "联系人传真")
private String contactFax;
/**
* 负责专业范围
*/
@JSONField(name = "负责专业范围")
private String responsibleForProfessionalScope;
/**
* 秘书处通讯地址
*/
@JSONField(name = "秘书处通讯地址")
private String secretariatMailingAddress;
/**
* 联系人电话
*/
@JSONField(name = "联系人电话")
private String contactPhoneNumber;
/**
* 业务指导单位
*/
@JSONField(name = "业务指导单位")
private String businessGuidanceUnit;
/**
* 秘书处所在城市
*/
@JSONField(name = "秘书处所在城市")
private String city;
/**
* 秘书处单位性质
*/
@JSONField(name = "秘书处单位性质")
private String unitNature;
/**
* 秘书处组织机构代码
*/
@JSONField(name = "秘书处组织机构代码")
private String orgCode;
/**
* 秘书长
*/
@JSONField(name = "秘书长")
private String secretaryGeneral;
/**
* 成立文号
*/
@JSONField(name = "成立文号")
private String establishmentNumber;
/**
* 联系人手机
*/
@JSONField(name = "联系人手机")
private String cellPhone;
/**
* 现为第几届
*/
@JSONField(name = "现为第几届")
private String whatIsTheCurrentSession;
/**
* 邮政编码
*/
@JSONField(name = "邮政编码")
private String zipCode;
/**
* 英文名称
*/
@JSONField(name = "英文名称")
private String englishName;
/**
* 本届批准文号编号
*/
@JSONField(name = "本届批准文号编号")
private String approvalNumberForThisSession;
/**
* 传真
*/
@JSONField(name = "传真")
private String facsimile;
/**
* 筹建单位
*/
@JSONField(name = "筹建单位")
private String preparationUnit;
/**
* 委员会名称
*/
@JSONField(name = "委员会名称")
private String committeeName;
}
@@ -0,0 +1,209 @@
package com.jero.committee.dto;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author liJiaRao
* @date 2024-06-05 15:33
*/
@NoArgsConstructor
@Data
public class CommitteeMemberInfoDTO {
/**
* 手机
*/
@JSONField(name = "手机")
private String mobilePhone;
/**
* 序号
*/
@JSONField(name = "序号")
private String number;
/**
* 证件号码
*/
@JSONField(name = "证件号码")
private String identificationNumber;
/**
* 所学专业
*/
@JSONField(name = "所学专业")
private String majorStudied;
/**
* 行政职务
*/
@JSONField(name = "行政职务")
private String administrativePosition;
/**
* 技术职称
*/
@JSONField(name = "技术职称")
private String technicalTitle;
/**
* 所属相关方
*/
@JSONField(name = "所属相关方")
private String affiliatedParties;
/**
* 参加委员会时间
*/
@JSONField(name = "参加委员会时间")
private String committeeParticipationTime;
/**
* 工作单位
*/
@JSONField(name = "工作单位")
private String workUnit;
/**
* 电子邮箱
*/
@JSONField(name = "电子邮箱")
private String eMail;
/**
* 委员会编号
*/
@JSONField(name = "委员会编号")
private String committeeNumber;
/**
* 姓名
*/
@JSONField(name = "姓名")
private String name;
/**
* 民族
*/
@JSONField(name = "民族")
private String nation;
/**
* 联系电话
*/
@JSONField(name = "联系电话")
private String contactPhoneNumber;
/**
* 毕业院校
*/
@JSONField(name = "毕业院校")
private String graduationInstitution;
/**
* 聘书有效期
*/
@JSONField(name = "聘书有效期")
private String validityPeriodOfEmploymentLetter;
/**
* 外语
*/
@JSONField(name = "外语")
private String foreignLanguage;
/**
* 委员聘书编号
*/
@JSONField(name = "委员聘书编号")
private String appointmentLetterNumber;
/**
* 标委会职务
*/
@JSONField(name = "标委会职务")
private String positionOfStandardsCommittee;
/**
* 专业技术特长
*/
@JSONField(name = "专业技术特长")
private String professionalTechnicalExpertise;
/**
* 职称级别
*/
@JSONField(name = "职称级别")
private String titleLevel;
/**
* 从事专业
*/
@JSONField(name = "从事专业")
private String engagedInProfession;
/**
* 学历
*/
@JSONField(name = "学历")
private String educationalBackground;
/**
* 邮政编码
*/
@JSONField(name = "邮政编码")
private String zipCode;
/**
* 学位
*/
@JSONField(name = "学位")
private String degree;
/**
* 单位性质
*/
@JSONField(name = "单位性质")
private String unitNature;
/**
* 性别
*/
@JSONField(name = "性别")
private String gender;
/**
* 通信地址
*/
@JSONField(name = "通信地址")
private String communicationAddress;
/**
* 外语熟练程度
*/
@JSONField(name = "外语熟练程度")
private String foreignLanguageProficiencyLevel;
/**
* 传真
*/
@JSONField(name = "传真")
private String facsimile;
/**
* 央企级别
*/
@JSONField(name = "央企级别")
private String centralEnterpriseLevel;
/**
* 工作单位统一社会信用代码或组织机构代码
*/
@JSONField(name = "工作单位统一社会信用代码或组织机构代码")
private String orgCode;
/**
* 政治面貌
*/
@JSONField(name = "政治面貌")
private String politicalLandscape;
/**
* 工作单位所属省直辖市自治区特区
*/
@JSONField(name = "工作单位所属省_直辖市_自治区_特区")
private String provinceOfWorkUnit;
/**
* 证件类型
*/
@JSONField(name = "证件类型")
private String documentType;
/**
* 出生年月
*/
@JSONField(name = "出生年月")
private String birthDate;
/**
* 其他语言及熟练程度
*/
@JSONField(name = "其他语言及熟练程度")
private String otherLanguagesAndProficiencyLevels;
/**
* 是否工程院院士
*/
@JSONField(name = "是否工程院院士")
private String isAcademician;
/**
* 是否科学院院士
*/
@JSONField(name = "是否科学院院士")
private String isAcademyOfSciences;
}
@@ -0,0 +1,284 @@
package com.jero.committee.entity;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
/**
*
*@author liJiaRao
*@date 2024-06-05 16:03
*/
/**
* 委员会表
*/
@ApiModel(description = "委员会表")
@Data
@TableName(value = "pay_committee_info")
public class PayCommitteeInfo {
/**
* id
*/
@TableId(value = "id", type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**
* 联系人
*/
@TableField(value = "contacts")
@Excel(name = "联系人")
@ApiModelProperty(value = "联系人")
private String contacts;
/**
* Email
*/
@TableField(value = "email")
@Excel(name = "Email")
@ApiModelProperty(value = "Email")
private String email;
/**
* 成立年代
*/
@TableField(value = "establishment_year")
@Excel(name = "成立年代")
@ApiModelProperty(value = "成立年代")
private String establishmentYear;
/**
* 电话
*/
@TableField(value = "telephone")
@Excel(name = "电话")
@ApiModelProperty(value = "电话")
private String telephone;
/**
* 秘书处所在单位
*/
@TableField(value = "the_unit_to_which_one_belongs")
@Excel(name = "秘书处所在单位")
@ApiModelProperty(value = "秘书处所在单位")
private String theUnitToWhichOneBelongs;
/**
* 本届批准时间
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@TableField(value = "approval_time_for_this_session")
@Excel(name = "本届批准时间",format = "yyyy-MM-dd")
@ApiModelProperty(value = "本届批准时间")
private Date approvalTimeForThisSession;
/**
* 技术组织类型
*/
@TableField(value = "technical_organization_type")
@Excel(name = "技术组织类型")
@ApiModelProperty(value = "技术组织类型")
private String technicalOrganizationType;
/**
* 联系人Email
*/
@TableField(value = "contact_email")
@Excel(name = "联系人Email")
@ApiModelProperty(value = "联系人Email")
private String contactEmail;
/**
* 委员会编号
*/
@TableField(value = "committee_number")
@Excel(name = "委员会编号")
@ApiModelProperty(value = "委员会编号")
private String committeeNumber;
/**
* 秘书处所在省
*/
@TableField(value = "province")
@Excel(name = "秘书处所在省")
@ApiModelProperty(value = "秘书处所在省")
private String province;
/**
* 第一届成立时间
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@TableField(value = "first_establishment_date")
@Excel(name = "第一届成立时间",format = "yyyy-MM-dd")
@ApiModelProperty(value = "第一届成立时间")
private Date firstEstablishmentDate;
/**
* 联系人传真
*/
@TableField(value = "contact_fax")
@Excel(name = "联系人传真")
@ApiModelProperty(value = "联系人传真")
private String contactFax;
/**
* 负责专业范围
*/
@TableField(value = "responsible_for_professional_scope")
@Excel(name = "负责专业范围")
@ApiModelProperty(value = "负责专业范围")
private String responsibleForProfessionalScope;
/**
* 秘书处通讯地址
*/
@TableField(value = "secretariat_mailing_address")
@Excel(name = "秘书处通讯地址")
@ApiModelProperty(value = "秘书处通讯地址")
private String secretariatMailingAddress;
/**
* 联系人电话
*/
@TableField(value = "contact_phone_number")
@Excel(name = "联系人电话")
@ApiModelProperty(value = "联系人电话")
private String contactPhoneNumber;
/**
* 业务指导单位
*/
@TableField(value = "business_guidance_unit")
@Excel(name = "业务指导单位")
@ApiModelProperty(value = "业务指导单位")
private String businessGuidanceUnit;
/**
* 秘书处所在城市
*/
@TableField(value = "city")
@Excel(name = "秘书处所在城市")
@ApiModelProperty(value = "秘书处所在城市")
private String city;
/**
* 秘书处单位性质
*/
@TableField(value = "unit_nature")
@Excel(name = "秘书处单位性质")
@ApiModelProperty(value = "秘书处单位性质")
private String unitNature;
/**
* 秘书处组织机构代码
*/
@TableField(value = "org_code")
@Excel(name = "秘书处组织机构代码")
@ApiModelProperty(value = "秘书处组织机构代码")
private String orgCode;
/**
* 秘书长
*/
@TableField(value = "secretary_general")
@Excel(name = "秘书长")
@ApiModelProperty(value = "秘书长")
private String secretaryGeneral;
/**
* 成立文号
*/
@TableField(value = "establishment_number")
@Excel(name = "成立文号")
@ApiModelProperty(value = "成立文号")
private String establishmentNumber;
/**
* 联系人手机
*/
@TableField(value = "cell_phone")
@Excel(name = "联系人手机")
@ApiModelProperty(value = "联系人手机")
private String cellPhone;
/**
* 现为第几届
*/
@TableField(value = "what_is_the_current_session")
@Excel(name = "现为第几届")
@ApiModelProperty(value = "现为第几届")
private String whatIsTheCurrentSession;
/**
* 邮政编码
*/
@TableField(value = "zip_code")
@Excel(name = "邮政编码")
@ApiModelProperty(value = "邮政编码")
private String zipCode;
/**
* 英文名称
*/
@TableField(value = "english_name")
@Excel(name = "英文名称")
@ApiModelProperty(value = "英文名称")
private String englishName;
/**
* 本届批准文号编号
*/
@TableField(value = "approval_number_for_this_session")
@Excel(name = "本届批准文号编号")
@ApiModelProperty(value = "本届批准文号编号")
private String approvalNumberForThisSession;
/**
* 传真
*/
@TableField(value = "facsimile")
@Excel(name = "传真")
@ApiModelProperty(value = "传真")
private String facsimile;
/**
* 筹建单位
*/
@TableField(value = "preparation_unit")
@Excel(name = "筹建单位")
@ApiModelProperty(value = "筹建单位")
private String preparationUnit;
/**
* 委员会名称
*/
@TableField(value = "committee_name")
@Excel(name = "委员会名称")
@ApiModelProperty(value = "委员会名称")
private String committeeName;
/**
* 委员数量
*/
@TableField(value = "member_number")
@Excel(name = "委员数量")
@ApiModelProperty(value = "委员数量")
private Integer memberNumber;
/**
* 删除标识
*/
@ApiModelProperty(value = "删除标识")
private Integer delFlag;
}
@@ -0,0 +1,362 @@
package com.jero.committee.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
/**
*
*@author liJiaRao
*@date 2024-06-05 16:03
*/
/**
* 委员会成员表
*/
@ApiModel(description = "委员会成员表")
@Data
@TableName(value = "pay_committee_member_info")
public class PayCommitteeMemberInfo {
/**
* id
*/
@TableId(value = "id", type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**
* 手机
*/
@TableField(value = "mobile_phone")
@Excel(name = "手机")
@ApiModelProperty(value = "手机")
private String mobilePhone;
/**
* 序号
*/
@TableField(value = "`number`")
@Excel(name = "序号")
@ApiModelProperty(value = "序号")
private String number;
/**
* 证件号码
*/
@TableField(value = "identification_number")
@Excel(name = "证件号码")
@ApiModelProperty(value = "证件号码")
private String identificationNumber;
/**
* 所学专业
*/
@TableField(value = "major_studied")
@Excel(name = "所学专业")
@ApiModelProperty(value = "所学专业")
private String majorStudied;
/**
* 行政职务
*/
@TableField(value = "administrative_position")
@Excel(name = "行政职务")
@ApiModelProperty(value = "行政职务")
private String administrativePosition;
/**
* 技术职称
*/
@TableField(value = "technical_title")
@Excel(name = "技术职称")
@ApiModelProperty(value = "技术职称")
private String technicalTitle;
/**
* 所属相关方
*/
@TableField(value = "affiliated_parties")
@Excel(name = "所属相关方")
@ApiModelProperty(value = "所属相关方")
private String affiliatedParties;
/**
* 参加委员会时间
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@TableField(value = "committee_participation_time")
@Excel(name = "参加委员会时间",format = "yyyy-MM-dd")
@ApiModelProperty(value = "参加委员会时间")
private Date committeeParticipationTime;
/**
* 工作单位
*/
@TableField(value = "work_unit")
@Excel(name = "工作单位")
@ApiModelProperty(value = "工作单位")
private String workUnit;
/**
* 电子邮箱
*/
@TableField(value = "e_mail")
@Excel(name = "电子邮箱")
@ApiModelProperty(value = "电子邮箱")
private String eMail;
/**
* 委员会编号
*/
@TableField(value = "committee_number")
@Excel(name = "委员会编号")
@ApiModelProperty(value = "委员会编号")
private String committeeNumber;
/**
* 姓名
*/
@TableField(value = "`name`")
@Excel(name = "姓名")
@ApiModelProperty(value = "姓名")
private String name;
/**
* 民族
*/
@TableField(value = "nation")
@Excel(name = "民族")
@ApiModelProperty(value = "民族")
private String nation;
/**
* 联系电话
*/
@TableField(value = "contact_phone_number")
@Excel(name = "联系电话")
@ApiModelProperty(value = "联系电话")
private String contactPhoneNumber;
/**
* 毕业院校
*/
@TableField(value = "graduation_institution")
@Excel(name = "毕业院校")
@ApiModelProperty(value = "毕业院校")
private String graduationInstitution;
/**
* 聘书有效期
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@TableField(value = "validity_period_of_employment_letter")
@Excel(name = "聘书有效期",format = "yyyy-MM-dd")
@ApiModelProperty(value = "聘书有效期")
private Date validityPeriodOfEmploymentLetter;
/**
* 外语
*/
@TableField(value = "foreign_language")
@Excel(name = "外语")
@ApiModelProperty(value = "外语")
private String foreignLanguage;
/**
* 委员聘书编号
*/
@TableField(value = "appointment_letter_number")
@Excel(name = "委员聘书编号")
@ApiModelProperty(value = "委员聘书编号")
private String appointmentLetterNumber;
/**
* 标委会职务
*/
@TableField(value = "position_of_standards_committee")
@Excel(name = "标委会职务")
@ApiModelProperty(value = "标委会职务")
private String positionOfStandardsCommittee;
/**
* 专业技术特长
*/
@TableField(value = "professional_technical_expertise")
@Excel(name = "专业技术特长")
@ApiModelProperty(value = "专业技术特长")
private String professionalTechnicalExpertise;
/**
* 职称级别
*/
@TableField(value = "title_level")
@Excel(name = "职称级别")
@ApiModelProperty(value = "职称级别")
private String titleLevel;
/**
* 从事专业
*/
@TableField(value = "engaged_in_profession")
@Excel(name = "从事专业")
@ApiModelProperty(value = "从事专业")
private String engagedInProfession;
/**
* 学历
*/
@TableField(value = "educational_background")
@Excel(name = "学历")
@ApiModelProperty(value = "学历")
private String educationalBackground;
/**
* 邮政编码
*/
@TableField(value = "zip_code")
@Excel(name = "邮政编码")
@ApiModelProperty(value = "邮政编码")
private String zipCode;
/**
* 学位
*/
@TableField(value = "`degree`")
@Excel(name = "学位")
@ApiModelProperty(value = "学位")
private String degree;
/**
* 单位性质
*/
@TableField(value = "unit_nature")
@Excel(name = "单位性质")
@ApiModelProperty(value = "单位性质")
private String unitNature;
/**
* 性别
*/
@TableField(value = "gender")
@Excel(name = "性别")
@ApiModelProperty(value = "性别")
private String gender;
/**
* 通信地址
*/
@TableField(value = "communication_address")
@Excel(name = "通信地址")
@ApiModelProperty(value = "通信地址")
private String communicationAddress;
/**
* 外语熟练程度
*/
@TableField(value = "foreign_language_proficiency_level")
@Excel(name = "外语熟练程度")
@ApiModelProperty(value = "外语熟练程度")
private String foreignLanguageProficiencyLevel;
/**
* 传真
*/
@TableField(value = "facsimile")
@Excel(name = "传真")
@ApiModelProperty(value = "传真")
private String facsimile;
/**
* 央企级别
*/
@TableField(value = "central_enterprise_level")
@Excel(name = "央企级别")
@ApiModelProperty(value = "央企级别")
private String centralEnterpriseLevel;
/**
* 工作单位统一社会信用代码或组织机构代码
*/
@TableField(value = "org_code")
@Excel(name = "工作单位统一社会信用代码或组织机构代码")
@ApiModelProperty(value = "工作单位统一社会信用代码或组织机构代码")
private String orgCode;
/**
* 政治面貌
*/
@TableField(value = "political_landscape")
@Excel(name = "政治面貌")
@ApiModelProperty(value = "政治面貌")
private String politicalLandscape;
/**
* 工作单位所属省_直辖市_自治区_特区
*/
@TableField(value = "province_of_work_unit")
@Excel(name = "工作单位所属省_直辖市_自治区_特区")
@ApiModelProperty(value = "工作单位所属省_直辖市_自治区_特区")
private String provinceOfWorkUnit;
/**
* 证件类型
*/
@TableField(value = "document_type")
@Excel(name = "证件类型")
@ApiModelProperty(value = "证件类型")
private String documentType;
/**
* 出生年月
*/
@TableField(value = "birth_date")
@Excel(name = "出生年月")
@ApiModelProperty(value = "出生年月")
private String birthDate;
/**
* 个人证件照
*/
@TableField(value = "photo")
@Excel(name = "个人证件照")
@ApiModelProperty(value = "个人证件照")
private String photo;
/**
* 其他语言及熟练程度
*/
@TableField(value = "other_languages_and_proficiency_levels")
@Excel(name = "其他语言及熟练程度")
@ApiModelProperty(value = "其他语言及熟练程度")
private String otherLanguagesAndProficiencyLevels;
/**
* 是否工程院院士
*/
@TableField(value = "is_academician")
@Excel(name = "是否工程院院士")
@ApiModelProperty(value = "是否工程院院士")
private String isAcademician;
/**
* 是否科学院院士
*/
@TableField(value = "is_academy_of_sciences")
@Excel(name = "是否科学院院士")
@ApiModelProperty(value = "是否科学院院士")
private String isAcademyOfSciences;
/**
* 删除标识
*/
@ApiModelProperty(value = "删除标识")
private Integer delFlag;
}
@@ -0,0 +1,25 @@
package com.jero.committee.job;
import com.jero.committee.service.PayCommitteeInfoService;
import lombok.extern.slf4j.Slf4j;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import javax.annotation.Resource;
/**
* @author liJiaRao
* @date 2024-06-07 14:26
*/
@Slf4j
public class CommitteeInfoSyncJob implements Job {
@Resource
private PayCommitteeInfoService payCommitteeInfoService;
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
log.info("------------同步委员会信息开始------------");
payCommitteeInfoService.sync();
log.info("------------同步委员会信息接受------------");
}
}
@@ -0,0 +1,11 @@
package com.jero.committee.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.committee.entity.PayCommitteeInfo;
/**
* @author liJiaRao
* @date 2024-06-05 16:03
*/
public interface PayCommitteeInfoMapper extends BaseMapper<PayCommitteeInfo> {
}
@@ -0,0 +1,11 @@
package com.jero.committee.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.committee.entity.PayCommitteeMemberInfo;
/**
* @author liJiaRao
* @date 2024-06-05 16:03
*/
public interface PayCommitteeMemberInfoMapper extends BaseMapper<PayCommitteeMemberInfo> {
}
@@ -0,0 +1,48 @@
<?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="com.jero.committee.mapper.PayCommitteeInfoMapper">
<resultMap id="BaseResultMap" type="com.jero.committee.entity.PayCommitteeInfo">
<!--@mbg.generated-->
<!--@Table pay_committee_info-->
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="contacts" jdbcType="VARCHAR" property="contacts" />
<result column="email" jdbcType="VARCHAR" property="email" />
<result column="establishment_year" jdbcType="VARCHAR" property="establishmentYear" />
<result column="telephone" jdbcType="VARCHAR" property="telephone" />
<result column="the_unit_to_which_one_belongs" jdbcType="VARCHAR" property="theUnitToWhichOneBelongs" />
<result column="approval_time_for_this_session" jdbcType="DATE" property="approvalTimeForThisSession" />
<result column="technical_organization_type" jdbcType="VARCHAR" property="technicalOrganizationType" />
<result column="contact_email" jdbcType="VARCHAR" property="contactEmail" />
<result column="committee_number" jdbcType="VARCHAR" property="committeeNumber" />
<result column="province" jdbcType="VARCHAR" property="province" />
<result column="rst_establishment_date" jdbcType="DATE" property="rstEstablishmentDate" />
<result column="contact_fax" jdbcType="VARCHAR" property="contactFax" />
<result column="responsible_for_professional_scope" jdbcType="VARCHAR" property="responsibleForProfessionalScope" />
<result column="secretariat_mailing_address" jdbcType="VARCHAR" property="secretariatMailingAddress" />
<result column="contact_phone_number" jdbcType="VARCHAR" property="contactPhoneNumber" />
<result column="business_guidance_unit" jdbcType="VARCHAR" property="businessGuidanceUnit" />
<result column="city" jdbcType="VARCHAR" property="city" />
<result column="unit_nature" jdbcType="VARCHAR" property="unitNature" />
<result column="org_code" jdbcType="VARCHAR" property="orgCode" />
<result column="secretary_general" jdbcType="VARCHAR" property="secretaryGeneral" />
<result column="establishment_number" jdbcType="VARCHAR" property="establishmentNumber" />
<result column="cell_phone" jdbcType="VARCHAR" property="cellPhone" />
<result column="what_is_the_current_session" jdbcType="VARCHAR" property="whatIsTheCurrentSession" />
<result column="zip_code" jdbcType="VARCHAR" property="zipCode" />
<result column="english_name" jdbcType="VARCHAR" property="englishName" />
<result column="approval_number_for_this_session" jdbcType="VARCHAR" property="approvalNumberForThisSession" />
<result column="facsimile" jdbcType="VARCHAR" property="facsimile" />
<result column="preparation_unit" jdbcType="VARCHAR" property="preparationUnit" />
<result column="committee_name" jdbcType="VARCHAR" property="committeeName" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, contacts, email, establishment_year, telephone, the_unit_to_which_one_belongs,
approval_time_for_this_session, technical_organization_type, contact_email, committee_number,
province, rst_establishment_date, contact_fax, responsible_for_professional_scope,
secretariat_mailing_address, contact_phone_number, business_guidance_unit, city,
unit_nature, org_code, secretary_general, establishment_number, cell_phone, what_is_the_current_session,
zip_code, english_name, approval_number_for_this_session, facsimile, preparation_unit,
committee_name
</sql>
</mapper>
@@ -0,0 +1,55 @@
<?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="com.jero.committee.mapper.PayCommitteeMemberInfoMapper">
<resultMap id="BaseResultMap" type="com.jero.committee.entity.PayCommitteeMemberInfo">
<!--@mbg.generated-->
<!--@Table pay_committee_member_info-->
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="mobile_phone" jdbcType="VARCHAR" property="mobilePhone" />
<result column="number" jdbcType="VARCHAR" property="number" />
<result column="identification_number" jdbcType="VARCHAR" property="identificationNumber" />
<result column="major_studied" jdbcType="VARCHAR" property="majorStudied" />
<result column="administrative_position" jdbcType="VARCHAR" property="administrativePosition" />
<result column="technical_title" jdbcType="VARCHAR" property="technicalTitle" />
<result column="affiliated_parties" jdbcType="VARCHAR" property="affiliatedParties" />
<result column="committee_participation_time" jdbcType="DATE" property="committeeParticipationTime" />
<result column="work_unit" jdbcType="VARCHAR" property="workUnit" />
<result column="e_mail" jdbcType="VARCHAR" property="eMail" />
<result column="committee_number" jdbcType="VARCHAR" property="committeeNumber" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="nation" jdbcType="VARCHAR" property="nation" />
<result column="contact_phone_number" jdbcType="VARCHAR" property="contactPhoneNumber" />
<result column="graduation_institution" jdbcType="VARCHAR" property="graduationInstitution" />
<result column="validity_period_of_employment_letter" jdbcType="DATE" property="validityPeriodOfEmploymentLetter" />
<result column="foreign_language" jdbcType="VARCHAR" property="foreignLanguage" />
<result column="appointment_letter_number" jdbcType="VARCHAR" property="appointmentLetterNumber" />
<result column="position_of_standards_committee" jdbcType="VARCHAR" property="positionOfStandardsCommittee" />
<result column="professional_technical_expertise" jdbcType="VARCHAR" property="professionalTechnicalExpertise" />
<result column="title_level" jdbcType="VARCHAR" property="titleLevel" />
<result column="engaged_in_profession" jdbcType="VARCHAR" property="engagedInProfession" />
<result column="educational_background" jdbcType="VARCHAR" property="educationalBackground" />
<result column="zip_code" jdbcType="VARCHAR" property="zipCode" />
<result column="degree" jdbcType="VARCHAR" property="degree" />
<result column="unit_nature" jdbcType="VARCHAR" property="unitNature" />
<result column="gender" jdbcType="VARCHAR" property="gender" />
<result column="communication_address" jdbcType="VARCHAR" property="communicationAddress" />
<result column="foreign_language_proficiency_level" jdbcType="VARCHAR" property="foreignLanguageProficiencyLevel" />
<result column="facsimile" jdbcType="VARCHAR" property="facsimile" />
<result column="central_enterprise_level" jdbcType="VARCHAR" property="centralEnterpriseLevel" />
<result column="org_code" jdbcType="VARCHAR" property="orgCode" />
<result column="political_landscape" jdbcType="VARCHAR" property="politicalLandscape" />
<result column="province_of_work_unit" jdbcType="VARCHAR" property="provinceOfWorkUnit" />
<result column="document_type" jdbcType="VARCHAR" property="documentType" />
<result column="birth_date" jdbcType="DATE" property="birthDate" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, mobile_phone, `number`, identification_number, major_studied, administrative_position,
technical_title, affiliated_parties, committee_participation_time, work_unit, e_mail,
committee_number, `name`, nation, contact_phone_number, graduation_institution, validity_period_of_employment_letter,
foreign_language, appointment_letter_number, position_of_standards_committee, professional_technical_expertise,
title_level, engaged_in_profession, educational_background, zip_code, `degree`, unit_nature,
gender, communication_address, foreign_language_proficiency_level, facsimile, central_enterprise_level,
org_code, political_landscape, province_of_work_unit, document_type, birth_date
</sql>
</mapper>
@@ -0,0 +1,240 @@
package com.jero.committee.service;
import cn.hutool.core.collection.CollStreamUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.jero.committee.dto.CommitteeInfoDTO;
import com.jero.committee.dto.CommitteeMemberInfoDTO;
import com.jero.committee.entity.PayCommitteeMemberInfo;
import com.jero.common.constant.CommonConstant;
import com.jero.util.ZxdUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.committee.mapper.PayCommitteeInfoMapper;
import com.jero.committee.entity.PayCommitteeInfo;
import javax.annotation.Resource;
/**
*
*@author liJiaRao
*@date 2024-06-05 16:02
*/
@Slf4j
@Service
public class PayCommitteeInfoService extends ServiceImpl<PayCommitteeInfoMapper, PayCommitteeInfo> {
@Resource
private PayCommitteeMemberInfoService committeeMemberInfoService;
public void add(PayCommitteeInfo payCommitteeInfo) {
this.save(payCommitteeInfo);
}
public void editById(PayCommitteeInfo payCommitteeInfo) {
this.updateById(payCommitteeInfo);
}
public void deleteById(String id) {
this.removeById(id);
}
public void deleteByIds(List<String> idList) {
for (String id : idList) {
deleteById(id);
}
}
public PayCommitteeInfo queryById(String id) {
PayCommitteeInfo payCommitteeInfo = this.getById(id);
return payCommitteeInfo;
}
public void sync(){
JSONObject jsonObject = ZxdUtil.getWyh();
if (jsonObject == null){
return;
}
// 先把所有数据逻辑删除
LambdaUpdateWrapper<PayCommitteeMemberInfo> wrapper = new LambdaUpdateWrapper<>();
wrapper.set(PayCommitteeMemberInfo::getDelFlag, CommonConstant.DEL_FLAG_1);
committeeMemberInfoService.update(wrapper);
LambdaUpdateWrapper<PayCommitteeInfo> wrapper1 = new LambdaUpdateWrapper<>();
wrapper1.set(PayCommitteeInfo::getDelFlag, CommonConstant.DEL_FLAG_1);
this.update(wrapper1);
JSONObject result = jsonObject.getJSONObject("result");
List<CommitteeMemberInfoDTO> committeeMemberInfoList = JSONArray.parseArray(result.getString("commiteeMemberInfoList"), CommitteeMemberInfoDTO.class);
List<PayCommitteeMemberInfo> payCommitteeMemberInfos = convertCommitteeMemberInfoDTO(committeeMemberInfoList);
committeeMemberInfoService.saveOrUpdateBatch(payCommitteeMemberInfos);
//获取委员会会员数量
Map<String, List<PayCommitteeMemberInfo>> stringListMap = CollStreamUtil.groupByKey(payCommitteeMemberInfos, PayCommitteeMemberInfo::getCommitteeNumber);
List<CommitteeInfoDTO> committeeInfoList = JSONArray.parseArray(result.getString("commiteeInfoList"), CommitteeInfoDTO.class);
List<PayCommitteeInfo> payCommitteeInfos = convertCommitteeInfoDTO(committeeInfoList);
for (PayCommitteeInfo payCommitteeInfo : payCommitteeInfos) {
String committeeNumber = payCommitteeInfo.getCommitteeNumber();
if (stringListMap.containsKey(committeeNumber)){
List<PayCommitteeMemberInfo> memberInfoList = stringListMap.get(committeeNumber);
payCommitteeInfo.setMemberNumber(memberInfoList.size());
}else {
payCommitteeInfo.setMemberNumber(0);
}
}
this.saveOrUpdateBatch(payCommitteeInfos);
}
private List<PayCommitteeInfo> convertCommitteeInfoDTO(List<CommitteeInfoDTO> dtoList){
List<PayCommitteeInfo> payCommitteeInfolist=Lists.newArrayList();
for (CommitteeInfoDTO committeeInfoDTO :dtoList) {
payCommitteeInfolist.add(convertFromCommitteeInfoDTO(committeeInfoDTO));
}
return payCommitteeInfolist;
}
private PayCommitteeInfo convertFromCommitteeInfoDTO(CommitteeInfoDTO dto) {
PayCommitteeInfo payCommitteeInfo = new PayCommitteeInfo();
String committeeNumber = dto.getCommitteeNumber();
LambdaQueryWrapper<PayCommitteeInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayCommitteeInfo::getCommitteeNumber,committeeNumber);
PayCommitteeInfo committeeInfo = this.getOne(wrapper);
if (committeeInfo != null){
payCommitteeInfo.setId(committeeInfo.getId());
}
payCommitteeInfo.setCommitteeNumber(committeeNumber);
payCommitteeInfo.setContacts(dto.getContacts());
payCommitteeInfo.setEmail(dto.getEmail());
payCommitteeInfo.setEstablishmentYear(dto.getEstablishmentYear());
payCommitteeInfo.setTelephone(dto.getTelephone());
payCommitteeInfo.setTheUnitToWhichOneBelongs(dto.getTheUnitToWhichOneBelongs());
String approvalTimeForThisSession = dto.getApprovalTimeForThisSession();
if (StringUtils.isNotBlank(approvalTimeForThisSession)){
payCommitteeInfo.setApprovalTimeForThisSession(DateUtil.date(Long.parseLong(approvalTimeForThisSession)));
}
payCommitteeInfo.setTechnicalOrganizationType(dto.getTechnicalOrganizationType());
payCommitteeInfo.setContactEmail(dto.getContactEmail());
payCommitteeInfo.setProvince(dto.getProvince());
String firstEstablishmentDate = dto.getFirstEstablishmentDate();
if (StringUtils.isNotBlank(firstEstablishmentDate)){
payCommitteeInfo.setFirstEstablishmentDate(DateUtil.date(Long.parseLong(firstEstablishmentDate)));
}
payCommitteeInfo.setContactFax(dto.getContactFax());
payCommitteeInfo.setResponsibleForProfessionalScope(dto.getResponsibleForProfessionalScope());
payCommitteeInfo.setSecretariatMailingAddress(dto.getSecretariatMailingAddress());
payCommitteeInfo.setContactPhoneNumber(dto.getContactPhoneNumber());
payCommitteeInfo.setBusinessGuidanceUnit(dto.getBusinessGuidanceUnit());
payCommitteeInfo.setCity(dto.getCity());
payCommitteeInfo.setUnitNature(dto.getUnitNature());
payCommitteeInfo.setOrgCode(dto.getOrgCode());
payCommitteeInfo.setSecretaryGeneral(dto.getSecretaryGeneral());
payCommitteeInfo.setEstablishmentNumber(dto.getEstablishmentNumber());
payCommitteeInfo.setCellPhone(dto.getCellPhone());
payCommitteeInfo.setWhatIsTheCurrentSession(dto.getWhatIsTheCurrentSession());
payCommitteeInfo.setZipCode(dto.getZipCode());
payCommitteeInfo.setEnglishName(dto.getEnglishName());
payCommitteeInfo.setApprovalNumberForThisSession(dto.getApprovalNumberForThisSession());
payCommitteeInfo.setFacsimile(dto.getFacsimile());
payCommitteeInfo.setPreparationUnit(dto.getPreparationUnit());
payCommitteeInfo.setCommitteeName(dto.getCommitteeName());
payCommitteeInfo.setDelFlag(CommonConstant.DEL_FLAG_0);
return payCommitteeInfo;
}
private List<PayCommitteeMemberInfo> convertCommitteeMemberInfoDTO(List<CommitteeMemberInfoDTO> dtoList){
List<PayCommitteeMemberInfo> payCommitteeMemberInfolist=Lists.newArrayList();
for (CommitteeMemberInfoDTO committeeMemberInfoDTO :dtoList) {
payCommitteeMemberInfolist.add(convertFromCommitteeMemberInfoDTO(committeeMemberInfoDTO));
}
return payCommitteeMemberInfolist;
}
private PayCommitteeMemberInfo convertFromCommitteeMemberInfoDTO(CommitteeMemberInfoDTO dto) {
PayCommitteeMemberInfo payCommitteeMemberInfo = new PayCommitteeMemberInfo();
String identificationNumber = dto.getIdentificationNumber();
String committeeNumber = dto.getCommitteeNumber();
LambdaQueryWrapper<PayCommitteeMemberInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayCommitteeMemberInfo::getIdentificationNumber,identificationNumber);
wrapper.eq(PayCommitteeMemberInfo::getCommitteeNumber,committeeNumber);
PayCommitteeMemberInfo committeeMemberInfo = committeeMemberInfoService.getOne(wrapper);
if (committeeMemberInfo != null){
payCommitteeMemberInfo.setId(committeeMemberInfo.getId());
}
payCommitteeMemberInfo.setMobilePhone(dto.getMobilePhone());
payCommitteeMemberInfo.setNumber(dto.getNumber());
payCommitteeMemberInfo.setIdentificationNumber(dto.getIdentificationNumber());
payCommitteeMemberInfo.setMajorStudied(dto.getMajorStudied());
payCommitteeMemberInfo.setAdministrativePosition(dto.getAdministrativePosition());
payCommitteeMemberInfo.setTechnicalTitle(dto.getTechnicalTitle());
payCommitteeMemberInfo.setAffiliatedParties(dto.getAffiliatedParties());
String committeeParticipationTime = dto.getCommitteeParticipationTime();
if (StringUtils.isNotBlank(committeeParticipationTime)) {
payCommitteeMemberInfo.setCommitteeParticipationTime(DateUtil.date(Long.parseLong(committeeParticipationTime)));
}
payCommitteeMemberInfo.setWorkUnit(dto.getWorkUnit());
payCommitteeMemberInfo.setEMail(dto.getEMail());
payCommitteeMemberInfo.setCommitteeNumber(committeeNumber);
payCommitteeMemberInfo.setName(dto.getName());
payCommitteeMemberInfo.setNation(dto.getNation());
payCommitteeMemberInfo.setContactPhoneNumber(dto.getContactPhoneNumber());
payCommitteeMemberInfo.setGraduationInstitution(dto.getGraduationInstitution());
String validityPeriodOfEmploymentLetter = dto.getValidityPeriodOfEmploymentLetter();
if (StringUtils.isNotBlank(validityPeriodOfEmploymentLetter)){
payCommitteeMemberInfo.setValidityPeriodOfEmploymentLetter(DateUtil.date(Long.parseLong(validityPeriodOfEmploymentLetter)));
}
payCommitteeMemberInfo.setForeignLanguage(dto.getForeignLanguage());
payCommitteeMemberInfo.setAppointmentLetterNumber(dto.getAppointmentLetterNumber());
payCommitteeMemberInfo.setPositionOfStandardsCommittee(dto.getPositionOfStandardsCommittee());
payCommitteeMemberInfo.setProfessionalTechnicalExpertise(dto.getProfessionalTechnicalExpertise());
payCommitteeMemberInfo.setTitleLevel(dto.getTitleLevel());
payCommitteeMemberInfo.setEngagedInProfession(dto.getEngagedInProfession());
payCommitteeMemberInfo.setEducationalBackground(dto.getEducationalBackground());
payCommitteeMemberInfo.setZipCode(dto.getZipCode());
payCommitteeMemberInfo.setDegree(dto.getDegree());
payCommitteeMemberInfo.setUnitNature(dto.getUnitNature());
payCommitteeMemberInfo.setGender(dto.getGender());
payCommitteeMemberInfo.setCommunicationAddress(dto.getCommunicationAddress());
payCommitteeMemberInfo.setForeignLanguageProficiencyLevel(dto.getForeignLanguageProficiencyLevel());
payCommitteeMemberInfo.setFacsimile(dto.getFacsimile());
payCommitteeMemberInfo.setCentralEnterpriseLevel(dto.getCentralEnterpriseLevel());
payCommitteeMemberInfo.setOrgCode(dto.getOrgCode());
payCommitteeMemberInfo.setPoliticalLandscape(dto.getPoliticalLandscape());
payCommitteeMemberInfo.setProvinceOfWorkUnit(dto.getProvinceOfWorkUnit());
payCommitteeMemberInfo.setDocumentType(dto.getDocumentType());
String birthDate = dto.getBirthDate();
if (StringUtils.isNotBlank(birthDate)) {
DateTime date = DateUtil.date(Long.parseLong(birthDate));
payCommitteeMemberInfo.setBirthDate(date.toDateStr());
}
String isAcademician = dto.getIsAcademician();
payCommitteeMemberInfo.setIsAcademician("1".equals(isAcademician)?"":"");
payCommitteeMemberInfo.setIsAcademyOfSciences(dto.getIsAcademyOfSciences());
payCommitteeMemberInfo.setOtherLanguagesAndProficiencyLevels(dto.getOtherLanguagesAndProficiencyLevels());
payCommitteeMemberInfo.setDelFlag(CommonConstant.DEL_FLAG_0);
return payCommitteeMemberInfo;
}
public IPage<PayCommitteeInfo> pageList(Page<PayCommitteeInfo> page, QueryWrapper<PayCommitteeInfo> queryWrapper) {
queryWrapper.lambda()
.eq(PayCommitteeInfo::getDelFlag, CommonConstant.DEL_FLAG_0);
queryWrapper.orderByAsc("CAST(REPLACE(REPLACE(committee_number, 'TC',''),'/SC','') AS UNSIGNED)");
return this.page(page,queryWrapper);
}
}
@@ -0,0 +1,88 @@
package com.jero.committee.service;
import cn.hutool.core.util.DesensitizedUtil;
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.jero.common.constant.CommonConstant;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.committee.entity.PayCommitteeMemberInfo;
import com.jero.committee.mapper.PayCommitteeMemberInfoMapper;
/**
*
*@author liJiaRao
*@date 2024-06-05 16:02
*/
@Service
public class PayCommitteeMemberInfoService extends ServiceImpl<PayCommitteeMemberInfoMapper, PayCommitteeMemberInfo> {
public void add(PayCommitteeMemberInfo payCommitteeMemberInfo) {
this.save(payCommitteeMemberInfo);
}
public void editById(PayCommitteeMemberInfo payCommitteeMemberInfo) {
this.updateById(payCommitteeMemberInfo);
}
public void deleteById(String id) {
this.removeById(id);
}
public void deleteByIds(List<String> idList) {
for (String id : idList) {
deleteById(id);
}
}
public PayCommitteeMemberInfo queryById(String id) {
PayCommitteeMemberInfo payCommitteeMemberInfo = this.getById(id);
return payCommitteeMemberInfo;
}
public IPage<PayCommitteeMemberInfo> pageList(Page<PayCommitteeMemberInfo> page, PayCommitteeMemberInfo payCommitteeMemberInfo, QueryWrapper<PayCommitteeMemberInfo> queryWrapper) {
String committeeNumber = payCommitteeMemberInfo.getCommitteeNumber();
String positionOfStandardsCommittee = payCommitteeMemberInfo.getPositionOfStandardsCommittee();
queryWrapper.lambda()
.eq(StringUtils.isNotBlank(committeeNumber),PayCommitteeMemberInfo::getCommitteeNumber,committeeNumber)
.eq(PayCommitteeMemberInfo::getDelFlag, CommonConstant.DEL_FLAG_0)
.eq(StringUtils.isNotBlank(positionOfStandardsCommittee), PayCommitteeMemberInfo::getPositionOfStandardsCommittee, positionOfStandardsCommittee);
queryWrapper.orderByAsc("CAST(REPLACE(REPLACE(committee_number, 'TC',''),'/SC','') AS UNSIGNED),number");
Page<PayCommitteeMemberInfo> pageList = this.page(page, queryWrapper);
for (PayCommitteeMemberInfo record : pageList.getRecords()) {
desensitized(record);
}
return pageList;
}
/**
* 数据脱敏
* @param memberInfo
*/
public void desensitized(PayCommitteeMemberInfo memberInfo){
//证件号码
String identificationNumber = memberInfo.getIdentificationNumber();
memberInfo.setIdentificationNumber(DesensitizedUtil.idCardNum(identificationNumber,1,2));
//手机
String mobilePhone = memberInfo.getMobilePhone();
memberInfo.setMobilePhone(DesensitizedUtil.mobilePhone(mobilePhone));
//出生年月
String birthDate = memberInfo.getBirthDate();
memberInfo.setBirthDate(DesensitizedUtil.password(birthDate));
//委员聘书编号
String appointmentLetterNumber = memberInfo.getAppointmentLetterNumber();
memberInfo.setAppointmentLetterNumber(DesensitizedUtil.password(appointmentLetterNumber));
//电子邮箱
//String eMail = memberInfo.getEMail();
//memberInfo.setEMail(DesensitizedUtil.email(eMail));
//工作单位统一社会信用代码或组织机构代码
String orgCode = memberInfo.getOrgCode();
memberInfo.setOrgCode(DesensitizedUtil.password(orgCode));
//政治面貌
String politicalLandscape = memberInfo.getPoliticalLandscape();
memberInfo.setPoliticalLandscape(DesensitizedUtil.password(politicalLandscape));
}
}
@@ -41,6 +41,14 @@ public class ProjectCommon {
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目,6:证书,7: 起草组项目)
*/
public final static String PROJECT_TYPE7 = "7";
/**
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目,6:证书,7: 起草组项目,8: 功能安全中心项目)
*/
public final static String PROJECT_TYPE8 = "8";
/**
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目,6:证书,7: 起草组项目,8: 打包项目,9: 功能安全中心项目)
*/
public final static String PROJECT_TYPE9 = "9";
/**
* 来源(1:收入合同,2:打包管理)
*/
@@ -1,18 +1,19 @@
package com.jero.common.mapper;
import com.jero.project.entity.PayCommonProject;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface ProjectDetailMapper {
/**
* @Description 查询项目信息
* @Author lqt
* @Date 2021/9/14
* @Param projectId 项目id
* @Return
* @Exception
*/
PayCommonProject queryProject(String projectId);
* @Description 查询项目信息
* @Author lqt
* @Date 2021/9/14
* @Param projectId 项目id
* @Return
* @Exception
*/
PayCommonProject queryProject(@Param("projectId") String projectId);
/**
* @Description 查询项目列表信息
@@ -4,8 +4,42 @@
<select id="queryProject" resultType="com.jero.project.entity.PayCommonProject">
<!-- 普通项目-->
select c.id,c.charge_project, c.charge_use, c.principal_id,su.realname as principal_name,c.contacts_temporary_id,c.contacts_temporary_name,c.charge_company_temporary_name,c.receivable_amount,c.paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1 as projectType,'' as phone,'' as email,c.remarks,c.contract_num,c.charge_company_temporary_id,c.charge_way,c.files,c.charge_notice_no,c.charge_notice_id,c.year,c.mail_contacts_temporary_name,'' as mission_and_objectives
,c.tax_rate,c.tax,c.no_tax_amount,c.affirm_income
select c.id as id,
c.charge_project as charge_project,
c.charge_use as charge_use,
c.principal_id as principal_id,
su.realname as principal_name,
c.contacts_id as contacts_id,
c.contacts_temporary_id as contacts_temporary_id,
c.contacts_temporary_name as contacts_temporary_name,
c.charge_company_id as charge_company_id,
c.charge_company_temporary_id as charge_company_temporary_id,
c.charge_company_temporary_name as charge_company_temporary_name,
c.receivable_amount as receivable_amount,
c.paid_amount as paid_amount,
c.need_invoice as need_invoice,
c.pack as pack,
c.in_account as in_account,
c.make_invoice as make_invoice,
c.mail as mail,
c.create_time as create_time,
1 as projectType,
'' as phone,
'' as email,
c.remarks as remarks,
c.contract_num as contract_num,
c.charge_way as charge_way,
c.files as files,
c.charge_notice_no as charge_notice_no,
c.charge_notice_id as charge_notice_id,
c.year as year,
c.mail_contacts_temporary_name as mail_contacts_temporary_name,
'' as mission_and_objectives,
c.tax_rate as tax_rate,
c.tax as tax,
c.no_tax_amount as no_tax_amount,
c.confirm_amount as confirm_amount,
c.affirm_income as affirm_income
from pay_common_project c
left join sys_user su on c.principal_id = su.id
<where>
@@ -15,122 +49,376 @@
</where>
<!--工作组项目-->
UNION ALL
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,su.realname,gsub.contacts_temporary_id_one,gsub.contacts_temporary_name_one,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,'','',gsub.remarks,gsub.contract_num,gsub.charge_company_temporary_id,gsub.charge_way,'',gsub.charge_notice_no,gsub.charge_notice_id,g.year,gsub.mail_contacts_temporary_name,g.mission_and_objectives
,gsub.tax_rate,gsub.tax,gsub.no_tax_amount,affirm_income
select c.id as id,
g.working_group_project as charge_project,
c.charge_use as charge_use,
g.principal_id_a as principal_id,
su.realname as principal_name,
c.contacts_id_one as contacts_id,
c.contacts_temporary_id_one as contacts_temporary_id,
c.contacts_temporary_name_one as contacts_temporary_name,
c.charge_company_id as charge_company_id,
c.charge_company_temporary_id as charge_company_temporary_id,
c.charge_company_temporary_name as charge_company_temporary_name,
c.receivable_amount as receivable_amount,
c.paid_amount as paid_amount,
c.need_invoice as need_invoice,
c.pack as pack,
c.in_account as in_account,
c.make_invoice as make_invoice,
c.mail as mail,
c.create_time as create_time,
2 as projectType,
'' as phone,
'' as email,
c.remarks as remarks,
c.contract_num as contract_num,
c.charge_way as charge_way,
'' as files,
c.charge_notice_no as charge_notice_no,
c.charge_notice_id as charge_notice_id,
g.year as year,
c.mail_contacts_temporary_name as mail_contacts_temporary_name,
g.mission_and_objectives as mission_and_objectives,
c.tax_rate as tax_rate,
c.tax as tax,
c.no_tax_amount as no_tax_amount,
c.confirm_amount as confirm_amount,
affirm_income
from pay_working_group g
left join sys_user su on g.principal_id_a = su.id
inner join pay_working_group_subitem gsub on g.id = gsub.working_group_id
inner join pay_working_group_subitem c on g.id = c.working_group_id
<where>
<if test="projectId != null and projectId != ''">
AND gsub.id = #{projectId}
AND c.id = #{projectId}
</if>
</where>
<!-- 会议项目-->
UNION ALL
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, su.realname,sit.company_contact_id,sit.company_contact_name,sit.company_name,sit.amount_receivable,sit.paid_amount,sit.need_invoice,sit.pack,sit.in_account,sit.make_invoice,sit.mail,sit.create_time,3,'','',sit.remark,'',sit.company_id,sit.pay_mode,'','','','','',''
,sit.tax_rate,sit.tax,sit.no_tax_amount,affirm_income
select c.id as id,
meeting.meeting_name as charge_project,
c.charge_use as charge_use,
meeting.director_id as principal_id,
su.realname as principal_name,
c.company_contact_id as contacts_id,
c.company_contact_temporary_id as contacts_temporary_id,
c.company_contact_name as contacts_temporary_name,
c.company_id as charge_company_id,
c.company_temporary_id as charge_company_temporary_id,
c.company_name as charge_company_temporary_name,
c.amount_receivable as receivable_amount,
c.paid_amount as paid_amount,
c.need_invoice as need_invoice,
c.pack as pack,
c.in_account as in_account,
c.make_invoice as make_invoice,
c.mail as mail,
c.create_time as create_time,
3 as projectType,
'' as phone,
'' as email,
c.remark as remarks,
'' as contract_num,
c.pay_mode as charge_way,
'' as files,
'' as charge_notice_no,
'' as charge_notice_id,
'' as year,
'' as mail_contacts_temporary_name,
'' as mission_and_objectives,
c.tax_rate as tax_rate,
c.tax as tax,
c.no_tax_amount as no_tax_amount,
c.confirm_amount as confirm_amount,
affirm_income
from pay_meeting meeting
left join sys_user su on meeting.director_id = su.id
inner join pay_meeting_situation sit on meeting.id = sit.meeting_id
inner join pay_meeting_situation c on meeting.id = c.meeting_id
<where>
<if test="projectId != null and projectId != ''">
AND sit.id = #{projectId}
AND c.id = #{projectId}
</if>
</where>
<!-- 会员项目-->
UNION ALL
select msub.id,pmp.project_name,msub.charge_use,pmp.director_id,su.realname,msub.company_contact_temporary_id,msub.company_contact_name,msub.company_name,msub.amount_receivable,msub.paid_amount,msub.need_invoice,msub.pack,msub.in_account,msub.make_invoice,msub.mail,msub.create_time,4,'','',msub.remark,msub.contract_no as contract_num,msub.company_temporary_id,msub.payment_method,'',msub.charge_notice_no,msub.charge_notice_file_id,pmp.particular_year,msub.post_contact_name,''
,msub.tax_rate,msub.tax,msub.no_tax_amount,affirm_income
select c.id as id,
pmp.project_name as charge_project,
c.charge_use as charge_use,
pmp.director_id as principal_id,
su.realname as principal_name,
c.company_contact_id as contacts_id,
c.company_contact_temporary_id as contacts_temporary_id,
c.company_contact_name as contacts_temporary_name,
c.company_id as charge_company_id,
c.company_temporary_id as charge_company_temporary_id,
c.company_name as charge_company_temporary_name,
c.amount_receivable as receivable_amount,
c.paid_amount as paid_amount,
c.need_invoice as need_invoice,
c.pack as pack,
c.in_account as in_account,
c.make_invoice as make_invoice,
c.mail as mail,
c.create_time as create_time,
4 as projectType,
'' as phone,
'' as email,
c.remark as remarks,
c.contract_no as contract_num,
c.payment_method as charge_way,
'' as files,
c.charge_notice_no as charge_notice_no,
c.charge_notice_file_id as charge_notice_id,
pmp.particular_year as year,
c.post_contact_name as mail_contacts_temporary_name,
'' as mission_and_objectives,
c.tax_rate as tax_rate,
c.tax as tax,
c.no_tax_amount as no_tax_amount,
c.confirm_amount as confirm_amount,
affirm_income
from pay_member_project pmp
left join sys_user su on pmp.director_id = su.id
inner join pay_member_project_subitem msub on pmp.id = msub.project_id
inner join pay_member_project_subitem c on pmp.id = c.project_id
<where>
<if test="projectId != null and projectId != ''">
AND msub.id = #{projectId}
AND c.id = #{projectId}
</if>
</where>
<!-- 标协会员项目-->
UNION ALL
select tmsub.id,tmember.project_name,tmsub.charge_use,tmember.director_id,su.realname,tmsub.liaison_man_id,tmsub.liaison_man,tmsub.company_name,tmsub.amount_receivable,tmsub.paid_amount,tmsub.invoice_requirements,tmsub.pack,tmsub.in_account,tmsub.make_invoice,tmsub.mail,tmsub.create_time,5,tmsub.mobile,tmsub.email,tmsub.remark,pic.contract_num,tmsub.company_id,tmsub.payment_method,'',tmsub.charge_notice_no,tmsub.charge_notice_id,tmember.year,'',''
,tmsub.tax_rate,tmsub.tax,tmsub.no_tax_amount,affirm_income
select c.id as id,
tmember.project_name as charge_project,
c.charge_use as charge_use,
tmember.director_id as principal_id,
su.realname as principal_name,
c.liaison_man_id as contacts_id,
c.company_contact_temporary_id as contacts_temporary_id,
c.liaison_man as contacts_temporary_name,
c.company_id as charge_company_id,
c.company_temporary_id as charge_company_temporary_id,
c.company_name as charge_company_temporary_name,
c.amount_receivable as receivable_amount,
c.paid_amount as paid_amount,
c.invoice_requirements as need_invoice,
c.pack as pack,
c.in_account as in_account,
c.make_invoice as make_invoice,
c.mail as mail,
c.create_time as create_time,
5 as projectType,
c.mobile as phone,
c.email as email,
c.remark as remarks,
pic.contract_num as contract_num,
c.payment_method as charge_way,
'' as files,
c.charge_notice_no as charge_notice_no,
c.charge_notice_id as charge_notice_id,
tmember.year as year,
'' as mail_contacts_temporary_name,
'' as mission_and_objectives,
c.tax_rate as tax_rate,
c.tax as tax,
c.no_tax_amount as no_tax_amount,
c.confirm_amount as confirm_amount,
affirm_income
from tb_member_project tmember
left join sys_user su on tmember.director_id = su.id
inner join tb_member_project_subitem tmsub on tmember.id=tmsub.project_id
left join pay_income_contract_associated pica on pica.project_id=tmsub.id
inner join tb_member_project_subitem c on tmember.id=c.project_id
left join pay_income_contract_associated pica on pica.project_id=c.id
left join pay_income_contract pic on pica.contract_id = pic.id
<where>
<if test="projectId != null and projectId != ''">
AND tmsub.id = #{projectId}
AND c.id = #{projectId}
</if>
</where>
<!-- 标协会员证书项目-->
UNION ALL
select tmps.id,tmember.project_name,tmps.charge_use,tmember.director_id,su.realname,tmps.liaison_man_id,tmps.liaison_man,tmps.company_name,tmps.amount_receivable,tmps.paid_amount,tmps.invoice_requirements,tmps.pack,tmps.in_account,tmps.make_invoice,tmps.mail,tmps.create_time,5,tmps.mobile,tmps.email,'','',tmps.company_id,tmps.payment_method,'','','',tmember.year,'',''
,tmps.tax_rate,tmps.tax,tmps.no_tax_amount,affirm_income
select c.id as id,
tmember.project_name as charge_project,
c.charge_use as charge_use,
tmember.director_id as principal_id,
su.realname as principal_name,
c.liaison_man_id as contacts_id,
c.liaison_man_id as contacts_temporary_id,
c.liaison_man as contacts_temporary_name,
c.company_id as charge_company_id,
c.company_id as charge_company_temporary_id,
c.company_name as charge_company_temporary_name,
c.amount_receivable as receivable_amount,
c.paid_amount as paid_amount,
c.invoice_requirements as need_invoice,
c.pack as pack,
c.in_account as in_account,
c.make_invoice as make_invoice,
c.mail as mail,
c.create_time as create_time,
5 as projectType,
c.mobile as phone,
c.email as email,
'' as remarks,
'' as contract_num,
c.payment_method as charge_way,
'' as files,
'' as charge_notice_no,
'' as charge_notice_id,
tmember.year as year,
'' as mail_contacts_temporary_name,
'' as mission_and_objectives,
c.tax_rate as tax_rate,
c.tax as tax,
c.no_tax_amount as no_tax_amount,
c.confirm_amount as confirm_amount,
affirm_income
from tb_member_project tmember
left join sys_user su on tmember.director_id = su.id
inner join tb_certificate_payment tmps on tmember.id=tmps.project_id
inner join tb_certificate_payment c on tmember.id=c.project_id
<where>
<if test="projectId != null and projectId != ''">
AND tmps.id = #{projectId}
AND c.id = #{projectId}
</if>
</where>
UNION ALL
SELECT
gsub.id,
g.drafting_group_project,
'',
g.principal_id_a,
su.realname,
gsub.contacts_temporary_id_one,
gsub.contacts_temporary_name_one,
gsub.charge_company_temporary_name,
'',
'',
'',
'',
'',
'',
'',
gsub.create_time,
7,
'',
'',
gsub.remarks,
'',
gsub.charge_company_temporary_id,
'',
'',
'',
'',
g.year,
'',
g.mission_and_objectives,
'',
'',
'',
c.id as id,
g.drafting_group_project as charge_project,
'' as charge_use,
g.principal_id_a as principal_id,
su.realname as principal_name,
c.contacts_id_one as contacts_id,
c.contacts_temporary_id_one as contacts_temporary_id,
c.contacts_temporary_name_one as contacts_temporary_name,
c.charge_company_id as charge_company_id,
c.charge_company_temporary_id as charge_company_temporary_id,
c.charge_company_temporary_name as charge_company_temporary_name,
'' as receivable_amount,
'' as paid_amount,
'' as need_invoice,
'' as pack,
'' as in_account,
'' as make_invoice,
'' as mail,
c.create_time as create_time,
7 as projectType,
'' as phone,
'' as email,
c.remarks as remarks,
'' as contract_num,
'' as charge_way,
'' as files,
'' as charge_notice_no,
'' as charge_notice_id,
g.year as year,
'' as mail_contacts_temporary_name,
g.mission_and_objectives as mission_and_objectives,
'' as tax_rate,
'' as tax,
'' as no_tax_amount,
'' as confirm_amount,
''
FROM
pay_drafting_group g
LEFT JOIN
sys_user su ON g.principal_id_a = su.id
INNER JOIN
pay_drafting_group_subitem gsub ON g.id = gsub.drafting_group_id
pay_drafting_group_subitem c ON g.id = c.drafting_group_id
<where>
<if test="projectId != null and projectId != ''">
AND gsub.id = #{projectId}
AND c.id = #{projectId}
</if>
</where>
<!-- 打包项目-->
UNION ALL
select ppc.id,ppc.company_temporary_name AS charge_project, 22 AS charge_use, ppc.pack_principal_id as principal_id,su.realname as principal_name,ppc.pack_contact_temporary_id as contacts_temporary_id,
ppc.pack_contact_temporary_name,ppc.company_temporary_name as charge_company_temporary_name,ppc.receivable_amount,ppc.paid_amount,ppc.need_invoice,1 as pack,ppc.in_account,ppc.make_invoice,null as mail,ppc.create_time,8 as projectType,'' as phone,'' as email,'' as remarks,ppc.contract_num,ppc.company_temporary_id as charge_company_temporary_id,ppc.charge_way,null as files,ppc.charge_notice_no,ppc.charge_notice_id,null as year, null as mail_contacts_temporary_name,'' as mission_and_objectives
,ppc.tax_rate,ppc.tax,ppc.no_tax_amount,ppc.income_affirm AS affirm_income
from pay_pack_company ppc
left join sys_user su on ppc.pack_principal_id = su.id
select c.id as id,
c.company_temporary_name AS charge_project,
22 AS charge_use,
c.pack_principal_id as principal_id,
su.realname as principal_name,
c.pack_contact_id as contacts_id,
c.pack_contact_temporary_id as contacts_temporary_id,
c.pack_contact_temporary_name as contacts_temporary_name,
c.company_id as charge_company_id,
c.company_temporary_id as charge_company_temporary_id,
c.company_temporary_name as charge_company_temporary_name,
c.receivable_amount as receivable_amount,
c.paid_amount as paid_amount,
c.need_invoice as need_invoice,
1 as pack,
c.in_account as in_account,
c.make_invoice as make_invoice,
null as mail,
c.create_time as create_time,
8 as projectType,
'' as phone,
'' as email,
'' as remarks,
c.contract_num as contract_num,
c.charge_way as charge_way,
null as files,
c.charge_notice_no as charge_notice_no,
c.charge_notice_id as charge_notice_id,
null as year,
null as mail_contacts_temporary_name,
'' as mission_and_objectives,
c.tax_rate as tax_rate,
c.tax as tax,
c.no_tax_amount as no_tax_amount,
c.confirm_amount as confirm_amount,
c.income_affirm AS affirm_income
from pay_pack_company c
left join sys_user su on c.pack_principal_id = su.id
<where>
<if test="projectId != null and projectId != ''">
AND ppc.id = #{projectId}
AND c.id = #{projectId}
</if>
</where>
<!-- 功能安全中心项目-->
UNION ALL
SELECT
pfsc.id as id,
c.project_name as charge_project,
'' as charge_use,
c.principal_id as principal_id,
su.realname as principal_name,
'' as contacts_id,
'' as contacts_temporary_id,
'' as contacts_temporary_name,
pfsc.company_id as charge_company_id,
pfsc.company_id as charge_company_temporary_id,
'' as charge_company_temporary_name,
'' as receivable_amount,
'' as paid_amount,
'' as need_invoice,
'' as pack,
'' as in_account,
'' as make_invoice,
'' as mail,
c.create_time as create_time,
9 as projectType,
'' as phone,
'' as email,
c.remarks as remarks,
'' as contract_num,
'' as charge_way,
'' as files,
'' as charge_notice_no,
'' as charge_notice_id,
'' as year,
'' as mail_contacts_temporary_name,
c.mission_and_objectives as mission_and_objectives,
'' as tax_rate,
'' as tax,
'' as no_tax_amount,
'' as confirm_amount,
''
FROM
pay_functional_safety_center c
LEFT JOIN sys_user su ON c.principal_id = su.id
LEFT JOIN pay_functional_safety_center_subitem pfsc ON c.id = pfsc.project_id
<where>
<if test="projectId != null and projectId != ''">
AND pfsc.id = #{projectId}
</if>
</where>
</select>
@@ -25,6 +25,8 @@ import com.jero.drafting.entity.PayDraftingGroupSubItem;
import com.jero.drafting.entity.PayDraftingGroupSubItemContacts;
import com.jero.drafting.service.IPayDraftingGroupSubItemContactsService;
import com.jero.drafting.service.IPayDraftingGroupSubItemService;
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts;
import com.jero.functionalsafetycenter.service.SafetyCenterSubitemContactsService;
import com.jero.mail.entity.PayMailBill;
import com.jero.mail.entity.PayMailBillProject;
import com.jero.mail.service.IPayMailBillProjectService;
@@ -35,6 +37,7 @@ import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import com.jero.payment.entity.PayPaymentRecord;
import com.jero.payment.service.IPayPaymentRecordService;
import com.jero.payment.service.impl.PayConfirmPaymentRecordService;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroupDistributionRecord;
@@ -55,6 +58,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -98,6 +102,10 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
private IPayDraftingGroupSubItemContactsService payDraftingGroupSubItemContactsService;
@Resource
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
@Resource
private SafetyCenterSubitemContactsService safetyCenterSubitemContactsService;
@Resource
private PayConfirmPaymentRecordService confirmPaymentRecordService;
@Override
public ProjectDetailVO getProjectDetail(String projectId) {
@@ -216,157 +224,148 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
if(!Objects.isNull(payCommonProject.getPack())){
projectDetailVO.setPack_dictText(sysBaseAPI.translateDict("yn",String.valueOf(payCommonProject.getPack())));
}
// 标协会员和会议,直接查询企业,联系人
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE5)
|| Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE3)){
PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(payCommonProject.getChargeCompanyTemporaryId());
if(Objects.isNull(payCompanyManagement)){
throw new JeroBootException("企业不存在!");
}
if(Objects.equals(payCompanyManagement.getStatus(), PayCompanyManagementTemporaryCommon.STATUS2)){
projectDetailVO.setCompanyName(payCompanyManagement.getCompanyName() + PayCompanyManagementTemporaryCommon.CHECK);
}else{
projectDetailVO.setCompanyName(payCompanyManagement.getCompanyName());
}
projectDetailVO.setCompanyPhone(PasswordUtil.decrypt(payCompanyManagement.getCompanyPhone()));
projectDetailVO.setDutyCode(payCompanyManagement.getDutyCode());
projectDetailVO.setBankAccountName(payCompanyManagement.getBankAccountName());
projectDetailVO.setBankAccount(payCompanyManagement.getBankAccount());
projectDetailVO.setOpeningBank(payCompanyManagement.getOpeningBank());
projectDetailVO.setPostalCodeCompany(payCompanyManagement.getPostalCode());
projectDetailVO.setCompanyAddress(payCompanyManagement.getCompanyAddress());
projectDetailVO.setLinkBankNumber(payCompanyManagement.getLinkBankNumber());
PayContactsManagement payContactsManagement = payContactsManagementService.getById(payCommonProject.getContactsTemporaryId());
if(Objects.isNull(payContactsManagement)){
throw new JeroBootException("联系人不存在!");
}
projectDetailVO.setName(payContactsManagement.getName());
projectDetailVO.setGender(payContactsManagement.getGender());
if(!Objects.isNull(payContactsManagement.getGender())){
projectDetailVO.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagement.getGender())));
}
projectDetailVO.setPost(payContactsManagement.getPost());
if(!StringUtils.isBlank(payContactsManagement.getPhone())){
projectDetailVO.setPhone(PasswordUtil.decrypt(payContactsManagement.getPhone()));
}
if(!StringUtils.isBlank(payContactsManagement.getEmail())){
projectDetailVO.setEmail(PasswordUtil.decrypt(payContactsManagement.getEmail()));
}
projectDetailVO.setPostalCodeContacts(payContactsManagement.getPostalCode());
projectDetailVO.setContactAddress(payContactsManagement.getContactAddress());
String contactsTemporaryId = payCommonProject.getContactsTemporaryId();
String contactsId = payCommonProject.getContactsId();
String chargeCompanyTemporaryId = payCommonProject.getChargeCompanyTemporaryId();
String chargeCompanyId = payCommonProject.getChargeCompanyId();
}else{
PayCompanyManagementTemporary payCompanyManagementTemporary = payCompanyManagementTemporaryService.getById(payCommonProject.getChargeCompanyTemporaryId());
if(Objects.isNull(payCompanyManagementTemporary)){
throw new JeroBootException("企业不存在!");
}
// 如果企业临时id和企业id相同,就查询企业表否则查询企业临时表
PayCompanyManagementTemporary payCompanyManagementTemporary = payCompanyManagementTemporaryService.getByAllTable(chargeCompanyId,chargeCompanyTemporaryId);
projectDetailVO.setCompanyName(payCompanyManagementTemporary.getCompanyName());
projectDetailVO.setCompanyPhone(PasswordUtil.decrypt(payCompanyManagementTemporary.getCompanyPhone()));
projectDetailVO.setPostalCodeCompany(payCompanyManagementTemporary.getPostalCode());
projectDetailVO.setCompanyAddress(payCompanyManagementTemporary.getCompanyAddress());
projectDetailVO.setDutyCode(payCompanyManagementTemporary.getDutyCode());
projectDetailVO.setBankAccountName(payCompanyManagementTemporary.getBankAccountName());
projectDetailVO.setBankAccount(payCompanyManagementTemporary.getBankAccount());
projectDetailVO.setOpeningBank(payCompanyManagementTemporary.getOpeningBank());
projectDetailVO.setLinkBankNumber(payCompanyManagementTemporary.getLinkBankNumber());
projectDetailVO.setCompanyName(payCompanyManagementTemporary.getCompanyName());
projectDetailVO.setPostalCodeCompany(payCompanyManagementTemporary.getPostalCode());
projectDetailVO.setCompanyAddress(payCompanyManagementTemporary.getCompanyAddress());
projectDetailVO.setCompanyPhone(PasswordUtil.decrypt(payCompanyManagementTemporary.getCompanyPhone()));
projectDetailVO.setDutyCode(payCompanyManagementTemporary.getDutyCode());
projectDetailVO.setBankAccountName(payCompanyManagementTemporary.getBankAccountName());
projectDetailVO.setOpeningBank(payCompanyManagementTemporary.getOpeningBank());
// 工作组 添加企业联系人
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE2)){
PayWorkingGroupSubItem payWorkingGroupSubItem = payWorkingGroupSubItemService.getById(projectId);
if(Objects.isNull(payWorkingGroupSubItem)){
throw new JeroBootException("项目不存在!");
//功能安全中心添加企业联系人
if (Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE9)){
List<SafetyCenterSubitemContacts> subitemContacts = safetyCenterSubitemContactsService.listBySubitemId(projectId);
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContacts = new ArrayList<>();
for (SafetyCenterSubitemContacts subitemContact : subitemContacts) {
PayContactsManagement contactsManagement = payContactsManagementService.getById(subitemContact.getContactsId());
PayWorkingGroupSubItemContacts p = new PayWorkingGroupSubItemContacts();
p.setContactsTemporaryName(contactsManagement.getName());
p.setGender(contactsManagement.getGender());
if(!Objects.isNull(contactsManagement.getGender())){
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(contactsManagement.getGender())));
}
LambdaQueryWrapper<PayWorkingGroupSubItemContacts> queryPayWorkingGroupSubItemContacts = new LambdaQueryWrapper<>();
queryPayWorkingGroupSubItemContacts.in(PayWorkingGroupSubItemContacts::getWorkingGroupSubId,projectId);
queryPayWorkingGroupSubItemContacts.orderByAsc(PayWorkingGroupSubItemContacts::getOrderNum);
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContacts = payWorkingGroupSubItemContactsService.list(queryPayWorkingGroupSubItemContacts);
p.setPost(contactsManagement.getPost());
if(!StringUtils.isBlank(contactsManagement.getPhone())){
p.setPhone(PasswordUtil.decrypt(contactsManagement.getPhone()));
}
if(!StringUtils.isBlank(contactsManagement.getEmail())){
p.setEmail(PasswordUtil.decrypt(contactsManagement.getEmail()));
}
p.setPostalCodeContacts(contactsManagement.getPostalCode());
p.setContactAddress(contactsManagement.getContactAddress());
listPayWorkingGroupSubItemContacts.add(p);
}
projectDetailVO.setPayWorkingGroupSubItemContactsList(listPayWorkingGroupSubItemContacts);
}
// 工作组 添加企业联系人
else if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE2)){
PayWorkingGroupSubItem payWorkingGroupSubItem = payWorkingGroupSubItemService.getById(projectId);
if(Objects.isNull(payWorkingGroupSubItem)){
throw new JeroBootException("项目不存在!");
}
LambdaQueryWrapper<PayWorkingGroupSubItemContacts> queryPayWorkingGroupSubItemContacts = new LambdaQueryWrapper<>();
queryPayWorkingGroupSubItemContacts.in(PayWorkingGroupSubItemContacts::getWorkingGroupSubId,projectId);
queryPayWorkingGroupSubItemContacts.orderByAsc(PayWorkingGroupSubItemContacts::getOrderNum);
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContacts = payWorkingGroupSubItemContactsService.list(queryPayWorkingGroupSubItemContacts);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContacts)){
//List<String> listIds = listPayWorkingGroupSubItemContacts.stream().map(PayWorkingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
//List<PayContactsManagementTemporary> payContactsManagementTemporaryList = payContactsManagementTemporaryService.listByIds(listIds);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContacts)){
List<String> listIds = listPayWorkingGroupSubItemContacts.stream().map(PayWorkingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
List<PayContactsManagementTemporary> payContactsManagementTemporaryList = payContactsManagementTemporaryService.listByIds(listIds);
if(!CollectionUtils.isEmpty(payContactsManagementTemporaryList)){
listPayWorkingGroupSubItemContacts.forEach(p->{
List<PayContactsManagementTemporary> listNew = payContactsManagementTemporaryList.stream().filter(o->Objects.equals(o.getId(),p.getContactsTemporaryId())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(listNew)){
return;
}
PayContactsManagementTemporary payContactsManagementTemporary = listNew.get(0);
p.setGender(payContactsManagementTemporary.getGender());
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
}
p.setPost(payContactsManagementTemporary.getPost());
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
p.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
}
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
p.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
}
p.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
p.setContactAddress(payContactsManagementTemporary.getContactAddress());
});
projectDetailVO.setPayWorkingGroupSubItemContactsList(listPayWorkingGroupSubItemContacts);
}
listPayWorkingGroupSubItemContacts.forEach(p->{
PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getByAllTable(p.getContactsId(),p.getContactsTemporaryId());
if(Objects.isNull(payContactsManagementTemporary)){
throw new JeroBootException("联系人不存在!");
}
p.setGender(payContactsManagementTemporary.getGender());
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
}
p.setPost(payContactsManagementTemporary.getPost());
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
p.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
}
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
p.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
}
p.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
p.setContactAddress(payContactsManagementTemporary.getContactAddress());
});
projectDetailVO.setPayWorkingGroupSubItemContactsList(listPayWorkingGroupSubItemContacts);
}
}else if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE7)) {
PayDraftingGroupSubItem payDraftingGroupSubItem = payDraftingGroupSubItemService.getById(projectId);
if(Objects.isNull(payDraftingGroupSubItem)){
throw new JeroBootException("项目不存在!");
}
LambdaQueryWrapper<PayDraftingGroupSubItemContacts> queryPayDraftingGroupSubItemContacts = new LambdaQueryWrapper<>();
queryPayDraftingGroupSubItemContacts.in(PayDraftingGroupSubItemContacts::getDraftingGroupSubId,projectId);
queryPayDraftingGroupSubItemContacts.orderByAsc(PayDraftingGroupSubItemContacts::getOrderNum);
List<PayDraftingGroupSubItemContacts> listPayDraftingGroupSubItemContacts = payDraftingGroupSubItemContactsService.list(queryPayDraftingGroupSubItemContacts);
if(!CollectionUtils.isEmpty(listPayDraftingGroupSubItemContacts)){
List<String> listIds = listPayDraftingGroupSubItemContacts.stream().map(PayDraftingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
List<PayContactsManagementTemporary> payContactsManagementTemporaryList = payContactsManagementTemporaryService.listByIds(listIds);
if(!CollectionUtils.isEmpty(payContactsManagementTemporaryList)){
listPayDraftingGroupSubItemContacts.forEach(p->{
List<PayContactsManagementTemporary> listNew = payContactsManagementTemporaryList.stream().filter(o->Objects.equals(o.getId(),p.getContactsTemporaryId())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(listNew)){
return;
}
PayContactsManagementTemporary payContactsManagementTemporary = listNew.get(0);
p.setGender(payContactsManagementTemporary.getGender());
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
}
p.setPost(payContactsManagementTemporary.getPost());
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
p.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
}
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
p.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
}
p.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
p.setContactAddress(payContactsManagementTemporary.getContactAddress());
});
List<PayWorkingGroupSubItemContacts> payWorkingGroupSubItemContactsList = JSON.parseArray(JSONArray.toJSONString(listPayDraftingGroupSubItemContacts), PayWorkingGroupSubItemContacts.class);
projectDetailVO.setPayWorkingGroupSubItemContactsList(payWorkingGroupSubItemContactsList);
}
}
}else {
PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getById(payCommonProject.getContactsTemporaryId());
if(Objects.isNull(payContactsManagementTemporary)){
throw new JeroBootException("联系人不存在!");
}
projectDetailVO.setName(payContactsManagementTemporary.getName());
projectDetailVO.setGender(payContactsManagementTemporary.getGender());
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
projectDetailVO.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
}
projectDetailVO.setPost(payContactsManagementTemporary.getPost());
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
projectDetailVO.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
}
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
projectDetailVO.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
}
projectDetailVO.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
projectDetailVO.setContactAddress(payContactsManagementTemporary.getContactAddress());
}
}
// 起草组项目
else if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE7)) {
PayDraftingGroupSubItem payDraftingGroupSubItem = payDraftingGroupSubItemService.getById(projectId);
if(Objects.isNull(payDraftingGroupSubItem)){
throw new JeroBootException("项目不存在!");
}
LambdaQueryWrapper<PayDraftingGroupSubItemContacts> queryPayDraftingGroupSubItemContacts = new LambdaQueryWrapper<>();
queryPayDraftingGroupSubItemContacts.in(PayDraftingGroupSubItemContacts::getDraftingGroupSubId,projectId);
queryPayDraftingGroupSubItemContacts.orderByAsc(PayDraftingGroupSubItemContacts::getOrderNum);
List<PayDraftingGroupSubItemContacts> listPayDraftingGroupSubItemContacts = payDraftingGroupSubItemContactsService.list(queryPayDraftingGroupSubItemContacts);
if(!CollectionUtils.isEmpty(listPayDraftingGroupSubItemContacts)){
List<String> listIds = listPayDraftingGroupSubItemContacts.stream().map(PayDraftingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
List<PayContactsManagementTemporary> payContactsManagementTemporaryList = payContactsManagementTemporaryService.listByIds(listIds);
if(!CollectionUtils.isEmpty(payContactsManagementTemporaryList)){
listPayDraftingGroupSubItemContacts.forEach(p->{
List<PayContactsManagementTemporary> listNew = payContactsManagementTemporaryList.stream().filter(o->Objects.equals(o.getId(),p.getContactsTemporaryId())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(listNew)){
return;
}
PayContactsManagementTemporary payContactsManagementTemporary = listNew.get(0);
p.setGender(payContactsManagementTemporary.getGender());
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
}
p.setPost(payContactsManagementTemporary.getPost());
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
p.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
}
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
p.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
}
p.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
p.setContactAddress(payContactsManagementTemporary.getContactAddress());
});
List<PayWorkingGroupSubItemContacts> payWorkingGroupSubItemContactsList = JSON.parseArray(JSONArray.toJSONString(listPayDraftingGroupSubItemContacts), PayWorkingGroupSubItemContacts.class);
projectDetailVO.setPayWorkingGroupSubItemContactsList(payWorkingGroupSubItemContactsList);
}
}
}else {
PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getByAllTable(contactsId,contactsTemporaryId);
if(Objects.isNull(payContactsManagementTemporary)){
throw new JeroBootException("联系人不存在!");
}
projectDetailVO.setName(payContactsManagementTemporary.getName());
projectDetailVO.setGender(payContactsManagementTemporary.getGender());
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
projectDetailVO.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
}
projectDetailVO.setPost(payContactsManagementTemporary.getPost());
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
projectDetailVO.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
}
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
projectDetailVO.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
}
projectDetailVO.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
projectDetailVO.setContactAddress(payContactsManagementTemporary.getContactAddress());
}
//会员权益
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE5)){
TbMemberProjectSubitem takeEffectInfo = tbMemberProjectSubitemService.getTakeEffectInfo(payCommonProject.getChargeCompanyTemporaryId());
TbMemberProjectSubitem takeEffectInfo = tbMemberProjectSubitemService.getTakeEffectInfo(chargeCompanyId);
if (takeEffectInfo != null){
projectDetailVO.setMemberNo(takeEffectInfo.getMemberNo());
projectDetailVO.setEffectiveDate(takeEffectInfo.getEffectiveDate());
@@ -499,7 +498,7 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE0);
}
// 开票金额 > 0 && 开票金额 < 待确收金额 = 2
if(invoice.compareTo(new BigDecimal("0.00")) > 0 && invoice.compareTo(payCommonProject.getReceivableAmount()) < 0){
if(invoice.compareTo(new BigDecimal("0.00")) > 0 && invoice.compareTo(receivableAmount) < 0){
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE2);
}
}
@@ -516,6 +515,10 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
if(y > 0 && y <= c){
projectStatusVO.setMail(ProjectCommon.MAIL2);
}
//确认收入
BigDecimal confirmAmount = payCommonProject.getConfirmAmount();
Integer affirmIncome = confirmPaymentRecordService.getAffirmIncome(receivableAmount, confirmAmount);
projectStatusVO.setAffirmIncome(affirmIncome);
return projectStatusVO;
}
@@ -101,12 +101,10 @@ public class SendMessageServiceImpl implements SendMessageService {
// 1短信 2邮件 3系统
// 发送邮件 true
String fromUser = sendMessageDTO.getFromUser();
if (StringUtils.isBlank(fromUser)){
fromUser = env.getProperty("message.systemEmailUser");
}
Integer sendEmailFlag = sendMessageDTO.getSendEmailFlag();
LoginUser loginUser = sysBaseAPI.getUserByName(fromUser);
if(templateType.contains(ProjectCommon.MESSAGE_TYPE2) && !CommonConstant.DEL_FLAG_0.equals(sendEmailFlag)){
log.info("开始发送邮件");
if(StringUtils.isEmpty(sendMessageDTO.getEmail())){
throw new JeroBootException("邮件发送,邮箱地址不能为空!");
}
@@ -489,7 +487,7 @@ public class SendMessageServiceImpl implements SendMessageService {
// 中汽中心标准院-企业端-会议通知-24-中汽中心标准院_国际研讨会_WASIC会议报名提醒
sender = "8823103134217";
signature = "中汽中心标准院";
templateId = "1eafad16964f4b629ec961f5fb72fe81";
templateId = "4e1249086d1a44a8811d68a6e78201b4";
break;
default:
throw new JeroBootException("codeType flase.");
@@ -1,5 +1,6 @@
package com.jero.common.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@@ -18,4 +19,9 @@ public class ProjectStatusVO implements Serializable {
* 邮寄((1:全额(对勾),0:0X),2>0 && <总金额(半满标志)))
*/
private Integer mail;
/**
* 确认收入((1:全额(对勾),0:0(X),2>0 && <总金额(半满标志)))
*/
private Integer affirmIncome;
}
@@ -26,6 +26,11 @@ import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.company.vo.UpdateInvoicePram;
import com.jero.functionalsafetycenter.entity.SafetyCenter;
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitem;
import com.jero.functionalsafetycenter.service.SafetyCenterService;
import com.jero.functionalsafetycenter.service.SafetyCenterSubitemContactsService;
import com.jero.functionalsafetycenter.service.SafetyCenterSubitemService;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.member.entity.PayMemberProjectSubitem;
@@ -34,7 +39,6 @@ import com.jero.member.service.IPayMemberProjectSubitemService;
import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import com.jero.pack.entity.PayPackCompany;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.service.IPayCommonProjectService;
@@ -96,7 +100,8 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
private IPayMemberProjectSubitemService memberProjectSubitemService;
@Resource
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
@Resource
private SafetyCenterService safetyCenterService;
/**
* 企业管理-分页列表查询
* (管理端查询dataSource = 1的数据;报名查询全部的数据)
@@ -255,6 +260,46 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
return Result.OK(pageList);
}
/**
* 分页列表查询 - 功能安全中心查询企业
*
* @param pageNo 页数
* @param pageSize 条数
*/
@ApiOperation(value="功能安全中心查询企业", notes="功能安全中心查询企业")
@GetMapping(value = "/listSafetyCenter")
public Result<?> queryPageSafetyCenter(@RequestParam(name="projectId") String projectId,
@RequestParam(name="type",required = false) String type,
@RequestParam(name="companyName",required = false) String companyName,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
SafetyCenter safetyCenter = safetyCenterService.getById(projectId);
QueryWrapper<PayCompanyManagement> queryWrapper = new QueryWrapper<>();
if ("2".equals(type)){
queryWrapper.eq("pfscs.project_id",safetyCenter.getId());
}else {
queryWrapper.eq("pfscs.project_id",safetyCenter.getParentId());
}
queryWrapper.like(StringUtils.isNotBlank(companyName),"pcm.company_name",companyName);
Page<PayCompanyManagement> page = new Page<>(pageNo, pageSize);
IPage<PayCompanyManagement> pageList = payCompanyManagementService.pageSafetyCenter(page, queryWrapper);
List<PayCompanyManagement> listPayCompanyManagement = pageList.getRecords();
if(!CollectionUtils.isEmpty(listPayCompanyManagement)){
try {
listPayCompanyManagement.forEach(p->{
if (!StringUtils.isBlank(p.getCompanyPhone())){
p.setCompanyPhone(PasswordUtil.decrypt(p.getCompanyPhone()));
}
});
pageList.setRecords(listPayCompanyManagement);
}catch (Exception e){
log.error("公司电话解密异常!",e);
}
}
return Result.OK(pageList);
}
/**
* 添加-会议对外开放接口
*
@@ -875,6 +920,7 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
throw new JeroBootException("请导入excel文件!");
}
ImportParams params = new ImportParams();
params.setSheetNum(1);
params.setTitleRows(1);
params.setHeadRows(1);
try {
@@ -1065,6 +1111,7 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
/**
* 判断当前企业是否是打包企业
*/
@Deprecated
@ApiOperation(value="判断当前企业是否是打包企业")
@GetMapping(value = "/judgeCompanyIsPackaged")
public Result<Boolean> judgeCompanyIsPackaged(@RequestParam(name="companyId") String companyId){
@@ -22,6 +22,8 @@ import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.company.service.ProjectCountService;
import com.jero.functionalsafetycenter.entity.SafetyCenter;
import com.jero.functionalsafetycenter.service.SafetyCenterService;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.member.entity.PayMemberProjectSubitem;
@@ -96,7 +98,8 @@ public class PayContactsManagementController extends JeroController<PayContactsM
//private IMemberInfoService memberInfoService;
@Resource
private IPayWorkingGroupSubItemContactsService payWorkingGroupSubItemContactsService;
@Resource
private SafetyCenterService safetyCenterService;
@Value("${defaultPassword}")
private String defaultPassword;
@@ -818,6 +821,47 @@ public class PayContactsManagementController extends JeroController<PayContactsM
return Result.OK(list);
}
/**
* 通过企业id查询用户
*
* @param companyId 企业id
* @return
*/
@ApiOperation(value="功能安全中心查询企业查询用户", notes="功能安全中心查询企业查询用户")
@GetMapping(value = "/queryBySafetyCenter")
public Result<?> queryBySafetyCenter(@RequestParam(name="projectId") String projectId,
@RequestParam(name="type",required = false) String type,
@RequestParam(name="companyId",required = false) String companyId,
@RequestParam(name="name",required = false) String name) {
if (StringUtils.isBlank(companyId)||StringUtils.isBlank(projectId)){
return Result.OK();
}
SafetyCenter safetyCenter = safetyCenterService.getById(projectId);
QueryWrapper<PayContactsManagement> queryWrapper = new QueryWrapper<>();
if ("2".equals(type)){
queryWrapper.eq("pfscsc.project_id", safetyCenter.getId());
}else {
queryWrapper.eq("pfscsc.project_id", safetyCenter.getParentId());
}
queryWrapper.eq("pfscsc.company_id", companyId);
if(!StringUtils.isEmpty(name)){
queryWrapper.like("pcm.name", name);
}
List<PayContactsManagement> list = payContactsManagementService.queryBySafetyCenter(queryWrapper);
if(!CollectionUtils.isEmpty(list)){
list.forEach(p->{
if(!StringUtils.isBlank(p.getPhone())){
p.setPhone(PasswordUtil.decrypt(p.getPhone()));
}
if(!StringUtils.isBlank(p.getEmail())){
p.setEmail(PasswordUtil.decrypt(p.getEmail()));
}
});
}
return Result.OK(list);
}
/**
* 导出excel
*
@@ -908,6 +952,7 @@ public class PayContactsManagementController extends JeroController<PayContactsM
throw new JeroBootException("请导入excel文件!");
}
ImportParams params = new ImportParams();
params.setSheetNum(1);
params.setTitleRows(1);
params.setHeadRows(1);
try {
@@ -1,7 +1,11 @@
package com.jero.company.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.company.entity.PayCompanyManagement;
import org.apache.ibatis.annotations.Param;
@@ -27,4 +31,10 @@ public interface PayCompanyManagementMapper extends BaseMapper<PayCompanyManagem
void updateMemberCompanyName(@Param("memberId") String memberId, @Param("companyName") String companyName);
Integer checkMemberCompanyName(@Param("memberId") String memberId, @Param("companyName") String companyName);
IPage<PayCompanyManagement> pageSafetyCenter(Page<PayCompanyManagement> page, @Param(Constants.WRAPPER) QueryWrapper<PayCompanyManagement> queryWrapper);
Page<PayCompanyManagement> pageHaveMoney(Page<PayCompanyManagement> page, @Param("chargeCompanyIds") List<String> chargeCompanyIds);
List<PayCompanyManagement> pageHaveMoney(@Param("chargeCompanyIds") List<String> chargeCompanyIds);
}
@@ -1,8 +1,10 @@
package com.jero.company.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.vo.CompanyLoginVO;
@@ -39,4 +41,6 @@ public interface PayContactsManagementMapper extends BaseMapper<PayContactsManag
List<PayContactsManagement> listPayContactsManagement(List<String> phoneList);
void forgetPassword(@Param("companyLoginVO") CompanyLoginVO companyLoginVO);
List<PayContactsManagement> queryBySafetyCenter(@Param(Constants.WRAPPER) QueryWrapper<PayContactsManagement> queryWrapper);
}
@@ -39,4 +39,21 @@
and member_id != #{memberId}
</if>
</select>
<select id="pageSafetyCenter" resultType="com.jero.company.entity.PayCompanyManagement">
select pcm.*
from pay_company_management pcm
left join pay_functional_safety_center_subitem pfscs on pcm.id = pfscs.company_id
${ew.customSqlSegment}
</select>
<select id="pageHaveMoney" resultType="com.jero.company.entity.PayCompanyManagement">
select * from pay_company_management
<where>
<foreach item="item" index="index" collection="chargeCompanyIds" open="id in (" separator="," close=")">
#{item}
</foreach>
</where>
order by create_time desc
</select>
</mapper>
@@ -69,4 +69,11 @@
phone = #{companyLoginVO.phone}
</where>
</update>
<select id="queryBySafetyCenter" resultType="com.jero.company.entity.PayContactsManagement">
select distinct pcm.*
from pay_functional_safety_center_subitem_contacts pfscsc
left join pay_contacts_management pcm on pcm.id = pfscsc.contacts_id
${ew.customSqlSegment}
</select>
</mapper>
@@ -1,6 +1,9 @@
package com.jero.company.service;
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.extension.service.IService;
import com.jero.company.entity.PayCompanyAndContactsManagement;
import com.jero.company.entity.PayCompanyManagement;
@@ -121,4 +124,10 @@ public interface IPayCompanyManagementService extends IService<PayCompanyManagem
void updateMemberCompanyName(String memberId, String companyName);
void checkMemberCompanyName(String memberId, String companyName);
IPage<PayCompanyManagement> pageSafetyCenter(Page<PayCompanyManagement> page, QueryWrapper<PayCompanyManagement> queryWrapper);
Page<PayCompanyManagement> pageHaveMoney(Page<PayCompanyManagement> page, List<String> chargeCompanyIds);
List<PayCompanyManagement> pageHaveMoney(List<String> chargeCompanyIds);
}
@@ -1,5 +1,6 @@
package com.jero.company.service;
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.extension.service.IService;
@@ -85,4 +86,6 @@ public interface IPayContactsManagementService extends IService<PayContactsManag
PayContactsManagement checkByCompanyIdAndId(String id, String companyId);
PayContactsManagement checkByCompanyIdAndName(String name, String companyId);
List<PayContactsManagement> queryBySafetyCenter(QueryWrapper<PayContactsManagement> queryWrapper);
}
@@ -7,6 +7,8 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.common.ProjectCommon;
import com.jero.common.common.RoleCommon;
@@ -15,12 +17,10 @@ import com.jero.common.enums.ManagementMessageEnums;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.SendMessageService;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.AuthenticationUtils;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.company.common.PayCompanyManagementCommon;
import com.jero.company.common.PayContactsManagementCommon;
import com.jero.company.entity.MemberInfo;
import com.jero.company.entity.PayCompanyAndContactsManagement;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
@@ -32,16 +32,25 @@ import com.jero.company.vo.CompanyOrContactsCount;
import com.jero.company.vo.UpdateInvoicePram;
import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.mapper.PayMeetingSituationMapper;
import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.member.entity.PayMemberProjectSubitem;
import com.jero.member.entity.TbMemberProjectSubitem;
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
import com.jero.member.service.IPayMemberProjectSubitemService;
import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import com.jero.pack.entity.PayPackCompany;
import com.jero.pack.mapper.PayPackCompanyMapper;
import com.jero.pack.service.IPayPackCompanyService;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.service.AnnualDataLockingService;
import com.jero.project.service.IPayCommonProjectService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.temporary.common.PayCompanyManagementTemporaryCommon;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
import lombok.extern.slf4j.Slf4j;
@@ -93,7 +102,21 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
private SendMessageService sendMessageService;
@Resource
private Environment env;
@Resource
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
@Resource
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
@Resource
private AnnualDataLockingService annualDataLockingService;
@Resource
private IPayMeetingSituationService meetingSituationService;
@Resource
private PayMeetingSituationMapper meetingSituationMapper;
@Resource
private PayPackCompanyMapper packCompanyMapper;
@Resource
private IPayPackCompanyService packCompanyService;
@Override
public void addMeeting(PayCompanyManagement payCompanyManagement) {
if(StringUtils.isEmpty(payCompanyManagement.getCompanyPhone())){
@@ -409,23 +432,6 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
throw new JeroBootException("公司电话加密异常!");
}
}
// 会员企业编辑同步会员系统
//if(Objects.equals(payCompanyManagementOld.getRoleCode(),PayCompanyManagementCommon.ROLE_CODE2)){
// if(!Objects.equals(payCompanyManagementOld.getCompanyName(),payCompanyManagement.getCompanyName())){
// throw new JeroBootException("会员企业名称不可修改!");
// }
// // 调用会员项目接口
// MemberInfo memberInfo = new MemberInfo();
// memberInfo.setCompanyName(payCompanyManagement.getCompanyName());
// memberInfo.setId(payCompanyManagementOld.getMemberId());
// memberInfo.setTaxNo(payCompanyManagement.getDutyCode());
// memberInfo.setDepositBank(payCompanyManagement.getOpeningBank());
// memberInfo.setBankAccount(payCompanyManagement.getBankAccount());
// memberInfo.setInvoiceAddress(payCompanyManagement.getCompanyAddress());
// memberInfo.setInvoicePhone(payCompanyManagement.getCompanyPhone());
// memberInfo.setLinkBankNumber(payCompanyManagement.getLinkBankNumber());
// AuthenticationUtils.post("/memberInfo/memberInfo/incomingEdit","",memberInfo);
//}
// 财务人员直接批量变更状态
if(sysUser.getRoleCode().contains(RoleCommon.CWRY)){
payCompanyManagementOld.setCompanyName(payCompanyManagement.getCompanyName());
@@ -694,6 +700,9 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
@Override
public PayCompanyManagement getCompanyByName(String companyName) {
if(companyName != null && companyName.endsWith(PayCompanyManagementTemporaryCommon.CHECK)){
companyName = companyName.substring(0,companyName.length() - PayCompanyManagementTemporaryCommon.CHECK.length());
}
return this.baseMapper.selectOne(new QueryWrapper<PayCompanyManagement>().eq("company_name",companyName));
}
@@ -710,6 +719,21 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
}
}
@Override
public IPage<PayCompanyManagement> pageSafetyCenter(Page<PayCompanyManagement> page, QueryWrapper<PayCompanyManagement> queryWrapper) {
return payCompanyManagementMapper.pageSafetyCenter(page, queryWrapper);
}
@Override
public Page<PayCompanyManagement> pageHaveMoney(Page<PayCompanyManagement> page, List<String> chargeCompanyIds) {
return payCompanyManagementMapper.pageHaveMoney(page, chargeCompanyIds);
}
@Override
public List<PayCompanyManagement> pageHaveMoney(List<String> chargeCompanyIds) {
return payCompanyManagementMapper.pageHaveMoney(chargeCompanyIds);
}
/**
* 校验企业名称和信用代码是否匹配
* @param payCompanyManagement
@@ -744,113 +768,99 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
* @Exception
*/
private void updateBatchData(PayCompanyManagement payCompanyManagement){
String companyManagementId = payCompanyManagement.getId();
//更新人员
LambdaUpdateWrapper<PayContactsManagement> updatePayContactsManagement = new LambdaUpdateWrapper<>();
updatePayContactsManagement.eq(PayContactsManagement::getCompanyId,payCompanyManagement.getId());
updatePayContactsManagement.eq(PayContactsManagement::getCompanyId, companyManagementId);
updatePayContactsManagement.set(PayContactsManagement::getCompanyName,payCompanyManagement.getCompanyName());
payContactsManagementService.update(updatePayContactsManagement);
int thisYear = DateUtil.thisYear();
List<String> allYear = annualDataLockingService.getAllYear();
//需要更新的临时企业id
List<String> companyTemporaryIdList = new ArrayList<>();
// 更新普通项目
LambdaQueryWrapper<PayCommonProject> quaryPayCommonProject = new LambdaQueryWrapper<>();
quaryPayCommonProject.eq(PayCommonProject::getChargeCompanyId,payCompanyManagement.getId());
quaryPayCommonProject.eq(PayCommonProject::getChargeCompanyId, companyManagementId);
quaryPayCommonProject.notIn(PayCommonProject::getYear,allYear);
quaryPayCommonProject.eq(PayCommonProject::getYear,thisYear);
quaryPayCommonProject.and(
a -> {
a.eq(PayCommonProject::getPaidAmount, BigDecimal.ZERO)
.or()
.isNull(PayCommonProject::getPaidAmount);
});
quaryPayCommonProject.and(
a -> {
a.eq(PayCommonProject::getInvoiceAmount, BigDecimal.ZERO)
.or()
.isNull(PayCommonProject::getInvoiceAmount);
});
quaryPayCommonProject.and(
a -> {
a.eq(PayCommonProject::getConfirmAmount, BigDecimal.ZERO)
.or()
.isNull(PayCommonProject::getConfirmAmount);
});
List<PayCommonProject> list = payCommonProjectService.list(quaryPayCommonProject);
List<String> collect = list.stream().map(PayCommonProject::getChargeCompanyTemporaryId).collect(Collectors.toList());
List<String> idList = list.stream().map(PayCommonProject::getId).collect(Collectors.toList());
companyTemporaryIdList.addAll(collect);
if (!collect.isEmpty()){
if (!idList.isEmpty()){
LambdaUpdateWrapper<PayCommonProject> updatePayCommonProject = new LambdaUpdateWrapper<>();
updatePayCommonProject.in(PayCommonProject::getChargeCompanyTemporaryId,collect);
updatePayCommonProject.in(PayCommonProject::getId,idList);
updatePayCommonProject.set(PayCommonProject::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName());
payCommonProjectService.update(updatePayCommonProject);
}
// 更新工作组
QueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem = new QueryWrapper<>();
queryPayWorkingGroupSubItem.eq("pwg.year",thisYear);
queryPayWorkingGroupSubItem.lambda().eq(PayWorkingGroupSubItem::getChargeCompanyId,payCompanyManagement.getId())
.and(
a -> {
a.eq(PayWorkingGroupSubItem::getPaidAmount, BigDecimal.ZERO)
.or()
.isNull(PayWorkingGroupSubItem::getPaidAmount);
})
.and(
a -> {
a.eq(PayWorkingGroupSubItem::getInvoiceAmount, BigDecimal.ZERO)
.or()
.isNull(PayWorkingGroupSubItem::getInvoiceAmount);
})
.and(
a -> {
a.eq(PayWorkingGroupSubItem::getConfirmAmount, BigDecimal.ZERO)
.or()
.isNull(PayWorkingGroupSubItem::getConfirmAmount);
});
queryPayWorkingGroupSubItem.notIn("pwg.year",allYear);
queryPayWorkingGroupSubItem.lambda().eq(PayWorkingGroupSubItem::getChargeCompanyId, companyManagementId);
List<PayWorkingGroupSubItem> workingGroupSubItemList = payWorkingGroupSubItemService.queryList(queryPayWorkingGroupSubItem);
List<String> collect1 = workingGroupSubItemList.stream().map(PayWorkingGroupSubItem::getChargeCompanyTemporaryId).collect(Collectors.toList());
List<String> idList1 = workingGroupSubItemList.stream().map(PayWorkingGroupSubItem::getId).collect(Collectors.toList());
companyTemporaryIdList.addAll(collect1);
if (!collect1.isEmpty()){
if (!idList1.isEmpty()){
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
updatePayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getChargeCompanyId,collect1);
updatePayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getId,idList1);
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName());
payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem);
}
//会议项目
List<PayMeetingSituation> meetingSituations = meetingSituationMapper.listByYearNotIn(allYear,companyManagementId);
List<String> collect4 = meetingSituations.stream().map(PayMeetingSituation::getCompanyTemporaryId).collect(Collectors.toList());
List<String> idList4 = meetingSituations.stream().map(PayMeetingSituation::getId).collect(Collectors.toList());
companyTemporaryIdList.addAll(collect4);
if (!idList4.isEmpty()){
LambdaUpdateWrapper<PayMeetingSituation> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(PayMeetingSituation::getId,idList4);
updateWrapper.set(PayMeetingSituation::getCompanyName,payCompanyManagement.getCompanyName());
meetingSituationService.update(updateWrapper);
}
// 更新会员
QueryWrapper<PayMemberProjectSubitem> queryPayMemberProjectSubitem = new QueryWrapper<>();
queryPayMemberProjectSubitem.eq("pmp.particular_year",thisYear);
queryPayMemberProjectSubitem.lambda().eq(PayMemberProjectSubitem::getCompanyId,payCompanyManagement.getId())
.and(
a -> {
a.eq(PayMemberProjectSubitem::getPaidAmount, BigDecimal.ZERO)
.or()
.isNull(PayMemberProjectSubitem::getPaidAmount);
})
.and(
a -> {
a.eq(PayMemberProjectSubitem::getInvoiceAmount, BigDecimal.ZERO)
.or()
.isNull(PayMemberProjectSubitem::getInvoiceAmount);
})
.and(
a -> {
a.eq(PayMemberProjectSubitem::getConfirmAmount, BigDecimal.ZERO)
.or()
.isNull(PayMemberProjectSubitem::getConfirmAmount);
});
queryPayMemberProjectSubitem.notIn("pmp.particular_year",allYear) ;
queryPayMemberProjectSubitem.lambda().eq(PayMemberProjectSubitem::getCompanyId, companyManagementId);
List<PayMemberProjectSubitem> payMemberProjectSubitems = memberProjectSubitemService.queryPageListCompany(queryPayMemberProjectSubitem);
List<String> collect2 = payMemberProjectSubitems.stream().map(PayMemberProjectSubitem::getCompanyTemporaryId).collect(Collectors.toList());
List<String> idList2 = payMemberProjectSubitems.stream().map(PayMemberProjectSubitem::getId).collect(Collectors.toList());
companyTemporaryIdList.addAll(collect2);
if (!collect2.isEmpty()){
if (!idList2.isEmpty()){
LambdaUpdateWrapper<PayMemberProjectSubitem> updatePayMemberProjectSubitem = new LambdaUpdateWrapper<>();
updatePayMemberProjectSubitem.in(PayMemberProjectSubitem::getCompanyId,payCompanyManagement.getId());
updatePayMemberProjectSubitem.in(PayMemberProjectSubitem::getId,idList2);
updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getCompanyName,payCompanyManagement.getCompanyName());
memberProjectSubitemService.update(updatePayMemberProjectSubitem);
}
// 更新标协会员
QueryWrapper<TbMemberProjectSubitem> queryTbMemberProjectSubitem = new QueryWrapper<>();
queryTbMemberProjectSubitem.notIn("tmp.year",allYear);
queryTbMemberProjectSubitem.lambda().eq(TbMemberProjectSubitem::getCompanyId, companyManagementId);
List<TbMemberProjectSubitem> tbMemberProjectSubitems = tbMemberProjectSubitemMapper.queryListCompanyYear(queryTbMemberProjectSubitem);
List<String> collect3 = tbMemberProjectSubitems.stream().map(TbMemberProjectSubitem::getCompanyTemporaryId).collect(Collectors.toList());
List<String> idList3 = tbMemberProjectSubitems.stream().map(TbMemberProjectSubitem::getId).collect(Collectors.toList());
companyTemporaryIdList.addAll(collect3);
if (!idList3.isEmpty()){
LambdaUpdateWrapper<TbMemberProjectSubitem> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(TbMemberProjectSubitem::getId,idList3);
updateWrapper.set(TbMemberProjectSubitem::getCompanyName,payCompanyManagement.getCompanyName());
tbMemberProjectSubitemService.update(updateWrapper);
}
//打包项目
List<PayPackCompany> packCompanyList = packCompanyMapper.listByYearNotIn(allYear,companyManagementId);
List<String> collect5 = packCompanyList.stream().map(PayPackCompany::getCompanyTemporaryId).collect(Collectors.toList());
List<String> idList6 = packCompanyList.stream().map(PayPackCompany::getId).collect(Collectors.toList());
companyTemporaryIdList.addAll(collect5);
if (!idList6.isEmpty()){
LambdaUpdateWrapper<PayPackCompany> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(PayPackCompany::getId,idList6);
updateWrapper.set(PayPackCompany::getCompanyTemporaryName,payCompanyManagement.getCompanyName());
packCompanyService.update(updateWrapper);
}
// 更新临时数据
if (!companyTemporaryIdList.isEmpty()) {
LambdaUpdateWrapper<PayCompanyManagementTemporary> updatePayCompanyManagementTemporary = new LambdaUpdateWrapper<>();
@@ -873,19 +883,11 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
// 更新合同
LambdaUpdateWrapper<PayIncomeContract> updatePayIncomeContract = new LambdaUpdateWrapper<>();
updatePayIncomeContract.eq(PayIncomeContract::getSignedCompanyId,payCompanyManagement.getId());
updatePayIncomeContract.eq(PayIncomeContract::getSignedCompanyId, companyManagementId);
//updatePayIncomeContract.ge(PayIncomeContract::getCreateTime,payCompanyManagement.getEditTime());
updatePayIncomeContract.exists(" select 1 from pay_company_management_temporary where " +
"pay_income_contract.signed_company_temporary_id = id and create_time >= '" + DateTime.of(payCompanyManagement.getEditTime()) + "'");
updatePayIncomeContract.set(PayIncomeContract::getSignedCompanyTemporaryName,payCompanyManagement.getCompanyName());
payIncomeContractService.update(updatePayIncomeContract);
// 更新打包
LambdaUpdateWrapper<PayPackCompany> updatePayPackCompany = new LambdaUpdateWrapper<>();
updatePayPackCompany.eq(PayPackCompany::getCompanyId,payCompanyManagement.getId());
//updatePayPackCompany.ge(PayPackCompany::getCreateTime,payCompanyManagement.getEditTime());
updatePayPackCompany.exists(" select 1 from pay_company_management_temporary where " +
"pay_pack_company.company_temporary_id = id and create_time >= '" + DateTime.of(payCompanyManagement.getEditTime()) + "'");
updatePayPackCompany.set(PayPackCompany::getCompanyTemporaryName,payCompanyManagement.getCompanyName());
payPackCompanyService.update(updatePayPackCompany);
}
}
@@ -103,11 +103,7 @@ public class PayContactsManagementServiceImpl extends ServiceImpl<PayContactsMan
}catch (Exception e){
log.error("手机号、邮箱加密异常!",e);
}
if(StringUtils.isBlank(payContactsManagement.getFlagStatus())){
payContactsManagement.setRoleCode(PayContactsManagementCommon.ROLE_CODE1);
}else{
payContactsManagement.setDelFlag(PayContactsManagementCommon.DEL_FLAG1);
}
payContactsManagement.setDelFlag(PayContactsManagementCommon.DEL_FLAG0);
save(payContactsManagement);
}
@@ -459,4 +455,9 @@ public class PayContactsManagementServiceImpl extends ServiceImpl<PayContactsMan
PayContactsManagement payContactsManagement = baseMapper.selectOne(query);
return payContactsManagement;
}
@Override
public List<PayContactsManagement> queryBySafetyCenter(QueryWrapper<PayContactsManagement> queryWrapper) {
return baseMapper.queryBySafetyCenter(queryWrapper);
}
}
@@ -0,0 +1,22 @@
package com.jero.company.vo;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* 企业端登录
* @author liJiaRao
* @date 2021-09-23 14:59
*/
@Data
public class CompanyInfoVO {
@ApiModelProperty(value = "企业信息")
private PayCompanyManagement companyManagement;
@ApiModelProperty(value = "企业联系人信息")
private List<PayContactsManagement> contactsManagementList;
}
@@ -50,7 +50,6 @@ import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.mapper.PayWorkingGroupSubItemContactsMapper;
import com.jero.project.service.IPayCommonProjectService;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.service.IPayWorkingGroupSubItemContactsService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.entity.PayContactsManagementTemporary;
@@ -321,7 +320,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
//如果未邮寄更新邮寄联系人信息
if (postStatus.equals(PayIncomeContractCommon.POST_STATUS0)){
// 联系人
PayContactsManagementTemporary payContactsManagement = payContactsManagementTemporaryService.insertContactsManagementTemporary(payIncomeContract.getSignedContactsId());
PayContactsManagementTemporary payContactsManagement = payContactsManagementTemporaryService.insertContactsManagementTemporary(payIncomeContract.getSignedContactsId(), null);
if(!Objects.isNull(payContactsManagement)){
payMailContract.setMobile(payContactsManagement.getPhone());
payMailContract.setEmail(payContactsManagement.getEmail());
@@ -631,6 +630,8 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
projectOutput.setId(p.getId());
// 合同选择了打包
if(Objects.equals(payIncomeContract.getPack(), PackCommon.PACKAGING1)){
//
//payPackCompanyProjectService.setAmountReceivableZero(p.getProjectId(),p.getProjectType()+"");
// 获取项目负责人发送消息
if(StringUtils.isEmpty(principalId)){
return;
@@ -927,7 +928,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
*/
private void setPayIncomeContractAdd(PayIncomeContract payIncomeContract){
// 企业
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payIncomeContract.getSignedCompanyId());
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payIncomeContract.getSignedCompanyId(), null);
if(Objects.isNull(chargeCompanyName)){
throw new JeroBootException("企业名称为空!");
}
@@ -935,7 +936,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
payIncomeContract.setSignedCompanyTemporaryName(chargeCompanyName.getCompanyName());
// 联系人
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payIncomeContract.getSignedContactsId());
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payIncomeContract.getSignedContactsId(), null);
if(Objects.isNull(contactsName)){
throw new JeroBootException("联系人名称为空!");
}
@@ -975,13 +976,13 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
if(!Objects.equals(payIncomeContractStatus.getSignedContactsTemporaryId(),payIncomeContract.getSignedContactsId())){
// 联系人
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payIncomeContract.getSignedContactsId());
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payIncomeContract.getSignedContactsId(), null);
if(Objects.isNull(contactsName)){
throw new JeroBootException("联系人名称为空!");
}
payIncomeContract.setSignedContactsTemporaryId(contactsName.getId());
payIncomeContract.setSignedContactsTemporaryName(contactsName.getName());
payContactsManagementTemporaryService.removeById(payIncomeContractStatus.getSignedContactsTemporaryId());
// payContactsManagementTemporaryService.removeById(payIncomeContractStatus.getSignedContactsTemporaryId());
}else{
payIncomeContract.setSignedContactsId(payIncomeContractStatus.getSignedContactsId());
}
@@ -2,7 +2,6 @@ package com.jero.contract.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -40,7 +39,6 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.shiro.SecurityUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -1007,37 +1005,38 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
DecimalFormat df = new DecimalFormat("0.0000");
String val = "";
switch (cell.getCellType()) {
case XSSFCell.CELL_TYPE_NUMERIC:
if (DateUtil.isCellDateFormatted(cell)) {
val = fmt.format(cell.getDateCellValue()); //日期型
} else {
val = df.format(cell.getNumericCellValue()); //数字型
// 去掉多余的0如最后一位是.则去掉
val = val.replaceAll("0+?$", "").replaceAll("[.]$","");
}
break;
case XSSFCell.CELL_TYPE_STRING: //文本类型
val = cell.getStringCellValue();
break;
case XSSFCell.CELL_TYPE_BOOLEAN: //布尔型
val = String.valueOf(cell.getBooleanCellValue());
break;
case XSSFCell.CELL_TYPE_BLANK: //空白
val = cell.getStringCellValue();
break;
case XSSFCell.CELL_TYPE_ERROR: //错误
val = "";
break;
case XSSFCell.CELL_TYPE_FORMULA: //公式
try {
val = String.valueOf(cell.getStringCellValue());
} catch (IllegalStateException e) {
val = String.valueOf(cell.getNumericCellValue());
}
break;
default:
val = cell.getRichStringCellValue() == null ? null : cell.getRichStringCellValue().toString();
CellType cellType = cell.getCellType();
if (cellType.equals(CellType.NUMERIC)) {
if (DateUtil.isCellDateFormatted(cell)) {
val = fmt.format(cell.getDateCellValue()); //日期型
} else {
val = df.format(cell.getNumericCellValue()); //数字型
// 去掉多余的0如最后一位是.则去掉
val = val.replaceAll("0+?$", "").replaceAll("[.]$", "");
}
} else if (cellType.equals(CellType.STRING)) {
//文本类型
val = cell.getStringCellValue();
} else if (cellType.equals(CellType.BOOLEAN)) {
//布尔型
val = String.valueOf(cell.getBooleanCellValue());
} else if (cellType.equals(CellType.BLANK)) {
//空白
val = cell.getStringCellValue();
} else if (cellType.equals(CellType.ERROR)) {
//错误
val = "";
} else if (cellType.equals(CellType.FORMULA)) {
//公式
try {
val = String.valueOf(cell.getStringCellValue());
} catch (IllegalStateException e) {
val = String.valueOf(cell.getNumericCellValue());
}
} else {
val = cell.getRichStringCellValue() == null ? null : cell.getRichStringCellValue().toString();
}
return val;
}
@@ -1,15 +1,14 @@
package com.jero.data.controller;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.*;
import java.util.*;
import javax.activation.MimetypesFileTypeMap;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import cn.hutool.core.io.FileUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -31,6 +30,7 @@ import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.util.SysWaterMarkUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -76,7 +76,8 @@ public class PayCaseCommitteeController extends JeroController<PayCaseCommittee,
@Resource
private IPayMeetingService payMeetingService;
@Resource
private SysWaterMarkUtil sysWaterMarkUtil;
/**
* 分标委表-企业端分页列表查询
*
@@ -118,7 +119,7 @@ public class PayCaseCommitteeController extends JeroController<PayCaseCommittee,
@ApiOperation(value="分标委表-企业端资料下载", notes="分标委表-企业端资料下载")
@GetMapping(value = "download")
public void download(
@RequestParam(name = "fileId",required = true) String fileId
@RequestParam(name = "fileId",required = true) String fileId, HttpServletRequest request
) throws IOException {
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletResponse response = requestAttributes.getResponse();
@@ -135,17 +136,22 @@ public class PayCaseCommitteeController extends JeroController<PayCaseCommittee,
String hehe = new String(fileName.getBytes("utf-8"), "iso-8859-1");
// 设置扩展头当Content-Type 的类型为要下载的类型时 , 这个信息头会告诉浏览器这个文件的名字和类型
response.setHeader("Content-Disposition", "attachment;filename=" + hehe);
download(url, response);
download(url, response,request);
}
public void download(String url, HttpServletResponse res) throws IOException {
public void download(String url, HttpServletResponse res, HttpServletRequest request) throws IOException {
// 发送给客户端的数据
OutputStream outputStream = res.getOutputStream();
byte[] buff = new byte[1024];
BufferedInputStream bis = null;
// 读取filename
bis = new BufferedInputStream(new FileInputStream(new File(upLoadPath+File.separator+url)));
InputStream fileInputStream = new BufferedInputStream(new FileInputStream(upLoadPath + File.separator + url));
//pdf加水印
if ("pdf".equalsIgnoreCase(FileUtil.extName(url))) {
fileInputStream = sysWaterMarkUtil.addWatermarkToPdf(fileInputStream, request);
}
bis = new BufferedInputStream(fileInputStream);
int i = bis.read(buff);
while (i != -1) {
outputStream.write(buff, 0, buff.length);
@@ -23,9 +23,8 @@ import com.jero.data.entity.*;
import com.jero.data.service.IPayCaseCouncilService;
import com.jero.data.service.IPayCaseCouncilSubitemService;
import com.jero.mail.commont.constant;
import com.jero.meeting.entity.PayMeetingRemindRecord;
import com.jero.meeting.service.IPayMeetingRemindRecordService;
import com.jero.project.common.PayProjectCommon;
import com.jero.member.service.ITbMemberProjectService;
import com.jero.util.AmountUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -38,7 +37,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.ArrayList;
@@ -67,6 +65,8 @@ public class PayCaseCouncilSubitemController extends JeroController<PayCaseCounc
private IPayContactsManagementService payContactsManagementService;
@Resource
private ContractCreateProjectSendMessageService contractCreateProjectSendMessageService;
@Resource
private ITbMemberProjectService tbMemberProjectService;
/**
* 理事会成员表
@@ -320,5 +320,16 @@ public class PayCaseCouncilSubitemController extends JeroController<PayCaseCounc
return AmountUtil.exportListXls(list, ChooseExcelCouncil.class,"理事会表导出");
}
/**
* 导入到标协会员
*/
@Transactional
@RequiresPermissions("council:exportToMember")
@AutoLog(value = "理事会成员表-导入到标协会员")
@ApiOperation(value="理事会成员表-导入到标协会员", notes="理事会成员表-导入到标协会员")
@PostMapping(value = "/import")
public Result<?> importToMemberProjectSubitem(@RequestBody JSONObject jsonObject) {
payCaseCouncilSubitemService.importToMemberProjectSubitem(jsonObject);
return Result.OK("导入成功!");
}
}
@@ -1,11 +1,11 @@
package com.jero.data.service;
import com.alibaba.fastjson.JSONObject;
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.jero.data.entity.*;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.ArrayList;
import java.util.List;
@@ -27,4 +27,5 @@ public interface IPayCaseCouncilSubitemService extends IService<PayCaseCouncilSu
List<subCouncil> listTwo(QueryWrapper<subCouncil> queryWrapper, String meetingId);
void importToMemberProjectSubitem(JSONObject jsonObject);
}
@@ -1,18 +1,38 @@
package com.jero.data.service.impl;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.common.ProjectCommon;
import com.jero.common.enums.PaymentStatusEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.config.StaticConfig;
import com.jero.data.entity.*;
import com.jero.data.mapper.PayCaseCouncilSubitemMapper;
import com.jero.data.service.IPayCaseCouncilSubitemService;
import com.jero.member.entity.TbMemberProject;
import com.jero.member.entity.TbMemberProjectSubitem;
import com.jero.member.enums.MemberStatusEnum;
import com.jero.member.service.ITbMemberProjectService;
import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.project.common.PayProjectCommon;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* @Description: pay_case_council_subitem
@@ -25,6 +45,17 @@ public class PayCaseCouncilSubitemServiceImpl extends ServiceImpl<PayCaseCouncil
@Resource
private PayCaseCouncilSubitemMapper payCaseCouncilSubitemMapper;
@Resource
private IPayCaseCouncilSubitemService payCaseCouncilSubitemService;
@Resource
private ITbMemberProjectService tbMemberProjectService;
@Resource
private IPayCompanyManagementService companyManagementService;
@Resource
private IPayContactsManagementService payContactsManagementService;
@Resource
private ITbMemberProjectSubitemService memberProjectSubitemService;
@Override
public IPage<councilList> listThree(Page<councilList> page, String contactsNames, String companyNames, String councilNames, String userId) {
return payCaseCouncilSubitemMapper.listThree(page,contactsNames,companyNames,councilNames,userId);
@@ -50,5 +81,104 @@ public class PayCaseCouncilSubitemServiceImpl extends ServiceImpl<PayCaseCouncil
return payCaseCouncilSubitemMapper.listTwo(queryWrapper,meetingId);
}
@Override
public void importToMemberProjectSubitem(JSONObject jsonObject) {
String councilId = jsonObject.getString("id");
String projectId = jsonObject.getString("projectId");
if (StringUtils.isBlank(councilId) || StringUtils.isBlank(projectId)) {
throw new JeroBootException("参数错误");
}
// 根据理事会id查询属于它的所有企业
LambdaUpdateWrapper<PayCaseCouncilSubitem> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.eq(PayCaseCouncilSubitem::getCouncilId,councilId);
List<PayCaseCouncilSubitem> councilSubitemList = payCaseCouncilSubitemService.list(lambdaUpdateWrapper);
if (councilSubitemList.isEmpty()) {
throw new JeroBootException("该理事会下无成员");
}
// 根据标协会员项目id查询对应的标协会员项目
TbMemberProject tbMemberProject = tbMemberProjectService.getById(projectId);
if (Objects.isNull(tbMemberProject)) {
throw new JeroBootException("该标协会员项目不存在");
}
List<TbMemberProjectSubitem> tbMemberProjectSubitems = new ArrayList<>();
BigDecimal councilChargeStandard = tbMemberProject.getChargeStandard();
String councilChargeNoticeNo = tbMemberProject.getChargeNoticeNo();
String chargeNoticeFileId = tbMemberProject.getChargeNoticeFileId();
// 将所有企业成员添加到标协会成员表中
for (PayCaseCouncilSubitem payCaseCouncilSubitem : councilSubitemList) {
String companyId = payCaseCouncilSubitem.getCompanyId();
PayCompanyManagement companyManagement = companyManagementService.getById(companyId);
if (companyManagement == null){
throw new JeroBootException(payCaseCouncilSubitem.getCompanyName() + "单位不存在");
}
String liaisonManId = payCaseCouncilSubitem.getContactsId();
PayContactsManagement liaisonMan = payContactsManagementService.checkByCompanyIdAndId(liaisonManId, companyId);
if (liaisonMan == null){
throw new JeroBootException(payCaseCouncilSubitem.getContactsName() + "企业联系人不存在");
}
LambdaQueryWrapper<TbMemberProjectSubitem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(TbMemberProjectSubitem::getProjectId, projectId);
wrapper.eq(TbMemberProjectSubitem::getCompanyId, companyId);
int count = memberProjectSubitemService.count(wrapper);
if (count > 0) {
throw new JeroBootException(payCaseCouncilSubitem.getCompanyName() + "会员单位已经存在");
}
TbMemberProjectSubitem tbMemberProjectSubitem = new TbMemberProjectSubitem();
tbMemberProjectSubitem.setProjectId(projectId);
tbMemberProjectSubitem.setCompanyId(companyId);
tbMemberProjectSubitem.setCompanyName(payCaseCouncilSubitem.getCompanyName());
tbMemberProjectSubitem.setLiaisonManId(liaisonManId);
tbMemberProjectSubitem.setPostContactId(liaisonManId);
tbMemberProjectSubitem.setEstimatedArrivalDate(DateUtil.date());
tbMemberProjectSubitem.setMemberNature(ProjectCommon.MEMBER_NATURE2);
tbMemberProjectSubitem.setPaymentMethod(PayProjectCommon.CHARGE_WAY3);
tbMemberProjectSubitem.setInvoiceRequirements(ProjectCommon.NEED_INVOICE2);
if (!Objects.isNull(councilChargeStandard)) {
tbMemberProjectSubitem.setAmountReceivable(councilChargeStandard);
}else {
tbMemberProjectSubitem.setAmountReceivable(BigDecimal.ZERO);
}
if (StringUtils.isNotBlank(councilChargeNoticeNo)) {
tbMemberProjectSubitem.setChargeNoticeNo(councilChargeNoticeNo);
}
if (StringUtils.isNotBlank(chargeNoticeFileId)) {
tbMemberProjectSubitem.setChargeNoticeId(chargeNoticeFileId);
}
tbMemberProjectSubitem.setTaxRate(StaticConfig.TAX_RATE);
BigDecimal noTaxAmount = tbMemberProjectSubitem.getAmountReceivable().divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
BigDecimal tax = tbMemberProjectSubitem.getAmountReceivable().subtract(noTaxAmount);
tbMemberProjectSubitem.setNoTaxAmount(noTaxAmount);
tbMemberProjectSubitem.setTax(tax);
setDefaultCreateValue(tbMemberProjectSubitem);
//赋值会员编号
TbMemberProjectSubitem takeEffectInfo = memberProjectSubitemService.getTakeEffectInfo(companyId);
if (takeEffectInfo!=null){
tbMemberProjectSubitem.setMemberNo(takeEffectInfo.getMemberNo());
}
tbMemberProjectSubitems.add(tbMemberProjectSubitem);
}
memberProjectSubitemService.saveBatch(tbMemberProjectSubitems);
}
/**
* 创建时默认值
*/
private void setDefaultCreateValue(TbMemberProjectSubitem tbMemberProjectSubitem) {
//实收金额
tbMemberProjectSubitem.setPaidAmount(BigDecimal.ZERO);
//到账
tbMemberProjectSubitem.setInAccount(PayProjectCommon.IN_ACCOUNT0);
//开票
tbMemberProjectSubitem.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
//邮寄
tbMemberProjectSubitem.setMail(PayProjectCommon.MAIL0);
//打包
tbMemberProjectSubitem.setPack(PayProjectCommon.PACKAGING0);
//提票
tbMemberProjectSubitem.setTicketCollection(PayProjectCommon.NO);
//会员状态
tbMemberProjectSubitem.setMemberStatus(MemberStatusEnum.UNPAID_FEES.getValue());
//缴费状态
tbMemberProjectSubitem.setPaymentStatus(PaymentStatusEnum.TO_BE_UPLOADED.getCode());
}
}
@@ -78,7 +78,8 @@ public class PayDraftingGroupController extends JeroController<PayDraftingGroup,
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (StringUtils.isNotBlank(sysUser.getRoleCode())) {
List<String> roleCodes = new ArrayList<>(Arrays.asList(sysUser.getRoleCode().split(",")));
if (!(roleCodes.contains(constant.ADMIN))) {
//管理员和财务查询全部其余角色查询自己的
if(!roleCodes.contains(constant.ADMIN)&&!roleCodes.contains(constant.CWRY)){
payDraftingGroup.setPrincipalA(sysUser.getId());
payDraftingGroup.setPrincipalB(sysUser.getId());
}
@@ -12,6 +12,7 @@ import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.company.vo.CompanyInfoVO;
import com.jero.drafting.common.DraftingConstant;
import com.jero.drafting.entity.PayDraftingGroup;
import com.jero.drafting.entity.PayDraftingGroupSubItem;
@@ -23,7 +24,6 @@ import com.jero.drafting.vo.CheckVo;
import com.jero.drafting.vo.PayDraftingGroupSubItemExcel;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import com.jero.project.entity.PayWorkingGroupSubItemContacts;
import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import io.swagger.annotations.Api;
@@ -431,22 +431,21 @@ public class PayDraftingGroupSubItemController extends JeroController<PayDraftin
// 拿到该名成员对应的联系人的id的list
List<String> listIds = listPayDraftingGroupSubItemContacts.stream().map(PayDraftingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
// 拿到所有联系人信息对应的详情信息
List<PayContactsManagementTemporary> listPayContactsManagementTemporary = payContactsManagementTemporaryService.listByIds(listIds);
for (int i = 0; i < listPayDraftingGroupSubItemContacts.size(); i++) {
PayDraftingGroupSubItemContacts payDraftingGroupSubItemContacts = listPayDraftingGroupSubItemContacts.get(i);
PayDraftingGroupSubItemContacts contacts = listPayDraftingGroupSubItemContacts.get(i);
// 拿到该联系人的详情信息
List<PayContactsManagementTemporary> temporary = listPayContactsManagementTemporary.stream().filter(s->Objects.equals(s.getId(),payDraftingGroupSubItemContacts.getContactsTemporaryId())).collect(Collectors.toList());
PayContactsManagementTemporary temporary = payContactsManagementTemporaryService.getByAllTable(contacts.getContactsId(), contacts.getContactsTemporaryId());
String email = "";
String phone = "";
String name = payDraftingGroupSubItemContacts.getContactsTemporaryName();
String remark = payDraftingGroupSubItemContacts.getRemarks();
if(!CollectionUtils.isEmpty(temporary)){
email = temporary.get(0).getEmail();
String name = contacts.getContactsTemporaryName();
String remark = contacts.getRemarks();
if(temporary != null){
email = temporary.getEmail();
// 解密
if (StringUtils.isNotBlank(email)){
email = PasswordUtil.decrypt(email);
}
phone = temporary.get(0).getPhone();
phone = temporary.getPhone();
if (StringUtils.isNotBlank(phone)){
phone = PasswordUtil.decrypt(phone);
}
@@ -512,6 +511,57 @@ public class PayDraftingGroupSubItemController extends JeroController<PayDraftin
excel.setContactsEmailTen(email);
excel.setContactsPhoneTen(phone);
break;
case 10:
excel.setContactsName11(name);
excel.setRemarks11(remark);
excel.setContactsEmail11(email);
excel.setContactsPhone11(phone);
case 11:
excel.setContactsName12(name);
excel.setRemarks12(remark);
excel.setContactsEmail12(email);
excel.setContactsPhone12(phone);
case 12:
excel.setContactsName13(name);
excel.setRemarks13(remark);
excel.setContactsEmail13(email);
excel.setContactsPhone13(phone);
case 13:
excel.setContactsName14(name);
excel.setRemarks14(remark);
excel.setContactsEmail14(email);
excel.setContactsPhone14(phone);
case 14:
excel.setContactsName15(name);
excel.setRemarks15(remark);
excel.setContactsEmail15(email);
excel.setContactsPhone15(phone);
case 15:
excel.setContactsName16(name);
excel.setRemarks16(remark);
excel.setContactsEmail16(email);
excel.setContactsPhone16(phone);
case 16:
excel.setContactsName17(name);
excel.setRemarks17(remark);
excel.setContactsEmail17(email);
excel.setContactsPhone17(phone);
case 17:
excel.setContactsName18(name);
excel.setRemarks18(remark);
excel.setContactsEmail18(email);
excel.setContactsPhone18(phone);
case 18:
excel.setContactsName19(name);
excel.setRemarks19(remark);
excel.setContactsEmail19(email);
excel.setContactsPhone19(phone);
case 19:
excel.setContactsName20(name);
excel.setRemarks20(remark);
excel.setContactsEmail20(email);
excel.setContactsPhone20(phone);
break;
default:break;
}
}
@@ -585,4 +635,15 @@ public class PayDraftingGroupSubItemController extends JeroController<PayDraftin
payDraftingGroupSubItemService.addPayDraftingGroupSubItem(payDraftingGroupSubItem);
return Result.OK("添加成功!");
}
/**
* 通过起草组id和参会人id查询企业信息和所有联系人信息
*/
@ApiOperation(value = "通过起草组id和企业id查询企业信息和所有联系人信息")
@GetMapping(value = "/queryInfoByDraftIdAndCompanyId")
public Result<CompanyInfoVO> queryInfoByDraftIdAndCompanyId(@RequestParam(name = "draftId") String draftId,
@RequestParam(name = "companyId") String companyId) {
CompanyInfoVO companyInfoVO = payDraftingGroupSubItemService.queryInfoByDraftIdAndCompanyId(draftId, companyId);
return Result.OK(companyInfoVO);
}
}
@@ -410,6 +410,257 @@ public class PayDraftingGroupSubItem implements Serializable {
@TableField(exist = false)
private String remarksTen;
/**
* 企业联系人名称11
*/
@TableField(exist = false)
@Excel(name = "企业联系人11", width = 15)
private String contactsName11;
/**
* 企业联系人手机号11
*/
@TableField(exist = false)
@Excel(name = "企业联系人手机号11", width = 17)
private String contactsPhone11;
/**
* 企业联系人邮箱11
*/
@TableField(exist = false)
@Excel(name = "企业联系人邮箱11", width = 15)
private String contactsEmail11;
/**
* 联系人备注11
*/
@TableField(exist = false)
@Excel(name = "联系人备注11", width = 15)
@Size(max = 50,message = "联系人备注11长度不能大于50个字符")
private String remarks11;
/**
* 企业联系人名称12
*/
@TableField(exist = false)
@Excel(name = "企业联系人12", width = 15)
private String contactsName12;
/**
* 企业联系人手机号12
*/
@TableField(exist = false)
@Excel(name = "企业联系人手机号12", width = 17)
private String contactsPhone12;
/**
* 企业联系人邮箱12
*/
@TableField(exist = false)
@Excel(name = "企业联系人邮箱12", width = 15)
private String contactsEmail12;
/**
* 联系人备注12
*/
@TableField(exist = false)
@Excel(name = "联系人备注12", width = 15)
@Size(max = 50,message = "联系人备注12长度不能大于50个字符")
private String remarks12;
/**
* 企业联系人名称13
*/
@TableField(exist = false)
@Excel(name = "企业联系人13", width = 15)
private String contactsName13;
/**
* 企业联系人手机号13
*/
@TableField(exist = false)
@Excel(name = "企业联系人手机号13", width = 17)
private String contactsPhone13;
/**
* 企业联系人邮箱13
*/
@TableField(exist = false)
@Excel(name = "企业联系人邮箱13", width = 15)
private String contactsEmail13;
/**
* 联系人备注13
*/
@TableField(exist = false)
@Excel(name = "联系人备注13", width = 15)
@Size(max = 50,message = "联系人备注13长度不能大于50个字符")
private String remarks13;
/**
* 企业联系人名称14
*/
@TableField(exist = false)
@Excel(name = "企业联系人14", width = 15)
private String contactsName14;
/**
* 企业联系人手机号14
*/
@TableField(exist = false)
@Excel(name = "企业联系人手机号14", width = 17)
private String contactsPhone14;
/**
* 企业联系人邮箱14
*/
@TableField(exist = false)
@Excel(name = "企业联系人邮箱14", width = 15)
private String contactsEmail14;
/**
* 联系人备注14
*/
@TableField(exist = false)
@Excel(name = "联系人备注14", width = 15)
@Size(max = 50,message = "联系人备注14长度不能大于50个字符")
private String remarks14;
/**
* 企业联系人名称15
*/
@TableField(exist = false)
@Excel(name = "企业联系人15", width = 15)
private String contactsName15;
/**
* 企业联系人手机号15
*/
@TableField(exist = false)
@Excel(name = "企业联系人手机号15", width = 17)
private String contactsPhone15;
/**
* 企业联系人邮箱15
*/
@TableField(exist = false)
@Excel(name = "企业联系人邮箱15", width = 15)
private String contactsEmail15;
/**
* 联系人备注15
*/
@TableField(exist = false)
@Excel(name = "联系人备注15", width = 15)
@Size(max = 50,message = "联系人备注15长度不能大于50个字符")
private String remarks15;
/**
* 企业联系人名称16
*/
@TableField(exist = false)
@Excel(name = "企业联系人16", width = 15)
private String contactsName16;
/**
* 企业联系人手机号16
*/
@TableField(exist = false)
@Excel(name = "企业联系人手机号16", width = 17)
private String contactsPhone16;
/**
* 企业联系人邮箱16
*/
@TableField(exist = false)
@Excel(name = "企业联系人邮箱16", width = 15)
private String contactsEmail16;
/**
* 联系人备注16
*/
@TableField(exist = false)
@Excel(name = "联系人备注16", width = 15)
@Size(max = 50,message = "联系人备注16长度不能大于50个字符")
private String remarks16;
/**
* 企业联系人名称17
*/
@TableField(exist = false)
@Excel(name = "企业联系人17", width = 15)
private String contactsName17;
/**
* 企业联系人手机号17
*/
@TableField(exist = false)
@Excel(name = "企业联系人手机号17", width = 17)
private String contactsPhone17;
/**
* 企业联系人邮箱17
*/
@TableField(exist = false)
@Excel(name = "企业联系人邮箱17", width = 15)
private String contactsEmail17;
/**
* 联系人备注17
*/
@TableField(exist = false)
@Excel(name = "联系人备注17", width = 15)
@Size(max = 50,message = "联系人备注17长度不能大于50个字符")
private String remarks17;
/**
* 企业联系人名称18
*/
@TableField(exist = false)
@Excel(name = "企业联系人18", width = 15)
private String contactsName18;
/**
* 企业联系人手机号18
*/
@TableField(exist = false)
@Excel(name = "企业联系人手机号18", width = 17)
private String contactsPhone18;
/**
* 企业联系人邮箱18
*/
@TableField(exist = false)
@Excel(name = "企业联系人邮箱18", width = 15)
private String contactsEmail18;
/**
* 联系人备注18
*/
@TableField(exist = false)
@Excel(name = "联系人备注18", width = 15)
@Size(max = 50,message = "联系人备注18长度不能大于50个字符")
private String remarks18;
/**
* 企业联系人名称19
*/
@TableField(exist = false)
@Excel(name = "企业联系人19", width = 15)
private String contactsName19;
/**
* 企业联系人手机号19
*/
@TableField(exist = false)
@Excel(name = "企业联系人手机号19", width = 17)
private String contactsPhone19;
/**
* 企业联系人邮箱19
*/
@TableField(exist = false)
@Excel(name = "企业联系人邮箱19", width = 15)
private String contactsEmail19;
/**
* 联系人备注19
*/
@TableField(exist = false)
@Excel(name = "联系人备注19", width = 15)
@Size(max = 50,message = "联系人备注19长度不能大于50个字符")
private String remarks19;
/**
* 企业联系人名称20
*/
@TableField(exist = false)
@Excel(name = "企业联系人20", width = 15)
private String contactsName20;
/**
* 企业联系人手机号20
*/
@TableField(exist = false)
@Excel(name = "企业联系人手机号20", width = 17)
private String contactsPhone20;
/**
* 企业联系人邮箱20
*/
@TableField(exist = false)
@Excel(name = "企业联系人邮箱20", width = 15)
private String contactsEmail20;
/**
* 联系人备注20
*/
@TableField(exist = false)
@Excel(name = "联系人备注20", width = 15)
@Size(max = 50,message = "联系人备注20长度不能大于50个字符")
private String remarks20;
/**已提醒*/
@TableField(exist = false)
@@ -35,8 +35,7 @@
pdgs.create_time AS createTime,
pdgs.update_by AS updateBy
FROM pay_drafting_group_subitem pdgs
left join pay_company_management_temporary pcmt on pdgs.charge_company_temporary_id = pcmt.id
left join pay_company_management pcm on pcmt.company_id = pcm.id
left join pay_company_management pcm on pdgs.charge_company_id = pcm.id
<where>
pdgs.drafting_group_id = #{payDraftingGroupSubItem.draftingGroupId} AND (pdgs.check_result = 1 OR pdgs.check_result = 2)
<if test="payDraftingGroupSubItem.chargeCompanyTemporaryName != null and payDraftingGroupSubItem.chargeCompanyTemporaryName != ''">
@@ -3,6 +3,7 @@ package com.jero.drafting.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.company.vo.CompanyInfoVO;
import com.jero.drafting.entity.PayDraftingGroupSubItem;
import com.jero.drafting.vo.CheckVo;
@@ -34,6 +35,8 @@ public interface IPayDraftingGroupSubItemService extends IService<PayDraftingGro
*/
void addPayDraftingGroupSubItem(PayDraftingGroupSubItem payDraftingGroupSubItem);
CompanyInfoVO queryInfoByDraftIdAndCompanyId(String draftId, String companyId);
/**
* 根据id删除
* @param id
@@ -15,7 +15,6 @@ import com.jero.common.service.RolePermissionService;
import com.jero.common.system.vo.LoginUser;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.drafting.common.DraftingConstant;
import com.jero.drafting.entity.PayDraftingGroup;
import com.jero.drafting.entity.PayDraftingGroupResearchProject;
import com.jero.drafting.entity.PayDraftingGroupSubItem;
@@ -331,7 +330,7 @@ public class PayDraftingGroupServiceImpl extends ServiceImpl<PayDraftingGroupMap
// 添加企业临时数据
PayCompanyManagementTemporary payCompanyManagementTemporary = payCompanyManagementTemporaryService.getById(p.getChargeCompanyTemporaryId());
if(Objects.isNull(payCompanyManagementTemporary)){
payCompanyManagementTemporary = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(p.getChargeCompanyId());
payCompanyManagementTemporary = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(p.getChargeCompanyId(), null);
}else{
payCompanyManagementTemporary.setCompanyId(payCompanyManagementTemporary.getCompanyId());
payCompanyManagementTemporary.setId(null);
@@ -356,7 +355,7 @@ public class PayDraftingGroupServiceImpl extends ServiceImpl<PayDraftingGroupMap
for (PayDraftingGroupSubItemContacts subItemContacts : itemContactsList) {
PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getById(subItemContacts.getContactsTemporaryId());
if(Objects.isNull(payContactsManagementTemporary)){
payContactsManagementTemporary = payContactsManagementTemporaryService.insertContactsManagementTemporary(subItemContacts.getContactsId());
payContactsManagementTemporary = payContactsManagementTemporaryService.insertContactsManagementTemporary(subItemContacts.getContactsId(), null);
}else{
payContactsManagementTemporary.setId(null);
payContactsManagementTemporary.setCompanyId(p.getChargeCompanyTemporaryId());
@@ -11,13 +11,16 @@ import com.jero.common.dto.PaySendContactsMessageDTO;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.ContractCreateProjectSendMessageService;
import com.jero.common.service.RolePermissionService;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.ImportExcelUtil;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.company.vo.CompanyInfoVO;
import com.jero.drafting.common.DraftingConstant;
import com.jero.drafting.entity.PayDraftingGroup;
import com.jero.drafting.entity.PayDraftingGroupSubItem;
@@ -28,6 +31,7 @@ import com.jero.drafting.service.IPayDraftingGroupService;
import com.jero.drafting.service.IPayDraftingGroupSubItemContactsService;
import com.jero.drafting.service.IPayDraftingGroupSubItemService;
import com.jero.drafting.vo.CheckVo;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
@@ -37,6 +41,7 @@ import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.checkerframework.checker.units.qual.Prefix;
import org.jeecgframework.poi.excel.ExcelImportCheckUtil;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.entity.ImportParams;
@@ -50,6 +55,8 @@ import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.stream.Collectors;
import static org.checkerframework.checker.units.qual.Prefix.one;
/**
* <p>
* 起草组成员表 服务实现类
@@ -86,6 +93,8 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
private PayDraftingGroupSubItemContactsMapper payDraftingGroupSubItemContactsMapper;
@Resource
private ContractCreateProjectSendMessageService contractCreateProjectSendMessageService;
@Resource
private ISysBaseAPI sysBaseAPI;
/**
* 分页查询
@@ -207,7 +216,46 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
}
}
}
@Override
public CompanyInfoVO queryInfoByDraftIdAndCompanyId(String draftId, String companyId) {
LambdaQueryWrapper<PayDraftingGroupSubItem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayDraftingGroupSubItem::getDraftingGroupId, draftId);
wrapper.eq(PayDraftingGroupSubItem::getChargeCompanyId, companyId);
PayDraftingGroupSubItem one = payDraftingGroupSubItemService.getOne(wrapper);
if (one == null){
return null;
}
CompanyInfoVO companyInfoVO = new CompanyInfoVO();
//查询企业信息
String draftingGroupSubId = one.getId();
PayCompanyManagement companyManagement = payCompanyManagementService.getById(companyId);
companyManagement.setCompanyPhone(PasswordUtil.decrypt(companyManagement.getCompanyPhone()));
companyInfoVO.setCompanyManagement(companyManagement);
//查询联系人信息
LambdaQueryWrapper<PayDraftingGroupSubItemContacts> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(PayDraftingGroupSubItemContacts::getDraftingGroupId, draftId);
wrapper1.eq(PayDraftingGroupSubItemContacts::getDraftingGroupSubId, draftingGroupSubId);
List<PayDraftingGroupSubItemContacts> subItemContactsList = payDraftingGroupSubItemContactsService.list(wrapper1);
List<String> contactIdList = subItemContactsList.stream().map(PayDraftingGroupSubItemContacts::getContactsId).collect(Collectors.toList());
List<PayContactsManagement> contactsManagementList = payContactsManagementService.listByIds(contactIdList);
for (PayContactsManagement contactsManagement : contactsManagementList) {
String phone = contactsManagement.getPhone();
if (StringUtils.isNotBlank(phone)){
contactsManagement.setPhone(PasswordUtil.decrypt(phone));
}
String email = contactsManagement.getEmail();
if (StringUtils.isNotBlank(email)){
contactsManagement.setEmail(PasswordUtil.decrypt(email));
}
String gender = contactsManagement.getGender();
if (StringUtils.isNotBlank(gender)){
contactsManagement.setGender(sysBaseAPI.translateDict("sex", gender));
}
}
companyInfoVO.setContactsManagementList(contactsManagementList);
return companyInfoVO;
}
/**
* 插入企业信息联系人信息到临时表更新项目记录
*
@@ -215,7 +263,7 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
*/
private void setPayDraftingGroupSubItemAdd(PayDraftingGroupSubItem payDraftingGroupSubItem) {
// 企业
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payDraftingGroupSubItem.getChargeCompanyId());
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payDraftingGroupSubItem.getChargeCompanyId(), null);
if (Objects.isNull(chargeCompanyName)) {
throw new JeroBootException("企业名称为空!");
}
@@ -225,7 +273,7 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
if (!CollectionUtils.isEmpty(payDraftingGroupSubItemContactsList)) {
for (int i = 0; i < payDraftingGroupSubItemContactsList.size(); i++) {
// 企业联系人
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payDraftingGroupSubItemContactsList.get(i).getContactsId());
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payDraftingGroupSubItemContactsList.get(i).getContactsId(), null);
if (Objects.isNull(contactsName)) {
throw new JeroBootException("企业联系人" + (i + 1) + "名称为空!");
}
@@ -275,10 +323,10 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
throw new JeroBootException("起草组成员不可操作!");
}
// 删除企业联系人临时数据
payCompanyManagementTemporaryService.removeById(payDraftingGroupSubItem.getChargeCompanyTemporaryId());
//payCompanyManagementTemporaryService.removeById(payDraftingGroupSubItem.getChargeCompanyTemporaryId());
List<PayDraftingGroupSubItemContacts> subItemContacts = payDraftingGroupSubItemContactsMapper.getSubItemContacts(id);
List<String> temporaryIds = subItemContacts.stream().map(PayDraftingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
payContactsManagementTemporaryService.removeByIds(temporaryIds);
// paycontactsManagementTemporaryService.removeByIds(temporaryIds);
}
/**
@@ -439,13 +487,13 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
private void setPayDraftingGroupSubItemEdit(PayDraftingGroupSubItem payDraftingGroupSubItem, PayDraftingGroupSubItem payDraftingGroupSubItemOld) {
if (!Objects.equals(payDraftingGroupSubItemOld.getChargeCompanyTemporaryId(), payDraftingGroupSubItem.getChargeCompanyId())) {
// 企业信息
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payDraftingGroupSubItem.getChargeCompanyId());
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payDraftingGroupSubItem.getChargeCompanyId(), null);
if (Objects.isNull(chargeCompanyName)) {
throw new JeroBootException("企业名称为空!");
}
payDraftingGroupSubItem.setChargeCompanyTemporaryId(chargeCompanyName.getId());
payDraftingGroupSubItem.setChargeCompanyTemporaryName(chargeCompanyName.getCompanyName());
payCompanyManagementTemporaryService.removeById(payDraftingGroupSubItemOld.getChargeCompanyTemporaryId());
//payCompanyManagementTemporaryService.removeById(payDraftingGroupSubItemOld.getChargeCompanyTemporaryId());
} else {
payDraftingGroupSubItem.setChargeCompanyId(payDraftingGroupSubItemOld.getChargeCompanyId());
}
@@ -455,7 +503,7 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
// 删除临时表历史记录
if (!CollectionUtils.isEmpty(payDraftingGroupSubItemOld.getPayDraftingGroupSubItemContactsList())) {
List<String> list = payDraftingGroupSubItemOld.getPayDraftingGroupSubItemContactsList().stream().map(PayDraftingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
payContactsManagementTemporaryService.removeByIds(list);
// paycontactsManagementTemporaryService.removeByIds(list);
}
// 删除联系人记录
LambdaUpdateWrapper<PayDraftingGroupSubItemContacts> updatePayDraftingGroupSubItemContacts = new LambdaUpdateWrapper<>();
@@ -464,7 +512,7 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
// 新增
for (int i = 0; i < payDraftingGroupSubItemContactsList.size(); i++) {
// 企业联系人
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payDraftingGroupSubItemContactsList.get(i).getContactsId());
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payDraftingGroupSubItemContactsList.get(i).getContactsId(), null);
if (Objects.isNull(contactsName)) {
throw new JeroBootException("企业联系人" + (i + 1) + "名称为空!");
}
@@ -501,6 +549,7 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
throw new JeroBootException("请导入excel文件!");
}
ImportParams params = new ImportParams();
params.setSheetNum(1);
params.setTitleRows(1);
params.setHeadRows(1);
try {
@@ -578,6 +627,57 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
if(!CollectionUtils.isEmpty(listContactsName10)){
listContactsName.addAll(listContactsName10);
}
// 获取excel中联系人11名称
List<String> listContactsName11 = list.stream().map(PayDraftingGroupSubItem::getContactsName11).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listContactsName11)){
listContactsName.addAll(listContactsName11);
}
// 获取excel中联系人12名称
List<String> listContactsName12 = list.stream().map(PayDraftingGroupSubItem::getContactsName12).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listContactsName12)){
listContactsName.addAll(listContactsName12);
}
// 获取excel中联系人13名称
List<String> listContactsName13 = list.stream().map(PayDraftingGroupSubItem::getContactsName13).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listContactsName13)){
listContactsName.addAll(listContactsName13);
}
// 获取excel中联系人14名称
List<String> listContactsName14 = list.stream().map(PayDraftingGroupSubItem::getContactsName14).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listContactsName14)){
listContactsName.addAll(listContactsName14);
}
// 获取excel中联系人15名称
List<String> listContactsName15 = list.stream().map(PayDraftingGroupSubItem::getContactsName15).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listContactsName15)){
listContactsName.addAll(listContactsName15);
}
// 获取excel中联系人16名称
List<String> listContactsName16 = list.stream().map(PayDraftingGroupSubItem::getContactsName16).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listContactsName16)){
listContactsName.addAll(listContactsName16);
}
// 获取excel中联系人17名称
List<String> listContactsName17 = list.stream().map(PayDraftingGroupSubItem::getContactsName17).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listContactsName17)){
listContactsName.addAll(listContactsName17);
}
// 获取excel中联系人18名称
List<String> listContactsName18 = list.stream().map(PayDraftingGroupSubItem::getContactsName18).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listContactsName18)){
listContactsName.addAll(listContactsName18);
}
// 获取excel中联系人19名称
List<String> listContactsName19 = list.stream().map(PayDraftingGroupSubItem::getContactsName19).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listContactsName19)){
listContactsName.addAll(listContactsName19);
}
// 获取excel中联系人20名称
List<String> listContactsName20 = list.stream().map(PayDraftingGroupSubItem::getContactsName20).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listContactsName20)){
listContactsName.addAll(listContactsName20);
}
// 获取excel联系人信息
LambdaQueryWrapper<PayContactsManagement> contactsWrapper = new LambdaQueryWrapper<>();
contactsWrapper.in(PayContactsManagement::getName,listContactsName);
@@ -685,6 +785,16 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
arrayList.add(p.getRemarksEight());
arrayList.add(p.getRemarksNine());
arrayList.add(p.getRemarksTen());
arrayList.add(p.getRemarks11());
arrayList.add(p.getRemarks12());
arrayList.add(p.getRemarks13());
arrayList.add(p.getRemarks14());
arrayList.add(p.getRemarks15());
arrayList.add(p.getRemarks16());
arrayList.add(p.getRemarks17());
arrayList.add(p.getRemarks18());
arrayList.add(p.getRemarks19());
arrayList.add(p.getRemarks20());
return arrayList;
}
@@ -743,6 +853,46 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
PayDraftingGroupSubItemContacts payDraftingGroupSubItemContacts = setContactsId(msg,p.getContactsNameTen(),10,count,listCompany,listContactsInfo,map);
list.add(payDraftingGroupSubItemContacts);
}
if(!StringUtils.isBlank(p.getContactsName11())){
PayDraftingGroupSubItemContacts payDraftingGroupSubItemContacts = setContactsId(msg,p.getContactsName11(),11,count,listCompany,listContactsInfo,map);
list.add(payDraftingGroupSubItemContacts);
}
if(!StringUtils.isBlank(p.getContactsName12())){
PayDraftingGroupSubItemContacts payDraftingGroupSubItemContacts = setContactsId(msg,p.getContactsName12(),12,count,listCompany,listContactsInfo,map);
list.add(payDraftingGroupSubItemContacts);
}
if(!StringUtils.isBlank(p.getContactsName13())){
PayDraftingGroupSubItemContacts payDraftingGroupSubItemContacts = setContactsId(msg,p.getContactsName13(),13,count,listCompany,listContactsInfo,map);
list.add(payDraftingGroupSubItemContacts);
}
if(!StringUtils.isBlank(p.getContactsName14())){
PayDraftingGroupSubItemContacts payDraftingGroupSubItemContacts = setContactsId(msg,p.getContactsName14(),14,count,listCompany,listContactsInfo,map);
list.add(payDraftingGroupSubItemContacts);
}
if(!StringUtils.isBlank(p.getContactsName15())){
PayDraftingGroupSubItemContacts payDraftingGroupSubItemContacts = setContactsId(msg,p.getContactsName15(),15,count,listCompany,listContactsInfo,map);
list.add(payDraftingGroupSubItemContacts);
}
if(!StringUtils.isBlank(p.getContactsName16())){
PayDraftingGroupSubItemContacts payDraftingGroupSubItemContacts = setContactsId(msg,p.getContactsName16(),16,count,listCompany,listContactsInfo,map);
list.add(payDraftingGroupSubItemContacts);
}
if(!StringUtils.isBlank(p.getContactsName17())){
PayDraftingGroupSubItemContacts payDraftingGroupSubItemContacts = setContactsId(msg,p.getContactsName17(),17,count,listCompany,listContactsInfo,map);
list.add(payDraftingGroupSubItemContacts);
}
if(!StringUtils.isBlank(p.getContactsName18())){
PayDraftingGroupSubItemContacts payDraftingGroupSubItemContacts = setContactsId(msg,p.getContactsName18(),18,count,listCompany,listContactsInfo,map);
list.add(payDraftingGroupSubItemContacts);
}
if(!StringUtils.isBlank(p.getContactsName19())){
PayDraftingGroupSubItemContacts payDraftingGroupSubItemContacts = setContactsId(msg,p.getContactsName19(),19,count,listCompany,listContactsInfo,map);
list.add(payDraftingGroupSubItemContacts);
}
if(!StringUtils.isBlank(p.getContactsName20())){
PayDraftingGroupSubItemContacts payDraftingGroupSubItemContacts = setContactsId(msg,p.getContactsName20(),20,count,listCompany,listContactsInfo,map);
list.add(payDraftingGroupSubItemContacts);
}
return list;
}
@@ -787,36 +937,39 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
*/
@Override
public void checkRegister(CheckVo checkVO) {
String payDraftingGroupSubItemId = checkVO.getId();
String payDraftingGroupSubItemIds = checkVO.getId();
String checkRemark = checkVO.getCheckRemark();
Integer checkResult = checkVO.getCheckResult();
PayDraftingGroupSubItem payDraftingGroupSubItem = payDraftingGroupSubItemService.getById(payDraftingGroupSubItemId);
PayDraftingGroup payDraftingGroup = payDraftingGroupService.getById(payDraftingGroupSubItem.getDraftingGroupId());
//判断是否有权限审核
verificationGuests(payDraftingGroupSubItem);
if(Objects.equals(checkVO.getCheckResult(),DraftingConstant.CHECK_PASS)) {
// 审核通过,将状态改为2 发送消息
LambdaUpdateWrapper<PayDraftingGroupSubItem> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(PayDraftingGroupSubItem::getId,payDraftingGroupSubItemId);
updateWrapper.set(StringUtils.isNotBlank(checkRemark),PayDraftingGroupSubItem::getCheckRemark,checkRemark);
updateWrapper.set(!Objects.isNull(checkResult),PayDraftingGroupSubItem::getCheckResult,checkResult);
payDraftingGroupSubItemService.update(updateWrapper);
for (String payDraftingGroupSubItemId : payDraftingGroupSubItemIds.split(",")) {
PayDraftingGroupSubItem payDraftingGroupSubItem = payDraftingGroupSubItemService.getById(payDraftingGroupSubItemId);
PayDraftingGroup payDraftingGroup = payDraftingGroupService.getById(payDraftingGroupSubItem.getDraftingGroupId());
//判断是否有权限审核
verificationGuests(payDraftingGroupSubItem);
if(Objects.equals(checkVO.getCheckResult(),DraftingConstant.CHECK_PASS)) {
// 审核通过,将状态改为2 发送消息
LambdaUpdateWrapper<PayDraftingGroupSubItem> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(PayDraftingGroupSubItem::getId,payDraftingGroupSubItemId);
updateWrapper.set(StringUtils.isNotBlank(checkRemark),PayDraftingGroupSubItem::getCheckRemark,checkRemark);
updateWrapper.set(!Objects.isNull(checkResult),PayDraftingGroupSubItem::getCheckResult,checkResult);
payDraftingGroupSubItemService.update(updateWrapper);
LambdaQueryWrapper<PayDraftingGroupSubItemContacts> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayDraftingGroupSubItemContacts::getDraftingGroupId,payDraftingGroupSubItem.getDraftingGroupId());
queryWrapper.eq(PayDraftingGroupSubItemContacts::getDraftingGroupSubId,payDraftingGroupSubItem.getId());
List<PayDraftingGroupSubItemContacts> payDraftingGroupSubItemContactsList = payDraftingGroupSubItemContactsService.list(queryWrapper);
sendMessage(payDraftingGroupSubItem,payDraftingGroup,payDraftingGroupSubItemContactsList);
}
if(Objects.equals(checkVO.getCheckResult(),DraftingConstant.CHECK_REJECTION)) {
// 直接将数据删除
payDraftingGroupSubItemService.removeById(payDraftingGroupSubItemId);
// 删除对应的联系表
LambdaQueryWrapper<PayDraftingGroupSubItemContacts> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayDraftingGroupSubItemContacts::getDraftingGroupId,payDraftingGroupSubItem.getDraftingGroupId());
queryWrapper.eq(PayDraftingGroupSubItemContacts::getDraftingGroupSubId,payDraftingGroupSubItem.getId());
payDraftingGroupSubItemContactsService.remove(queryWrapper);
LambdaQueryWrapper<PayDraftingGroupSubItemContacts> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayDraftingGroupSubItemContacts::getDraftingGroupId,payDraftingGroupSubItem.getDraftingGroupId());
queryWrapper.eq(PayDraftingGroupSubItemContacts::getDraftingGroupSubId,payDraftingGroupSubItem.getId());
List<PayDraftingGroupSubItemContacts> payDraftingGroupSubItemContactsList = payDraftingGroupSubItemContactsService.list(queryWrapper);
sendMessage(payDraftingGroupSubItem,payDraftingGroup,payDraftingGroupSubItemContactsList);
}
if(Objects.equals(checkVO.getCheckResult(),DraftingConstant.CHECK_REJECTION)) {
// 直接将数据删除
payDraftingGroupSubItemService.removeById(payDraftingGroupSubItemId);
// 删除对应的联系表
LambdaQueryWrapper<PayDraftingGroupSubItemContacts> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayDraftingGroupSubItemContacts::getDraftingGroupId,payDraftingGroupSubItem.getDraftingGroupId());
queryWrapper.eq(PayDraftingGroupSubItemContacts::getDraftingGroupSubId,payDraftingGroupSubItem.getId());
payDraftingGroupSubItemContactsService.remove(queryWrapper);
}
}
}
/**
@@ -13,7 +13,7 @@ public class CheckVo {
@ApiModelProperty("审核说明")
private String checkRemark;
@ApiModelProperty("起草组id")
@ApiModelProperty("起草组成员ids")
private String id;
}
@@ -250,4 +250,206 @@ public class PayDraftingGroupSubItemExcel implements Serializable {
@Excel(name = "联系人10备注", width = 15)
@ApiModelProperty(value = "联系人10备注")
private String remarksTen;
/**
* 企业联系人名称11
*/
@Excel(name = "企业联系人11", width = 15)
private String contactsName11;
/**
* 企业联系人手机号11
*/
@Excel(name = "企业联系人手机号11", width = 17)
private String contactsPhone11;
/**
* 企业联系人邮箱11
*/
@Excel(name = "企业联系人邮箱11", width = 15)
private String contactsEmail11;
/**
* 联系人备注11
*/
@Excel(name = "联系人备注11", width = 15)
private String remarks11;
/**
* 企业联系人名称12
*/
@Excel(name = "企业联系人12", width = 15)
private String contactsName12;
/**
* 企业联系人手机号12
*/
@Excel(name = "企业联系人手机号12", width = 17)
private String contactsPhone12;
/**
* 企业联系人邮箱12
*/
@Excel(name = "企业联系人邮箱12", width = 15)
private String contactsEmail12;
/**
* 联系人备注12
*/
@Excel(name = "联系人备注12", width = 15)
private String remarks12;
/**
* 企业联系人名称13
*/
@Excel(name = "企业联系人13", width = 15)
private String contactsName13;
/**
* 企业联系人手机号13
*/
@Excel(name = "企业联系人手机号13", width = 17)
private String contactsPhone13;
/**
* 企业联系人邮箱13
*/
@Excel(name = "企业联系人邮箱13", width = 15)
private String contactsEmail13;
/**
* 联系人备注13
*/
@Excel(name = "联系人备注13", width = 15)
private String remarks13;
/**
* 企业联系人名称14
*/
@Excel(name = "企业联系人14", width = 15)
private String contactsName14;
/**
* 企业联系人手机号14
*/
@Excel(name = "企业联系人手机号14", width = 17)
private String contactsPhone14;
/**
* 企业联系人邮箱14
*/
@Excel(name = "企业联系人邮箱14", width = 15)
private String contactsEmail14;
/**
* 联系人备注14
*/
@Excel(name = "联系人备注14", width = 15)
private String remarks14;
/**
* 企业联系人名称15
*/
@Excel(name = "企业联系人15", width = 15)
private String contactsName15;
/**
* 企业联系人手机号15
*/
@Excel(name = "企业联系人手机号15", width = 17)
private String contactsPhone15;
/**
* 企业联系人邮箱15
*/
@Excel(name = "企业联系人邮箱15", width = 15)
private String contactsEmail15;
/**
* 联系人备注15
*/
@Excel(name = "联系人备注15", width = 15)
private String remarks15;
/**
* 企业联系人名称16
*/
@Excel(name = "企业联系人16", width = 15)
private String contactsName16;
/**
* 企业联系人手机号16
*/
@Excel(name = "企业联系人手机号16", width = 17)
private String contactsPhone16;
/**
* 企业联系人邮箱16
*/
@Excel(name = "企业联系人邮箱16", width = 15)
private String contactsEmail16;
/**
* 联系人备注16
*/
@Excel(name = "联系人备注16", width = 15)
private String remarks16;
/**
* 企业联系人名称17
*/
@Excel(name = "企业联系人17", width = 15)
private String contactsName17;
/**
* 企业联系人手机号17
*/
@Excel(name = "企业联系人手机号17", width = 17)
private String contactsPhone17;
/**
* 企业联系人邮箱17
*/
@Excel(name = "企业联系人邮箱17", width = 15)
private String contactsEmail17;
/**
* 联系人备注17
*/
@Excel(name = "联系人备注17", width = 15)
private String remarks17;
/**
* 企业联系人名称18
*/
@Excel(name = "企业联系人18", width = 15)
private String contactsName18;
/**
* 企业联系人手机号18
*/
@Excel(name = "企业联系人手机号18", width = 17)
private String contactsPhone18;
/**
* 企业联系人邮箱18
*/
@Excel(name = "企业联系人邮箱18", width = 15)
private String contactsEmail18;
/**
* 联系人备注18
*/
@Excel(name = "联系人备注18", width = 15)
private String remarks18;
/**
* 企业联系人名称19
*/
@Excel(name = "企业联系人19", width = 15)
private String contactsName19;
/**
* 企业联系人手机号19
*/
@Excel(name = "企业联系人手机号19", width = 17)
private String contactsPhone19;
/**
* 企业联系人邮箱19
*/
@Excel(name = "企业联系人邮箱19", width = 15)
private String contactsEmail19;
/**
* 联系人备注19
*/
@Excel(name = "联系人备注19", width = 15)
private String remarks19;
/**
* 企业联系人名称20
*/
@Excel(name = "企业联系人20", width = 15)
private String contactsName20;
/**
* 企业联系人手机号20
*/
@Excel(name = "企业联系人手机号20", width = 17)
private String contactsPhone20;
/**
* 企业联系人邮箱20
*/
@Excel(name = "企业联系人邮箱20", width = 15)
private String contactsEmail20;
/**
* 联系人备注20
*/
@Excel(name = "联系人备注20", width = 15)
private String remarks20;
}
@@ -0,0 +1,20 @@
package com.jero.functionalsafetycenter.common;
/**
* @author liJiaRao
* @date 2024-06-25 10:10
*/
public class SafetyCenterCommon {
/**
* 安全中心
*/
public static final int PROJECT_TYPE_1 = 1;
/**
* 研究组
*/
public static final int PROJECT_TYPE_2 = 2;
/**
* 项目组
*/
public static final int PROJECT_TYPE_3 = 3;
}
@@ -0,0 +1,298 @@
package com.jero.functionalsafetycenter.controller;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ArrayUtil;
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.jero.common.api.vo.IdsMapBody;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.oConvertUtils;
import com.jero.functionalsafetycenter.common.SafetyCenterCommon;
import com.jero.functionalsafetycenter.entity.SafetyCenter;
import com.jero.functionalsafetycenter.service.SafetyCenterService;
import com.jero.functionalsafetycenter.vo.SafetyCenterEditVO;
import com.jero.member.entity.TbMemberProjectFile;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* 功能安全中心(pay_functional_safety_center)表控制层
*
* @author xxxxx
*/
@Slf4j
@Api(tags = "功能安全中心")
@RestController
@RequestMapping("SafetyCenter")
public class SafetyCenterController extends JeroController<SafetyCenter, SafetyCenterService> {
/**
* 服务对象
*/
@Resource
private SafetyCenterService safetyCenterService;
/**
* 分页列表查询
*/
@ApiOperation(value = "功能安全中心-分页列表查询", notes = "功能安全中心-分页列表查询")
@RequiresPermissions("safetyCenter:search")
@GetMapping(value = "/page")
public Result<IPage<SafetyCenter>> queryPageList(SafetyCenter safetyCenter,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<SafetyCenter> queryWrapper = QueryGenerator.initQueryWrapper(safetyCenter, req.getParameterMap());
//只查询安全中心和研究组
ArrayList<Object> objects = new ArrayList<>();
objects.add(SafetyCenterCommon.PROJECT_TYPE_1);
objects.add(SafetyCenterCommon.PROJECT_TYPE_2);
queryWrapper.lambda().in(SafetyCenter::getProjectType,objects);
Page<SafetyCenter> page = new Page<>(pageNo, pageSize);
IPage<SafetyCenter> pageList = safetyCenterService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 分页列表查询
*/
@ApiOperation(value = "功能安全中心-项目组分页列表查询", notes = "功能安全中心-分页列表查询")
@RequiresPermissions("safetyCenter:search")
@GetMapping(value = "/projectGroupPage")
public Result<IPage<SafetyCenter>> queryProjectGroupPageList(SafetyCenter safetyCenter,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<SafetyCenter> queryWrapper = QueryGenerator.initQueryWrapper(safetyCenter, req.getParameterMap());
//只查询项目组
queryWrapper.lambda().eq(SafetyCenter::getProjectType,SafetyCenterCommon.PROJECT_TYPE_3);
Page<SafetyCenter> page = new Page<>(pageNo, pageSize);
IPage<SafetyCenter> pageList = safetyCenterService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 功能安全中心-企业端-分页列表查询
* @param pageNo 页数
* @param pageSize 条数
* @return
*/
@ApiOperation(value="功能安全中心-企业端-分页列表查询")
@GetMapping(value = "/queryCompanyPageList")
public Result<?> queryCompanyPageList(SafetyCenter safetyCenter,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
Page<SafetyCenter> page = new Page<>(pageNo, pageSize);
IPage<SafetyCenter> pageList = safetyCenterService.queryCompanyPageList(page, safetyCenter);
return Result.OK(pageList);
}
/**
* 功能安全中心-企业端-分页列表查询
* @param pageNo 页数
* @param pageSize 条数
* @return
*/
@ApiOperation(value="功能安全中心-企业端-项目组分页列表查询")
@GetMapping(value = "/queryCompanyProjectGroupPageList")
public Result<?> queryCompanyProjectGroupPageList(SafetyCenter safetyCenter,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
Page<SafetyCenter> page = new Page<>(pageNo, pageSize);
safetyCenter.setProjectType(SafetyCenterCommon.PROJECT_TYPE_3);
IPage<SafetyCenter> pageList = safetyCenterService.queryCompanyPageList(page, safetyCenter);
return Result.OK(pageList);
}
/**
* 列表查询
*/
@ApiOperation(value = "功能安全中心-列表查询", notes = "功能安全中心-列表查询")
@RequiresPermissions("safetyCenter:search")
@GetMapping(value = "/list")
public Result<List<SafetyCenter>> queryList(SafetyCenter safetyCenter,
HttpServletRequest req) {
QueryWrapper<SafetyCenter> queryWrapper = QueryGenerator.initQueryWrapper(safetyCenter, req.getParameterMap());
List<SafetyCenter> list = safetyCenterService.list(queryWrapper);
return Result.OK(list);
}
/**
* 添加
*/
@AutoLog(value = "功能安全中心-添加研究组")
@ApiOperation(value = "功能安全中心-添加研究组", notes = "功能安全中心-添加")
@RequiresPermissions("safetyCenter:add")
@PostMapping(value = "/add")
public Result<String> add(@Validated @RequestBody SafetyCenter safetyCenter) {
safetyCenter.setProjectType(SafetyCenterCommon.PROJECT_TYPE_2);
safetyCenterService.add(safetyCenter);
return Result.OK(Result.ADD_SUCCESS);
}
/**
* 添加
*/
@AutoLog(value = "功能安全中心-添加项目组")
@ApiOperation(value = "功能安全中心-添加项目组", notes = "功能安全中心-添加项目组")
@RequiresPermissions("safetyCenter:add")
@PostMapping(value = "/addProjectGroup")
public Result<String> addProjectGroup(@Validated @RequestBody SafetyCenter safetyCenter) {
safetyCenter.setProjectType(SafetyCenterCommon.PROJECT_TYPE_3);
safetyCenterService.add(safetyCenter);
return Result.OK(Result.ADD_SUCCESS);
}
/**
* 编辑
*/
@AutoLog(value = "功能安全中心-编辑研究组")
@ApiOperation(value = "功能安全中心-编辑研究组", notes = "功能安全中心-编辑")
@RequiresPermissions("safetyCenter:edit")
@PostMapping(value = "/edit")
public Result<String> edit(@Validated @RequestBody SafetyCenterEditVO safetyCenter) {
safetyCenterService.editById(safetyCenter);
return Result.OK(Result.EDIT_SUCCESS);
}
/**
* 编辑
*/
@AutoLog(value = "功能安全中心-编辑项目组")
@ApiOperation(value = "功能安全中心-编辑项目组", notes = "功能安全中心-编辑")
@RequiresPermissions("safetyCenter:edit")
@PostMapping(value = "/editProjectGroup")
public Result<String> editProjectGroup(@Validated @RequestBody SafetyCenterEditVO safetyCenter) {
safetyCenterService.editById(safetyCenter);
return Result.OK(Result.EDIT_SUCCESS);
}
/**
* 通过id删除
*/
@AutoLog(value = "功能安全中心-通过id删除")
@ApiOperation(value = "功能安全中心-通过id删除", notes = "功能安全中心-通过id删除")
@RequiresPermissions("safetyCenter:delete")
@PostMapping(value = "/delete")
public Result<Object> delete(@RequestBody IdsMapBody map) {
String id = map.getId();
if (StringUtils.isBlank(id)) {
return Result.error(Result.NULL_ID);
}
safetyCenterService.deleteById(id);
return Result.OK(Result.DELETE_SUCCESS);
}
/**
* 批量删除
*/
@AutoLog(value = "功能安全中心-批量删除")
@ApiOperation(value = "功能安全中心-批量删除", notes = "功能安全中心-批量删除")
@RequiresPermissions("safetyCenter:batchDel")
@PostMapping(value = "/deleteBatch")
public Result<Object> deleteBatch(@RequestBody IdsMapBody map) {
String ids = map.getIds();
if (StringUtils.isBlank(ids)) {
return Result.error(Result.NULL_ID);
}
List<String> idList = Arrays.asList(map.getIds().split(","));
this.safetyCenterService.deleteByIds(idList);
return Result.OK(Result.DELETE_SUCCESS);
}
/**
* 通过id查询
*/
@AutoLog(value = "功能安全中心-通过id查询")
@ApiOperation(value = "功能安全中心-通过id查询", notes = "功能安全中心-通过id查询")
@RequiresPermissions("safetyCenter:search")
@GetMapping(value = "/queryById")
public Result<SafetyCenter> queryById(@RequestParam(name = "id") String id) {
SafetyCenter safetyCenter = safetyCenterService.queryById(id);
if (safetyCenter == null) {
throw new JeroBootException(Result.NULL_DATA);
}
return Result.OK(safetyCenter);
}
/**
* 导出excel
*/
@ApiOperation(value = "功能安全中心-导出excel")
@RequiresPermissions("safetyCenter:export")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, SafetyCenter safetyCenter) {
QueryWrapper<SafetyCenter> queryWrapper = QueryGenerator.initQueryWrapper(safetyCenter, request.getParameterMap());
//只查询安全中心和研究组
ArrayList<Object> objects = new ArrayList<>();
objects.add(SafetyCenterCommon.PROJECT_TYPE_1);
objects.add(SafetyCenterCommon.PROJECT_TYPE_2);
queryWrapper.lambda().in(SafetyCenter::getProjectType,objects);
Page<SafetyCenter> page = new Page<>(-1, -1);
IPage<SafetyCenter> pageList = safetyCenterService.page(page, queryWrapper);
List<SafetyCenter> records = pageList.getRecords();
List<SafetyCenter> exportList;
// 过滤选中数据
String selections = request.getParameter("selections");
if (oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
exportList = records.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
}else {
exportList = records;
}
if (exportList.isEmpty()) {
throw new JeroBootException("没有数据");
}
return super.exportListXls(exportList, SafetyCenter.class, "功能安全中心");
}
/**
* 导出excel
*/
@ApiOperation(value = "功能安全中心-导出项目组excel")
@RequiresPermissions("safetyCenter:export")
@GetMapping(value = "/exportProjectGroupXls")
public ModelAndView exportProjectGroupXls(HttpServletRequest request, SafetyCenter safetyCenter) {
QueryWrapper<SafetyCenter> queryWrapper = QueryGenerator.initQueryWrapper(safetyCenter, request.getParameterMap());
//只查询项目组
queryWrapper.lambda().eq(SafetyCenter::getProjectType,SafetyCenterCommon.PROJECT_TYPE_3);
Page<SafetyCenter> page = new Page<>(-1, -1);
IPage<SafetyCenter> pageList = safetyCenterService.page(page, queryWrapper);
List<SafetyCenter> records = pageList.getRecords();
List<SafetyCenter> exportList;
// 过滤选中数据
String selections = request.getParameter("selections");
if (oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
exportList = records.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
}else {
exportList = records;
}
if (exportList.isEmpty()) {
throw new JeroBootException("没有数据");
}
return super.exportListXls(exportList, SafetyCenter.class, "功能安全中心");
}
}
@@ -0,0 +1,317 @@
package com.jero.functionalsafetycenter.controller;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.collection.CollStreamUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.collection.IterUtil;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.util.ObjUtil;
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.jero.common.api.vo.IdsMapBody;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.aspect.annotation.DictPoint;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.functionalsafetycenter.entity.SafetyCenter;
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitem;
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts;
import com.jero.functionalsafetycenter.service.SafetyCenterService;
import com.jero.functionalsafetycenter.service.SafetyCenterSubitemService;
import com.jero.functionalsafetycenter.vo.SafetyCenterSubitemExcel;
import com.jero.functionalsafetycenter.vo.SafetyCenterSubitemImport;
import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.entity.PayWorkingGroupSubItem;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
import java.util.stream.Collectors;
/**
* 功能安全中心成员(pay_functional_safety_center_subitem)表控制层
*
* @author xxxxx
*/
@Slf4j
@Api(tags = "功能安全中心成员")
@RestController
@RequestMapping("SafetyCenterSubitem")
public class SafetyCenterSubitemController extends JeroController<SafetyCenterSubitem, SafetyCenterSubitemService> {
/**
* 服务对象
*/
@Resource
private SafetyCenterSubitemService safetyCenterSubitemService;
@Resource
private SafetyCenterService safetyCenterService;
@Resource
private IPayContactsManagementService contactsManagementService;
/**
* 分页列表查询
*/
@RequiresPermissions("safetyCenterMember:search")
@ApiOperation(value = "功能安全中心成员-分页列表查询", notes = "功能安全中心成员-分页列表查询")
@GetMapping(value = "/page")
public Result<IPage<SafetyCenterSubitem>> queryPageList(SafetyCenterSubitem safetyCenterSubitem,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
Page<SafetyCenterSubitem> page = new Page<>(pageNo, pageSize);
IPage<SafetyCenterSubitem> pageList = safetyCenterSubitemService.pageList(page, safetyCenterSubitem);
return Result.OK(pageList);
}
/**
* 分页列表查询
*/
@ApiOperation(value = "功能安全中心成员-企业端-分页列表查询", notes = "功能安全中心成员-分页列表查询")
@GetMapping(value = "/pageByCompany")
public Result<IPage<SafetyCenterSubitem>> queryCompanyPageList(SafetyCenterSubitem safetyCenterSubitem,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
Page<SafetyCenterSubitem> page = new Page<>(pageNo, pageSize);
IPage<SafetyCenterSubitem> pageList = safetyCenterSubitemService.pageList(page, safetyCenterSubitem);
return Result.OK(pageList);
}
/**
* 列表查询
*/
@RequiresPermissions("safetyCenterMember:")
@ApiOperation(value = "功能安全中心成员-列表查询", notes = "功能安全中心成员-列表查询")
@GetMapping(value = "/list")
public Result<List<SafetyCenterSubitem>> queryList(SafetyCenterSubitem safetyCenterSubitem,
HttpServletRequest req) {
QueryWrapper<SafetyCenterSubitem> queryWrapper = QueryGenerator.initQueryWrapper(safetyCenterSubitem, req.getParameterMap());
List<SafetyCenterSubitem> list = safetyCenterSubitemService.list(queryWrapper);
return Result.OK(list);
}
/**
* 添加
*/
@AutoLog(value = "功能安全中心成员-添加")
@RequiresPermissions("safetyCenterMember:add")
@ApiOperation(value = "功能安全中心成员-添加", notes = "功能安全中心成员-添加")
@PostMapping(value = "/add")
public Result<String> add(@Validated @RequestBody SafetyCenterSubitem safetyCenterSubitem) {
safetyCenterSubitemService.add(safetyCenterSubitem);
return Result.OK(Result.ADD_SUCCESS);
}
/**
* 编辑
*/
@AutoLog(value = "功能安全中心成员-编辑")
@RequiresPermissions("safetyCenterMember:edit")
@ApiOperation(value = "功能安全中心成员-编辑", notes = "功能安全中心成员-编辑")
@PostMapping(value = "/edit")
public Result<String> edit(@Validated @RequestBody SafetyCenterSubitem safetyCenterSubitem) {
safetyCenterSubitemService.editById(safetyCenterSubitem);
return Result.OK(Result.EDIT_SUCCESS);
}
/**
* 编辑
*/
@DictPoint
@AutoLog(value = "功能安全中心成员-企业端-根据项目查询联系人")
@ApiOperation(value = "功能安全中心成员-企业端-根据项目查询联系人")
@GetMapping(value = "/getItemByProjectId")
public Result<SafetyCenterSubitem> getItemByProjectId(@RequestParam(name = "projectId") String projectId) {
SafetyCenterSubitem subitem = safetyCenterSubitemService.getItemByProjectId(projectId);
return Result.OK(subitem);
}
/**
* 编辑
*/
@AutoLog(value = "功能安全中心成员-企业端-编辑")
@ApiOperation(value = "功能安全中心成员-企业端-编辑")
@PostMapping(value = "/editByCompany")
public Result<String> editByCompany(@Validated @RequestBody SafetyCenterSubitem safetyCenterSubitem) {
safetyCenterSubitemService.editById(safetyCenterSubitem);
return Result.OK(Result.EDIT_SUCCESS);
}
/**
* 通过id删除
*/
@AutoLog(value = "功能安全中心成员-通过id删除")
@RequiresPermissions("safetyCenterMember:delete")
@ApiOperation(value = "功能安全中心成员-通过id删除", notes = "功能安全中心成员-通过id删除")
@PostMapping(value = "/delete")
public Result<Object> delete(@RequestBody IdsMapBody map) {
String id = map.getId();
if (StringUtils.isBlank(id)) {
return Result.error(Result.NULL_ID);
}
safetyCenterSubitemService.deleteById(id);
return Result.OK(Result.DELETE_SUCCESS);
}
/**
* 批量删除
*/
@AutoLog(value = "功能安全中心成员-批量删除")
@RequiresPermissions("safetyCenterMember:batchDel")
@ApiOperation(value = "功能安全中心成员-批量删除", notes = "功能安全中心成员-批量删除")
@PostMapping(value = "/deleteBatch")
public Result<Object> deleteBatch(@RequestBody IdsMapBody map) {
String ids = map.getIds();
if (StringUtils.isBlank(ids)) {
return Result.error(Result.NULL_ID);
}
List<String> idList = Arrays.asList(map.getIds().split(","));
this.safetyCenterSubitemService.deleteByIds(idList);
return Result.OK(Result.DELETE_SUCCESS);
}
/**
* 通过id查询
*/
@AutoLog(value = "功能安全中心成员-通过id查询")
@RequiresPermissions("safetyCenterMember:search")
@ApiOperation(value = "功能安全中心成员-通过id查询", notes = "功能安全中心成员-通过id查询")
@GetMapping(value = "/queryById")
public Result<SafetyCenterSubitem> queryById(@RequestParam(name = "id") String id) {
SafetyCenterSubitem safetyCenterSubitem = safetyCenterSubitemService.queryById(id);
if (safetyCenterSubitem == null) {
throw new JeroBootException(Result.NULL_DATA);
}
return Result.OK(safetyCenterSubitem);
}
/**
* 导出excel
*/
@RequiresPermissions("safetyCenterMember:import")
@ApiOperation(value = "功能安全中心成员-导出excel")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, SafetyCenterSubitem safetyCenterSubitem) {
Page<SafetyCenterSubitem> page = new Page<>(-1, -1);
IPage<SafetyCenterSubitem> pageList = safetyCenterSubitemService.pageList(page, safetyCenterSubitem);
List<SafetyCenterSubitem> records = pageList.getRecords();
List<SafetyCenterSubitem> exportList;
// 过滤选中数据
String selections = request.getParameter("selections");
if (oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
exportList = records.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
}else {
exportList = records;
}
if (exportList.isEmpty()) {
throw new JeroBootException("没有数据");
}
List<SafetyCenterSubitemExcel> list = new ArrayList<>();
for (SafetyCenterSubitem subitem : exportList) {
Map<String, Object> map = new HashMap<>();
map.put("companyId",subitem.getCompanyId());
map.put("remarks",subitem.getRemarks());
List<SafetyCenterSubitemContacts> contactsList = subitem.getContactsList();
List<String> contactsIdList = contactsList.stream().map(SafetyCenterSubitemContacts::getContactsId).collect(Collectors.toList());
List<PayContactsManagement> contactsManagementList = contactsManagementService.listByIds(contactsIdList);
Map<String, PayContactsManagement> stringPayContactsManagementMap = CollStreamUtil.toIdentityMap(contactsManagementList, PayContactsManagement::getId);
int i = 1;
for (SafetyCenterSubitemContacts contacts : contactsList) {
String contactsId = contacts.getContactsId();
PayContactsManagement contactsManagement = stringPayContactsManagementMap.get(contactsId);
map.put("contactsName"+i, contactsManagement.getName());
map.put("contactsPhone"+i, PasswordUtil.decrypt(contactsManagement.getPhone()));
map.put("contactsEmail"+i, PasswordUtil.decrypt(contactsManagement.getEmail()));
map.put("remarks"+i,contacts.getRemarks());
i++;
}
CopyOptions copyOptions = new CopyOptions();
SafetyCenterSubitemExcel safetyCenterSubitemExcel = BeanUtil.mapToBean(map, SafetyCenterSubitemExcel.class, false, copyOptions);
list.add(safetyCenterSubitemExcel);
}
return super.exportListXls(list, SafetyCenterSubitemExcel.class, "功能安全中心成员");
}
/**
* 模板下载
*
* @return
*/
@RequiresPermissions("safetyCenterMember:downTemplate")
@ApiOperation(value = "功能安全中心成员-模板下载")
@GetMapping(value = "/downloadExcelModel")
public ModelAndView downloadExcelModel() {
return super.exportTemplate(SafetyCenterSubitemExcel.class, "功能安全中心成员导入模板");
}
/**
* 通过excel导入数据
*/
@RequiresPermissions("safetyCenterMember:import")
@ApiOperation(value = "功能安全中心成员-通过excel导入数据")
@PostMapping(value = "/importExcel")
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
String projectId = request.getParameter("projectId");
if (StringUtils.isBlank(projectId)){
throw new JeroBootException(Result.NULL_ID);
}
List<Object> excelData = super.getExcelData(request, SafetyCenterSubitemImport.class);
if (excelData.isEmpty()) {
throw new JeroBootException(Result.NULL_DATA);
}
safetyCenterSubitemService.importExcelData(projectId,excelData);
return Result.OK("导入成功");
}
/**
* 功能安全中心成员-发布提醒列表查询
*/
@RequiresPermissions("safetyCenterMember:search")
@ApiOperation(value = "功能安全中心成员-发布提醒列表查询")
@GetMapping(value = "/publishReminderList")
public Result<?> publishReminderList(SafetyCenterSubitem safetyCenterSubitem,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest request) {
if (StringUtils.isBlank(safetyCenterSubitem.getProjectId())) {
return Result.error("功能安全中心id不能为空!");
}
String chargeCompanyTemporaryName = request.getParameter("chargeCompanyTemporaryName");
if(StringUtils.isNotBlank(chargeCompanyTemporaryName)){
safetyCenterSubitem.setCompanyName(oConvertUtils.replaceAllPercent(chargeCompanyTemporaryName));
}
SafetyCenter safetyCenter = safetyCenterService.getById(safetyCenterSubitem.getProjectId());
if(Objects.isNull(safetyCenter)){
return Result.error("功能安全中心!");
}
Page<SafetyCenterSubitem> page = new Page<>(pageNo, pageSize);
IPage<SafetyCenterSubitem> pageList = safetyCenterSubitemService.publishReminderList(page, safetyCenterSubitem);
return Result.OK(pageList);
}
}
@@ -0,0 +1,127 @@
package com.jero.functionalsafetycenter.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
/**
*功能安全中心
*@author liJiaRao
*@date 2024-06-12 15:13
*/
@ApiModel(description="功能安全中心")
@Data
@TableName(value = "pay_functional_safety_center")
public class SafetyCenter {
/**
* id
*/
@TableId(value = "id", type = IdType.ASSIGN_ID)
@ApiModelProperty(value="id")
private String id;
/**
* 父级id
*/
@TableField(value = "parent_id")
@ApiModelProperty(value="父级id")
private String parentId;
/**
* 项目类型1功能安全中心2研究组3项目组
*/
@TableField(value = "project_type")
@ApiModelProperty(value="项目类型(1功能安全中心,2研究组,3项目组)")
private Integer projectType;
/**
* 项目名称
*/
@TableField(value = "project_name")
@ApiModelProperty(value="项目名称")
@Excel(name = "项目名称", width = 15)
private String projectName;
/**
* 负责人id
*/
@TableField(value = "principal_id")
@ApiModelProperty(value = "负责人id")
@Excel(name = "负责人", width = 15, dictTable = "sys_user",dicText = "realname",dicCode = "id")
@Dict(dictTable = "sys_user",dicText = "realname",dicCode = "id")
private String principalId;
/**负责人联系电话*/
@TableField(exist = false)
@ApiModelProperty(value = "负责人联系电话")
private String principalPhone;
/**负责人邮箱*/
@TableField(exist = false)
@ApiModelProperty(value = "负责人邮箱")
private String principalEmail;
/**
* 任务及目标
*/
@TableField(value = "mission_and_objectives")
@ApiModelProperty(value="任务及目标")
@Excel(name = "任务及目标", width = 15)
private String missionAndObjectives;
/**
* 备注
*/
@TableField(value = "remarks")
@ApiModelProperty(value="备注")
@Excel(name = "备注", width = 15)
private String remarks;
/**
* 创建人
*/
@TableField(value = "create_by")
@ApiModelProperty(value="创建人")
private String createBy;
/**
* 创建时间
*/
@TableField(value = "create_time")
@ApiModelProperty(value="创建时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 更新人
*/
@TableField(value = "update_by")
@ApiModelProperty(value="更新人")
private String updateBy;
/**
* 更新时间
*/
@TableField(value = "update_time")
@ApiModelProperty(value="更新时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* 成员id
*/
@TableField(exist = false)
@ApiModelProperty(value="成员id")
private String subitemId;
}
@@ -0,0 +1,124 @@
package com.jero.functionalsafetycenter.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import java.util.List;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import javax.validation.constraints.Size;
/**
*功能安全中心成员
*@author liJiaRao
*@date 2024-06-12 16:40
*/
@ApiModel(description = "功能安全中心成员")
@Data
@TableName(value = "pay_functional_safety_center_subitem")
public class SafetyCenterSubitem {
/**
* id
*/
@TableId(value = "id", type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**
* 项目id
*/
@TableField(value = "project_id")
@ApiModelProperty(value = "项目id")
private String projectId;
/**
* 成员单位id
*/
@TableField(value = "company_id")
@ApiModelProperty(value = "成员单位id")
@Excel(name = "成员单位", width = 15, dictTable = "pay_company_management", dicText = "company_name", dicCode = "id", needMerge = true)
@Dict(dictTable = "pay_company_management", dicText = "company_name", dicCode = "id")
private String companyId;
/**
* 成员单位名称
*/
@TableField(exist = false)
@ApiModelProperty(value = "成员单位名称")
private String companyName;
/**
* 备注
*/
@TableField(value = "remarks")
@ApiModelProperty(value = "备注")
@Excel(name = "备注", needMerge = true)
private String remarks;
/**
* 创建人
*/
@TableField(value = "create_by")
@ApiModelProperty(value = "创建人")
private String createBy;
/**
* 创建时间
*/
@TableField(value = "create_time")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新人
*/
@TableField(value = "update_by")
@ApiModelProperty(value = "更新人")
private String updateBy;
/**
* 更新时间
*/
@TableField(value = "update_time")
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**企业联系人id*/
@TableField(exist = false)
@ApiModelProperty(value = "企业联系人id")
@Dict(dictTable = "pay_contacts_management", dicText = "name", dicCode = "id")
private String contactsId;
/**企业联系人姓名*/
@TableField(exist = false)
@ApiModelProperty(value = "企业联系人姓名")
private String contactsName;
/**企业联系人列表*/
@TableField(exist = false)
@ApiModelProperty(value = "企业联系人列表")
@ExcelCollection(name = "企业联系人列表")
private List<SafetyCenterSubitemContacts> contactsList;
/**已提醒*/
@TableField(exist = false)
@Dict(dicCode = "yn")
private Integer remind;
/**邮件提醒*/
@TableField(exist = false)
@Dict(dicCode = "yn")
private Integer mailRemind;
/**会议id*/
@TableField(exist = false)
private String meetingId;
}
@@ -0,0 +1,112 @@
package com.jero.functionalsafetycenter.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
/**
*功能安全中心成员-联系人
*@author liJiaRao
*@date 2024-06-12 15:13
*/
@ApiModel(description="功能安全中心成员-联系人")
@Data
@TableName(value = "pay_functional_safety_center_subitem_contacts")
public class SafetyCenterSubitemContacts {
/**
* id
*/
@TableId(value = "id", type = IdType.ASSIGN_ID)
@ApiModelProperty(value="id")
private String id;
/**
* 项目id
*/
@TableField(value = "project_id")
@ApiModelProperty(value="项目id")
private String projectId;
/**
* 项目成员id
*/
@TableField(value = "subitem_id")
@ApiModelProperty(value="项目成员id")
private String subitemId;
/**
* 成员单位id
*/
@TableField(value = "company_id")
@ApiModelProperty(value="成员单位id")
private String companyId;
/**
* 成员单位名称
*/
@TableField(exist = false)
@ApiModelProperty(value="成员单位名称")
private String companyName;
/**
* 企业联系人id
*/
@TableField(value = "contacts_id")
@ApiModelProperty(value="企业联系人id")
@Excel(name = "企业联系人",dictTable = "pay_contacts_management", dicText = "name", dicCode = "id")
private String contactsId;
/**
* 企业联系人姓名
*/
@TableField(exist = false)
@ApiModelProperty(value="企业联系人姓名")
private String contactsName;
/**
* 备注
*/
@TableField(value = "remarks")
@ApiModelProperty(value="备注")
@Excel(name = "备注")
private String remarks;
/**
* 序号
*/
@TableField(value = "order_num")
@ApiModelProperty(value="序号")
private Integer orderNum;
/**
* 创建人
*/
@TableField(value = "create_by")
@ApiModelProperty(value="创建人")
private String createBy;
/**
* 创建时间
*/
@TableField(value = "create_time")
@ApiModelProperty(value="创建时间")
private Date createTime;
/**
* 更新人
*/
@TableField(value = "update_by")
@ApiModelProperty(value="更新人")
private String updateBy;
/**
* 更新时间
*/
@TableField(value = "update_time")
@ApiModelProperty(value="更新时间")
private Date updateTime;
}
@@ -0,0 +1,16 @@
package com.jero.functionalsafetycenter.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.functionalsafetycenter.entity.SafetyCenter;
import org.apache.ibatis.annotations.Param;
/**
*
*@author liJiaRao
*@date 2024-06-12 15:13
*/
public interface SafetyCenterMapper extends BaseMapper<SafetyCenter> {
IPage<SafetyCenter> queryCompanyPageList(Page<SafetyCenter> page, @Param("safetyCenter") SafetyCenter safetyCenter, @Param("userId") String userId);
}
@@ -0,0 +1,16 @@
package com.jero.functionalsafetycenter.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
*
*@author liJiaRao
*@date 2024-06-12 15:13
*/
public interface SafetyCenterSubitemContactsMapper extends BaseMapper<SafetyCenterSubitemContacts> {
List<SafetyCenterSubitemContacts> listByParentIdAndContactIdList(@Param("parentId") String parentId, @Param("contactIdList") List<String> contactIdList);
}
@@ -0,0 +1,22 @@
package com.jero.functionalsafetycenter.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitem;
import com.jero.project.entity.PayWorkingGroupSubItem;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author liJiaRao
* @date 2024-06-12 16:40
*/
public interface SafetyCenterSubitemMapper extends BaseMapper<SafetyCenterSubitem> {
IPage<SafetyCenterSubitem> pageList(Page<SafetyCenterSubitem> page, @Param("safetyCenterSubitem") SafetyCenterSubitem safetyCenterSubitem);
List<SafetyCenterSubitem> listByParentIdAndCompanyId(@Param("parentId") String parentId, @Param("companyId") String companyId);
IPage<SafetyCenterSubitem> publishReminderList(Page<SafetyCenterSubitem> page, @Param("safetyCenterSubitem") SafetyCenterSubitem safetyCenterSubitem);
}
@@ -0,0 +1,50 @@
<?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="com.jero.functionalsafetycenter.mapper.SafetyCenterMapper">
<resultMap id="BaseResultMap" type="com.jero.functionalsafetycenter.entity.SafetyCenter">
<!--@mbg.generated-->
<!--@Table pay_functional_safety_center-->
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="parent_id" jdbcType="VARCHAR" property="parentId" />
<result column="project_type" jdbcType="INTEGER" property="projectType" />
<result column="project_name" jdbcType="VARCHAR" property="projectName" />
<result column="principal_id" jdbcType="VARCHAR" property="principalId" />
<result column="mission_and_objectives" jdbcType="VARCHAR" property="missionAndObjectives" />
<result column="remarks" jdbcType="VARCHAR" property="remarks" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, parent_id, project_type, project_name, principal_id, mission_and_objectives,
remarks, create_by, create_time, update_by, update_time
</sql>
<select id="queryCompanyPageList" resultType="com.jero.functionalsafetycenter.entity.SafetyCenter">
select pfsc.*,pfscs.id as subitem_id
from pay_functional_safety_center pfsc
left join pay_functional_safety_center_subitem pfscs on pfsc.id = pfscs.project_id
left join pay_functional_safety_center_subitem_contacts pfscsc on pfscs.id = pfscsc.subitem_id
<where>
<choose>
<when test="safetyCenter.projectType == 3">
pfsc.project_type = 3
</when>
<otherwise>
and pfsc.project_type in (1,2)
</otherwise>
</choose>
<if test="safetyCenter.parentId != null and safetyCenter.parentId != ''">
and pfsc.parent_id = #{safetyCenter.parentId}
</if>
<if test="safetyCenter.projectName != null and safetyCenter.projectName != ''">
<bind name="likeSafetyCenter.projectName" value="'%'+safetyCenter.projectName+'%'"/>
and pfsc.project_name like #{likeSafetyCenter.projectName}
</if>
and pfscsc.contacts_id = #{userId}
</where>
order by pfsc.create_time desc
</select>
</mapper>
@@ -0,0 +1,38 @@
<?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="com.jero.functionalsafetycenter.mapper.SafetyCenterSubitemContactsMapper">
<resultMap id="BaseResultMap" type="com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts">
<!--@mbg.generated-->
<!--@Table pay_functional_safety_center_subitem_contacts-->
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="project_id" jdbcType="VARCHAR" property="projectId" />
<result column="subitem_id" jdbcType="VARCHAR" property="subitemId" />
<result column="company_id" jdbcType="VARCHAR" property="companyId" />
<result column="contacts_id" jdbcType="VARCHAR" property="contactsId" />
<result column="remarks" jdbcType="VARCHAR" property="remarks" />
<result column="order_num" jdbcType="INTEGER" property="orderNum" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, project_id, subitem_id, company_id, contacts_id, remarks, order_num, create_by,
create_time, update_by, update_time
</sql>
<select id="listByParentIdAndContactIdList" resultMap="BaseResultMap">
select *
from pay_functional_safety_center_subitem_contacts pfscsc
left join pay_functional_safety_center_subitem pfscs on pfscsc.subitem_id = pfscs.id
left join pay_functional_safety_center pfsc on pfscs.project_id = pfsc.id
<where>
pfscs.project_id = #{parentId}
and pfscsc.contacts_id in
<foreach item="item" index="index" collection="contactIdList" open="(" separator="," close=")">
#{item}
</foreach>
</where>
</select>
</mapper>
@@ -0,0 +1,71 @@
<?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="com.jero.functionalsafetycenter.mapper.SafetyCenterSubitemMapper">
<resultMap id="BaseResultMap" type="com.jero.functionalsafetycenter.entity.SafetyCenterSubitem">
<!--@mbg.generated-->
<!--@Table pay_functional_safety_center_subitem-->
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="project_id" jdbcType="VARCHAR" property="projectId" />
<result column="company_id" jdbcType="VARCHAR" property="companyId" />
<result column="remarks" jdbcType="VARCHAR" property="remarks" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, project_id, company_id, remarks, create_by, create_time, update_by, update_time
</sql>
<select id="pageList" resultMap="BaseResultMap">
select *
from pay_functional_safety_center_subitem pfscs
left join pay_company_management pcm on pfscs.company_id = pcm.id
<where>
project_id = #{safetyCenterSubitem.projectId}
<if test="safetyCenterSubitem.companyName != null and safetyCenterSubitem.companyName != ''">
and pcm.company_name like concat('%',#{safetyCenterSubitem.companyName},'%')
</if>
</where>
</select>
<select id="listByParentIdAndCompanyId" resultMap="BaseResultMap">
select pfscs.*
from pay_functional_safety_center_subitem pfscs
left join pay_functional_safety_center pfsc on pfsc.id = pfscs.project_id
<where>
pfsc.parent_id = #{parentId}
and pfscs.company_id = #{companyId}
</where>
</select>
<select id="publishReminderList" resultType="com.jero.functionalsafetycenter.entity.SafetyCenterSubitem">
select distinct pcm.id as id,pcm.name as contacts_name,pcm.company_name as company_name
,if(pmrr.id,'1','0') remind,
if(pmrmr.id,'1','0') mailRemind
from pay_contacts_management pcm
left join pay_functional_safety_center_subitem_contacts pfscsc on pcm.id = pfscsc.contacts_id
left join (SELECT * from pay_meeting_remind_record where meeting_id = #{param2.meetingId}) pmrr on pmrr.contact_id = pcm.id
left join (SELECT * from pay_meeting_remind_mail_record where meeting_id = #{param2.meetingId}) pmrmr on pmrmr.contact_id = pcm.id
<where>
pfscsc.project_id = #{safetyCenterSubitem.projectId}
<if test="safetyCenterSubitem.companyName != null and safetyCenterSubitem.companyName != ''">
and pcm.company_name like concat('%',#{safetyCenterSubitem.companyName},'%')
</if>
<if test="safetyCenterSubitem.remind == 1">
and pmrr.id is not null
</if>
<if test="safetyCenterSubitem.remind == 0">
and pmrr.id is null
</if>
<if test="safetyCenterSubitem.mailRemind == 1">
and pmrmr.id is not null
</if>
<if test="safetyCenterSubitem.mailRemind == 0">
and pmrmr.id is null
</if>
</where>
</select>
</mapper>
@@ -0,0 +1,76 @@
package com.jero.functionalsafetycenter.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.functionalsafetycenter.common.SafetyCenterCommon;
import com.jero.functionalsafetycenter.vo.SafetyCenterEditVO;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.functionalsafetycenter.entity.SafetyCenter;
import com.jero.functionalsafetycenter.mapper.SafetyCenterMapper;
import javax.annotation.Resource;
/**
*
*@author liJiaRao
*@date 2024-06-12 15:13
*/
@Service
public class SafetyCenterService extends ServiceImpl<SafetyCenterMapper, SafetyCenter> {
@Resource
private ISysBaseAPI sysBaseAPI;
public void add(SafetyCenter safetyCenter) {
Integer projectType = safetyCenter.getProjectType();
if (projectType == null){
throw new JeroBootException("项目类型不能为空");
}
this.save(safetyCenter);
}
public void editById(SafetyCenterEditVO safetyCenterEditVO) {
SafetyCenter safetyCenter = new SafetyCenter();
safetyCenter.setId(safetyCenterEditVO.getId());
safetyCenter.setProjectName(safetyCenterEditVO.getProjectName());
safetyCenter.setPrincipalId(safetyCenterEditVO.getPrincipalId());
safetyCenter.setMissionAndObjectives(safetyCenterEditVO.getMissionAndObjectives());
safetyCenter.setRemarks(safetyCenterEditVO.getRemarks());
this.updateById(safetyCenter);
}
public void deleteById(String id) {
this.removeById(id);
}
public void deleteByIds(List<String> idList) {
for (String id : idList) {
deleteById(id);
}
}
public SafetyCenter queryById(String id) {
SafetyCenter safetyCenter = this.getById(id);
return safetyCenter;
}
public IPage<SafetyCenter> queryCompanyPageList(Page<SafetyCenter> page, SafetyCenter safetyCenter) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
IPage<SafetyCenter> safetyCenterIPage = baseMapper.queryCompanyPageList(page, safetyCenter, sysUser.getId());
List<SafetyCenter> records = safetyCenterIPage.getRecords();
for (SafetyCenter record : records) {
String principalId = record.getPrincipalId();
LoginUser user = sysBaseAPI.getUserById(principalId);
record.setPrincipalPhone(PasswordUtil.decrypt(user.getPhone()));
record.setPrincipalEmail(PasswordUtil.decrypt(user.getEmail()));
}
return safetyCenterIPage;
}
}
@@ -0,0 +1,74 @@
package com.jero.functionalsafetycenter.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.company.controller.PayContactsManagementController;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.temporary.entity.PayContactsManagementTemporary;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts;
import com.jero.functionalsafetycenter.mapper.SafetyCenterSubitemContactsMapper;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
*
*@author liJiaRao
*@date 2024-06-12 15:13
*/
@Service
public class SafetyCenterSubitemContactsService extends ServiceImpl<SafetyCenterSubitemContactsMapper, SafetyCenterSubitemContacts> {
@Resource
private IPayContactsManagementService contactsManagementService;
public void deleteBySubitemId(String subitemId){
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SafetyCenterSubitemContacts::getSubitemId,subitemId);
List<SafetyCenterSubitemContacts> list = this.list(wrapper);
List<String> idList = list.stream().map(SafetyCenterSubitemContacts::getId).collect(Collectors.toList());
this.removeByIds(idList);
}
public List<SafetyCenterSubitemContacts> listBySubitemId(String subitemId){
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SafetyCenterSubitemContacts::getSubitemId,subitemId);
return this.list(wrapper);
}
public List<SafetyCenterSubitemContacts> listByParentIdAndContactIdList(String parentId, List<String> contactIdList){
return baseMapper.listByParentIdAndContactIdList(parentId,contactIdList);
}
public boolean checkSafetyCenterSubitem(String projectId, String contactsId) {
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SafetyCenterSubitemContacts::getProjectId,projectId);
wrapper.eq(SafetyCenterSubitemContacts::getContactsId,contactsId);
return count(wrapper) > 0;
}
public List<SafetyCenterSubitemContacts> getContactsInfo(String projectId) {
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SafetyCenterSubitemContacts::getProjectId,projectId);
wrapper.orderByDesc(SafetyCenterSubitemContacts::getSubitemId);
wrapper.orderByAsc(SafetyCenterSubitemContacts::getOrderNum);
List<SafetyCenterSubitemContacts> contactsList = this.list(wrapper);
if (contactsList.isEmpty()){
return contactsList;
}
List<String> contactsIdList = contactsList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList());
List<PayContactsManagement> payContactsManagements = contactsManagementService.listByIds(contactsIdList);
Map<String, PayContactsManagement> collectMap = payContactsManagements.stream().collect(Collectors.toMap(PayContactsManagement::getId, payContactsManagement -> payContactsManagement));
for (SafetyCenterSubitemContacts contacts : contactsList) {
String contactsId = contacts.getContactsId();
PayContactsManagement payContactsManagement = collectMap.get(contactsId);
contacts.setContactsName(payContactsManagement.getName());
contacts.setCompanyName(payContactsManagement.getCompanyName());
}
return contactsList;
}
}
@@ -0,0 +1,459 @@
package com.jero.functionalsafetycenter.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollStreamUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.functionalsafetycenter.common.SafetyCenterCommon;
import com.jero.functionalsafetycenter.entity.SafetyCenter;
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts;
import com.jero.functionalsafetycenter.vo.SafetyCenterSubitemContactsImport;
import com.jero.functionalsafetycenter.vo.SafetyCenterSubitemExcel;
import com.jero.functionalsafetycenter.vo.SafetyCenterSubitemImport;
import com.jero.project.entity.PayWorkingGroupSubItem;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.functionalsafetycenter.mapper.SafetyCenterSubitemMapper;
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitem;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
/**
*
*@author liJiaRao
*@date 2024-06-12 15:13
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class SafetyCenterSubitemService extends ServiceImpl<SafetyCenterSubitemMapper, SafetyCenterSubitem> {
@Resource
private SafetyCenterService safetyCenterService;
@Resource
private SafetyCenterSubitemContactsService contactsService;
@Resource
private IPayCompanyManagementService payCompanyManagementService;
@Resource
private IPayContactsManagementService payContactsManagementService;
public void add(SafetyCenterSubitem safetyCenterSubitem) {
String projectId = safetyCenterSubitem.getProjectId();
SafetyCenter safetyCenter = safetyCenterService.getById(projectId);
if (safetyCenter == null){
throw new JeroBootException("项目不存在");
}
//判重公司是否重复
String companyId = safetyCenterSubitem.getCompanyId();
PayCompanyManagement companyManagement = payCompanyManagementService.getById(companyId);
String companyName = companyManagement.getCompanyName();
LambdaQueryWrapper<SafetyCenterSubitem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SafetyCenterSubitem::getProjectId,projectId);
wrapper.eq(SafetyCenterSubitem::getCompanyId,companyId);
if (this.count(wrapper) > 0){
throw new JeroBootException("当前项目中已经存在,成员单位:"+companyName+"");
}
//判重联系人是否重复
List<SafetyCenterSubitemContacts> contactsList = safetyCenterSubitem.getContactsList();
if (contactsList.isEmpty()){
throw new JeroBootException("企业联系人不能为空");
}
List<String> contactIdList = contactsList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList());
if (contactIdList.size() != contactsList.size()){
throw new JeroBootException("企业联系人重复");
}
//判断父级是否有所选企业和所选联系人
Integer projectType = safetyCenter.getProjectType();
if (SafetyCenterCommon.PROJECT_TYPE_1 != projectType){
//判断企业
String parentId = safetyCenter.getParentId();
LambdaQueryWrapper<SafetyCenterSubitem> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(SafetyCenterSubitem::getProjectId,parentId);
wrapper1.eq(SafetyCenterSubitem::getCompanyId,companyId);
SafetyCenterSubitem parentCenterSubitem = this.getOne(wrapper1);
if (parentCenterSubitem == null){
throw new JeroBootException("成员单位:"+ companyName +",无法添加到当前项目");
}
//判断联系人
String parentCenterSubitemId = parentCenterSubitem.getId();
List<SafetyCenterSubitemContacts> parentContactList = contactsService.listBySubitemId(parentCenterSubitemId);
List<String> parentContactIdList = parentContactList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList());
List<String> contactNameList = new ArrayList<>();
for (String contactId : contactIdList) {
if (!parentContactIdList.contains(contactId)){
PayContactsManagement contactsManagement = payContactsManagementService.getById(contactId);
contactNameList.add(contactsManagement.getName());
}
}
if (!contactNameList.isEmpty()){
throw new JeroBootException("企业联系人:"+ String.join(",",contactNameList) +",无法添加到当前项目");
}
}
//保存成员
this.save(safetyCenterSubitem);
//保存成员单位联系人
String subitemId = safetyCenterSubitem.getId();
for (SafetyCenterSubitemContacts contacts : contactsList) {
contacts.setProjectId(projectId);
contacts.setCompanyId(companyId);
contacts.setSubitemId(subitemId);
}
contactsService.saveBatch(contactsList);
}
public void editById(SafetyCenterSubitem safetyCenterSubitem) {
String subitemId = safetyCenterSubitem.getId();
String projectId = safetyCenterSubitem.getProjectId();
SafetyCenter safetyCenter = safetyCenterService.getById(projectId);
if (safetyCenter == null){
throw new JeroBootException("项目不存在");
}
//判重公司是否重复
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String companyId;
//如果是企业用户使用自己的公司id
if (sysUser.getIsCompanyUser()) {
companyId = sysUser.getCompanyId();
safetyCenterSubitem.setCompanyId(companyId);
}else {
companyId = safetyCenterSubitem.getCompanyId();
}
PayCompanyManagement companyManagement = payCompanyManagementService.getById(companyId);
String companyName = companyManagement.getCompanyName();
LambdaQueryWrapper<SafetyCenterSubitem> wrapper = new LambdaQueryWrapper<>();
wrapper.ne(SafetyCenterSubitem::getId,subitemId);
wrapper.eq(SafetyCenterSubitem::getProjectId,projectId);
wrapper.eq(SafetyCenterSubitem::getCompanyId,companyId);
if (this.count(wrapper) > 0){
throw new JeroBootException("当前项目中已经存在,成员单位:"+companyName+"");
}
//判重联系人是否重复
List<SafetyCenterSubitemContacts> contactsList = safetyCenterSubitem.getContactsList();
if (contactsList.isEmpty()){
throw new JeroBootException("企业联系人不能为空");
}
List<String> contactIdList = contactsList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList());
if (contactIdList.size() != contactsList.size()){
throw new JeroBootException("企业联系人重复");
}
//判断父级是否有所选企业和所选联系人
Integer projectType = safetyCenter.getProjectType();
if (SafetyCenterCommon.PROJECT_TYPE_1 != projectType){
//判断企业
String parentId = safetyCenter.getParentId();
LambdaQueryWrapper<SafetyCenterSubitem> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(SafetyCenterSubitem::getProjectId,parentId);
wrapper1.eq(SafetyCenterSubitem::getCompanyId,companyId);
SafetyCenterSubitem parentCenterSubitem = this.getOne(wrapper1);
if (parentCenterSubitem == null){
throw new JeroBootException("成员单位:"+ companyName +",无法添加到当前项目");
}
//判断联系人
String parentCenterSubitemId = parentCenterSubitem.getId();
List<SafetyCenterSubitemContacts> parentContactList = contactsService.listBySubitemId(parentCenterSubitemId);
List<String> parentContactIdList = parentContactList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList());
List<String> contactNameList = new ArrayList<>();
for (String contactId : contactIdList) {
if (!parentContactIdList.contains(contactId)){
PayContactsManagement contactsManagement = payContactsManagementService.getById(contactId);
contactNameList.add(contactsManagement.getName());
}
}
if (!contactNameList.isEmpty()){
throw new JeroBootException("企业联系人:"+ String.join(",",contactNameList) +",无法添加到当前项目");
}
//区分删除的联系人
List<SafetyCenterSubitemContacts> oldContactList = contactsService.listBySubitemId(subitemId);
List<String> oldContactIdList = oldContactList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList());
//取差值得到删除的联系人
oldContactIdList.removeAll(contactIdList);
//删除子项目的联系人
this.deleteChildrenByParentId(projectId,contactIdList);
}
this.updateById(safetyCenterSubitem);
//先删除之前保存的
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(SafetyCenterSubitemContacts::getSubitemId,subitemId);
contactsService.remove(wrapper1);
//保存成员单位联系人
for (SafetyCenterSubitemContacts contacts : contactsList) {
contacts.setProjectId(projectId);
contacts.setCompanyId(companyId);
contacts.setSubitemId(subitemId);
}
contactsService.saveBatch(contactsList);
}
public void deleteById(String id) {
SafetyCenterSubitem subitem = this.getById(id);
String projectId = subitem.getProjectId();
SafetyCenter safetyCenter = safetyCenterService.getById(projectId);
Integer projectType = safetyCenter.getProjectType();
if (SafetyCenterCommon.PROJECT_TYPE_3 != projectType){
//删除下级同企业成员
List<SafetyCenterSubitem> subitemList = this.listByParentIdAndCompanyId(projectId, subitem.getCompanyId());
for (SafetyCenterSubitem safetyCenterSubitem : subitemList) {
deleteById(safetyCenterSubitem.getId());
}
}
//删除成员
this.removeById(id);
//删除联系人
contactsService.deleteBySubitemId(id);
}
public void deleteByIds(List<String> idList) {
for (String id : idList) {
deleteById(id);
}
}
public SafetyCenterSubitem queryById(String id) {
SafetyCenterSubitem safetyCenterSubitem = this.getById(id);
return safetyCenterSubitem;
}
public IPage<SafetyCenterSubitem> pageList(Page<SafetyCenterSubitem> page, SafetyCenterSubitem safetyCenterSubitem) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//如果是企业查询判断是否有数据权限
if (sysUser.getIsCompanyUser()) {
LambdaQueryWrapper<SafetyCenterSubitem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SafetyCenterSubitem::getCompanyId,sysUser.getCompanyId());
wrapper.eq(SafetyCenterSubitem::getProjectId,safetyCenterSubitem.getProjectId());
SafetyCenterSubitem subitem = this.getOne(wrapper);
if (subitem == null){
return new Page<>();
}
}
IPage<SafetyCenterSubitem> pageList = baseMapper.pageList(page, safetyCenterSubitem);
List<SafetyCenterSubitem> records = pageList.getRecords();
//根据企业id获取所有联系人
List<String> subitemIdList = records.stream().map(SafetyCenterSubitem::getId).collect(Collectors.toList());
if (subitemIdList.isEmpty()){
return pageList;
}
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SafetyCenterSubitemContacts::getSubitemId,subitemIdList);
wrapper.orderByAsc(SafetyCenterSubitemContacts::getSubitemId);
//根据orderNum排序
wrapper.orderByAsc(SafetyCenterSubitemContacts::getOrderNum);
List<SafetyCenterSubitemContacts> contactsList = contactsService.list(wrapper);
//根据企业id分组
Map<String, List<SafetyCenterSubitemContacts>> stringListMap = CollStreamUtil.groupByKey(contactsList, SafetyCenterSubitemContacts::getSubitemId);
//遍历存入数据
for (SafetyCenterSubitem subitem : records) {
String subitemId = subitem.getId();
List<SafetyCenterSubitemContacts> safetyCenterSubitemContacts = stringListMap.get(subitemId);
if (safetyCenterSubitemContacts == null){
continue;
}
subitem.setContactsId(safetyCenterSubitemContacts.get(0).getContactsId());
subitem.setContactsList(safetyCenterSubitemContacts);
}
return pageList;
}
/**
* 根据父项目id和企业id查询子项目中相同公司的成员
* @param parentId
* @param companyId
* @return
*/
public List<SafetyCenterSubitem> listByParentIdAndCompanyId(String parentId,String companyId){
return baseMapper.listByParentIdAndCompanyId(parentId,companyId);
}
/**
* 删除子项目的联系人
*/
public void deleteChildrenByParentId(String parentId, List<String> contactIdList) {
List<SafetyCenterSubitemContacts> contactList = contactsService.listByParentIdAndContactIdList(parentId, contactIdList);
List<String> collect = contactList.stream().map(SafetyCenterSubitemContacts::getId).collect(Collectors.toList());
contactsService.removeByIds(collect);
List<String> projectIdList = contactList.stream().map(SafetyCenterSubitemContacts::getProjectId).distinct().collect(Collectors.toList());
for (String projectId : projectIdList) {
deleteChildrenByParentId(projectId,contactIdList);
}
}
/**
* 导入数据
* @param projectId
* @param excelData
*/
public void importExcelData(String projectId, List<Object> excelData) {
SafetyCenter safetyCenter = safetyCenterService.getById(projectId);
if (safetyCenter == null){
throw new JeroBootException("项目不存在");
}
List<String> errorMessage = new ArrayList<>();
List<String> companyNameList = new ArrayList<>();
int errorRowNum = 2;
for (Object obj : excelData) {
errorRowNum += 1;
SafetyCenterSubitemImport subitemImport = (SafetyCenterSubitemImport) obj;
String companyName = subitemImport.getCompanyName();
Map<String, Object> map = BeanUtil.beanToMap(subitemImport);
List<SafetyCenterSubitemContactsImport> contactsList = new ArrayList<>();
for (int i = 1; i < 21; i++) {
SafetyCenterSubitemContactsImport contactsImport = new SafetyCenterSubitemContactsImport();
String s = (String) map.get("contactsName" + i);
if (s == null){
continue;
}
String s1 = (String) map.get("remarks"+i);
contactsImport.setContacts(s);
contactsImport.setRemarks(s1);
contactsList.add(contactsImport);
}
PayCompanyManagement company = null;
if (StringUtils.isBlank(companyName)){
errorMessage.add("" + errorRowNum + "行:成员单位不能为空");
continue;
}else {
company = payCompanyManagementService.getCompanyByName(companyName);
if (company == null){
errorMessage.add("" + errorRowNum + "行:成员单位不存在");
continue;
}
if (companyNameList.contains(companyName)) {
errorMessage.add("" + errorRowNum + "行:成员单位重复");
continue;
}else {
companyNameList.add(companyName);
}
}
String companyId = company.getId();
LambdaQueryWrapper<SafetyCenterSubitem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SafetyCenterSubitem::getProjectId,projectId);
wrapper.eq(SafetyCenterSubitem::getCompanyId,companyId);
if (this.count(wrapper) > 0){
errorMessage.add("" + errorRowNum + "行:成员单位当前项目中已经存在");
}
String remarks1 = subitemImport.getRemarks();
if (remarks1 != null && remarks1.length() > 200){
errorMessage.add("" + errorRowNum + "行:成员单位备注最长为200字符");
}
Integer projectType = safetyCenter.getProjectType();
List<String> parentContactIdList = new ArrayList<>();
if (SafetyCenterCommon.PROJECT_TYPE_1 != projectType) {
//判断企业
String parentId = safetyCenter.getParentId();
LambdaQueryWrapper<SafetyCenterSubitem> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(SafetyCenterSubitem::getProjectId, parentId);
wrapper1.eq(SafetyCenterSubitem::getCompanyId, companyId);
SafetyCenterSubitem parentCenterSubitem = this.getOne(wrapper1);
if (parentCenterSubitem == null) {
errorMessage.add("" + errorRowNum + "行:成员单位不是当前项目成员");
continue;
}
String parentCenterSubitemId = parentCenterSubitem.getId();
List<SafetyCenterSubitemContacts> parentContactList = contactsService.listBySubitemId(parentCenterSubitemId);
parentContactIdList = parentContactList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList());
}
List<String> distinctContactsList = new ArrayList<>();
List<SafetyCenterSubitemContacts> subitemContactsList = new ArrayList<>();
for (SafetyCenterSubitemContactsImport contactsImport : contactsList) {
String contacts = contactsImport.getContacts();
if (StringUtils.isBlank(contacts)){
errorMessage.add("" + errorRowNum + "行:企业联系人不能为空");
continue;
}
PayContactsManagement payContactsManagement = payContactsManagementService.checkByCompanyIdAndName(contacts, companyId);
if (payContactsManagement == null){
errorMessage.add("" + errorRowNum + "行:企业联系人"+contacts+"不存在");
continue;
}
if (distinctContactsList.contains(contacts)){
errorMessage.add("" + errorRowNum + "行:企业联系人"+contacts+"重复");
continue;
}else {
distinctContactsList.add(contacts);
}
if (SafetyCenterCommon.PROJECT_TYPE_1 != projectType) {
//判断联系人
if (!parentContactIdList.contains(payContactsManagement.getId())){
errorMessage.add("" + errorRowNum + "行:企业联系人"+contacts+"不是当前项目成员");
continue;
}
}
String remarks = contactsImport.getRemarks();
if (remarks != null && remarks.length() > 50){
errorMessage.add("" + errorRowNum + "行:企业联系人"+contacts+"备注最长为50字符");
continue;
}
SafetyCenterSubitemContacts contacts1 = new SafetyCenterSubitemContacts();
contacts1.setContactsId(payContactsManagement.getId());
contacts1.setRemarks(remarks);
subitemContactsList.add(contacts1);
}
if (!errorMessage.isEmpty()){
continue;
}
SafetyCenterSubitem subitem = new SafetyCenterSubitem();
subitem.setProjectId(projectId);
subitem.setCompanyId(companyId);
subitem.setRemarks(remarks1);
subitem.setContactsList(subitemContactsList);
try {
this.add(subitem);
}catch (JeroBootException e){
log.error("",e);
errorMessage.add(e.getMessage());
}
}
if (!errorMessage.isEmpty()){
StringBuilder msg = new StringBuilder();
for (String s : errorMessage) {
msg.append(s).append(",请修改!<br/>");
}
throw new JeroBootException(msg.toString());
}
}
public SafetyCenterSubitem getItemByProjectId(String projectId) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
LambdaQueryWrapper<SafetyCenterSubitem> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(SafetyCenterSubitem::getProjectId,projectId);
wrapper1.eq(SafetyCenterSubitem::getCompanyId,sysUser.getCompanyId());
SafetyCenterSubitem subitem = this.getOne(wrapper1);
//根据企业id获取所有联系人
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SafetyCenterSubitemContacts::getSubitemId,subitem.getId());
//根据orderNum排序
wrapper.orderByAsc(SafetyCenterSubitemContacts::getOrderNum);
List<SafetyCenterSubitemContacts> contactsList = contactsService.list(wrapper);
for (SafetyCenterSubitemContacts contacts : contactsList) {
String contactsId = contacts.getContactsId();
PayContactsManagement contactsManagement = payContactsManagementService.getById(contactsId);
contacts.setContactsName(contactsManagement.getName());
}
//存入数据
subitem.setContactsId(contactsList.get(0).getContactsId());
subitem.setContactsList(contactsList);
return subitem;
}
public IPage<SafetyCenterSubitem> publishReminderList(Page<SafetyCenterSubitem> page, SafetyCenterSubitem safetyCenterSubitem) {
return baseMapper.publishReminderList(page,safetyCenterSubitem);
}
}
@@ -0,0 +1,53 @@
package com.jero.functionalsafetycenter.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
*功能安全中心
*@author liJiaRao
*@date 2024-06-12 15:13
*/
@ApiModel(description="功能安全中心编辑vo")
@Data
public class SafetyCenterEditVO {
/**
* id
*/
@ApiModelProperty(value="id")
private String id;
/**
* 项目名称
*/
@TableField(value = "project_name")
@ApiModelProperty(value="项目名称")
private String projectName;
/**
* 负责人id
*/
@TableField(value = "principal_id")
@ApiModelProperty(value="负责人id")
private String principalId;
/**
* 任务及目标
*/
@TableField(value = "mission_and_objectives")
@ApiModelProperty(value="任务及目标")
private String missionAndObjectives;
/**
* 备注
*/
@TableField(value = "remarks")
@ApiModelProperty(value="备注")
private String remarks;
}
@@ -0,0 +1,31 @@
package com.jero.functionalsafetycenter.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
/**
* 功能安全中心成员-联系人
*
* @author liJiaRao
* @date 2024-06-12 15:13
*/
@Data
public class SafetyCenterSubitemContactsImport {
/**
* 企业联系人
*/
@ApiModelProperty(value = "企业联系人")
@Excel(name = "企业联系人")
private String contacts;
/**
* 备注
*/
@ApiModelProperty(value = "备注")
@Excel(name = "备注")
private String remarks;
}
@@ -0,0 +1,441 @@
package com.jero.functionalsafetycenter.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description: pay_working_group_subitem
* @Author: jeecg-boot
* @Date: 2021-08-27
* @Version: V1.0
*/
@Data
public class SafetyCenterSubitemExcel implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 成员单位id
*/
@TableField(value = "company_id")
@ApiModelProperty(value = "成员单位id")
@Excel(name = "成员单位", width = 15, dictTable = "pay_company_management", dicText = "company_name", dicCode = "id", needMerge = true)
@Dict(dictTable = "pay_company_management", dicText = "company_name", dicCode = "id")
private String companyId;
/**
* 备注
*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
private String remarks;
/**
* 企业联系人名称1
*/
@Excel(name = "企业联系人1", width = 15)
private String contactsName1;
/**
* 企业联系人手机号1
*/
@Excel(name = "企业联系人手机号1", width = 17)
private String contactsPhone1;
/**
* 企业联系人邮箱1
*/
@Excel(name = "企业联系人邮箱1", width = 15)
private String contactsEmail1;
/**
* 联系人备注1
*/
@Excel(name = "联系人备注1", width = 15)
private String remarks1;
/**
* 企业联系人名称2
*/
@Excel(name = "企业联系人2", width = 15)
private String contactsName2;
/**
* 企业联系人手机号2
*/
@Excel(name = "企业联系人手机号2", width = 17)
private String contactsPhone2;
/**
* 企业联系人邮箱2
*/
@Excel(name = "企业联系人邮箱2", width = 15)
private String contactsEmail2;
/**
* 联系人备注2
*/
@Excel(name = "联系人备注2", width = 15)
private String remarks2;
/**
* 企业联系人名称3
*/
@Excel(name = "企业联系人3", width = 15)
private String contactsName3;
/**
* 企业联系人手机号3
*/
@Excel(name = "企业联系人手机号3", width = 17)
private String contactsPhone3;
/**
* 企业联系人邮箱3
*/
@Excel(name = "企业联系人邮箱3", width = 15)
private String contactsEmail3;
/**
* 联系人备注3
*/
@Excel(name = "联系人备注3", width = 15)
private String remarks3;
/**
* 企业联系人名称4
*/
@Excel(name = "企业联系人4", width = 15)
private String contactsName4;
/**
* 企业联系人手机号4
*/
@Excel(name = "企业联系人手机号4", width = 17)
private String contactsPhone4;
/**
* 企业联系人邮箱4
*/
@Excel(name = "企业联系人邮箱4", width = 15)
private String contactsEmail4;
/**
* 联系人备注4
*/
@Excel(name = "联系人备注4", width = 15)
private String remarks4;
/**
* 企业联系人名称5
*/
@Excel(name = "企业联系人5", width = 15)
private String contactsName5;
/**
* 企业联系人手机号5
*/
@Excel(name = "企业联系人手机号5", width = 17)
private String contactsPhone5;
/**
* 企业联系人邮箱5
*/
@Excel(name = "企业联系人邮箱5", width = 15)
private String contactsEmail5;
/**
* 联系人备注5
*/
@Excel(name = "联系人备注5", width = 15)
private String remarks5;
/**
* 企业联系人名称6
*/
@Excel(name = "企业联系人6", width = 15)
private String contactsName6;
/**
* 企业联系人手机号6
*/
@Excel(name = "企业联系人手机号6", width = 17)
private String contactsPhone6;
/**
* 企业联系人邮箱6
*/
@Excel(name = "企业联系人邮箱6", width = 15)
private String contactsEmail6;
/**
* 联系人备注6
*/
@Excel(name = "联系人备注6", width = 15)
private String remarks6;
/**
* 企业联系人名称7
*/
@Excel(name = "企业联系人7", width = 15)
private String contactsName7;
/**
* 企业联系人手机号7
*/
@Excel(name = "企业联系人手机号7", width = 17)
private String contactsPhone7;
/**
* 企业联系人邮箱7
*/
@Excel(name = "企业联系人邮箱7", width = 15)
private String contactsEmail7;
/**
* 联系人备注7
*/
@Excel(name = "联系人备注7", width = 15)
private String remarks7;
/**
* 企业联系人名称8
*/
@Excel(name = "企业联系人8", width = 15)
private String contactsName8;
/**
* 企业联系人手机号8
*/
@Excel(name = "企业联系人手机号8", width = 17)
private String contactsPhone8;
/**
* 企业联系人邮箱8
*/
@Excel(name = "企业联系人邮箱8", width = 15)
private String contactsEmail8;
/**
* 联系人备注8
*/
@Excel(name = "联系人备注8", width = 15)
private String remarks8;
/**
* 企业联系人名称9
*/
@Excel(name = "企业联系人9", width = 15)
private String contactsName9;
/**
* 企业联系人手机号9
*/
@Excel(name = "企业联系人手机号9", width = 17)
private String contactsPhone9;
/**
* 企业联系人邮箱9
*/
@Excel(name = "企业联系人邮箱9", width = 15)
private String contactsEmail9;
/**
* 联系人备注9
*/
@Excel(name = "联系人备注9", width = 15)
private String remarks9;
/**
* 企业联系人名称10
*/
@Excel(name = "企业联系人10", width = 15)
private String contactsName10;
/**
* 企业联系人手机号10
*/
@Excel(name = "企业联系人手机号10", width = 17)
private String contactsPhone10;
/**
* 企业联系人邮箱10
*/
@Excel(name = "企业联系人邮箱10", width = 15)
private String contactsEmail10;
/**
* 联系人备注10
*/
@Excel(name = "联系人备注10", width = 15)
private String remarks10;
/**
* 企业联系人名称11
*/
@Excel(name = "企业联系人11", width = 15)
private String contactsName11;
/**
* 企业联系人手机号11
*/
@Excel(name = "企业联系人手机号11", width = 17)
private String contactsPhone11;
/**
* 企业联系人邮箱11
*/
@Excel(name = "企业联系人邮箱11", width = 15)
private String contactsEmail11;
/**
* 联系人备注11
*/
@Excel(name = "联系人备注11", width = 15)
private String remarks11;
/**
* 企业联系人名称12
*/
@Excel(name = "企业联系人12", width = 15)
private String contactsName12;
/**
* 企业联系人手机号12
*/
@Excel(name = "企业联系人手机号12", width = 17)
private String contactsPhone12;
/**
* 企业联系人邮箱12
*/
@Excel(name = "企业联系人邮箱12", width = 15)
private String contactsEmail12;
/**
* 联系人备注12
*/
@Excel(name = "联系人备注12", width = 15)
private String remarks12;
/**
* 企业联系人名称13
*/
@Excel(name = "企业联系人13", width = 15)
private String contactsName13;
/**
* 企业联系人手机号13
*/
@Excel(name = "企业联系人手机号13", width = 17)
private String contactsPhone13;
/**
* 企业联系人邮箱13
*/
@Excel(name = "企业联系人邮箱13", width = 15)
private String contactsEmail13;
/**
* 联系人备注13
*/
@Excel(name = "联系人备注13", width = 15)
private String remarks13;
/**
* 企业联系人名称14
*/
@Excel(name = "企业联系人14", width = 15)
private String contactsName14;
/**
* 企业联系人手机号14
*/
@Excel(name = "企业联系人手机号14", width = 17)
private String contactsPhone14;
/**
* 企业联系人邮箱14
*/
@Excel(name = "企业联系人邮箱14", width = 15)
private String contactsEmail14;
/**
* 联系人备注14
*/
@Excel(name = "联系人备注14", width = 15)
private String remarks14;
/**
* 企业联系人名称15
*/
@Excel(name = "企业联系人15", width = 15)
private String contactsName15;
/**
* 企业联系人手机号15
*/
@Excel(name = "企业联系人手机号15", width = 17)
private String contactsPhone15;
/**
* 企业联系人邮箱15
*/
@Excel(name = "企业联系人邮箱15", width = 15)
private String contactsEmail15;
/**
* 联系人备注15
*/
@Excel(name = "联系人备注15", width = 15)
private String remarks15;
/**
* 企业联系人名称16
*/
@Excel(name = "企业联系人16", width = 15)
private String contactsName16;
/**
* 企业联系人手机号16
*/
@Excel(name = "企业联系人手机号16", width = 17)
private String contactsPhone16;
/**
* 企业联系人邮箱16
*/
@Excel(name = "企业联系人邮箱16", width = 15)
private String contactsEmail16;
/**
* 联系人备注16
*/
@Excel(name = "联系人备注16", width = 15)
private String remarks16;
/**
* 企业联系人名称17
*/
@Excel(name = "企业联系人17", width = 15)
private String contactsName17;
/**
* 企业联系人手机号17
*/
@Excel(name = "企业联系人手机号17", width = 17)
private String contactsPhone17;
/**
* 企业联系人邮箱17
*/
@Excel(name = "企业联系人邮箱17", width = 15)
private String contactsEmail17;
/**
* 联系人备注17
*/
@Excel(name = "联系人备注17", width = 15)
private String remarks17;
/**
* 企业联系人名称18
*/
@Excel(name = "企业联系人18", width = 15)
private String contactsName18;
/**
* 企业联系人手机号18
*/
@Excel(name = "企业联系人手机号18", width = 17)
private String contactsPhone18;
/**
* 企业联系人邮箱18
*/
@Excel(name = "企业联系人邮箱18", width = 15)
private String contactsEmail18;
/**
* 联系人备注18
*/
@Excel(name = "联系人备注18", width = 15)
private String remarks18;
/**
* 企业联系人名称19
*/
@Excel(name = "企业联系人19", width = 15)
private String contactsName19;
/**
* 企业联系人手机号19
*/
@Excel(name = "企业联系人手机号19", width = 17)
private String contactsPhone19;
/**
* 企业联系人邮箱19
*/
@Excel(name = "企业联系人邮箱19", width = 15)
private String contactsEmail19;
/**
* 联系人备注19
*/
@Excel(name = "联系人备注19", width = 15)
private String remarks19;
/**
* 企业联系人名称20
*/
@Excel(name = "企业联系人20", width = 15)
private String contactsName20;
/**
* 企业联系人手机号20
*/
@Excel(name = "企业联系人手机号20", width = 17)
private String contactsPhone20;
/**
* 企业联系人邮箱20
*/
@Excel(name = "企业联系人邮箱20", width = 15)
private String contactsEmail20;
/**
* 联系人备注20
*/
@Excel(name = "联系人备注20", width = 15)
private String remarks20;
}
@@ -0,0 +1,444 @@
package com.jero.functionalsafetycenter.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import java.util.List;
/**
* 功能安全中心成员
*
* @author liJiaRao
* @date 2024-06-12 16:40
*/
@Data
public class SafetyCenterSubitemImport {
/**
* 成员单位
*/
@ApiModelProperty(value = "成员单位")
@Excel(name = "成员单位", needMerge = true)
private String companyName;
/**
* 备注
*/
@ApiModelProperty(value = "备注")
@Excel(name = "备注", needMerge = true)
private String remarks;
/**
* 企业联系人列表
*/
@ApiModelProperty(value = "企业联系人列表")
private List<SafetyCenterSubitemContactsImport> contactsList;
/**
* 企业联系人名称1
*/
@Excel(name = "企业联系人1", width = 15)
private String contactsName1;
/**
* 企业联系人手机号1
*/
@Excel(name = "企业联系人手机号1", width = 17)
private String contactsPhone1;
/**
* 企业联系人邮箱1
*/
@Excel(name = "企业联系人邮箱1", width = 15)
private String contactsEmail1;
/**
* 联系人备注1
*/
@Excel(name = "联系人备注1", width = 15)
private String remarks1;
/**
* 企业联系人名称2
*/
@Excel(name = "企业联系人2", width = 15)
private String contactsName2;
/**
* 企业联系人手机号2
*/
@Excel(name = "企业联系人手机号2", width = 17)
private String contactsPhone2;
/**
* 企业联系人邮箱2
*/
@Excel(name = "企业联系人邮箱2", width = 15)
private String contactsEmail2;
/**
* 联系人备注2
*/
@Excel(name = "联系人备注2", width = 15)
private String remarks2;
/**
* 企业联系人名称3
*/
@Excel(name = "企业联系人3", width = 15)
private String contactsName3;
/**
* 企业联系人手机号3
*/
@Excel(name = "企业联系人手机号3", width = 17)
private String contactsPhone3;
/**
* 企业联系人邮箱3
*/
@Excel(name = "企业联系人邮箱3", width = 15)
private String contactsEmail3;
/**
* 联系人备注3
*/
@Excel(name = "联系人备注3", width = 15)
private String remarks3;
/**
* 企业联系人名称4
*/
@Excel(name = "企业联系人4", width = 15)
private String contactsName4;
/**
* 企业联系人手机号4
*/
@Excel(name = "企业联系人手机号4", width = 17)
private String contactsPhone4;
/**
* 企业联系人邮箱4
*/
@Excel(name = "企业联系人邮箱4", width = 15)
private String contactsEmail4;
/**
* 联系人备注4
*/
@Excel(name = "联系人备注4", width = 15)
private String remarks4;
/**
* 企业联系人名称5
*/
@Excel(name = "企业联系人5", width = 15)
private String contactsName5;
/**
* 企业联系人手机号5
*/
@Excel(name = "企业联系人手机号5", width = 17)
private String contactsPhone5;
/**
* 企业联系人邮箱5
*/
@Excel(name = "企业联系人邮箱5", width = 15)
private String contactsEmail5;
/**
* 联系人备注5
*/
@Excel(name = "联系人备注5", width = 15)
private String remarks5;
/**
* 企业联系人名称6
*/
@Excel(name = "企业联系人6", width = 15)
private String contactsName6;
/**
* 企业联系人手机号6
*/
@Excel(name = "企业联系人手机号6", width = 17)
private String contactsPhone6;
/**
* 企业联系人邮箱6
*/
@Excel(name = "企业联系人邮箱6", width = 15)
private String contactsEmail6;
/**
* 联系人备注6
*/
@Excel(name = "联系人备注6", width = 15)
private String remarks6;
/**
* 企业联系人名称7
*/
@Excel(name = "企业联系人7", width = 15)
private String contactsName7;
/**
* 企业联系人手机号7
*/
@Excel(name = "企业联系人手机号7", width = 17)
private String contactsPhone7;
/**
* 企业联系人邮箱7
*/
@Excel(name = "企业联系人邮箱7", width = 15)
private String contactsEmail7;
/**
* 联系人备注7
*/
@Excel(name = "联系人备注7", width = 15)
private String remarks7;
/**
* 企业联系人名称8
*/
@Excel(name = "企业联系人8", width = 15)
private String contactsName8;
/**
* 企业联系人手机号8
*/
@Excel(name = "企业联系人手机号8", width = 17)
private String contactsPhone8;
/**
* 企业联系人邮箱8
*/
@Excel(name = "企业联系人邮箱8", width = 15)
private String contactsEmail8;
/**
* 联系人备注8
*/
@Excel(name = "联系人备注8", width = 15)
private String remarks8;
/**
* 企业联系人名称9
*/
@Excel(name = "企业联系人9", width = 15)
private String contactsName9;
/**
* 企业联系人手机号9
*/
@Excel(name = "企业联系人手机号9", width = 17)
private String contactsPhone9;
/**
* 企业联系人邮箱9
*/
@Excel(name = "企业联系人邮箱9", width = 15)
private String contactsEmail9;
/**
* 联系人备注9
*/
@Excel(name = "联系人备注9", width = 15)
private String remarks9;
/**
* 企业联系人名称10
*/
@Excel(name = "企业联系人10", width = 15)
private String contactsName10;
/**
* 企业联系人手机号10
*/
@Excel(name = "企业联系人手机号10", width = 17)
private String contactsPhone10;
/**
* 企业联系人邮箱10
*/
@Excel(name = "企业联系人邮箱10", width = 15)
private String contactsEmail10;
/**
* 联系人备注10
*/
@Excel(name = "联系人备注10", width = 15)
private String remarks10;
/**
* 企业联系人名称11
*/
@Excel(name = "企业联系人11", width = 15)
private String contactsName11;
/**
* 企业联系人手机号11
*/
@Excel(name = "企业联系人手机号11", width = 17)
private String contactsPhone11;
/**
* 企业联系人邮箱11
*/
@Excel(name = "企业联系人邮箱11", width = 15)
private String contactsEmail11;
/**
* 联系人备注11
*/
@Excel(name = "联系人备注11", width = 15)
private String remarks11;
/**
* 企业联系人名称12
*/
@Excel(name = "企业联系人12", width = 15)
private String contactsName12;
/**
* 企业联系人手机号12
*/
@Excel(name = "企业联系人手机号12", width = 17)
private String contactsPhone12;
/**
* 企业联系人邮箱12
*/
@Excel(name = "企业联系人邮箱12", width = 15)
private String contactsEmail12;
/**
* 联系人备注12
*/
@Excel(name = "联系人备注12", width = 15)
private String remarks12;
/**
* 企业联系人名称13
*/
@Excel(name = "企业联系人13", width = 15)
private String contactsName13;
/**
* 企业联系人手机号13
*/
@Excel(name = "企业联系人手机号13", width = 17)
private String contactsPhone13;
/**
* 企业联系人邮箱13
*/
@Excel(name = "企业联系人邮箱13", width = 15)
private String contactsEmail13;
/**
* 联系人备注13
*/
@Excel(name = "联系人备注13", width = 15)
private String remarks13;
/**
* 企业联系人名称14
*/
@Excel(name = "企业联系人14", width = 15)
private String contactsName14;
/**
* 企业联系人手机号14
*/
@Excel(name = "企业联系人手机号14", width = 17)
private String contactsPhone14;
/**
* 企业联系人邮箱14
*/
@Excel(name = "企业联系人邮箱14", width = 15)
private String contactsEmail14;
/**
* 联系人备注14
*/
@Excel(name = "联系人备注14", width = 15)
private String remarks14;
/**
* 企业联系人名称15
*/
@Excel(name = "企业联系人15", width = 15)
private String contactsName15;
/**
* 企业联系人手机号15
*/
@Excel(name = "企业联系人手机号15", width = 17)
private String contactsPhone15;
/**
* 企业联系人邮箱15
*/
@Excel(name = "企业联系人邮箱15", width = 15)
private String contactsEmail15;
/**
* 联系人备注15
*/
@Excel(name = "联系人备注15", width = 15)
private String remarks15;
/**
* 企业联系人名称16
*/
@Excel(name = "企业联系人16", width = 15)
private String contactsName16;
/**
* 企业联系人手机号16
*/
@Excel(name = "企业联系人手机号16", width = 17)
private String contactsPhone16;
/**
* 企业联系人邮箱16
*/
@Excel(name = "企业联系人邮箱16", width = 15)
private String contactsEmail16;
/**
* 联系人备注16
*/
@Excel(name = "联系人备注16", width = 15)
private String remarks16;
/**
* 企业联系人名称17
*/
@Excel(name = "企业联系人17", width = 15)
private String contactsName17;
/**
* 企业联系人手机号17
*/
@Excel(name = "企业联系人手机号17", width = 17)
private String contactsPhone17;
/**
* 企业联系人邮箱17
*/
@Excel(name = "企业联系人邮箱17", width = 15)
private String contactsEmail17;
/**
* 联系人备注17
*/
@Excel(name = "联系人备注17", width = 15)
private String remarks17;
/**
* 企业联系人名称18
*/
@Excel(name = "企业联系人18", width = 15)
private String contactsName18;
/**
* 企业联系人手机号18
*/
@Excel(name = "企业联系人手机号18", width = 17)
private String contactsPhone18;
/**
* 企业联系人邮箱18
*/
@Excel(name = "企业联系人邮箱18", width = 15)
private String contactsEmail18;
/**
* 联系人备注18
*/
@Excel(name = "联系人备注18", width = 15)
private String remarks18;
/**
* 企业联系人名称19
*/
@Excel(name = "企业联系人19", width = 15)
private String contactsName19;
/**
* 企业联系人手机号19
*/
@Excel(name = "企业联系人手机号19", width = 17)
private String contactsPhone19;
/**
* 企业联系人邮箱19
*/
@Excel(name = "企业联系人邮箱19", width = 15)
private String contactsEmail19;
/**
* 联系人备注19
*/
@Excel(name = "联系人备注19", width = 15)
private String remarks19;
/**
* 企业联系人名称20
*/
@Excel(name = "企业联系人20", width = 15)
private String contactsName20;
/**
* 企业联系人手机号20
*/
@Excel(name = "企业联系人手机号20", width = 17)
private String contactsPhone20;
/**
* 企业联系人邮箱20
*/
@Excel(name = "企业联系人邮箱20", width = 15)
private String contactsEmail20;
/**
* 联系人备注20
*/
@Excel(name = "联系人备注20", width = 15)
private String remarks20;
}
@@ -68,8 +68,9 @@ public class IndexController {
@ApiOperation(value = "科室总体统计")
@GetMapping(value = "/overallDepartmentStatistics")
public Result<List<HistogramVO>> overallDepartmentStatistics(@RequestParam(name = "year",required = false) String year) {
List<HistogramVO> histogramVOS = indexService.overallDepartmentStatistics(year);
public Result<List<HistogramVO>> overallDepartmentStatistics(@RequestParam(name = "year",required = false) String year,
@RequestParam(name = "type",required = false) String type) {
List<HistogramVO> histogramVOS = indexService.overallDepartmentStatistics(year,type);
return Result.OK(histogramVOS);
}
@@ -77,20 +78,22 @@ public class IndexController {
@ApiOperation(value = "收入分类统计")
@GetMapping(value = "/incomeClassificationStatistics")
public Result<List<PieChartVO>> incomeClassificationStatistics(@RequestParam(name="type", defaultValue = "1")Integer type,
@RequestParam(name="projectType", defaultValue = "2")Integer projectType,
@RequestParam(name="departCode",required = false)String departCode,
@RequestParam(name="year",required = false)String year) {
if (Objects.equals(type,1)){
List<PieChartVO> pieChartVOS = indexService.totalAmountClassificationStatistics("allMoney", type,departCode,year);
return Result.OK(pieChartVOS);
}else if (Objects.equals(type,2)){
List<PieChartVO> pieChartVOS = indexService.totalAmountClassificationStatistics("no_tax_amount", type, departCode, year);
return Result.OK(pieChartVOS);
}else if (Objects.equals(type,3)){
List<PieChartVO> pieChartVOS = indexService.totalAmountClassificationStatistics("allMoney", type, departCode, year);
return Result.OK(pieChartVOS);
String column;
//应收收入分析
if (Objects.equals(type,1)||Objects.equals(type,3)){
column = "allMoney";
}else
//确收
if (Objects.equals(type,2)){
column = "no_tax_amount";
}else {
return Result.OK();
}
List<PieChartVO> pieChartVOS = indexService.totalAmountClassificationStatistics(column, type,departCode,year,projectType);
return Result.OK(pieChartVOS);
}
@ApiOperation(value = "企业客户统计(年度待确收金额前二十)")
@@ -182,12 +182,15 @@ public class IndexService {
return list;
}
public List<HistogramVO> overallDepartmentStatistics(String year) {
public List<HistogramVO> overallDepartmentStatistics(String year, String type) {
if(StringUtils.isBlank(year)){
year = String.valueOf(DateUtil.year(new DateTime()));
}
List<DepartStatistics> records = payWorkingGroupMapper.overallDepartmentStatistics(year);
List<DepartStatistics> all = payWorkingGroupMapper.allDepartmentStatistics(year);
if(StringUtils.isBlank(type)){
type = "1";
}
List<DepartStatistics> records = payWorkingGroupMapper.overallDepartmentStatistics(year,type);
List<DepartStatistics> all = payWorkingGroupMapper.allDepartmentStatistics(year,type);
for (DepartStatistics a : all) {
String departName = a.getDepartName();
for (DepartStatistics record : records) {
@@ -223,9 +226,9 @@ public class IndexService {
divide = BigDecimal.ZERO;
}else {
divide = money
.divide(all,3,RoundingMode.HALF_DOWN)
.divide(all,4,RoundingMode.HALF_DOWN)
.multiply(new BigDecimal(100))
.setScale(1, RoundingMode.UNNECESSARY);
.setScale(2, RoundingMode.UNNECESSARY);
}
histogramVO.setValue(divide.toString());
histogramVOlist.add(histogramVO);
@@ -242,7 +245,7 @@ public class IndexService {
companyComeMoneySearch.setYear(year);
companyComeMoneySearch.setColumn("allMoney");
companyComeMoneySearch.setOrder("desc");
IPage<CompanyComeMoneyList> pageList = payWorkingGroupService.queryPageListForCompany(page, companyComeMoneySearch, null);
IPage<CompanyComeMoneyList> pageList = payWorkingGroupService.queryPageListForCompanyIndex(page, companyComeMoneySearch, null);
List<CompanyComeMoneyList> records = pageList.getRecords();
return convertCompanyComeMoneyList(records);
@@ -265,17 +268,29 @@ public class IndexService {
}
public List<PieChartVO> totalAmountClassificationStatistics(String column, Integer type, String departCode, String year) {
public List<PieChartVO> totalAmountClassificationStatistics(String column, Integer type, String departCode, String year, Integer projectType) {
if (StringUtils.isBlank(year)){
year = String.valueOf(DateUtil.year(new DateTime()));
}
List<AmountClassDTO> amountClassDTOS;
//收入分析
if (Objects.equals(type,3)){
amountClassDTOS = payWorkingGroupMapper.amountClass1(year,column,departCode);
}else if (Objects.equals(type,2)){
if (Objects.equals(projectType,1)){
amountClassDTOS = payWorkingGroupMapper.amountClassPack1(year,column,departCode);
}else {
amountClassDTOS = payWorkingGroupMapper.amountClass1(year,column,departCode);
}
}else
//确收
if (Objects.equals(type,2)){
amountClassDTOS = payWorkingGroupMapper.amountClass(year,column,departCode,type);
}else {
amountClassDTOS = payWorkingGroupMapper.amountClass2(year,column,departCode,type);
//应收
if (Objects.equals(projectType,1)){
amountClassDTOS = payWorkingGroupMapper.amountClassPack2(year,column,departCode,type);
}else {
amountClassDTOS = payWorkingGroupMapper.amountClass2(year,column,departCode,type);
}
}
Map<String, BigDecimal> decimalMap = amountClassDTOS.stream().collect(Collectors.toMap(AmountClassDTO::getChargeUse, AmountClassDTO::getMoney));
//获取所有类型
@@ -292,9 +307,9 @@ public class IndexService {
divide = BigDecimal.ZERO;
}else {
divide = money
.divide(all,3,RoundingMode.HALF_DOWN)
.divide(all,4,RoundingMode.HALF_DOWN)
.multiply(new BigDecimal(100))
.setScale(1, RoundingMode.UNNECESSARY);
.setScale(2, RoundingMode.UNNECESSARY);
}
pieChartVO.setValue(String.valueOf(divide));
@@ -345,9 +360,9 @@ public class IndexService {
divide = BigDecimal.ZERO;
}else {
divide = one
.divide(all,3,RoundingMode.HALF_DOWN)
.divide(all,4,RoundingMode.HALF_DOWN)
.multiply(new BigDecimal(100))
.setScale(1, RoundingMode.UNNECESSARY);
.setScale(2, RoundingMode.UNNECESSARY);
}
uncollectedPieChartVO.setValue(divide.toString());
}
@@ -24,6 +24,10 @@ public interface constant {
*/
public static final String SLD="sld";
/**
* 财务
*/
public static final String CWRY="cwry";
/**
* 超级管理员
*/
@@ -72,7 +72,7 @@ public interface PayMailBillMapper extends BaseMapper<PayMailBill> {
PayContactsManagement print(@Param("id") String id);
Integer updateByProjectId(@Param("updated") PayMailBill payMailBill, @Param("projectId") String projectId);
Integer updateByProjectId(@Param("updated") PayMailBill payMailBill, @Param("idList") List<String> idList);
Integer updateTax(@Param("id") String id);
@@ -1,17 +1,26 @@
package com.jero.mail.mapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.mail.entity.PayMailBillProject;
import io.lettuce.core.dynamic.annotation.Param;
import java.math.BigDecimal;
import java.util.stream.Collectors;
/**
* @Description: pay_mail_bill_project
* @Author: jeecg-boot
* @Date: 2021-08-31
* @Date: 2021-08-31
* @Version: V1.0
*/
public interface PayMailBillProjectMapper extends BaseMapper<PayMailBillProject> {
default List<String> selectBillIdByProjectId(String projectId) {
LambdaQueryWrapper<PayMailBillProject> myQuery = Wrappers.lambdaQuery(PayMailBillProject.class);
myQuery.eq(PayMailBillProject::getProjectId, projectId);
myQuery.select(PayMailBillProject::getBillId);
return selectList(myQuery).stream().map(PayMailBillProject::getBillId).collect(Collectors.toList());
}
}
@@ -197,11 +197,10 @@
</if>
</set>
<where>
id in (
select bill_id
from pay_mail_bill_project
where project_id = #{projectId}
)
id in
<foreach item="item" index="index" collection="idList" open="(" separator="," close=")">
#{item}
</foreach>
and post_status = 0
</where>
</update>
@@ -10,6 +10,7 @@ import com.jero.mail.entity.PayMailBill;
import com.jero.mail.vo.PayMailBillVO;
import com.jero.member.enums.StandardsTypeEnum;
import java.math.BigDecimal;
import java.util.List;
/**
@@ -44,6 +45,8 @@ public interface IPayMailBillService extends IService<PayMailBill> {
*/
Result<?> addPayBill(PayMailBillVO payMailBill);
int getMakeInvoice(BigDecimal amountReceivable, Integer needInvoice, BigDecimal invoiceAmount);
/**
* 编辑开票
* @param payMailBillVo
@@ -1,5 +1,6 @@
package com.jero.mail.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -16,7 +17,6 @@ import com.jero.common.enums.ManagementMessageEnums;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.SendMessageService;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.AuthenticationUtils;
import com.jero.common.util.PasswordUtil;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
@@ -25,7 +25,6 @@ import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.config.StaticConfig;
import com.jero.contract.common.PayIncomeContractCommon;
import com.jero.mail.entity.BillingInfo;
import com.jero.mail.entity.PayMailBill;
import com.jero.mail.entity.PayMailBillProject;
import com.jero.mail.mapper.PayMailBillMapper;
@@ -40,7 +39,6 @@ import com.jero.meeting.mapper.PayMeetingSituationMapper;
import com.jero.meeting.service.IPayMeetingService;
import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.member.entity.*;
import com.jero.member.enums.StandardsTypeEnum;
import com.jero.member.mapper.*;
import com.jero.member.service.*;
import com.jero.modules.system.entity.SysUser;
@@ -607,7 +605,10 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
mailBill.setPostalCode(payMailBill.getPostalCode());
mailBill.setContactAddress(payMailBill.getContactAddress());
}
payMailBillMapper.updateByProjectId(mailBill,projectId);
List<String> idList = payMailBillProjectMapper.selectBillIdByProjectId(projectId);
if (CollectionUtil.isNotEmpty(idList)){
payMailBillMapper.updateByProjectId(mailBill,idList);
}
}
@Override
@@ -754,28 +755,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
break;
}
if(amountReceivable==null){
amountReceivable =new BigDecimal("0");
}
BigDecimal zero =new BigDecimal("0");
//应收=0 || 不需要开票
if(amountReceivable.compareTo(zero)==0 || needInvoice.equals(0)){
makeInvoice= 3;
}
//应收>开票总额 && 开票总额!=0
if(amountReceivable.compareTo(invoiceAmount) == 1 && !(invoiceAmount.compareTo(zero) == 0)){
makeInvoice= 2;
}
//开票总额>=应收
if(invoiceAmount.compareTo(amountReceivable) > -1){
makeInvoice= 1;
}
//开票总额为0
if(invoiceAmount.compareTo(zero)==0){
makeInvoice= 0;
}
makeInvoice = getMakeInvoice(amountReceivable, needInvoice, invoiceAmount);
//更新项目表开票状态
switch (payMailBillProject.getProjectType().toString()) {
@@ -844,6 +824,43 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
}
}
/**
* 根据带确收金额和开票金额获得开票状态
* @param amountReceivable
* @param needInvoice
* @param invoiceAmount
* @return
*/
@Override
public int getMakeInvoice(BigDecimal amountReceivable, Integer needInvoice, BigDecimal invoiceAmount) {
int makeInvoice = 4;
if(amountReceivable==null){
amountReceivable =new BigDecimal("0");
}
if(invoiceAmount==null){
invoiceAmount =new BigDecimal("0");
}
BigDecimal zero = new BigDecimal("0");
//应收=0 || 不需要开票
if (amountReceivable.compareTo(zero) == 0 || needInvoice.equals(0)) {
makeInvoice = 3;
}
//应收>开票总额 && 开票总额!=0
if (amountReceivable.compareTo(invoiceAmount) == 1 && !(invoiceAmount.compareTo(zero) == 0)) {
makeInvoice = 2;
}
//开票总额>=应收
if (invoiceAmount.compareTo(amountReceivable) > -1) {
makeInvoice = 1;
}
//开票总额为0
if (invoiceAmount.compareTo(zero) == 0) {
makeInvoice = 0;
}
return makeInvoice;
}
//校验不同项目是否属于同一个公司开票金额是否大于当前未开票金额企业名称是否审核
private String checkCompanyProject(List<PayMailBillProject> bmpList) {
@@ -1311,28 +1328,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
break;
}
if(amountReceivable==null){
amountReceivable =new BigDecimal("0");
}
BigDecimal zero =new BigDecimal("0");
//应收=0 || 不需要开票
if(amountReceivable.compareTo(zero)==0 || needInvoice.equals(0)){
makeInvoice= 3;
}
//应收>开票总额 && 开票总额!=0
if(amountReceivable.compareTo(invoiceAmount) == 1 && !(invoiceAmount.compareTo(zero) == 0)){
makeInvoice= 2;
}
//开票总额>=应收
if(invoiceAmount.compareTo(amountReceivable) > -1){
makeInvoice= 1;
}
//开票总额为0
if(invoiceAmount.compareTo(zero)==0){
makeInvoice= 0;
}
makeInvoice = getMakeInvoice(amountReceivable, needInvoice, invoiceAmount);
//更新项目表开票状态
switch (payMailBillProject.getProjectType().toString()) {
@@ -1662,28 +1658,8 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
default:
break;
}
if(amountReceivable==null){
amountReceivable =new BigDecimal("0");
}
BigDecimal zero =new BigDecimal("0");
//应收=0 || 不需要开票
if(amountReceivable.compareTo(zero)==0 || needInvoice.equals(0)){
makeInvoice= 3;
}
//应收>开票总额 && 开票总额!=0
if(amountReceivable.compareTo(invoiceAmount) == 1 && !(invoiceAmount.compareTo(zero) == 0)){
makeInvoice= 2;
}
//开票总额>=应收
if(invoiceAmount.compareTo(amountReceivable) > -1){
makeInvoice= 1;
}
//开票总额为0
if(invoiceAmount.compareTo(zero)==0){
makeInvoice= 0;
}
makeInvoice = getMakeInvoice(amountReceivable, needInvoice, invoiceAmount);
//更新项目表开票状态
switch (oldBmp.getProjectType().toString()) {
@@ -64,6 +64,22 @@ public class MeetingCommon {
* 起草组会议
*/
public final static Integer DRAFTING_GROUP_MEETING_INT = 7;
/**
* 海外会议
*/
public final static String OVERSEAS_MEETING = "8";
/**
* 海外会议
*/
public final static Integer OVERSEAS_MEETING_INT = 8;
/**
* 安全中心会议
*/
public final static String SAFETY_CENTER_MEETING = "9";
/**
* 安全中心会议
*/
public final static Integer SAFETY_CENTER_MEETING_INT = 9;
/**
* 标准宣贯
*/
@@ -94,7 +94,7 @@ public class MeetingSubitemCommon {
*/
public static final Integer SIGNUP_STATUS_2 = 2;
/**
* 需要缴费-非成员已报名审核
* 需要缴费-非成员已报名审核
*/
public static final Integer REGISTER_PROCESS_1 = 1;
/**
@@ -102,7 +102,7 @@ public class MeetingSubitemCommon {
*/
public static final Integer REGISTER_PROCESS_2 = 2;
/**
* 需要缴费-付款方式为汇款现场缴费
* 需要缴费-付款方式为汇款现场缴费 待上传凭证
*/
public static final Integer REGISTER_PROCESS_3 = 3;
/**
@@ -122,23 +122,23 @@ public class MeetingSubitemCommon {
*/
public static final Integer REGISTER_PROCESS_7 = 7;
/**
* 需要缴费-付款方式为汇款 的先签到 但是没有上传凭证 报名状态为已签到
* 需要缴费-付款方式为汇款 的先签到 但是没有上传凭证 报名状态为已签到-待上传凭证
*/
public static final Integer REGISTER_PROCESS_8 = 8;
/**
* 需要缴费-付款方式为汇款 的先签到 但是没有上传凭证 报名状态为已签到
* 需要缴费-付款方式为汇款 的先签到 但是没有上传凭证 报名状态为已签到-凭证待审核
*/
public static final Integer REGISTER_PROCESS_9 = 9;
/**
* 需要缴费-付款方式为汇款 的先签到 但是没有上传凭证 报名状态为已签到
* 需要缴费-付款方式为汇款 的先签到 但是没有上传凭证 报名状态为已签到-凭证被拒绝
*/
public static final Integer REGISTER_PROCESS_10 = 10;
/**
* 需要缴费-付款方式为汇款 的先签到 但是没有上传凭证 报名状态为已签到
* 需要缴费-付款方式为汇款 的先签到 但是没有上传凭证 报名状态为已签到-缴费成功
*/
public static final Integer REGISTER_PROCESS_11 = 11;
/**
* 不需要缴费-非成员已报名审核
* 不需要缴费-非成员已报名审核
*/
public static final Integer REGISTER_PROCESS_12 = 12;
/**
@@ -11,40 +11,29 @@ import com.jero.common.exception.JeroBootException;
import com.jero.common.service.RolePermissionService;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.AuthenticationUtils;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.meeting.common.MeetingCommon;
import com.jero.meeting.entity.PayMeeting;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.service.IPayMeetingService;
import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.meeting.vo.*;
import com.jero.meeting.vo.excel.*;
import com.jero.project.common.PayProjectCommon;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -85,7 +74,9 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
if (StringUtils.isBlank(meetingId)) {
throw new JeroBootException("会议id不能为空");
}
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
Map<String, String[]> parameterMap = req.getParameterMap();
parameterMap.remove("column");
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, parameterMap);
String particularYear = req.getParameter("particularYear");
if (StringUtils.isNotBlank(particularYear)) {
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )", particularYear);
@@ -179,7 +170,7 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
@ApiOperation(value = "参会人员信息-通过会议id查询自己的参会人信息")
@GetMapping(value = "/queryByMeetingId")
public Result<?> queryByMeetingId(@RequestParam(name = "meetingId") String meetingId) {
PayMeetingSituation payMeetingSituation = payMeetingSituationService.queryByMeetingIdAndContactId(meetingId);
PayMeetingSituation payMeetingSituation = payMeetingSituationService.queryByMeetingId(meetingId);
if (payMeetingSituation == null) {
return Result.error("未找到对应数据");
}

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