📄 dy_lhyear.prg
字号:
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* 文件名: DY_LHYEAR.PRG
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MENUFLAG = .T.
SFGZ = SFGZ1
WAIT WINDOW AT 10 , 30 NOWAIT TIMEOUT 2 ;
'正在统计按类别汇总的工资年度累计表,请稍候...'
use &gzb
COPY TO gztmp1
USE gztmp1
M = 1
DO WHILE M < VAL(MM)
IF M < 10
YM1 = YY + '0' + ALLTRIM(STR(M))
ELSE
YM1 = YY + ALLTRIM(STR(M))
ENDIF
GZB1 = 'gz' + YM1
if file('&gzb1..dbf')
appe from &gzb1
ENDIF
M = M + 1
ENDDO
USE
ADD TABLE gztmp1
ALTER TABLE gztmp1 ADD COLUMN ZC N ( 11 , 2 ) DEFAULT 0
ALTER TABLE gztmp1 ADD COLUMN ZZ N ( 11 , 2 ) DEFAULT 0
ALTER TABLE gztmp1 ADD COLUMN XJ N ( 11 , 2 ) DEFAULT 0
SELECT GZTMP1
USE
USE gztmp1
DO WHILE .NOT. EOF()
DO CASE
CASE ALLTRIM(FS) = '转存银行'
repl zc with &sfgz
CASE ALLTRIM(FS) = '转账'
repl zz with &sfgz
CASE ALLTRIM(FS) = '邮寄工资' .OR. ALLTRIM(FS) = '现金'
repl xj with &sfgz
ENDCASE
SKIP
ENDDO
INDEX ON LBH + BMH + ZGBH TAG LBZGH
TOTAL ON LBH + BMH + ZGBH TO gztmp2
USE gztmp2
INDEX ON LBH TAG LBH
TOTAL ON LBH TO lhtmp
use &lbhzb
COPY TO gztmp STRUCTURE
USE gztmp
N = AFIELDS(FF,'gztmp')
USE
ADD TABLE gztmp
FLAG = .F.
FOR I = 1 TO N
IF UPPER(ALLTRIM(FF(I,1))) = 'ZZ'
FLAG = .T.
EXIT
ENDIF
ENDFOR
IF .NOT. FLAG
ALTER TABLE gztmp ADD COLUMN ZC N ( 11 , 2 ) DEFAULT 0
ALTER TABLE gztmp ADD COLUMN ZZ N ( 11 , 2 ) DEFAULT 0
ALTER TABLE gztmp ADD COLUMN XJ N ( 11 , 2 ) DEFAULT 0
ENDIF
= DBSETPROP('gztmp.zc','field','caption','转存银行')
= DBSETPROP('gztmp.zz','field','caption','转账')
= DBSETPROP('gztmp.xj','field','caption','邮寄工资和现金')
USE gztmp
APPEND FROM lhtmp
USE IN 0 gztmp2
SELECT GZTMP
GO 1
DO WHILE .NOT. EOF()
SELECT GZTMP2
COUNT FOR LBH = GZTMP.LBH TO RS
SELECT GZTMP
REPLACE LBRS WITH RS
SKIP
ENDDO
SELECT GZTMP2
USE
SELECT GZTMP
USE
USE gztmp
INDEX ON LBH TAG LBH
USE IN 0 (LBB)
sele &lbb
SET ORDER TO lbh
SELECT GZTMP
set rela to lbh into &lbb
repl all lbmc with &lbb..lbmc
SET RELATION TO
CLOSE TABLE
= DBSETPROP('gztmp.lbh','field','caption','类别编号')
= DBSETPROP('gztmp.lbmc','field','caption','类别名称')
= DBSETPROP('gztmp.lbrs','field','caption','人数')
USE (GZXMB)
GO 8
DO WHILE .NOT. EOF()
FIELNAME = 'gztmp.' + ALLTRIM(FIELD_NAME)
= DBSETPROP(FIELNAME,'field','caption',NAME)
SKIP
ENDDO
USE
DROP TABLE gztmp1
DELETE File lhtmp.dbf
DELETE File gztmp2.dbf
DELETE File gztmp2.cdx
CLOSE TABLE
USE gztmp ORDER lbh
DO FORM f_dylhy
RETURN
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -