From ccdc9ca8ab3a74f2bd86f1a9027890fbe1bd5f65 Mon Sep 17 00:00:00 2001 From: pengjie <17373303529@163.com> Date: Wed, 5 Jun 2024 18:31:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=91=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exam/controller/ExamPaperController.java | 4 +++ .../ExamQuestionBankController.java | 18 ++++++++-- .../XzWorkerInfoAuditRecordController.java | 31 ++++++++++++++---- src/main/resources/excel/题库导入模版.xlsx | Bin 13031 -> 13117 bytes 4 files changed, 45 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamPaperController.java b/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamPaperController.java index c839f82f1..525aaf6bd 100644 --- a/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamPaperController.java +++ b/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamPaperController.java @@ -1,6 +1,7 @@ package com.zhgd.xmgl.modules.exam.controller; import com.zhgd.annotation.OperLog; +import com.zhgd.xmgl.modules.exam.entity.ExamQuestionBank; import com.zhgd.xmgl.modules.exam.vo.ExamPaperVo; import com.zhgd.xmgl.modules.exam.vo.ExamQuestionBankVo; import com.zhgd.xmgl.util.PageUtil; @@ -76,11 +77,13 @@ public class ExamPaperController { public Result> queryPageList(@ApiIgnore @RequestBody Map map) { QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(ExamPaper.class, map); Page page = PageUtil.getPage(map); + queryWrapper.orderByDesc("create_time"); IPage pageList = examPaperService.pageList(page, queryWrapper); return Result.success(pageList); } /** + * * 列表查询 * * @param examPaper @@ -91,6 +94,7 @@ public class ExamPaperController { @PostMapping(value = "/list") public Result> queryList(@RequestBody ExamPaper examPaper) { QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(examPaper); + queryWrapper.lambda().orderByDesc(ExamPaper::getCreateTime); List list = examPaperService.list(queryWrapper); return Result.success(list); } diff --git a/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamQuestionBankController.java b/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamQuestionBankController.java index d63bbe6ae..6b95f96de 100644 --- a/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamQuestionBankController.java +++ b/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamQuestionBankController.java @@ -24,6 +24,7 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import java.sql.Array; import java.util.*; import java.io.IOException; import java.io.UnsupportedEncodingException; @@ -101,6 +102,7 @@ public class ExamQuestionBankController { public Result> queryPageList(@ApiIgnore @RequestBody Map map) { QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(ExamQuestionBank.class, map); Page page = PageUtil.getPage(map); + queryWrapper.lambda().orderByDesc(ExamQuestionBank::getCreateTime); IPage pageList = examQuestionBankService.page(page, queryWrapper); return Result.success(pageList); } @@ -120,6 +122,7 @@ public class ExamQuestionBankController { @PostMapping(value = "/list") public Result> queryList(@ApiIgnore @RequestBody ExamQuestionBank examQuestionBank) { QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(examQuestionBank); + queryWrapper.lambda().orderByDesc(ExamQuestionBank::getCreateTime); List list = examQuestionBankService.list(queryWrapper); return Result.success(list); } @@ -321,6 +324,7 @@ public class ExamQuestionBankController { QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(ExamQuestionBank.class, map); //Step.2 AutoPoi 导出Excel ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + queryWrapper.lambda().orderByDesc(ExamQuestionBank::getCreateTime); List pageList = examQuestionBankService.list(queryWrapper); List subList = examSubjectService.list(); List resultList = new ArrayList<>(); @@ -375,6 +379,9 @@ public class ExamQuestionBankController { params.setNeedSave(true); try { List> examQuestionBankImports = ExcelUtils.jxlExlToList(file.getInputStream(), 0); + if (examQuestionBankImports.size() == 0) { + throw new CustomException("未识别到有效数据!", HttpStatus.INTERNAL_SERVER_ERROR); + } List examQuestionBankList = new ArrayList<>(); List examQuestionOptionList = new ArrayList<>(); int index = 0; @@ -391,7 +398,14 @@ public class ExamQuestionBankController { examQuestionBank.setQuestionName(examQuestionBankImport.get("*试题名称").trim()); examQuestionBank.setType(getType(examQuestionBankImport.get("*试题类型").trim())); examQuestionBank.setDifficulty(getDifficulty(examQuestionBankImport.get("*难易程度").trim())); - examQuestionBank.setOptions(examQuestionBankImport.get("*试题答案").trim()); + String options = examQuestionBankImport.get("*试题答案").trim(); + String [] option = new String[options.length()]; + for (int i = 0; i < options.length(); i++) { + option[i] = options.substring(i, i + 1); + } + List list = Arrays.asList(option); + Collections.sort(list); + examQuestionBank.setOptions(list.stream().collect(Collectors.joining())); examQuestionBank.setIsEnable(examQuestionBankImport.get("*是否应用").trim().equals("是") ? 1 : 0); try { examQuestionBank.setScore(Integer.parseInt(examQuestionBankImport.get("*作答正确得分").trim())); @@ -426,7 +440,7 @@ public class ExamQuestionBankController { return Result.ok("文件导入成功!数据行数:" + examQuestionBankImports.size()); } catch (Exception e) { log.error(e.getMessage()); - return Result.error("文件导入失败!"); + return Result.error(e.getMessage()); } finally { try { file.getInputStream().close(); diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzWorkerInfoAuditRecordController.java b/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzWorkerInfoAuditRecordController.java index e397632f7..2177cd6af 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzWorkerInfoAuditRecordController.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzWorkerInfoAuditRecordController.java @@ -260,14 +260,33 @@ public class XzWorkerInfoAuditRecordController { workerIds.add(workerId); WorkerInfoAuditRecord infoAuditRecord = workerInfoAuditRecordService.getById(workerId); List contractList = new ArrayList<>(); - WorkerContract workerContract = new WorkerContract(); - workerContract.setImageUrl(object.getJSONArray("contract").getJSONObject(0).getString("name") + "*" + object.getJSONArray("contract").getJSONObject(0).getString("url")); - contractList.add(workerContract); + JSONArray contract = object.getJSONArray("contract"); + if (contract != null) { + StringBuilder builder = new StringBuilder(); + for (int i = 0; i < contract.size(); i++) { + if (i > 0) { + builder.append(","); + } + builder.append(contract.getJSONObject(i).getString("name") + "*" + object.getJSONArray("contract").getJSONObject(0).getString("url")); + } + WorkerContract workerContract = new WorkerContract(); + workerContract.setImageUrl(builder.toString()); + contractList.add(workerContract); + } infoAuditRecord.setContractInfo(JSON.toJSONString(contractList)); List insuranceList = new ArrayList<>(); - WorkerInsurance workerInsurance = new WorkerInsurance(); - workerInsurance.setPhotoUrl(object.getJSONArray("insurance").getJSONObject(0).getString("name") + "*" + object.getJSONArray("insurance").getJSONObject(0).getString("url")); - insuranceList.add(workerInsurance); + JSONArray insurance = object.getJSONArray("insurance"); + if (insurance != null) { + StringBuilder builder = new StringBuilder(); + for (int i = 0; i < insurance.size(); i++) { + if (i > 0) { + builder.append(","); + } + builder.append(insurance.getJSONObject(i).getString("name") + "*" + object.getJSONArray("insurance").getJSONObject(0).getString("url")); + } + WorkerInsurance workerInsurance = new WorkerInsurance(); + workerInsurance.setPhotoUrl(builder.toString()); + } infoAuditRecord.setInsuranceInfo(JSON.toJSONString(insuranceList)); List certificateList = new ArrayList<>(); JSONArray certificate = object.getJSONArray("certificate"); diff --git a/src/main/resources/excel/题库导入模版.xlsx b/src/main/resources/excel/题库导入模版.xlsx index 7fe478788dbe89cec095f9ed37d36522e6451770..41be3ba161fc5f4e7c3de5f04fc223b7a0172446 100644 GIT binary patch delta 2944 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 MJ=B0K@_)Sl0MW2YhX4Qo delta 2798 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