📄 dpcl41.prg
字号:
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* 文件名: DPCL41.PRG <-- 本文件由 UnFoxAll 创建
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TMP_NIAN = RIGHT(NIAN,2)
DEFINE WINDOW WINDP_1 FROM 2 , 10 TO 24 , 75 COLOR SCHEME 2 FLOAT SHADOW TITLE ;
'打平处理'
MOVE WINDOW WINDP_1 CENTER
BDATNAME99 = 'B99' + TMP_NIAN + YUE
BDATNAME01 = 'B01' + TMP_NIAN + YUE
XMKNAME99 = 'XM99'
XMKNAME01 = 'XM01'
USE IN 0 LIB\ZB99.DAT
USE IN 0 LIB\ZB99A.DAT
USE IN 0 LIB\ZB99B.DAT
if fiLE("DAT\&bdatname01..DAT")
use dat\&bdatname01..dat in 0
ELSE
MESSAGEBOX('相关数据不存在,无法进行打平处理!!',64,'提示')
CLOSE DATABASES
RETURN
ENDIF
ACTIVATE WINDOW WINDP_1
STORE 0 TO HJXDA1 , QZXHJ
HJXMDH = ' '
STORE 1 TO LIN
STORE 1 TO COL
@ 1 , 7 SAY ;
' 正在打平 ' + LTRIM(STR(M_DQDH)) + ' 地区 第 ' + LTRIM(STR(QQQ)) + ' 栏数据'
M_DPBZ = 1
SELECT (BDATNAME99)
COPY TO DPTMP FOR DQDH = M_DQDH AND BLX1 = M_BLX1
USE IN 0 DPTMP
SELECT (BDATNAME01)
COPY TO DPTMP1 FOR DQDH = M_DQDH AND BLX1 = M_BLX1
USE IN 0 DPTMP1
SELECT ZB99B
ZAP
SELECT ZB99
SCAN FOR RQ = '19' + TMP_NIAN
SELECT ZB99B
LOCATE FOR XH = ZB99.XH
IF .NOT. FOUND()
APPEND BLANK
REPLACE XH WITH ZB99.XH
ENDIF
ENDSCAN
SELECT ZB99B
SCAN
M_XH = XH
@ 1 , 40 SAY '公式代号 ' + ALLTRIM(STR(M_XH))
STORE 0 TO HJXDA1 , HJXDA2
M_BZAA = .T.
M_BZBB = .T.
M_XMDHAA = ''
DO DPLJS
DO DPRJS
IF M_BZAA = .F. AND M_BZBB = .F.
IF HJXDA1 <> HJXDA2
CHASHU = ABS(HJXDA1 - HJXDA2)
M_DPBZ = 0
IF HJXDA1 > HJXDA2
STORE '多' TO DUOSHAO
ELSE
STORE '少' TO DUOSHAO
ENDIF
?? CHR(7)
?? CHR(7)
IF LIN > 12
WAIT ''
@ 2 , 0 CLEAR TO 15 , 60
LIN = 1
ENDIF
@ LIN , COL SAY SPACE(55)
@ LIN , COL SAY '公式' + ALLTRIM(STR(M_XH)) + '比业务状况表' + M_XMDHAA + DUOSHAO
@ LIN , COL + 36 SAY ABS(CHASHU) PICTURE '999,999,999,999,999.99'
LIN = LIN + 1
M_DPBZ = 0
ENDIF
ENDIF
ENDSCAN
SELECT (BDATNAME99)
REPLACE SJDW WITH M_DPBZ FOR XMDH = 'dpbz' AND DQDH = M_DQDH AND BLX1 = M_BLX1
?? CHR(7)
?? CHR(7)
@ 14 , 16 SAY ' 打 平 完 毕!'
WAIT
DEACTIVATE WINDOW WINDP_1
RELEASE WINDOW WINDP_1
SELECT ZB99
USE
SELECT ZB99A
USE
SELECT ZB99B
USE
SELECT DPTMP
USE
SELECT DPTMP1
USE
SELECT (BDATNAME01)
USE
DELETE File DPTMP.DBF
DELETE File DPTMP1.DBF
RETURN
PROCEDURE DPLJS
SELECT ZB99A
SCAN FOR XH = M_XH
M_XMDHAA = M_XMDHAA + ALLTRIM(FH) + ALLTRIM(XMDH)
M_BZAA = .F.
M_FH = FH
M_XMDH = XMDH
SELECT DPTMP1
GO TOP
SCAN FOR XMDH = M_XMDH
IF QQQ = 1
IF M_FH = '+'
HJXDA2 = HJXDA2 + DA5
ELSE
HJXDA2 = HJXDA2 - DA5
ENDIF
ELSE
IF M_FH = '+'
HJXDA2 = HJXDA2 + DA6
ELSE
HJXDA2 = HJXDA2 - DA6
ENDIF
ENDIF
EXIT
ENDSCAN
ENDSCAN
ENDPROC
*------
PROCEDURE DPRJS
SELECT ZB99
SCAN FOR XH = M_XH
M_BZBB = .F.
M_FH = FH
M_XMDH = XMDH
SELECT DPTMP
GO TOP
SCAN FOR XMDH = M_XMDH
IF QQQ = 1
IF M_FH = '+'
HJXDA1 = HJXDA1 + DA1
ELSE
HJXDA1 = HJXDA1 - DA1
ENDIF
ELSE
IF M_FH = '+'
HJXDA1 = HJXDA1 + DA2
ELSE
HJXDA1 = HJXDA1 - DA2
ENDIF
ENDIF
EXIT
ENDSCAN
ENDSCAN
ENDPROC
*------*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -