/**
* 校正 list 中 数据的 序号,并返回id 合适的 顺序号
*
* @param tbl
* @param list :相关记录的集合,每条记录是一个Map,顺序号字段的名字叫 numSort
* @param id : 记录ID
* @param numSort : 记录指定的顺序号 (可能偏大,返回值是对它矫正后的值)
* @return id 最后的顺序号
*/
public int doSqlSort(String tbl, List<Map> list, int id, int numSort) {
//集合为空
if (list == null || list.isEmpty()) {
return 1;
}
//集合不为空,对集合里面的顺序号进行地毯式矫正
String sql = "update " + tbl + " set NUM_SORT=? where id=?";
Object[] params = new Object[2];
int newNumSort = 0; //记录应该的顺序号
int len = list.size();
for (int i = 0; i < len; i++) {
Map map = list.get(i);
////System.out.println(" map.get(\"id\")= " + map.get("id"));
Number id2_number = (Number) map.get("id");
Number numSort2_number = (Number) map.get("numSort");
int id2 = id2_number.intValue();
Integer numSort2 = numSort2_number.intValue();
//循环到的记录,不是 当前记录
if (id2 != id) {
newNumSort++;
if (newNumSort == numSort) {
newNumSort++;
}
}
//记录的数据库中顺序号与新顺序号不相等,更新数据库
if (newNumSort != numSort2) {
params[0] = newNumSort;
params[1] = id2;
jdbcDao.doUpdate(sql, params);
}
}
//特殊情况,numSort 要调整
if (numSort > len || numSort == 0) {
numSort = len;
if (id == 0) {
numSort = len + 1;
}
}
//参数id那条记录 应该的 顺序号
return numSort;
}
public void doSaveUpdate(ZzjzMoban zzjzMoban) {
int id = zzjzMoban.getId();
int numSort = zzjzMoban.getNumSort();
String sql = "select id,numSort from zzjzMoban order by numSort";
List<Map> list = super.getSqlItems(sql, null);
numSort = super.doSqlSort("zzjzMoban", list, id, numSort); //校正序号
zzjzMoban.setNumSort(numSort); //新的序号
if (id == 0) {
super.doSave(zzjzMoban);
} else {
ZzjzMoban moban2 = (ZzjzMoban) super.getPo(ZzjzMoban.class, id);
moban2.setBrief(zzjzMoban.getBrief());
moban2.setTitle(zzjzMoban.getTitle());
moban2.setPhoto(zzjzMoban.getPhoto());
moban2.setNumSort(zzjzMoban.getNumSort());
}
}
分享到:
相关推荐
【车载式矫正装置的设计及应用】是针对液压支架结构件焊接后变形问题,采用压力机设备进行矫正的技术探讨。矫正装置的设计重点在于提高矫正效率、保障安全性和方便移动。以下是该设计的关键知识点: 1. **矫正装置...
钟摆式矫正器是一种在正畸治疗中用于调整牙齿排列的工具,主要针对错牙合畸形伴有前牙拥挤的情况。这种矫正器的设计理念是通过推磨牙向远中移动,以创造额外的牙间隙,从而解决拥挤问题,同时保持牙弓的连续性和面部...
畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正畸变矫正...
在图像处理领域,立体矫正和畸变矫正是非常重要的步骤,特别是在计算机视觉、机器学习和自动驾驶等应用中。本文将深入探讨这两个概念,并结合MATLAB代码进行解析。 首先,我们要理解什么是畸变矫正。在实际应用中,...
【表盘识别】基于Hough变换实现指针式仪表识别(倾斜矫正)
文本扭曲矫正,需要配合Opencv环境才能使用。本代码均已经通过调试,并完成效果验证和对外展示。本程序仅提供实现的主函数和基本思想,详细的函数源码,请咨询博主单独获取。 文本矫正一直是一个很难的课题,网上有...
在图像处理领域,文本图像的倾斜矫正是一项重要的技术,它主要应用于文档扫描、OCR(光学字符识别)等场景,以确保图像中的文字可以被准确地读取和识别。本项目"QingXie.zip"提供的是一款用C++编程语言实现的图像...
相机畸变矫正是一种在计算机视觉领域中常见的技术,主要用于消除由镜头特性引起的图像扭曲现象。在实际应用中,如无人机航拍、自动驾驶、监控系统等,高质量的图像矫正至关重要。OpenCV是一个强大的开源计算机视觉库...
标题中的“电脑时间矫正软件”指的是用于调整和...综上所述,寻找一个“很简单”的电脑时间矫正软件,意味着用户希望该软件能够提供一键式操作,快速、准确地将电脑时间校准至国际标准时间,同时保持用户友好和安全。
鱼眼矫正算法2種方法 棋盘格矫正法 利用棋盘格进行标定, 然后计算鱼眼镜头的畸变系数以及内参, opencv中自带有fisheye模块, 可以直接根据棋盘格标定结果,采用cv2.fisheye.calibrate计算畸变系数以及内参, 然后...
本篇将详细讲解如何使用C#进行水平矫正文本图像,涉及到的核心技术包括傅立叶变换、频谱图、相谱图以及霍夫检测直线。 首先,我们要理解水平矫正的必要性。在现实生活中,拍摄的图像可能会由于相机倾斜或扫描不正...
这个名为"C#扫描图片矫正垂直.zip"的压缩包提供了一个使用C#编程语言实现的解决方案,特别针对图片的垂直矫正问题。这里我们将深入探讨该主题,包括傅立叶变换在图像矫正中的应用以及如何通过C#来实现这一过程。 傅...
Unity中的仿射变换是计算机图形学中的一个重要概念,它在3D游戏开发中扮演着关键角色,尤其是在图形矫正和图像处理方面。这个“unity仿射变换图形矫正demo”旨在通过实例帮助理解并应用这些概念。在Unity中,我们...
在实际应用中,光流法常用于图像矫正,特别是针对运动图像的矫正,它能够有效地帮助我们消除图像中的运动模糊,提高图像质量,为后续的图像处理和分析提供更为准确的数据支持。 光流法的基本原理是建立在物理世界中...
在图像处理领域,"OpenCV畸变矫正鱼眼畸变矫正demo"是一个常见的实践项目,主要目的是通过使用OpenCV库来校正图像中的鱼眼畸变。鱼眼镜头由于其特殊的光学特性,拍摄出的图像会出现强烈的变形,尤其是在边缘部分。...
双目极线矫正matlab简单代码,套入即可
随着技术的不断进步,机器视觉和图像处理领域的发展日新月异,其中图像畸变矫正技术起着至关重要的作用。摄像头作为图像采集的重要手段,在众多应用场合中,常常因为镜头、光照、目标物体表面特性等多种因素造成图像...
标题"A2 AC3Pass矫正"涉及的是音频处理领域的一个特定技术,主要针对Creative Audigy2声卡用户。这个技术主要是为了解决AC3(Dolby Digital)音频在通过Audigy2声卡时可能出现的左声道延迟问题。"AC3Pass矫正"是一个...
标题中的“鱼眼图像畸变矫正”是指在计算机视觉领域中处理由鱼眼镜头拍摄的图像时,由于鱼眼镜头的特殊光学特性导致的图像严重扭曲现象。这种畸变使得图像边缘部分出现明显的曲率增大,严重影响了图像的正常观察和...
### 桶形矫正算法详解 #### 一、引言 在图像处理领域,相机镜头畸变是一个常见的问题,特别是当使用广角镜头时。畸变主要包括两种类型:径向畸变(包括桶形畸变和枕形畸变)和切向畸变。其中,桶形畸变是指图像...