淮北工程机械网

当前位置:主页 >> 工程机械厂家

印刷企业信息管理系统分析下

发布时间:2021年08月18日    点击:[0]人次

印刷企业信息管理系统分析(下)

3.实例

例1有职称数据库ZC.DBF,其数据库结构为:日期(D,8),职称(C,6),级差(N.6,2)。另有职工简况数据库ZGJK.DBF,其数据库结构为:职工号(C,6),姓名(C,8),性别(C,2),出生日期(D,8),婚否(L,1),职称(C,6),基本工资(N,7,2)。

按某印刷企业规定,职工每两年晋升一级工资。要求进行工资调级,并根据每个职工的任职年限是否达到两年,晋升相应职称的工资级差,修改职工简况库中的基本工资字段。为了计算职工调级后的基本工资,在职工简况数据库中增加一个新字段:晋升日期(D,8)。为了避免重复晋升,应标志出各个记录本次是否已经调整过工资,需另增加一个字段:已调(L.1)。具体操作如下:

.SET DEFAULT TO C (设置当前盘符为C盘)

.selec 1

.USE ZC (在1区打开职称库)

.LIST

RECORD#日期 职称 级差

1 01/01/99 五级职员 30.00

2 01/01/99 工程师 20.00

3 01/01/99 高级工 30.00

4 01/01/99 四级职员 40.00

5 01/01/99 中级工 20.00

6 01/01/99 初级工 14.00

.INDEX ON职称TO ZCINDEX (为关联作准备)

6 RECORDS INDEX

.selec 2

.USE ZGJK (在2区打开简况库)

.SET RELATION TO职称INTO A (关联逻辑是:B一>职称=A一>职称)

.GO TOP

.LIST NEXT 4姓名,基本工资,职称,A一>级差,已调

RECORD#姓名 基本工资 职称 A一>级差已调

1  董新桥 805.12 中级工 20.00 .F.

2  李小明 904.35 工程师 20.00 .F.

3  张琳 604.28 初级工 14.00 .F.

4  程红 825.60 五级职员 30.00 .F.

.replac ALL基本工资WITH基本工资十A一>级差FOR YEAR(A一>日期)-YEAR(晋升日期)>=2.AND..NOT.已调

10 replacements

.replac ALL已调WITH.T.FOR YEAR(A一>日期)-YEAR(晋升日期)>=2

10 replacements

.GO TOP

.LIST NEXT 4姓名,基本工资,职称,A->级差,已调

RECORD#姓名 基本工资 职称 A->级差已调

1  董新桥 825.12 中级工 20.00 .T.

2  李小明 904.35 工程师 20.00 .F.

3  张琳 618.28 初级工 14.00 .T.

4  程红 825.60 五级职员 30.00 .F.

.CLOSE DATAbase

例2有生产管理数据库SCGL,其数据库结构为订单编号(C,10),客户名称(C,10),印刷要求(C,55),制版周期(D,8),印刷周期(D,8),印后周期(D,8)。成品管理数据库CPGL结构为:订单编号(C,10),客户名称(C,10),交货方式(C,8),交货日期(D,8),是否交齐(L,1),剩余数量(N,5)。财务管理数据库CWGL结构为:订单编号(C,10),客户名称(C,10),是否交定金<L,1),应收款(N,6),实收款(N,6),余额期限(D,8),是否结清(L,1)。

①统计超过余额期限,未结清印刷费的客户名称及总金额。

具体操作如下:

.USE CWGL

.LIST客户名称FOR DATE()>余额期限.AND..NOT.是否结清

RECORD# 客户名称

1 康泰保险

4 华中激光协和医院

6 光大银行

8 武汉广场

10 数学通讯

.SUM余额TO YOU FOR DATE>余额期限.AND..NOT.是否结清

6 records summed

余额

25982

②查询所有记录中超过余额期限、数量已交齐的印刷业务的订单编号、客户名称、印刷要求、是否结清、未结清、即时催款,并逻辑删除已结清的记录。

.selec 1

.USE SCGL

.INDEX ON订单编号TO AB (为数据库并接作准备)

9 records indexed

.SELE 2

.USE CPGL

.INDEX ON客户名称TO CD (为数据库并接作准备)

10 records indexed

.SELE 3

.USE CWGL

.SET RELATION TO订单编号INTO A (数据库并接)

.SET RELATION TO客户名称INTO B ADDITIVE(数据库并接)

.LIST是否结清,A->订单编号,B->客户名称,A->印刷要求FOR DATE()>余额期限.AND.B->是否交齐

RECORD#是否结清 A->订单编号 B->客户名称

1 .F. 1999012101 康泰保险

2 .T. 1999031001 教育出版社

4 .F. 1999081201 华中激光

5 .F. 1999101502 协和医院

7 .T. 1999032106 金马家具

8 .F. 1999061010 武汉广场

.LIST B->客户名称,A->印刷要求FOR DATE()>余额期限.AND.B->是否交齐

B->客户名称 A->印刷要求

康泰保险 正度4开招

声明:

本文来源于网络版权归原作者所有,仅供大家共同分享学习,如作者认为涉及侵权,请与我们联系,我们核实后立即删除。