1 基本说明
1.1 集团系统
01.WIFI信息
a.门禁
海康云眸Lite
b.WIFI
http://192.168.1.253:8888/wifi
zkzx
zkzx20210902
c.WIFI
Science And Technology Center
glkxjjjs
d.WIFI
Provisional Institutions
whxjzgxf
-----------------------------------------------------------------------------------------------------
IPv4 地址 10.0.100.212
IPv4 DNS 服务器 202.99.192.68 114.114.114.114
e.WIFI
ZKZX_2578
9952Gs\2
f.NetWork
网络接口 设备名 MAC 地址
Wi-Fi en1 d0:11:e5:75:32:43
Ethernet(有线网卡) en0 d0:11:e5:6b:f4:b2
Ethernet Adapter en5 76:a8:15:f3:97:f2
Ethernet Adapter en6 76:a8:15:f3:97:f3
Ethernet Adapter en7 76:a8:15:f3:97:f5
Thunderbolt Bridge bridge0 36:11:9c:c4:e3:40
Thunderbolt 1/2/4 en2/en3/en4 36:11:9c:c4:e3:40/44/4c
-----------------------------------------------------------------------------------------------------
最常用的两个:
Wi-Fi MAC: d0:11:e5:75:32:43
有线网卡 MAC: d0:11:e5:6b:f4:b2
02.路桥集团
a.Gitlab
地址:10.10.20.39
账号:zhgh
密码:qeER159263
邮箱:[email protected]
令牌:_6y4MHGz_kGD6My2bZR7
b.Gitlab
地址:10.0.7.27
账号:zhangyu
密码:123123..
c.服务情况
nacos 10.10.20.39:8848/nacos nacos Zkzx@2025
mysql 10.10.20.39:3306 root Tpccn@8710881 sxlq_zhgh 本地是mysql5.7.36、远程是mysql8.0.42
redis 10.10.20.39:6379 Tpccn@8710881
d.数据库
网址:10.10.20.41
账号:root
密码:[email protected]
e.数据库
网址:10.10.20.39
账号:root
密码:[email protected]
f.数据库
网址:jdbc:informix-sqli://10.10.20.39:9088/luqiao_tenderservice:INFORMIXSERVER=gbase01;CLIENT_LOCALE=zh_cn.utf8;NEWCODESET=UTF8,zh_cn.UTF8,57372;DB_LOCALE=zh_cn.utf8;IFX_USE_STRENC=true;
账号:informix
密码:GBase123
03.阿里云空间
a.codeup
zhgh-web https://codeup.aliyun.com/6978119e58acb3fac7af052e/sxlq/zhgh-web.git
zhgh-h5 https://codeup.aliyun.com/6978119e58acb3fac7af052e/sxlq/zhgh-h5.git
zhgh-app https://codeup.aliyun.com/6978119e58acb3fac7af052e/sxlq/zhgh-app.git
sxlq-zhgh-time https://codeup.aliyun.com/6978119e58acb3fac7af052e/sxlq/sxlq-zhgh-time.git
sxlq-zhgh-server https://codeup.aliyun.com/6978119e58acb3fac7af052e/sxlq/sxlq-zhgh-server.git
zhgh-docs https://codeup.aliyun.com/6978119e58acb3fac7af052e/team-zy/zhgh-docs.git
b.HTTPS密码/git-pull
主邮箱:[email protected]
克隆账号:93789345281512611
克隆密码:6rBHkhfdFw.BjgU
c.个人访问令牌
pt-3x75eeDUqBCcMheP58CcA9A6_f78434c3-6d10-4118-982f-b3aa62d84854,20260127
d.仓库验证
TOKEN="pt-3x75eeDUqBCcMheP58CcA9A6_f78434c3-6d10-4118-982f-b3aa62d84854"
GIT_SERVER="https://codeup.aliyun.com/6978119e58acb3fac7af052e"
USERNAME="6978119e58acb3fac7af052e"
04.电子商务平台
a.测试服务器
10.0.7.28
b.jenlins
http://10.0.7.28:8080
ZKZXADMIN
Zkzx123!@#
c.nacos
http://10.0.7.28:8848/nacos
nacos
Zkzx123!@#
d.kkfileview
http://10.0.7.28:8012
e.redis
host: 10.0.7.28
port: 6379
database: 1
password: Zkzx..
f.datasource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://10.0.7.28:3306/system_server?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: root
password: Zkzx123!@#
05.Gitlab1
a.分类1
ssh://[email protected]:222/zkzx-layer/auth-service.git --统一认证服务
ssh://[email protected]:222/zkzx-layer/dmp-gather.git --数据采集服务
ssh://[email protected]:222/zkzx-layer/dmp-govern.git --数据治理服务
ssh://[email protected]:222/zkzx-layer/dmp-open.git --数据开放服务
ssh://[email protected]:222/zkzx-layer/dmp-parent.git --DPM父工程
b.分类2
ssh://[email protected]:222/zkzx-layer/document.git --文档服务
ssh://[email protected]:222/zkzx-layer/test-service.git --测试服务
ssh://[email protected]:222/zkzx-layer/es-service.git --搜索服务
ssh://[email protected]:222/zkzx-layer/gateway.git --统一网关
ssh://[email protected]:222/zkzx-layer/gen-server.git --代码生成服务
c.分类3
ssh://[email protected]:222/zkzx-layer/layer-core.git --核心组件库
ssh://[email protected]:222/zkzx-layer/layer-db.git --数据库组件
ssh://[email protected]:222/zkzx-layer/layer-monomer.git --单体服务模块
ssh://[email protected]:222/zkzx-layer/layer-monomer-web.git --单体Web模块
ssh://[email protected]:222/zkzx-layer/layer-nacos.git --Nacos配置
d.分类4
ssh://[email protected]:222/zkzx-layer/layer-parent.git --Layer父工程
ssh://[email protected]:222/zkzx-layer/layer-sentinel.git --Sentinel熔断限流
ssh://[email protected]:222/zkzx-layer/layer-web.git --Web组件
ssh://[email protected]:222/zkzx-layer/readme.git --项目说明
ssh://[email protected]:222/zkzx-layer/report-service.git --报表服务
e.分类5
ssh://[email protected]:222/zkzx-layer/sys-service.git --系统管理服务
ssh://[email protected]:222/zkzx-layer/workflow-service.git --工作流服务
ssh://[email protected]:222/yanfa/zkzx-fileview.git --文件预览组件
ssh://[email protected]:222/yanfa/zkzx-upload.git --文件上传组件
f.陵川县交旅融合信息化
git clone ssh://[email protected]:222/zkzx-lcjl-20251225/zkzx-lcjl.git
git clone http://zhangyu:[email protected]/zkzx-lcjl-20251225/zkzx-lcjl.git
-----------------------------------------------------------------------------------------------------
203.207.100.74:53306
root
zkzx@2022
-----------------------------------------------------------------------------------------------------
http://lcjl.lczf.cn:50003/hotel/login
haomeng
haomeng@1234
06.Gitlab2
a.分类1-DMP服务
a.说明
数据管理平台核心服务层,负责数据的全生命周期管理。
b.服务列表
仓库名称 说明 Git地址
auth-service 统一认证服务 zkzx-layer/auth-service
dmp-gather 数据采集服务 zkzx-layer/dmp-gather
dmp-govern 数据治理服务 zkzx-layer/dmp-govern
dmp-open 数据开放服务 zkzx-layer/dmp-open
dmp-parent DPM父工程 zkzx-layer/dmp-parent
b.分类2-基础服务
a.说明
提供系统运行所需的基础支撑服务。
b.服务列表
仓库名称 说明 Git地址
document 文档服务 zkzx-layer/document
test-service 测试服务 zkzx-layer/test-service
es-service 搜索服务 zkzx-layer/es-service
gateway 统一网关 zkzx-layer/gateway
gen-server 代码生成服务 zkzx-layer/gen-server
c.分类3-核心组件
a.说明
封装的核心业务组件和通用功能模块。
b.组件列表
仓库名称 说明 Git地址
layer-core 核心组件库 zkzx-layer/layer-core
layer-db 数据库组件 zkzx-layer/layer-db
layer-monomer 单体服务模块 zkzx-layer/layer-monomer
layer-monomer-web 单体Web模块 zkzx-layer/layer-monomer-web
layer-nacos Nacos配置 zkzx-layer/layer-nacos
d.分类4-基础框架
a.说明
微服务架构的基础框架和父工程配置。
b.框架列表
仓库名称 说明 Git地址
layer-parent Layer父工程 zkzx-layer/layer-parent
layer-sentinel Sentinel熔断限流 zkzx-layer/layer-sentinel
layer-web Web组件 zkzx-layer/layer-web
readme 项目说明 zkzx-layer/readme
report-service 报表服务 zkzx-layer/report-service
e.分类5-业务服务
a.说明
具体的业务功能服务实现。
b.服务列表
仓库名称 说明 Git地址
sys-service 系统管理服务 zkzx-layer/sys-service
workflow-service 工作流服务 zkzx-layer/workflow-service
zkzx-fileview 文件预览组件 yanfa/zkzx-fileview
zkzx-upload 文件上传组件 yanfa/zkzx-upload
1.2 公司系统
01.常用信息1
a.Gitlab
a.说明1
地址:http://192.168.1.249,旧
地址:http://192.168.3.200:80,新,由14.6.1升至18.11.10
地址:http://111.53.193.159:9099/zhgh/sxlq-zhgh-server.git
账号:zhangyu
密码:qeER159263
邮箱:[email protected]
令牌:WUNX6-bz8fyCzCaDa6nT
b.说明2
账号:songjingjing
密码:110999song
令牌:zy896hw72pdjsy9EAssZ,20260112-20260930
c.说明3
GitLab已完成SMTP邮件服务配置,密码找回、令牌创建、系统通知均可正常接收。
如无法收到相关邮件,请自行检查账号内绑定的邮箱信息。
b.Server
a.说明1
nexus 192.168.1.210:8081 zkzx zkzx@123. 废
nexus 192.168.1.249:8081 zkzx zkzx@123. 废
nexus 192.168.3.210:8081 zkzx zkzx@123. 定
b.说明2
nacos 192.168.1.249:8848/nacos zkzx zkzx666
nacos 192.168.1.231:28848/nacos nacos zkzx231
c.说明3
sonar 192.168.1.249:9000
kibana 192.168.1.249:5601
jenkins 192.168.1.249:8080
rocketmq 192.168.1.249:18080
c.统一登录
a.网址
https://www.sxlq.com:7011/cas/login
sunxiaoxiong
mfLMvieg0?R8
b.网址
https://www.sxlq.com:7011/cas/login
songjingjing
Abc123!@#45678
02.常用信息2
a.100
a.数据,mysql
网址:192.168.3.100:23306
账号:root
密码:zkzx@231
-------------------------------------------------------------------------------------------------
账号:sunxiaoxiong
密码:mfLMvieg0?
-------------------------------------------------------------------------------------------------
账户:zhangyu
密码:tpekvPxGR81hm6
账号权限:[email protected].%
库表权限:sxlq_lqzx%,比如【sxlq_lqzx_20260521_165336】
-------------------------------------------------------------------------------------------------
账户:sxlq_lqzx
密码:Lqzx@2026Db!9xk
账号权限:[email protected].%
库表权限:sxlq_lqzx%,比如【sxlq_lqzx_20260521_165336】
b.数据,redis
网址:192.168.3.100:6379
密码:zkzx@100(旧)
密码:无密码(新)
b.103
a.数据,minio
网址:http://192.168.3.103
账号:zkzx
密码:zkzx@103
c.105
a.服务
网址:192.168.3.105
账号:root
密码:zkzx@105
b.面板,baota
网址:http://192.168.3.105:33886/4f2218a2
账号:zkzxroot
密码:QNmsZ~[C9Ws$
转发端口:5980、5990
IP限制:192.168.1.200(智奇),192.168.1.11(自己,wifi),192.168.1.164(自己,网线)
IP限制:192.168.1.177(孙晓雄),192.168.1.177(宋晶晶)
IP限制:192.168.1.200,192.168.1.11,192.168.1.164,192.168.1.177,192.168.1.165
d.200
a.面板,jenkins
网址:http://192.168.3.200:8080/
账号:zkzx
密码:ELm0i2}AN7i!
e.231
a.服务
网址:192.168.1.231
账号:root
密码:[email protected]
03.常用信息3
a.20260414,工会上线
a.说明1
工会先放231服务器
231逐步淘汰,centos7有问题
231服务器,docker跑不起来
nacos别折腾了,直接jar包运行读本地yml
nacos在docker里,231的nacos折腾好也不会继续用了
直接231jar包运行,本地读yml,不用nacos
但是保留nacos的版本,服务器之后弄好再说
b.说明2
前端 pnpm 启动
钉钉 发交易 到 h5页面
钉钉登录不上,光开放端口没用,钉钉登陆需要钉钉管理控制台绑定回调ip
挂的哪个组织的钉钉,钉钉用户和统一登陆用户是两套
1.3 相关网站
01.187
a.1panel
http://101.42.36.187:8090/tencentcloud
1nvyurf67r
qwhl6dxf4y
b.数据库
101.42.36.187:3306
root
mysql_JRK8kp
-----------------------------------------------------------------------------------------------------
101.42.36.187:3306
sxlq_lqzx
7NnHs6CpMixC7B4T
-----------------------------------------------------------------------------------------------------
101.42.36.187:3306
sxlq_zhgh
GSwtEarHj2BawDse
02.100、102、105、231
a.ai
n8n mysla qwER159263 http://192.168.3.102:8094
Dify mysla qwER159263 http://192.168.3.102:8095 dify@2026
Coze mysla qwER159263 http://192.168.3.102:8096
MaxKB admin MaxKB@123.. http://192.168.3.102:8099
SQLBot admin SQLBot@123456 http://192.168.3.102:8098
PostgreSQL root Password123@pg
b.sxlq_cas
https://www.sxlq.com:7011/cas/login
https://ekp.sxlq.com:9000/sys/portal/page.jsp
-----------------------------------------------------------------------------------------------------
zhangyu1
DctD>z:-u#K!
Abcd1234@
-----------------------------------------------------------------------------------------------------
sunxiaoxiong
mfLMvieg0?R8
-----------------------------------------------------------------------------------------------------
songjingjing
Abc123!@#45678
c.sxlq_zhgh
http://111.53.193.159:18080 暴露端口 192.168.1.136:8080
http://111.53.193.159:18081 暴露端口 192.168.1.136:8081
http://111.53.193.159:10003 服务器
admin
xiaoyuan
sunxiaoxiong
ceshi123456@Tp
d.sxlq_lqzx
http://localhost:5980/gys/dashboard?token=lqzx-dev-gys-2026
-----------------------------------------------------------------------------------------------------
http://101.42.36.187/lqzx/web/api/pc/
http://101.42.36.187/lqzx/web/api/ht/
-----------------------------------------------------------------------------------------------------
http://192.168.3.105/lqzx/web/api/pc/
http://192.168.3.105/lqzx/web/api/ht/
-----------------------------------------------------------------------------------------------------
http://111.53.193.159:20010/lqzx/web/api/pc/
http://111.53.193.159:20011/lqzx/web/api/ht/
-----------------------------------------------------------------------------------------------------
admin
gsda_test
gsdb_test
zgh_test
gys_test
-----------------------------------------------------------------------------------------------------
ceshi123456@Tp
供应商,拼音首字母(首字大写,其余小写)+ @lq123.
普通用户,拼音首字母(首字大写,其余小写)+ @lq123!
-----------------------------------------------------------------------------------------------------
yclhnykjyxgs
Yclhnykjyxgs@lq123.
-----------------------------------------------------------------------------------------------------
songxiaoxiong
Sxx@lq123!
-----------------------------------------------------------------------------------------------------
songjingjing
Sjj@lq123!
03.已上线
a.159公网IP
规则名称:zkzx_lqzx_105
协议:IPv4
生效接口:WAN1
外部端口:20010 (1-65535,格式为X或X-X或X,X)
内部端口:80 (1-65535,格式为X或X-X或X,X)
内部服务器IP:192.168.3.105
服务协议:ALL
b.陵川旅游平台
https://lcjl.lczf.cn/cms/foodPromotion
管理员 lcjlgly2022 Lcjlgly@@2022
普通账号 lcjlgly Lcjlgly@@2022
音乐公路 yyglgly yyglgly@1234
七彩太行景区 qcthjq qcthjq@1234
悦太行咖啡 happykafa happykafa@1234
好梦住宿 haomeng haomeng@1234
运管养管理后台 ygygly zkzxygy@2022
陵川网址 https://lcjl.lczf.cn/index
运管养管理后台 http://lcjl.lczf.cn:21002/home
1.4 排查信息
01..服务器说明
a.查看系统
a.参数
Static hostname: localhost.localdomain
Icon name: computer-vm
Chassis: vm
Machine ID: 92305feebc6240b381280ce8ff6aa3e3
Boot ID: 251b94bf7be545dcb731ff19014b83ad
Virtualization: vmware
Operating System: Rocky Linux 8.5 (Green Obsidian)
CPE OS Name: cpe:/o:rocky:rocky:8:GA
Kernel: Linux 4.18.0-348.7.1.el8_5.x86_64
Architecture: x86-64
b.说明
操作系统:Rocky Linux 8.5 (Green Obsidian)
内核版本:Linux 4.18.0-348.7.1.el8_5.x86_64
架构:x86-64
虚拟化:VMware
b.查看情况
a.查看jar包
$ ps -ef
$ ps -ef | grep java
b.查看redis目录
[root@localhost logs]# ps -ef | grep redis
redis 3850 1 0 1月12 ? 00:33:22 /usr/bin/redis-server 127.0.0.1:6379
root 1731531 1730430 0 11:08 pts/0 00:00:00 grep --color=auto redis
c.nginx
a.位置
[root@localhost hr-backend]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
b.日志
tail -f /var/log/nginx/access.log --访问日志
tail -f /var/log/nginx/error.log --错误日志
02.程序位置
a.查看pid、查看程序目录
ps -ef | grep java --查看进程
------------------------------------------------------------------------
lsof -i:9981 --命令1:查找9981对应pid
ps -ef | grep java | grep 1723891 --命令2:查找pid对应java
tail -f jeecgboot-2025-02-06.0.log --命令3:查看日志
------------------------------------------------------------------------
ps -ef | grep $(lsof -ti:9981) --组合命令
ps -ef | grep $(lsof -ti:9981) | grep java --组合命令
kill -9 [pid]
b.curl测试
curl --location 'http://172.17.10.201:9981/jeecg-boot/mo/isp/getIndicator' \
--header 'Content-Type: application/json' \
--data '{
"indicatorDate": 202501
}'
c.前端日志
tail -f /var/log/nginx/access.log --访问日志
tail -f /var/log/nginx/error.log --错误日志
d.后端日志
cd /root/myprojects/logs/ --每天日志
tail -f jeecgboot-2025-02-06.0.log --实时日志ONObject dataParam = new JSONObject();
dataPa
e.停止、启动
ps -ef | grep java --查看进程
kill [pid] --优雅停机
------------------------------------------------------------------------
sh /root/hr-project/backend-start.sh start --启动
tail -f /root/hr-project/hr-backend/jeecg-module-system/jeecg-system-start/logs/jeecgboot-2025-03-02.0.log --日志
03.查看系统
a.使用uname -a命令
uname -a --显示系统内核版本
b.查看发行版特定的版本文件:
cat /etc/redhat-release --适用于RedHat/CentOS系统
cat /etc/debian_version --适用于Debian系统
cat /etc/ubuntu-release --适用于Ubuntu系统
c.使用hostnamectl命令
hostnamectl --查看主机名和其他信息(适用于systemd系统)
d.查看性能1
lscpu --查看 CPU 信息
cat /proc/cpuinfo --查看详细的 CPU 信息
free -h --查看内存信息
cat /proc/meminfo --查看详细的内存信息
------------------------------------------------------------------------
df -h --查看磁盘使用情况
top --查看系统负载和性能
vmstat --查看系统的虚拟内存、进程、CPU 活动等信息
------------------------------------------------------------------------
dmesg | grep -i vmware --查看是否vmware虚拟化机器
lscpu | grep -i hypervisor --查看是否vmware虚拟化机器
e.查看性能2
echo "=== CPU 信息 ==="
lscpu | grep -E '^CPU\(s\):|^Model name:|^Socket\(s\):|^Thread\(s\) per core:|^Core\(s\) per socket:'
echo -e "\n=== 内存信息 ==="
free -h
echo -e "\n=== 磁盘信息 ==="
df -h --total | grep 'total'
echo -e "\n=== 显卡信息 ==="
lspci | grep -i --color 'vga\|3d\|2d'
04.查看ip端口
a.netstat命令
yum install net-tools --安装 net-tools
netstat -tunlp | grep 9981 --查看具体某个端
b.ss命令
ss -tunlp | grep 9981 --查看具体某个端
c.lsof命令
yum install lsof --安装 lsof
lsof -i --查看所有网络连接
lsof -i:9981
d.firewall-cmd命令
firewall-cmd --list-ports --查看所有开放的端口
firewall-cmd --query-port=9981/tcp --查询某个端口是否开放
05.防火墙
a.systemctl
systemctl stop firewalld --关闭防火墙
systemctl disable firewalld --禁止开机自启
systemctl status firewalld --防火墙状态
systemctl start firewalld --开启防火墙
systemctl enable firewalld --开启开机自启
b.firewall-cmd
firewall-cmd --reload --重启防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent --开放3306端口
firewall-cmd --zone=public --remove-port=3306/tcp --permanent --关闭3306端口
firewall-cmd --zone=public --list-ports --查看开放端口
firewall-cmd --zone=public --query-port=3306/tcp --查看具体端口
firewall-cmd --state --查看防火墙状态
06.nginx
a.查看nginx配置文件
cd /etc/nginx/
ls
cat nginx.conf
b.查看conf.d目录下的配置
cd /etc/nginx/conf.d/
ls
cat *.conf
c.查看sites-enabled目录(如果存在)
cd /etc/nginx/sites-enabled/
ls
d.检查nginx配置是否正确
nginx -t
e.查看nginx进程
ps -ef | grep nginx
f.访问日志
tail -f /var/log/nginx/access.log
g.错误日志
tail -f /var/log/nginx/error.log
07.自定义DNS
a.编辑hosts文件
vi /etc/hosts
# 添加格式如下:
# IP地址 域名
192.168.1.100 example.com
192.168.1.101 test.com
b.修改DNS服务器
vi /etc/resolv.conf
# 添加或修改nameserver
nameserver 8.8.8.8
nameserver 114.114.114.114
d.刷新DNS缓存
systemctl restart NetworkManager
# 或
nscd -i hosts # 如果安装了nscd
e.测试DNS解析
nslookup example.com
ping example.com
f.查看DNS是否生效
# 查看当前DNS服务器
cat /etc/resolv.conf
# 测试DNS解析
dig @8.8.8.8 example.com
08.系统编码1
a.linux
[root@localhost hr-backend]# stat /etc/locale.conf
File: /etc/locale.conf
Size: 19 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 67431224 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2025-03-08 10:50:06.920797929 +0800
Modify: 2022-01-11 10:28:26.559915054 +0800
Change: 2022-01-11 10:28:26.559915054 +0800
Birth: 2022-01-11 10:28:26.558915052 +0800
-----------------------------------------------------------------------------------------------------
通常情况下,Java会使用操作系统的默认字符编码
Access 字段表示文件的最后访问时间,这是指文件内容最后一次被读取的时间,而不是文件被修改或更改的时间
b.查看编码
$ locale
$ cat /etc/locale.conf
-----------------------------------------------------------------------------------------------------
LANG=C.UTF-8 不提供特定语言的特性;用默认的、简单的格式 公司服务器,默认编码
LANG=en_US.UTF-8 美国英语的语言特性;美国的习惯格式化日期、时间、货币 腾讯云服务器,默认编码
c.查看系统安装的字符编码
$ locale -a
-----------------------------------------------------------------------------------------------------
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
C.utf8
POSIX
zh_CN
zh_CN.gb18030
zh_CN.gbk
zh_CN.utf8
zh_HK
zh_HK.utf8
zh_SG
zh_SG.gbk
zh_SG.utf8
zh_TW
zh_TW.euctw
zh_TW.utf8
d.生成编码
# 打开 /etc/locale.gen 文件
vi /etc/locale.gen
# 确保文件中包含以下行(如果没有,请添加)
C.UTF-8 UTF-8
# 生成语言环境
sudo locale-gen
# 设置默认语言环境
sudo update-locale LANG=C.UTF-8
e.修改编码
# 临时更改
export LANG=C.UTF-8
# 永久更改
vi /etc/locale.conf
LANG=C.UTF-8
# 更新当前会话
source /etc/locale.conf
09.系统编码2
a.如果要设置中文版的字体编,在每个文件中增加以下内容
# cat /etc/profile.d/locale.sh
# vim /etc/profile.d/locale.sh
export LC_CTYPE=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
# cat /etc/locale.conf
# vim /etc/locale.conf
LANG=zh_CN.UTF-8
# cat /etc/sysconfig/i18n
# vim /etc/sysconfig/i18n
LANG=zh_CN.UTF-8
# cat /etc/environment
# vim /etc/environment
LANG=zh_CN.UTF-8
LC_ALL=zh_CN.UTF-8
# source /etc/profile.d/locale.sh
# source /etc/locale.conf
# source /etc/sysconfig/i18n
# source /etc/environment
b.如果要设置英文版的字体编码。在每个文件中增加以下内容
# cat /etc/profile.d/locale.sh
# vim /etc/profile.d/locale.sh
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
# cat /etc/locale.conf
# vim /etc/locale.conf
LANG=en_US.UTF-8
# cat /etc/sysconfig/i18n
# vim /etc/sysconfig/i18n
LANG=en_US.UTF-8
# cat /etc/environment
# vim /etc/environment
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
# source /etc/profile.d/locale.sh
# source /etc/locale.conf
# source /etc/sysconfig/i18n
# source /etc/environment
c.临时更改
export LANG=C.UTF-8
export LANG=zh_CN.utf8
2 工作说明
2.1 路桥甄选
00.时间安排
a.分类1
1.开发周期:2026.4.15-2026.5.22
2.测试联调:2026.5.23-2026.5.30
3.上线日期:2026.5.31
b.分类2
职工端(h5) 2026/4/27 2026/4/30
职工端(PC端) 2026/5/9 2026/5/12
供应商端(pc端) 2026/5/15 2026/5/19
子公司管理端(pc端) 2026/5/22 2026/5/22
路衍管理端(pc端) 2026/5/22 2026/5/22
c.20260427
20260415-20260427,8天
项目整体已完成30%。5个用户端已搭建完成,包括商品分类、供应商管理、地址管理等核心功能。
这周项目将进行2项任务检查,1.对不同用户看到的页面内容进行调整;2.对业务逻辑进行分工和代码核实。
d.20260514
20260428-20260514,9天
项目整体已完成65%。统一登录和权限体系已搭建完成,钉钉审批待办已接入,积分管理、供应商入驻、商品上架等后台核心功能与5个用户端页面已开发完成,
8轮问题已修复闭环。本周将进行2项任务,1.推进物流追踪和台账报送功能;2.完善前端权限过滤和列表控制。
e.20260529
20260515-20260531,11天
项目整体已完成80%。目前有4个剩余问题,
第1个(供应商可以上自己的套餐,路衍公司审核套餐);
第2个(员工不参与选购,自动发到他自己的子公司,给他发送一个默认套餐);
第3个(员工下单后,可以撤回订单,一旦报到路衍公司,不可更改子公司整体报送结果);
第4个(各子公司下的人员名单,暂时数据不齐,等待业务方提供最新一批数据);预计于20260531号,完成项目开发与上线。
01.常用信息1
a.说明
文件:上传下载
FLOW:钉钉待办、审批流
RBAC:用户权限、用户认证、组织架构
数据库:192.168.3.100 -> sxlq_shop
b.文件
SysAttachmentController -> /upload 或 /upload/batch
c.FLOW
注意,用户统一走公共接口,然后获取登录信息
路衍配置子公司管理员 "isSuper": 1
d.RBAC
SysServiceController
sex 性别 0男 1女
status 状态 0在用 1停用
isRevise 首次登录 是否强制修改(,0-是,1-否)
e.相关信息
侯杰 970618
宋晶晶 110999 S110999
孙晓雄 1qaz@WSX sxxxm
-----------------------------------------------------------------------------------------------------
供应商:拼音首字母(首字大写,其余小写)+ @lq123.
普通用户:拼音首字母(首字大写,其余小写)+ @lq123!
02.常用信息2
a.任务
sex 0 1
type 中文
-----------------------------------------------------------------------------------------------------
原有字段不要动,用 新字段
"orgName": "山西路桥集团",
"fullname": "山西路桥建设集团有限公司",
b.根据组织表deptCode获取关联用户(组织用户)
角色:中文名
roles: [xxx,xxx] role:"xxxx,xxxx" 用
c.根据user(ID、英文名)登录,返回的信息是什么 已有接口,接口改造,扩充 目前只返回token (只返回token,放弃改造)(若返回用户信息,添加进来)
别人接口
角色:中文名
roles: [xxx,xxx] role:"xxxx,xxxx" 用
d.根据user(ID / 英文名,加索引)登录,获取当前用户信息 信息【ID、用户名、英文名、【role:"xxxx,xxxx" 】,部门】
自己接口
roles: [xxx,xxx] role:"xxxx,xxxx" 用 数据库精准锁定数据,防止篡改
e.待办
未做
f.审批流
未做
g.minio
endpoint: http://192.168.1.231:9000
access-key: minioadmin
secret-key: minioadmin
bucket-name: lqzx
preview-url: http://192.168.1.231:9000
03.常用信息3
a.说明
助农分类,必须达到30%
开放2次,几万人同时在选,在岗2w,不能崩
购物车提交时,可以提交地址
支持福利方案一键选+自由商品自选双模式
系统强制校验订单助农占比30%,不达标无法提交
订单全流程跟踪,自动生成福利发放与助农采购台账
b.选购
送货流程:供应商配送,只做台账
选购流程:时间限制,国庆之后,5天内自己选完
选购流程:待办,距离选购时间还有XXX久,钉钉提醒,提前配置
默认选购:多次员工之后,仍未选,默认福利方案。默认就给一套选购内容。默认选
c.移动端
导航:选购、订单、地址
一、选购
顶部:姓名+公司名称+xxx年 xxx节日福利选购 xxx元额度
左侧:分类导航栏:第一个福利方案,第二个助农专区,剩下的随便搞几个分类做演示
右侧:商品详情:福利方案只能选一个,点击福利方案新的页面,福利方案详情,福利方案名称+方案内的商品(图片、名称、金额)
底部:已选金额:xxx(已选额度)/yyy(福利额度)、助农占比:xxx(y%)、提交订单
购物车:参考美团
二、订单
筛选:年份,节日
订单:
1、卡片形式,tittle:xxx年 xxx节日 福利选购订单,显示选购的一个上坡
2、点击卡片进入选购商品详情页:商品卡片列表,图片+名称+金额
三、地址管理
参考美团
04.常用信息4
a.分类1
功能清单表里没有的 但是你们实际情况做了的,也可以补充进去
开发过程中有任何问题及时反馈 我这边想办法解决,务必在规定时间内开发完成
sxx 在 Apifox 邀请你加入项目 路桥甄选 https://app.apifox.com/invite/project?token=BcfclmKAWnRAjEcf5RVsW
b.分类2
路桥甄选目前还有一个事情不明确
1.不确定是独立系统还是内嵌在工会当中,所以暂时不接统一登录
2.前端正常用ai开发,如果是内嵌最后统一改颜色,如果是独立的就我们自己弄
3.所以正常做,有颜色需要了,最后ai统一改
-----------------------------------------------------------------------------------------------------
已确定,作为工会的一个单独模块,链接跳转
用户这一块跟工会系统做对接,单点登录
c.分类3
关于福利额度积分,目前有两种情况
1.接工会积分
2.我们独立的,路衍设置然后下发,也就是目前的业务流程
这一块先按照2来走,预留1的接口,需求方也不知道他们想要啥,没人能定下来
-----------------------------------------------------------------------------------------------------
支持福利方案一键选+自由商品自选双模式
系统强制校验订单助农占比30%,不达标无法提交
订单全流程跟踪,自动生成福利发放与助农采购台账
d.分类4
1.按照这个思路做一下动画
2.有些信息是ai给编的,需要路桥人全面审核过一遍
3.提取文字信息
4.产生交易、地址、新闻
05.常用信息5
a.说明1
路衍-福利方案-新增任务设置了选购时间 选购开始前一天早上9点或者如果是当天设置的选购时间就立马提醒或者如果今天13号设置的从12号开始也要立马提醒
提醒调用统一待办接口 发送一条待阅信息给每一个用户状态status=0是启用并且不是删除状态is_deleted=0的用户,
还要过滤user_type不等于00的用户(00是集团用户,11是供应商)发送通知
b.说明2
路衍-福利方案-新增任务设置了选购时间 选购时间结束前三天早上9点发送统一待办中的待阅信息提醒用户选购商品,
提醒内容包含年份,节日,额度,选购时间,要有红字警示信息:当前未选购如果在选购时间内未自主选购,将取消选购资格,
会按照默认方案发放==提醒范围查询用户状态status=0是启用并且不是删除状态is_deleted=0的用户,还要过滤user_type不等于00--
还要过滤在当前选购时间的年份 节日在订单列表已存在已选购状态的用户不再提醒
c.说明3
D:\develop\work\lqzx_web\lqzx-server-stand\src\main\java\com\zkzx\layer\lqzx\controller\LqzxGsdbController.java
中reportSubmitBatch方法 子公司一键报送要发统一待办 --统一待办中的的link地址通过网页代办人能查看待办信息,也能一键报送供应商
mobileLink移动端地址是发送钉钉附带地址 h5链接通过钉钉登录查看待办信息,也能一键报送供应商
统一待办参考D:\develop\work\lqzx_web\lqzx-server-stand\src\main\java\com\zkzx\layer\wsdl\SysNotifyTodoTestController.java
sendTodo--发送待办 待办类型type(1-表示审批类待办(待办),2-表示为通知类待办(待阅))--appName的值修改路桥甄选
setTodoDone--发送已办
d.说明4
路衍管理员一键报送供应商接口D:\develop\work\lqzx_web\lqzx-server-stand\src\main\java\com\zkzx\layer\lqzx\controller\
LqzxGsdaController.java文件中ledgerSend方法 需要增加调用统一待办中的已办接口 把待办信息设置为已办
e.说明5
appId:dingoavwjkbcp8h7tfdwmz
appSecret:Igo-llZFA4Ah-L6N5sXF8AqlgVEQcktJ_Bn---HtNj7KZzCQ__jY_BjkqZjL1GGH
Client ID (原 AppKey 和 SuiteKey):dingzrlswuq7eubudh7s
Client Secret (原 AppSecret 和 SuiteSecret):QuPSC42ObBBRvo2V1V51uYfmJgRX2YhmNzKU_BUPYV5TQwFkzZhhtxYBEZA_a4AJ
f.说明6
https://ekp.sxlq.com:9000/lqzx/web/api/pc/zgh/shop
https://ekp.sxlq.com:9000/resource/ding_load.jsp?callbackUrl=https%3A%2F%2Fekp.sxlq.com%3A9000%2Fsys%2Fnotify%2Fsys_notify_todo%2FsysNotifyTodo.do%3Fmethod%3Dview%26fdId%3D19e3df620c8e466ddcbb6c54ecd82874%26mdingclose%3D1&title=%E5%BE%85%E5%8A%9E%E4%BA%8B%E5%AE%9C
https://www.sxlq.com:7011/cas/login?service=https%3A%2F%2Fekp.sxlq.com%3A9000%2Flqzx%2Fweb%2Fapi%2Fht%2Fhome
g.说明7
1.子公司:员工已提交/全部员工数 能显示出来哪些员工没提交
2.路衍:子公司已报送/全部子单位 能显示出来哪些单位没报送
h.说明8
task_org_service表 9741条
task_user_service 25592条
sys_org 990条
sys_user 9917条
curl -s -X POST http://127.0.0.1:9172/lqzx/task/hr-sync -H "Authorization: lqzx-dev-admin-2026" -H "Content-Type: application/json"
06.钉钉免登
a.凭证信息
Client ID (AppKey) dingzrlswuq7eubudh7s
Client Secret (AppSecret) QuPSC42ObBBRvo2V1V51uYfmJgRX2YhmNzKU_BUPYV5TQwFkzZhhtxYBEZA_a4AJ
Corp ID ding7b95c950a2f9e75a35c2f4657eb6378f
AgentId 4038597639
b.网页应用配置
生效端 移动端、PC端
移动端首页地址 http://111.53.193.159:20010?corpid=$CORPID$
PC端首页地址 http://111.53.193.159:20010?corpid=$CORPID$
c.安全设置
IP白名单 111.53.193.159
重定向URL(回调域名) http://111.53.193.159:20010/lqzx/web/api/ht/
端内免登地址 http://111.53.193.159:20010/lqzx/web/api/ht/
d.接入登录
回调域名 http://111.53.193.159:20010/lqzx/web/api/ht/
e.接入分享
iOS分享 未启用
Android分享 未启用
鸿蒙分享 未启用
07.20260508
a.甄选商城
1.任务时间,1月1号 至 1月30号
2.积分管理:工会联动(定时任务)、员工积分(积分管理)
3.领取记录:先年,后节日,状态4个;导出(隐藏)
b.供应商
1.订单处理:
年份 节日 子公司
一条订单【2026年 中秋(全部大的折叠-子公司-员工)】,导出订单
10个公司,10个sheet
2.统计对账:删
3.核心:商品+发货
c.子公司
1.多个子公司(切换按钮) -> 只能看2个公司 -> 自己公司账户
2.账户管理 -> 子公司管理 -> 做
3.系统配置 -> 左树右表
4.首页 -> 当前节日 -> 台账 -> 待处理,哪一年什么节日,括号(当前节日)
5.台账报送 -> 早上10点统一推送,有时间提醒;公司总体,非个人;一键报送;10个公司,10个sheet
中科智信 发送给 路桥公司
已完成
年份
节日
应报送,未报送
是否报送
d.路衍公司
1.首页:节日进度(当前节日),订单处理不要了
2.供应商:默认密码,后面小眼睛,首字大写,其余小写,Zkzx@lq123.
3.个人职工:默认密码,后面小眼睛,首字大写,其余小写,Zkzx@lq123!
4.商品分类:无置顶,哪家公司+哪家供应商(名称、电话、图片),显示助农标签;右上角看到商品详情
5.福利方案:新增任务(年份+节日+时间,开始+结束)、小卡片(详情+实际方案)
6.台账报送:当前节日 -> 台账 -> 待处理,哪一年什么节日,括号(当前节日)
推送 -> 早上10点统一推送,有时间提醒;公司总体,非个人;一键报送;10个公司,10个sheet
中科智信 发送给 路桥公司
已完成
年份
节日
应报送,未报送
是否报送
7.发任务:直接重置额度
8.默认福利方案:时间配置(置灰)
08.20260519
a.管理方式
供应商 上下架
福利方案 2026年,9月1号 - 9月10号
数据链路 员工订单 -> 子公司 -> 路衍公司 -> 各个供应商
b.多个套餐
分类 每个分类有哪些东西(套餐+商品)
商品 每个商品的价钱+电话+地址
-----------------------------------------------------------------------------------------------------
灵活性 个人+套餐(灵活)
多个套餐 100的、200的,全是套餐,比如700=300+100+300
-----------------------------------------------------------------------------------------------------
供应商 1.多个套餐(每个套餐对应1个供应商) 2.套餐审核
c.数据链路
一键报送 一键报送
员工订单 -> 子公司 -> 路衍公司 -> 供应商
(当前公司:中科智信) (内部查看)
d.自动发货
默认 子公司地址
默认 一个套餐
e.项目周期
一期 目前工作
二期 供应商 <-> 子公司 合同+签字+结算单
|
路衍公司
f.线下流程
工会办公室:工会管理员 -> 请示 -> 通知工会全部人员
发起任务:线下配置人员(已经审批)
整体公司:导出全部公司(1个公司发1次上报)
g.员工选购
1.选购时间
2.员工下单后,可以撤回订单,一旦报到路衍公司,不可更改子公司整体报送结果
3.各子公司下的人员名单,暂时数据不齐,等待业务方提供最新一批数据
4.员工未选购,截止时间前3天也要发起一次
5.腾讯会议:全员参加+供应商
09.20260529
a.积分满额
智能凑单,1块到9块
整数套餐,100+600,没有组合套餐,但是可以购物车添加多个套餐
提交订单:必须选够活动设置的额度,不然不给提交订单,助农比例不到对应比例不给提交订单
b.商品管理
分类是动态的
单品、套餐的分类是多选
供应商的套餐,只能选的(已审核的商品)
单品,一个一个审核,只能上架已审核的单品
c.节日发放
没有一人一单
d.菜单更改
积分配置,删除菜单
e.小毛病
导出,合并
f.时间安排
公司IP地址
空环境、空账号测试
开发时间:20260601
测试时间:20260601-20260607
测试+培训:20260608-20260612
2.2 路桥保理
01.保理项目1
a.3个用户
1.管理 2.核心企业 3.供应商
b.基本业务
路桥#1(核心企业)欠 供应商(多个N)给不了,保理 给 供应商 预支钱
债务关系 变成(路桥#1(核心企业)与 保理单位)
c.20260515
转写:转写_中科智信空间科技&互融云演示交流会议
转写文件:https://meeting.tencent.com/ctm/lvZMrY9Ba9
02.20260515
a.业务模式定位
a.业务类型
反保理,核心作用是给核心企业拉长账期。
b.角色归属
放款方/资金方、保理单位均为路桥自身;保理业务对标日常信息、金融行业标准。
c.业务本质
内部左口袋转右口袋,维稳整体资金供应链;打通内部业务线条,夯实底层业务基础,屏蔽外部其他业务系统接入,简化前端繁杂业务流程。
b.业务底层依托逻辑
a.业务依托
基于票据开展业务,而非单纯靠数据驱动。
b.操作方式
通过放款OCR识别、上传票据,搭建应付账款堡垒池。
c.系统业务功能模块
包含以下核心业务办理功能:保理业务处理、接口业务申请、授信业务管理、通用事项申请、贷前票据管理、票据信息查询、保理业务查询。
d.中登网(央行应收账款质押登记平台)核心说明
a.平台属性
由国家央行牵头搭建,用于全国企业应收账款、应付账款的公示与融资登记专用平台。
b.两大核心作用
a.增信保真
企业应付账款在中登网完成登记后,融资方风控认可度大幅提升,敢于放款。
b.防范一债多融
金融机构放款后可在平台对应收账款做标记占位,锁定该笔账款融资权限,杜绝同一笔应收/应付账款向多家机构重复融资,规避类“房产多重抵押”的金融风险。
c.企业不愿登记的两大顾虑
a.信息公示曝光
登记属于公开公示,不愿对外披露自身欠款规模、负债情况。
b.关联信用质疑
大量应付账款公示登记,易被市场解读为核心企业付款能力、资金周转存在问题;若到期未履约付款,还会留下公开不良记录。
e.产品与风控规则
a.差异化定价
按不同产品、不同账期设定差异化利率,配套对应风险控制手段。
b.应付账款池搭建两种路径
a.直连对接
直接读取企业财务系统数据,自动形成应付账款池。
b.内部传导
未对接财务系统时,通过内部渠道传递信息,人工录入搭建应付账款池。
f.业务发起与流程模式差异
a.理想正向流程
提前备好应付账款信息,主动推送、引导融资方发起借款需求(参考吉利车企模式:主机厂归集供应商采购合同,前置梳理账款资源)。
b.当前实际流程
需走发票验真环节,由供应商作为业务发起方,暂未实现前置归集账款、主动推送融资的模式。
2.3 沟通信息
01.日常沟通
a.核心
1.陈述句、疑问句、判断句、意图句
2.下意识,没有意图
3.问题的预设答案,忘记问题是什么
-----------------------------------------------------------------------------------------------------
预期答案的意图,弦外之音而不是答案C
咱们在沟通的过程中,你有没有精准的回答到我问到的一些点,举个例子
你没有做到交互,你不会在乎别人为什么,永远有一套自己的东西,模糊匹配,而不是精准去回答
-----------------------------------------------------------------------------------------------------
第一就是尊重,然后是边界感(让别人舒服)、安全感
说话的时候,把我的字眼,变成你,学会去措辞(必选)
b.沟通
完成了、我完成了
刚开始大家关系都是平的
-----------------------------------------------------------------------------------------------------
能听懂的层次,跟他去沟通
1.当下情景下,有趣的点
2.重要的点,尽可能串起来
3.无关紧要的,就一个嗯
-----------------------------------------------------------------------------------------------------
生活愉快,工作顺利
没事,有问题及时反馈
不方便的地方,我能理解。工作愉快,辛苦了。
非常感谢,帮了我一件特别重要的事情,工作愉快。
我测试好了,及时汇报给你。非常感谢,对我工作上的帮助,非常感谢。
c.说明
晓雄,这里有一个后端Jar包,请你帮忙更新一下,辛苦了。
好嘞,那我明白啦~提前跟你说一声,心里有个数,做事也踏实不慌。
-----------------------------------------------------------------------------------------------------
良哥,不好意思,给您造成麻烦咯,我反思了下,我工作方式存在很多沟通上的短板,缺少跟您的沟通。
导致您这边对我的实际工作量不是很清楚,因为确实除了工会的项目,还会有其他3-5个临时任务,量大要得急,最终到我这边需要处理。
今天就是几个任务都赶到一块,让我立马出结果,工会项目也是时间比较紧张。我实在是每天加班到晚上1、2点,也做不完。
后续我每天会跟您说一下我这边的项目进度。后续还有一些问题的话,尤其是工期比较紧张,还需要您帮我多协调,多想想办法,提点建议。
-----------------------------------------------------------------------------------------------------
没啥麻烦的,明天跟你聊一聊,工作要有优先级的,改天一起探讨
好的好的,谢谢良哥,下次遇到问题我找您帮忙,不打扰您休息了
02.项目进度
a.进度安排
大家汇报一下各自的进度和完成情况
大家优先先把自己做完的模块测试一遍,保证功能正常,逻辑自洽
大家梳理一下自己的工作,尽量拆的细一点,每个子项工作都要有预计完成时间。按照之前那个功能模块清单,分一下工作任务
大家今天把各自做的功能都自测一下,按照角色、权限、流程、列表、详情等角度,有问题的今天完成修复并上线到公司的测试环境
这个月大家应该也差不多熟悉了开发模式和团队配合,三月底要完成工会项目全功能模块的初版,大家加油哈。有需要沟通的可以发到群里边,大家一起讨论
每个人汇报一下已完成模块的上线和测试优化情况,中午之前汇报一下当前的进展,编辑一段话就可以,这边要对系统进行测试并记录,提到缺陷里边并及时做出状态更新
-----------------------------------------------------------------------------------------------------
开发过程中,要注意几个点
1-所有功能都要注意不是单纯的台账,要有业务流程,举个例子就是发起,审核,报名,反馈,办结。
2-详情页里边要展示流程记录
-----------------------------------------------------------------------------------------------------
@所有人 大家把自己负责开发的模块,每个人都简单写一下自己的设计逻辑和使用说明,后天咱开个会,一起把系统过一下,
现在做的东西缺少逻辑性,还是停留在了台账管理的功能。咱们还有最多一个月的时间,这个系统就要交付了。
大家增强点责任心,把自己的模块梳理一下,哪些内容需要与客户确认,也在文档里边体现一下。麻烦大家高度重视,务必完成。
b.进度安排
时间紧任务重,大家把自己负责的模块尽量往前赶,留出后期优化调整的时间
下周一上午要进行工会项目的演示,大家今天务必保证线上的系统功能正常,千万不要有报错,很关键
-----------------------------------------------------------------------------------------------------
负责记录,形成统一的问题清单todolist。
要区分视角,从每个角色需要在系统里边做什么操作,关注的内容是什么,有什么权限,大家描述的细致一点,咱们会上一起讨论,对系统进行优化整改吧
不要盲目全写功能上的东西,落到具体的业务场景,要有管理的思路,就当做是初版的用户手册。
-----------------------------------------------------------------------------------------------------
看一下这个工作安排,时间紧任务重,这个月大家要加油,赶赶进度了
有困难或者不清楚的,可以私聊我哈
-----------------------------------------------------------------------------------------------------
这个就是咱们目前的项目开发模式,现在只是咱们根据自己的理解设计的功能模块
稍后肯定都需要去跟工会对应职能的负责人去演示和核对,然后再根据对方的意见去调整。
03.项目汇报
a.工作汇报
20260210,评标工具专家登陆不进
原因:根目录满了(100%)占用,项目原始部署并未部署到数据目录,部署到了只有50G的根目录
解决:移除日志大文件(nohup.out 26G)(备份到了数据目录下)
后续:建议运维人员检查现在所有服务器的目录占用,若挂载目录大小超80%,需预警,开始进行扩容或进行空间清理。
新项目部署时严格禁止直接将目录部署到根目录,必须部署到独立挂载的数据盘上,定期进行空间巡查
定期排查一下服务器资源,有不足的及时反馈,咱们看是清理日志还是扩容服务器硬盘,避免以后再出现此类问题
b.工作汇报
职工关怀:
送温暖慰问活动 —— 已100%完成
职工福利:
其他福利事项 —— 已100%完成
独生子女奖励发放 —— 已100%完成
工作服装配发 —— 已100%完成
c.工作汇报
# 当前实现:
## 工服管理模块
实现36个月申领周期校验,防止重复申领
建立成本快照机制,确保发放价格准确性
完善岗位配置权限控制和状态流转验证
## 独生子女模块
构建审批回调处理机制
实现员工身份重复申请防护
建立审批状态与业务状态同步校验
## 其他福利模块
实现多类型福利统一管理测试
完善计划制定到执行的全流程验证
## 职工关怀-送温暖慰问活动模块
实现多渠道管理测试
# 测试优化内容:
测试覆盖优化了职工福利与关怀模块群,重点强化了申领资格校验、成本快照、状态流转、权限控制及防重复机制等业务逻辑准确性,
同步加强SQL注入防护、参数校验与操作安全,并通过批量处理、分页查询及多类型兼容性测试,确保各模块在复杂场景下的数据一致性、流程完整性。
d.日常活动
1-计划人数和实际参加人数。也就是之前说的活动发起以后,报名人员要收到待办,选择是否参加。
2-报名明细里边要体现每个人是否参与的状态
3-搞一点演示数据,作品是否可以在线预览,要在列表里边体现。
4-发起的时候,应该要有个开关,意思就是是否需要上传作品,勾选后,同意参加的会员需要有上传作品的待办。----包括作品列表里边也要有是否上传作品的状态
5-理论上除了邀请报名,会员还应该有主动报名的功能
-----------------------------------------------------------------------------------------------------
RBAC,按钮权限(显隐)、选择人(带出部门),这样的考虑进去了。后面对接钉钉,会接入flow工作流。
1、2、3:这个系统会体现
4、5:部分涉及钉钉流程状态,之前同事做了一批钉钉状态流转,得去看源码
-----------------------------------------------------------------------------------------------------
这块还应该考虑如果不需要上传作品,只是办活动统计参加人数的话,在详情页是否就不展示作品明细了
没有钉钉工作流的说法吧,是接入统一待办,发送待办、置为已办这两个接口,移动端的展示样式也需要适配哈。
04.项目沟通
a.AI汇报
杰哥,目前这个报价可能偏高,我再调整一下,整体框架先这样。
麻烦你看下技术方案部分,主要包含三点:
1.技术方案
2.是否可行及实施方式
3.机器预算
你看还有哪些内容需要我补充,哪里表述不清晰,随时打电话给我,咱们一起沟通。
b.工会项目
我把排查方法告诉泽瑞了
1.pdf,拿其他wps去验证pdf是否格式正确
2.卸载adobe,卸载exe
3.官网安装包,里面的exe有捆绑adobe重新安装一遍
4.验证
基础问题排完了,再去看是不是存在其他问题
-------------------------------------------------------------------------------------------------
下午到不了现场,我这边有
1.商城h5配合演示
2.商城项目6个工程的团队分工
3.AI方向近期要部署集团
-------------------------------------------------------------------------------------------------
任务优先级,你可以跟智奇、侯杰沟通下
c.商城项目
项目经理沟通
1.语速慢一点沟通,不懂的点,及时提出来
2.豆包录一个音,辅助
-----------------------------------------------------------------------------------------------------
项目负责
1.一比一的比例,逻辑能不能讲清楚
2.每个环节的控制与教学
-----------------------------------------------------------------------------------------------------
这个项目很紧张,经过我一周的了解,我觉得他们只能承受30%的非核心工作量,我也在尝试不断地进行沟通协调,
尽可能地让他们在项目上出力到50%,让我有更多精力统筹整个项目,和完成剩下50%的核心工作。
05.项目合作
a.日常会议
1.两点建议
资料提前准备:过程资料,包括纸质、邮件
做到评审有效,关键记录要留痕
-----------------------------------------------------------------------------------------------------
2.三个发展
公司走向,建章、规范管理
审核,总结报告作为蓝本
熟悉体系与实际工作的结合
-----------------------------------------------------------------------------------------------------
3.几点交流
采购、审核、开展
b.合作模式
这个ai部署得花钱,让他们想办法
你贴心了,为他们想了报销不了,你心里又不舒服
那就你预估个大概时间,时间拉长点,确保你能完
过程也很重要,不要老奔结果,过程卡你了,没有结果不正常吗
所以领导要想出结果,就必须想办法促成你解决过程,要不然就卡的
c.在听在看在学
其实给了你人,给你人手了
也是考验你统筹,调派的能力
我和我同事,我就是安排他,大家也是平级,和职级没有关系
-----------------------------------------------------------------------------------------------------
思想上就没有统领人,要当将军的思想
给的机会,肯定一次两次,就不会有第三次了
因为不是每个人都适合当将军当统领的,也要根据自己实际情况去做
这个事情我也跟你讲过很多次了,希望你懂的时候,正好有能匹配上机会的能力和思想认知~
06.项目流程
a.角色分配
核心交互:制定标准的交互API
项目经理:html原型
前端开发:html原型 -> 前端mock页面 -> 字段参考
后端开发1:html原型 -> 前端mock页面 -> 字段参考 -> 字段审核(模块123)
后端开发2:html原型 -> 前端mock页面 -> 字段参考 -> 字段审核(模块456)
后端开发3:html原型 -> 前端mock页面 -> 字段参考 -> 字段审核(模块789)
后端负责:字段审核 -> 单位unit -> 建表规范 -> 建表v1、v2、v3
前端开发:页面报告
后端开发:接口报告
前后端联调:问题清单_20260511_150216
b.架构阶段
文件:上传下载
FLOW:钉钉待办、审批流
RBAC:用户权限、用户认证、组织架构
c.核实阶段
主链路(人员设定,有些开发人员内心不清晰)
共享文档(claude不要泄露,里面有公司key)
核心问题向上反馈(表字段、UI方案、技术方案)
代码问题向下反馈(我指出多个问题,你给我回答给我解决,自己脑子闭环)
-----------------------------------------------------------------------------------------------------
一天检测一个系统
对代码负责,就是对自己负责
已完成是个状态,不是一个过程
咱们都是主角,我来负责查漏补缺
问题清单(word、excel),当面核实减少V沟通,沟通时间
d.场景解释
做后端从来不是躲在身后甩问题、把难题全都丢给前端。
也该让大家在实际开发里真切体会一番前端的难处与压力。
编程本无绝对的前后端之分,但凡躬身写代码,各有各的辛苦,人人都不容易。
-----------------------------------------------------------------------------------------------------
塔底层承重墙正下方有几块废砖,往上施工时调整倾斜角度来平衡受力,之后就不会出现受力不均的情况了。
底层承重墙区域砖体破损,从新一层开始调整倾斜度做受力补偿,保证后续结构受力均衡。
07.经费申请
a.国内
1.智谱-国内版
2.智谱-国外版
3.minimax
4.kimi
b.国外
1.ZenMux
2.PackyAPI
3.NekoAPI
4.Sub2API
5.OpenCode
c.编辑器
1.Cursor Ultra
2.Windsurf Pro
3.Zed Pro
d.电子发票
智奇,方便的时候,咱们抽空一起讨论下AI相关的开销问题。
1.使用:国内、国外、编辑器
2.方向:月卡,按量计费
你下次问,你什么时候方便呢,我去找你,聊一下费用
e.经费申请
有个事想跟你商量一下:AI 工具这块现在有点卡住了。
之前用的账号,GLM的Pro的5个人的额度每天都在过度使用。
我自己也试了一些第三方平台,前前后后花了600多,但问题比较多——接口参数不统一、服务器工作日白天高负载,基本用不了。
之前积累的那些脚本、流程,没有稳定的模型支持,现在都跑不起来。我个人这边也有点压力,准备结婚,开销比较大,长期自费确实有点吃力。
所以想问一下:咱们这边能不能申请一笔专项经费支持AI工具?主要用来订阅稳定的模型服务
报销流程大概怎么走、哪些能报,想先了解一下。你看这个事儿怎么弄比较合适?
08.注意事项
a.错误示范1
A:我在结合页面习惯,从使用角度,上传附件,人员选择带出 组织部门,这样 细心设计下。没有UI,我也一下子看不出来 哪里有问题。
B:业务流是什么
A:1.支持钉钉报名,也支持页面控制报名
2.活动下放,也支持从钉钉那边发通知
活动下发 -> 报名 -> 上传作品。
原需求:策划组织女工主题活动,联动“全国书香三八”,支持报名、作品提交及成果展示。
B:业务流,指的是什么角色,做什么事儿,然后发生什么事件,然后把你的功能逻辑讲清楚
A:工会管理员创建发布活动→女职工浏览并报名→参与者提交作品→管理员审核展示成果
B:比如说,工会管理员发起女职工活动,然后填写基本信息,选择活动下发范围(下发给谁),然后工会会员收到待办,选择是否参加本次活动后提交-----工会管理员可以在活动的二级页面,看到大家的报名情况和统计情况。-------工会会员可以提交活动的作品作为成果展示,这个也要放到本次活动的详情页的二级页面。
B:就是说你得把这件事儿讲清楚。
b.错误示范2
A:报名管理、作品管理。比如说这里的两个按钮,其实不应该放在列表页
B:应该放在详情页下边的页签里边的查看页
A:还有就是详情、编辑、删除、几个按钮的权限,包括上边筛选项,你作为某工会的管理员,只能看到自己工会下的组织或者会员(下拉框、地址本等等),这些细节都应该贯穿考虑到你整个项目里边。
B:然后这样子去汇报的时候,大家都一目了然,也节省时间
c.正确示范
A:我完成了,女职工服务模块的日常活动,相关UI整改
B:有几个点还是没有提现到,我跟你说一下哈。
A:你考虑一下是否合理
B:向大家学习优秀的工作素养
2.4 工作日报
00.汇总
标识解析项目
e采通项目
智路通项目
服务区项目
工会项目
陵川项目
电子档案项目
电子商务平台(一期)
电子商务平台 (二期)
技术管理平台
企业节点
职能部室任务
分管领导任务
其他
01.常用信息1
a.魏德良
2025/12/29 智路通项目 验收资料整改、系统功能、项目管理 3
技术管理平台 日常运维工作 1
分管领导任务 智慧审计业务平台方案 3
2025/12/30 技术管理平台 月报模板变动,运维工作 1
智路通项目 验收资料集团沟通、系统数据对照表 3
分管领导任务 完成智慧审计业务平台方案 3
2025/12/31 智路通项目 项目级平台需求配合梳理 1
智路通项目 项目完成情况、数据来源表梳理 5
技术管理平台 日常运维工作 1
2026/1/1 其他 元旦放假 21
2026/1/2
2026/1/3
2026/1/4 智路通项目 数据来源表、完成情况表汇报 3
智路通项目 工程量清单模块梳理、开发 4
2026/1/5 智路通项目 工程部刘建洋项目汇报 7
2026/1/6 智路通项目 工程部刘建洋项目汇报 7
2026/1/7 其他 请假 21
2026/1/8
2026/1/9
2026/1/10 周六 7
2026/1/11 周日 7
2026/1/12 请假 14
2026/1/13
2026/1/14 智路通项目 工程量清单模块 1
技术管理平台 项目运维 1
电子商务平台(一期)项目交接 6
2026/1/15 工会项目 工会项目需求梳理、汇报、代码交接 4
工会项目 立项资料开始整理 3
电子商务平台(一期)项目运维,工单系统权限转移 1
2026/1/16 工会项目 工会项目首页、欢迎页、列表页 4
工会项目 工会项目研发 2
电子商务平台(一期)电子商务平台方案整理 3
2026/1/17 其他 周六 7
2026/1/18 周日 7
2026/1/19 电子商务平台(二期)项目汇报方案整理 4
工会项目 工会项目功能开发,PPT优化 3
2026/1/20 其他 请假 21
2026/1/21
2026/1/22
2026/1/23 工会项目 UI设计、前端、PPT工作 2
电子商务平台(一期)功能模块清单整理 2
其他 各项目完成情况、计划梳理 3
2026/1/24 其他 周六 7
2026/1/25 周日 7
2026/1/26 工会项目 工会项目PPT整改 4
技术管理平台 技术管理平台运维,调整审批节点 1
电子商务平台(一期)功能模块清单整理、项目运维 2
2026/1/27 工会项目 代码仓库管理、开发基础环境搭建 3
电子商务平台(二期)项目PPT编写整理 4
2026/1/28 分管领导任务 参加电子商务平台AI方案会议 3
工会项目 工会项目模块分解,开发,前端界面调整 2
电子商务平台(二期)项目PPT编写整理 2
2026/1/29 工会项目 工会项目PPT、前端UI调整 2
电子商务平台(二期)PPT优化调整 2
电子商务平台(二期)维护板块功能设计开发、规划 3
2026/1/30 其他 项目管理会议 3
工会项目 工会项目项目建议书30% 4
2026/1/31 其他 周六 7
2026/2/1 其他 周日 7
2026/2/2 工会项目 工会项目项目建议书50% 5
工会项目 工会项目一张图 1
电子商务平台(二期)电子商务平台一张图 1
2026/2/3 工会项目 工会项目项目建议书70% 5
工会项目 工会项目一张图美化 1
电子商务平台(二期)电子商务平台一张图美化 1
2026/2/4 其他 请假 7
2026/2/5 工会项目 工会项目项目建议书90% 5
工会项目 项目开发内容跟进,解决问题,梳理进度 2
2026/2/6 工会项目 工会项目建议书汇报、调整优化 6
工会项目 工会项目开发进度跟进,优化内容 1
2026/2/7 其他 周六 7
2026/2/8 其他 周日 7
2026/2/9 工会项目 项目建议书、报价整改 5
电子商务平台(二期)项目建议书编写10% 2
2026/2/10 分管领导任务 路桥甄选项目汇报 3
其他 公司联欢会 2
工会项目 工会、电子商务平台一张图 2
2026/2/11 电子商务平台(二期)电子商务平台二期项目建议书编写30% 6
工会项目 工会、电子商务平台一张图汇报 1
2026/2/12 电子商务平台(二期)电子商务平台二期项目建议书编写50% 5
工会项目 工会项目开发,内容核对 2
2026/2/13 电子商务平台(二期)电子商务平台二期项目建议书编写70% 5
工会项目 工会项目开发,内容核对 2
2026/2/14 电子商务平台(二期)电子商务平台二期项目建议书编写90% 5
工会项目 工会项目开发、上线 2
b.贾凯轩
2025/12/29 电子商务平台(一期) 请假一天
2025/12/30 电子商务平台(一期) 解决分配代理机构无法提交的问题 2
电子商务平台(一期) 开发比选采购项目归档添加履约保证金内容功能 5
2025/12/31 电子商务平台(一期) 修复物料采购情况报表查询和导出报错问题 2
电子商务平台(一期) 修复项目归档列表中缺失部分项目的问题 1
电子商务平台(一期) 处理部分推送失败的保证金数据 1
电子商务平台(一期) 修复新增限价备案无法选择部分采购计划的问题 3
2026/1/4 电子商务平台(一期) 解决分派代理机构详情中申请单位数据错误的问题 1
电子商务平台(一期) 解决计划备案中无法选择部分计划的问题 1
电子商务平台(一期) 根据工单需求调整结果公告内容 2
电子商务平台(一期) 根据工单需求调整采购方案流程 2
电子商务平台(一期) 解决限价备案中无法选择部分计划的问题 1
2026/1/5 电子商务平台(二期) 对接财务系统获取对应部门用户接口 5.5
电子商务平台(一期) 根据工单需求调整项目开标时间和截止时间 0.5
电子商务平台(一期) 根据工单需求调整结果公告内容 1
2026/1/6 电子商务平台(二期) 开发测试手动退还保证金功能接口 5
电子商务平台(一期) 解决合同系统关联不到定标结果的问题 1
电子商务平台(一期) 解决供应商无法查看项目答疑的问题 1
2026/1/7 电子商务平台(一期) 根据招采中心要求导出代理评分数据 1.5
电子商务平台(一期) 根据招采中心要求删除内部商场滚动图片 1
电子商务平台(一期) 解决合同系统获获取不到定标结果明细的问题 0.5
电子商务平台(二期) 开发测试手动退还保证金相关页面和弹窗等前端功能 4
2026/1/8 电子商务平台(二期) 手动退还保证金功能的前后端联调与测试 4
电子商务平台(一期) 解决招采结果数据无法正常推送到成本系统的问题 1
电子商务平台(一期) 解决云采购订单重新提交后未收到审批流程的问题 1
电子商务平台(一期) 解决单位已分派代理机构或有审批中申请信息不得重复提交的问题 1
2026/1/9 电子商务平台(一期) 开发比选采购供应商同时中标情况下监管账户数据锁定的功能 5
电子商务平台(一期) 根据招采中心要求调整电商采购绑定用户 1
电子商务平台(一期) 解决采购计划备案列表中数据显示异常的问题 1
2026/1/12 电子商务平台(一期) 解决采购人进行比选结果核验时无法预览保证金的问题 1
电子商务平台(一期) 解决山西路桥第一工程有限公司无法分配代理机构的问题 1
电子商务平台(一期) 解决采购计划中预算金额显示异常的问题 1
电子商务平台(一期) 解决项目在限价备案阶段时默认单位选择错误的问题 1
电子商务平台(一期) 开发提前发布比选采购计划功能 4
2026/1/13 电子商务平台(一期) 开发发布比选采购计划招采首页前端代码 5
电子商务平台(一期) 修复采购公告异常关联到结果公示的问题 2
2026/1/14 电子商务平台(一期) 解决评标管理页面中缺失部分数据的问题 2
电子商务平台(一期) 解决采购人编辑采购方案时漏传部分附件的问题 2
电子商务平台(二期) 电子商务平台替换新编码平台会议 2
电子商务平台(二期) 电子商务平台项目任务开发进度安排会议 1
2026/1/15 电子商务平台(一期) 编写电子商务平台系统年度运行报告 2
电子商务平台(一期) 成本数据与招采推送数据不一致的问题 1
电子商务平台(一期) 解决结果确认菜单中缺失项目数据的问题 1.5
电子商务平台(一期) 解决云标室MAC地址不一致导致的无法登录问题 1
电子商务平台(一期) 解决采购人误操作导致项目废标的问题 1.5
2026/1/16 电子商务平台(二期) 修复手动推送保证金失败的问题 3
电子商务平台(一期) 修复供应商投诉页面无法关联出项目信息的问题 2
电子商务平台(一期) 解决采购人在编辑采购计划时选错采购方式的问题 1
电子商务平台(一期) 解决采购人在编辑采购条目是将物料单位选错的问题 1
2026/1/19 电子商务平台(一期) 修改项目负责人,解决编标工具数据显示异常问题 1
电子商务平台(一期) 创建新的京东账号,并绑定用户 1
电子商务平台(一期) 整理电子商务平台现有系统功能清单 3
电子商务平台(一期) 解决云采购订单重新提交后未收到审批流程的问题 2
2026/1/20 电子商务平台(一期) 解决项目流标无法生成新项目的问题 1
电子商务平台(一期) 开发创建比选采购计划公告接口 2
电子商务平台(一期) 参与一企一屏数据大屏项目会议 2
电子商务平台(一期) 配合修复电子商务平台服务器存在的漏洞 2
2026/1/21 电子商务平台(一期) 解决项目发布补遗变更后无法自动分配设备的问题 1
电子商务平台(一期) 根据招采中心要求调整内部商城首页内容 2
电子商务平台(一期) 调整电子商务平台门户页面,将行业资讯调整为采购计划,并修改相关内容 3
电子商务平台(一期) 更新电子商务平台purchase-server模块和门户系统 1
2026/1/22 电子商务平台(一期) 根据招采中心要求填写智能招采产品调研提纲和问题清单 2
电子商务平台(一期) 解决电子商务平台门户首页通知公告数据显示问题 2
电子商务平台(一期) 编写电子商务平台门户首页展示采购计划需求清单 1
电子商务平台(一期) 去除电子商务平台门户首页的行业资讯相关内容 1
电子商务平台(一期) 去除电子商务平台门户首页的网上商城相关内容 1
2026/1/23 电子商务平台(一期) 解决供应商注册时统一社会信用代码填写错误的问题 1
电子商务平台(一期) 解决云采购订单提交后未收到审批流程的问题 1
电子商务平台(二期) 修改调整电子商务平台现有系统功能清单 5
2026/1/26 电子商务平台(一期) 根据招采中心要求导出2025.12.26-2026.1.25日的招采月报数据表 2
电子商务平台(一期) 查找电子商务平台门户首页和公告展示涉及的页面和代码,对比代码与正式环境的差异并进行调整,保证一致性 4
电子商务平台(一期) 解决澄清管理页面没有分页组件的问题 1
2026/1/27 电子商务平台(一期) 根据招采中心要求去除电子商务平台网上商城的订单情况统计模块 1
电子商务平台(一期) 解决用户无法登录京东慧采的问题 1
电子商务平台(一期) 使用数据中台系统进行数据建模,构建数据大屏指标 5
2026/1/28 电子商务平台(一期) 解决项目流标供应商保证金无法正常推送的问题 0.5
电子商务平台(一期) 解决供应商信息变更未正常推送数据中台的问题 1
电子商务平台(一期) 解决采购项目结束后未正常推送招采结果的问题 1
电子商务平台(一期) 使用数据中台系统新增表同步,准备数据大屏指标所需数据表 4.5
2026/1/29 电子商务平台(一期) 解决招采结果推送成本系统清单编号有误的问题 1
电子商务平台(一期) 解决限价备份无法引用限价数据的问题 1
电子商务平台(一期) 解决项目删除后标包丢失的问题 1.5
电子商务平台(一期) 使用数据中台系统进行数据流开发,准备数据大屏指标所需数据 3.5
2026/1/30 电子商务平台(一期) 使用数据中台系统进行数据建模和数据流开发 6
电子商务平台(一期) 排查项目归档后归档文件下载失败的问题 1
2026/2/2 电子商务平台(一期) 调整用户绑定阿里商城和京东商城用户 1
电子商务平台(一期) 解决数据中台数据流开发过程中出现的问题 3
电子商务平台(一期) 开发工程协作专区发布采购计划的接口 3
2026/2/3 电子商务平台(一期) 解决工单中用户权限调整的问题 1
电子商务平台(一期) 开发电子商务平台首页工程协作专区发布采购计划相关页面 6
2026/2/4 电子商务平台(一期) 解决采购人发布结果公告没有设置公告起止时间的问题 4
电子商务平台(一期) 测试并调整工程协作专区发布采购计划功能 3
2026/2/5 电子商务平台(一期) 根据招采中心要求调整电子商务平台网上商城商品供应商 1
电子商务平台(一期) 开发新增工程协作专区发布采购计划公告接口 4
电子商务平台(一期) 排查并解决采购计划添加条目后无法提交的问题 2
2026/2/6 电子商务平台(一期) 解决采购人进行限价审批无法选择审批人的问题 2
电子商务平台(一期) 开发手动推送保证金时选择推送条目的功能 4
电子商务平台(一期) 升级电子商务平台门户系统和微服务招采模块 1
2026/2/9 电子商务平台(一期) 解决采购人进行计划备案时无法选择条目的问题 3
电子商务平台(一期) 排查并分析项目归档文件损坏问题 4
2026/2/10 电子商务平台(一期) 尝试复现项目归档时归档文件损坏的问题 1
电子商务平台(一期) 解决评标专家登录评标工具时登录失败的问题 4
电子商务平台(一期) 参加公司联欢会 2
2026/2/11 电子商务平台(一期) 根据招采中心要求调整供应商投诉审批流程 3
电子商务平台(一期) 解决采购人提交采购计划时审批流程异常的问题 2
电子商务平台(一期) 解决采购人提交结果确认后中标金额为0的问题 2
2026/2/12 电子商务平台(一期) 解决采购人提交结果确认时中标金额存在的问题 1
电子商务平台(一期) 调整大文件上传逻辑并进行相关测试 3
电子商务平台(一期) 调整归档文件下载逻辑,避免下载时报错的问题 2
电子商务平台(一期) 更新上线前端和微服务sys模块 1
2026/2/13 电子商务平台(一期) 解决采购人发布采购公告是无法正常预约设备的问题 3
电子商务平台(一期) 解决项目发布补遗公告后项目状态变成流标的问题 2
电子商务平台(一期) 解决项目归档文件下载后损坏无法打开的问题 2
2026/2/14 电子商务平台(一期) 解决竞价采购项目未正常分配设备的问题 3
电子商务平台(一期) 解决竞争谈判项目报价数据显示异常的问题 2
电子商务平台(一期) 解决项目在结果确认过程中中标金额显示错误的问题 2
c.贺泽瑞
2025/12/29 电子商务平台(二期) 电子商务平台AI方案--总体架构方案设计 4
电子商务平台(二期) 电子商务平台AI方案--智能客服方案设计 3
2025/12/30 电子商务平台(二期) 电子商务平台AI方案--供应商智能审核方案设计 7
2025/12/31 电子商务平台(二期) 电子商务平台AI方案--供应商智能审核方案设计 5
电子商务平台(二期) 电子商务平台信创改造方案验证环境搭建 2
2026/1/4 电子商务平台(二期) 电子商务平台AI方案--智能评标方案设计 4
电子商务平台(二期) 电子商务平台信创及AI方案汇报 3
2026/1/5 电子商务平台(二期) 电子商务平台AI方案--智能评标方案设计 6
电子商务平台(二期) 电子商务平台整体架构设计 1
2026/1/6 电子商务平台(二期) 电子商务平台整体架构设计-数据架构设计 7
2026/1/7 电子商务平台(二期) 电子商务平台整体架构设计 7
2026/1/8 电子商务平台(二期) 电子商务平台整体架构设计 7
2026/1/9 电子商务平台(二期) 电子商务平台整体架构设计 4
电子商务平台(二期) 电子商务平台整体架构设计汇报 3
2026/1/12 电子商务平台(二期) 电子商务平台整体架构设计 5
电子商务平台(二期) 电子商务平台小工具替换方案编写 2
2026/1/13 电子商务平台(二期) 电子商务平台整体架构设计方案优化 7
2026/1/14 电子商务平台(二期) 电子商务平台整体架构设计方案优化 5
电子商务平台(二期) 回公司开项目会议 2
2026/1/15 电子商务平台(二期) 电子商务平台整体架构设计方案汇报 7
2026/1/16 企业节点 企业节点项目数据方案沟通 4
电子商务平台(二期) 电子商务平台功能梳理 3
2026/1/19 电子商务平台(二期) 电子商务平台功能梳理 7
2026/1/20 电子商务平台(二期) 电子商务平台功能梳理 3
电子商务平台(二期) 系统漏洞修复 4
2026/1/21 电子商务平台(二期) 电子商务平台功能梳理 3
电子商务平台(二期) 系统漏洞修复 4
2026/1/22 电子商务平台(二期) 电子商务平台功能梳理 7
2026/1/23 电子商务平台(二期) 电子商务平台功能梳理 7
2026/1/26 电子商务平台(二期) 参加集团组织的智能体调研会议 3
电子商务平台(二期) 电子商务平台基础架构梳理 4
2026/1/27 电子商务平台(二期) 电子商务平台基础架构梳理 7
2026/1/28 电子商务平台(二期) 电子商务平台基础架构升级JDK17 7
2026/1/29 电子商务平台(二期) 电子商务平台基础架构升级JDK17 4
电子商务平台(二期) 技术管理方案讨论与编写 3
2026/1/30 电子商务平台(二期) 电子商务平台基础架构升级SpringBoot:3.2.4 7
2026/2/2 电子商务平台(二期) 电子商务平台业务流图绘制 7
2026/2/3 电子商务平台(二期) 电子商务平台基础架构升级Springcloud 7
2026/2/4 电子商务平台(二期) 电子商务平台基础架构至新应用包结构设计 7
2026/2/5 电子商务平台(二期) 电子商务平台基础架构至新应用包结构验证 7
2026/2/6 电子商务平台(二期) 电子商务平台基础架构至新应用包结构验证 7
2026/2/9 电子商务平台(二期) 电子商务平台领域模型建模(事件风暴法) 7
2026/2/10 电子商务平台(二期) 电子商务平台领域模型建模(事件风暴法) 3
电子商务平台(二期) 评标专家无法登陆问题修复 4
2026/2/11 电子商务平台(二期) 电子商务平台-工作流模块分析 7
2026/2/12 电子商务平台(二期) 电子商务平台-工作流模块分析重新设计 7
2026/2/13 电子商务平台(二期) 电子商务平台-工作流模块分析重新设计 7
2026/2/14 电子商务平台(二期) 电子商务平台-工作流模代码开发 7
d.京丽芳
2025/12/29 标识解析项目 会议 3
工会项目 会议、预警指标梳理、细化系统首页指标 4
2025/12/30 标识解析项目 查询商标注册、卷尺产品名称 3
工会项目 大屏、首页内容修改、业务流程图2.0、预警文档整理 4
2025/12/31 e采通项目 卷尺商标名、图案设计,初稿已定 2
工会项目 竞品调研、指标整理 2
工会项目 需求调研及整理 3
2026/1/4
2026/1/5 工会项目 整理预警菜单、条件,完成 2
工会项目 角色权限整理,完成 1
工会项目 客户沟通——联系3家工会系统供应商,对接产品手册 1
工会项目 案例调研——4家案例分析,重点菜单、功能、ui风格 3
2026/1/6 工会项目 梳理pc端功能2版,输出思维导图 2
工会项目 收集整理集团工会文件 2
工会项目 工会系统架构图2.0 1
工会项目 讨论菜单层级、调研菜单名称 2
2026/1/7 工会项目 APP功能梳理1.0 2
工会项目 需求确认清单 5
2026/1/8 工会项目 需求确认清单,进度40%,编写模块定义,主要功能点,操作点,验收功能 4
工会项目 调研需求 3
2026/1/9 工会项目 修改ppt 2
电子商务平台(二期) 参加会议 1
标识解析项目 提炼方案并制作PPT 4
2026/1/12 工会项目 最新需求整理、沟通界面设计 3.5
分管领导任务 产品图需求整理,提交示意图,修改图品 1.5
标识解析项目 参加会议,讨论需求 2
2026/1/13 电子商务平台(二期) PPT制作、架构图设计 5
标识解析项目 方案1.0 1
工会项目 竞品学习-市总工会 1
2026/1/14 标识解析项目 方案撰写,设计PPT 6
e采通项目 商标跟进 1
2026/1/15 标识解析项目 开会,讨论内部推广方案 1.5
工会项目 功能确认清单修改,已经完成 3
工会项目 集团汇报 2.5
2026/1/16 工会项目 建设方案内容,及ppt,报价拆分、功能整合 7
2026/1/19 分管领导任务 年度预算评审汇报ppt 7
2026/1/20 分管领导任务 年度预算评审汇报ppt 6
工会项目 智慧工会建设方案修改 1
2026/1/21 工会项目 功能划分更新 1
工会项目 功能确认清单 4
工会项目 集团汇报 1
分管领导任务 准备给集团提供的数字化转型内容 1
2026/1/22 电子档案项目 开会,讨论方案 1
工会项目 方案修改 6
2026/1/23 工会项目 方案修改,完成 7
2026/1/26 工会项目 方案修改,新旧系统功能升级功能清单 5
工会项目 ppt修改 1
分管领导任务 汇报思路,思维导图 1
2026/1/27 其他 宣传册内容修改 4
工会项目 项目建议书 3
2026/1/28 工会项目 方案修改3.0 3
工会项目 报表体系内容确认 1
工会项目 预警内容确认 1
其他 宣传册修改 2
2026/1/29 工会项目 方案修改4.0 4
其他 宣传册3.0 3
2026/1/30 工会项目 一张图 3
电子档案项目 方案输出 4
2026/2/2 工会项目 工会一张图 2
电子档案项目 整理纪要 1
电子档案项目 竞品资料收集 4
2026/2/3 其他 建设管理平台项目策划模块 2
其他 领导资料撰写 5
2026/2/4 其他 路桥甄选方案 4
其他 路桥甄选原型 3
2026/2/5 其他 路桥甄选方案 4
其他 路桥甄选原型 3
2026/2/6 其他 路桥甄选方案 7
2026/2/9 其他 领导安排写规划 1
其他 撰写申报方案 5
电子档案项目 梳理电子档案的思路 1
2026/2/10 其他 汇报路桥甄选 4
工会项目 工会一张图内容 3
2026/2/11 其他 业态规划内容及设计 5
工会项目 工会一张图调整 2
2026.2.12-2.14
2026/2/24 其他 2026中科业态规划图 7
02.常用信息2
a.董霄源
2025/12/29 工会项目 经费管理职工会费基数台账页面搭建 1
工会项目 单位职工会费汇缴统计 1
工会项目 审批流程搭建及审批配置接口对接 3
工会项目 同频会议 1
工会项目 附件预览上传配置 1
2025/12/30 工会项目 困难职工帮扶申请列表页/申请页 2
工会项目 困难职工公示编辑页/列表页 2
工会项目 职工互助帮扶资金募集管理列表/编辑页面 2
工会项目 互助帮扶申请页 1
2025/12/31 工会项目 培训管理培训计划列表/新增/详情页 2
工会项目 会员迁入审批基础流程对接 5
2026/1/4 工会项目 审批通过流程,驳回流程,转审流程对接 5
工会项目 已审批页面及详情页搭建调试 1
工会项目 生日福利新增,列表,详情接口对接 1
2026/1/5 工会项目 流程相关添加多个角色和人员继续调试 5
工会项目 困难职工帮扶申请页/列表页,公示发布页字段对接 1
工会项目 生日福利,体检福利接口对接完成,后续需要对接走统一审批 1
2026/1/6 工会项目 调整完善公共审批流程 3
2026/1/7 工会项目 审批h5页面搭建 1
工会项目 入会申请页面搭建 1
工会项目 用户管理页面调整,功能调整 3
工会项目 会员画像调整 1
工会项目 活动策划登记接口部分调试 1
2026/1/8 工会项目 节假日福利对接统一提交审批接口 1
工会项目 生日福利对接统一提交审批接口 1
工会项目 审批详情对接生日福利节假日福利详情 1
工会项目 困难职工帮扶申请接口,列表接口,审批接口对接 3
工会项目 困难职工公示新增,列表对接 1
2026/1/9 工会项目 困难职工帮扶申请接口对接90% 3
工会项目 困难职工互助帮扶接口对接90% 4
2026/1/12 工会项目 困难职工互助帮扶接口对接完成 2
工会项目 会员邀请入会功能 1
工会项目 会员填写入会登记薄入会操作功能 1
工会项目 活动管理新增接口对接 1
工会项目 活动管理发布,结果列表 1
2026/1/13
2026/1/14 工会项目 活动管理接口对接完成 3
工会项目 福利选择pc页面搭建及接口对接 1
工会项目 h5审批页福利,员工迁入,困难申请详情页开发 3
2026/1/15 工会项目 协助交接工会相关项目 1
工会项目 h5页面初始跳转逻辑调整 2
工会项目 h5福利选择页面搭建 2
工会项目 现有部分功能测试优化 2
2026/1/16 工会项目 工会首页搭建 3
工会项目 工会工作台搭建 2
工会项目 工会菜单结构修改 2
2026/1/19 工会项目 工会首页动画调整 2
工会项目 工会登录页动画调整 2
工会项目 工会工作台页面跳转实现 3
2026/1/20 企业节点 工作台页面搭建 4
工会项目 页面跳转跳转,动画优化 3
2026/1/21 工会项目 页面菜单调整,样式继续优化 7
2026/1/22 企业节点 地图图层交互逻辑,覆盖物功能研究实现方式 4
工会项目 工会项目菜单管理新增菜单时会将已经逻辑删除的数据重新显示问题修改 3
2026/1/23 工会项目 工会已有功能测试并修改问题 6
工会项目 工会项目代码整合提交,部署,同步用于集团驻场使用 1
2026/1/26 工会项目 工会项目代码梳理打包 3
2026/1/27 工会项目 集团代码整合,环境部署,原型查看 7
2026/1/28 工会项目 工会项目模块分工 1
工会项目 工会项目任务拆分录入 1
工会项目 工会项目原型阅读梳理功能点 5
2026/1/29 工会项目 女职工活动页面搭建 3
工会项目 慰问活动页面搭建 2
工会项目 心理咨询页面搭建 2
2026/1/30 工会项目 工作台页面重新搭建完成 5
工会项目 联调测试,问题查找及修复 2
2026/2/2 工会项目 职工送温暖慰问相关页面搭建,及接口对接完成 7
2026/2/3 工会项目 预算管理相关页面及接口对接完成 7
2026/2/4 工会项目 其他福利页面修改 4
工会项目 员工首页搭建 3
2026/2/5 工会项目 预算管理对接审批相关接口及状态修改,对应操作修改 4
工会项目 工服配置列表页页面搭建 3
2026/2/6 工会项目 工服配置详情页,新增页,页面搭建 3
2026/2/9 工会项目 工服申领,工服审批,工服配置接口对接 7
2026/2/10 工会项目 独生子女福利相关页面搭建 7
2026/2/11 工会项目 独生子女福利接口对接 7
2026/2/12 工会项目 其他福利页面接口对接 7
2026/2/13 工会项目 其他福利接口对接,工会项目打包上线部署 7
b.李嘉伟
2025/12/29 电子商务平台(一期) 熟悉电子商务平台业务流程。 3.5
梳理项目架构并学习数据库操作手册。 3.5
2025/12/30 电子商务平台(一期) 梳理项目架构与数据库结构/状态机 2
电子商务平台工具代码调试 4
整理解决疑问点 1
2025/12/31 电子商务平台(一期) 调试电子商务平台辅助工具环境和代码 5
查阅GBase 8t驱动兼容性及日志输出 2
2026/1/4 电子商务平台(一期) 定制每日招标统计代码 3
运维服务支持 4
2026/1/5 电子商务平台(一期) 处理工单 2
运维服务处理数据 5
2026/1/6 电子商务平台(一期) 运维服务处理数据 4
了解消息推送任务逻辑关系 1
整理服务器扫漏方案 2
2026/1/7 电子商务平台(一期) 工单处理运维支持 6
整理自动化脚本 1
2026/1/8 电子商务平台(一期) 运维服务处理数据 4
工单处理 3
2026/1/9 电子商务平台(一期) 运维服务支持 5
项目代码业务梳理 2
2026/1/12 电子商务平台(一期) 运维服务支持 7
2026/1/13 电子商务平台(一期) 运维服务支持 5
整理服务器扫漏方案 2
2026/1/14 电子商务平台(一期) 运维服务支持 5
工会项目 交接工会项目 2
2026/1/15 电子商务平台(一期) 运维服务支持 3
工会项目 工会项目代码 4
2026/1/16 电子商务平台(一期) 运维服务支持 5
工会项目 数据库结构梳理 2
2026/1/19 电子商务平台(一期) 运维服务支持 4
工会项目 数据库表结构化总结 3
2026/1/20 电子商务平台(一期) 运维服务支持 4
服务器漏扫维护 3
2026/1/21 其他 请假 7
2026/1/22 电子商务平台(一期) 运维服务支持 4
服务器漏洞维护 3
2026/1/23 电子商务平台(一期) 运维服务支持 4
协助梳理平台模块文档 2
梳理平台定时任务流程内容 1
2026/1/26 电子商务平台(一期) 运维服务支持 5
梳理业务代码并编写业务文档 2
2026/1/27 电子商务平台(一期) 运维服务支持 4
工会项目 整理代码和中间件配置 3
2026/1/28 电子商务平台(一期) 运维服务支持 3
工会项目 维护代码整理开发文档 4
2026/1/29 电子商务平台(一期) 运维服务支持,数据排错 5
工会项目 编写任务清单;分析旧代码结构,新建数据库表,开发API接口。 2
2026/1/30 电子商务平台(一期) 运维服务支持 2
工会项目 慰问活动功能开发 5
2026/2/2 工会项目 功能模块代码开发 7
2026/2/3 工会项目 功能模块代码开发 6
电子商务平台(一期) 运维服务支持 1
2026/2/4 工会项目 新建数据库业务表,功能模块代码开发 7
2026/2/5 工会项目 职工福利-工服申领相关功能代码开发 6
电子商务平台(一期) 运维服务支持 1
2026/2/6 工会项目 职工福利-工服申领审批完成;离职清算相关代码30% 7
2026/2/9 工会项目 职工福利-工服申领审批完成 6
电子商务平台(一期) 运维服务支持 1
2026/2/10 工会项目 职工福利-独生子女奖励业务建表,代码开发40% 7
2026/2/11 工会项目 职工福利-独生子女奖励开发完成 7
2026/2/12 工会项目 职工福利-其他福利开发 6
电子商务平台(一期) 运维服务支持 1
2026/2/13 电子商务平台(一期) 运维服务支持 1
工会项目 1.职工福利-其他福利开发;2.整理数据库表结构;3.协助测试代码部署。 6
2026/2/14 电子商务平台(一期) 运维服务支持 2
工会项目 代码开发,整理数据库内容并构建索引等约束内容 5
2026/2/24 电子商务平台(一期) 运维服务支持 1
工会项目 1.功能测试;2.完善业务逻辑;3.协助更新,同步数据。 6
03.常用信息3
a.李季昌
2025/12/29 智路通项目 首页-左下图表和左上项目/时间筛选联动接口逻辑修改 1
智路通项目 首页-右下图表显示调整 0.5
智路通项目 合同台账-表格字段显示问题修改 0.5
智路通项目 建设项目信息-修改页面逻辑问题修改,新增页面丢失问题修复 1
智路通项目 新加工单中心模块 列表页 详情页 3
e采通项目 管理后台和app开发环境搭建,代码熟悉梳理 1
2025/12/30 智路通项目 投资控制支付报表接口逻辑修改,页面url拼接逻辑变更 1
工会项目 智慧工会开发环境搭建,代码熟悉梳理 1
工会项目 新加新闻管理模块列表页,页面框架搭建 2
工会项目 新加新闻管理模块新增页,页面框架搭建 1
工会项目 新加民主管理企务公开模块列表页,页面框架搭建 1
工会项目 新加民主管理职代会模块列表页,页面框架搭建 1
工会项目 新加民主管理工代会模块列表页,页面框架搭建 1
2025/12/31 智路通项目 生产环境上线前排查梳理 3
智路通项目 首页地图建设总数更新逻辑调整 1
陵川项目 小陵伴游智能规划路线功能逻辑梳理确认 1
工会项目 新加民主管理职代会模块新增页,页面框架搭建 1
工会项目 新加民主管理工代会模块新增页,页面框架搭建 1
2026/1/4 陵川项目 小陵伴游按冯局需求去掉跟随状态切换 1
陵川项目 小陵伴游根据导览样式,添加景点标记显示 3
工会项目 民主管理职代会模块新增页完善逻辑 3
2026/1/5 陵川项目 小程序内实现导航需求调研 1
陵川项目 腾讯地图平台账号申请,应用key配置,相应接口配置 1
陵川项目 小程序接入腾讯地图插件,实现驾车路线规划功能 2
e采通项目 e采通首页样式重构 3
2026/1/6 陵川项目 小程序导航路径规划发体验版 1
e采通项目 e采通组件样式重构 4
e采通项目 e采通移动端数据采集页面做样例数据,截图 2
智路通项目 生产环境投资排名表问题排查 1
2026/1/7 e采通项目 e采通表格,分页组件样式重构 4
e采通项目 e采通布局组件样式调整重构 3
2026/1/8 e采通项目 e采通按钮样式重构,卡片布局样式重构,多段式页面样式重构 5
e采通项目 e采通顶部菜单根据url路由自动选中逻辑优化 1
e采通项目 e采通登出逻辑调整,用户管理禁用按钮逻辑调整 1
2026/1/9 e采通项目 e采通内容框样式调整重构 3
e采通项目 e采通表单样式调整重构 3
e采通项目 e采通工序管理web端和移动端接口逻辑设计讨论调研 1
2026/1/12 e采通项目 工序管理功能工序表数据结构结构接口逻辑重构 5
工会项目 工会移动端代码开发环境搭建 1
智路通项目 基本建设程序轴图状态逻辑问题排查修复 1
2026/1/13 e采通项目 e采通web端工序管理功能工序表数据结构结构接口逻辑重构 3
e采通项目 e采通移动端采集任务数据结构逻辑调整修改 4
2026/1/14 陵川项目 小程序添加视频内容隐藏后台开关,方便过审 1
陵川项目 小程序功能改动整理发正式版 1
智路通项目 增加集团标准清单模块 3
智路通项目 增加项目清单模块 3
2026/1/15 e采通项目 e采通移动端采集任务表上传功能改动 4
智路通项目 集团清单和标准清单模块功能问题排查修复 3
e采通项目 e采通采集数据校验公式功能讨论调研 1
2026/1/16 e采通项目 e采通采集数据校验公式功能开发 4
企业节点 企业节点登录页面 3
2026/1/19 企业节点 前端项目仓库创建,代码架构搭建 3
e采通项目 e采通偏差值规定值逻辑重构,包括app端和web端 5
2026/1/20 智路通项目 集团标准清单子表接口参数问题修正 1
陵川项目 音乐公路预约点歌功能排查复现 1
e采通项目 e采通web端菜单权限问题排查,菜单功能路由错误全面改正 3
e采通项目 e采通web前端项目配置优化,开发环境配置反向代理,优化baseurl配置 2
e采通项目 用户管理功能角色配置默认值回填 1
2026/1/21 e采通项目 列表分页问题排查修复 2
e采通项目 app端工序表保存上传后状态重新渲染逻辑改动,以适配先前的数据结构逻辑改动 2
智路通项目 登录问题排查修复,去掉登录返回原页面功能,以防止安全性问题 1
企业节点 从奥维地图导出道路标段信息 1
陵川项目 四季陵川功能排查复现 1
2026/1/22 陵川项目 音乐公路添加预定和点歌功能,排查问题发版 2
企业节点 标段展示功能制作 3
智路通项目 协助后端排查接口权限,登出调用接口以清除服务器登录token状态 2
2026/1/23 企业节点 标段展示功能制作 5
陵川项目 事故上报功能复现发版 2
2026/1/26 陵川项目 后台管理平台列表排序功能组件化重构 2
陵川项目 后台管理平台房车营地,观景平台,加油充电主列表排序功能添加 2
智路通项目 修改建设项目成本报审表单查询数据传参格式 1
e采通项目 规定值回填,工序样表详情接口修正,组织机构添加用户问题修正 2
2026/1/27 e采通项目 校验公式功能入口页面弹窗 4
智路通项目 首页建安费去掉,投资控制排名相关修改,地图项目数弹窗对应状态逻辑修改,概算执行台账新增字段 3
2026/1/28 e采通项目 校验公式新增公式功能开发,公式变量添加逻辑,关系运算符选择逻辑,及其相应页面样式开发 6
智路通项目 项目排期表问题自测整理打包 1
2026/1/29 e采通项目 校验公式变量添加功能重做,改为tag点击添加,样式完善整理 3
e采通项目 校验公式复数条件公式添加和删除功能 2
e采通项目 校验公式html格式转字符串公式算法完成 2
2026/1/30 e采通项目 校验公式字符串转html样式算法完成 3
e采通项目 解决页面问题,实现任意位置插入变量,解决插入变量光标位置问题 3
e采通项目 添加公式输入校验,只允许输入和复制数字和字典录入的指定运算符 2
2026/2/2 e采通项目 app端公式校验根据公式代入数据的相关逻辑组件完成 5
2026/2/3 e采通项目 web端公式校验功能联调接口 5
e采通项目 协助处理电子卷尺对接 2
2026/2/4 e采通项目 公式校验平板部分安卓差异化逻辑处理 7
2026/2/5 e采通项目 公式校验计算公式显示相关样式弹窗,校验逻辑功能完善,保存上传功能修改调整,校验结果样式显示改动 7
2026/2/6 e采通项目 公式校验功能整体业务流程打通测试检验, 打包 4
陵川项目 bug修改调整 3
2026/2/9 e采通项目 公式校验变量输入弹窗样式修改 5
e采通项目 项目竖版app开发相关配置处理 2
2026/2/10 e采通项目 公式校验变量弹窗焦点问题处理 4
陵川项目 bug修改调整 3
2026/2/11 e采通项目 公式校验运算符支持扩充 3
2026/2/12 e采通项目 公式校验运算逻辑问题修复 4
e采通项目 竖版移动端app开发基础框架处理搭建 3
2026/2/13 e采通项目 竖版移动端app背景色,启动页,状态栏等相关配置按原型设计配置 7
2026/2/24 e采通项目 计算公式数据录入 3
e采通项目 量测表配置加搜索,刷新功能 2
e采通项目 计算功能新增和编辑功能重新设计操作逻辑 2
b.宋晶晶
2025/12/29 陵川项目 陵川项目进度确认清单 4
工会项目 模块功能、代码梳理,代码启动 2
工会项目 同频会议 1
2025/12/30 工会项目 理顺活动管理流程,建活动管理表,解决后端启动bug,写活动类型接口,活动创建接口 6
陵川项目 定制化路线分析20% 1
2025/12/31 陵川项目 定制化路线分析100%,定制化路线--点位重复bug 分析 5
工会项目 活动管理list接口,流程分析 2
2026/1/4 陵川项目 修改商户,餐饮定位 1
工会项目 活动管理活动保存接口、提交活动内容接口、发送公告接口80%,测试活动保存接口、提交活动内容接口 6
2026/1/5 工会项目 发送公告接口100%,报名人员列表接口,活动报名接口,活动列表展示80% 7
2026/1/6 工会项目 活动列表接口100%,活动管理根据活动类型连接审批管理接口60% 7
2026/1/7 工会项目 活动流程状态 状态修改,合并活动管理状态,活动删除接口,活动详情接口,活动保存编辑接口修改,对接活动前端5% 6
陵川项目 编辑五大功能文档 1
2026/1/8 工会项目 活动管理负责人接口100%,活动管理招募人员90%,对接活动前端10%,调整所有接口 7
2026/1/9 工会项目 活动管理调试接口13%,活动结束保存信息接口90%,活动管理招募人员100%,定时器活动举办状态修改90% 调整所有接口 7
2026/1/12 工会项目 活动管理前后端调试50%,添加接口活动结果登录列表接口100%,活动结果保存接口100%,场地列表接口100%,物质列表100%,调整接口 7
2026/1/13 陵川项目 视频号导下视频,插入陵川后台系统,调整视频大小70多条视频 7
2026/1/14 工会项目 对接前端70%,修改调整接口, 7
2026/1/15 工会项目 交接代码,数据 1
陵川项目 1,新增功能编辑接口 正在修复 2,重新扩大文件上传限制大小,重新启动文件服务器 3,首页轮播测试 4,文件预览bug 正在修复 6
2026/1/19 陵川项目 1,文件预览bug 解决 已部署 100% 2,评论,视频功能接口放后台,已部署 100% 3,测试5% 4,电子音乐公路分析 5% 5,解决电子音乐公路访问 mqtt 60103报错 20% 7
2026/1/20 陵川项目 1, 解决曲目管理点击启用状态bug 100% 2,解决试听bug 100% 3,解决首页下发bug 100% 4,测试9% 5,电子音乐公路分析 15% 7
2026/1/21 陵川项目 1、测试15% 2,电子音乐公路分析99% 3,解决四季陵川页面bug 100% 4、解决音乐公路文章显示 bug 100% 7
2026/1/22 陵川项目 1、测试23% 2,解决图片预览加载过慢 100% 3,解决停车场,卫生间,森林防火 倒序 100% 4,解决观景平台、房车营地、加油充电 报错 100% 7
2026/1/23 陵川项目 1、测试26% 2、开放实物礼品功能测试,3、重新在231部署测试环境 4一键救援逻辑梳理 7
2026/1/26 陵川项目 1,观景平台、房车营地、加油充电 加排序接口3个,2,编写进度 3,视频下载导入33个 7
2026/1/27 陵川项目 1、测试27% 2,编写实时天气接口 3,实物优惠券分析逻辑 7
2026/1/28 陵川项目 1、测试28% 2,编写实时天气接口,加入redis 缓存 4,实物优惠券分析逻辑30% 7
2026/1/29 陵川项目 1、测试30% 2,修复实物礼品管理领取bug (游览锦囊) 7
2026/1/29 陵川项目 1,测试35% 7
2026/2/2 陵川项目 1,测试50%,2、修复景区订票没法预订当日bug 3,修复食在陵川、品读陵川、景点 6处bug 7
2026/2/3 陵川项目 1,测试52% 2,修复退款状态BUG 3,修复酒店房型更新bug 4,监理核对进度 7
2026/2/4 陵川项目 1,测试55% 2,游览锦囊bug 3,用户权限bug 4酒店逻辑分析,bug 2个 5,我的订单数据加载过慢 7
2026/2/5 陵川项目 1,测试57% 2,音响修理厂外出 3,修改加油充电、房车营地、观景平台三模块点赞,评论bug 7
2026/2/6 陵川项目 1,测试60% 2,修复酒店pc端支付30% 4,修改加油充电、房车营地、观景平台三模块点赞,评论bug 前端 7
2026/2/9 陵川项目 1,测试65% 2,修复酒店pc端支付50% 7
2026/2/10 陵川项目 1测试70% 2,解决文本详情部分图片不显示,修改数据库50% 7
2026/2/11 陵川项目 1测试75% 2,解决文本详情部分图片不显示,修改数据库100% 7
2026/2/12 陵川项目 1测试80% 2,解决酒店预约时间bug 7
2026/2/24 陵川项目 1测试85% 7
c.杨晨毅
2025/12/29 工会项目 工会项目本地部署 0.5
工会项目 职工关怀-困难职工档案模块需求确认、开发 2
工会项目 职工关怀-困难职工档案模块数据库表设计 3.5
工会项目 工会项目总体计划沟通会 1.5
2025/12/30 智路通项目 工作量统计梳理 0.1
工会项目 困难职工帮扶业务逻辑调整 1.5
工会项目 职工关怀-困难职工帮扶模块需求调整与开发(50%) 5
工会项目 审批流程逻辑探讨调整 1.5
2025/12/31 服务区项目 功能清单调整 1
工会项目 职工关怀-困难职工帮扶模块需求调整与开发(90%)涉及流程模块需要沟通 5
工会项目 职工关怀-职工互助模块数据库表设计 2
智路通项目 正式环境更新发布 5
2026/1/4 工会项目 职工关怀-职工互助模块开发(40%) 6
工会项目 职工关怀-困难职工帮扶模块业务逻辑调整 1
2026/1/5 工会项目 职工关怀-困难职工帮扶模块开发(100%) 1
工会项目 职工关怀-职工互助模块开发(90%) 6
2026/1/6 e采通项目 质检表梳理会议 1
e采通项目 质检表格分类 0.5
e采通项目 e采通平台后台接口调整 1
工会项目 职工关怀-职工互助模块开发(100%) 3
工会项目 职工关怀-困难职工帮扶模块自测(10%) 2.5
2026/1/7 工会项目 职工关怀-困难职工帮扶模块自测(15%) 1
工会项目 职工关怀-困难职工帮扶-需求修改 2.5
工会项目 职工关怀-困难职工帮扶-功能增加 2
工会项目 会员入会、组织机构需求沟通 1.5
2026/1/8 工会项目 职工关怀-困难职工帮扶增加部分接口 2
工会项目 职工关怀-困难职工帮扶部分接口逻辑修改 2
工会项目 职工关怀-困难职工帮扶模块功能测试后续改为和前端边对接边修改 1
e采通项目 项目问题整理、业务逻辑调整 2
e采通项目 向赵立夫介绍e采通项目架构及流程 0.5
2026/1/9 工会项目 职工关怀-困难职工帮扶-前后端对接 职工关怀-职工互助帮扶-前后端对接 5
e采通项目 工程结构获取接口修改-改为实时获取(40%) 2
2026/1/12 其他 标识解析内部推广项目组会 2
e采通项目 工程结构获取接口修改-改为实时获取(100%) 3
e采通项目 量测台账上传接口修改(100%) 1
e采通项目 量测台账查询接口修改(100%) 1
2026/1/13 工会项目 福利管理-流程审批后增加对体检福利、节假日福利的代办发送(100%) 1
工会项目 福利管理-增加福利列表接口(100%) 2
工会项目 福利管理-增加福利选择接口和已办发送(100%) 1
工会项目 详情增加福利方案统计信息(100%) 1
e采通项目 修改app查询量测数据逻辑(100%) 3
2026/1/14 工会项目 困难职工帮扶导入逻辑修改 0.5
工会项目 职工关怀调度任务修改 0.5
e采通项目 对外获采集数据结果接口修改 2
e采通项目 App获取采集样表详情接口修改 2
e采通项目 实时获取接口修改 1
e采通项目 采集数据标识注册修改(30%) 1
2026/1/15 e采通项目 标识注册逻辑修改 5.5
其他 企业节点专项会议 1.5
2026/1/16
2026/1/19 e采通项目 前后端对接修改内容 4
e采通项目 质检表导入 2
企业节点 标识内容开发(40%) 2
2026/1/20 e采通项目 用户、权限、角色部分接口逻辑调整 2
e采通项目 组织机构部分接口逻辑调整 2
e采通项目 台账分页接口获取数据逻辑调整 1
e采通项目 e采通测试环境部署调试 3
2026/1/21 e采通项目 e采通平台部分接口调整测试 4
e采通项目 质检表录入 2
其他 面试 1
2026/1/22 企业节点 标识内容开发(100%) 7
2026/1/23 智路通项目 档案新需求工时评估 2
智路通项目 建设管理平台bug修改 5
2026/1/26 e采通项目 计算公式筛选统计 5
e采通项目 量测台账问题排查 2
2026/1/27 e采通项目 计算公式增加对应字典值 1
e采通项目 修改计算公式表、增加计算公式校验结果表 3
e采通项目 上传台账逻辑调整,增加计算公式校验(20%) 3
2026/1/28 e采通项目 上传台账逻辑调整,增加计算公式校验(70%) 7
2026/1/29 e采通项目 计算公式校验(100%) 7
2026/1/30 e采通项目 计算公式逻辑修改,将比较符号、计算符号固定 7
2026/2/2 e采通项目 计算公式前后端对接 7
2026/2/3 e采通项目 计算公式前后端对接 7
2026/2/4 e采通项目 修改计算公式保存逻辑、修改计算公式查询逻辑 5
电子档案项目 需求会议 2
2026/2/5 电子档案项目 移交内容文档编写 1
e采通项目 计算公式前后端对接 6
2026/2/6 e采通项目 计算公式前后端对接(完成)、测试环境部署调试 5
标识解析项目 修改获取用户组织机构信息逻辑 1
标识解析项目 服务器docker-redis调整 1
2026/2/9 标识解析项目 登录接口逻辑调整 1
其他 微服务响应式框架学习 6
2026/2/10 e采通项目 协助黄总进行隧道用表、检查项整理 1
e采通项目 计算公式导入 6
2026/2/11 e采通项目 计算公式导入 7
2026/2/12 e采通项目 计算公式导入 7
2026/2/13
2026/2/14
2026/2/24 e采通项目 计算公式保存逻辑修改 2
e采通项目 计算公式保存逻辑测试、上线 2
e采通项目 计算公式重新导入 3
d.赵立夫
2025/12/29 智路通项目 生产与测试环境配置文件对比,整合项目配置文件,按照不同的环境区分 3
智路通项目 对比生产和测试组织机构相关数据差异,并修复数据 3.5
智路通项目 测试生产环境主数据数据库是否能连接上,将相关配置集成到生产环境配置文件,并且因为这个数据库只有生产环境有,需要跟测试环境隔离,查看清单表相关数据并初步建立了实体类 2
智路通项目 需求相关,投资控制-计量支付-支付报表改动,调用逻辑数据,和项目级沟通,确定了要提供新的字段以供查看相应的签章文件,和前端同步了相关逻辑,等项目级同步相关逻辑以后前后端才能更改 0.5
2025/12/30 智路通项目 签章文件查询需求沟通,逻辑确认,相关接口开发 2
智路通项目 组织机构数据对比,确认修复流程 4
智路通项目 生产环境问题解决(审批数据,已办理数据丢失问题,这里涉及到了用户的查询权限问题,后续应该需要修改数据更新逻辑以及查询逻辑) 0.5
智路通项目 工作量清单以及数据来源文档编写 1.5
2025/12/31 智路通项目 部分接口调试,主要集中在投资控制部分 3
智路通项目 工作量清单以及数据来源文档编写 4
智路通项目 生产环境上线 4.5
2026/1/4 智路通项目 成本系统对接,标准清单库数据拉取与对外查询接口开发,沟通项目清单相关字段推送逻辑,以及相关的编码 7.5
2026/1/5 智路通项目 生产问题处理,审批查询修复,相关审批数据查看 2
智路通项目 成本系统对接相关接口开发 2
智路通项目 外出路桥集团,调研建设管理平台存在的问题 3.5
智路通项目 继续开发成本系统数据推送接收接口并自测 1.5
2026/1/6 智路通项目 建设管理平台日志分割相关开发 6
智路通项目 建设管理平台生产环境问题修复 2
智路通项目 相关问题测试环境部署 0.5
智路通项目 生产环境上线 0.5
2026/1/7 智路通项目 日志分割开发,开发和测试环境完毕 2
智路通项目 测试环境创建主数据用户,授予成本系统需求相关表的只读权限 2
智路通项目 成本系统相关开发 3.5
2026/1/8 智路通项目 nigix配置梳理 2.5
智路通项目 sa-token相关修改,确保测试环境能正常接收oauth2调用 4.5
智路通项目 生产环境上线 0.5
e采通项目 了解项目结构及业务流程 0.5
2026/1/9 智路通项目 整理1.5调研结果 1
智路通项目 成本系统联调 5
智路通项目 1.5调研结果部分开发 1
2026/1/12 智路通项目 1.5调研结果部分逻辑思考与开发 6
智路通项目 项目级预警相关内容统计,生产环境项目级接口响应时间过长核查 1.5
2026/1/13 智路通项目 成本系统需求,生产环境数据库同步(包括创建表,以及对成本表只读权限的用户) 1.5
智路通项目 对接成本系统需求上线,相关信息核对验收 1.5
智路通项目 生产环境审批相关问题解决 4
智路通项目 1.5调研关于告警相关内容开发以及项目整体优化 1
智路通项目 日志修复,超长日志特殊处理,自测 1
2026/1/14 智路通项目 成本系统对接相关,建设管理平台前端展示接口开发 5
智路通项目 1.5调研告警相关开发 4
2026/1/15 智路通项目 建设管理平台,成本系统对接需求,集团级相关页面修改,测试,上线 2
智路通项目 建设管理平台,修改日志,上线,用以定位中交京纬用户查询错误 1
企业节点 企业节点,项目搭建,用户登录相关开发,自测 4
企业节点 开会,讨论企业节点相关事项 1.5
2026/1/16 企业节点 登录,菜单,字典相关部分接口init 8
企业节点 高质量数据集相关接口移植,包含了基本逻辑调用以及调用中交京纬api的工具类初始化
企业节点 系统层面规范日志格式,输出调用接口相关的关键信息,未来这里需要将记录落库;增加全局异常处理
企业节点 待办:调用外部接口,每次都生成新的token,会不会直接导致旧token失效,影响其他调用(同一个key会影响,企业节点和建设管理平台都调用zjjw可能会发生)
2026/1/19 企业节点 新增系统接口调用记录表以及相关存储逻辑 3
企业节点 调入任务相关逻辑移植以及自测 5
2026/1/20 智路通项目 日志格式规范 0.5
智路通项目 接口调用记录存储相关内容开发 2
智路通项目 生产环境问题修复 0.5
智路通项目 生产环境日志分割上线 0.5
智路通项目 漏洞修复(密码加密因子提高,弱口令密码统一更改调度任务开发) 4
企业节点 接口调用记录完善,自测 2
2026/1/21 智路通项目 渗透报告相关问题开发 5
智路通项目 接口调用记录相关逻辑完善 3
2026/1/22 智路通项目 漏洞修复,集团jar包解析token后增加缓存校验,配合退出登录时缓存失效 4
智路通项目 部分接口增加管理员身份校验 3
2026/1/23 智路通项目 漏洞修复,自测,生产环境上线 8
2026/1/26 智路通项目 生产环境漏洞修复(提供给外部系统快捷登录的接口) 2
智路通项目 部分产出bug修复 6
2026/1/27 智路通项目 部分bug修复自测,请假半天 4
2026/1/28 智路通项目 1.5需求调研相关修复,测试环境前后端部署,梳理剩余工作内容 5
智路通项目 之前产出的部分bug修复自测 2
2026/1/29 其他 研究flowable标准流程引擎,包括基础的配置文件编写,写了个空流程,以及相关的流程发起,待办事项查询,流程处理接口,尝试走通整个流程 7
2026/1/30 其他 flowable相关接口开发自测,学习电子档案平台相关公共流程 7
2026/2/2 其他 学习电子档案管理系统通用功能要求 7
2026/2/3 其他 基础公共项目构思与搭建 7
2026/2/4 其他 基础公共项目构思与搭建 7
2026/2/5 其他 基础公共项目构思与搭建 7
2026/2/6 智路通项目 项目级平台服务器迁移相关信息整理 2
2026/2/9 其他 参与技术分享 1
其他 帆软相关搭建 5
2026/2/10 其他 年会布置现场 3
其他 生产环境成本系统问题解决 1
其他 帆软相关搭建 4
2026/2/11 其他 帆软相关搭建 7
2026/2/12 智路通项目 bug修改 1
其他 基础公共项目编码 6
2026/2/13 智路通项目 bug修复,自测,测试环境上线 7
2026/2/24 智路通项目 bug修复,生产环境上线 2
其他 帆软相关nginx配置,http相关已配置,https需要提工单 5
2.5 工作进度
00.汇总
a.20260125-20260224
编标小工具-业务梳理-数据库设计、前端原型图、后端设计图 已完成,技术方案的初步编写
投标小工具-业务梳理-数据库设计、前端原型图、后端设计图 已完成,技术方案的初步编写
评标小工具-业务梳理-数据库设计、前端原型图、后端设计图 已完成,技术方案的初步编写
-----------------------------------------------------------------------------------------------------
工会项目-后端开发-女职工活动的表设计、业务实现、测试工作 已完成,按照原型开发
工会项目-后端开发-巾帼先进集体的表设计、业务实现、测试工作 已完成,按照原型开发
工会项目-后端开发-巾帼先进个人的表设计、业务实现、测试工作 已完成,按照原型开发
工会项目-前端开发-女职工活动的页面布局、以及联动效果 已完成,按照原型开发
工会项目-前端开发-巾帼先进集体的页面布局、以及联动效果 已完成,按照原型开发
工会项目-前端开发-巾帼先进个人的页面布局、以及联动效果 已完成,按照原型开发
-----------------------------------------------------------------------------------------------------
AI大模型-智能客服系统-需求验证、基本环境搭建 已完成,结构验证
AI大模型-智能评标系统-需求验证、基本环境搭建 已完成,结构验证
AI大模型-供应商智能审核系统-需求验证、基本环境搭建 已完成,结构验证
b.20260225-20260324
针对【智能问答】全面移动到本地部署,进行向量优化、系统优化
针对【智能问数】对Vanna准备数据集,进行RAG精确识别操作
针对【智能问数】对Vanna数据集进行归一化,优化数据集
-----------------------------------------------------------------------------------------------------
工会项目-前后端开发-劳动竞赛的表设计、业务实现、测试工作、页面布局、以及联动效果 已完成,按照原型开发
工会项目-前后端开发-技术比武的表设计、业务实现、测试工作、页面布局、以及联动效果 已完成,按照原型开发
工会项目-前后端开发-安康杯的表设计、业务实现、测试工作、页面布局、以及联动效果 已完成,按照原型开发
工会项目-前后端开发-五小发明的表设计、业务实现、测试工作、页面布局、以及联动效果 已完成,按照原型开发
工会项目-前后端开发-劳模工匠的表设计、业务实现、测试工作、页面布局、以及联动效果 已完成,按照原型开发
工会项目-前后端开发-工会阵地(8个)的表设计、业务实现、测试工作、页面布局、以及联动效果 已完成,按照原型开发
日常运维-招采系统的文档权限系统的修改密码-排查以及解决线上问题 已完成,及时处理线上问题
AI场景-零库存、企查查、智能客服、智能审核、智能评标-梳理需求以及相关资料 已完成,对不同AI场景进行前期调研
工会项目-智能问答-API版本、Local版本等多版本的灰度测试 已完成,待验收以及根据反馈及时调整
工会项目-智能问数-API版本、Local版本等多版本的灰度测试 已完成70%;剩余30%暂未完成,主要原因是现有数据表结构不统一,导致大模型在数据分析过程中识别困难、分析结果不准确,影响整体推进
c.20260325-20260424
工会项目 - 完成 5 大模块审批流 + 积分 + 预算 + 会员画像功能开发,梳理业务文档及交互问题清单
AI部署落地 - 已完成智能问答本地部署迁移及 MaxKB 环境搭建、参与 AI 部署相关线上技术会议、4 个测试智能体开发,提交技术方案(思维导图)及成本核算报告
路桥甄选项目 - 基础框架与开发 已完成项目功能清单梳理、团队分工及整体框架搭建,实现 h5 页面转 vue 及前端统一化,完成 6 个工程骨架搭建,配合完成商城 h5 演示工作
其他业务支持 - 招采生产系统 2 类核心问题排查(信封规则、数据同步异常)
d.20260425-20260524
4件展厅工作 - 已完成,1.交通数据交易平台,2.路域可信数据空间 3.AI交通顾问 4.配合坍落度512演示
路桥甄选项目1 - 已完成,统一规范前后端字段标准,完成页面连通校验、多端跳转开发测试;迭代修复 UI、积分、用户权限、审批流等各类问题,拆分后端单体架构,整改 API 接口与登录认证逻辑;
路桥甄选项目2 - 已完成,完成多轮问题清单梳理核对、后端架构优化,开展压力测试、甲方演示汇报,产出预上线版本,稳步推进项目上线筹备
运维保障工作 - 已完成,排查处置服务器故障,彻底解决断电重启引发的 Docker 数据丢失问题
AI 相关工作 - 已完成,参与 AI 专项会议,同步梳理汇总业务问题清单
01.常用信息1
a.魏德良
工会项目PPT 已完成
工会项目一张图 已完成
工会项目前端原型图 已完成
工会项目项目建议书 已完成
工会项目开发 已完成困难职工帮扶、送温暖慰问、职工健康、工作服装、独生子女奖励、其他奖励、预算管理、财务管理、日常活动、荣誉申报、心理咨询、维权服务、维权案例库模块的初版开发
电子商务平台运维 已完成
电子商务平台功能模块清单梳理 已完成
电子商务平台项目建议书 已完成初版
电子商务平台PPT 已完成
电子商务平台一张图 已完成
路桥甄选项目方案、汇报 已完成
技术管理平台运维 已完成
b.贾凯轩
开发电子商务平台门户首页工程协作专区添加采购计划模块相关功能 已完成
开发保证金台账页面通过选择条目进行保证金推送的功能 已完成
使用数据中台系统进行数据同步、数据建模、数据流开发,构建数据大屏指标 已完成
解决项目归档后下载归档压缩包无法正常解压的问题 已完成
根据招采中心要求导出各项数据报表 已完成
根据招采中心要求调整电子商务平台门户首页和内容商场各项内容 已完成
解决澄清管理页面列表数据分页存在的问题 已完成
解决采购人发布结果公告没有设置公告起止时间的问题 已完成
根据招采中心要求调整供应商投诉审批流程 已完成
解决采购人在调休工作日无法正常预约设备的问题 已完成
处理电子商务平台运行过程中出现的各类问题 已完成
c.贺泽瑞
电子商务平台基础架构梳理 已完成
电子商务平台基础架构升级 已完成JDK版本升级,已完成springcloud版本升级
技术管理方案讨论与编写 已完成
电子商务平台业务流图绘制 已完成电子商务平台业务流程图初版绘制
电子商务平台基础架构新应用包结构设计 已完成DDD版本新应用包结构设计及验证
电子商务平台领域模型建模(事件风暴法) 已完成0级建模,正在进行1级建模
评标专家无法登陆问题修复 已完成问题修复并提交修复报告及使用说明
电子商务平台-工作流模块分析 已完成
电子商务平台-工作流模块分析重新设计及代码开发 进行中
d.京丽芳
工会项目 方案修改3.0(新增预警、数据、报表内容),已交付
工会项目 方案修改4.0,报价修改,已交付
工会项目 工会一张图内容1.0-2.0、设计修改,已交付
电子商务平台 一张图内容修改,已交付
电子档案项目 方案撰写、ppt,已交付并汇报
电子档案项目 会议纪要、竞品资料收集,与项目经理梳理汇报方案,已完成
路桥甄选 竞品调研,功能需求梳理,已完成
路桥甄选 方案输出1.0-2.0,已交付并完成汇报
路桥甄选 界面原型输出2个版本
建设管理平台 建设管理平台,项目策划模块的思路梳理,已交付
临时任务-宣传册 修改公司简介、产品介绍,已交付终版
临时任务—材料 协助写领导个人宣言、太旧改扩建项目路域经济申报材料,已完成
临时任务—项目申报 发改委申报材料,三通,已交付
临时任务—业态规划图 输出2026业态发展规划图,已交付1.0
02.常用信息2
a.董霄源
工会项目 工会项目整合提交到集团仓库,用于去集团开发使用--已完成
工会项目 工会项目维护模块分工,任务拆分,任务录入,原型功能梳理--已完成
工会项目 工作台页面根据新的ui设计图重新搭建
工会项目 职工送温暖活动页面搭建及接口对接完成
工会项目 预算管理页面搭建及接口对接完成
工会项目 工会主席首页和员工首页根据新的ui图重新搭建--已完成
工会项目 其他福利页面搭建及接口对接完成
工会项目 工服配置,工服申领,工服审批页面搭建及接口对接完成
工会项目 独生子女申请,审批,福利发放等页面搭建及接口对接完成
工会项目 维权申请和维权案例库页面搭建及接口对接完成
工会项目 女职工服务页面搭建,心理咨询页面搭建完成
b.李嘉伟
电子商务平台(一期)-运维服务支持-渗透测试漏洞修复,高危未授权访问漏洞修复。
电子商务平台(一期)-运维支持服务,重点协助完成开评标系统相关数据的维护与校验工作,确保数据一致性与准确性
电子商务平台(一期)-运维服务支持,针对用户误操作引发的数据异常问题,深入分析系统日志及数据库变更记录,定位到具体触发点与影响范围。
电子商务平台(一期)-运维服务支持,响应业务部门需求,处理临时数据调整请求,保障系统稳定运行。
电子商务平台(一期)-运维服务支持,编写SQL脚本对错误数据进行回滚与修正,同时提出优化建议以防止类似问题再次发生。
工会项目-后端开发-完成新业务模块所需的数据库表结构设计与创建,涵盖职工福利信息主表及相关关联表。
工会项目-后端开发-同步推进功能模块代码开发,实现增删改查基本功能,并完成初步单元测试,确保数据完整性与程序稳定性。
工会项目-后端开发-完成“工服申领”功能的全部代码开发,包含申请提交、审批流程配置、状态流转等功能模块;对接现有组织架构与人员信息,确保数据联动准确无误,支持多级审批机制,并完成接口调试。
工会项目-后端开发-完成“工服申领”功能的审批流程闭环开发,支持线上审批流转,并完成接口调试。
工会项目-后端开发-完成“独生子女奖励”业务所需数据库表的设计与创建,包含奖励标准配置、申请记录、审核历史等字段,实现了申请录入界面与基础校验规则和审批流程与文件上传功能,并完成接口联调工作。
工会项目-后端开发-完成“其他福利”模块开发,涉及节日慰问金、困难补助等通用福利类型的支持,并完成接口联调工作。
工会项目-后端开发-全面梳理并优化工会项目数据库表结构,建立合理索引与外键约束提升查询性能。
03.常用信息3
a.李季昌
陵川项目:管理平台内容列表排序功能组件化 已完成。将排序功能提取成公用组件,方便模块开发
陵川项目:管理平台房车营地、观景平台、加油充电功能内容列表添加排序功能 已完成。利用开发好的排序组件,实现了多个模块的列表内容排序功能。
智路通项目:首页样式改动,地图项目弹窗状态逻辑修正,投资控制排名样式修改 已完成。按需求完成了首页数据总览页面的相关改动
e采通项目:公用分页组件bug修复,修复相关功能页列表刷新后页码不对的问题 已完成。修正了组件中错误
e采通项目:web端管理后台校验公式页面样式 已完成。设计并完成了校验公式的增删改查相关页面的页面样式和相应的操作逻辑。
e采通项目:web端管理后台校验公式录入功能、测量数据变量插入功能实现 已完成。调研相关公式插件,前端实现了复杂计算公式的录入,并且集成了输入控制,变量插入功能。
e采通项目:计算公式解析与转换 已完成。能正确解析计算公式中的运算符以及插入的量测数据类型变量,并将其中的变量转换为相应的前端组件样式进行展示
e采通项目:平板app计算公式校验逻辑 已完成。在平板公式能正确解析计算公式并代入测量数据对计算结果进行校验
e采通项目:公式计算录入功能优化 已完成。优化了计算公式显示列表,在列表外直接选择要录入公式的相应量测数据类型。
e采通项目:计算公式与偏差值描述功能前端兼容 已完成。可在计算公式页面显示与修改该量测数据的校验描述信息。
e采通项目:量测表配置模块添加关键词搜索功能 已完成。量测表配置模块添加了关键词搜索。
e采通项目:竖版手持设备app前端项目基本框架搭建,完善相关配置。 已完成。为手持设备竖版app项目进行相应配置,为接下来的开发做准备。
b.宋晶晶
陵川项目:加排序接口3个 观景平台、房车营地、加油充电 加排序接口3个,已完成
陵川项目:编写项目进度 编写修改中科智信公司陵川项目工作进展情况报告,已完成
陵川项目:视频下载导入33个 去陵川汇报进去,重新更新最新视频,已完成
陵川项目:编写实时天气接口 在小程序首页,加实时天气接口,已完成
陵川项目:修复实物礼品领取bug 在编写游览胶囊,修复实物礼品领取bug,已完成
陵川项目:修复景区订票没法预订当日bug 在小程序,修复景区订票没法预订当日bug ,已完成
陵川项目:修复食在陵川、品读陵川、景点 6处bug 修复食在陵川、品读陵川、景点 6处bug,点击状态没有反应,添加异常等bug ,已完成
陵川项目:修复退款状态BUG 修复退款状态BUG,退款成功钱已退回,状态一直是退款中,已完成
陵川项目:修复酒店房型更新bug 修复酒店房型更新bug,已完成
陵川项目:监理核对进度 监理核对进度,已完成
陵川项目:游览锦囊bug 游览锦囊bug,添加有问题,已完成
陵川项目:用户权限bug 用户权限bug,添加用户,给用户密码账号,没有权限登录,已完成
陵川项目:音响修理厂外出 音响修理厂外出,已完成
陵川项目:修复点赞,评论bug 修改加油充电、房车营地、观景平台三模块点赞,评论bug
陵川项目:修复酒店pc端支付bug 修复酒店pc端支付bug,后端接口已完成,待商家开通支付权限,已完成
陵川项目:解决文本详情图片不显示bug 解决文本详情图片不显示bug,修复数据库表格数据,已完成
陵川项目:我的订单数据加载过慢问题 我的订单数据加载过慢问题,在表里加索引,已完成
陵川项目:实物礼品管理逻辑分析 实物礼品管理逻辑分析,已完成
陵川项目:酒店逻辑分析 酒店逻辑分析,已完成
陵川项目:测试 测试80%,58条bug,解决48条,新增需求14条
c.杨晨毅
e采通项目-计算公式表格筛选统计 已完成
e采通项目-量测台账问题排查 已完成
e采通项目-字典修改-增加对比符号和计算符号 已完成
e采通项目-上传台账修改-增加计算公式校验 已完成
e采通项目-计算公式逻辑修改-对比、计算符号固定 已完成
e采通项目-计算公式前后端对接 已完成
e采通项目-计算公式保存逻辑修改-移除增删改接口、增加保存接口 已完成
e采通项目-隧道用表、检查项梳理-各个表使用设备梳理 已完成
e采通项目-计算公式导入 已完成大部分计算公式导入,其余部分涉及专业名词需要与咨询单位对接
e采通项目-计算公式保存逻辑调整-增加计算公式描述 已完成
标识解析项目-服务器环境搭建 已完成
标识解析项目-服务器部署 已完成
标识解析项目-登录接口、查询、新增模板、标识接口修改 已完成
电子档案-需求会议、移交文档内容编写 已完成
d.赵立夫
智路通项目生产环境漏洞修复(提供给外部系统快捷登录的接口) 已完成
智路通项目部分产出bug修复 已完成
学习电子档案管理系统通用功能要求 已完成
基础公共项目构思与搭建 基础功能已完成,目前仅有后端,相关接口自动化文档待完善
项目级平台服务器迁移相关信息整理 已完成
参与技术分享 已完成
帆软相关搭建,以及nginx相关端口的https转发配置 帆软系统搭建完毕,目前正在做nginx配置
智路通项目bug修复,自测,测试环境上线(对接成本系统相关) 测试环境自测完毕,等待观察情况,之后生产环境上线
需求调研相关修复,测试环境前后端部署,梳理剩余工作内容 自测完毕,相关修复等待生产环境上线
3 智慧工会
3.1 服务框架
01.常见信息1
a.微服务快速开发平台
采用前后端分离的模式,前端 (基于 Vue、Element-UI)。
后端采用SpringCloud全家桶,并同时对其基础组件做了高度的封装,单独出一个框架:LayerCore。
LayerCore已推送至Nexus私服仓库,直接引入即可,减少了工程的臃肿,也可更注重于业务开发。
集成Sentinel从流量控制、熔断降级、系统负载等多个维度保护服务的稳定性。
注册中心、配置中心选型Nacos,为工程瘦身的同时加强各模块之间的联动。
极简封装了SysServer底层,用更少的代码换来拓展性更强的ACL系统。
整合OAuth2,实现了终端认证系统,可控制系统的token权限互相隔离,达到接口级别认证。
整合Security,封装了Secure模块,采用JWT做Token认证,可拓展集成Redis等细颗粒度控制方案。
集成Flowable工作流引擎,自定义页面,API接口开发,流程快速定制。
封装RocketMq事件流消息,封装了RocketMq模块,高性能数据管道、流分析、数据集成、服务间削峰、解耦、异步。
封装OSS高性能对象存储服务器。支持公有、私有化部署。海量、安全、低成本、高可靠的云存储服务,存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择。
封装Elasticsearch组件、分布式、RESTful 风格的搜索和数据分析引擎,支持多服务聚合索引查询,提升查询响应等。
整合Skywalking支持可视化告警、支持JVM监控、支持全局调用统计等等。
fat jar -> docker -> k8s + jenkins部署架构。
项目分包明确,规范微服务的开发模式,使包与包之间的分工清晰。
b.服务工程结构
LayerService
├── layer-client -- Feign服务提供
├── layer-common -- 常用工具封装包
├── src -- 业务服务
├ ├── application -- 应用层
├ ├── controller -- 控制器
├ ├── engine -- 原生层
├ ├── ├── components -- 组件层
├ ├── ├── ├── redis -- 缓存层
├ ├── ├── ├── mq -- 消息层
├ ├── ├── domain -- 领域层
├ ├── ├── ├── beans -- 内部包装
├ ├── ├── ├── constants -- 领域常量
├ ├── ├── ├── convertot -- 转换器
├ ├── ├── ├── core -- 领域值对象
├ ├── ├── ├── enums -- 领域枚举
├ ├── ├── ├── service -- 细粒度逻辑
├ ├── ├── mapper -- ORM映射层
├ ├── ├── service -- 粗粒度逻辑
├ ├── ├── utils -- 工具类
├ ├── feign -- Feign实现
├ ├── infrastructure -- 组件层
├ ├── ├── application -- 组件应用层
├ ├── ├── exception -- 异常包装
├ ├── ├── listener -- 消息监听
├ ├── interfaces -- 抽象层
├ ├── ├── adaptors -- 适配器
├ ├── ├── service -- 抽象逻辑
└── └──support -- 远程支持转换
c.在线演示
Kibana-数据可视化和挖掘工具 http://192.168.1.253:5601/app/kibana
Jenkins-CICD http://192.168.1.253:8080/login
Nexus-私服依赖库 http://192.168.1.253:8081
SonarQube 代码缺陷检测 http://192.168.1.253:9000
Rocketmq 消息可视化 http://192.168.1.253:18080
Nacos 服务发现和配置中心 http://192.168.1.253:8848/nacos/index.html
02.常用信息2
a.父坐标
<!-- 父根坐标 -->
<parent>
<groupId>com.zkzx.layer</groupId>
<artifactId>layer-parent</artifactId>
<version>1.6.0</version>
<relativePath/>
</parent>
b.子坐标
<!-- 核心启动模块 -->
<dependency>
<groupId>com.zkzx.layer</groupId>
<artifactId>layer-core-boot</artifactId>
<version>${layer.core.version}</version>
</dependency>
<!-- 安全认证模块 -->
<dependency>
<groupId>com.zkzx.layer</groupId>
<artifactId>layer-core-secure</artifactId>
<version>${layer.core.version}</version>
</dependency>
<!-- 缓存封装模块 -->
<dependency>
<groupId>com.zkzx.layer</groupId>
<artifactId>layer-core-cache</artifactId>
<version>${layer.core.version}</version>
</dependency>
<!-- 系统服务客户端 -->
<dependency>
<groupId>com.zkzx.layer</groupId>
<artifactId>sys-client</artifactId>
<version>${layer.core.version}</version>
</dependency>
<!-- MyBaits映射 -->
<dependency>
<groupId>com.zkzx.layer</groupId>
<artifactId>layer-core-mybatis</artifactId>
<version>${layer.core.version}</version>
</dependency>
03.常用信息3
a.位置
layer-core,1.6.1
http://192.168.1.249:8081/#browse/browse:maven-releases:cn
b.com.zkzx.fam
auth-service
fam-client
fam-common
fam-parent
fam-service
gateway
sys-client
sys-common
sys-service
c.com.zkzx.labour
auth-service
gateway
labour-client
labour-common
labour-parent
labour-service
netty-client
netty-common
netty-service
sys-client
sys-common
sys-service
d.com.zkzx.layer
building-manage
layer-core
layer-core-boot
layer-core-cache
layer-core-cloud
layer-core-elasticsearch
layer-core-flowable
layer-core-gen
layer-core-knife4j
layer-core-launch
layer-core-log
layer-core-monomer
layer-core-monomer-com
layer-core-mybatis
layer-core-nacos
layer-core-oss
layer-core-poi
layer-core-redis
layer-core-rocketmq
layer-core-search
layer-core-secure
layer-core-sentinel
layer-core-tool
layer-core-transaction
layer-monomer
layer-parent
sys-client
sys-common
sys-service
e.com.zkzx.purchase
bidopening-client
bidopening-common
bidopening-server
cloudbidopening-client
cloudbidopening-common
cloudbidopening-server
clouduploadvideo-client
log-client
log-common
mall-client
mall-common
mobile-client
mobile-common
mobile-server
parent-common
purchase-client
purchase-common
purchase-parent
purchase-server
report-server
sys-client
sys-common
sys-server
workflow-client
workflow-common
workflow-server
f.com.zkzx.ygy
ygy-common
ygy-gateway
ygy-parent
ygy-service
ygy-service-common
ygy-sys-client
ygy-sys-common
ygy-sys-service
3.2 对接权限:auth
01.图例
a.关系图
sys_menu (菜单表)
[menu_id, menu_name, parent_id, ...]
↑ ↑
| sys_role_menu | sys_acl_module_menu
| ↑
| sys_acl_module
| (权限模块)
|
sys_dept (部门表) sys_role (角色表)
[dept_id, dept_name, [role_id, role_name,
parent_id, ...] role_key, data_scope, ...]
↑ ↑ ↑ ↑
| | sys_role_dept | |
| +----------------+ |
| |
| sys_user_dept sys_user_role |
| |
↓ ↓
+----------→ sys_user (用户表) ←---------+
[user_id, login_name,
password, username, ...]
b.关联关系说明
关联表 关系 说明
sys_user_role 用户 ↔ 角色 多对多,一个用户可拥有多个角色
sys_role_menu 角色 ↔ 菜单 多对多,一个角色可分配多个菜单权限
sys_user_dept 用户 ↔ 部门 多对多,支持一人多部门
sys_role_dept 角色 ↔ 部门 多对多,角色级数据权限控制
sys_acl_module_menu 权限模块 ↔ 菜单 多对多,扩展权限模块映射
sys_dept.parent_id 部门 → 部门 自引用树形结构
sys_menu.parent_id 菜单 → 菜单 自引用树形结构
c.权限链路1
用户(User) --分配角色-→ 角色(Role) --授予菜单-→ 菜单(Menu)
| |
+----- 归属部门 --------+----- 数据权限(部门) ---→ 部门(Dept)
d.权限链路2
职位表(Postion)
↓
三方表(Third)<---> 用户(User) <---> 角色(Role) <---> 菜单(Menu)
↑ ↑ ↑
部门(Depart)------------------------
02.表设计
a.用户表 (sys_user)
a.说明
存储系统用户的基础信息、档案资料及状态
b.字段
user_id BIGINT --PK 用户ID(主键)
dept_id BIGINT --FK 部门ID,关联部门表
login_name VARCHAR --UQ 登录账号,系统唯一标识
password VARCHAR -- 密码,加密存储
username VARCHAR -- 用户昵称
user_type VARCHAR -- 用户类型(00:系统用户)
email VARCHAR -- 用户邮箱
phone VARCHAR -- 手机号码
sex TINYINT -- 性别(1:男 2:女)
avatar VARCHAR -- 头像路径
age INT -- 年龄
birthday DATE -- 出生日期
status TINYINT -- 帐号状态(1:正常 2:停用)
is_admin TINYINT -- 是否管理员
is_super TINYINT -- 是否超级管理员
is_revise TINYINT -- 首次登录强制修改(0:是 1:否)
per_card_id VARCHAR -- 身份证号
-------------------------------------------------------------------------------------------------
education VARCHAR -- 学历
user_degree VARCHAR -- 学位
major VARCHAR -- 专业
skills VARCHAR -- 技能特长
certificates VARCHAR -- 资质证书
company VARCHAR -- 所属单位
awards TEXT -- 获奖情况
work_experience TEXT -- 个人工作简历
talent_type VARCHAR -- 用户类型(人才)
hobby VARCHAR -- 兴趣爱好
reading_preference VARCHAR -- 阅读偏好
writing_strength VARCHAR -- 文体特长
join_date DATETIME -- 入会时间
membership_status TINYINT -- 会员状态(1:正常 2:停用 3:待入会)
-------------------------------------------------------------------------------------------------
login_ip VARCHAR -- 最后登录IP
login_date DATETIME -- 最后登录时间
order_num INT -- 排序号
create_by VARCHAR -- 创建者
create_time DATETIME -- 创建时间
update_by VARCHAR -- 更新者
update_time DATETIME -- 更新时间
remark VARCHAR -- 备注
is_deleted TINYINT -- 逻辑删除标记
c.模拟数据
示例数据(user_id | login_name | username | sex | status | is_admin | is_super | membership_status):
┌──────────────────────┬──────────┬─────────┬─────┬────┬──────┬───────┬────┐
│ 1 │ admin │ 管理员 │ 1 │ 0 │ 1 │ 1 │ 1 │
│ 2025090823314500006 │ user_01 │ 测试员A │ 2 │ 0 │ NULL │ NULL │ 2 │
│ 2025090823314500007 │ user_02 │ 测试员B │ 1 │ 0 │ NULL │ NULL │ 2 │
│ 2025090823314500008 │ user_03 │ 测试员C │ 1 │ 0 │ NULL │ NULL │ 2 │
│ 2025090823314500009 │ user_04 │ 测试员D │ 1 │ 0 │ NULL │ NULL │ 2 │
│ 2025090823314500010 │ user_05 │ 测试员E │ 1 │ 0 │ NULL │ NULL │ 2 │
└──────────────────────┴──────────┴─────────┴─────┴────┴──────┴───────┴────┘
b.角色表 (sys_role)
a.说明
定义系统角色及其数据权限范围
b.字段
role_id BIGINT --PK 角色ID(主键)
role_name VARCHAR -- 角色名称
role_key VARCHAR -- 角色权限字符串(如 'admin', 'common')
role_sort INT -- 显示顺序
status TINYINT -- 角色状态(0:正常 1:停用)
data_scope VARCHAR -- 数据范围(全部/本部门/本人)
tag VARCHAR -- 角色标记
category VARCHAR -- 类别(ROLE, USER, DEPT)
create_by VARCHAR -- 创建者
create_time DATETIME -- 创建时间
update_by VARCHAR -- 更新者
update_time DATETIME -- 更新时间
remark VARCHAR -- 备注
is_deleted TINYINT -- 逻辑删除标记
c.模拟数据
示例数据(role_id | role_name | role_key | role_sort | status | data_scope | is_deleted):
┌──────────────────────┬──────────┬───────────┬──────┬────┬────┬────┐
│ 1957981916791595009 │ 员工 │ ROLE_USER │ 1 │ 0 │ 4 │ 0 │
│ 1957981991102078978 │ 副部长 │ │ 2 │ 0 │ 4 │ 0 │
│ 1957982028880175106 │ 部长 │ │ 3 │ 0 │ 4 │ 0 │
│ 1957982081195728897 │ 分管领导 │ │ 4 │ 0 │ 4 │ 0 │
│ 1957982123214266370 │ 领导 │ │ 5 │ 0 │ 4 │ 0 │
│ 1978652047028871170 │ 游客 │ VISITOR │ NULL │ 0 │ 3 │ 1 │
└──────────────────────┴──────────┴───────────┴──────┴────┴────┴────┘
c.菜单表 (sys_menu)
a.说明
管理系统路由、页面及按钮权限,树形结构(parent_id + ancestors)
b.字段
menu_id BIGINT --PK 菜单ID(主键)
menu_name VARCHAR -- 菜单名称
parent_id BIGINT --FK 父菜单ID(0为顶级)
ancestors VARCHAR -- 祖级列表(如 0,1,2)
order_num INT -- 显示顺序
url VARCHAR -- 请求地址/路由路径
target VARCHAR -- 打开方式(_blank, _self)
menu_type CHAR -- 菜单类型(M:目录 C:菜单 F:按钮)
visible TINYINT -- 菜单可见性(0:显示 1:隐藏)
status TINYINT -- 状态(0:启用 1:禁用)
view_perms VARCHAR -- 页面权限标识
btn_perm VARCHAR -- 按钮权限
icon VARCHAR -- 菜单图标
create_by VARCHAR -- 创建者
create_time DATETIME -- 创建时间
update_by VARCHAR -- 更新者
update_time DATETIME -- 更新时间
remark VARCHAR -- 备注
c.模拟数据
示例数据(menu_id | menu_name | parent_id | type | visible | status | btn_perm | ancestors):
┌──────────────────────┬──────────────┬──────────────────────┬─────┬───┬───┬──────┬─────────────────────────┐
│ 1527223905157287937 │ 工作台 │ 0 │ M │ 0 │ 0 │ │ 0 │
│ 1544133614929387521 │ 系统管理 │ 0 │ M │ 0 │ 0 │ │ │
│ 1544871137888616450 │ 组织架构 │ 1900420753829920768 │ C │ 0 │ 0 │ │ 0,1888...,1900... │
│ 1545318477049008129 │ 角色管理 │ 1544133614929387521 │ C │ 0 │ 0 │ │ ,1544133614929387521 │
│ 1544871693961052162 │ 菜单管理 │ 1544133614929387521 │ C │ 0 │ 0 │ │ ,1544133614929387521 │
│ 1844948141704052736 │ 菜单管理 │ 1544871693961052162 │ Z │ 0 │ 0 │ U │ 0,1544133614929387521 │
│ 1844948141704052737 │ 菜单管理 │ 1544871693961052162 │ Z │ 0 │ 0 │ D │ 0,1544133614929387521 │
│ 1844948141704052738 │ 菜单管理 │ 1544871693961052162 │ Z │ 0 │ 0 │ A │ 0,1544133614929387521 │
└──────────────────────┴──────────────┴──────────────────────┴─────┴───┴───┴──────┴─────────────────────────┘
d.部门表 (sys_dept)
a.说明
定义企业组织结构树,树形结构(parent_id + ancestors)
b.字段
dept_id BIGINT --PK 部门ID(主键)
parent_id BIGINT --FK 父部门ID(0为顶级)
ancestors VARCHAR -- 祖级列表(如 0,1,2)
dept_name VARCHAR -- 部门名称
dept_alias_name VARCHAR -- 部门简称
short_name VARCHAR -- 短名称
code VARCHAR -- 部门编码
order_num INT -- 显示顺序
status TINYINT -- 状态(0:正常 1:停用)
-------------------------------------------------------------------------------------------------
sys_org_type VARCHAR -- 组织类型
approval_mode TINYINT -- 审批模式(0:默认 1:普通)
valid_date DATE -- 有效期
warning_days INT -- 提醒天数
description VARCHAR -- 描述
-------------------------------------------------------------------------------------------------
create_by VARCHAR -- 创建人
create_time DATETIME -- 创建时间
update_by VARCHAR -- 更新人
update_time DATETIME -- 更新时间
is_deleted TINYINT -- 逻辑删除标记
c.模拟数据
示例数据(dept_id | parent_id | dept_name | order_num | status | ancestors | code | sys_org_type):
┌──────────────────────┬───────────────────────┬────────────────────┬───┬───┬─────────────────────────────┬────────────┬──────┐
│ 1 │ 0 │ 三晋集团 │ 0 │ 0 │ 0 │ LQ00000000 │ NULL │
│ 2008744808133156865 │ 1 │ 集团总部 │ 0 │ 0 │ 0,1 │ LQ01000000 │ NULL │
│ 2008745258483965954 │ 2008744808133156865 │ 集团总部工会 │ 0 │ 0 │ 0,1,2008744808133156865 │ NULL │ 3 │
│ 2008745393502806017 │ 1 │ 基建施工板块 │ 0 │ 0 │ 0,1 │ NULL │ NULL │
│ 2008746003086172162 │ 2008745393502806017 │ 一公司工会委员会 │ 0 │ 0 │ 0,1,2008745393502806017 │ LQ02000000 │ 1 │
│ 2008747682657460225 │ 1 │ 路域经济版块 │ 0 │ 0 │ 0,1 │ NULL │ NULL │
└──────────────────────┴───────────────────────┴────────────────────┴───┴───┴─────────────────────────────┴────────────┴──────┘
e.关联表
a.用户-角色关联表 (sys_user_role)
id BIGINT --PK 主键ID
user_id BIGINT --FK 用户ID
role_id BIGINT --FK 角色ID
b.用户-部门关联表 (sys_user_dept)
id BIGINT --PK 主键ID
user_id BIGINT --FK 用户ID
dept_id BIGINT --FK 部门ID
c.角色-菜单关联表 (sys_role_menu)
id BIGINT --PK 主键ID
role_id BIGINT --FK 角色ID
menu_id BIGINT --FK 菜单ID
d.角色-部门关联表 (sys_role_dept)
id BIGINT --PK 主键ID
role_id BIGINT --FK 角色ID
dept_id BIGINT --FK 部门ID
-------------------------------------------------------------------------------------------------
示例数据(role_id | dept_id | id):
┌──────────────────────┬──────────┬──────────────────────┐
│ 1957982028880175106 │ 1 │ 1957982029010198530 │ -- 部长 → 三晋集团
│ 1957982123214266370 │ 1 │ 1957982123277180929 │ -- 领导 → 三晋集团
│ 1957982081195728897 │ 1 │ 1957982147461537793 │ -- 分管领导 → 三晋集团
│ 1957981991102078978 │ 1 │ 1978639006866354178 │ -- 副部长 → 三晋集团
│ 1957981916791595009 │ 1 │ 1978646671453675521 │ -- 员工 → 三晋集团
│ 1978652047028871170 │ 1 │ 2010611414593404929 │ -- 游客 → 三晋集团
└──────────────────────┴──────────┴──────────────────────┘
e.权限模块-菜单关联表 (sys_acl_module_menu)
id BIGINT --PK 主键ID
acl_module_id BIGINT --FK 权限模块ID
menu_id BIGINT --FK 菜单ID
f.用户-角色-部门 三方关联表 (sys_user_role_dept)
user_id BIGINT NOT NULL --FK 用户ID
role_id BIGINT NOT NULL --FK 角色ID
dept_id BIGINT NOT NULL --FK 部门ID
post_id BIGINT NULL --FK 岗位ID
id BIGINT NOT NULL --PK 主键ID
flag TINYINT NOT NULL DEFAULT 0 -- 是否默认值(0:否 1:是)
status TINYINT NOT NULL DEFAULT 0 -- 状态(0:在用 1:停用)
creation_date DATETIME NULL -- 创建日期
effective_date DATETIME NULL -- 生效日期
expiration_date DATE NULL -- 到期日期
alert_date DATE NULL -- 预警日期
change_date DATETIME NULL -- 更新时间(转出时间)
update_date DATETIME NULL -- 更新日期(会员迁出时间)
-------------------------------------------------------------------------------------------------
示例数据(user_id | role_id→角色 | dept_id | flag | status | creation_date):
┌──────────────────────┬──────────────────────┬──────────────────────┬────┬───┬─────────────────────┐
│ 2025090509115200014 │ 1957981916791595009 │ 2008748067342245890 │ 0 │ 0 │ 2026-01-07 14:35:54 │ -- 员工
│ 2025090509115200004 │ 1957982123214266370 │ 2008748067342245890 │ 0 │ 0 │ 2026-01-07 14:37:09 │ -- 领导
│ 2025090509115200013 │ 1957982028880175106 │ 2008748067342245890 │ 0 │ 0 │ 2026-01-07 14:37:37 │ -- 部长
│ 2025090509115200002 │ 1957982028880175106 │ 2008748067342245890 │ 0 │ 0 │ 2026-01-07 14:38:31 │ -- 部长
│ 2025090509115200010 │ 1957981916791595009 │ 2008748067342245890 │ 0 │ 0 │ 2026-01-07 14:41:14 │ -- 员工
│ 2025090509115200012 │ 1957981916791595009 │ 2008748067342245890 │ 0 │ 0 │ 2026-01-12 16:10:34 │ -- 员工
└──────────────────────┴──────────────────────┴──────────────────────┴────┴───┴─────────────────────┘
g.三委角色组织关联表 (sys_user_role_dept_agent)
id BIGINT NOT NULL --PK 主键ID
user_id BIGINT NOT NULL --FK 用户ID
role_id BIGINT NOT NULL --FK 角色ID
dept_id BIGINT NOT NULL --FK 部门ID
post_id BIGINT NULL --FK 岗位ID
flag TINYINT(1) NOT NULL DEFAULT 0 -- 是否默认值(0:否 1:是)
status TINYINT(1) NOT NULL DEFAULT 0 -- 状态(0:在用 1:停用)
creation_date DATETIME NULL -- 创建日期
update_date DATETIME NULL -- 更新日期(会员迁出时间)
-------------------------------------------------------------------------------------------------
示例数据(id | user_id | role_id→角色 | dept_id→部门):
┌──────────────────────┬──────────────────────┬──────────────────────┬──────────────────────┐
│ 2010549747790508033 │ 2025090509115200002 │ 1957981916791595009 │ 2008748433010057218 │ -- 员工 → 女职工委员会
└──────────────────────┴──────────────────────┴──────────────────────┴──────────────────────┘
f.权限模块表 (sys_acl_module)
a.权限模块来源映射,标记来源实体类型
权限模块来源映射,标记来源实体类型
-------------------------------------------------------------------------------------------------
source_id BIGINT NOT NULL --FK 来源ID(用户/角色/部门ID)
acl_module_id BIGINT NOT NULL --PK 权限模块ID
source_module VARCHAR(10) NOT NULL -- 来源模块(USER / ROLE / DEPT)
status SMALLINT NOT NULL -- 状态
-------------------------------------------------------------------------------------------------
示例数据(source_id | acl_module_id | source_module | status):
┌──────────────────────┬──────────────────────┬───────┬────┐
│ 1545232488251138049 │ 1545325401832329218 │ USER │ 0 │
│ 1545324702696378369 │ 1546321092813733890 │ DEPT │ 0 │
│ 1546453192409817089 │ 1546453331266445313 │ ROLE │ 0 │
│ 1546450193859981314 │ 1546663026669330433 │ ROLE │ 0 │
│ 1527102251278192641 │ 1546692703790202882 │ DEPT │ 0 │
│ 1957649930439230977 │ 1957650820937863169 │ ROLE │ 0 │
└──────────────────────┴──────────────────────┴───────┴────┘
b.权限模块-菜单关联表 (sys_acl_module_menu)
扩展的权限模块与菜单的映射关系
-------------------------------------------------------------------------------------------------
acl_module_id BIGINT NOT NULL --FK 权限模块ID
menu_id BIGINT NOT NULL --FK 菜单ID
id BIGINT NOT NULL --PK 主键ID
-------------------------------------------------------------------------------------------------
示例数据(acl_module_id | menu_id | id):
┌──────────────────────┬──────────────────────┬──────────────────────┐
│ 1958460326392975361 │ 1893605403258781696 │ 2008791049969729537 │
│ 1958460326392975361 │ 1845004101724766208 │ 2008791049969729538 │
│ 1958460326392975361 │ 1845004101724766209 │ 2008791049969729539 │
│ 1958460326392975361 │ 1845031967645073408 │ 2008791049969729541 │
│ 1957987697322647553 │ 1893140007639580672 │ 2013827359558291457 │
│ 1957987539012837377 │ 1893230670741766145 │ 2013842841908731906 │
└──────────────────────┴──────────────────────┴──────────────────────┘
g.枚举值速查
a.通用
is_deleted 0:未删除 1:已删除
b.用户 (sys_user)
status 1:正常 2:停用
sex 1:男 2:女
is_revise 0:强制修改 1:正常
membership_status 1:正常 2:停用 3:待入会
c.角色 (sys_role)
status 0:正常 1:停用
category ROLE USER DEPT
d.菜单 (sys_menu)
menu_type M:目录 C:菜单 F:按钮 Z:操作权限
visible 0:显示 1:隐藏
status 0:启用 1:禁用
btn_perm U:更新 D:删除 A:新增
e.部门 (sys_dept)
status 0:正常 1:停用
approval_mode 0:默认 1:普通
f.三方关联表 (sys_user_role_dept / sys_user_role_dept_agent)
flag 0:否 1:是(默认值)
status 0:在用 1:停用
3.3 对接流程:flow
01.架构设计:数据模型设计
a.TaskApprovalProcess(流程定义表)
a.基本信息
表名:task_approval_process。
作用:定义审批流程的基本信息,包括流程名称、适用业务类型、所属部门等。
b.字段设计
id:BIGINT类型,主键ID,约束为PK且AUTO_INCREMENT。
process_name:VARCHAR(100)类型,流程名称,约束为NOT NULL,例如"工服申领审批"。
name:VARCHAR(100)类型,适用业务类型名称,约束为NOT NULL。
code:VARCHAR(50)类型,业务类型编码,约束为NOT NULL、UNIQUE,例如"uniform_claim"。
description:VARCHAR(500)类型,流程描述,约束为NULL。
status:VARCHAR(10)类型,状态,约束为NOT NULL,0代表启用,1代表禁用。
dept_id:BIGINT类型,部门ID,约束为NULL,为空表示通用流程。
dept_name:VARCHAR(100)类型,部门名称,约束为NULL。
create_time:DATETIME类型,创建时间,约束为NOT NULL,默认当前时间。
c.关键设计点
code字段:业务类型唯一标识,用于业务系统调用时指定流程。
dept_id字段:支持按部门定制流程,为空表示通用流程(所有部门可用),不为空表示特定部门的专属流程。
流程优先级:查询时优先匹配部门专属流程,无则使用通用流程。
d.数据示例
-- 通用流程
INSERT INTO task_approval_process (process_name, name, code, status, dept_id)
VALUES ('工服申领审批', '工服申领', 'uniform_claim', '0', NULL);
-- 部门专属流程
INSERT INTO task_approval_process (process_name, name, code, status, dept_id, dept_name)
VALUES ('人力资源部-工服申领审批', '工服申领', 'uniform_claim', '0', 1001, '人力资源部');
b.TaskApprovalNode(节点配置表)
a.基本信息
表名:task_approval_node。
作用:定义审批流程中的各个节点,包括节点顺序、审批人类型、审批人配置等。
b.字段设计
node_id:BIGINT类型,节点ID,约束为PK且AUTO_INCREMENT。
process_id:BIGINT类型,流程ID,约束为NOT NULL,外键关联task_approval_process.id。
node_name:VARCHAR(50)类型,节点名称,约束为NOT NULL,例如"部门审批"。
approverifier_type:VARCHAR(20)类型,审批人类型,约束为NOT NULL,可选值为USER或ROLE。
verifier:VARCHAR(500)类型,审批人配置,约束为NULL,存储用户ID或角色ID,逗号分隔。
node_order:INT类型,节点顺序,约束为NOT NULL,从1开始。
is_final_node:INT类型,是否最终节点,约束为NOT NULL,0代表否,1代表是。
c.关键设计点
approverifier_type:审批人类型。
USER为指定用户审批,verifier存储用户ID。
ROLE为指定角色审批,verifier存储角色ID,系统自动查询该角色下的用户。
---------------------------------------------------------------------------------------------
verifier:审批人配置。
单个审批人为"123"。
多个审批人为"123,456,789"(逗号分隔)。
---------------------------------------------------------------------------------------------
node_order:节点顺序,从1开始连续编号,决定审批流转顺序。
---------------------------------------------------------------------------------------------
is_final_node:最终节点标识,最终节点审批完成后流程结束,触发业务策略Handler执行。
d.数据示例
-- 第一个节点:部门领导审批
INSERT INTO task_approval_node (process_id, node_name, approverifier_type, verifier, node_order, is_final_node)
VALUES (1, '部门领导审批', 'ROLE', '10', 1, 0);
-- 第二个节点:人力资源部审批(最终节点)
INSERT INTO task_approval_node (process_id, node_name, approverifier_type, verifier, node_order, is_final_node)
VALUES (1, '人力资源部审批', 'ROLE', '20', 2, 1);
c.TaskApprovalMain(流程实例表)
a.基本信息
表名:task_approval_main。
作用:存储审批流程的实例数据,记录流程的当前状态、当前节点、当前审批人等实时信息。
b.字段设计
id:BIGINT类型,主键ID,约束为PK且AUTO_INCREMENT。
approval_flow_id:VARCHAR(50)类型,流程唯一标识,约束为NOT NULL且UNIQUE,格式为UUID。
business_type:VARCHAR(50)类型,业务类型,约束为NOT NULL,对应process.code。
business_id:BIGINT类型,业务ID,约束为NOT NULL,关联业务表主键。
process_id:BIGINT类型,流程定义ID,约束为NOT NULL,外键关联task_approval_process.id。
initiator_id:BIGINT类型,发起人ID,约束为NOT NULL。
initiator_name:VARCHAR(50)类型,发起人姓名,约束为NOT NULL。
flow_status:INT类型,流程状态,约束为NOT NULL,见状态枚举。
current_node_id:BIGINT类型,当前节点ID,约束为NULL,外键关联task_approval_node.node_id。
current_node_name:VARCHAR(50)类型,当前节点名称,约束为NULL。
current_approver_id:BIGINT类型,当前审批人ID,约束为NULL。
current_approver_name:VARCHAR(50)类型,当前审批人姓名,约束为NULL。
next_node_id:BIGINT类型,下一节点ID,约束为NULL。
next_node_name:VARCHAR(50)类型,下一节点名称,约束为NULL。
pending_start_time:DATETIME类型,待审批开始时间,约束为NULL。
approval_complete_time:DATETIME类型,审批完成时间,约束为NULL。
latest_approval_opinion:VARCHAR(500)类型,最新审批意见,约束为NULL。
dept_id:BIGINT类型,部门ID,约束为NULL。
dept_name:VARCHAR(100)类型,部门名称,约束为NULL。
org_name:VARCHAR(100)类型,所属单位,约束为NULL。
remark:VARCHAR(500)类型,备注,约束为NULL。
create_time:DATETIME类型,创建时间,约束为NOT NULL。
update_time:DATETIME类型,更新时间,约束为NOT NULL。
c.关键设计点
approval_flow_id:
流程唯一标识,UUID格式全局唯一,用于关联审批历史记录。
---------------------------------------------------------------------------------------------
business_type + business_id:
业务关联,通过业务类型和业务ID定位到具体业务数据,支持查询某个业务的审批状态。
-------------------------------------------------------------------------------------------------
当前状态字段:
current_node_*表示当前处于哪个节点。
current_approver_*表示当前应由谁审批。
next_node_*表示下一节点是什么(便于前端展示)。
---------------------------------------------------------------------------------------------
时间字段:
pending_start_time为当前节点进入时间,用于计算审批耗时。
approval_complete_time为流程完成时间。
d.TaskApprovalHistory(审批历史表)
a.基本信息
表名:task_approval_history。
作用:记录审批流程的完整历史轨迹,包括每个节点的审批人、审批时间、审批意见等。
b.字段设计
id:BIGINT类型,主键ID,约束为PK且AUTO_INCREMENT。
approval_flow_id:VARCHAR(50)类型,流程ID,约束为NOT NULL,外键关联task_approval_main.approval_flow_id。
business_type:VARCHAR(50)类型,业务类型,约束为NOT NULL。
business_id:BIGINT类型,业务ID,约束为NOT NULL。
process_id:BIGINT类型,流程定义ID,约束为NOT NULL。
node_id:BIGINT类型,节点ID,约束为NULL。
node_name:VARCHAR(50)类型,节点名称,约束为NULL。
node_order:INT类型,节点顺序,约束为NULL。
approver_id:BIGINT类型,审批人ID,约束为NOT NULL。
approver_name:VARCHAR(50)类型,审批人姓名,约束为NOT NULL。
operator_type:INT类型,操作人类型,约束为NOT NULL,1代表审批人,2代表发起人。
approval_type:INT类型,审批类型,约束为NOT NULL,见状态枚举。
approval_status:INT类型,审批状态,约束为NOT NULL,见状态枚举。
next_node_id:BIGINT类型,下一节点ID,约束为NULL。
next_node_name:VARCHAR(50)类型,下一节点名称,约束为NULL。
approval_opinion:VARCHAR(500)类型,审批意见,约束为NULL。
attachment_paths:VARCHAR(1000)类型,附件路径,约束为NULL,逗号分隔。
approval_time:DATETIME类型,审批时间,约束为NULL。
approval_duration:VARCHAR(50)类型,审批耗时,约束为NULL,人性化展示如"2小时30分钟"。
dept_id:BIGINT类型,部门ID,约束为NULL。
dept_name:VARCHAR(100)类型,部门名称,约束为NULL。
org_name:VARCHAR(100)类型,所属单位,约束为NULL。
remark:VARCHAR(500)类型,备注,约束为NULL。
create_time:DATETIME类型,创建时间,约束为NOT NULL。
c.关键设计点
历史记录类型:
包括发起审批记录(记录发起人的操作)、待审批记录(记录待审批人的待办状态)、审批完成记录(记录审批人的审批结果)。
---------------------------------------------------------------------------------------------
状态变化追踪:
approval_type为操作类型(同意/驳回/转审等)。
approval_status为最终状态。同一个节点可能有多条记录(如转审前后)。
---------------------------------------------------------------------------------------------
审批耗时计算:
create_time为待审批记录生成时间。
approval_time为审批处理时间。
approval_duration为耗时等于approval_time减去create_time。
---------------------------------------------------------------------------------------------
完整轨迹:按create_time升序查询可得到完整审批轨迹,支持审批流程的可视化展示。
d.历史记录示例
-- 记录1:发起人发起审批
INSERT INTO task_approval_history (approval_flow_id, node_id, node_name, approver_id, approver_name,
approval_type, approval_status, approval_opinion, create_time, approval_time)
VALUES ('uuid-123', 1, '部门领导审批', 1001, '张三', 1, 1, '发起审批', NOW(), NOW());
-- 记录2:第一个节点审批人的待审批记录
INSERT INTO task_approval_history (approval_flow_id, node_id, node_name, approver_id, approver_name,
approval_type, approval_status, approval_opinion, create_time)
VALUES ('uuid-123', 1, '部门领导审批', 2001, '李四', 2, 2, '待审批', NOW());
-- 记录3:第一个节点审批人审批通过
UPDATE task_approval_history SET
approval_type = 0, approval_status = 0, approval_opinion = '同意',
approval_time = NOW(), approval_duration = '1小时30分钟'
WHERE id = 2;
-- 记录4:第二个节点审批人的待审批记录
INSERT INTO task_approval_history (approval_flow_id, node_id, node_name, approver_id, approver_name,
approval_type, approval_status, approval_opinion, create_time)
VALUES ('uuid-123', 2, '人力资源部审批', 3001, '王五', 2, 2, '待审批', NOW());
e.表关系设计
TaskApprovalProcess与TaskApprovalNode的关系:一对多。一个流程定义包含多个审批节点,通过process_id关联。
TaskApprovalProcess与TaskApprovalMain的关系:一对多。一个流程定义可以实例化多个流程实例,通过process_id关联。
TaskApprovalMain与TaskApprovalHistory的关系:一对多。一个流程实例包含多条审批历史记录,通过approval_flow_id关联。
TaskApprovalNode与TaskApprovalHistory的关系:一对多。一个节点可以有多条历史记录(转审、驳回重新审批等),通过node_id关联。
02.架构设计:策略模式设计
a.设计思想
a.说明
审批工作流系统采用**策略模式**实现业务逻辑与审批流程的解耦
b.核心思想
审批流程引擎只负责流程的流转控制
具体的业务处理由各业务模块自行实现
通过策略接口统一业务处理的标准
c.优势
业务解耦:审批引擎不依赖具体业务
易于扩展:新增业务只需实现接口
维护简单:业务逻辑变更不影响流程引擎
测试友好:可独立测试业务策略
b.FinalNodeHandler接口
a.说明
包路径:com.zkzx.layer.task.strategy。接口名称:FinalNodeHandler。作用:最终节点审批完成后的业务处理策略接口。
b.代码
package com.zkzx.layer.task.strategy;
/**
* 最终节点审批完成后的业务处理策略接口
*/
public interface FinalNodeHandler {
/**
* 获取当前策略支持的业务类型
* @return 业务类型(如uniform_claim、move_in等)
*/
String getBusinessType();
/**
* 最终节点审批完成后的业务处理逻辑
* @param businessId 业务ID
* @param approvalType 审批状态(查看ApprovalEnum.FlowStatus)
* - 0=同意(审批通过)
* - 3=已退回(审批驳回)
* - 4=已拒绝(审批拒绝)
* - 5=已撤销(审批撤回)
* - 6=已完成(审批完成)
*/
void handle(Long businessId, Integer approvalType);
/**
* 查询业务审批详情
* @param businessId 业务ID
* @return 业务详情对象(各业务返回结构不同)
*/
Object searchProcess(Long businessId);
/**
* 解析业务参数并执行业务逻辑
* @param jsonParams 前端传的业务参数JSON串
* @return 业务ID
*/
Long parseParamsAndExecute(String jsonParams);
}
c.说明
getBusinessType方法:获取当前策略支持的业务类型。返回值:String,业务类型(如uniform_claim、move_in等)。
handle方法:最终节点审批完成后的业务处理逻辑。参数:Long businessId(业务ID),Integer approvalType(审批状态,查看ApprovalEnum.FlowStatus)。审批状态说明:0代表同意(审批通过),3代表已退回(审批驳回),4代表已拒绝(审批拒绝),5代表已撤销(审批撤回),6代表已完成(审批完成)。
searchProcess方法:查询业务审批详情。参数:Long businessId(业务ID)。返回值:Object,业务详情对象(各业务返回结构不同)。
parseParamsAndExecute方法:解析业务参数并执行业务逻辑。参数:String jsonParams(前端传的业务参数JSON串)。返回值:Long,业务ID。
getBusinessType方法调用时机为系统启动时,作用是注册业务类型,返回业务类型编码。handle方法调用时机为审批完成、驳回、拒绝时,作用是处理业务逻辑,返回void。searchProcess方法调用时机为查看审批详情时,作用是查询业务数据,返回业务详情对象。parseParamsAndExecute方法调用时机为通用提交审批时,作用是保存业务数据,返回业务ID。
c.FinalNodeHandlerFactory工厂类
a.说明
包路径:com.zkzx.layer.task.strategy。类名:FinalNodeHandlerFactory。作用:最终节点处理策略工厂(动态获取对应业务类型的策略)。
b.代码
package com.zkzx.layer.task.strategy;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 最终节点处理策略工厂(动态获取对应业务类型的策略)
*/
@Component
public class FinalNodeHandlerFactory {
// 注入所有实现了FinalNodeHandler接口的Bean
@Resource
private List<FinalNodeHandler> finalNodeHandlers;
// 缓存:业务类型 -> 策略实现
private Map<String, FinalNodeHandler> handlerMap;
/**
* 初始化:将策略Bean按业务类型存入Map
*/
@PostConstruct
public void init() {
handlerMap = new HashMap<>();
for (FinalNodeHandler handler : finalNodeHandlers) {
handlerMap.put(handler.getBusinessType(), handler);
}
}
/**
* 根据业务类型获取对应的策略
* @param businessType 业务类型
* @return 策略实现(默认返回DefaultFinalNodeHandler)
*/
public FinalNodeHandler getHandler(String businessType) {
FinalNodeHandler handler = handlerMap.get(businessType);
// 若未找到对应策略,返回默认策略
return handler != null ? handler : handlerMap.get("DEFAULT");
}
}
c.说明
依赖注入:注入所有实现了FinalNodeHandler接口的Bean。
初始化方法:初始化:将策略Bean按业务类型存入Map。
getHandler方法:根据业务类型获取对应的策略。参数:String businessType(业务类型)。返回值:FinalNodeHandler,策略实现(默认返回DefaultFinalNodeHandler)。
-------------------------------------------------------------------------------------------------
自动注册:Spring自动注入所有实现类,无需手动注册。
延迟初始化:@PostConstruct确保所有Bean初始化完成后再构建Map。
默认策略:未找到对应策略时返回默认实现,避免空指针。
线程安全:handlerMap初始化后只读,天然线程安全。
d.策略实现示例
a.示例1:维权保护业务Handler
package com.zkzx.layer.bis.wqfw.flow;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.zkzx.layer.bis.wqfw.service.RightsProtectionMainService;
import com.zkzx.layer.task.enmu.ApprovalEnum;
import com.zkzx.layer.task.strategy.FinalNodeHandler;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@Component
public class RightsProtectionNodeHandler implements FinalNodeHandler {
@Resource
private RightsProtectionMainService rightsProtectionMainService;
@Override
public String getBusinessType() {
// 返回业务类型编码(需与流程配置的code一致)
return "RightsProtection-Submit";
}
@Override
public void handle(Long businessId, Integer approvalType) {
// 根据审批结果处理业务逻辑
if (ApprovalEnum.FlowStatus.REJECTED.getCode().equals(approvalType)
|| ApprovalEnum.FlowStatus.REFUSED.getCode().equals(approvalType)) {
// 审批驳回或拒绝:修改状态为草稿
rightsProtectionMainService.updateToDraft(businessId);
} else if (ApprovalEnum.FlowStatus.WITHDRAW.getCode().equals(approvalType)) {
// 审批撤回:修改状态为作废
rightsProtectionMainService.updateToInvalid(businessId);
} else if (ApprovalEnum.FlowStatus.COMPLETED.getCode().equals(approvalType)) {
// 审批完成:修改状态为已生效
rightsProtectionMainService.updateToApproved(businessId);
}
}
@Override
public Object searchProcess(Long businessId) {
// 返回业务详情
return rightsProtectionMainService.getMainCaseDetail(businessId);
}
@Override
public Long parseParamsAndExecute(String jsonParams) {
// 解析参数并保存业务数据
JSONObject jsonObject = JSON.parseObject(jsonParams);
Long id = Long.valueOf(jsonObject.get("id").toString());
rightsProtectionMainService.checkExitStatus(id);
return id;
}
}
b.说明
包路径:com.zkzx.layer.bis.wqfw.flow。类名:RightsProtectionNodeHandler。注解:@Component。
依赖注入:注入RightsProtectionMainService。
getBusinessType实现:返回业务类型编码(需与流程配置的code一致)。返回值:RightsProtection-Submit。
handle实现:根据审批结果处理业务逻辑。审批驳回或拒绝:修改状态为草稿。审批撤回:修改状态为作废。审批完成:修改状态为已生效。
searchProcess实现:返回业务详情,调用rightsProtectionMainService.getMainCaseDetail(businessId)。
parseParamsAndExecute实现:解析参数并保存业务数据。解析参数获取ID,调用rightsProtectionMainService.checkExitStatus(id),返回id。
-------------------------------------------------------------------------------------------------
@Component注解:标注为Spring Bean,自动注册到工厂。
getBusinessType():返回与流程配置一致的业务类型编码。
handle():根据不同审批结果执行不同业务逻辑。
searchProcess():查询业务详情用于前端展示。
parseParamsAndExecute():用于通用提交场景,保存业务数据。
03.架构设计:枚举设计
a.ApprovalEnum.FlowStatus(审批状态枚举)
a.枚举定义
包路径:com.zkzx.layer.task.enmu。
枚举名称:FlowStatus。
作用:审批流程状态枚举。
b.代码示例
package com.zkzx.layer.task.enmu;
/**
* 审批流程状态枚举
*/
public enum FlowStatus {
AGREE(0, "同意"),
SUBMITTED(1, "已提交"),
APPROVING(2, "审批中"),
REJECTED(3, "已退回"),
REFUSED(4, "已拒绝"),
WITHDRAW(5, "已撤销"),
COMPLETED(6, "已完成"),
TRANSFERRED(7, "已转审"),
DRAFT(8, "暂存");
private final Integer code;
private final String desc;
FlowStatus(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
/**
* 根据编码获取枚举实例
*/
public static FlowStatus getByCode(Integer code) {
for (FlowStatus type : values()) {
if (type.getCode().equals(code)) {
return type;
}
}
throw new IllegalArgumentException("无效的审批类型编码:" + code);
}
}
c.状态详解
0代表同意,用于审批历史记录中标记某个节点审批通过。
1代表已提交,用于审批历史记录中标记发起人的发起操作。
2代表审批中,用于流程主表状态,表示流程正在审批。
3代表已退回,用于流程主表状态,表示流程被驳回到发起人或上一节点。
4代表已拒绝,用于流程主表状态,表示审批被拒绝,流程终止。
5代表已撤销,用于流程主表状态,表示发起人主动撤回审批。
6代表已完成,用于流程主表状态,表示所有节点审批通过,流程结束。
7代表已转审,用于审批历史记录中标记某个节点的转审操作。
8代表暂存,用于流程主表状态,表示业务数据已保存但未发起审批。
c.状态流转图
保存草稿后进入暂存状态。发起审批后进入审批中状态。
在审批中状态下,审批通过则保持审批中并进入下一节点。
审批驳回则转为已退回状态。审批拒绝则转为已拒绝状态。
发起人撤回则转为已撤销状态。最终节点审批通过则转为已完成状态。
已退回状态下可重新提交审批进入审批中状态,或直接结束。
已拒绝、已撤销、已完成状态均直接结束。
b.ApprovalEnum.NodeType(节点类型枚举)
a.枚举定义
枚举名称:NodeType。
作用:节点类型枚举。
b.代码示例
/**
* 节点类型枚举
*/
public enum NodeType {
FINAL_NODE(1, "最终节点"),
NORMAL_NODE(0, "普通节点");
private final Integer code;
private final String desc;
NodeType(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
}
c.节点类型说明
0代表普通节点,即流程中间节点,行为是审批通过后流转到下一节点。
1代表最终节点,即流程最后一个节点,行为是审批通过后流程结束,触发业务Handler。
d.使用示例
// 判断是否为最终节点
if (ApprovalEnum.NodeType.FINAL_NODE.getCode().equals(currentNode.getIsFinalNode())) {
// 最终节点审批完成,流程结束
approvalMain.setFlowStatus(ApprovalEnum.FlowStatus.COMPLETED.getCode());
// 触发业务策略处理
finalNodeHandlerFactory.getHandler(businessType).handle(businessId, flowStatus);
} else {
// 普通节点审批完成,流转到下一节点
TaskApprovalNode nextNode = taskApprovalNodeService.selectNextNode(processId, currentOrder);
// ... 流转逻辑
}
c.CommonTaskEnum(业务类型枚举)
a.枚举定义
包路径:com.zkzx.layer.task.enmu。枚举名称:CommonTaskEnum。作用:公共业务类型码值。
b.代码示例
package com.zkzx.layer.task.enmu;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 公共业务类型码值
*/
@Getter
@AllArgsConstructor
public enum CommonTaskEnum {
MOVE_IN("move_in", "会员迁入"),
MOVE_OUT("move_out", "会员迁出"),
STEP_OUT("step_out", "会员退会"),
REGISTER_APPROVAL("register_approval", "入会登记审批"),
BUSINESS_PUBLIC("business_public", "企务公开"),
ACTIVITY_SUBMIT("activity_submit", "活动提交"),
WELFARE_SAVE("welfare_save", "福利保存"),
UNIFORM_CLAIM("uniform_claim", "工服申领");
private final String code;
private final String desc;
/**
* 根据code获取枚举
*/
public static CommonTaskEnum of(String code) {
for (CommonTaskEnum value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}
}
c.包含类型
move_in代表会员迁入。
move_out代表会员迁出。
step_out代表会员退会。
register_approval代表入会登记审批。
business_public代表企务公开。
activity_submit代表活动提交。
welfare_save代表福利保存。
uniform_claim代表工服申领。
d.使用说明
业务类型注册:每个业务模块需要在此枚举中注册业务类型。
与流程配置对应:code值需与TaskApprovalProcess.code一致。
日志友好:desc用于日志输出,方便问题排查。
统一管理:集中管理所有业务类型,避免硬编码。
e.使用示例
// 获取业务类型描述
String desc = Optional.ofNullable(CommonTaskEnum.of(dto.getBusinessType()))
.map(CommonTaskEnum::getDesc)
.orElse("未知");
log.info("发起审批成功,业务类型:{},流程ID:{}", desc, flowId);
11.业务接入:接入前准备
a.解业务审批需求
a.核心问题清单
业务是什么:需要审批的业务场景,如工服申领、会员迁入、活动提交等。
谁发起审批:审批发起人角色,如普通员工、部门负责人、管理员。
审批几个节点:审批流程节点数量,如1个节点(单级审批)、2-3个节点(多级审批)。
谁来审批:每个节点的审批人,如部门领导、人力资源部、财务部等。
审批通过后做什么:审批完成后的业务处理,如更新状态、发放物品、发送通知等。
审批驳回后做什么:审批驳回后的业务处理,如恢复草稿状态、清空数据、发送通知等。
b.需求分析示例:工服申领
业务背景:
员工满足条件后可申领工服,需要部门领导和人力资源部双重审批,审批通过后自动记录发放记录。
-------------------------------------------------------------------------------------------------
需求分析:
业务名称为工服申领,业务编码为uniform_claim,发起人为普通员工或代理人。
-------------------------------------------------------------------------------------------------
审批流程包含两个节点:
节点1为部门领导审批,审批人类型为角色,审批角色为部门负责人;
节点2为人力资源部审批(最终节点),审批人类型为角色,审批角色为人力资源部审批员。
-------------------------------------------------------------------------------------------------
审批通过后需更新申领单状态为"已通过",创建发放记录,发送通知给员工。
审批驳回后需更新申领单状态为"已驳回",保留申领数据供修改,发送驳回通知。
审批拒绝后需更新申领单状态为"已拒绝",流程终止。
c.确定审批节点和审批人
a.节点设计原则
简洁高效:节点数量不宜过多(建议1-3个)。
职责清晰:每个节点审批人职责明确。
顺序合理:按业务逻辑自然顺序排列。
b.审批人类型选择
指定用户:适用场景为固定审批人,配置方式为配置用户ID,优点是明确,缺点是不灵活。
指定角色:适用场景为动态审批人,配置方式为配置角色ID,优点是灵活且易维护。
-------------------------------------------------------------------------------------------------
推荐方案:
一级审批(部门领导)使用角色,系统自动根据发起人部门查找对应领导;
二级审批(职能部门)使用角色,配置职能部门角色ID。
c.节点配置示例
-- 工服申领审批流程
-- 节点1:部门领导审批(普通节点)
INSERT INTO task_approval_node
(process_id, node_name, approverifier_type, verifier, node_order, is_final_node)
VALUES
(1, '部门领导审批', 'ROLE', '10', 1, 0);
-- 节点2:人力资源部审批(最终节点)
INSERT INTO task_approval_node
(process_id, node_name, approverifier_type, verifier, node_order, is_final_node)
VALUES
(1, '人力资源部审批', 'ROLE', '20', 2, 1);
d.准备业务实体和服务
a.业务表设计要求
CREATE TABLE biz_your_business (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
-- 业务字段
-- ...
-- 审批相关字段(必须)
approval_flow_id VARCHAR(50) COMMENT '审批流程ID',
flow_status INT COMMENT '流程状态:0-草稿 2-审批中 3-已驳回 4-已拒绝 6-已完成',
-- 审批时间字段(可选)
submit_time DATETIME COMMENT '提交时间',
approval_time DATETIME COMMENT '审批完成时间',
-- 其他字段
create_time DATETIME,
update_time DATETIME
);
-------------------------------------------------------------------------------------------------
业务表必须包含审批相关字段:
approval_flow_id(VARCHAR类型,审批流程ID),
flow_status(INT类型,流程状态:0-草稿 2-审批中 3-已驳回 4-已拒绝 6-已完成)。
-------------------------------------------------------------------------------------------------
可选审批时间字段:
submit_time(提交时间),approval_time(审批完成时间)。
b.Service层准备
public interface IYourBusinessService extends IService<YourBusinessEntity> {
/**
* 提交审批
*/
R<Boolean> submit(YourBusinessDTO dto);
/**
* 审批通过后处理(由Handler调用)
*/
void updateToApproved(Long businessId);
/**
* 审批驳回后处理(由Handler调用)
*/
void updateToRejected(Long businessId);
/**
* 审批拒绝后处理(由Handler调用)
*/
void updateToRefused(Long businessId);
/**
* 查询业务详情(用于审批详情展示)
*/
YourBusinessVO getDetail(Long businessId);
}
-------------------------------------------------------------------------------------------------
业务Service需要提供以下方法:submit用于提交审批。
updateToApproved用于审批通过后处理(由Handler调用)。
updateToRejected用于审批驳回后处理(由Handler调用)。
updateToRefused用于审批拒绝后处理(由Handler调用)。
getDetail用于查询业务详情(用于审批详情展示)。
12.业务接入:五步接入法
a.步骤1:配置审批流程
a.配置流程定义
在task_approval_process表中插入流程配置。
-------------------------------------------------------------------------------------------------
INSERT INTO task_approval_process
(process_name, name, code, description, status, dept_id, dept_name, create_time)
VALUES
('工服申领审批', '工服申领', 'uniform_claim', '员工工服申领审批流程', '0', NULL, NULL, NOW());
-- 部门专属流程(仅适用于特定部门,可选)
INSERT INTO task_approval_process
(process_name, name, code, description, status, dept_id, dept_name, create_time)
VALUES
('人力资源部-工服申领审批', '工服申领', 'uniform_claim', '人力资源部专属审批流程', '0', 1001, '人力资源部', NOW());
-------------------------------------------------------------------------------------------------
配置要点:
code为业务类型编码,需与Handler中的getBusinessType()返回值一致。
status为0代表启用,1代表禁用。
dept_id为NULL表示通用流程,不为NULL表示部门专属流程。
b.配置审批节点
在task_approval_node表中插入节点配置。
-------------------------------------------------------------------------------------------------
-- 假设上面插入的流程ID为1
-- 节点1:部门领导审批
INSERT INTO task_approval_node
(process_id, node_name, approverifier_type, verifier, node_order, is_final_node)
VALUES
(1, '部门领导审批', 'ROLE', '10', 1, 0);
-- 节点2:人力资源部审批(最终节点)
INSERT INTO task_approval_node
(process_id, node_name, approverifier_type, verifier, node_order, is_final_node)
VALUES
(1, '人力资源部审批', 'ROLE', '20', 2, 1);
-------------------------------------------------------------------------------------------------
配置要点:
node_order从1开始连续编号,决定审批顺序。
is_final_node最后一个节点设置为1。
approverifier_type为USER代表指定用户,ROLE代表指定角色。
verifier单个审批人为"123",多个审批人为"123,456,789"(逗号分隔)。
c.注册业务类型枚举
在CommonTaskEnum中注册业务类型,定义code和desc。
-------------------------------------------------------------------------------------------------
@Getter
@AllArgsConstructor
public enum CommonTaskEnum {
// ... 其他业务类型
UNIFORM_CLAIM("uniform_claim", "工服申领");
private final String code;
private final String desc;
}
b.步骤2:实现FinalNodeHandler策略
a.说明
创建业务Handler实现类,必须添加@Component注解。
getBusinessType()返回值必须与流程配置的code一致。
handle()方法处理所有审批结果的业务逻辑。
searchProcess()方法返回业务详情,供审批详情页展示。
parseParamsAndExecute()方法用于通用提交场景,可选实现。
b.代码
package com.zkzx.layer.bis.empbenefits.uniform.flow;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.zkzx.layer.bis.empbenefits.uniform.service.IUniformClaimService;
import com.zkzx.layer.task.enmu.ApprovalEnum;
import com.zkzx.layer.task.strategy.FinalNodeHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* 工服申领审批策略Handler
*/
@Slf4j
@Component
public class UniformClaimHandler implements FinalNodeHandler {
@Resource
private IUniformClaimService uniformClaimService;
@Override
public String getBusinessType() {
// 返回业务类型编码(需与流程配置的code一致)
return "uniform_claim";
}
@Override
public void handle(Long businessId, Integer approvalType) {
log.info("工服申领审批回调,业务ID:{},审批类型:{}", businessId, approvalType);
// 根据审批结果处理业务逻辑
if (ApprovalEnum.FlowStatus.COMPLETED.getCode().equals(approvalType)) {
// 审批完成:更新状态为已通过
uniformClaimService.updateToApproved(businessId);
} else if (ApprovalEnum.FlowStatus.REJECTED.getCode().equals(approvalType)) {
// 审批驳回:更新状态为草稿,允许重新提交
uniformClaimService.updateToRejected(businessId);
} else if (ApprovalEnum.FlowStatus.REFUSED.getCode().equals(approvalType)) {
// 审批拒绝:更新状态为已拒绝,流程终止
uniformClaimService.updateToRefused(businessId);
} else if (ApprovalEnum.FlowStatus.WITHDRAW.getCode().equals(approvalType)) {
// 审批撤回:更新状态为已撤回
uniformClaimService.updateToWithdraw(businessId);
}
}
@Override
public Object searchProcess(Long businessId) {
// 返回业务详情(用于审批详情页展示)
return uniformClaimService.getDetail(businessId);
}
@Override
public Long parseParamsAndExecute(String jsonParams) {
// 解析参数并保存业务数据(用于通用提交场景)
JSONObject jsonObject = JSON.parseObject(jsonParams);
// 这里可以解析参数并保存业务数据
// 返回业务ID
return jsonObject.getLong("id");
}
}
c.实现要点
必须添加@Component注解,Spring才能自动注册。
返回值必须与流程配置的code一致。
处理所有审批结果的业务逻辑。返回业务详情,供审批详情页展示。
用于通用提交场景,可选实现。
c.步骤3:注入TaskApprovalExecuteService
a.说明
在业务ServiceImpl中注入审批服务TaskApprovalExecuteService,并定义业务类型常量。
b.代码实现
@Service
@Slf4j
public class UniformClaimServiceImpl extends ServiceImpl<UniformClaimMapper, UniformClaimEntity>
implements IUniformClaimService {
// 注入审批服务
@Autowired
private TaskApprovalExecuteService taskApprovalExecuteService;
// 定义业务类型常量
private static final String BUSINESS_TYPE = "uniform_claim";
// ... 其他代码
}
d.步骤4:构建审批DTO并发起审批
a.说明
实现业务提交审批方法,进行业务数据校验,保存业务数据,构建审批DTO,发起审批。
b.代码
@Override
@Transactional(rollbackFor = Exception.class)
public R<Boolean> submit(UniformClaimSubmitParam param) {
// 1. 业务数据校验
validateBusinessData(param);
// 2. 保存业务数据
UniformClaimEntity claim = new UniformClaimEntity();
claim.setEmployeeId(param.getEmpId());
claim.setClaimStatus(0); // 0=草稿
this.save(claim);
// 3. 构建审批DTO
TaskApprovalOperateDTO approvalDTO = buildApprovalDTO(claim.getId(), param);
// 4. 发起审批
R<Boolean> approvalResult = taskApprovalExecuteService.startApproval(approvalDTO);
if (!approvalResult.isSuccess()) {
log.error("审批流程发起失败,申领单ID: {}, 失败原因: {}",
claim.getId(), approvalResult.getMsg());
throw new IllegalStateException("审批流程发起失败: " + approvalResult.getMsg());
}
log.info("工服申领审批流程发起成功,申领单ID: {}", claim.getId());
return approvalResult;
}
/**
* 构建审批DTO
*/
private TaskApprovalOperateDTO buildApprovalDTO(Long claimId, UniformClaimSubmitParam param) {
TaskApprovalOperateDTO dto = new TaskApprovalOperateDTO();
// 设置业务类型和业务ID
dto.setBusinessType(BUSINESS_TYPE);
dto.setBusinessId(claimId);
// 获取当前用户信息
UserCommon user = taskApprovalExecuteService.getUser();
dto.setOperatorId(user.getUserId());
dto.setOperatorName(user.getUsername());
dto.setOperatorType(2); // 2=发起人
// 设置首个节点审批人(必须)
dto.setNextApproverId(param.getNextApproverId());
dto.setNextApproverName(param.getNextApproverName());
// 其他参数
dto.setApprovalOpinion("");
dto.setRemark(param.getRemark());
return dto;
}
c.关键参数说明
businessType为String类型,必填,代表业务类型编码。
businessId为Long类型,必填,代表业务数据ID。
operatorId为Long类型,必填,代表发起人ID。
operatorName为String类型,必填,代表发起人姓名。
operatorType为Integer类型,必填,代表操作人类型,发起审批时固定为2。
nextApproverId为Long类型,必填,代表首个节点审批人ID。
nextApproverName为String类型,必填,代表首个节点审批人姓名。
approvalOpinion为String类型,非必填,代表审批意见。
remark为String类型,非必填,代表备注。
e.步骤5:处理审批回调
a.Handler逻辑
在Handler的handle()方法中实现业务回调逻辑,根据审批状态调用Service中不同方法。
-------------------------------------------------------------------------------------------------
@Override
public void handle(Long businessId, Integer approvalType) {
if (ApprovalEnum.FlowStatus.COMPLETED.getCode().equals(approvalType)) {
// 审批通过:执行业务逻辑
uniformClaimService.updateToApproved(businessId);
}
// ... 其他状态处理
}
b.Service逻辑
在Service中实现具体业务方法,如updateToApproved,更新申领单状态,创建发放记录,发送通知。
-------------------------------------------------------------------------------------------------
@Override
@Transactional(rollbackFor = Exception.class)
public void updateToApproved(Long businessId) {
// 1. 更新申领单状态
this.update(Wrappers.<UniformClaimEntity>lambdaUpdate()
.set(UniformClaimEntity::getClaimStatus, 2) // 2=已通过
.set(UniformClaimEntity::getApprovalTime, new Date())
.eq(UniformClaimEntity::getId, businessId)
);
// 2. 创建发放记录
uniformIssueRecordService.createIssueRecord(businessId);
// 3. 发送通知
notificationService.sendApprovalSuccessNotification(businessId);
log.info("工服申领审批通过处理完成,业务ID:{}", businessId);
}
13.业务接入:完整接入示例
a.工服申领业务接入
a.业务背景
员工申领工服需要部门领导和人力资源部双重审批
审批通过后自动创建发放记录。
b.数据库配置
流程定义和节点配置的SQL语句。
-------------------------------------------------------------------------------------------------
-- 流程定义
INSERT INTO task_approval_process
(process_name, name, code, description, status, create_time)
VALUES
('工服申领审批', '工服申领', 'uniform_claim', '员工工服申领审批流程', '0', NOW());
-- 节点配置
INSERT INTO task_approval_node VALUES
(NULL, 1, '部门领导审批', 'ROLE', '10', 1, 0),
(NULL, 1, '人力资源部审批', 'ROLE', '20', 2, 1);
c.Handler实现
UniformClaimHandler类实现了FinalNodeHandler接口,处理工服申领审批逻辑。
-------------------------------------------------------------------------------------------------
@Slf4j
@Component
public class UniformClaimHandler implements FinalNodeHandler {
@Resource
private IUniformClaimService uniformClaimService;
@Override
public String getBusinessType() {
return "uniform_claim";
}
@Override
public void handle(Long businessId, Integer approvalType) {
if (ApprovalEnum.FlowStatus.COMPLETED.getCode().equals(approvalType)) {
uniformClaimService.updateToApproved(businessId);
} else if (ApprovalEnum.FlowStatus.REJECTED.getCode().equals(approvalType)) {
uniformClaimService.updateToDraft(businessId);
} else if (ApprovalEnum.FlowStatus.REFUSED.getCode().equals(approvalType)) {
uniformClaimService.updateToRefused(businessId);
}
}
@Override
public Object searchProcess(Long businessId) {
return uniformClaimService.getDetail(businessId);
}
@Override
public Long parseParamsAndExecute(String jsonParams) {
JSONObject json = JSON.parseObject(jsonParams);
return json.getLong("id");
}
}
d.Service实现
UniformClaimServiceImpl类实现了IUniformClaimService接口,包含提交审批、审批通过、驳回、拒绝等逻辑。
-------------------------------------------------------------------------------------------------
@Service
@Slf4j
public class UniformClaimServiceImpl extends ServiceImpl<UniformClaimMapper, UniformClaimEntity>
implements IUniformClaimService {
@Autowired
private TaskApprovalExecuteService taskApprovalExecuteService;
@Resource
private IUniformIssueRecordService uniformIssueRecordService;
private static final String BUSINESS_TYPE = "uniform_claim";
@Override
@Transactional(rollbackFor = Exception.class)
public R<Boolean> claimSubmit(UniformClaimSubmitParam param) {
// 1. 校验申领资格
if (!uniformIssueRecordService.isEligible(param.getEmpId())) {
throw new IllegalArgumentException("该员工未到申领周期");
}
// 2. 创建申领单
UniformClaimEntity claim = new UniformClaimEntity();
claim.setEmployeeId(param.getEmpId());
claim.setRoleConfigId(param.getRoleConfigId());
claim.setClaimStatus(0); // 0=草稿
claim.setAppliedAt(DateUtil.date());
this.save(claim);
// 3. 保存申领明细
List<UniformClaimDetailEntity> detailList = buildDetailList(param, claim);
uniformClaimDetailService.saveBatch(detailList);
// 4. 发起审批流程
TaskApprovalOperateDTO approvalDTO = buildApprovalDTO(claim.getId(), param);
R<Boolean> approvalResult = taskApprovalExecuteService.startApproval(approvalDTO);
if (!approvalResult.isSuccess()) {
log.error("审批流程发起失败,申领单ID: {}, 失败原因: {}",
claim.getId(), approvalResult.getMsg());
throw new IllegalStateException("审批流程发起失败: " + approvalResult.getMsg());
}
log.info("工服申领审批流程发起成功,申领单ID: {}", claim.getId());
return approvalResult;
}
private TaskApprovalOperateDTO buildApprovalDTO(Long claimId, UniformClaimSubmitParam param) {
TaskApprovalOperateDTO dto = new TaskApprovalOperateDTO();
dto.setBusinessType(BUSINESS_TYPE);
dto.setBusinessId(claimId);
// 获取当前用户信息
UserCommon user = taskApprovalExecuteService.getUser();
dto.setOperatorId(user.getUserId());
dto.setOperatorName(user.getUsername());
dto.setOperatorType(2);
// 设置首个节点审批人
dto.setNextApproverId(param.getNextApproverId());
dto.setNextApproverName(param.getNextApproverName());
dto.setApprovalOpinion("");
dto.setRemark("");
return dto;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateToApproved(Long businessId) {
// 更新申领单状态
this.update(Wrappers.<UniformClaimEntity>lambdaUpdate()
.set(UniformClaimEntity::getClaimStatus, 2) // 2=已通过
.set(UniformClaimEntity::getApprovalTime, new Date())
.eq(UniformClaimEntity::getId, businessId)
);
// 创建发放记录
uniformIssueRecordService.createIssueRecord(businessId);
log.info("工服申领审批通过处理完成,业务ID:{}", businessId);
}
@Override
public void updateToDraft(Long businessId) {
this.update(Wrappers.<UniformClaimEntity>lambdaUpdate()
.set(UniformClaimEntity::getClaimStatus, 0) // 0=草稿
.eq(UniformClaimEntity::getId, businessId)
);
}
@Override
public void updateToRefused(Long businessId) {
this.update(Wrappers.<UniformClaimEntity>lambdaUpdate()
.set(UniformClaimEntity::getClaimStatus, 3) // 3=已拒绝
.eq(UniformClaimEntity::getId, businessId)
);
}
}
b.维权保护业务接入
a.业务背景
员工提交维权申请后需要审批,审批通过后状态更新为"已生效",审批驳回后恢复为"草稿"状态。
b.Handler实现
RightsProtectionNodeHandler类实现了FinalNodeHandler接口,处理维权保护审批逻辑。
-------------------------------------------------------------------------------------------------
@Component
public class RightsProtectionNodeHandler implements FinalNodeHandler {
@Resource
private RightsProtectionMainService rightsProtectionMainService;
@Override
public String getBusinessType() {
return "RightsProtection-Submit";
}
@Override
public void handle(Long businessId, Integer approvalType) {
// 根据审批结果处理业务逻辑
if (ApprovalEnum.FlowStatus.REJECTED.getCode().equals(approvalType)
|| ApprovalEnum.FlowStatus.REFUSED.getCode().equals(approvalType)) {
// 审批驳回或拒绝:修改状态为草稿
rightsProtectionMainService.updateToDraft(businessId);
} else if (ApprovalEnum.FlowStatus.WITHDRAW.getCode().equals(approvalType)) {
// 审批撤回:修改状态为作废
rightsProtectionMainService.updateToInvalid(businessId);
} else if (ApprovalEnum.FlowStatus.COMPLETED.getCode().equals(approvalType)) {
// 审批完成:修改状态为已生效
rightsProtectionMainService.updateToApproved(businessId);
}
}
@Override
public Object searchProcess(Long businessId) {
// 返回维权案件详情
return rightsProtectionMainService.getMainCaseDetail(businessId);
}
@Override
public Long parseParamsAndExecute(String jsonParams) {
JSONObject jsonObject = JSON.parseObject(jsonParams);
Long id = Long.valueOf(jsonObject.get("id").toString());
rightsProtectionMainService.checkExitStatus(id);
return id;
}
}
21.API手册:核心服务概览
a.TaskApprovalExecuteService服务说明
a.基本信息
服务名称为TaskApprovalExecuteService。
服务职责包括审批流程的发起与执行,审批节点的流转控制,审批状态的管理与查询,审批历史的记录与追踪。
b.服务位置
com.zkzx.layer.task.service.TaskApprovalExecuteService。
c.使用方式
---
@Service
public class YourBusinessService {
@Autowired
private TaskApprovalExecuteService taskApprovalExecuteService;
// ... 使用审批服务
}
---
b.主要方法列表
startApproval方法用于发起审批流程,调用场景为业务提交审批时。
doNodeApproval方法用于执行节点审批,调用场景为审批人处理审批时。
subCommit方法用于通用提交审批,调用场景为前端统一提交入口。
queryApprover方法用于查询审批人列表,调用场景为前端选择审批人时。
queryProcessTodo方法用于查询待办审批,调用场景为待办列表查询。
queryProcessDone方法用于查询已办审批,调用场景为已办列表查询。
searchProcess方法用于查看审批详情,调用场景为审批详情页展示。
22.API手册:发起审批API
a.startApproval方法详解
a.方法签名
/**
* 发起审批流程
* @param dto 审批操作DTO
* @return 审批结果
*/
@Transactional(rollbackFor = Exception.class)
public R<Boolean> startApproval(TaskApprovalOperateDTO dto)
b.方法作用
创建审批流程实例。
记录审批历史(发起记录+首个节点待审批记录)。
发送待办通知给首个审批人。
c.执行流程
业务Service调用startApproval。
审批服务校验必填字段。
查询审批流程定义。
查询第一个节点。
生成流程UUID。
插入审批主表记录。
插入发起人操作记录。
插入首个审批人待审批记录。
发送待办通知。
返回成功。
b.参数说明
a.TaskApprovalOperateDTO参数详解
businessType为String类型,必填,代表业务类型编码,示例值为uniform_claim。
businessId为Long类型,必填,代表业务数据ID,示例值为123456。
operatorId为Long类型,必填,代表操作人ID(发起人),示例值为1001。
operatorName为String类型,必填,代表操作人姓名,示例值为张三。
operatorType为Integer类型,必填,代表操作人类型,示例值为2(固定为2=发起人)。
nextApproverId为Long类型,必填,代表首个节点审批人ID,示例值为2001。
nextApproverName为String类型,必填,代表首个节点审批人姓名,示例值为李四。
approvalOpinion为String类型,非必填,代表审批意见,示例值为请审批。
remark为String类型,非必填,代表备注,示例值为空字符串。
attachmentPaths为List<String>类型,非必填,代表附件路径列表,示例值为path1, path2。
b.返回值
R<Boolean>对象,包含success、code、msg、data字段。
-------------------------------------------------------------------------------------------------
R<Boolean> {
success: true,
code: 200,
msg: "发起审批成功!",
data: true
}
c.调用示例
a.完整示例
---
@Service
@Slf4j
public class UniformClaimServiceImpl {
@Autowired
private TaskApprovalExecuteService taskApprovalExecuteService;
private static final String BUSINESS_TYPE = "uniform_claim";
@Transactional(rollbackFor = Exception.class)
public R<Boolean> submit(UniformClaimSubmitParam param) {
// 1. 保存业务数据
UniformClaimEntity claim = new UniformClaimEntity();
claim.setEmployeeId(param.getEmpId());
claim.setClaimStatus(0); // 0=草稿
this.save(claim);
// 2. 构建审批DTO
TaskApprovalOperateDTO dto = new TaskApprovalOperateDTO();
dto.setBusinessType(BUSINESS_TYPE);
dto.setBusinessId(claim.getId());
// 获取当前用户
UserCommon user = taskApprovalExecuteService.getUser();
dto.setOperatorId(user.getUserId());
dto.setOperatorName(user.getUsername());
dto.setOperatorType(2); // 2=发起人
// 设置首个节点审批人
dto.setNextApproverId(param.getNextApproverId());
dto.setNextApproverName(param.getNextApproverName());
dto.setApprovalOpinion("请审批");
dto.setRemark("");
// 3. 发起审批
R<Boolean> result = taskApprovalExecuteService.startApproval(dto);
if (!result.isSuccess()) {
log.error("发起审批失败: {}", result.getMsg());
throw new BusinessException("发起审批失败: " + result.getMsg());
}
log.info("发起审批成功,业务ID: {}", claim.getId());
return result;
}
}
---
d.注意事项
a.必须设置nextApproverId
发起审批时必须指定首个节点的审批人,否则会抛出异常。获取方式包括前端选择后传参,或后端查询审批人列表。
b.流程配置必须存在
发起审批前,必须确保task_approval_process表中存在对应的流程配置,流程配置的status为'0'(启用状态),流程配置的code与businessType一致。
c.事务处理建议
审批成功后,不要在后续抛异常导致回滚。正确做法是审批成功后不再抛异常。
23.API手册:执行审批API
a.doNodeApproval方法详解
a.方法签名
---
/**
* 执行节点审批(支持同意/驳回/撤回/转审)
* @param dto 审批操作DTO
* @return 审批结果
*/
@Transactional(rollbackFor = Exception.class)
public R<Boolean> doNodeApproval(TaskApprovalOperateDTO dto)
---
b.方法作用
处理审批人的审批操作。更新审批状态和历史记录。流转到下一节点或结束流程。触发业务Handler回调。
b.支持的操作类型
a.操作列表
同意审批的approvalType为0,说明为审批通过,流转到下一节点,流程影响为流程继续。
驳回审批的approvalType为3,说明为驳回到上一节点或发起人,流程影响为流程回退。
拒绝审批的approvalType为4,说明为直接拒绝,流程影响为流程终止。
转审操作的approvalType为7,说明为转交给其他人审批,流程影响为流程不变。
撤回审批的approvalType为5,说明为发起人撤回审批,流程影响为流程终止。
c.同意审批
a.参数配置
TaskApprovalOperateDTO dto = new TaskApprovalOperateDTO();
dto.setApprovalFlowId("uuid-123"); // 流程ID
dto.setBusinessType("uniform_claim");
dto.setBusinessId(123456L);
dto.setCurrentNodeId(nodeId); // 当前节点ID
dto.setOperatorId(2001L); // 当前审批人ID
dto.setOperatorName("李四");
dto.setOperatorType(1); // 1=审批人
// 同意审批的关键参数
dto.setApprovalType(0); // 0=同意
dto.setApprovalOpinion("同意"); // 审批意见
dto.setNextApproverId(3001L); // 下一节点审批人ID(非最终节点时必填)
dto.setNextApproverName("王五"); // 下一节点审批人姓名
-------------------------------------------------------------------------------------------------
设置approvalFlowId(流程ID),
businessType,businessId,currentNodeId(当前节点ID),
operatorId(当前审批人ID),
operatorName,operatorType(1=审批人)。
设置approvalType为0(同意),
approvalOpinion(审批意见),
nextApproverId(下一节点审批人ID,非最终节点时必填),
nextApproverName(下一节点审批人姓名)。
b.执行逻辑
判断是否为最终节点。如果是最终节点,流程结束,更新主表状态为已完成,触发业务Handler,发送完成通知。
如果不是最终节点,流转到下一节点,更新当前节点和审批人,插入下一节点待审批记录,发送待办通知。
c.调用示例
非最终节点审批需设置nextApproverId。最终节点审批不需要设置nextApproverId。
d.驳回审批
a.参数配置
TaskApprovalOperateDTO dto = new TaskApprovalOperateDTO();
dto.setApprovalFlowId("uuid-123");
dto.setCurrentNodeId(nodeId);
dto.setOperatorId(2001L);
dto.setOperatorName("李四");
dto.setOperatorType(1);
// 驳回审批的关键参数
dto.setApprovalType(3); // 3=已退回
dto.setApprovalOpinion("材料不齐全,请补充"); // 驳回原因
dto.setReturnedStatus(returnedStatus); // 1=退回上一节点,2=退回发起人
-------------------------------------------------------------------------------------------------
设置approvalFlowId,currentNodeId,operatorId,operatorName,operatorType。
设置approvalType为3(已退回),approvalOpinion(驳回原因),returnedStatus(1=退回上一节点,2=退回发起人)。
b.驳回类型说明
returnedStatus为1时代表退回上一节点,行为是流程回退到上一审批节点,由上一节点审批人重新审批,主表状态为审批中。
returnedStatus为2时代表退回发起人,行为是流程退回到发起人,发起人修改后重新提交,主表状态为已退回。
c.执行逻辑
驳回审批。
如果returnedStatus为1(上一节点),查询上一节点,查询上一节点审批人,插入待审批记录给上一节点审批人,主表状态设为审批中,发送待办通知。
如果returnedStatus为2(发起人),获取发起人信息,插入待审批记录给发起人,主表状态设为已退回,发送驳回通知。
d.调用示例
退回上一节点需设置returnedStatus为1。退回发起人需设置returnedStatus为2。
e.拒绝审批
a.参数配置
TaskApprovalOperateDTO dto = new TaskApprovalOperateDTO();
dto.setApprovalFlowId("uuid-123");
dto.setCurrentNodeId(nodeId);
dto.setOperatorId(2001L);
dto.setOperatorName("李四");
dto.setOperatorType(1);
// 驳回审批的关键参数
dto.setApprovalType(3); // 3=已退回
dto.setApprovalOpinion("材料不齐全,请补充"); // 驳回原因
dto.setReturnedStatus(returnedStatus); // 1=退回上一节点,2=退回发起人
-------------------------------------------------------------------------------------------------
设置approvalFlowId,currentNodeId,operatorId,operatorName,operatorType。
设置approvalType为4(已拒绝),approvalOpinion(拒绝原因)。
b.执行逻辑
更新当前记录为已拒绝。更新主表状态为已拒绝。清空当前节点和审批人。触发业务Handler。发送拒绝通知。
c.与驳回的区别
拒绝审批流程状态为已拒绝(终止),不可重新提交,触发Handler。驳回审批流程状态为已退回(可重新提交),触发Handler。
d.调用示例
设置approvalType为4,approvalOpinion。
f.转审操作
a.参数配置
TaskApprovalOperateDTO dto = new TaskApprovalOperateDTO();
dto.setApprovalFlowId("uuid-123");
dto.setCurrentNodeId(nodeId);
dto.setOperatorId(2001L);
dto.setOperatorName("李四");
dto.setOperatorType(1);
// 拒绝审批的关键参数
dto.setApprovalType(4); // 4=已拒绝
dto.setApprovalOpinion("不符合审批条件,拒绝"); // 拒绝原因
-------------------------------------------------------------------------------------------------
设置approvalFlowId,currentNodeId,operatorId(当前审批人),operatorName,operatorType。
设置approvalType为7(已转审),approvalOpinion(转审原因),nextApproverId(新审批人ID,必填),nextApproverName(新审批人姓名,必填)。
b.执行逻辑
更新原审批人记录为已转审。插入新审批人的待审批记录。更新主表当前审批人。节点不变。发送待办通知给新审批人。
c.转审特点
当前节点不变。只是更换审批人。新审批人拥有完整的审批权限(同意/驳回/转审)。不能转审给自己。
d.调用示例
设置approvalType为7,nextApproverId,nextApproverName。
g.撤回审批
a.参数配置
TaskApprovalOperateDTO dto = new TaskApprovalOperateDTO();
dto.setApprovalFlowId("uuid-123");
dto.setCurrentNodeId(nodeId);
dto.setOperatorId(2001L); // 当前审批人
dto.setOperatorName("李四");
dto.setOperatorType(1);
// 转审操作的关键参数
dto.setApprovalType(7); // 7=已转审
dto.setApprovalOpinion("转审给王五处理"); // 转审原因
dto.setNextApproverId(3001L); // 新审批人ID(必填)
dto.setNextApproverName("王五"); // 新审批人姓名(必填)
-------------------------------------------------------------------------------------------------
设置approvalFlowId,currentNodeId,operatorId(发起人ID),operatorName,operatorType(2=发起人)。
设置approvalType为5(已撤销),approvalOpinion(撤回原因)。
b.权限限制
只有发起人可以撤回。只有审批中的流程可以撤回。已完成/已拒绝/已退回的流程不能撤回。
c.执行逻辑
校验是否发起人。如果不是发起人,抛出异常。如果是发起人,更新当前记录为已撤销。
更新主表状态为已撤销。清空当前节点和审批人。触发业务Handler。发送撤回通知。
d.调用示例
设置operatorId为initiatorId,operatorType为2,approvalType为5。
24.API手册:通用提交API
a.subCommit方法详解
a.方法签名
/**
* 通用提交审批(自动保存业务数据并发起审批)
* @param request 通用提交DTO
* @return 提交结果
*/
public R<?> subCommit(CommonCommitDTO request)
b.方法作用
前端统一提交入口。自动匹配审批流程。调用业务Handler保存数据。自动发起审批流程。
c.适用场景
前端通用审批提交页面。业务数据保存和审批发起一体化。支持免审批场景(无流程时直接执行业务逻辑)。
b.自动流程匹配逻辑
a.逻辑流程
解析业务参数。调用Handler.parseParamsAndExecute。保存业务数据,返回业务ID。查询审批流程。如果找到流程,发起审批,返回审批结果。如果无流程,免审批,直接调用Handler.handle,返回成功。
b.流程匹配规则
优先匹配部门专属流程,查询条件为code = businessType AND dept_id = 当前用户部门ID AND status = '0'。无专属流程则匹配通用流程,查询条件为code = businessType AND dept_id IS NULL AND status = '0'。无流程则免审批,直接执行业务逻辑,不发起审批。
c.调用示例
a.CommonCommitDTO参数
businessType为String类型,必填,代表业务类型编码。
params为String类型,必填,代表业务参数JSON串。
nextApproverId为Long类型,必填,代表首个节点审批人ID。
nextApproverName为String类型,必填,代表首个节点审批人姓名。
b.前端调用示例
---
// 前端通用提交
const submitApproval = async () => {
const params = {
businessType: 'uniform_claim',
params: JSON.stringify({
id: 123456,
empId: 1001,
roleConfigId: 2001,
size: 'XL'
}),
nextApproverId: 3001,
nextApproverName: '李四'
};
const result = await api.post('/approval/subCommit', params);
if (result.success) {
message.success('提交成功');
}
};
---
c.后端Controller
---
@RestController
@RequestMapping("/approval")
public class ApprovalController {
@Autowired
private TaskApprovalExecuteService taskApprovalExecuteService;
@PostMapping("/subCommit")
public R<?> subCommit(@RequestBody CommonCommitDTO request) {
return taskApprovalExecuteService.subCommit(request);
}
}
---
d.Handler实现parseParamsAndExecute
---
@Override
public Long parseParamsAndExecute(String jsonParams) {
// 解析参数
JSONObject json = JSON.parseObject(jsonParams);
Long id = json.getLong("id");
// 如果id存在,说明是更新
if (id != null) {
return id;
}
// 否则是新增,保存业务数据
UniformClaimEntity entity = new UniformClaimEntity();
entity.setEmployeeId(json.getLong("empId"));
entity.setRoleConfigId(json.getLong("roleConfigId"));
entity.setSize(json.getString("size"));
uniformClaimService.save(entity);
return entity.getId();
}
---
25.API手册:查询审批人API
a.queryApprover方法详解
a.方法签名
/**
* 根据业务编码查询审批人下拉列表
* @param code 业务类型编码
* @return 审批人列表
*/
public R<?> queryApprover(String code)
b.方法作用
查询首个节点的审批人列表。支持角色查询和用户查询。用于前端选择审批人。
c.查询逻辑
查询部门专属流程。如果找到,使用专属流程。如果未找到,查询通用流程。查询第一个节点。如果审批人类型为USER,查询指定用户。如果审批人类型为ROLE,查询角色下的用户。返回用户列表。
b.返回数据结构
a.数据结构
R<List<SysUser>>对象,包含success、code、data字段。data为用户列表,包含userId、name、username、deptId、deptName。
b.示例
R<List<SysUser>> {
success: true,
code: 200,
data: [
{
userId: 2001,
name: "李四",
username: "lisi",
deptId: 1001,
deptName: "人力资源部"
},
{
userId: 2002,
name: "王五",
username: "wangwu",
deptId: 1001,
deptName: "人力资源部"
}
]
}
c.调用示例
a.后端调用
// 查询首个节点审批人列表
R<?> result = taskApprovalExecuteService.queryApprover("uniform_claim");
if (result.isSuccess()) {
List<SysUser> approverList = (List<SysUser>) result.getData();
if (approverList != null && !approverList.isEmpty()) {
// 使用第一个审批人
SysUser approver = approverList.get(0);
dto.setNextApproverId(approver.getUserId());
dto.setNextApproverName(approver.getName());
}
}
b.前端调用
// 获取审批人列表
const fetchApprovers = async () => {
const result = await api.get('/approval/queryApprover', {
params: { code: 'uniform_claim' }
});
if (result.success) {
setApproverList(result.data);
}
};
// 渲染选择器
<Select
placeholder="请选择审批人"
onChange={(value, option) => {
setNextApproverId(value);
setNextApproverName(option.label);
}}
>
{approverList.map(user => (
<Option key={user.userId} value={user.userId} label={user.name}>
{user.name} - {user.deptName}
</Option>
))}
</Select>
26.API手册:待办/已办查询API
a.queryProcessTodo方法详解
a.方法签名
/**
* 查询当前用户的待办审批
* @param current 页码
* @param size 每页大小
* @param code 业务类型(可选)
* @param status 流程状态(可选)
* @return 待办审批分页列表
*/
public R<IPage<TaskApprovalMain>> queryProcessTodo(
Integer current,
Integer size,
String code,
String status
)
b.查询逻辑
获取当前用户ID。查询待审批历史记录。提取流程ID列表。如果流程ID列表为空,返回空列表。如果不为空,查询审批主表。按待审批开始时间倒序。返回分页结果。
c.返回数据结构
R<IPage<TaskApprovalMain>> {
success: true,
data: {
records: [
{
id: 1,
approvalFlowId: "uuid-123",
businessType: "uniform_claim",
businessId: 123456,
initiatorName: "张三",
flowStatus: 2, // 审批中
currentNodeName: "部门领导审批",
currentApproverName: "李四",
pendingStartTime: "2026-02-08 10:00:00",
deptName: "技术部"
}
],
total: 10,
current: 1,
size: 10
}
}
-------------------------------------------------------------------------------------------------
R<IPage<TaskApprovalMain>>对象,包含records、total、current、size字段。
records包含审批主表信息,如id、approvalFlowId、businessType、businessId、initiatorName、flowStatus、currentNodeName、currentApproverName、pendingStartTime、deptName。
b.queryProcessDone方法详解
a.方法签名
/**
* 查询当前用户的待办审批
* @param current 页码
* @param size 每页大小
* @param code 业务类型(可选)
* @param status 流程状态(可选)
* @return 待办审批分页列表
*/
public R<IPage<TaskApprovalMain>> queryProcessTodo(
Integer current,
Integer size,
String code,
String status
)
b.查询逻辑
queryProcessTodo获取当前用户ID。查询待审批历史记录。提取流程ID列表。如果流程ID列表为空,返回空列表。如果不为空,查询审批主表。按待审批开始时间倒序。返回分页结果。
c.返回数据结构
R<IPage<TaskApprovalMain>>对象,包含success、data字段。
data包含records(列表)、total、current、size。
records包含审批主表信息,如id、approvalFlowId、businessType、businessId、initiatorName、flowStatus(审批中为2)、currentNodeName、currentApproverName、pendingStartTime、deptName。
c.分页查询示例
a.后端Controller
@RestController
@RequestMapping("/approval")
public class ApprovalController {
@Autowired
private TaskApprovalExecuteService taskApprovalExecuteService;
/**
* 查询待办审批
*/
@GetMapping("/todo")
public R<IPage<TaskApprovalMain>> queryTodo(
@RequestParam(defaultValue = "1") Integer current,
@RequestParam(defaultValue = "10") Integer size,
@RequestParam(required = false) String code,
@RequestParam(required = false) String status) {
return taskApprovalExecuteService.queryProcessTodo(current, size, code, status);
}
/**
* 查询已办审批
*/
@GetMapping("/done")
public R<IPage<TaskApprovalMain>> queryDone(
@RequestParam(defaultValue = "1") Integer current,
@RequestParam(defaultValue = "10") Integer size,
@RequestParam(required = false) String processName,
@RequestParam(required = false) String status) {
return taskApprovalExecuteService.queryProcessDone(current, size, processName, status);
}
}
b.前端调用
// 查询待办审批
const fetchTodoList = async (page = 1, size = 10) => {
const result = await api.get('/approval/todo', {
params: {
current: page,
size: size,
code: 'uniform_claim', // 可选:按业务类型过滤
status: '2' // 可选:按状态过滤
}
});
if (result.success) {
setTodoList(result.data.records);
setTotal(result.data.total);
}
};
// 查询已办审批
const fetchDoneList = async (page = 1, size = 10) => {
const result = await api.get('/approval/done', {
params: {
current: page,
size: size,
status: '6' // 可选:只查已完成的
}
});
if (result.success) {
setDoneList(result.data.records);
setTotal(result.data.total);
}
};
27.API手册:查看审批详情API
a.searchProcess方法详解
a.方法签名
---
/**
* 查看审批流程详情
* @param request 查询请求(包含id或approvalFlowId)
* @return 审批详情
*/
public R<?> searchProcess(TaskApprovalOperateDTO request)
---
b.方法作用
查询业务详情(调用Handler.searchProcess)。查询当前/下一节点审批人列表。查询完整审批历史记录。用于审批详情页展示。
b.返回数据结构
a.SearchProcessVO结构
SearchProcessVO {
searchProcess: Object, // 业务详情(由Handler返回)
list: List<SysUserDTO>, // 下一节点审批人列表
historyList: List<TaskApprovalHistory>, // 审批历史记录
operateDTO: TaskApprovalOperateDTO, // 流程操作信息
userDTOS: List<SysUserDTO> // 当前节点审批人列表(转审用)
}
-------------------------------------------------------------------------------------------------
包含searchProcess(业务详情,由Handler返回)。
list(下一节点审批人列表)。
historyList(审批历史记录)。
operateDTO(流程操作信息)。
userDTOS(当前节点审批人列表,转审用)。
b.完整返回示例
success为true。
data包含searchProcess(id、employeeId、employeeName、claimStatus、approvalTime)。
list包含下一节点审批人信息(userId、name、deptName)。
historyList包含历史记录(nodeName、approverName、approvalStatus、approvalOpinion、approvalTime、approvalDuration)。
operateDTO包含流程信息(id、approvalFlowId、businessType、currentNodeId、currentNodeName、isFinalNode)。
userDTOS包含当前节点审批人信息。
c.调用示例
a.后端Controller
@RestController
@RequestMapping("/approval")
public class ApprovalController {
@Autowired
private TaskApprovalExecuteService taskApprovalExecuteService;
/**
* 查看审批详情
*/
@PostMapping("/searchProcess")
public R<?> searchProcess(@RequestBody TaskApprovalOperateDTO request) {
return taskApprovalExecuteService.searchProcess(request);
}
}
b.前端调用
// 查看审批详情
const fetchProcessDetail = async (id) => {
const result = await api.post('/approval/searchProcess', {
id: id
});
if (result.success) {
const { searchProcess, historyList, list, operateDTO, userDTOS } = result.data;
// 业务详情
setBusinessDetail(searchProcess);
// 审批历史
setApprovalHistory(historyList);
// 下一节点审批人列表(同意审批时使用)
setNextApproverList(list);
// 当前节点审批人列表(转审时使用)
setCurrentApproverList(userDTOS);
// 流程信息
setProcessInfo(operateDTO);
}
};
c.前端展示审批历史
// 渲染审批时间轴
<Timeline>
{historyList.map(item => (
<Timeline.Item
key={item.id}
color={item.approvalStatus === 0 ? 'green' : item.approvalStatus === 2 ? 'blue' : 'red'}
>
<div>
<strong>{item.nodeName}</strong>
<span style={{marginLeft: 10}}>{item.approverName}</span>
</div>
<div>{item.approvalOpinion}</div>
<div style={{color: '#999'}}>
{item.approvalTime}
{item.approvalDuration && ` (耗时: ${item.approvalDuration})`}
</div>
</Timeline.Item>
))}
</Timeline>
3.4 智慧工会:清单
00.进度
a.20260123
a.项目方案
完成项目汇报PPT方案制作,公司内部讨论通过。
截止日期:2026.01.30
负责人:魏德良、京丽芳
b.项目汇报
去集团给领导汇报最终版方案,推进立项。
截止日期:2026.02.06
负责人:魏德良、京丽芳
c.项目立项
编写项目立项材料,配合工会完成项目立项工作
截止日期:2026.02.13
负责人:魏德良、京丽芳
d.已开发功能客户核对
节假日福利、生日福利等
截止日期:2026.02.24
负责人:魏德良、京丽芳。
e.功能开发与确认
与客户逐步确认每个模块的功能,进行开发工作,预计完成【维护】板块的所有后端开发工作【约20个功能点】,前端开发需协调。
截止日期:2026.02.24
负责人:张瑜、李嘉伟、周翔、董霄源、魏德良、魏佑宁。
f.任务开始
可以参考这样子的,结合群里的资料盒原型图,形成自己的详细设计说明书,明天下午咱们一起过一下功能,没问题的话就可以开始排期开发了
大家按照各自的模块设计开始开发吧,周五中午左右把做了的功能都上线一下,下午开会过一遍。
b.女职工工作
a.女职工活动
20260130,之前由【宋晶晶】负责
合并到活动管理了,前端有一个是否指定人员,如果指定,点击选择按钮,选择你要发放活动公告给哪些人
这个选择人员页面,就类似于用户管理的页面,可以发,发给钉钉上指定的人员
中帼先进集体、中帼先进个人,这两个也放到劳模工匠管理
b.20260324
一级模块 具体任务 优先级 截止日期 负责人 协作人
项目立项 推进项目建议书评审、项目造价手续 ※※※ 2026.04.24 魏德良
项目研发 已开发内容全模块梳理,形成 todolist 待优化列表 ※※※ 2026.03.27 魏德良
项目研发 完成系统优化改造 ※※※ 2026.04.12 周翔、张瑜、李嘉伟 张智奇、魏德良
项目研发 完成项目测试工作 ※※※ 2026.04.17 郭子漉
项目研发 完成项目移动端、大屏、工作台、全模块页面优化工作 ※※※ 2026.04.24 董霄源
项目研发 完成系统各角色操作手册工作 ※※※ 2026.04.24 郭子漉
项目研发 完成客户汇报演示工作,推进系统培训上线 ※※※ 2026.04.24 魏德良
01.维护
a.职工关怀
a.职工互助帮扶
统筹基金募集、申请、审批及公示,支持数据导入与线上办理,实现流程规范、数据留存可追溯。
b.困难职工帮扶
困难职工信息建档、动态维护,支持申请与公示,为精准帮扶提供数据支撑。
c.送温暖慰问
管理慰问活动计划、实施及结果,支持信息导入与记录汇总,形成规范台账。
b.职工福利
a.节假日福利
用于对工会法定节假日福利的标准设置、发放记录及统计分析进行统一管理。
b.生日慰问
自动化管理工会会员生日慰问福利,含当月生日名单统计、往期未发放人员查询、重复数据删除、清单生成后不可修改、发放记录登记及台账查询。
c.职工健康
用于对工会会员年度体检福利的标准配置、人员范围及实施情况进行管理,不包含医疗诊断及健康数据分析功能。
d.工作服装
规范工服预算、配置、申领发放及离职清算,支持“三年一换”与差额清算。
e.独生子女奖励
管理补助资格申报、校验、判定及月度台账生成,以人力系统数据及规则为依据。
f.其他福利
登记临时性福利台账。
c.工会经费
a.预算管理
全流程管理年度及专项预算的编制、执行、监控与统计。
b.财务管理
统一配置会费标准、自动计算、记录收缴情况及查询台账。
d.女职工服务
a.日常活动
策划组织女工主题活动,联动“全国书香三八”,支持报名、作品提交及成果展示。
b.荣誉申报
登记、查询巾帼类荣誉信息,提供统计数据支撑。
e.心理咨询
a.心理咨询预约
过程管理,可在线预约专业心理咨询师进行 1 对 1 服务
b.专属心理测评
内容(心理健康 / 职业倦怠 / 压力状态 / 人格特质)、测评记录(时间、类型、核心结论)、支持按 “年度 / 测评类型” 筛选;
c.特殊群体“心理关爱”
女职工(孕期心理调适、职场性别压力疏导)、困难职工心理支持、
d.心理科普内容
包含 “心灵课堂” 栏目、心理科普视频(职工心理调适短视频)
e.总结
记录管理心理咨询服务,建立维护台账,实现规范记录与数据汇总。
f.维权服务
a.维权申请
台账化管理维权事项,记录服务对象信息与处理进度,支持过程跟踪与结果查询。
b.维权案例库
略
02.建设
a.工会组织
a.组织架构
管理工会内部组织、会员及岗位信息,实现规范记录与动态维护。
b.会员管理
a.会员画像
用于对工会会员的基础信息、兴趣特长及偏好进行记录和维护,实现会员信息的可查询、可分析和动态管理。
b.人才库
登记管理工会及所属单位人才信息,支持附件上传与修改。
c.劳动与技能竞赛
a.劳动竞赛
用于对劳动竞赛活动的基本信息、参赛人员、获奖结果及相关资料进行统一登记、查询和留档管理,并支持优秀获奖人员向劳模评选业务的推优衔接。
b.技术比武
用于对技术比武活动的基本信息、参赛人员、获奖结果及相关资料进行统一登记、查询和留档管理,并支持优秀获奖人员向劳模评选业务的推优衔接。
c.安康杯
用于对“安康杯”竞赛活动的方案发布、组织报名、过程检查、考核评分及评选表彰进行全流程数字化管理,实现竞赛台账统一归档。
d.创新活动
a.五小发明
用于对“五小发明”和职工创新成果的信息登记、统计查询、资料归档及表彰台账进行统一管理,支持与技术中心季度表彰工作的业务衔接。
b.劳模工匠
用于对各级劳模、工匠人员信息及其荣誉情况进行统一登记、统计和台账管理,为表彰管理和相关业务提供数据支撑。
03.参与
a.民主管理
a.企务公开
支持下级公司、各部门提交公开文件,由工会审批后线上发布并归档,在线发布信息,支持职工查看与反馈(采纳可获积分)。
b.职代会
用于管理职工代表大会相关工作的模块,实现议题、提案、在线投票到结果公示的全流程线上化。
c.工代会
用于管理工会代表大会相关工作的模块,实现代表管理、建家活动投票及会议全流程管理。
d.职工董事
用于对职工董事的选任信息、履职活动、提案建议、会议参与及考核评价进行全周期数字化管理。
04.教育
a.培训
a.培训计划
管理培训相关信息(名称、类型、内容等),支持新增、编辑等操作。
b.培训结果
系统化管理培训完成情况、考核结果、证书发放及资料归档。
b.创新理论宣讲
管理职工理论学习与思想教育活动,涵盖宣讲计划及学习数据统计。
c.文体活动
a.活动策划
用于对工会文体活动进行统一策划登记和信息管理,支撑活动组织与过程留痕。
b.活动结果
用于对已开展的文体活动结果资料进行统一归档和查询管理,形成活动实施结果档案。
d.工会阵地
a.荣誉中心
用于对工会荣誉的登记与管理,实现线上台账。
b.职工之家
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
c.职工书屋
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
d.职工活动室
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
e.职工(劳模)创新工作室
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
f.妈咪小屋
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
g.安康工作站
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
h.工匠学院
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
i.司机之家
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
e.资料中心
对工会工作相关的各类资料文件进行集中登记、分类存储与展示管理,支持资料名称、类型、用途等核心信息的录入与公开呈现,方便职工在线查询、查看所需资料。
f.阅读中心
全周期数字化运营工会年度主题阅读活动,涵盖方案发布、报名参与、作品提交、分级审核评选、成果展示归档,联动积分激励体系,打造“书香工会”线上阵地。
g.工会动态
用于发布工会相关新闻、通知、基层活动情况等信息,支持信息登记发布与职工在线查看。
11.Apifox
a.流程管理
会员用户下拉框
流程管理查看
流程管理增改
流程管理删除
流程管理分页查询
流程管理业务类型下拉框
流程管理审批人下拉框
工会组织下拉框
b.会员
集团用户查询
会员画像分页
分页查询系统游离用户
分页查询系统有组织用户
分页查询非会员用户
分页查询系统会员用户
邀请入会
查询入会游客工会登记表
c.活动管理
验证码
活动类型下拉框
登录
活动保存
提交活动内容
发送公告
活动报名
报名人员列表
活动签到
活动列表展示
测试审批
活动删除
活动详情
活动结束发送消息给负责人改变状态
获取负责人
招募人员列表
活动结果登记
活动结果登记列表
场地列表
物资列表
活动确认结束按钮
d.审批管理
待办分页查询
审批人下拉
公共审批
公共提交
会员迁入提交传参
审批查看详情
已办分页查询
会员迁出提交传参
e.职工关怀
a.困难职工帮扶管理
ZGBF-0001-困难职工档案分页查询
ZGBF-0002-困难职工帮扶申请-保存
困难职工帮扶审批-公共提交
ZGBF-0003-公示-分页查询
ZGBF-0004-公示-保存
ZGBF-0010-文件导入
ZGBF-0011-修改导入档案的项目信息、文件附件
b.职工互助帮扶管理
ZGHZ-0010-职工募集明细-导入
f.民主管理
企务公开新增/修改
企务公开查看详情
企务公开删除
企务公开分页查询
企务公开--首页分页查询
12.UI设计图-PC
a.工作台
系统主界面及功能导航入口。
b.维护
a.职工关怀
a.职工互助帮扶
统筹基金募集、申请、审批及公示,支持数据导入与线上办理,实现流程规范、数据留存可追溯。
b.困难职工帮扶
困难职工信息建档、动态维护,支持申请与公示,为精准帮扶提供数据支撑。
c.送温暖慰问
管理慰问活动计划、实施及结果,支持信息导入与记录汇总,形成规范台账。
b.职工福利
a.节假日福利
用于对工会法定节假日福利的标准设置、发放记录及统计分析进行统一管理。
b.生日慰问
自动化管理工会会员生日慰问福利,含当月生日名单统计、往期未发放人员查询、重复数据删除、清单生成后不可修改、发放记录登记及台账查询。
c.职工健康
用于对工会会员年度体检福利的标准配置、人员范围及实施情况进行管理,不包含医疗诊断及健康数据分析功能。
d.工作服装
规范工服预算、配置、申领发放及离职清算,支持“三年一换”与差额清算。
e.独生子女奖励
管理补助资格申报、校验、判定及月度台账生成,以人力系统数据及规则为依据。
f.其他福利
登记临时性福利台账。
c.工会经费
a.预算管理
全流程管理年度及专项预算的编制、执行、监控与统计。
b.财务管理
统一配置会费标准、自动计算、记录收缴情况及查询台账。
d.女职工服务
a.日常活动
策划组织女工主题活动,联动“全国书香三八”,支持报名、作品提交及成果展示。
b.荣誉申报
登记、查询巾帼类荣誉信息,提供统计数据支撑。
e.心理咨询
记录管理心理咨询服务,建立维护台账,实现规范记录与数据汇总。
f.维权服务
a.维权申请
台账化管理维权事项,记录服务对象信息与处理进度,支持过程跟踪与结果查询。
b.维权案例库
维权相关案例的归集与查询库。
c.建设
a.工会组织
a.组织架构
管理工会内部组织、会员及岗位信息,实现规范记录与动态维护。
b.会员管理
a.会员画像
用于对工会会员的基础信息、兴趣特长及偏好进行记录和维护,实现会员信息的可查询、可分析和动态管理。
b.人才库
登记管理工会及所属单位人才信息,支持附件上传与修改。
c.劳动与技能竞赛
a.劳动竞赛
用于对劳动竞赛活动的基本信息、参赛人员、获奖结果及相关资料进行统一登记、查询和留档管理,并支持优秀获奖人员向劳模评选业务的推优衔接。
b.技术比武
用于对技术比武活动的基本信息、参赛人员、获奖结果及相关资料进行统一登记、查询和留档管理,并支持优秀获奖人员向劳模评选业务的推优衔接。
c.安康杯
用于对“安康杯”竞赛活动的方案发布、组织报名、过程检查、考核评分及评选表彰进行全流程数字化管理,实现竞赛台账统一归档。
d.创新活动
a.五小发明
用于对“五小发明”和职工创新成果的信息登记、统计查询、资料归档及表彰台账进行统一管理,支持与技术中心季度表彰工作的业务衔接。
b.劳模工匠
用于对各级劳模、工匠人员信息及其荣誉情况进行统一登记、统计和台账管理,为表彰管理和相关业务提供数据支撑。
d.参与
a.民主管理
a.企务公开
支持下级公司、各部门提交公开文件,由工会审批后线上发布并归档,在线发布信息,支持职工查看与反馈(采纳可获积分)。
b.职代会
用于管理职工代表大会相关工作的模块,实现议题、提案、在线投票到结果公示的全流程线上化。
c.工代会
用于管理工会代表大会相关工作的模块,实现代表管理、建家活动投票及会议全流程管理。
d.职工董事
用于对职工董事的选任信息、履职活动、提案建议、会议参与及考核评价进行全周期数字化管理。
e.教育
a.培训
a.培训计划
管理培训相关信息(名称、类型、内容等),支持新增、编辑等操作。
b.培训结果
系统化管理培训完成情况、考核结果、证书发放及资料归档。
b.创新理论宣讲
管理职工理论学习与思想教育活动,涵盖宣讲计划及学习数据统计。
c.文体活动
a.活动策划
用于对工会文体活动进行统一策划登记和信息管理,支撑活动组织与过程留痕。
b.活动结果
用于对已开展的文体活动结果资料进行统一归档和查询管理,形成活动实施结果档案。
d.工会阵地
a.荣誉中心
用于对工会荣誉的登记与管理,实现线上台账。
b.职工之家
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
c.职工书屋
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
d.职工活动室
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
e.职工(劳模)创新工作室
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
f.妈咪小屋
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
g.安康工作站
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
h.工匠学院
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
i.司机之家
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
e.资料中心
对工会工作相关的各类资料文件进行集中登记、分类存储与展示管理,支持资料名称、类型、用途等核心信息的录入与公开呈现,方便职工在线查询、查看所需资料。
f.阅读中心
全周期数字化运营工会年度主题阅读活动,涵盖方案发布、报名参与、作品提交、分级审核评选、成果展示归档,联动积分激励体系,打造“书香工会”线上阵地。
g.工会动态
用于发布工会相关新闻、通知、基层活动情况等信息,支持信息登记发布与职工在线查看。
f.系统设置
a.积分兑换
用于管理职工积分及积分规则的模块。支持积分规则配置、积分发放、积分记录查询等功能。
b.预警提醒
用于对各类预警规则进行管理的模块。
g.AI智能体
a.智能问数
用于支持工会相关数据的智能查询、统计分析,用户可通过自然语言或预设条件查询经费使用、活动参与率、帮扶数据等核心指标,实现数据快速提取与可视化呈现,为工会决策提供数据支持。
b.智能问答
用于搭建工会服务智能咨询平台,解答职工关于福利申领、活动参与、维权流程、经费政策等常见问题,支持7x24小时自动响应,减少人工咨询压力,提升职工服务效率与体验。
13.UI设计图-APP
a.个人中心
a.个人中心管理
提供对个人基本信息、组织机构查询、工会服务办理等相关信息的新增、编辑、删除以及查询等功能服务,包括姓名、头像、联系方式、所属组织、服务办理记录、消息通知等字段信息。
b.新闻咨询
a.新闻咨询管理
提供对新闻资讯相关信息的查询、浏览、评论、分享等功能服务,包括资讯标题、发布时间、正文内容、作者、浏览量、点赞量、评论内容等字段信息。
c.培训与活动管理
a.培训管理
提供对学习课程、阅读资料、分享内容等相关信息的查询、浏览、上传、下载等功能服务,包括课程名称、阅读书籍、分享心得、发布时间、点赞量、评论内容等字段信息。
b.活动管理
提供对各类活动参与、文体人才展示相关信息的查询、报名、投票、点赞等功能服务,包括活动名称、活动详情、报名状态、人才风采、投票结果等字段信息。
d.工会阵地
a.工会阵地使用申请
提供对工会阵地使用申请相关信息的新增、编辑、删除以及查询等功能服务,包括阵地名称、申请时间、使用时间段、使用用途、申请人、审批状态等字段信息。
e.积分管理
a.积分获取
提供对积分获取相关信息的查询、统计等功能服务,包括积分类型、获取时间、积分数量、获取场景等字段信息。
b.积分商城
提供对积分兑换相关信息的查询、统计等功能服务,包括兑换商品、所需积分、兑换时间、兑换状态等字段信息。
3.5 智慧工会:分配
00.分配
a.技能
请使用 work-log-workflow 技能生成工作日志:
前端-建设/劳动竞赛--页面搭建(含列表、筛选、资料展示、推优衔接功能) 计划于 2026.02.28 完成
后端-建设/劳动竞赛--接口开发(含 CRUD、文档留档、向劳模推优逻辑接口) 计划于 2026.02.28 完成
...
周期:2026/2/26 ~ 2026/3/24
01.张瑜
a.一期任务
后端-日常活动
后端-荣誉申报
后端-心理咨询
-----------------------------------------------------------------------------------------------------
前端-心理咨询--页面搭建(含列表、筛选、新增/编辑弹窗)
后端-心理咨询--接口开发(含增删改查)
数据库-心理咨询--表设计与创建
-----------------------------------------------------------------------------------------------------
前端-女职工工作/女职工活动--页面搭建(含列表、筛选、新增/编辑弹窗)
后端-女职工工作/女职工活动--接口开发(含增删改查)
前端-女职工工作/巾帼先进集体--页面搭建(含列表、筛选、新增/编辑弹窗、附件上传)
后端-女职工工作/巾帼先进集体--接口开发(含增删改查、附件上传)
前端-女职工工作/巾帼先进个人--页面搭建(含列表、筛选、新增/编辑弹窗、附件上传)
后端-女职工工作/巾帼先进个人--接口开发(含增删改查、附件上传)
数据库-女职工工作--表设计与创建
b.二期任务
建设:劳动与技能竞赛、创新活动
教育:工会阵地
AI智能体:智能问数、智能问答
-----------------------------------------------------------------------------------------------------
请使用 work-log-workflow 技能生成工作日志:
前端-建设/劳动竞赛--页面搭建(含列表、筛选、资料展示、推优衔接功能) 计划于 2026.02.28 完成
后端-建设/劳动竞赛--接口开发(含 CRUD、文档留档、向劳模推优逻辑接口) 计划于 2026.02.28 完成
前端-建设/技术比武--页面搭建(含列表、筛选、获奖结果登记台账) 计划于 2026.03.04 完成
后端-建设/技术比武--接口开发(含增删改查、获奖资料管理) 计划于 2026.03.04 完成
前端-建设/安康杯--页面搭建(含方案发布、报名、评分表彰、台账归档展示) 计划于 2026.03.06 完成
后端-建设/安康杯--接口开发(含报名校验、考核评分逻辑、全流程数字化接口) 计划于 2026.03.06 完成
前端-建设/五小发明--页面搭建(含成果登记、统计查询、表彰展示) 计划于 2026.03.11 完成
后端-建设/五小发明--接口开发(含信息登记 CRUD、统计分析、衔接外部接口) 计划于 2026.03.11 完成
前端-建设/劳模工匠--页面搭建(含身份登记、荣誉展示、统计台账展示) 计划于 2026.03.13 完成
后端-建设/劳模工匠--接口开发(含劳模身份管理、荣誉记录 CRUD 接口) 计划于 2026.03.13 完成
-----------------------------------------------------------------------------------------------------
前端-教育/工会阵地(荣誉中心)--页面搭建(含详情展示、多媒体资料维护) 计划于 2026.03.18 完成
前端-教育/工会阵地(职工之家)--页面搭建(含详情展示、多媒体资料维护) 计划于 2026.03.18 完成
前端-教育/工会阵地(职工书屋)--页面搭建(含详情展示、多媒体资料维护) 计划于 2026.03.18 完成
前端-教育/工会阵地(职工活动室)--页面搭建(含详情展示、多媒体资料维护) 计划于 2026.03.20 完成
前端-教育/工会阵地(职工(劳模)创新工作室)--页面搭建(含详情展示、多媒体资料维护) 计划于 2026.03.20 完成
前端-教育/工会阵地(妈咪小屋)--页面搭建(含详情展示、多媒体资料维护) 计划于 2026.03.20 完成
前端-教育/工会阵地(安康工作站)--页面搭建(含详情展示、多媒体资料维护) 计划于 2026.03.20 完成
前端-教育/工会阵地(工匠学院)--页面搭建(含详情展示、多媒体资料维护) 计划于 2026.03.20 完成
前端-教育/工会阵地(司机之家)--页面搭建(含详情展示、多媒体资料维护) 计划于 2026.03.20 完成
-----------------------------------------------------------------------------------------------------
后端-教育/工会阵地(荣誉中心)--接口开发(含阵地基础信息维护、多媒体文件处理接口) 计划于 2026.03.18 完成
后端-教育/工会阵地(职工之家)--接口开发(含阵地基础信息维护、多媒体文件处理接口) 计划于 2026.03.18 完成
后端-教育/工会阵地(职工书屋)--接口开发(含阵地基础信息维护、多媒体文件处理接口) 计划于 2026.03.18 完成
后端-教育/工会阵地(职工活动室)--接口开发(含阵地基础信息维护、多媒体文件处理接口) 计划于 2026.03.20 完成
后端-教育/工会阵地(职工(劳模)创新工作室)--接口开发(含阵地基础信息维护、多媒体文件处理接口) 计划于 2026.03.20 完成
后端-教育/工会阵地(妈咪小屋)--接口开发(含阵地基础信息维护、多媒体文件处理接口) 计划于 2026.03.20 完成
后端-教育/工会阵地(安康工作站)--接口开发(含阵地基础信息维护、多媒体文件处理接口) 计划于 2026.03.20 完成
后端-教育/工会阵地(工匠学院)--接口开发(含阵地基础信息维护、多媒体文件处理接口) 计划于 2026.03.20 完成
后端-教育/工会阵地(司机之家)--接口开发(含阵地基础信息维护、多媒体文件处理接口) 计划于 2026.03.20 完成
前端-智能问数--页面搭建(支持 子阵地,含详情展示、多媒体资料维护) 计划于 2026.03.24 完成
后端-智能问数--接口开发(含阵地基础信息维护、多媒体文件处理接口) 计划于 2026.03.24 完成
-----------------------------------------------------------------------------------------------------
前端-智能问答--页面搭建(支持 子阵地,含详情展示、多媒体资料维护) 计划于 2026.03.24 完成
后端-智能问答--接口开发(含阵地基础信息维护、多媒体文件处理接口) 计划于 2026.03.24 完成
周期:2026/2/26 ~ 2026/3/24
02.周翔
a.一期任务
后端-预算管理
后端-财务管理
后端-维权申请
后端-维权案例库
-----------------------------------------------------------------------------------------------------
后端-预算统计开发年度、专项、执行率统计接口
后端-预算监控数据定时生成、查询、预警接口
后端-预算执行、执行记录查询接口
后端-预算编制预新增、编辑、删除、提交审核接口
-----------------------------------------------------------------------------------------------------
后端-维权案例新增、编辑、删除、列表查询、详情查询
后端-维权事项受理、维权处理进度登记、维权事项办结、维权事项撤回、维权台账查询、维权结果统计查询
后端-维权申请新增、编辑、删除、列表查询、详情查询
-----------------------------------------------------------------------------------------------------
后端-年度汇缴统计,汇缴统计查询,导出接口
后端-会费收缴登记,收缴记录查询,收缴状态更新接口
后端-职工基数查询,一键获取计算基数,基数导出接口
后端-会费标准生效逻辑(开发标准生效/失效逻辑,支持按时间/人员类型生效,确保计算时取最新有效标准)
后端-会费标准配置接口(开发会费标准新增 / 编辑/删除 /查询接口,配置缴纳比例、基数计算规则、适用人员类型)
b.一期进度
培训计划 - 2026/2/26
培训结果 - 2026/2/28
创新理论宣讲 - 2026/3/4
活动策划 - 2026/3/6
活动结果 - 2026/3/11
资料中心 - 2026/3/13
阅读中心 - 2026/3/18
工会动态 - 2026/3/18
预警提醒 - 2026/3/24
03.李嘉伟
a.一期任务
后端-送温暖慰问
后端-工作服装
后端-独生子女奖励
后端-其他福利
-----------------------------------------------------------------------------------------------------
慰问活动管理-支持按条件筛选后导出Excel
慰问活动管理-自动生成规范台账
慰问活动管理-信息导入,支持Excel批量导入慰问活动数据
慰问活动管理-建表,添加索引
慰问活动管理-新增、编辑、删除、查询慰问活动详情
-----------------------------------------------------------------------------------------------------
工作服装-审批日志-关键变更审批记录
工作服装-预算与台账-生成发放与清算台账,支持导出
工作服装-预算与台账-支持年度工服预算配置与实际支出对比
工作服装-离职清算-员工未满3年离职时,系统按比例计算应扣款项 (差额清算)
工作服装-申领与发放-支持管理员审核并登记发放记录
工作服装-申领与发放-员工提交申领,系统校验资格 (上次发放时间≥ 3年)
工作服装-周期管理-默认执行"三年一换"规则,系统自动判断员工是否满足申领条件
工作服装-分析业务-初始化数据库表
-----------------------------------------------------------------------------------------------------
独生子女奖励-台账管理-生成月度发放台账,标记发放状态 (待发/已发/失败)
独生子女奖励-本单位上年度在岗职工平均工资配置绑定
独生子女奖励-奖励金额计算规则,本单位上年度在岗职工平均工资× 30%(该工资需人工配置)
独生子女奖励-材料上传,退休证信息、独生子女光荣证等图片文件
独生子女奖励-信息维护,对退休职工独生子女一次性奖励相关信息的新增、编辑、删除以及查询
独生子女奖励-数据对接,对接人力资源系统数据,校验信息
独生子女奖励-分析业务,初始化数据库表
-----------------------------------------------------------------------------------------------------
其他福利-附件支持-可上传审批单、签收单等证明材料
其他福利-台账导出-支持按时间、对象等条件查询并导出Excel台账
其他福利-基础信息记录-记录对象、金额/物品、发放时间、事由说明等CRUD
其他福利-业务分析初始化数据库表
b.一期进度
民主管理:
整合测试库数据(2026-02-26)- 本地数据库合并测试库;
企务公开(2026-02-27/2026-03-03)- 后端API(创建/查询/状态更新),文件上传(支持PDF/DOCX);
职代会(2026-03-03/2026-03-10)- 提案创建与列表相关API,投票接口(单选/多选),投票结果统计;
工代会(2026-03-10/2026-03-15)- 用户权限对接(RBAC),代表信息维护(CRUD),建家活动投票相关API;
职工董事(2026-03-15/2026-03-18)- 董事信息展示,履职记录录入(表单),提案提交(复用职代会提案模型);
-----------------------------------------------------------------------------------------------------
系统设置:
积分兑换(2026-03-19/2026-03-24)- 积分展示相关API,自动积分发放接口(供企务公开调用),个人积分查询,积分明细相关,积分获取渠道日志,积分操作相关 & 日志。
04.董霄源
a.一期任务
前端-在职职工独生子女费用新增页--页面搭建
前端-在职职工独生子女费列表页--页面搭建
-----------------------------------------------------------------------------------------------------
前端-独生子女申领信息列表页--接口对接
前端-独生子女申领信息列表页--页面搭建
前端-独生子女申领信息填报页面--接口对接
前端-独生子女申领信息填报--页面搭建
-----------------------------------------------------------------------------------------------------
前端-送温暖慰问活动新增,删除,编辑--接口对接
前端-送温暖慰问活动列表接口,删除--接口对接
前端-送温暖慰问活动计划新增页--页面搭建
前端-送温暖活动列表页--页面搭建
b.一期进度
建设模块:劳动竞赛,技术比武,安康杯,五小发明,劳模工匠页面搭建及接口对接--2026/3/9
参与模块:企务公开,职代会,工代会,职工董事页面开发接口对接--2026/3/13
教育模块:培训,理论宣讲,文体活动,荣誉中心,职工之家,职工书屋,职工活动室,创新工作室,妈咪小屋,安康工作站,工匠学院,司机之家,资料中心,阅读中心,工会动态页面开发接口对接--2026/3/19
系统设置:积分兑换,预警提醒页面搭建及接口对接--2026/3/24
11.智能问数
a.说明1
后端开发-数据模型设计 & 查询指标接口框架搭建
后端开发-自然语言解析模块接口开发(经费/帮扶类)
后端开发-预设条件查询接口开发(活动参与率/多维筛选)
后端开发-统计分析聚合接口开发(数据汇总/趋势计算)
后端开发-可视化数据接口开发(图表数据格式化输出)
后端开发-接口联调 & 文档留档
-----------------------------------------------------------------------------------------------------
前端开发-页面框架搭建 & 路由配置 & 子阵地结构
前端开发-自然语言输入框 & 查询结果列表页开发
前端开发-数据可视化图表组件开发(折线/柱状/饼图)
前端开发-多媒体资料维护页面开发
前端开发-前后端联调 & 样式优化 & 问题修复
-----------------------------------------------------------------------------------------------------
测试-后端接口单元测试(自然语言解析模块)
测试-后端接口单元测试(查询统计模块)
b.说明2
====================================================================
智能问数项目工作计划
====================================================================
项目: 工会项目 - 智能问数
负责人: 张瑜
周期: 2026/02/26 - 2026/03/24
【项目概述】
智能问数是基于自然语言处理的数据查询分析系统,用户可以通过自然
语言提问,系统自动解析并返回可视化数据分析结果。
--------------------------------------------------------------------
【工作计划详情】
--------------------------------------------------------------------
日期 | 任务类别 | 具体任务内容 | 工时
-------------|----------|-------------------------------------------|------
2026/02/26 | 后端开发 | 数据模型设计 & 查询指标接口框架搭建 | 2
| 后端开发 | 自然语言解析模块接口开发(经费/帮扶类) | 2
2026/02/27 | 后端开发 | 预设条件查询接口开发(活动参与率/多维筛选) | 2
2026/03/02 | 后端开发 | 统计分析聚合接口开发(数据汇总/趋势计算) | 2
2026/03/03 | 后端开发 | 可视化数据接口开发(图表数据格式化输出) | 2
2026/03/04 | 后端开发 | 接口联调 & 文档留档 | 2
2026/03/05 | 前端开发 | 页面框架搭建 & 路由配置 & 子阵地结构 | 3
2026/03/06 | 前端开发 | 自然语言输入框 & 查询结果列表页开发 | 3
2026/03/09 | 前端开发 | 数据可视化图表组件开发(折线/柱状/饼图) | 3
2026/03/10 | 前端开发 | 多媒体资料维护页面开发 | 2
2026/03/11 | 前端开发 | 前后端联调 & 样式优化 & 问题修复 | 2
--------------------------------------------------------------------
2026/03/13 | 测试 | 后端接口单元测试(自然语言解析模块) | 3
| 测试 | 后端接口单元测试(查询统计模块) | 2
| 修复 | Bug修复与回归测试 | 2
2026/03/16 | 优化 | 自然语言解析准确率优化 | 3
| 优化 | 查询性能优化(数据库索引/查询语句优化) | 2
| 测试 | 优化后功能验证 | 2
2026/03/17 | 功能开发 | 数据导出功能(支持Excel/PDF导出) | 3
| 功能开发 | 数据缓存机制实现(常用查询结果缓存) | 2
| 测试 | 导出功能测试 | 2
2026/03/18 | 功能开发 | 查询历史记录功能(历史保存/快速复用) | 3
| 功能开发 | 收藏夹功能(常用查询收藏管理) | 2
| 测试 | 历史记录功能测试 | 2
2026/03/19 | 优化 | 图表交互体验优化(hover提示/点击联动) | 3
| 优化 | 查询响应加载动画优化(骨架屏/进度提示) | 2
| 测试 | 用户体验验证 | 2
2026/03/20 | 功能开发 | 数据权限控制实现(按角色/部门数据隔离) | 3
| 功能开发 | 查询审计日志记录 | 2
| 测试 | 权限与审计功能测试 | 2
2026/03/23 | 集成 | 前后端集成测试(全流程端到端测试) | 3
| 集成 | 与工会其他子系统接口联调 | 2
| 修复 | 联调问题修复 | 2
2026/03/24 | 验收 | 用户验收测试准备 | 2
| 验收 | 用户验收测试执行与问题收集 | 3
| 文档 | 部署文档与用户操作手册编写 | 2
--------------------------------------------------------------------
【交付物清单】
--------------------------------------------------------------------
1. 测试文档: 单元测试报告、集成测试报告
2. 功能模块: 数据导出、查询历史、收藏夹、权限控制、审计日志
3. 优化项: NLP准确率提升、查询性能优化、用户体验优化
4. 文档: 部署文档、用户操作手册
12.智能问答
a.说明1
后端开发-知识库数据模型设计 & FAQ管理接口框架
后端开发-FAQ增删改查接口开发(福利/活动/维权类)
后端开发-意图识别 & 关键词匹配接口开发
后端开发-多轮对话会话管理接口开发
后端开发-自动响应逻辑接口 & 兜底回复机制
后端开发-接口联调 & 文档留档
-----------------------------------------------------------------------------------------------------
前端开发-页面框架搭建 & 路由配置 & 子阵地结构
前端开发-对话窗口组件(消息气泡/输入框/发送逻辑)
前端开发-FAQ知识库管理页面开发
前端开发-多媒体资料维护页面开发
前端开发-前后端联调 & 样式优化 & 问题修复
-----------------------------------------------------------------------------------------------------
测试-后端接口单元测试(意图识别模块)
测试-后端接口单元测试(会话管理模块)
测试-前端接口单元测试(意图识别模块)
测试-前端接口单元测试(会话管理模块)
b.说明2
====================================================================
智能问答项目工作计划
====================================================================
项目: 工会项目 - 智能问答
负责人: 张瑜
周期: 2026/02/26 - 2026/03/24
【项目概述】
智能问答是基于FAQ知识库的对话系统,通过意图识别和关键词匹配,
为用户提供工会相关问题的自动解答服务。
--------------------------------------------------------------------
【工作计划详情】
--------------------------------------------------------------------
日期 | 任务类别 | 具体任务内容 | 工时
-------------|----------|-------------------------------------------|------
2026/02/26 | 后端开发 | 知识库数据模型设计 & FAQ管理接口框架 | 3
2026/02/27 | 后端开发 | FAQ增删改查接口开发(福利/活动/维权类) | 2
2026/03/02 | 后端开发 | 意图识别 & 关键词匹配接口开发 | 2
2026/03/03 | 后端开发 | 多轮对话会话管理接口开发 | 2
2026/03/04 | 后端开发 | 自动响应逻辑接口 & 兜底回复机制 | 2
2026/03/05 | 后端开发 | 接口联调 & 文档留档 | 2
2026/03/06 | 前端开发 | 页面框架搭建 & 路由配置 & 子阵地结构 | 3
2026/03/09 | 前端开发 | 对话窗口组件(消息气泡/输入框/发送逻辑) | 3
2026/03/10 | 前端开发 | FAQ知识库管理页面开发 | 3
2026/03/11 | 前端开发 | 多媒体资料维护页面开发 | 2
2026/03/12 | 前端开发 | 前后端联调 & 样式优化 & 问题修复 | 2
--------------------------------------------------------------------
2026/03/13 | 测试 | 后端接口单元测试(意图识别模块) | 3
| 测试 | 后端接口单元测试(会话管理模块) | 2
| 修复 | Bug修复与回归测试 | 2
2026/03/16 | 优化 | 意图识别准确率优化(扩充训练样本) | 3
| 优化 | FAQ知识库结构优化(多层级分类/标签体系) | 2
| 测试 | 优化后功能验证 | 2
2026/03/17 | 功能开发 | 多模态答案支持(图文混排/视频链接) | 3
| 功能开发 | 答案推荐算法优化(相关问题推荐) | 2
| 测试 | 推荐功能测试 | 2
2026/03/18 | 功能开发 | 快捷问题入口开发(高频问题快捷按钮) | 2
| 功能开发 | 问题反馈功能开发(答案不满意/建议反馈) | 3
| 测试 | 反馈功能测试 | 2
2026/03/19 | 优化 | 对话交互体验优化(打字机效果/快捷回复) | 3
| 优化 | 答案富文本展示优化(Markdown渲染) | 2
| 测试 | 用户体验验证 | 2
2026/03/20 | 功能开发 | 人工客服转接功能(无法解答时转人工) | 3
| 功能开发 | 会话评价功能(满意/不满意评价收集) | 2
| 测试 | 转接与评价功能测试 | 2
2026/03/23 | 集成 | 前后端集成测试(全流程端到端测试) | 3
| 集成 | 与工会其他子系统接口联调 | 2
| 修复 | 联调问题修复 | 2
2026/03/24 | 验收 | 用户验收测试准备 | 2
| 验收 | 用户验收测试执行与问题收集 | 3
| 文档 | 部署文档与FAQ维护手册编写 | 2
3.6 智慧公会:思路
01.常见信息1
a.项目结构
a.清理
1.清理 sys-common/target 目录
2.清理 sys-server/target 目录
3.进入 sys-common 目录,执行 mvn clean install -DskipTests
4.返回 sys-server 目录,执行 mvn clean package -DskipTests
5.找到 JAR 文件并启动服务
b.启动流程
.github/start-sys-server.ps1 (或 .sh)
↓
导航到 ../sys-server
↓
清理 sys-common/target 和 sys-server/target
↓
构建 sys-common (install 到本地仓库)
↓
构建 sys-server (依赖 sys-common)
↓
启动 sys-server
b.常见问题
a.鉴权
gateway.yml
security:
oauth2:
resourceserver:
jwt:
jwk-set-uri: http://192.168.1.177:9071/rsa/publicKey
b.放开权限
secure:
ignore:
urls:
- "/layer/v1/sys-service/nzgfw/**" # 女职工服务-免鉴权
- "/layer/v1/sys-service/xlzx/**" # 心理咨询-免鉴权
02.常见信息2
a.说明
a.登录
http://111.53.193.159:10003/login
admin
ceshi123456@Tp
b.服务
auth-server 9071
gateway 9070
sys-server 9072
c.项目原型
for windows
http://team.yindangu.com/p/gIKGkO
-------------------------------------------------------------------------------------------------
https://lanhuapp.com/link/#/invite?sid=lx0vu4de
分享人: 183****8670
团队名称: 183****8670的团队的团队
相关项目: 工会
链接有效期: 20260302~20260316
d.项目启动
1.开启surge,解决"/layer/v1/auth-service/obtain/captcha",500报错
2.先gateway,再auth-service,最后sys-server
b.公共规范
a.表公共设计
字段属性 字段名 数据库字段
Long id id
Integer isDeleted is_deleted
LocalDateTime createTime create_time
Long createUser create_user
LocalDateTime updateTime update_time
Long updateUser update_user
Long createDept create_dept
b.模块规范
系统表:sys_xxx
控制器前缀:/模块名称/xxx
业务表前缀:模块名称_xxx
c.审批流
a.主表+子表
资金募集管理
http://127.0.0.1:8080/EmployeeCare/interEmployee/fundManage/fund-raising-index
b.审批流
UniformClaimServiceImpl 自己接入
TaskApprovalExecuteService 审批工具类
d.代码位置
a.审批流
111.53.193.159:10003/system/approval/approval-index
-------------------------------------------------------------------------------------------------
系统管理 -> 审批管理 -> 适用业务 -> 【福利保存、活动提交、会员迁出】
流程名称:职代会会议审批
流程编码:cy_zdh_conterence_meeting
-------------------------------------------------------------------------------------------------
系统设置 -> 审批列表 -> 表格显示
b.文件上传
components -> global -> form -> G-form-add.vue
文件上传,G-file-upload
-------------------------------------------------------------------------------------------------
system -> affair -> affair-add.vue
label: "附件", prpp: "fileUrls", type: "upload", limit: 10, tipText: "支持上传多个附件"
-------------------------------------------------------------------------------------------------
// 获取详情
const getDetail= () =x {
// 处理 fileUrls 字段,将 JSON 字符串转换成数组
// 表单回滚
c.公共组件
components -> activity -> BudgetPointsSection.vue
请选择是否发放积分
请选择是否启用预算
-------------------------------------------------------------------------------------------------
activityManage -> plan -> adivityPlanAdd.vue
d.会员画像
分页查询培训计划列表(会员画像/人才库使用)
pxgl -> controller -> TrainingController -> /trainingPLan/pageDefault
03.常用信息3
a.代码位置
a.审批流
111.53.193.159:10003/system/approval/approval-index
-------------------------------------------------------------------------------------------------
系统管理 -> 审批管理 -> 适用业务 -> 【福利保存、活动提交、会员迁出】
流程名称:职代会会议审批
流程编码:cy_zdh_conterence_meeting
-------------------------------------------------------------------------------------------------
系统设置 -> 审批列表 -> 表格显示
b.文件上传
components -> global -> form -> G-form-add.vue
文件上传,G-file-upload
-------------------------------------------------------------------------------------------------
system -> affair -> affair-add.vue
label: "附件", prpp: "fileUrls", type: "upload", limit: 10, tipText: "支持上传多个附件"
-------------------------------------------------------------------------------------------------
// 获取详情
const getDetail= () =x {
// 处理 fileUrls 字段,将 JSON 字符串转换成数组
// 表单回滚
c.公共组件
components -> activity -> BudgetPointsSection.vue
请选择是否发放积分
请选择是否启用预算
-------------------------------------------------------------------------------------------------
activityManage -> plan -> adivityPlanAdd.vue
d.会员画像
分页查询培训计划列表(会员画像/人才库使用)
pxgl -> controller -> TrainingController -> /trainingPLan/pageDefault
b.任务模块
a.女职工服务
a.日常活动
策划组织女工主题活动,联动“全国书香三八”,支持报名、作品提交及成果展示。
b.荣誉申报
登记、查询巾帼类荣誉信息,提供统计数据支撑。
b.心理咨询
记录管理心理咨询服务,建立维护台账,实现规范记录与数据汇总。
c.劳动与技能竞赛
a.劳动竞赛
用于对劳动竞赛活动的基本信息、参赛人员、获奖结果及相关资料进行统一登记、查询和留档管理,并支持优秀获奖人员向劳模评选业务的推优衔接。
b.技术比武
用于对技术比武活动的基本信息、参赛人员、获奖结果及相关资料进行统一登记、查询和留档管理,并支持优秀获奖人员向劳模评选业务的推优衔接。
c.安康杯
用于对“安康杯”竞赛活动的方案发布、组织报名、过程检查、考核评分及评选表彰进行全流程数字化管理,实现竞赛台账统一归档。
d.创新活动
a.五小发明
用于对“五小发明”和职工创新成果的信息登记、统计查询、资料归档及表彰台账进行统一管理,支持与技术中心季度表彰工作的业务衔接。
b.劳模工匠
用于对各级劳模、工匠人员信息及其荣誉情况进行统一登记、统计和台账管理,为表彰管理和相关业务提供数据支撑。
e.工会阵地
a.荣誉中心
用于对工会荣誉的登记与管理,实现线上台账。
b.职工之家
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
c.职工书屋
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
d.职工活动室
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
e.职工(劳模)创新工作室
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
f.妈咪小屋
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
g.安康工作站
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
h.工匠学院
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
i.司机之家
用于对工会阵地信息进行台账化管理和查询,支持阵地详情信息及多媒体资料的记录与维护,实现工会阵地管理工作的信息化、规范化和可查询。
04.常用信息4
a.分类1
a.说明1
a.组织架构
2个页面、拓扑图、统计多少人
点不开(UI问题),新旧不一致,5个角色,人,详情,参考用户管理
b.用户管理
管理员:不同组织有不同选择,获取非会员名单,不同组织有不同选项
组织代码:新旧、其他公司也能拉到工会,一个人不能出现2个工会,迁入迁出的记录
c.会员管理
当前工会多少人
什么角色
主席、副主席、科员
d.审批列表
管理员、部门管理员、个人(查看审批)
教育 -> 文体活动 -> 活动策划(统一,5个活动)
送温暖 -> 10个活动,有统一审批、有页面审批、走权限
模块字段 -> 负责维护这一块、名称、下拉
e.通用方式
负责人
|
登记(发布) -> 审批 -> 结果登记(评价)
(管理员)
b.说明2
a.工作服装
工服配置列表:基本信息
工服申领,离职清算
根据时间、XXX来确定
时间限制:12个月
几种类型:不同岗位、申领,跟角色挂钩
b.职工福利
每个板块都去关联(预算)
c.送温暖慰问
活动预算(通用、下拉选择)
审批列表、有权限(跟角色)
年度预算、专项预算(占用、执行、释放)
买东西与预算
b.分类2
c.说明3
a.民主管理
会议活动/职工代表:议题 -> 会议 -> 发布
无投票、只签到
b.文体活动
推公共(活动开始、结束)
审批结束 -> 自动推公告
描述:活动(富文本、图片)
c.培训计划
结果登记(下一步)(是否需要签到)
发起、审批、签到、登记、结果登记
d.培训结果
报名人数、实际人数、附件
不需要明细表
d.说明4
a.预算管理
列表、记录(公共接口)
工会经费 -> 预算管理 -> 提交审批 -> 每1笔有多个
b.独生子女福利
一次发放、多个发放
c.维权申请
申请人(代申请)、帮办、汇报进度
推到维权案例库
c.分类3
e.说明5
a.日常活动,集成到会员画像
步骤式
报名 -> 邀请20个人,待办(未确认),详情,多少人,最大报名
新增 -> 活动状态隐藏
功能 -> 待办是否报名
b.荣誉申报,集成到会员画像
关联到 会员画像,定时推到列表
走审批
c.心理咨询,集成到会员画像,参考(维权申请)
必填、非必填(咨询人:自己、咨询日期:当前、咨询师:不自己)
f.说明6
a.竞赛
流程
-> 公告
-> 主动报名
1.待办(报名)-> 通知
2.公告(报名)-> 主动
b.五小发明
筛选项
详情(一条是一条)
单表(子表 -> 主表),删子表
c.劳模工匠
单表
g.说明7
a.工会阵地
组织架构(有几个阵地)
每个类型 -> 每个中心 -> 都需要活动
以职工之家为例,办活动
荣誉中心,工会(有几个、列举几个):干了多少活动、多会办了、结果统计
b.积分规则
发起流程 -> 获取多少积分、模块积分
输入框、下拉框
通用积分规则
配置 -> 活动发起人 -> 可以设置
c.其他
工作台 -> 待审、已审
阅读中心 -> 一本书为例
h.说明8
a.工会阵地
工作台
新增阵地
新增列表:关联图片、发起活动 -> 台账记录(读书活动) -> 签到记录
阵地详情
4 智慧系统
4.1 服务部署
01.常用信息1
a.服务器
网址:192.168.3.102
账号:root
密码:zkzx@102
b.项目部署
MaxKb:192.168.3.102:8080
SQLBot:192.168.3.102:8000
admin
7T0GSEfr.b=9
02.常用信息2
a.docker私服镜像
{
"registry-mirrors": ["http://192.168.1.210:8081/repository/docker-group/"],
"insecure-registries": ["192.168.1.210:8081"]
}
03.常用信息3
a.飞致书
尊敬的张先生/女士:
欢迎加入飞致云客户支持门户!您的账户已经创建,您的登录账户为:[email protected]为了确保账户安全并便于您登录,请点击以下链接来设置您的账户密码:
此链接将在24小时后过期,若您未能在此期间完成设置,请随时联系您的客户经理。
诚挚地,FIT2CLOUD飞致云客户支持团队
-----------------------------------------------------------------------------------------------------
[email protected]
g4*WqcZ~gpAS
-----------------------------------------------------------------------------------------------------
https://support.fit2cloud.com/?kc_action=UPDATE_PASSWORD&kc_action=UPDATE_PASSWORD&state=c8a51c60-4fa3-4eaf-b77a-e6b8363953a3&session_state=928fb534-4bf8-416a-6783-c2994897e2e7&iss=https%3A%2F%2Fsso.fit2cloud.com%2Frealms%2Ffit2cloud&code=850774df-d87c-3897-c286-7a80d4172628.928fb534-4bf8-416a-6783-c2994897e2e7.79115473-7344-4174-8d0f-9bf16012d061#/maintenances
b.信息沟通
1.知识库,对问题进行向量化
2.智能体,配置提示词、知识库
简易智能体,大致就是这么使用吧
现在在测高级智能体,X-Pack使用
-----------------------------------------------------------------------------------------------------
实际环境一般用高级的,简易智能体场景比较简单
4.2 智能问答
01.常用信息1
a.
b.
02.常用信息2
4.3 智能问数
01.常用信息1
02.常用信息2
5 集团系统
5.1 官网信息
01.常用信息1
a.电子商务平台
官网首页:https://www.sxlq.com/index
电子商务平台:http://220.194.141.75:10201/showStock/index
登录入口:投标人/供应商登录
登录账号:ZCZKZX
登录密码:LQjtZCzx@2026
b.小工具情况
bsr 评标工具
tbs 投标工具
zbs 招标工具
bid-file-tools 招投标文件编制系统
02.常用信息2
a.环境信息
bsr,评标工具
tbs,投标工具
zbs,招标工具
-----------------------------------------------------------------------------------------------------
供应商
LQYGSGYS,CS002,CS003,LCY,YGSGYSB,JYB1,JYB3,JYB2,TEST2021,SWZCCS
ceshi123456@Tp
-----------------------------------------------------------------------------------------------------
项目负责人
JJGSZBDL
Jjzb7080993..!
-----------------------------------------------------------------------------------------------------
测试数据库
url: jdbc:informix-sqli://10.10.20.39:9088/luqiao_tenderservice:INFORMIXSERVER=gbase01;CLIENT_LOCALE=zh_cn.utf8;NEWCODESET=UTF8,zh_cn.UTF8,57372;DB_LOCALE=zh_cn.utf8;IFX_USE_STRENC=true;
username: informix
password: GBase123
b.BSR
数据接口服务(正式):http://ds2.sxlq.com:8880/tenderService
数据接口服务(测试):http://10.10.20.41:9016/tenderService
更新接口服务:https://ds.sxlq.com:9982/updateSite/bsr_online/repository
官网网站地址:http://220.194.141.75:10201
评标服务地址:https://ds.sxlq.com:9982/onlinebidopening
新平台网站地址:http://ds2.sxlq.com:8880
是否自动更新:是
是否启动时自动环境检测:是
c.ZBS
数据接口服务(正式):http://220.194.141.75:8880/tenderService
更新接口服务:https://ds.sxlq.com:9982/updateSite/zbs/repository
官网网站地址:http://220.194.141.75:10201
-----------------------------------------------------------------------------------------------------
JJGSZBDL
Jjzb7080993..!
-----------------------------------------------------------------------------------------------------
heyuanqiao
ZCzx@5606026
-----------------------------------------------------------------------------------------------------
zbs -> 我的标书库 -> 打开 -> 解除/添加编辑限制 -> 请输入解除限制权限密码
jtzc258258
zczx0311
-----------------------------------------------------------------------------------------------------
测试、正式
10.10.20.209,堡垒机
curl -X POST "http://220.194.141.75:8880/tenderService/sys/macro/option" -d "code=word.password&type=string"
luqiao_tenderservice -> sys_macro -> code = "word password"
d.配置
BSR:d:\workspace\bid-thrid-tools\bsr\com.enuo.rcp.bsr.res\bsr.properties
TBS:d:\workspace\bid-thrid-tools\tbs\com.sniper.rcp.tbs.res\tbsx.properties
ZBS:d:\workspace\bid-thrid-tools\zbs\com.enuo.rcp.zbsx.res\zbsx.properties
-----------------------------------------------------------------------------------------------------
配置项说明:
A = 数据接口地址(登录、数据服务等)
B = 更新接口地址
C = 官网地址
D = WebSocket 地址(仅 BSR)
X = 官网地址(仅 BSR/ZBS)
注意:这些值是 RSA 加密的,需要使用工具加密后再写入
03.常见信息3
a.20260402,第二信封异常,bsr,评标工具
a.工单管理
工单编号 -> GD26040111
采购方案编号 -> 2026-WZGS-WZ-029
采购方案编号 -> 2025-LQ3GS-FW-213,直接流标
b.采购方案
采购方案 -> 采购方案管理 -> 方案编号 -> 2026-WZGS-WZ-029
评标 -> 评标结果 -> 分数没有过60分可以直接往下走么
c.问题描述1
聊城市创立机械制造有限公司 57.9
分数没有过60分可以直接往下走么,走 第1张图的【招采中心复核】流程吗?
d.问题描述2
商务技术打分之后,不够六十分,为什么可以开第二信封
第1信封,必须有3家审核通过,才可以开第2信封
第2信封,不足3家,不能开第2信封
e.问题分析
评标结果:94.7 是否推荐中标供应商 是
评标结果:76.8 是否推荐中标供应商 是
评标结果:57.9 是否推荐中标供应商 否
f.问题答复
问题描述:评标流程中,通过商务技术评审的供应商不足3家时,系统未阻止开启第二信封
问题解决:在"推荐供应商提交"和"确认第二信封开标",两个关键入口,增加不足3家硬性阻止校验
解决方案:重新编译exe,发布评标工具后,重新安装客户端
b.20260407,第二信封异常,bsr,评标工具
a.工单管理
采购方案编号 -> 2026-LQ1GS-FW-012 2026-LQ1GS-FW-012_1
b.页面报错
20260407,界面异常【同步参与者(供应商)数据异常(vdz_bidding_room_participant)】
请等待,项目负责人完成第二信封开标
c.解决方案
排查:有条数据 没有正确存储,抽空我看下 什么数据 导致的。
项目负责人,尚未完成第二信封开标操作,开标室记录尚未建立,导致外部平台在执行 INSERT/UPDATE 时触发数据完整性约束失败。
目前,大家操作的时候,尤其 第二信封,等待 30-60s,尤其是 组长的机器
组长机器、专家机器,关键步骤,同一时间,不要 同时点击
d.相关说明
1台组长、3台专家
解密倒计时:0:32:34
5.2 项目环境
01.项目架构
a.项目描述
a.开发环境
组件 版本
JDK 11
Eclipse IDE 2022-06,必须是 "Eclipse IDE for RCP and RAP Developers"
Maven 3.8.0
b.技术栈
技术 版本 说明
编程语言 Java 11.0.11 必需版本
框架 Eclipse RCP 3.x 基于 org.eclipse.ui
Eclipse 平台 4.17 (2020-06) 避免与 E4 冲突
UI SWT/JFace 原生 GUI
Maven 3.6.3 构建工具
Tycho 2.7.5 Eclipse RCP Maven 插件
模板引擎 Thymeleaf 3.0.9 HTML 模板
表达式 OGNL 3.1.12 表达式语言
日志 Log4j 1.2.13 / SLF4J 1.7.25 日志框架
b.源码结构
a.概述
属性 值
Bundle ID com.enuo.rcp.bsr
启动器 bsr.exe
技术架构 Eclipse RCP 3.x
构建工具 Maven + Tycho
b.核心Bundle
bsr/
├── com.enuo.rcp.bsr/ # 主程序插件
│ ├── src/ # 源代码
│ │ └── com/enuo/rcp/bsr/
│ │ ├── product/ # 应用入口
│ │ │ ├── Application.java # 主类
│ │ │ └── ApplicationWorkbenchAdvisor.java
│ │ └── branch/ # 业务代码
│ │ ├── dialogs/ # 对话框
│ │ ├── editors/ # 编辑器
│ │ ├── handlers/ # 处理器
│ │ ├── perspectives/ # 透视图
│ │ └── actions/ # 操作动作
│ ├── build.properties # 构建配置
│ ├── plugin.xml # 插件配置
│ └── pom.xml # Maven 配置
├── com.enuo.rcp.bsr.base/ # 依赖库插件
│ ├── lib/ # 第三方 JAR
│ │ ├── attoparser-2.0.4.jar
│ │ ├── javassist-3.20.0-GA.jar
│ │ ├── ognl-3.1.12.jar
│ │ ├── slf4j-api-1.7.25.jar
│ │ ├── thymeleaf-3.0.9.jar
│ │ └── unbescape-1.1.5.jar
│ └── build.properties
├── com.enuo.rcp.bsr.images/ # 图片资源
├── com.enuo.rcp.bsr.res/ # 静态资源
│ └── resources/
│ └── bsr.properties # 配置文件
├── com.enuo.rcp.bsr.feature/ # 功能特性
│ └── feature.xml
└── com.enuo.rcp.bsr.product/ # 产品配置
├── bsr.product # 产品配置文件
└── pom.xml
c.源码包结构
com.enuo.rcp.bsr/
├── product/ # 应用入口
│ ├── Application.java # 主类(IApplication)
│ └── ApplicationWorkbenchAdvisor.java
├── branch/ # 分支功能(核心)
│ ├── dialogs/ # 对话框
│ │ ├── LoginDialog.java # 登录对话框
│ │ ├── ExpertLoginDialog.java # 评审员登录
│ │ ├── BidProcessDialog.java # 评审流程
│ │ ├── BidRulesDialog.java # 评审规则
│ │ ├── AvoidDialog.java # 回避确认
│ │ └── DiagnosticDialog.java # 诊断工具
│ ├── editors/ # 编辑器
│ │ ├── HomeEditor.java # 首页
│ │ ├── ExpertWorkbenchEditor.java # 评审员项目列表
│ │ ├── LeaderWorkbenchEditor.java # 负责人项目列表
│ │ └── EvaluationConsoleEditor.java # 评审操作台
│ ├── handlers/ # 处理器
│ │ ├── DiagnosticWizard.java # 诊断向导
│ │ └── ...
│ ├── perspectives/ # 透视图
│ │ └── Perspective.java # 主透视图
│ └── actions/ # 操作动作
│ ├── CreateProjectAction.java # 创建项目
│ ├── JoinProjectAction.java # 加入项目
│ ├── OpenBidFileAction.java # 打开文件
│ ├── ZGEditorAction.java # 资格审查
│ ├── JGFEditorAction.java # 技术评分
│ ├── ZGFEditorAction.java # 综合评分
│ └── TPEditorAction.java # 评审汇总
├── utils/ # 工具类
│ ├── IpUtils.java # IP 工具
│ ├── PropertyUtil.java # 属性工具
│ └── ...
└── update/ # 更新功能
└── P2UpdateUtil.java # P2 更新工具
c.打包结构
a.使用 Tycho (Maven) 进行无头构建
product/
├── plugins/ # 所有依赖的插件 JAR
│ ├── org.eclipse.core.runtime_*.jar
│ ├── org.eclipse.swt_*.jar
│ ├── org.eclipse.swt.win32_*.jar
│ └── com.your.company.app_*.jar
├── features/ # Feature 描述文件(如果使用 Feature)
│ └── org.eclipse.rcp_*/
├── configuration/ # OSGi 配置
│ ├── config.ini
│ └── org.eclipse.equinox.simpleconfigurator/
├── .eclipseproduct # 产品信息
├── executable.exe # Windows 启动器
├── executable.ini # 启动配置
└── artifacts.jar # p2 元数据
b.使用 Eclipse IDE 导出一次
zbs/
├── ZBSEdit.exe # 启动器 (326 KB)
├── ZBSEdit.ini # 启动配置
├── artifacts.xml # p2 构件元数据 (41 KB)
├── configuration/ # OSGi 配置目录
│ └── config.ini # OSGi 核心配置
├── features/ # Feature 目录 (13个)
│ ├── org.eclipse.rcp_4.5.0.v20150603-2331/
│ ├── org.eclipse.e4.rcp_1.4.0.v20150603-0857/
│ ├── org.eclipse.emf.ecore_2.12.0.v20160420-0247/
│ ├── org.eclipse.ecf.*.feature_*.*/
│ ├── com.enuo.rcp.zbsx.feature_3.0.0.202404020012/
│ └── com.enuo.rcp.zbsx.product.feature_3.0.0.202404020012/
├── plugins/ # Plugin 目录 (177个)
│ ├── org.eclipse.core.runtime_*.jar
│ ├── org.eclipse.swt_*.jar
│ ├── org.eclipse.swt.win32.win32.x86_*.jar
│ ├── com.enuo.rcp.zbsx*.jar # 你的业务插件
│ └── ...
├── jre/ # 绑定的 JRE (630个文件)
│ ├── bin/ # 可执行文件 (java.exe, javaw.exe)
│ └── lib/ # 运行时库
├── p2/ # p2 安装元数据
│ └── org.eclipse.equinox.p2.engine/
├── ICE_JNIRegistry.dll # JNI 注册表访问库 (64 KB)
├── jacob-1.15-M4-x64.dll # Jacob 64位库 (217 KB)
├── jacob-1.15-M4-x86.dll # Jacob 32位库 (176 KB)
├── jacob-1.18-x64.dll # Jacob 64位库 (205 KB)
├── jacob-1.18-x86.dll # Jacob 32位库 (167 KB)
├── unins000.exe # 卸载程序 (2.5 MB)
└── unins000.dat # 卸载数据 (597 KB)
d.线上环境
a.目标结构分析(已安装 ZBS)
C:\Users\mysla\AppData\Local\Programs\luqiao\zbs\
├── ZBSEdit.exe ← 启动器(原生 exe)
├── ZBSEdit.ini ← 启动配置
├── artifacts.xml ← p2 元数据
├── configuration/ ← OSGi 配置
├── features/ ← 功能集
├── plugins/ ← 插件
├── p2/ ← p2 安装元数据
├── jre/ ← 绑定的 JRE 目录
├── ICE_JNIRegistry.dll ← JNI 库(根目录)
├── jacob-1.15-M4-x64.dll ← JNI 库(根目录)
├── jacob-1.15-M4-x86.dll ← JNI 库(根目录)
├── jacob-1.18-x64.dll ← JNI 库(根目录)
├── jacob-1.18-x86.dll ← JNI 库(根目录)
├── unins000.exe ← 卸载程序(Inno Setup)
└── unins000.dat ← 卸载程序数据
b.关键特征
✅ 有原生启动器 ZBSEdit.exe
✅ 有 JRE 目录
✅ DLL 文件在根目录(不是在 plugins 里)
✅ 有 Inno Setup 卸载程序
02.项目调试
a.使用eclipse 2020-06 R
a.官网
https://www.eclipse.org/downloads/packages/release/2020-06/r
b.乱码问题
方案 优点 缺点 适用性
ftfy库 自动检测+修复,成熟 需要Python环境 ⭐⭐⭐⭐⭐
手动映射表 精确控制 工作量巨大,无法覆盖所有情况 ⭐⭐
IDEA转换 GUI操作简单 批量处理困难,可能误判 ⭐⭐⭐
chardet+编码转换 检测准确 对已损坏文件无效 ⭐
c.Office处理
openpyxl 表格处理
b.编码设置
a.打开偏好设置
Windows: Window → Preferences
Mac: Eclipse → Preferences
b.设置工作空间编码
导航到: General → Workspace
Text file encoding: 选择 Other: UTF-8
点击 Apply 和 Apply and Close
c.20260123,解决方案
GBK.to.UTF-8_v1.6.0.exe
https://github.com/Roger-WIN/GBKtoUTF-8
c.sun语法忽略,修改编译器错误/警告设置
a.打开 Eclipse 偏好设置
菜单栏:Window → Preferences 或快捷键:Alt + W → P
b.导航到 Java 编译器设置
路径:Java → Compiler → Errors/Warnings,找到并展开 Deprecated and restricted API 部分
c.修改以下选项
设置项:Forbidden reference (access rules),原值:Error / Warning,改为:Ignore
设置项:Discouraged reference (access rules),原值:Warning / Error,改为:Ignore
d.应用设置
点击 Apply 和 OK
e.清理并重新编译项目
右键项目 → Project → Clean...,选择你的项目,点击 Clean,等待项目重新构建
d.开发提示
a.产品配置关键点
---
<!-- bsr.product 重要配置 -->
<product>
<!-- 应用类型 -->
<application>com.enuo.rcp.bsr.application</application>
<!-- 只包含 3.x feature,不要包含 E4 -->
<features>
<feature id="org.eclipse.rcp"/>
<!-- 不要添加:<feature id="org.eclipse.e4.rcp"/> -->
</features>
<!-- 禁用 E4 addons -->
<property name="e4.enabledAddons" value=""/>
<!-- 无 -consoleLog,避免黑框 -->
<programArgs></programArgs>
</product>
---
b.build.properties 编码配置
所有插件都需要添加:javacDefaultEncoding.. = UTF-8。
已添加的插件包括:
com.enuo.rcp.bsr/build.properties
com.enuo.rcp.bsr.base/build.properties
com.enuo.rcp.bsr.images/build.properties
com.enuo.rcp.bsr.res/build.properties
c.日志查看
移除 -consoleLog 后,日志位置:workspace/.metadata/.log。
03.相关位置
a.Application右键启动
选择 Run Configurations
-> 左侧选择 Eclipse Application
-> Workspace Data 填写 【默认配置】 --配置1
-> Program arguments 追加 【默认配置】 --配置2
-> VM arguments 追加 【可选,-Dfile.encoding=UTF-8】 --配置3
-> 点击 Run
b.Application启动类
D:\workspace\bid-thrid-tools\bsr\com.enuo.rcp.bsr\src\com\enuo\rcp\bsr\Activator.java
D:\workspace\bid-thrid-tools\tbs\com.sniper.rcp.tbs.product\src\com\sniper\rcp\tbs\product\Application.java
D:\workspace\bid-thrid-tools\zbs\com.enuo.rcp.zbsx.product\src\com\enuo\rcp\zbsx\product\Application.java
-----------------------------------------------------------------------------------------------------
@SuppressWarnings("restriction")
public class Application implements IApplication {
在你的项目中找到 Application 类(实现了 IApplication 接口)
右键点击 Application.java
选择 Run As → Eclipse Application
}
c.Application编译exe
C:\software\jdk-11.0.11\bin\javaw.exe
-----------------------------------------------------------------------------------------------------
D:\workspace\bid-thrid-tools\bsr\com.enuo.rcp.bsr.product\target\products\com.enuo.rcp.bsr.bsr_product\win32\win32\x86_64\
D:\workspace\bid-thrid-tools\tbs\com.sniper.rcp.tbs.product.repository\target\products\tbs\win32\win32\x86_64\
D:\workspace\bid-thrid-tools\zbs\com.enuo.rcp.zbsx.product.repository\target\products\zbs\win32\win32\x86_64\
d.启动exe
C:\Users\mysla\luqiao
C:\Users\mysla\AppData\Local\Programs\luqiao\zbs
-----------------------------------------------------------------------------------------------------
C:\Users\mysla\.m2\p2-local-mirror\eclipse-4.17-2020-06
C:\Users\mysla\.m2\p2-local-mirror\eclipse-2020-06-full
-----------------------------------------------------------------------------------------------------
控制台启动器 (ZBSEditc.exe) 的作用:
在命令行中运行应用
调试时可以看到控制台输出
适合开发和调试阶段
-----------------------------------------------------------------------------------------------------
GUI 启动器 (ZBSEdit.exe) 的作用:
标准的 Windows 应用
用户双击运行
适合生产环境
5.3 环境修复
01.云标室环境
a.问题背景
a.云标室环境检查逻辑
问题现象:在非云标室环境(本地开发环境)下打开小工具时,应用弹出错误提示:提示:请在云标室环境下打开小工具! [退出]。
b.原因分析
硬编码IP检查:云标室环境定义为 10.10.x 网段,本地开发环境通常是 192.168.x.x 或 127.0.0.1,应用通过IP地址判断是否在云标室环境。
c.代码位置
文件:com.enuo.rcp.bsr/src/com/enuo/rcp/bsr/branch/editors/HomeEditor.java
方法:callInterface() (第173-189行)
触发位置:首页加载时调用
d.问题代码
---
private boolean callInterface(){
try {
// 获取当前IP
InetAddress ipAddr = InetAddress.getLocalHost();
String currentIP = ipAddr.getHostAddress();
// 判断是否在10.10网段
if(currentIP.startsWith("10.10.10")){
return true; // 只有在10.10网段才允许打开
}else{
return false; // 其他环境返回false,触发错误弹框
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
---
e.影响
本地开发环境无法打开小工具,影响开发效率,每次调试都需要修改代码或切换网络环境。
b.解决方案(已实施)
a.修改信息
修改文件:D:\workspace\bid-thrid-tools\bsr\com.enuo.rcp.bsr\src\com\enuo\rcp\bsr\branch\editors\HomeEditor.java
修改位置:callInterface() 方法(第173-189行)
b.修改内容
---
private boolean callInterface(){
try {
// 获取当前IP
InetAddress ipAddr = InetAddress.getLocalHost();
String currentIP = ipAddr.getHostAddress();
// 2026-01-18 修改:跳过云标室环境检查,允许在本地环境打开小工具
// 原逻辑:if(currentIP.startsWith("10.10.10")) return true; else return false;
return true; // 直接返回true,跳过所有环境检查
} catch (Exception e) {
e.printStackTrace();
return true; // 出错时也允许打开
}
}
---
c.修改说明
移除IP网段硬编码检查(10.10.10),直接返回true,允许在任何环境下打开小工具,异常处理也返回true,确保出错时不阻止功能使用。
c.验证步骤
a.重新构建应用
---
cd D:\workspace\bid-thrid-tools\bsr
mvn clean package -DskipTests
---
b.测试启动应用
---
cd D:\workspace\bid-thrid-tools\bsr\com.enuo.rcp.bsr.product\target\products\com.enuo.rcp.bsr.bsr_product\win32\win32\x86_64
.\bsr.exe
---
c.验证结果
应用正常启动,无"请在云标室环境下打开小工具"错误提示。
小工具按钮可以正常点击打开。
在本地开发环境(192.168.x.x)下正常工作。
d.技术说明
a.场景对比
场景 IP网段 修改前行为 修改后行为
云标室环境 10.10.x 允许打开 允许打开
本地开发环境 192.168.x.x 拒绝打开(弹框) 允许打开
家庭网络 192.168.x.x 拒绝打开(弹框) 允许打开
其他网络 任意 拒绝打开(弹框) 允许打开
b.安全性考虑
当前修改:适用场景为开发环境和测试环境,安全性为无IP限制,任何环境都可以使用小工具。
c.如需恢复IP限制(生产环境)
a.方式1:使用配置文件
a.配置文件
---
// 在 bsr.properties 中添加
allowLocalTool=true // 或 false
---
b.代码实现
---
private boolean callInterface(){
try {
String allowLocalTool = PropertyUtil.getProperty("allowLocalTool", "true");
if("true".equalsIgnoreCase(allowLocalTool)){
return true;
}
InetAddress ipAddr = InetAddress.getLocalHost();
String currentIP = ipAddr.getHostAddress();
// 只在明确禁用时才检查IP
if(!"true".equalsIgnoreCase(allowLocalTool) && currentIP.startsWith("10.10.10")){
return true;
}else{
return false;
}
} catch (Exception e) {
e.printStackTrace();
return true;
}
}
---
b.方式2:使用系统属性
a.启动命令
---
# 启动时添加参数
.\bsr.exe -DallowLocalTool=false
---
b.代码实现
---
// Application.java start()方法中添加
String allowLocalTool = System.getProperty("allowLocalTool", "true");
CachePool.allowLocalTool = "true".equalsIgnoreCase(allowLocalTool);
---
c.方式3:使用命令行参数
a.启动命令
---
# 启动时添加参数
.\bsr.exe --skip-cloud-check
---
b.代码实现
---
// Application.java start()方法中添加
String[] args = (String[]) context.getArguments().get("application.args");
if(args.length > 0 && args[0].equals("--skip-cloud-check")){
CachePool.skipCloudCheck = true; // 全局标记跳过检查
}
---
e.相关文件修改
文件 修改内容 位置
HomeEditor.java callInterface()方法直接返回true 第173-189行
02.移除启动控制台黑框
a.原因分析
a.根本原因
控制台黑框的出现是由于产品配置中设置了 -consoleLog 参数。
文件位置:com.enuo.rcp.bsr.product/bsr.product
问题配置(第 23 行):<programArgs>-consoleLog</programArgs>
b.技术说明
参数 作用 副作用
-consoleLog 将 Eclipse 日志输出到控制台 强制显示控制台窗口
(无此参数) 日志输出到 .metadata/.log 文件 无控制台窗口
Eclipse Launcher 行为:当检测到 -consoleLog 参数时,Eclipse launcher 会创建一个控制台窗口。即使使用 javaw.exe(无控制台版本的 JVM),仍会显示黑框。这是 -consoleLog 的预期行为,便于开发者查看实时日志。
c.问题描述
问题现象:双击 bsr.exe 启动应用时,同时出现两个窗口:1. 黑框控制台窗口(CMD/控制台) 2. 图形界面应用窗口(Eclipse RCP GUI)。
用户体验:控制台黑框影响用户体验,对于普通用户来说显得不专业,希望只显示图形界面。
b.解决方案
a.修改产品配置文件
文件:[bsr/com.enuo.rcp.bsr.product/bsr.product](../../bsr/com.enuo.rcp.bsr.product/bsr.product)
修改位置:第 23 行
b.修改前
---
<launcherArgs>
<vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
</vmArgsMac>
<programArgs>-consoleLog</programArgs>
<vmArgs>-Dfile.encoding=UTF-8
...
---
c.修改后
---
<launcherArgs>
<vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
</vmArgsMac>
<programArgs></programArgs>
<vmArgs>-Dfile.encoding=UTF-8
...
---
d.关键变化
将 <programArgs>-consoleLog</programArgs> 改为 <programArgs></programArgs>,即删除 -consoleLog 参数。
c.实施步骤
a.修改配置文件
---
# 编辑产品配置文件
notepad D:\workspace\bid-thrid-tools\bsr\com.enuo.rcp.bsr.product\bsr.product
---
找到第 23 行,删除 -consoleLog。
b.重新构建项目
---
cd D:\workspace\bid-thrid-tools\bsr
mvn clean package -DskipTests
---
c.验证修改
检查生成的 bsr.ini 文件:
---
type D:\workspace\bid-thrid-tools\bsr\com.enuo.rcp.bsr.product\target\products\com.enuo.rcp.bsr.bsr_product\win32\win32\x86_64\bsr.ini
---
预期结果(-consoleLog 已被移除):
---
-startup
plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1300.v20200819-0940
-vmargs ← 这里直接是 -vmargs,没有 -consoleLog
-Dfile.encoding=UTF-8
...
---
d.测试运行
---
# 双击运行
D:\workspace\bid-thrid-tools\bsr\com.enuo.rcp.bsr.product\target\products\com.enuo.rcp.bsr.bsr_product\win32\win32\x86_64\bsr.exe
---
预期效果:只显示图形界面窗口,无控制台黑框,应用正常启动和运行。
d.日志查看方案
a.移除 -consoleLog 后如何查看日志?
方式 日志位置 说明
工作区日志文件 workspace/.metadata/.log Eclipse 平台日志
Log4j 日志 控制台(如需要可重新添加 -consoleLog) 应用自定义日志
b.临时启用控制台日志(调试用)
如果需要临时查看控制台日志进行调试:
方案 A:手动修改 bsr.ini
---
# 在 bsr.ini 第 4 行后添加
-startup
plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1300.v20200819-0940
-consoleLog ← 添加这一行
-vmargs
---
方案 B:命令行参数
---
# 从命令行启动,添加 -consoleLog 参数
bsr.exe -consoleLog
---
方案 C:重新构建(调试版本)
---
<!-- 在 bsr.product 中重新添加 -->
<programArgs>-consoleLog</programArgs>
---
然后重新运行 mvn clean package。
e.影响分析
a.用户体验改进
方面 修改前 修改后
启动窗口 2个(黑框 + GUI) 1个(仅 GUI)
专业度 有黑框显得不专业 纯 GUI,更专业
日志可见性 实时可见 需查看日志文件
b.功能影响
功能 影响 说明
应用启动 无影响 正常启动
日志记录 无影响 仍记录到 .metadata/.log
调试体验 需适应 开发时需查看日志文件
c.适用场景
推荐移除 -consoleLog(当前修改):生产环境发布,最终用户使用,不需要实时查看日志的场景。
保留 -consoleLog:开发调试阶段,需要实时监控日志的场景,问题排查阶段。
03.Eclipse开发环境启动BSR应用
a.问题描述
a.问题现象
在 Eclipse IDE 中右键 Application.java → Run As → Eclipse Application 后:应用启动成功(控制台显示正常运行),没有错误日志,看不到任何 UI 界面。
b.典型表现
控制台输出:中文字体设置成功: Microsoft YaHei UI,工作区检查已跳过,[其他正常日志...]。
但是:桌面上没有应用窗口,任务栏没有应用图标,Alt + Tab 也找不到窗口。
c.问题描述
解决在 Eclipse 中启动 BSR 应用后看不到 UI 界面的问题
b.根本原因
a.工作区冲突
问题:BSR 应用使用了 Eclipse IDE 的工作区。
Eclipse IDE 工作区(开发环境使用):D:\workspace\bid-thrid-tools\workspace
BSR 应用工作区(应用运行时使用):应该独立,但实际被 IDE 占用
冲突后果:应用状态与 IDE 状态混淆,Workbench 无法正确初始化,UI 窗口无法正常显示。
b.技术解释
Eclipse RCP 应用启动时需要:创建独立的 Display 和 Shell,初始化自己的 Workbench,加载插件和扩展点。
如果与 Eclipse IDE 共用工作区:IDE 的 Workbench 已经存在,应用的 Workbench 无法正确创建,导致 UI 不可见。
c.解决方案
a.方案一:配置独立工作区(推荐用于开发调试)
a.步骤
1. 打开运行配置:Run → Run Configurations...
2. 找到或创建配置:左侧选择 Eclipse Application,找到 BSR 相关的配置,或点击 New 创建。
3. 设置工作区:切换到 Arguments 标签页,在 VM arguments 或 Program arguments 中添加:-data D:\workspace\bid-thrid-tools\bsr\workspace。
或使用相对路径(更便携):-data workspace。
4. 应用并运行:点击 Apply,点击 Run。
b.验证
启动后应该看到:应用窗口正常显示,标题:2021版电子评标工具,控制台输出:中文字体设置成功: Microsoft YaHei UI。
b.方案二:从产品配置启动(推荐)
a.步骤
1. 在 Project Explorer 中找到 com.enuo.rcp.bsr.product 项目
2. 展开,找到 bsr.product 文件
3. 右键点击 bsr.product
4. 选择 Run As → Eclipse Application
b.优点
产品配置中已包含所有必要设置,自动使用独立工作区,更接近实际运行环境。
c.方案三:直接运行已构建的 exe(最简单)
a.适用场景
不需要调试代码,只需验证功能,快速测试应用。
b.步骤
---
# 直接双击运行
D:\workspace\bid-thrid-tools\bsr\com.enuo.rcp.bsr.product\target\products\com.enuo.rcp.bsr.bsr_product\win32\win32\x86_64\bsr.exe
---
或从命令行:
---
cd D:\workspace\bid-thrid-tools\bsr\com.enuo.rcp.bsr.product\target\products\com.enuo.rcp.bsr.bsr_product\win32\win32\x86_64
.\bsr.exe
---
c.优点
无需配置,启动速度快,与生产环境一致。
d.工作区配置对比
a.不设置独立工作区(有问题)
Eclipse IDE 工作区: D:\workspace\bid-thrid-tools\workspace → BSR 应用也使用这个工作区 → 冲突!UI 不显示。
b.设置独立工作区(正常)
Eclipse IDE 工作区: D:\workspace\bid-thrid-tools\workspace
BSR 应用工作区: D:\workspace\bid-thrid-tools\bsr\workspace → 各自独立,正常工作。
e.完整运行配置示例
a.Eclipse Application 配置
Main 标签页:Project: com.enuo.rcp.bsr.product,Application: com.enuo.rcp.bsr.application
Arguments 标签页:
Program arguments:-data workspace
VM arguments:-Dfile.encoding=UTF-8,-Dsun.jnu.encoding=UTF-8
Plug-ins 标签页:选择: Launch with: workspace plug-ins only (或 all plug-ins),验证: 点击 "Validate Plug-ins" 确保无错误
f.常见问题排查
a.应用启动但看不到 UI
检查清单:
检查项 命令/操作 预期结果
工作区是否独立 检查运行配置的 -data 参数 不是 IDE 工作区
窗口是否隐藏 Alt + Tab 能找到应用窗口
进程是否存在 任务管理器查看 java.exe 有 BSR 相关进程
控制台有错误 查看 Console 视图 无 ERROR 日志
b.启动失败
可能原因:
1. Target Platform 未配置:解决:Window → Preferences → Plug-in Development → Target Platform,添加 Eclipse 2020-06 仓库
2. 依赖缺失:解决:在运行配置的 Plug-ins 标签页,选择 "Launch with all plug-ins"
3. 工作区被锁定:解决:删除工作区目录下的 .metadata/.lock 文件,或使用新的工作区目录
c.中文乱码
确保以下配置:1. 项目编码:UTF-8,2. 工作区编码:UTF-8,3. VM 参数:-Dfile.encoding=UTF-8
04.P2离线库制作方案
a.p2 离线库关键信息
a.离线库位置
C:\Users\mysla\.m2\p2-local-mirror\eclipse-4.17-2020-06\
b.离线库规模
项目 数值
Features 数量 75 个
Plugins 数量 720 个
总大小 346 MB
源位置 C:\software\eclipse (Eclipse 4.16.0)
c.运行原理
┌─────────────┐ 依赖请求 ┌──────────────┐
│ Maven项目 │ ────────────────> │ Nexus 私服 │
└─────────────┘ └──────────────┘
▲ │
│ │ 查询代理仓库
│ ▼
│ ┌──────────────┐
│ │ Maven Central│
│ └──────────────┘
│
│ 如果本地缓存存在
└─────────────── Maven检查 _remote.repositories
└── 记录的仓库ID = "nexus"
└── 当前配置有 "nexus"
└── 使用本地缓存 ✓
b.如何使用离线库
a.操作说明
修改三个项目的 pom.xml 文件以指向本地离线仓库。
b.BSR 项目配置
a.文件路径
D:\workspace\bid-thrid-tools\bsr\pom.xml
b.配置内容
---
<repositories>
<!-- 本地 p2 离线仓库 -->
<repository>
<id>eclipse-2020-06-local</id>
<url>file:///C:/Users/mysla/.m2/p2-local-mirror/eclipse-4.17-2020-06</url>
<layout>p2</layout>
</repository>
</repositories>
---
c.TBS 项目配置
a.文件路径
D:\workspace\bid-thrid-tools\tbs\pom.xml
b.配置内容
---
<repositories>
<!-- 本地 p2 离线仓库 -->
<repository>
<id>eclipse-2020-06-local</id>
<url>file:///C:/Users/mysla/.m2/p2-local-mirror/eclipse-4.17-2020-06</url>
<layout>p2</layout>
</repository>
</repositories>
---
d.ZBS 项目配置
a.文件路径
D:\workspace\bid-thrid-tools\zbs\pom.xml
b.配置内容
---
<repositories>
<!-- 本地 p2 离线仓库 -->
<repository>
<id>eclipse-2020-06-local</id>
<url>file:///C:/Users/mysla/.m2/p2-local-mirror/eclipse-4.17-2020-06</url>
<layout>p2</layout>
</repository>
</repositories>
---
c.Maven settings.xml 配置
a.文件位置
C:\Users\mysla\.m2\settings.xml
b.关键配置
---
<!-- 镜像配置 -->
<mirrorOf>external:*</mirrorOf>
---
c.配置说明
external:* 表示不镜像 file:// 协议的仓库,允许使用本地离线库。
d.测试命令
a.BSR 项目测试
---
cd D:\workspace\bid-thrid-tools\bsr
mvn clean package -DskipTests
---
b.TBS 项目测试
---
cd D:\workspace\bid-thrid-tools\tbs
mvn clean package -DskipTests
---
c.ZBS 项目测试
---
cd D:\workspace\bid-thrid-tools\zbs
mvn clean package -DskipTests
---
d.断网测试
---
mvn clean package -o -DskipTests
---
5.4 构建eclipse
01.常见版本
a.核心概念
a.RCP是什么
RCP (Rich Client Platform) 不是 Eclipse 的某个发行版本,而是 Eclipse 平台的应用开发框架。
b.常见混淆点
概念 类型 说明
Eclipse SDK 发行版本 完整的 Eclipse 开发环境
Eclipse IDE for Java 发行版本 面向 Java 开发者的 IDE
Eclipse RCP 框架/技术 用来开发应用的框架
Eclipse for RCP/Plug-in Developers 发行版本 用来开发 RCP 应用的 IDE
b.Eclipse发行版本对比
a.Eclipse SDK (Software Development Kit)
最完整的发行版本
├── RCP 框架 (核心)
├── JDT (Java Development Tools)
├── PDE (Plug-in Development Environment)
├── Git 集成 (EGit)
├── Maven 集成 (M2E)
└── 所有其他工具
b.Eclipse IDE for Java Developers
面向 Java 开发者
├── RCP 框架
├── JDT
├── 基础 Git 支持
└── 核心 Java 工具
c.Eclipse for RCP and Plug-in Developers
面向 RCP 应用开发者
├── RCP 框架
├── PDE (插件开发工具)
├── WindowBuilder (UI 设计器)
├── RCP 测试工具
└── RCP 文档和示例
d.Eclipse RCP (Runtime)
仅包含 RCP 运行时
├── Equinox (OSGi 框架)
├── SWT (原生 UI 工具包)
├── JFace (UI 框架)
└── 核心工作台
c.版本图示
a.生态系统
┌────────────────────────────────────────────────────────┐
│ Eclipse 生态系统 │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌──────────────┐ │
│ │Eclipse IDE │ │ 你的应用 │ │ 其他 RCP │ │
│ │ (开发者) │ │ (BSR等) │ │ 应用 │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬───────┘ │
│ │ │ │ │
│ └────────┬───────┴────────────────┘ │
│ ↓ │
│ ┌──────────────────────┐ │
│ │ Eclipse RCP 框架 │ │
│ │ (Workbench + JFace) │ │
│ └───────────┬──────────┘ │
│ ↓ │
│ ┌──────────────────────┐ │
│ │ SWT + Equinox │ │
│ └──────────────────────┘ │
│ │
└────────────────────────────────────────────────────────┘
b.版本包含关系图
┌──────────────────────────────────────────────────────────┐
│ Eclipse SDK │
│ (最完整,300+ MB) │
│ ┌────────────────────────────────────────────────────┐ │
│ │ Eclipse IDE for Java Developers │ │
│ │ (~200 MB) │ │
│ │ ┌──────────────────────────────────────────────┐ │ │
│ │ │ Eclipse for RCP/Plug-in Developers │ │ │
│ │ │ (~180 MB) │ │ │
│ │ │ ┌────────────────────────────────────────┐ │ │ │
│ │ │ │ Eclipse RCP │ │ │ │
│ │ │ │ (~50 MB) │ │ │ │
│ │ │ │ ┌──────────────────────────────────┐ │ │ │ │
│ │ │ │ │ Equinox + SWT + JFace │ │ │ │ │
│ │ │ │ │ (核心) │ │ │ │ │
│ │ │ │ └──────────────────────────────────┘ │ │ │ │
│ │ │ └────────────────────────────────────────┘ │ │ │
│ │ └──────────────────────────────────────────────┘ │ │
│ └────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────┘
c.Eclipse平台与RCP架构的兼容性
Eclipse平台 3.xRCP 4.xRCP 混合架构
3.x 完全支持 不支持 不支持
4.0-4.16 完全支持 完全支持 完全支持
4.17 BSR使用 完全支持 完全支持
4.18+ 可能有E4冲突 完全支持 完全支持
02.使用定版
a.版本选型
a.报错
你在 JDK 1.7.0_80 环境下,以下三个包无法识别/报错:
sun.misc.BASE64Encoder
sun.misc.BASE64Decoder
com.sun.management.OperatingSystemMXBean
org.eclipse.ui.internal.ide.model.WorkbenchAdapterBuilder
-------------------------------------------------------------------------------------------------
经发现,这IDE工具版本过高
b.版本信息
Eclipse IDE for RCP and RAP Developers
Version: 2019-03 (4.11.0)
Build id: 20190314-1200
-------------------------------------------------------------------------------------------------
经发现,20260114,我使用Mars版本
c.版本兼容性问题
Eclipse 版本 代号 平台版本 发布年份 最低 JDK 要求 支持 JDK 7? 支持 JDK 8?
3.6 Helios 3.6 2010 JDK 5 ✅ 是 ✅ 是
3.7 Indigo 3.7 2011 JDK 6 ✅ 是 ✅ 是
4.2 Juno 4.2 2012 JDK 6 ✅ 是 ✅ 是
4.3 Kepler 4.3 2013 JDK 6 ✅ 是 ✅ 是
4.4 Luna 4.4 2014 JDK 7 ✅ 是 ✅ 是
4.5 Mars 4.5 2015 JDK 7 ✅ 是 ✅ 是
4.6 Neon 4.6 2016 JDK 8 ❌ 否 ✅ 是
d.OSGi 兼容性规则
场景 是否兼容
Bundle 要求 JavaSE-1.7,运行在 JDK 8 上 ✅ 兼容(向下兼容)
Bundle 要求 JavaSE-1.8,运行在 JDK 7 上 ❌ 不兼容(无法向上兼容)
简单理解:新的 JDK 可以运行旧的代码,但旧的 JDK 无法运行要求新特性的代码。
e.通用步骤
检查 Problems 视图:查看所有错误和警告的详细信息。
刷新项目:右键项目 -> Refresh,或按F5。
清理项目:右键项目 -> Clean...,然后重新构建。
尝试快速修复 (Quick Fix):在有错误的地方按Ctrl+1,查看自动修复建议。
b.各种图标
e.红色叉号 (X)
a.描述
通常表示严重的编译错误(Error),代码有语法问题。
b.解决
检查 Problems视图,双击错误定位到代码行修改。
b.红色感叹号 (!)
a.描述
可能表示警告(Warning)或配置问题。
b.解决
检查 Build Path:右键项目 -> Properties -> Java Build Path -> Libraries,查看是否有红叉的JAR包,通常是路径引用错误或文件丢失,需要删除后重新添加或更新。
更新 Maven 项目:右键项目 -> Maven -> Update Project...,修复pom.xml同步问题。
配置 JDK:右键项目 -> Properties -> Java Build Path -> Libraries -> Add Library -> JRE System Library,确认JDK路径正确。
检查编译器设置:右键项目 -> Properties -> Java Compiler,确保相关设置正确。
c.红色小感叹号 (!) (jar包上)
a.描述
指该JAR包被引用但实际不存在。
b.解决
在Build Path中移除该JAR包或更新引用。
03.IDE配置
a.编码问题
a.全局设置(推荐首先设置)
a.打开偏好设置
Windows: Window → Preferences
Mac: Eclipse → Preferences
b.设置工作空间编码
导航到: General → Workspace
Text file encoding: 选择 Other: UTF-8
点击 Apply 和 Apply and Close
c.设置 JSP/XML/HTML 编码
General → Editors → Text Editors → Spelling
Web → HTML Files → Encoding: 设置为 ISO 10646/Unicode(UTF-8)
Web → XML Files → Encoding: 设置为 ISO 10646/Unicode(UTF-8)
Web → CSS Files → Encoding: 设置为 ISO 10646/Unicode(UTF-8)
d.设置 Java 编译器编码
Java → Compiler → Building
Encoding: 设置为 UTF-8
(或添加 -encoding UTF-8 到编译器参数)
b.项目级别设置
右键点击项目 bsr
选择: Properties → Resource
Text file encoding: 选择 Other: UTF-8
点击 Apply 和 Apply and Close
c.对单个文件转换编码(如果已有文件乱码)
a.方法A:使用 Eclipse 转换
右键点击乱码的文件(如 DiagnosticWizard.java)
选择 Properties → Resource
Text file encoding:
先尝试改为 GBK 或 GB18030,点击 Apply
如果显示正常,再改回 UTF-8
或者直接使用 Convert to UTF-8 选项
b.方法B:使用文本编辑器手动转换
用 Notepad++ 或 VSCode 打开文件
编码 → 转为 UTF-8
保存
d.重新导入项目
如果设置后仍有问题,可以重新导入项目:
删除项目(不删除源代码)
右键项目 → Delete
取消勾选 "Delete project contents on disk"
重新导入
File → Import → General → Existing Projects into Workspace
选择 D:\workspace\bid-thrid-tools\bsr
确保编码设置为 UTF-8
b.Eclipse 访问限制设置步骤
a.方法一:修改编译器错误/警告设置
a.打开 Eclipse 偏好设置
菜单栏:Window → Preferences 或快捷键:Alt + W → P
b.导航到 Java 编译器设置
路径:Java → Compiler → Errors/Warnings,找到并展开 Deprecated and restricted API 部分
c.修改以下选项
设置项:Forbidden reference (access rules),原值:Error / Warning,改为:Ignore
设置项:Discouraged reference (access rules),原值:Warning / Error,改为:Ignore
d.应用设置
点击 Apply 和 OK
e.清理并重新编译项目
右键项目 → Project → Clean...,选择你的项目,点击 Clean,等待项目重新构建
b.方法二:修改特定 JAR 的访问规则
a.打开 Build Path 配置
右键项目 → Properties,选择 Java Build Path,选择 Libraries 标签页
b.定位目标库
展开 JRE System Library,展开 rt.jar(或模块化 JDK 中的对应项)
c.设置 Access Rules
点击 Access rules(如果没有,点击 Edit 按钮),添加规则:sun/misc/** 可访问性为 Accessible,com/sun/management/** 可访问性为 Accessible
d.完成配置
点击 Finish → Apply → OK
c.方法三:针对 Eclipse 内部 API
a.适用对象
针对 org.eclipse.ui.internal.ide.model.WorkbenchAdapterBuilder 等内部 API
b.打开配置
右键项目 → Properties,选择 Java Build Path → Libraries
c.找到依赖
找到并展开 Eclipse 插件依赖,展开 Plug-in Dependencies,找到 org.eclipse.ui.ide
d.设置规则
在 Access Rules 中添加规则:org/eclipse/ui/internal/** → Accessible
d.验证是否生效
a.检查错误状态
设置完成后,打开有报错的 Java 文件,查看红色错误标记是否消失
b.手动清理项目
菜单栏选择 Project → Clean...,重新构建整个工作空间
c.重启程序
如果仍有问题,尝试重启 Eclipse
e.快速检查清单
1.Window → Preferences → Java → Compiler → Errors/Warnings
2.Deprecated and restricted API → Forbidden reference → Ignore
3.Deprecated and restricted API → Discouraged reference → Ignore
4.Apply → OK
5.Project → Clean...
6.检查错误是否消失
c.在 Eclipse 中运行 RCP 应用
a.第一步:确保 BSR 项目已导入到 Eclipse
a.打开与确认
打开 Eclipse
确认 bsr 相关项目已经在 Project Explorer 中:
com.enuo.rcp.bsr
com.enuo.rcp.bsr.base
com.enuo.rcp.bsr.images
com.enuo.rcp.bsr.res
com.enuo.rcp.bsr.feature
com.enuo.rcp.bsr.product
b.导入操作
如果没有,请导入:
File → Import → General → Existing Projects into Workspace
选择 D:\workspace\bid-thrid-tools\bsr 目录
b.第二步:配置 Target Platform(重要!)
a.操作1
Window → Preferences → Plug-in Development → Target Platform
点击 Add 或编辑现有平台
选择 Nothing: Start with an empty target definition
点击 Add → Software Site
b.操作2
输入:
Name: Eclipse 2020-06
Location: https://download.eclipse.org/releases/2020-06/
选择需要的组件(或全选),点击 Finish
勾选新创建的目标平台,点击 Apply
c.第三步:启动方式
a.方式1:从产品配置启动(推荐)
找到 com.enuo.rcp.bsr.product 项目
展开,找到 bsr.product 文件
右键点击 bsr.product
选择 Run As → Eclipse Application
或选择 Debug As → Eclipse Application(调试模式)
b.方式2:从插件启动
找到 com.enuo.rcp.bsr 项目
展开 src/com/enuo/rcp/bsr/product
右键点击 Application.java
选择 Run As → Eclipse Application
c.方式3:使用运行配置
点击顶部工具栏的 Run 下拉菜单
选择 Run Configurations...
左侧选择 Eclipse Application
点击 New 创建新配置
Name: 输入 BSR Application
Project: 浏览选择 com.enuo.rcp.bsr.product
Application: 选择 com.enuo.rcp.bsr.application
Arguments 标签页:
VM arguments: 添加 -Dfile.encoding=UTF-8
点击 Run
d.第四步:验证启动
启动成功后,应该看到:
应用窗口标题:"2021版电子评标工具"
控制台输出:类似 中文字体设置成功: Microsoft YaHei UI
e.常见问题
a.问题1:找不到 "Run As → Eclipse Application"
原因:项目没有被识别为 Eclipse 插件项目
解决:
右键项目 → Properties
选择 Eclipse Plug-in Development → Nature
确认勾选了 Plug-in Developer Resources
点击 Apply
b.问题2:启动时报错 "Application could not be found"
原因:产品配置中的 Application ID 不匹配
解决:
打开 com.enuo.rcp.bsr.product/bsr.product
找到第 4 行左右:
<product ... application="com.enuo.rcp.bsr.application" ...>
确认 plugin.xml 中有对应的 application 定义
c.问题3:依赖解析失败
原因:Target Platform 未正确配置
解决:
Window → Preferences → Plug-in Development → Target Platform
确保当前平台已加载并激活
点击 Reload Target Platform 按钮
f.最简单的启动方法
如果以上配置太复杂,直接运行已经构建好的可执行文件:
---
# 直接运行 exe
D:\workspace\bid-thrid-tools\bsr\com.enuo.rcp.bsr.product\target\products\com.enuo.rcp.bsr.bsr_product\win32\win32\x86_64\bsr.exe
---
这是之前用 Maven 构建好的版本,不需要 Eclipse 也能运行。
g.Application.java 查找指南
a.文件位置
D:\workspace\bid-thrid-tools\bsr\com.enuo.rcp.bsr\src\com\enuo\rcp\bsr\product\Application.java
b.BSR 与 ZBS 的区别
BSR 项目路径:
bsr\com.enuo.rcp.bsr\src\com\enuo\rcp\bsr\product\Application.java (插件名: com.enuo.rcp.bsr)
ZBS 项目路径:
zbs\com.enuo.rcp.zbsx.product\src\com\enuo\rcp\zbsx\product\Application.java (插件名: com.enuo.rcp.zbsx.product)
c.在 Eclipse 中找到 BSR 的 Application.java
方法1(资源管理器):
在 Project Explorer 中找到 com.enuo.rcp.bsr 项目
展开项目
展开 src 文件夹
依次展开:com.enuo.rcp.bsr → product
就能看到 Application.java
方法2(快捷键):
使用 Ctrl+Shift+R (Open Resource) 直接搜索 Application.java
然后选择 com.enuo.rcp.bsr 项目中的那个
04.编译部署
a.部署方式
a.汇总
部署方式 适用场景 复杂度 推荐指数
Eclipse IDE 导出 快速原型、小规模部署 ⭐ ⭐⭐⭐
Tycho + Maven 生产环境、CI/CD ⭐⭐⭐ ⭐⭐⭐⭐⭐
P2 更新站点 需要在线更新 ⭐⭐⭐⭐ ⭐⭐⭐⭐
手动部署 特殊环境、离线部署 ⭐⭐ ⭐⭐
b.Eclipse IDE 导出
┌─────────────────────────────────────────┐
│ Eclipse RCP Application │
│ ┌───────────────────────────────────┐ │
│ │ OSGi Framework (Equinox) │ │
│ │ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │ │
│ │ │Bundle│ │Bundle│ │Bundle│ │...│ │ │
│ │ └─────┘ └─────┘ └─────┘ └─────┘ │ │
│ └───────────────────────────────────┘ │
└─────────────────────────────────────────┘
c.docker运行
┌─────────────────────────────────────────┐
│ Windows 主机 │
│ ┌───────────────────────────────────┐ │
│ │ Docker Desktop │ │
│ │ ┌─────────────────────────────┐ │ │
│ │ │ Windows 容器 │ │
│ │ │ ┌───────────────────────┐ │ │ │
│ │ │ │ BSR 应用 │ │ │ │
│ │ │ │ - JDK 11 │ │ │ │
│ │ │ │ - Office │ │ │ │
│ │ │ │ - Jacob DLL │ │ │ │
│ │ │ └───────────────────────┘ │ │ │
│ │ │ ↓ │ │ │
│ │ │ ┌───────────────────────┐ │ │ │
│ │ │ │ RDP 服务器 │ │ │ │
│ │ │ └───────────────────────┘ │ │ │
│ │ └─────────────────────────────┘ │ │
│ └───────────────────────────────────┘ │
│ ↓ │
│ RDP 客户端连接 │
└─────────────────────────────────────────┘
b.使用 Tycho (Maven) 进行无头构建
a.原理
通过 Maven + Tycho 插件,从 `.product` 文件自动构建出可独立运行的 RCP 应用。
b.优点
完全不需要打开 Eclipse IDE
可以集成到 CI/CD 流程
命令行一键构建
支持多平台导出(Windows/Linux/macOS)
标准化的 Maven 构建流程
c.底层运行
┌─────────────────────────────────────────────────────────┐
│ Maven 3.6.3 │
│ ┌───────────────────────────────────────────────────┐ │
│ │ Tycho 2.7.5 (RCP 插件) │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ p2 目标平台 (Eclipse 2020-06) │ │ │
│ │ │ │ │ │
│ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │
│ │ │ │ bsr │ │ bsr.base │ │ bsr.prod │ │ │ │
│ │ │ │ plugin │ │ plugin │ │ product │ │ │ │
│ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ └───────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
c.使用 Eclipse IDE 导出一次
a.原理
a.说明
在 Eclipse IDE 中使用产品导出向导导出一次,之后直接运行导出的可执行文件。
b.操作
1.在 Eclipse 中打开产品配置文件,com.enuo.rcp.bsr/bsr.product
2.选择 "Exporting" 标签页,The product includes native launcher artifacts ✅已勾选,这是生成 exe 的关键配置!
3.点击 "Export Product",直接点击导出向导链接: 在 Exporting 部分,点击 "Eclipse Product export wizard" 链接
4.选择导出目录
5.完成
b.RCP产品打包要点
a.基本结构
启动器 (.exe)
配置文件
plugins/ (插件)
features/ (功能集)
configuration/ (OSGi 配置)
b.可选组件
jre/ (绑定 JRE)
*.dll (JNI 本地库)
p2/ (更新元数据)
c.打包方式
简单: 目录复制
中等: ZIP 压缩
专业: Inno Setup 安装程序
d.分发策略
完整包: 适合小规模
在线安装: 适合大规模
c.产品大小分析
a.ZBS产品组成(334MB)
JRE: ~150 MB (45%)
Plugins: ~120 MB (36%)
Features: ~50 MB (15%)
JNI DLLs: ~1 MB (0.3%)
其他: ~13 MB (4%)
b.优化建议
使用 JRE 组件裁剪 (可减少 ~50 MB)
移除不需要的语言包
使用 ProGuard 压缩 JAR
d.内置JRE
jre/
├── bin/
│ ├── java.exe # Java 控制台启动器
│ ├── javaw.exe # Java 窗口启动器 (无控制台)
│ ├── server/ # JVM 服务端模式库
│ └── client/ # JVM 客户端模式库
└── lib/
├── rt.jar # 运行时类库 (Java 8)
├── modules # Java 模块 (Java 9+)
└── ...
-------------------------------------------------------------------------------------------------
绑定的 JRE 优势:
用户无需预先安装 Java
确保使用特定版本的 Java
避免版本冲突
简化部署流程
e.底层运行
┌─────────────────────────────────────────────────────────────┐
│ Maven + Tycho 构建 │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 构建产物 (334 MB) │
│ products/zbs/win32/win32/x86_64/ │
│ ├── ZBSEdit.exe │
│ ├── plugins/ (177个 JAR) │
│ ├── features/ (13个) │
│ ├── configuration/ │
│ ├── jre/ (如果绑定) │
│ └── *.dll (JNI 库) │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 打包选项 │
├─────────────────┬───────────────────┬───────────────────────┤
│ 目录复制 │ ZIP 压缩 │ Inno Setup │
│ → 直接使用 │ → 解压使用 │ → setup.exe 安装 │
│ │ │ │
│ 无安装过程 │ 无安装向导 │ 专业安装向导 │
│ 无卸载程序 │ 无卸载程序 │ 自动卸载 │
│ 手动创建快捷方式 │ 手动创建快捷方式 │ 自动创建快捷方式 │
└─────────────────┴───────────────────┴───────────────────────┘
d.Inno Setup导出方案
a.一键构建命令
---
cd D:\workspace\bid-thrid-tools-bak\zbs
mvn clean package
---
b.构建流程
Maven 构建流程
├─ 1. tycho-compiler-plugin → 编译代码
├─ 2. tycho-p2-director-plugin → 生成产品
│ ├─ materialize-products → 创建产品目录
│ └─ archive-products → 打包为 ZIP
│
├─ 3. exec-maven-plugin
│ ├─ copy-dlls → 复制 DLL 到根目录
│ ├─ copy-jre → 复制 JRE 到产品目录
│ └─ generate-installer → 运行 Inno Setup 编译器
│
└─ 4. 构建完成
├─ target/products/ → 产品文件
├─ target/zbs-setup-*.exe → 安装程序
└─ target/*.zip → 产品压缩包
c.构建产物
target/
├── products/ # 产品文件
│ └── com.enuo.rcp.zbsx.product.zbsx_product/
│ └── win32/
│ └── win32/
│ └── x86_64/
│ ├── ZBSEdit.exe # 启动器
│ ├── ZBSEdit.ini # 配置
│ ├── artifacts.xml
│ ├── jacob-*.dll # JNI 库(根目录)
│ ├── jre/ # JRE 目录
│ ├── features/
│ ├── plugins/
│ ├── configuration/
│ └── p2/
│
├── zbs-setup-3.0.0.exe # 安装程序
└── com.enuo.rcp.zbsx.product-3.0.0-SNAPSHOT.zip # 产品压缩包
d.用户安装流程
用户运行 zbs-setup-3.0.0.exe
↓
显示安装向导
↓
选择安装目录(默认: C:\Program Files\luqiao\zbs)
↓
选择快捷方式选项
↓
复制文件
├─ ZBSEdit.exe
├─ *.dll
├─ jre/
├─ features/
├─ plugins/
└─ ...
↓
创建快捷方式
├─ 开始菜单
├─ 桌面(可选)
└─ 快速启动栏(可选)
↓
生成卸载程序
├─ unins000.exe
└─ unins000.dat
↓
完成安装
e.卸载流程
用户运行卸载程序
├─ 从"添加/删除程序"运行
└─ 或直接运行 unins000.exe
↓
显示卸载向导
↓
删除文件
├─ ZBSEdit.exe
├─ *.dll
├─ jre/
├─ features/
├─ plugins/
└─ ...
↓
删除快捷方式
├─ 开始菜单
├─ 桌面
└─ 快速启动栏
↓
删除注册表项
↓
完成卸载
f.流程图示
┌─────────────────────────────────────────────────────────────┐
│ 完整打包流程 │
├─────────────────────────────────────────────────────────────┤
│ 1. Maven Tycho 构建 │
│ ↓ 生成产品基础结构(exe + plugins + features) │
│ │
│ 2. Maven 插件复制 DLL │
│ ↓ 将 jacob-*.dll 从 plugin 复制到根目录 │
│ │
│ 3. Maven 插件复制 JRE │
│ ↓ 将 JRE 从系统复制到产品目录 │
│ │
│ 4. Maven 调用 Inno Setup 编译器 │
│ ↓ 生成安装程序(.exe) │
│ │
│ 5. 用户运行安装程序 │
│ ↓ 安装到目标目录 │
│ │
│ 6. Inno Setup 自动生成卸载程序 │
│ → unins000.exe + unins000.dat │
└─────────────────────────────────────────────────────────────┘
e.pom镜像
a.官方镜像
<repositories>
<!-- Eclipse p2 仓库 - 2020-06 版本 (Eclipse 4.17) -->
<!-- ZBS 使用纯 3.x 架构,使用 4.17 版本的库 -->
<!-- 注意:阿里云镜像的p2仓库结构不完整,无法用于Tycho构建,必须使用官方源 -->
<repository>
<id>eclipse-2020-06</id>
<url>https://download.eclipse.org/releases/2020-06/</url>
<layout>p2</layout>
</repository>
<!-- Eclipse 更新站点 - 4.17 版本 -->
<repository>
<id>eclipse-2020-06-update</id>
<url>https://download.eclipse.org/eclipse/updates/4.17/</url>
<layout>p2</layout>
</repository>
<!-- ECF 更新站点 -->
<repository>
<id>ecf-updates</id>
<url>https://download.eclipse.org/rt/ecf/3.14.17/site.p2/</url>
<layout>p2</layout>
</repository>
</repositories>
b.本地镜像
<repositories>
<!-- 本地 p2 离线仓库 - 从 C:\software\eclipse 拷贝 -->
<!-- 使用本地离线库,避免联网下载,提高构建速度 -->
<!-- 位置: C:\Users\mysla\.m2\p2-local-mirror\eclipse-4.17-2020-06 -->
<repository>
<id>eclipse-2020-06-local</id>
<url>file:///C:/Users/mysla/.m2/p2-local-mirror/eclipse-2020-06-full</url>
<layout>p2</layout>
</repository>
<!-- JustJ JRE p2 离线仓库 - 用于打包 JRE 到产品中 -->
<!-- 下载脚本位置: aries/chapter09/Download-JustJ-JRE.ps1 -->
<repository>
<id>justj-jre11</id>
<url>file:///C:/Users/mysla/.m2/p2-local-mirror/justj-jre11-full</url>
<layout>p2</layout>
</repository>
</repositories>
5.5 梳理需求
01.需求收集
a.评标工具
a.对象
评标流程
b.设计
首页 筛选框、表格(采购单位、方案编号、方案名称...)、操作(评标)
查看标书 方案基本信息、包件信息、录入会议信息
评标-人员信息 专家确认信息、评标专家回避承诺书、
评标-人员投票 专家组长、评标组长
评标-资格审查 根据材料逐个对供应商进行评审,确认无误,进入下一阶段
评标-谈判报价 启动谈判后,开始报价,可延长报价,根据报价来决定此轮报价
评标-技术打分 根据材料逐个对供应商进行评审得分,确认无误,进入下一阶段
评标-价格评审 由专家组长勾选推荐供应商,来确定结果,来进入下一阶段
评标-评审报告 一键生成PDF,将结果送至项目负责人处
b.投标工具
a.对象
供应商
b.设计
供应商报名 由电子商务平台进入
投标-编辑 新建投标书,选择投标项目,然后填写信息后,合并PDF、验章,生成标书
投标-上传 上传前,设置标书密码
c.编标工具
a.对象
代理机构
b.设计
新建招标书 导入项目
查看标书 项目编号、项目名称、包组编号、采购类型、...
02.功能清单
a.编标小工具
a.登陆
登陆编标小工具
b.进入招标文件编辑工具
新建招标书
我的标书库
模版管理
c.新建招标书
导入项目 导入采购项目
完成表单 输入新建招标书相关信息
选择模版 选择新建招标书的模版文件
完成 进入新建招标书详情页
d.编辑招标书
项目信息
标书正文
更新云数据
从云数据获取数据
导出word
章节内容提取 展示域与值
保存
导出word
生成pdf
e.资格审查(第二信封)
新增审查标准与审查项 新增审查标准与审查项
使用模版
存为模版
上移
下移
删除 删除新增审查标准与审查项
b.投标小工具
a.登陆
供应商登陆小工具
b.新建投标书
选择招标书
已报名项目列表展示
下载
c.投标书列表展示
展示列表
查看公告
查看招标文件
打开:打开对应的招标项目
删除:删除对应的已报名的招标项目
d.导入投标文件
导入商务技术PDF投标文件
导入价格PDF投标文件
商务技术标书正文
e.评标导航
根据左侧采购单位设置的专家评审项目,将自己上传上来的资料绑定对应的评审项目,所有绑定完成,
即可进入下一步(左侧绑定什么,专家看到的资料就是什么,请认真核对是否绑定正确)"
f.确认报价
选择税率
输入报价相关信息
输入报价
保存
重置物料清单
生成正式投标文件
g.上传投标文件
输入密码
确认上传
c.评标小工具
a.进入评标厅
登陆 输入专家手机号和参与码进行登陆
项目负责人 点击以项目负责人身份进入评标小工具
专家 点击以专家身份进入评标小工具
b.进入评标
参与项目列表展示 参与项目列表展示
评标 点击评标按钮进入对应项目开始评标
c.确认信息
专家信息展示 专家信息展示
确认信息 确认信息专家信息
d.评标专家回避承诺书
评标专家回避承诺书展示 展示评标专家回避承诺书,包含采购单位/项目名称/专家等信息
勾选已阅读专家回避承诺书 确认专家点击签署回避承诺书
下一步 进入下一步流程
e.评标专家廉洁自律承诺书
评标专家廉洁自律承诺书展示 展示评标专家回避承诺书,包含采购单位/项目名称/专家等信息
勾选已阅读专家回避承诺书 确认专家点击签署回避承诺书
下一步 进入下一步流程
f.选择专家组长投票
展示专家列表 展示推荐专家名称、投票进度、专家组长名称、专家列表
投票 选者要投票的专家进行投票
进入下一环节 待专家组长确认后进入下一环境
g.资格性审查
投标文件展示 展示投标文件
上一家 切换到上一家投标文件
下一家 切换到下一家投标文件
查看招标书 查看招标书
评审指标列表 评审指标列表
通过 通过对应指标
不通过 不通过对应指标
汇总提交 所有供应商评审完毕后点击汇总提交
h.确认无误,完成资格性评审
确认无误,完成资格性评审
解锁 如需修改点击“解锁”进行修改
关闭 关闭当前界面
进入下一步 (等待各专家评审完毕后,由专家组长)点击“进入下一步”
i.谈判报价
自动谈判 由专家组长开启谈判,并且仅在桥谈判、询比、单一流程(谈判+最低价)流程中有
结束谈判
废标
跳过谈判
查看报价表
开始第二轮报价
延长第二轮报价
结束第二轮报价
供应商报价列表展示
作废
发送信息
j.商务打分
投标文件展示 展示投标文件
上一家 切换到上一家投标文件
下一家 切换到下一家投标文件
查看招标书 查看招标书
评审指标列表 评审指标列表
通过 通过对应指标
不通过 不通过对应指标
汇总提交 所有供应商评审完毕后点击汇总提交
k.确认无误,完成商务评分
确认无误,完成商务评分
解锁 如需修改点击“解锁”进行修改
关闭 关闭当前界面
进入下一步 (等待各专家评审完毕后,由专家组长)点击“进入下一步”
l.查看商务评分汇总表
点击“确认结果,并进入下一环节”
重新评审环节
废标
m.技术评分打分
投标文件展示 展示投标文件
上一家 切换到上一家投标文件
下一家 切换到下一家投标文件
查看招标书 查看招标书
评审指标列表 评审指标列表
通过 通过对应指标
不通过 不通过对应指标
汇总提交 所有供应商评审完毕后点击汇总提交
n.确认无误,完成技术评分
确认无误,完成商技术评分
解锁 如需修改点击“解锁”进行修改
关闭 关闭当前界面
进入下一步 (等待各专家评审完毕后,由专家组长)点击“进入下一步”
o.查看技术评分汇总表
点击“确认结果,并进入下一环节”
重新评审环节
废标
p.价格评审
保存评审结果
进入下一环节
q.推荐中标人
投标人列表展示
勾选推荐中标人
确认无误,进入下一环节
重新评审该环节
环节跳转
关闭
r.人生成评标报告
评标历史展示 展示评审报告、专家签到表、评分明细表、承诺书等
确认报告 项目经理确认报告
质疑报告 项目经理提出质疑
03.BSR系统
a.评标大厅
a.左上角
刷新
更多搜索
b.表格列表
采购单位 方案编号 方案名称 编制人 采购方式 预算金额(元) 申报时间 审核时间 审核状态 流程状态 操作
山西路桥建设集团有限公司招标采购中心 CG202101130001 公111采购计划2 XX 公开招标 600,000.00 2021-01-12 13:11:18 2021-01-12 13:12:20 审核通过 开评标 【评标大厅】
c.方案基本信息
采购方案名称 方案编号 是否框架协议
方案类型 招采类型 项目预算金额(元)
采购方式 计划预算金额(元) 币种
是否选取招标代理 立项依据
承办方式 采购实施部门
代理机构 是否双信封招标
开标评标地点 是否收取资格预审文件费用
评审办法
是否暗标项目
标书是否收费
是否收取投标保证金
项目简介
开标评标地点
备注
d.包件信息
序号包件名称 最少响应供应商个数 包件标书费(元) 投标保证金(元) 包件说明 操作
1 jt131采购计gk计划001 3 评标大厅
e.录入会议信息
好视通会议室号:123
好视通会议室密码:123
f.包件信息
a.主表
序号 包件编号 包件名称 最少响应供应商个数 是否有关联的短名单目录库 短名单目录库 项目包件预算金额(元) 交货时间 交货地址 包件说明
1 1 jt131采购计gk计划001 3 是 钢筋短名单目录 400,000.00 2021-01-13 山西省太原市迎泽区文庙街道太原集团A栋202
b.子表
序号 物资设备服务编码 物资设备服务名称 计量单位 采购数量 含税预算单价(元) 含税金额(元) 非税预算单价(元) 非税金额(元) 市场单价(元) 备注
1 00000000001 普通热轧带肋钢筋HRB3356mm 吨 20 20,000.00 400,000.00 19,400.00 388,000.00 21,000.00
b.进入评标
a.说明
等项目负责人分发评标资料后点击“评标”开始评标
b.菜单名:专家评标项目列表
项目编号 项目名称 包组编号 采购方式 项目负责人 操作 备注
CG202101130001 jt131采购计gk计划001 1 公开招标 中心管理员 【评标】 评标资料获取进度:完成
c.确认信息
a.说明
核实信息无误后点击“确认信息”
c.菜单名:专家评标操作台
CG202101130001_itit131采购计gk计划001
刷新 当前步骤:请确认专家信息
-------------------------------------------------------------------------------------------------
请确认评标专家信息,如有不符请与项目负责人联系!
-------------------------------------------------------------------------------------------------
专家信息
姓名:解博 手机号:18636905787
d.评标专家回避承诺书
a.说明
阅读“评标专家回避承诺书”,并勾选“我已阅读评标专家回避承诺书”后,再点击下一步
b.内容
评标专家回避承诺书
-------------------------------------------------------------------------------------------------
本人受海逸恒安项目管理有限公司邀请,担任项目山西路桥物资采购项目1的评委。本人郑重承诺,有下列情形之一的,应主动申请回避,如有违反,同意取消本人评标专家资格,并承担相应的法律责任:
1、投标人或投标人王要负责人的近亲属;
2、项目主管部门或监督管理部门的人员;
3、与投标人有其他社会关系或者经济利益关系,可能影响对投标公正评审的;
4、曾因在招标、评标以及其他与招标投标活动有关活动中从事违法行为而受过行政处罚或刑事处罚的;
5、其他依法应当回避的人员。
特此承诺!
承诺人(签字):解博
-------------------------------------------------------------------------------------------------
我已阅读评标专家回避承诺书。
下一步
e.评标专家廉洁自律承诺书
a.说明
阅读“评标专家廉洁自律承诺书”,并勾选“我已阅读评标专家廉洁自律承诺书”后,再点击下一步
b.内容
评标专家廉洁自律承诺书
-------------------------------------------------------------------------------------------------
本人作为山西路桥物资采购项目1项目的评审委员会成员,谨在此郑重承诺:
1、严格遵守《中华人民共和国招标投标法》、《中华人民共和国保密法》等国家法律及国家有关部门关于招投标的法规规章,维护国家利益;
2、客观、公正地履行职责,遵守职业道德,严格按照招标文件规定的评标标准、办法和有关法律、法规的规定进行评标,对所提出的评审意见承担个人责任;
3、履行相关的保密义务,遵守评标纪律,不私下接触投标人,不收受他人的财物或其他好处,不透漏对投标文件的评审和比较、中标候选人的推荐情况以及与评标有关的其他情况;
4、自觉抵制违法违规的招投标活动,协助、配合专家库管理部门的监督、检查工作;
5、如有违反上述承诺的行为发生,自愿接受主管部门处理。
特此承诺!
承诺人(签字):解博
-------------------------------------------------------------------------------------------------
我已阅读评标专家廉洁自律承诺书。
下一步
f.投票
a.说明
选择其中一位专家点击"投票"
b.菜单名:专家评标操作台
CG202101130001_itit131采购计gk计划001
刷新 当前步骤:推荐专家组长进行中,请进行投票
-------------------------------------------------------------------------------------------------
请为您所支持的专家投票,也可以为自己投票,得票数量最高者将担任专家组长,每人每次只能投一票。
请您进行第[1]轮投票!
结果提示:专家票数最多,成为该评标专家组长!
-------------------------------------------------------------------------------------------------
姓名 部门 专家类型 操作
专家二二二 推荐专家 投票
专家一号 推荐专家 投票
-------------------------------------------------------------------------------------------------
请确认评标专家信息,如有不符请与项目负责人联系!
专家信息
姓名:解博 手机号:18636905787
c.等待专家投票结束后,点击关闭
推荐组长投票进行中...
您推选【专家一号】为专家组长
【专家一号】成为本次评标组长!
当前专家总数量(位):3
已投票专家数量(位):3
g.资格性审查
a.操作1
a.说明
①参照左边的材料,逐个评审审查项。
②点击下一家供应商进行评审。
③各供应商评审完毕后,点击汇总提交。
b.界面
马霞 马中
---------------------------------------------------------------------------------------------
当前评审供人:马中
上一家 下一家 查看招标书 汇总提交
---------------------------------------------------------------------------------------------
选择对比供应商:查看
---------------------------------------------------------------------------------------------
评审指标 是否通过
注册资本达1000w 通过 不通过
无劳动纠纷 通过 不通过
b.操作2
a.说明
点击“确认无误,完成资格性评审”,如需修改点击“解锁”进行修改
b.界面
正在评审中。。。 提示: 符合 不符合 未完成
---------------------------------------------------------------------------------------------
评审指标 A001 A002 A003
资格审查第一项 通过 通过 通过
资格审查第二项 通过 通过 通过
---------------------------------------------------------------------------------------------
温馨提示:
一旦确认提交后,将无法修改本次评审分数。提交后,耐心等待组长的审核!
若对结果有异议可以通过“解锁”后,进行修改。再使用“保存”进行保存修改后结果。
---------------------------------------------------------------------------------------------
保存 解锁 确认无误,完成资格性评审 关闭
c.操作3
a.说明
(等待各专家评审完毕后,由专家组长)点击“进入下一步”
b.界面
评审完成,请耐心等待组长审核! 提示: 符合 不符合 未完成
---------------------------------------------------------------------------------------------
评审指标 A001 A002 A003
资格审查第一项 通过 通过 通过
资格审查第二项 通过 通过 通过
---------------------------------------------------------------------------------------------
温馨提示:
一旦确认提交后,将无法修改本次评审分数。提交后,耐心等待组长的审核!
若对结果有异议可以通过“解锁”后,进行修改。再使用“保存”进行保存修改后结果。
---------------------------------------------------------------------------------------------
保存 解锁 请耐心等待组长审核... 进入下一步 关闭
d.操作4
a.说明
查看资格性评审汇总表,点击"确认结果,并进入下一环节"
b.界面
XXXXXX