当前位置: 首页 > article >正文

E8流程多行明细行字符串用I分隔,赋值到主表

需求:明细行摘要字段赋值到主表隐藏字段,隐藏摘要字段在标题中显示

代码如下,代码中的获取字段名获取方式,自行转换成jQuery("#fieldid").val()替换。

//1:参数表单id 2:流程字段名 3:0代表主表,1代表明细1 4:固定参数0
var ma_mxzy= "<%=FormIdCacheUtil.getFieldId(iFormid,"mxzy","1",0)%>";//主表 获取明细摘要
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="weaver.general.TimeUtil" %>
<%@ page import="java.util.*" %>
<%@ page import="weaver.hrm.*" %>
<%@ page import="weaver.hrm.*" %>
<%@ page import="weaver.hrm.*" %>
<%@ page import="com.customcode.util.FormIdCacheUtil" %><jsp:useBean id="wfc" class="weaver.workflow.workflow.WorkflowComInfo" scope="page"/>
<%int iRequestid = Util.getIntValue(request.getParameter("requestid")); //获取当前流程请求IDint iWorkflowid = Util.getIntValue(request.getParameter("workflowid")); //获取当前流程IDint iNodeid = Util.getIntValue(request.getParameter("nodeid"));  //获取当前流程节点IDint iFormid = Util.getIntValue(wfc.getFormId(String.valueOf(iWorkflowid)), 0); //获取当前表单ID 兼容手机端//int iFormid = Util.getIntValue(request.getParameter("formid")); //获取当前表单ID//int iIsBill = Util.getIntValue(request.getParameter("isbill")); //获取当前表单类型(1单据|0表单)User user = HrmUserVarify.getUser (request,response) ; //获取当前登录对象int iUserId = user.getUID();	//获取当前登录用户ID//int iUserSubCompanyId = user.getUserSubCompany1(); //获取当前登录用户公司ID//int iUserDepId = user.getUserDepartment();	//获取当前登录用户部门ID//String sLogintype = user.getLogintype();	//当前用户类型(1内部用户|2外部用户)//String sUsername = user.getUsername();	//获取当前登录用户姓名//String sUserJobtitle = user.getJobtitle();	//获取当前登录用户职务IDdd//out.print("Requestid="+Requestid);
%><script type="text/javascript">//1:参数表单id 2:流程字段名 3:0代表主表,1代表明细1 4:固定参数0var ma_mxzy= "<%=FormIdCacheUtil.getFieldId(iFormid,"mxzy","1",0)%>";//主表 获取明细摘要var dt_abstract= "<%=FormIdCacheUtil.getFieldId(iFormid,"abstract","1",0)%>";//明细1 摘要var maString="";jQuery(document).ready(function(){jQuery("button[name='addbutton0']").click(function(){ //绑定明细1添加点击事件var indexnum1=jQuery("#indexnum0").val();//行数var i=indexnum1-1;mxzyget(i);});jQuery("button[name='delbutton0']").click(function(){ //绑定明细1添加点击事件var indexnum1=jQuery("#indexnum0").val();//行数//var i=indexnum1-1;maString="";for(var j=0;j<indexnum1;j++){console.log("j>>>"+j+",indexnum1>>>"+indexnum1);var abstract=jQuery("#" + dt_abstract+"_"+j).val();if(abstract!==undefined){maString+=abstract+" | ";console.log("maString>>>"+maString);var mxzy=jQuery("#"+ma_mxzy).val(maString);console.log("mxzy>>>"+maString);}}});});function mxzyget(i) {jQuery("#" + dt_abstract+"_"+i).bind("change",function () {var abstract=jQuery("#" + dt_abstract+"_"+i).val();maString+=abstract+" | ";console.log("maString>>>"+maString);var mxzy=jQuery("#"+ma_mxzy).val(maString);console.log("mxzy>>>"+maString);});}</script>

 逻辑就是循环判断明细行字段,用“maString+=abstract+" | " ”拼接赋值给主表字段,在明细删除按钮事件中(delbutton0)重新循环获取明细行,再重新赋值,避免用户填错删除任意行。注意:明细行删除事件,如果删除中间行例如1 2 3 4,删除了2或者3的中间行,用if字段xx.length!=0判断,会导致循环中断,导致第四行值无法获取。顾转化思路,打印出明细值会发现,明细字段值=undefined(一个未定义或者未赋值的变量),所以用使用严格相等 ===(!==)来判断。

对用历史字段处理,利用数据库语句来批量更新。我们系统数据为oracle,用到以下语句

formtable_main_958为主表,formtable_main_958_dt1为明细表

UPDATE formtable_main_958 o
SET o.mxzy = (SELECT LISTAGG(od.abstract, ' | ') WITHIN GROUP (ORDER BY od.abstract)FROM formtable_main_958_dt1   odWHERE od.mainid = o.id
)

相关文章:

E8流程多行明细行字符串用I分隔,赋值到主表

需求&#xff1a;明细行摘要字段赋值到主表隐藏字段&#xff0c;隐藏摘要字段在标题中显示 代码如下&#xff0c;代码中的获取字段名获取方式&#xff0c;自行转换成jQuery("#fieldid").val()替换。 //1:参数表单id 2:流程字段名 3:0代表主表&#xff0c;1代表明细…...

QML面试笔记--UI设计篇04交互控件

1. QML中常用交互控件 1.1. Button1.2. Slider1.3. ProgressBar1.4. TextField1.5. TextArea1.6. ComboBox1.7. CheckBox1.8. RadioButton1.9. Menu1.10. Dialog 1. QML中常用交互控件 在万物互联的智能时代&#xff0c;QML凭借其‌声明式语法‌和‌跨平台能力‌&#xff0c…...

[特殊字符] Spring Boot 日志系统入门博客大纲(适合初学者)

一、前言 &#x1f4cc; 为什么日志在项目中如此重要&#xff1f; 在开发和维护一个后端系统时&#xff0c;日志就像程序运行时的“黑匣子”&#xff0c;帮我们记录系统的各种行为和异常。一份良好的日志&#xff0c;不仅能帮助我们快速定位问题&#xff0c;还能在以下场景中…...

【人工智能】AI大模型开发数学基础指南

目录 学习内容**1. 线性代数****2. 概率与统计****3. 微积分****4. 优化理论****5. 信息论****6. 数值计算****7. 离散数学****8. 统计学进阶****如何学习&#xff1f;****总结** 如何学习**1. 明确学习目标****2. 分阶段学习计划****阶段 1&#xff1a;夯实基础****阶段 2&…...

Express中间件(Middleware)详解:从零开始掌握(1)

1. 中间件是什么&#xff1f; 想象中间件就像一个"加工流水线"&#xff0c;请求(Request)从进入服务器到返回响应(Response)的过程中&#xff0c;会经过一个个"工作站"进行处理。 简单定义&#xff1a;中间件是能够访问请求对象(req)、响应对象(res)和下…...

STM32单片机中EXTI的工作原理

目录 1. EXTI概述 2. EXTI的组成部分 3. 工作原理 3.1 引脚配置 3.2 中断触发条件 3.3 中断使能 3.4 中断处理 4. 使用示例 5. 注意事项 结论 在STM32单片机中&#xff0c;EXTI&#xff08;外部中断&#xff09;是一种用于处理外部事件的机制&#xff0c;能够提高对硬…...

现代工业测试的核心支柱:电机试验工作台?(北重机械厂家)

电机试验工作台是现代工业测试中的核心支柱之一。这种工作台通常用于对各种类型的电机进行性能测试、负载测试和耐久性测试。通过电机试验工作台&#xff0c;工程师可以评估电机的效率、功率输出、转速、扭矩、温度等关键参数&#xff0c;从而确保电机的设计符合要求&#xff0…...

oracle 11g密码长度和复杂度查看与设置

verify_function_11G 的密码复杂性要求: 密码长度至少为 8 个字符。 密码必须包含至少一个数字和一个字母字符。 密码不能与用户名相同或相似。 密码不能是服务器名或其变体。 密码不能是常见的弱密码&#xff08;如 welcome1、oracle123 等&#xff09;。 注意事项&…...

CVE-2025-32375 | Windows下复现 BentoML runner 服务器远程命令执行漏洞

目录 1. 漏洞描述2. 漏洞复现1. 安装 BentoML 1.4.72. 创建模型3. 构建模型4. 托管模型5. 执行exp 3. POC4. 补充学习 参考链接&#xff1a; https://mp.weixin.qq.com/s/IxLZr83RvYqfZ_eXhtNvgg https://github.com/bentoml/BentoML/security/advisories/GHSA-7v4r-c989-xh26 …...

某局jsvmp算法分析(dunshan.js/lzkqow23819/lzkqow39189)

帮朋友看一个税某局的加密算法。 传送门 &#xff08;需要帐号登陆的 普通人没授权也看不了&#xff09; 废话不多说直接抓包开干 这里可以看到一个headers中的加密参数 lzkqow23819 以及url路径里面的6eMrZlPH(这个有点像瑞数里面的&#xff09; 还有就是cookies里面的这几个…...

深入剖析 Kafka 的零拷贝原理:从操作系统到 Java 实践

Kafka 作为一款高性能的分布式消息系统&#xff0c;其卓越的吞吐量和低延迟特性得益于多种优化技术&#xff0c;其中“零拷贝”&#xff08;Zero-Copy&#xff09;是核心之一。零拷贝通过减少用户态与内核态之间的数据拷贝&#xff0c;提升了 Kafka 在消息传输中的效率。本文将…...

AlmaLinux9.5 修改为静态IP地址

查看当前需要修改的网卡名称 ip a进入网卡目录 cd /etc/NetworkManager/system-connections找到对应网卡配置文件进行修改 修改配置 主要修改ipv4部分&#xff0c;改成自己的IP配置 [ipv4] methodmanual address1192.168.252.129/24,192.168.252.254 dns8.8.8.8重启网卡 …...

内联函数通常定义在头文件中的原因详解

什么是内联函数&#xff1f; 内联函数&#xff08;inline function&#xff09;是C中的一种函数优化机制&#xff0c;通过在函数声明前加上inline关键字&#xff0c;建议编译器将函数调用替换为函数体本身的代码&#xff0c;从而减少函数调用的开销。 为什么内联函数需要定义…...

操作系统 4.4-从生磁盘到文件

文件介绍 操作系统中对磁盘使用的第三层抽象——文件。这一层抽象建立在盘块&#xff08;block&#xff09;和文件&#xff08;file&#xff09;之间&#xff0c;使得用户可以以更直观和易于理解的方式与磁盘交互&#xff0c;而无需直接处理磁盘的物理细节如扇区&#xff08;se…...

免费多语言文档翻译软件推荐

软件介绍 今天给大家介绍一款文档翻译助手。它能够支持PDF、Word等多种文档格式&#xff0c;涵盖中文、英文、日语等多语言互译。此软件在翻译过程中精选保留文档原貌&#xff0c;每段文字、每个图表的匹配都十分完美&#xff0c;还依托顶尖翻译大模型&#xff0c;让翻译结果符…...

安全序列(DP)

#include <bits/stdc.h> using namespace std; const int MOD1e97; const int N1e65; int f[N]; int main() {int n,k;cin>>n>>k;f[0]1;for(int i1;i<n;i){f[i]f[i-1]; // 不放桶&#xff1a;延续前一位的所有方案if(i-k-1>0){f[i](f[i]f[i-k…...

【Flask开发】嘿马文学web完整flask项目第4篇:4.分类,4.分类【附代码文档】

教程总体简介&#xff1a;2. 目标 1.1产品与开发 1.2环境配置 1.3 运行方式 1.4目录说明 1.5数据库设计 2.用户认证 Json Web Token(JWT) 3.书架 4.1分类列表 5.搜索 5.3搜索-精准&高匹配&推荐 6.小说 6.4推荐-同类热门推荐 7.浏览记录 8.1配置-阅读偏好 8.配置 9.1项目…...

SQL开发的智能助手:通义灵码在IntelliJ IDEA中的应用

SQL 是一种至关重要的数据库操作语言&#xff0c;尽管其语法与通用编程语言有所不同&#xff0c;但因其在众多应用中的广泛使用&#xff0c;大多数程序员都具备一定的 SQL 编写能力。然而&#xff0c;当面对复杂的 SQL 语句或优化需求时&#xff0c;往往需要专业数据库开发工程…...

基于 Q - learning 算法的迷宫导航

这段 Python 代码实现了一个基于 Q - learning 算法的迷宫导航系统。代码通过定义迷宫环境、实现 Q - learning 算法来训练智能体&#xff0c;使其能够在迷宫中找到从起点到终点的最优路径&#xff0c;同时利用训练好的 Q 表来测试智能体的导航能力。 在这个代码实现的迷宫环境…...

解决:AttributeError: module ‘cv2‘ has no attribute ‘COLOR_BGR2RGB‘

opencv AttributeError: module ‘cv2’ has no attribute ‘warpFrame’ 或者 opencv 没有 rgbd 解决上述问题的方法是&#xff1a; 卸载重装。 但是一定要卸载干净&#xff0c;仅仅卸载opencv-python是不行的。无限重复都报这个错。 使用pip list | grep opencv查看相关的…...

NutriJarvis:AI慧眼识餐,精准营养触手可及!—— 基于深度学习的菜品识别与营养计算系统

NutriJarvis&#xff1a;AI慧眼识餐&#xff0c;精准营养触手可及&#xff01;—— 基于深度学习的菜品识别与营养计算系统 NutriJarvis 是一个基于深度学习的菜品识别与营养计算系统&#xff0c;旨在通过计算机视觉技术自动识别餐盘中的食物&#xff0c;并估算其营养成分&…...

作为一名java技术博主如何突围

作为一位Java开发和技术博主&#xff0c;想要在抖音上快速提升粉丝数量和视频播放量&#xff0c;可以结合以下策略进行优化&#xff1a; 1. 明确目标受众与技术方向 细分领域&#xff1a;技术领域广泛&#xff0c;可以专注于Java开发、算法、框架解析&#xff08;如Spring Boo…...

【LaTeX】

基本使用 \documentclass 类型&#xff1a;文章&#xff08;article&#xff09;、报告&#xff08;report&#xff09;、书&#xff08;book&#xff09; 中文的文章是ctexart&#xff0c;中文字体是UTF8 \documentclass[UTF8]{ctexart} []说明可以省略不写的意思&#xf…...

细说STM32单片机FreeRTOS任务管理相关函数及多任务编程的实现方法

目录 一、FreeRTOS任务管理相关函数 1、FreeRTOS函数 2、FreeRTOS宏函数 3、主要函数功能说明 &#xff08;1&#xff09;创建任务osThreadNew() &#xff08;2&#xff09;删除任务vTaskDelete() &#xff08;3&#xff09;挂起任务vTaskSuspend() &#xff08;4&…...

uniapp微信小程序基于wu-input二次封装TInput组件(支持点击下拉选择、支持整数、电话、小数、身份证、小数点位数控制功能)

一、 最终效果 二、实现了功能 1、支持输入正整数---设置specifyTypeinteger 2、支持输入数字&#xff08;含小数点&#xff09;---设置specifyTypedecimal&#xff0c;可设置decimalLimit来调整小数点位数 3、支持输入手机号--设置specifyTypephone 4、支持输入身份证号---设…...

VLM-R1GRPO微调,强化学习训练, 实战训练教程(2)

https://www.dong-blog.fun/post/2013 VLM-R1GRPO微调&#xff0c; 实战训练教程&#xff08;1&#xff09;&#xff1a; https://www.dong-blog.fun/post/1961 本博客这次使用多图进行GRPO。 官方git项目&#xff1a;https://github.com/om-ai-lab/VLM-R1?tabreadme-ov-f…...

系统弹出消息功能,且保证用户只能获取弹出一次消息

要实现系统弹出消息功能&#xff0c;且保证用户只能获取弹出一次消息&#xff0c;你可以借助 Redis 来达成。基本思路是&#xff1a;把消息存于 Redis 的列表中&#xff0c;同时用 Redis 的集合记录用户是否已接收过该消息。下面是一个示例工具类&#xff0c;其中包含推送消息和…...

Python代码解释

文章目录 代码解析执行过程等价写法其他类似操作 这段代码使用了 Python 的 map() 函数和 lambda 表达式来对列表中的每个元素进行平方运算。让我详细解释一下&#xff1a; 代码解析 numbers [1, 2, 3, 4] squared list(map(lambda x: x**2, numbers))numbers [1, 2, 3, …...

GPIO_ReadInputData和GPIO_ReadInputDataBit区别

目录 1、GPIO_ReadInputData: 2、GPIO_ReadInputDataBit: 总结 GPIO_ReadInputData 和 GPIO_ReadInputDataBit 是两个函数&#xff0c;通常用于读取微控制器GPIO&#xff08;通用输入输出&#xff09;引脚的输入状态&#xff0c;特别是在STM32系列微控制器中。它们之间的主要…...

MySQL数据库编程总结

MySQL数据库编程总结 一、数据库概述 数据库定义 • 数据库是管理数据的软件系统&#xff0c;用于高效存储、管理和检索数据&#xff0c;减少冗余。 • 核心功能&#xff1a;通过SQL语言定义、操作数据&#xff0c;维护完整性和安全性。 常见数据库 • MySQL、Oracle、SQL Ser…...