欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > 【Oracle APEX开发小技巧12】

【Oracle APEX开发小技巧12】

2025/6/7 11:32:50 来源:https://blog.csdn.net/clover_oreo/article/details/148477047  浏览:    关键词:【Oracle APEX开发小技巧12】

有如下需求:

有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。

我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示
完整代码:

SELECTSF.FEEDBACK_ID,SF.FEEDBACK_CONTENT,SF.FILE_ID,FO.FILE_NAME || '(ID:' || SF.FILE_ID || ')' ||CASEWHEN FO.DEL_FLAG = 1 THEN '(文件已删除)'ELSE ''END AS FOLDER_DISPLAY,SF.USER_ID,--反馈人(原存储MPF_USER_ID,后被告知只能获取钉钉ID,已弃用)SF.DING_USER_ID,--反馈人(获取钉钉ID)--BY:wxx 2025-04-29SF.STATUS,SF.FEEDBACK_TYPE,-- 根据反馈时间和状态判断是否标红CASEWHEN SF.FEEDBACK_DATE < SYSDATE - 7 AND SF.STATUS = 0 THEN'<span style="color:red;">' || TO_CHAR(SF.FEEDBACK_DATE, 'YYYY-MM-DD HH24:MI:SS') || '</span>'ELSETO_CHAR(SF.FEEDBACK_DATE, 'YYYY-MM-DD HH24:MI:SS')END AS FEEDBACK_DATE,NVL(TO_CHAR(SF.PROCESS_DATE, 'YYYY-MM-DD HH24:MI:SS'), '-') AS PROCESS_DATE,NVL(TO_CHAR(SF.PROCESS_USER_ID), '-') AS PROCESS_USER_ID,-- 根据处理日期显示操作提示CASEWHEN SF.PROCESS_DATE IS NULL THEN '处理'ELSE '查看处理意见'END AS OPERATION
FROMSTS_FEEDBACK SFLEFT JOIN STS_FILE FO ON SF.FILE_ID = FO.FILE_IDLEFT JOIN BASIC_USER  DU ON DU.USER_ID = SF.DING_USER_ID
WHERESF.DEL_FLAG = 0AND SF.TENANT_ID = :USER_TENANT-- 文件可以删除,但是反馈保留AND FO.TENANT_ID = :USER_TENANTAND (SF.STATUS = TO_NUMBER(NVL(:P201_STATUS, 99)) OR TO_NUMBER(NVL(:P201_STATUS, 99)) = 99);

关键逻辑

CASEWHEN SF.FEEDBACK_DATE < SYSDATE - 7 AND SF.STATUS = 0 THEN'<span style="color:red;">' || TO_CHAR(SF.FEEDBACK_DATE, 'YYYY-MM-DD HH24:MI:SS') || '</span>'ELSETO_CHAR(SF.FEEDBACK_DATE, 'YYYY-MM-DD HH24:MI:SS')
END AS FEEDBACK_DATE


光有sql还不行,要在对应的列FEEDBACK_DATE设置对应格式,FEEDBACK_DATE→列→类型【HTML表达式】→设置  HTML表达式【<span >&FEEDBACK_DATE.</span>】

关键逻辑:

  1. 当反馈时间超过7天(SYSDATE - 7)且状态为0(未处理)时,反馈时间会显示为红色
  2. 其他情况下正常显示

相关字段关联

  1. 处理时间:PROCESS_DATE字段显示处理时间,未处理时显示'-'

  2. 处理人:PROCESS_USER_ID字段显示处理人ID,未处理时显示'-'

  3. 操作提示:根据PROCESS_DATE是否为空显示"处理"或"查看处理意见"

效果展示:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词