📄 dy_bmyear.prg
字号:
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* 文件名: DY_BMYEAR.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 BMH + ZGBH TAG BMZGH
TOTAL ON BMH + ZGBH TO gztmp2
USE gztmp2
INDEX ON BMH TAG BMH
TOTAL ON BMH TO bhtmp
use &bmhzb
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 bhtmp
USE IN 0 gztmp2
SELECT GZTMP
GO 1
DO WHILE .NOT. EOF()
SELECT GZTMP2
COUNT FOR BMH = GZTMP.BMH TO RS
SELECT GZTMP
REPLACE BMRS WITH RS
SKIP
ENDDO
SELECT GZTMP2
USE
SELECT GZTMP
USE
USE gztmp
INDEX ON BMH TAG BMH
USE IN 0 (BMB)
sele &bmb
SET ORDER TO bmh
SELECT GZTMP
set rela to bmh into &bmb
repl all bmmc with &bmb..bmmc
SET RELATION TO
CLOSE TABLE
= DBSETPROP('gztmp.bmh','field','caption','部门编号')
= DBSETPROP('gztmp.bmmc','field','caption','部门名称')
= DBSETPROP('gztmp.bmrs','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 gztmp2.dbf
DELETE File gztmp2.cdx
DELETE File bhtmp.dbf
CLOSE TABLE
USE gztmp ORDER bmh
DO FORM f_dybhy
RETURN
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -