📄 ypjp.prg
字号:
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* 文件名: YPJP.PRG <-- 本文件由 UnFoxAll 创建
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PARAMETER CPBH , PZH , TYPE , SL , DPTID , LSJ
LOCAL HAND1 , OLDAREA , HAND2 , I , YPKCMXID , YPMXPZH , RULE_
OLDAREA = SELECT()
HAND1 = 0
DO HANDBUSY
SQLSETPROP(HAND,'transactions',2)
IF (M.TYPE = 7 .OR. M.TYPE = 5) AND M.DPTID = M.GI_YKDM
= SQLEXEC(HAND,'select * from ypkcmx where cpbh=?m.cpbh and pzh=?m.pzh and dptid=?m.gi_ykdm and sl2> -1','query')
DO HANDBUSY
IF RECCOUNT('query') = 0
YPKCMXID = _GETNEXT('ypkcmxid','yk_')
= SQLEXEC(HAND,'select * from ypmx where cpbh=?m.cpbh and pzh=?m.pzh','query')
IF RECCOUNT('query') > 0
LSJ = IIF(_TYPE(M.LSJ,'N') > 0,M.LSJ,QUERY.LSJ)
DO HANDBUSY
SQLSETPROP(HAND,'transactions',2)
HAND1 = ;
SQLEXEC(HAND,'insert into ypkcmx (id,dptid,pzh,cpbh,sl,lsj,jj,rule_,edate,factory,ph,outpzh,pfj,sl2 ) values (?m.ypkcmxid,?m.dptid,?query.pzh,?m.cpbh,?m.sl,?m.lsj,?query.jj,?query.rule_,?query.edate,?query.factory,?query.ph,-1,?query.pfj,0)')
ELSE
DO HANDBUSY
= SQLEXEC(HAND,'select rule_ from jgb1 where cpbh=?m.cpbh','query')
RULE_ = RULE_
YPMXPZH = _GETNEXT('ypmx_pzh','yk_')
IF M.LSJ = 0
MESSAGEBOX('产生错误!',16,'')
M.LSJ = 1
ENDIF
DO HANDBUSY
SQLSETPROP(HAND,'transactions',2)
HAND1 = ;
SQLEXEC(HAND,"insert into ypkcmx (id,dptid,pzh,cpbh,sl,lsj,rule_,edate,factory,ph,outpzh,pfj,jj,sl2,price ) values (?m.ypkcmxid,?m.dptid,?m.ypmxpzh,?m.cpbh,?m.sl,?m.lsj,?m.rule_,?date()+36500,'??','??',?m.pzh,0,0,0,0)")
ENDIF
ENDIF
ENDIF
IF (M.TYPE = -1 AND M.SL < 0) .OR. (M.TYPE = 7 AND M.DPTID <> M.GI_YKDM)
= SQLEXEC(HAND,'select * from ypkcmx where cpbh=?m.cpbh and outpzh=?m.pzh and sl2> -1','query')
DO HANDBUSY
IF RECCOUNT('query') = 0
YPKCMXID = _GETNEXT('ypkcmxid','yk_')
SQLEXEC(HAND,'select * from ypmx where cpbh=?m.cpbh and outpzh=?m.pzh','query')
IF RECCOUNT('query') > 0
LSJ = IIF(_TYPE('m.lsj','N') > 0,M.LSJ * QUERY.RULE_,QUERY.LSJ)
DO HANDBUSY
SQLSETPROP(HAND,'transactions',2)
SQLFIELDS = ;
'insert into ypkcmx (id,dptid,pzh,cpbh,sl,jj,lsj,rule_,edate,factory,ph,outpzh,pfj,price,sl2)'
HAND1 = ;
SQLEXEC(HAND,SQLFIELDS + ;
' values(?m.ypkcmxid,?m.dptid,?query.pzh,?m.cpbh,abs(?m.sl)/?query.rule_,?query.jj, ?m.lsj,?query.rule_,?query.edate,?query.factory,?query.ph,?m.pzh,?query.pfj,?query.price,0)')
ELSE
DO HANDBUSY
= SQLEXEC(HAND,'select rule_ from jgb1 where cpbh=?m.cpbh','query')
RULE_ = RULE_
YPMXPZH = _GETNEXT('ypmx_pzh','yk_')
IF M.LSJ = 0
MESSAGEBOX('产生错误!',16,'')
M.LSJ = 1
ENDIF
DO HANDBUSY
SQLSETPROP(HAND,'transactions',2)
M.DATE = DATE()
HAND1 = ;
SQLEXEC(HAND,"insert into ypkcmx (id,dptid,pzh,cpbh,sl,lsj,rule_,edate,factory,ph,outpzh,pfj,jj,sl2,price ) values (?m.ypkcmxid,?m.dptid,?m.ypmxpzh,?m.cpbh,?m.sl/?m.rule_,?m.lsj*?m.rule_,?m.rule_,?m.date+36500,'','',?m.pzh,0,0,0,0)")
ENDIF
ENDIF
ENDIF
DO HANDBUSY
SQLSETPROP(HAND,'transactions',2)
FOR I = 1 TO 10
HAND1 = 0
DO HANDBUSY
SQLSETPROP(HAND,'transactions',2)
DO CASE
CASE M.TYPE = -1
HAND1 = ;
SQLEXEC(HAND,'update ypkcmx set sl2=sl2-?m.sl where outpzh=?m.pzh and cpbh=?m.cpbh and dptid=?m.dptid')
CASE M.TYPE = 2 .OR. M.TYPE = 4 .OR. ;
((M.TYPE = 6 .OR. M.TYPE = 7 .OR. M.TYPE = 8) AND M.DPTID = M.GI_YKDM)
HAND1 = ;
SQLEXEC(HAND,'update ypkcmx set sl2=sl2 -?m.sl where dptid=?m.dptid and cpbh=?m.cpbh and pzh=?m.pzh')
CASE (M.TYPE = 6 .OR. M.TYPE = 7 .OR. M.TYPE = 8) AND M.DPTID <> M.GI_YKDM
HAND1 = ;
SQLEXEC(HAND,'update ypkcmx set sl2=sl2 -?m.sl where dptid=?m.dptid and cpbh=?m.cpbh and outpzh=?m.pzh')
CASE M.TYPE = 5
HAND1 = ;
SQLEXEC(HAND,'update ypkcmx set sl2=sl2 + ?m.sl where cpbh=?m.cpbh and pzh=?m.pzh and dptid=?m.dptid')
CASE M.TYPE = 12
HAND1 = SQLEXEC(HAND,'update ypkcmx set lsj=?m.lsj where pzh=?m.pzh')
CASE M.TYPE = 13
HAND1 = SQLEXEC(HAND,'update ypkcmx set lsj=?m.lsj where outpzh=?m.pzh')
ENDCASE
IF HAND1 <> 1
SQLROLLBACK(HAND)
WAIT WINDOW TIMEOUT 0.5 '第' + STR(I) + '次,更新ypmx失败!'
ELSE
_COMMIT(HAND)
EXIT
ENDIF
ENDFOR
IF M.HAND1 <> 1
MESSAGEBOX('ypkcmx ' + STR(M.TYPE) + ' ' + M.CPBH + ;
'在本次操作中更新失败,请停止操作,记录本次操作,并与系统管理员联系!',16,'严重警告')
ENDIF
SELECT (M.OLDAREA)
RETURN (HAND1 = 1)
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -