PB人事管理系统开发与应用

版权申诉
0 下载量 176 浏览量 更新于2024-10-15 收藏 22KB RAR 举报
资源摘要信息:"PB(PowerBuilder)是一种由Sybase公司开发的著名集成开发环境(IDE),主要用于开发客户端/服务器数据库应用和分布式企业级应用。它支持多种数据库系统,如Oracle、SQL Server、Sybase等。PB的强大之处在于其数据窗口技术(DataWindow),这是一种允许开发者快速创建复杂数据界面和用户交互的技术。 在本资源中,开发者专注于使用PowerBuilder创建一个名为‘人事管理系统’的应用。人事管理系统(HRMS,Human Resources Management System)是一种专门针对企业人力资源管理需求设计的软件系统,用于管理员工的详细信息、薪资、考勤、招聘、培训、绩效评估以及其他与人力资源相关的事务。 从文件名列表可以看出,这个PB开发的HRMS包括以下关键组件和文件: - hrms.pbl:这是一个PowerBuilder库文件,包含人事管理系统中使用到的数据窗口对象、用户对象、函数和其他对象。在PowerBuilder中,库文件用于组织和复用代码,提高开发效率。 - htms.pbt:这可能是一个脚本文件,通常包含用于人事管理系统的自定义脚本代码,用于执行特定的业务逻辑或流程。 - 人事管理系统.pbw:这是一个PB工作空间文件,包含整个应用的环境设置和配置信息。它允许开发者在PB IDE中管理和开发整个系统。 ***.txt:此文件可能是一个文本文件,提供了与***网站相关的信息。PUDN(Programmer's Union Download Network)是一个提供各种编程资源下载的网站,可能提供了本资源中人事管理系统开发所需的附加材料或代码示例。 使用PB开发人事管理系统时,开发者可能会利用以下关键技术: - 数据窗口(DataWindow)控件:用于显示和编辑数据库中数据的可视化控件。 - 用户对象(User Objects):用于创建可复用的界面组件,提高开发效率。 - 事务对象(Transaction Objects):用于管理与数据库的交互操作,确保数据的一致性和完整性。 - 窗口(Windows)和菜单(Menus):用于构建应用的用户界面和导航结构。 - 脚本(Scripting):PB使用一种脚本语言来编写事件驱动的程序代码,实现业务逻辑。 在PB环境下开发人事管理系统的优势包括: - 易于使用:PowerBuilder提供了拖放界面设计工具,使开发者能够轻松创建界面。 - 快速开发:使用数据窗口技术可以大幅度减少编写复杂用户界面的代码量。 - 跨平台兼容性:虽然PB主要运行在Windows平台上,但开发的应用可以在多种操作系统上运行。 - 数据库访问:PB提供了多种数据库连接方式,使开发者能够轻松集成不同的数据库系统。 需要注意的是,PowerBuilder和人事管理系统项目随着技术发展可能会更新或被新的工具和技术替代。因此,开发人员应持续关注行业动态,并考虑新技术,如Web Services和SOA(面向服务的架构),以增强系统的功能和兼容性。"
2023-06-09 上传

select c.area_name,c.mon,c.count,ifnull(c1.count1,0),ifnull(c1.count1,0)/count * 100 from ( select a.area_name,MONTH(pb.wlpb_create_time) mon,count(pb.id) count from bc_company_info b inner join ( select b.id from wk_ledger_produce_gather g left join bc_company_info b on b.id =g.bci_id where g.wlpg_year =2022 group by b.id HAVING sum(g.wlpg_total_produce) >=30 UNION select b.id from wk_plan_info p left join wk_plan_danger d on d.wpi_id = p.id left join bc_company_info b on b.id = p.bci_id where p.wpi_year = 2022 group by b.id HAVING sum(d.wpd_this_produce) >30) b1 on b1.id = b.id left join wk_ledger_produce_bill pb on pb.bci_id = b.id left join sys_area a on a.id = b.bci_city where pb.wlpb_create_time >'2023-01-01 00:00:00' group by b.bci_city,MONTH(pb.wlpb_create_time) ) c left join ( select a.area_name,MONTH(pb.wlpb_create_time) mon,count(pb.id) count1 from bc_company_info b inner join ( select b.id from wk_ledger_produce_gather g left join bc_company_info b on b.id = g.bci_id where g.wlpg_year =2022 group by b.id HAVING sum(g.wlpg_total_produce) >=30 UNION select b.id from wk_plan_info p left join wk_plan_danger d on d.wpi_id = p.id left join bc_company_info b on b.id = p.bci_id where p.wpi_year = 2022 group by b.id HAVING sum(d.wpd_this_produce) >30) b1 on b1.id = b.id left join wk_ledger_produce_bill pb on pb.bci_id = b.id left join sys_area a on a.id = b.bci_city where pb.wldb_end_from != 1 and pb.wlpb_create_time >'2023-01-01 00:00:00' group by b.bci_city,MONTH(pb.wlpb_create_time)) c1 on c.area_name = c1.area_name and c.mon = c1.mon 这段SQL怎么优化

2023-06-09 上传