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

   2011-05-23 41

  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盘)
  
  .SELECT 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   

  .SELECT 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.   

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

  10 replacements   

  .REPLACE 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   

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

 
举报收藏 0打赏 0
 
更多>同类技术
推荐图文
推荐技术
点击排行
网站首页  |  网站简介  |  服务体系  |  会员服务  |  技术咨询  |  合作伙伴  |  联系方式  |  汇款方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  豫ICP备2020034376号-2