nbcio-boot因升级mybatis-plus到3.5.3.1和JSQLParser 到4.6引起的online表单开发的数据库导入出错解决

更多功能看演示系统

gitee源代码地址

后端代码: https://gitee.com/nbacheng/nbcio-boot

前端代码:https://gitee.com/nbacheng/nbcio-vue.git

在线演示(包括H5) : http://122.227.135.243:9888
 

    nbcio-boot因升级mybatis-plus到3.5.3.1和JSQLParser 到4.6引起的online表单开发的数据库导入出错,出错如下:

    初步判断应该跟online设计的jar包有关,因为这部分没开放源代码,所以只能考虑升级了

从3.0.02升级到3.2.2

<dependency><groupId>org.jeecgframework.boot</groupId><artifactId>hibernate-re</artifactId><version>3.2.2</version></dependency>

 升级后出现原先跟online表单相关的代码出现错误

其中BpmCommonComtroller去掉两个保存的引入类

 

FlowOnlCgformHeadController类修改如下:

package com.nbcio.modules.flowable.controller;import java.util.Arrays;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.online.cgform.entity.OnlCgformHead;
import org.jeecg.modules.online.cgform.model.b;
import org.jeecg.modules.online.cgform.service.IOnlCgformFieldService;
import org.jeecg.modules.online.cgform.service.IOnlCgformHeadService;
import org.jeecg.modules.online.cgform.service.IOnlineJoinQueryService;
import org.jeecg.modules.online.cgform.service.IOnlineService;
import org.jeecg.modules.online.config.exception.BusinessException;import com.nbcio.modules.flowable.entity.FlowOnlCgformHead;
import com.nbcio.modules.flowable.entity.vo.OnlCgformDataVo;
import com.nbcio.modules.flowable.service.IFlowOnlCgformHeadService;
import com.nbcio.modules.flowable.utils.onlineUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSONObject;import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;/*** @Description: flow_onl_cgform_head* @Author: nbacheng* @Date:   2022-10-22* @Version: V1.0*/
@Api(tags="flow_onl_cgform_head")
@RestController
@RequestMapping("/flowable/onlCgformHead")
@Slf4j
public class FlowOnlCgformHeadController extends JeecgController<FlowOnlCgformHead, IFlowOnlCgformHeadService> {@Autowiredprivate IFlowOnlCgformHeadService flowOnlCgformHeadService;@Autowiredprivate IOnlCgformHeadService onlCgformHeadService;@Autowiredprivate IOnlineService onlineService;@AutowiredIOnlineJoinQueryService onlineJoinQueryService;@Autowiredprivate IOnlCgformFieldService onlCgformFieldService;/*** 分页列表查询** @param flowOnlCgformHead* @param pageNo* @param pageSize* @param req* @return*/@AutoLog(value = "flow_onl_cgform_head-分页列表查询")@ApiOperation(value="flow_onl_cgform_head-分页列表查询", notes="flow_onl_cgform_head-分页列表查询")@GetMapping(value = "/list")public Result<?> queryPageList(FlowOnlCgformHead flowOnlCgformHead,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,HttpServletRequest req) {QueryWrapper<FlowOnlCgformHead> queryWrapper = QueryGenerator.initQueryWrapper(flowOnlCgformHead, req.getParameterMap());Page<FlowOnlCgformHead> page = new Page<FlowOnlCgformHead>(pageNo, pageSize);IPage<FlowOnlCgformHead> pageList = flowOnlCgformHeadService.page(page, queryWrapper);return Result.OK(pageList);}/***   添加** @param flowOnlCgformHead* @return*/@AutoLog(value = "flow_onl_cgform_head-添加")@ApiOperation(value="flow_onl_cgform_head-添加", notes="flow_onl_cgform_head-添加")@PostMapping(value = "/add")public Result<?> add(@RequestBody FlowOnlCgformHead flowOnlCgformHead) {flowOnlCgformHeadService.save(flowOnlCgformHead);return Result.OK("添加成功!");}/***  编辑** @param flowOnlCgformHead* @return*/@AutoLog(value = "flow_onl_cgform_head-编辑")@ApiOperation(value="flow_onl_cgform_head-编辑", notes="flow_onl_cgform_head-编辑")@PutMapping(value = "/edit")public Result<?> edit(@RequestBody FlowOnlCgformHead flowOnlCgformHead) {flowOnlCgformHeadService.updateById(flowOnlCgformHead);return Result.OK("编辑成功!");}/***   通过id删除** @param id* @return*/@AutoLog(value = "flow_onl_cgform_head-通过id删除")@ApiOperation(value="flow_onl_cgform_head-通过id删除", notes="flow_onl_cgform_head-通过id删除")@DeleteMapping(value = "/delete")public Result<?> delete(@RequestParam(name="id",required=true) String id) {flowOnlCgformHeadService.removeById(id);return Result.OK("删除成功!");}/***  批量删除** @param ids* @return*/@AutoLog(value = "flow_onl_cgform_head-批量删除")@ApiOperation(value="flow_onl_cgform_head-批量删除", notes="flow_onl_cgform_head-批量删除")@DeleteMapping(value = "/deleteBatch")public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {this.flowOnlCgformHeadService.removeByIds(Arrays.asList(ids.split(",")));return Result.OK("批量删除成功!");}/*** 通过id查询** @param id* @return*/@AutoLog(value = "flow_onl_cgform_head-通过id查询")@ApiOperation(value="flow_onl_cgform_head-通过id查询", notes="flow_onl_cgform_head-通过id查询")@GetMapping(value = "/queryById")public Result<?> queryById(@RequestParam(name="id",required=true) String id) {FlowOnlCgformHead flowOnlCgformHead = flowOnlCgformHeadService.getById(id);if(flowOnlCgformHead==null) {return Result.error("未找到对应数据");}return Result.OK(flowOnlCgformHead);}/*** 通过formId查询** @param formId* @return*/@AutoLog(value = "flow_onl_cgform_head-通过formId查询")@ApiOperation(value="flow_onl_cgform_head-通过formId查询", notes="flow_onl_cgform_head-通过formId查询")@GetMapping(value = "/queryByFormId/{formId}")public Result<?> queryByFormId(@PathVariable("formId")  String formId) {Map<String, Object> flowOnlCgformHeadMap = flowOnlCgformHeadService.getOnlCgformHeadByFormId(formId);if(flowOnlCgformHeadMap==null) {return Result.error("未找到对应数据");}return Result.OK(flowOnlCgformHeadMap);}@AutoLog(value = "getColumns-通过code查询获取online表单列表信息")@ApiOperation(value="getColumns-通过code查询获取online表单列表信息", notes="getColumns-通过code查询获取online表单列表信息")@GetMapping({"/getColumns/{code}"})public Result<b> getColumns(@PathVariable("code") String code) {Result result = new Result();OnlCgformHead onlCgformHead = (OnlCgformHead)this.onlCgformHeadService.getById(code);if (onlCgformHead == null) {result.error500("实体不存在");return result;} else {LoginUser loginuser = (LoginUser)SecurityUtils.getSubject().getPrincipal();b onlComplexModel = this.onlineService.queryOnlineConfig(onlCgformHead, loginuser.getUsername());onlComplexModel.setIsDesForm(onlCgformHead.getIsDesForm());onlComplexModel.setDesFormCode(onlCgformHead.getDesFormCode());result.setResult(onlComplexModel);result.setOnlTable(onlCgformHead.getTableName());return result;}}@AutoLog(value = "getData-通过code查询获取online表单数据")@ApiOperation(value="getData-通过code查询获取online表单数据", notes="getData-通过code查询获取online表单数据")@GetMapping({"/getData/{code}"})public Result<Map<String, Object>> getData(@PathVariable("code") String code, HttpServletRequest request) {Result result = new Result();OnlCgformHead onlCgformHead = (OnlCgformHead) this.onlCgformHeadService.getById(code);if (onlCgformHead == null) {result.error500("实体不存在");return result;} else {Map map = null;try {Map objectmap = onlineUtils.objectHashMap(request);boolean bJoinQuery = onlineUtils.isJoinQuery(onlCgformHead);if (bJoinQuery) {map = this.onlineJoinQueryService.pageList(onlCgformHead, objectmap);} else {map = this.onlCgformFieldService.queryAutolistPage(onlCgformHead, objectmap, (List) null);}this.getEnhanceList(onlCgformHead, map);result.setResult(map);} catch (Exception except) {log.error(except.getMessage(), except);result.error500("数据库查询失败," + except.getMessage());}result.setOnlTable(onlCgformHead.getTableName());return result;}}@AutoLog(value = "getFormItem-通过code查询获取子表单数据")@ApiOperation(value="getFormItem-通过code查询获取子表单数据", notes="getFormItem-通过code查询获取子表单数据")@GetMapping({"/getFormItem/{code}"})public Result<?> getFormItem(@PathVariable("code") String code, HttpServletRequest var2) {OnlCgformHead onlCgformHead = (OnlCgformHead) this.onlCgformHeadService.getById(code);if (onlCgformHead == null) {Result.error("表不存在");}Result result = new Result();LoginUser loginuser = (LoginUser) SecurityUtils.getSubject().getPrincipal();JSONObject formItemJsonObject = this.onlineService.queryOnlineFormItem(onlCgformHead, loginuser.getUsername());result.setResult(onlineUtils.resultOnlineFormItem(formItemJsonObject));result.setOnlTable(onlCgformHead.getTableName());return result;}/***   添加** @param flowOnlCgformHead* @return*/@AutoLog(value = "flow_onl_cgform_head-保存")@ApiOperation(value="flow_onl_cgform_head-保存", notes="flow_onl_cgform_head-保存")@PostMapping(value = "/save")public Result<?> save(@RequestBody OnlCgformDataVo onlCgformDataVo) {try {flowOnlCgformHeadService.save(onlCgformDataVo);} catch (BusinessException e) {// TODO Auto-generated catch blocke.printStackTrace();}return Result.OK("保存成功!");}/*** 导出excel** @param request* @param flowOnlCgformHead*/@RequestMapping(value = "/exportXls")public ModelAndView exportXls(HttpServletRequest request, FlowOnlCgformHead flowOnlCgformHead) {return super.exportXls(request, flowOnlCgformHead, FlowOnlCgformHead.class, "test_onl_cgform_head");}/*** 通过excel导入数据** @param request* @param response* @return*/@RequestMapping(value = "/importExcel", method = RequestMethod.POST)public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {return super.importExcel(request, response, FlowOnlCgformHead.class);}private void getEnhanceList(OnlCgformHead onlCgformHead, Map<String, Object> map) throws BusinessException {List recordlist = (List) map.get("records");this.onlCgformHeadService.executeEnhanceList(onlCgformHead, "query", recordlist);}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/83245.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

专业的ADAS测试记录仪ETHOS

随着ADAS驾驶辅助系统技术的快速发展及日臻成熟&#xff0c;近年来ADAS在全球汽车市场已开始快速普及和商业化&#xff0c;而如何确保ADAS系统的可靠和安全俨然成为汽车领域的重要问题。因此&#xff0c;ADAS驾驶辅助系统的测试也成为了各大整车厂及零部件厂商所关注的焦点。 一…

NodeJS原型链污染ctfshow_nodejs

文章目录 NodeJS原型链污染&ctfshow_nodejs前言0x01.原型与原型链0x02.prototype和__proto__分别是什么&#xff1f;0x03.原型链继承不同对象的原型链* 0x04.原型链污染原理0x05.merge()导致原型链污染0x06.ejs模板引擎RCEejs模板引擎另一处rce 0x07.jade模板引擎RCE【ctfs…

mysql数据库如何转移到oracle

mysql数据库转移到oracle 在研发过程中&#xff0c;可能会用到将表数据库中的表结构及数据迁移到另外一种数据库中&#xff0c; 比如说从mysql中迁移到oracle中&#xff0c; 常用的方法有好些&#xff0c;如下 1、使用powerdesigner&#xff0c;先连接mysql然后生成mysql的p…

自动化测试的生命周期是什么?

软件测试发展到今日&#xff0c;已经逐渐标准化且能力更强&#xff0c;其流程每天都在发展。测试人员的技术熟练程度对于整个测试阶段的成功来说至关重要。测试不再意味着仅仅发现错误&#xff1b;它的范围已经扩大&#xff0c;从任何开发项目开始就可以看出它的重要性。 当谈论…

《合成孔径雷达成像算法与实现》Figure3.9

代码复现如下&#xff1a; clc clear close all% 参数设置 TBP 100; % 时间带宽积 T 7.2e-6; % 脉冲持续时间 t_0 1e-6; % 脉冲回波时延% 参数计算 B TBP/T; …

管理类联考——逻辑——论证逻辑——汇总篇——真题和典例——支持

支持 没有特点的 199-2017-1-30——支持论点 离家300米的学校不能上&#xff0c;却被安排到2千米外的学校就读&#xff0c;某市一位适龄儿童在上小学时就遭遇了所在区教育局这样的安排&#xff0c;而这一安排是区教育局根据儿童户籍所在施教区做出的。根据该市教育局规定的“…

使用 Spring Boot 发送电子邮件(SMTP 集成)

本文探讨了 Spring Boot 与 SMTP 的集成以及如何从您自己的 Spring Boot 应用程序发送电子邮件。 本文探讨如何从您自己的Spring Boot应用程序发送电子邮件。 是的&#xff0c;您可以拥有专用的 REST API&#xff0c;它接受电子邮件发送者和接收者的电子邮件地址、主题…

图的遍历之 深度优先搜索和广度优先搜索

深度优先搜索的图文介绍 1. 深度优先搜索介绍 图的深度优先搜索(Depth First Search)&#xff0c;和树的先序遍历比较类似。 它的思想&#xff1a;假设初始状态是图中所有顶点均未被访问&#xff0c;则从某个顶点v出发&#xff0c;首先访问该顶点&#xff0c;然后依次从它的各…

虹科新闻 | 虹科与Power-MI正式建立合作伙伴关系

近日&#xff0c;虹科与Power-MI正式建立合作伙伴关系&#xff0c;双方就工业预测性维护领域进行深入的交流与合作&#xff0c;未来将共同致力于为亚洲市场提供完整的、更高质量的预测性维护解决方案&#xff0c;解决亚洲客户的工业自动化挑战。 虹科与Power-MI都表示十分期待…

(2023Arxiv)Meta-Transformer: A Unified Framework for Multimodal Learning

论文链接&#xff1a;https://arxiv.org/abs/2307.10802 代码链接&#xff1a;https://github.com/invictus717/MetaTransformer 项目主页&#xff1a;https://kxgong.github.io/meta_transformer/ 【注】&#xff1a;根据实验结果来看&#xff0c;每次输入一种数据源进行处…

【uniapp】一文读懂app端安装包升级

一、前言 首先&#xff0c;在app端开发上线的过程中&#xff0c;会面临一个问题&#xff0c;就是关于app端的版本升级的问题。如果不做相关处理来引导用户的话&#xff0c;那么app就会出现版本没有更新出现的各种问题&#xff0c;我们常见的有在线升级和去指定地址下载安装两种…

【JPCS出版】第五届能源、电力与电网国际学术会议(ICEPG 2023)

第五届能源、电力与电网国际学术会议&#xff08;ICEPG 2023&#xff09; 2023 5th International Conference on Energy, Power and Grid 最近几年&#xff0c;不少代表委员把目光投向能源电力领域&#xff0c;对促进新能源发电产业健康发展、电力绿色低碳发展&#xff0c;提…

0基础学习VR全景平台篇 第81篇:全景相机-临云镜如何直播推流

临云镜全景相机是阿里巴巴定制全景设备&#xff0c;实现空间三维信息的快速采集&#xff0c;与阿里云三维空间重建平台搭配&#xff0c;帮助品牌商与平台以较低的成本完成空间的快速采集&#xff0c;并支持对室内/室外空间的三维全景展示及空间漫游&#xff0c;同时支持VR浏览、…

【深度学习注意力机制系列】—— SKNet注意力机制(附pytorch实现)

SKNet&#xff08;Selective Kernel Network&#xff09;是一种用于图像分类和目标检测任务的深度神经网络架构&#xff0c;其核心创新是引入了选择性的多尺度卷积核&#xff08;Selective Kernel&#xff09;以及一种新颖的注意力机制&#xff0c;从而在不增加网络复杂性的情况…

利用Halcon绘制ROI区域或Mask区域

利用Halcon绘制ROI区域或Mask区域 概述内容补充参考老版本的ROI绘制&#xff08;Halcon 12-17&#xff09; 概述 ROI是Halcon中的一个很重要的概念&#xff0c;为了减少计算量&#xff0c;只关注待检测物体或该物体周围的一片区域即可&#xff0c;ROI就是图像处理所关注的区域…

LC-1289. 下降路径最小和 II(记忆化搜索==> 动态规划)

1289. 下降路径最小和 II 难度困难108 给你一个 n x n 整数矩阵 grid &#xff0c;请你返回 非零偏移下降路径 数字和的最小值。 非零偏移下降路径 定义为&#xff1a;从 grid 数组中的每一行选择一个数字&#xff0c;且按顺序选出来的数字中&#xff0c;相邻数字不在原数组…

vue 项目中 utils 中 js 文件早于 main.js 文件调用

vue项目中utils中js文件早于main.js文件调用

Kotlin反射访问androidx.collection.LruCache类私有变量

Kotlin反射访问androidx.collection.LruCache类私有变量 androidx.collection.LruCache类中定义了一个名为map的LinkedHashMap&#xff0c;map存储了所有LruCache的数据&#xff0c;有时候需要遍历访问该LinkedHashMap&#xff0c;取出里面的值&#xff0c;但是LruCache代码实…

LVS—DR集群的搭建

目录 lvs-dr模式工作原理&#xff1a; 搭建结构&#xff1a; 1、RS&#xff1a; 1&#xff09;两台RS准备好httpd环境和测试文件 2&#xff09;添加虚拟IP&#xff08;vip&#xff09;、添加访问本地vip的静态路由 并抑制ARP 2、DS&#xff1a; 1&#xff09;安装ipvasadm…

(el-switch)操作:Element-plus 中 Switch 将默认值修改为 “true“ 与 “false“(字符串)来控制开关

Ⅰ、Element-plus 提供的 Switch 开关组件与想要目标情况的对比&#xff1a; 1、Element-plus 提供 Switch 组件情况&#xff1a; 其一、Element-ui 自提供的 Switch 代码情况为(示例的代码)&#xff1a; // Element-plus 自提供的代码&#xff1a; // 此时是使用了 ts 语言环…