$PBExportHeader$uf_spt_warebalc_check_inoutflag.srf global type uf_spt_warebalc_check_inoutflag from function_object end type forward prototypes global function integer uf_spt_warebalc_check_inoutflag (long arg_scid, long arg_sptid, datetime arg_balcdate, ref string arg_msg) end prototypes global function integer uf_spt_warebalc_check_inoutflag (long arg_scid, long arg_sptid, datetime arg_balcdate, ref string arg_msg);Long rslt = 1 Long cnt = 0 String ls_sptname string ls_scname if arg_scid < 0 then rslt = 0 arg_msg = '请选择分部' goto ext end if select scname into :ls_scname from u_scdef where scid = :arg_scid; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询操作失败,分部名称' GOTO ext END IF SELECT name INTO :ls_sptname FROM u_spt Where sptid = :arg_sptid; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询操作失败,外协商名称' GOTO ext END IF //检查日期前 cnt = 0 SELECT count(*) INTO :cnt FROM ow_wfjg_in WHERE flag = 0 AND indate <= :arg_balcdate and sptid = :arg_sptid and scid = :arg_scid ; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询操作失败,结存日期前是否有进仓单未审' GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '外协商['+ls_sptname+'],分部['+ls_scname+'],结存日期前有进仓单未审' GOTO ext END IF cnt = 0 SELECT count(*) INTO :cnt FROM ow_wfjg_out WHERE flag = 0 AND outdate <= :arg_balcdate and sptid = :arg_sptid and scid = :arg_scid; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询操作失败,结存日期前是否有出仓单未审' GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '外协商['+ls_sptname+'],分部['+ls_scname+'],结存日期前有出仓单未审' GOTO ext END IF //检查日期后 cnt = 0 SELECT count(*) INTO :cnt FROM ow_wfjg_in WHERE flag = 1 AND indate > :arg_balcdate and sptid = :arg_sptid and scid = :arg_scid; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询操作失败,结存日期后是否有进仓单已审' GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '外协商['+ls_sptname+'],分部['+ls_scname+'],结存日期后有进仓单已审' GOTO ext END IF cnt = 0 SELECT count(*) INTO :cnt FROM ow_wfjg_out WHERE flag = 1 AND outdate > :arg_balcdate and sptid = :arg_sptid and scid = :arg_scid; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询操作失败,结存日期后是否有出仓单已审' GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '外协商['+ls_sptname+'],分部['+ls_scname+'],结存日期后有出仓单已审' GOTO ext END IF ext: RETURN rslt end function