APEX开发过程中需要注意的小细节4

2024-03-23 04:12

本文主要是介绍APEX开发过程中需要注意的小细节4,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

去除右上角保存提示

每次编辑/更新如果未保存离开当前页面会有弹窗警告并且需要点击才能执行下一步,感觉很不方便

对应的页-导航-关闭“有未保存更改时发出警告”

保证只有一周内创建的数据可以被修改

原来条件项:

SELECT * FROM JAS_PROJECT_DETAIL WHERE create_date + INTERVAL '3' DAY > CURRENT_TIMESTAMP ;
弊端:会在每个create_date创建时间执行一次+3天的操作,有多少条数据就执行多少次,对执行效率不友好

新代码:

SELECT count(1)
FROM JAS_PROJECT_DETAIL
WHERE create_date > sysdate - 7and "project_detail_id" = :P203_project_detail_id;
优点:只需在当前时间做一次-7天的操作即可,将操作结果和创建时间作比较即可,执行效率比之前大大提高

提示暂无编辑权限/创建已超过7天

条件项P203_IS_DATE

源- 类型 “SQL查询(返回单个值)”- SQL查询 - 已使用 “始终替换会话中的任何值”

SELECT count(1)
    FROM JAS_PROJECT_DETAIL
    WHERE create_date > sysdate - 7
      and "project_detail_id" = :P203_project_detail_id;

条件项P203_IS_EDIT

源- 类型 “SQL查询(返回单个值)”- SQL查询 - 已使用 “始终替换会话中的任何值”

select distinct count(1)  from DIGITAL_USER_GROUP_DETAILS
where upper(USER_ID)  = upper(:U_ID)
and USER_GROUP_ID in (300018,300120,500000);

不可编辑页面

点击更新id,弹出编辑弹窗,若是没有编辑权限/超过七天会有提示,并且隐藏更新按钮

可编辑页面

点击更新id,弹出编辑弹窗,若是有编辑权限/未过七天,会开放更新按钮隐藏提示

css提示样式设置: 对应的页-CSS-内嵌

/* 定义警告框的基本样式 */
.alert-box {padding: 15px;margin-bottom: 20px;border: 1px solid transparent;border-radius: 4px;
}/* 定义不同类型警告框的样式 */
.alert-box.success {color: #3c763d;background-color: #dff0d8;border-color: #d6e9c6;
}.alert-box.info {color: #31708f;background-color: #d9edf7;border-color: #bce8f1;
}.alert-box.warning {color: #8a6d3b;background-color: #fcf8e3;border-color: #faebcc;
}.alert-box.danger {color: #a94442;background-color: #f2dede;border-color: #ebccd1;
}

提示项-项-高级 前置文本

<div class="alert-box danger">创建已超过一周/您暂无权限编辑,仅可查看</div>

可编辑日期不要七天内,而是仅限本周

之前

SELECT count(1)
    FROM JAS_PROJECT_DETAIL
    WHERE create_date > sysdate - 7
      and "project_detail_id" = :P203_project_detail_id;

现在

SELECT count(1)
    FROM JAS_PROJECT_DETAIL
    WHERE TO_CHAR(CREATE_DATE, 'YYYYIW') = TO_CHAR(TRUNC(SYSDATE), 'YYYYIW')
      and "project_detail_id" = :P203_project_detail_id;

要检查Oracle SQL中的创建时间是否在本周内,可以使用TO_CHAR函数结合TRUNC函数来比较日期。以下是一个示例SQL查询,它检查字段creation_date是否在本周内

这里的IW格式模型代表ISO标准下的周数,它是从周一开始,包含周日的周数。TRUNC(SYSDATE)会将当前日期时间截断到星期一(如果今天是星期一,则为当前星期;如果是其他星期,则为上一个星期一)。TO_CHAR(creation_date, 'YYYYIW')将创建时间转换为年和周数,与当前年和周数进行比较,以确定是否在本周内。

【问题记录】

  • 处理 "自定义-项目内容编辑" 分配了无效(非多行)可编辑区域。

【交互式网格中设置仅展示/只读模式】

 我只想让本周工作计划回显即可,输入类型为富文本/多文本编辑,如果展示设为“仅展示”,就会得到下图效果↓

如何解决呢?

展示依旧是“多文本编辑”类型,但是设置 只读 - 类型 始终 -执行 每一行

【varchar2和number的类型转换】

在开发过程中经常会遇到因输入的类型与项的原类型不一致导致的类型错误,最常见的就是

varchar2和number的类型转换

update JAS_PROJECT_MASTERset "current_progress" = to_number(replace(:P203_PROGRESS,'%',''))where "project_id" = :P203_PROJECT_ID;v_row_count1 := sql%rowcount + v_row_count  ;--后续根据“计划开始时间”和“计划完成时间”自动计算“项目进度”,不用手动录入

原来的:P203_PROGRESS是number类型,但是显示时拼接了%,为了避免%对其类型的影响,采用to_number及replace函数。

【有数据则展示,无数据则不展示,避免字段展示出来但是没有数据的情况】

服务器端条件 -类型 “已返回行”

select 1 from "JAS_PROJECT_MASTER"
where "plan_to_end_date" is not null
and "project_id" = :P201_PROJECT_ID

【问题记录】处理 " 保存编辑后的表单数据" 分配了无效(非多行)可编辑区域

begincase :APEX$ROW_STATUSwhen 'U' thenupdate JAS_PROJECT_MASTERset"project_name"       = :PROJECT_NAME,"project_class"      = :PROJECT_CLASS,"important_grade"    = :IMPORTANT_GRADE,"project_status"= :PROJECT_STATUS,"project_scope"= :PROJECT_SCOPE,"leading_unit"= :LEADING_UNIT,
--                           "current_progress"= to_number(replace(:progress,'%','')), --自动结算,手输舍弃"project_owner"= :PROJECT_OWNER,"project_target"= :PROJECT_TARGET,"project_content" = :PROJECT_CONTENT,"progress_memo"= :PROGRESS_MEMO, --进度说明"project_memo" = :PROJECT_MEMO, --备注"start_date"= :START_DATE,"plan_to_end_date" = :plan_to_end_date,"actual_end_date"= :ACTUAL_END_DATE,REQUEST_CONTACT_POINT= :REQUEST_CONTACT_POINT,HQIT_TEAM= :HQIT_TEAM,HQIT_TEAM_CP= :HQIT_TEAM_CP,VENDOR= :VENDOR,VENDOR_CP= :VENDOR_CP,"attached_format" = :ATTACHED_FORMAT ,  --附件格式"attached_progress_plan" = :ATTACHED_PROGRESS_PLAN,  --附件上传"project_link" = :PROJECT_LINK,   -- 项目链接UPDATOR = :USER_ACCOUNT, --项目表更新人UPDATE_DATE = sysdate  --项目表更新时间where "project_id" = :P202_PROJECT_ID;end case;
end;

【数据展示出不来】看板展示某月数据出不来,查看日志显示

output value too large (maximum: 4000) 输出值太大(最大值:4000)

【解决方法】将字符串转化为json,加上returning clob

【开发技巧】根据用户设置编辑权限

想要管控的项-只读-函数体

DECLARE
L_AUTH NUMBER(2);
BEGIN
select distinct count(1) into L_AUTH  from DIGITAL_USER_GROUP_DETAILS
where upper(USER_ID) = upper(:U_ID)
and USER_GROUP_ID not in (500000,300018);
RETURN L_AUTH>=1;
END;

这篇关于APEX开发过程中需要注意的小细节4的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/837105

相关文章

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

作业提交过程之HDFSMapReduce

作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。 第2步:Client向RM申请一个作业id。 第3步:RM给Client返回该job资源的提交路径和作业id。 第4步:Client提交jar包、切片信息和配置文件到指定的资源提交路径。 第5步:Client提交完资源后,向RM申请运行MrAp

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨削加工的精度。 转速范围 宽广的转速范围意味着平衡机能够处理更多种类的磨轮,适应不同的工作条件和规格要求。 振动监测能力 振动监测能力是评估平衡机性能的重要因素。通过传感器实时监

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss