Browse Source

excel数据导入及更换后台图标

master
蟑螂恶霸 3 years ago
parent
commit
54c00eff3d
  1. 3
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/css/newsty.css
  2. 5
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/css/style.default.css
  3. BIN
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/img/logo-qmyl.png
  4. 2
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/index.html
  5. 2
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/index_t.html
  6. 2
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/login.html
  7. 11
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/library/view.html
  8. 4
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/question/add.html
  9. 6
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/question/detail.html
  10. 4
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/question/edit.html
  11. 49
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/question/view.html
  12. 32
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/QuestionBankController.java
  13. 1
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneManageController.java
  14. 79
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/QuestionImportDataModel.java
  15. 49
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/SceneImportDataModel.java
  16. 8
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/mapper/QuestionBankMapper.java
  17. 8
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/IQuestionBankService.java
  18. 4
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/BannerManageServiceImpl.java
  19. 4
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/KnowledgeLibraryServiceImpl.java
  20. 51
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/QuestionBankServiceImpl.java
  21. 7
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/QuestionBankMapper.xml

3
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/css/newsty.css

@ -14,8 +14,9 @@ body {
margin-left: 16px; margin-left: 16px;
width: 360px; width: 360px;
height: 72px; height: 72px;
background: url(../img/logo-qmyl.png) no-repeat center 22px;
/*background: url(../img/logo-yjy.png) no-repeat center 22px;*/ /*background: url(../img/logo-yjy.png) no-repeat center 22px;*/
background: url(../img/logo-car.png) no-repeat center 22px; /*background: url(../img/logo-car.png) no-repeat center 22px;*/
/*background: url(../img/zxt.png) no-repeat center 22px;*/ /*background: url(../img/zxt.png) no-repeat center 22px;*/
/*background: url(../img/log-szsf.png) no-repeat 10px 22px;*/ /*background: url(../img/log-szsf.png) no-repeat 10px 22px;*/
background-size: 92%; background-size: 92%;

5
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/css/style.default.css

@ -1851,8 +1851,9 @@ input.input-material.is-invalid ~ label {
.login-page .form-holder .info .logosys { .login-page .form-holder .info .logosys {
width: 420px; width: 420px;
height: 72px; height: 72px;
background: url(../img/logo_sz.png) no-repeat 0 0; background: url(../img/logo-qmyl.png) no-repeat 0 0;
background: url(../img/logo-car.png) no-repeat 0 0; /*background: url(../img/logo_sz.png) no-repeat 0 0;*/
/*background: url(../img/logo-car.png) no-repeat 0 0;*/
/*background: url(../img/log-szsf.png) no-repeat 0 0;*/ /*background: url(../img/log-szsf.png) no-repeat 0 0;*/
/*background: url(../img/zxt.png) no-repeat 0 0;*/ /*background: url(../img/zxt.png) no-repeat 0 0;*/
float: left; float: left;

BIN
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/img/logo-qmyl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

2
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/index.html

@ -4,7 +4,7 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="renderer" content="webkit"> <meta name="renderer" content="webkit">
<title>公务车辆管理系统</title> <title>全民演练管理系统</title>
<!--[if lt IE 9]> <!--[if lt IE 9]>
<meta http-equiv="refresh" content="0;ie.html"/> <meta http-equiv="refresh" content="0;ie.html"/>
<![endif]--> <![endif]-->

2
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/index_t.html

@ -5,7 +5,7 @@
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/> <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/>
<meta http-equiv="X-UA-Compatible" content="ie=edge"/> <meta http-equiv="X-UA-Compatible" content="ie=edge"/>
<title>公务车辆管理系统</title> <title>全民演练管理系统</title>
<!-- CSS files --> <!-- CSS files -->
<link href="/workStyle/tabler/css/tabler.min.css" rel="stylesheet"/> <link href="/workStyle/tabler/css/tabler.min.css" rel="stylesheet"/>
<link href="/workStyle/tabler/css/tabler-flags.min.css" rel="stylesheet"/> <link href="/workStyle/tabler/css/tabler-flags.min.css" rel="stylesheet"/>

2
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/login.html

@ -37,7 +37,7 @@
<div class="logo"> <div class="logo">
</div> </div>
<div class="logosys">公务车辆管理系统</div> <div class="logosys">全民演练系统</div>
</div> </div>
</div> </div>

11
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/library/view.html

@ -147,6 +147,17 @@
return $.table.selectDictLabel(pinneds, value); return $.table.selectDictLabel(pinneds, value);
} }
}, },
{
field: 'creator',
title: '创建人',
align: 'center',
},
{
field: 'createTime',
title: '创建时间',
align: 'center',
sortable: true
},
{ {
field: 'publishdate', field: 'publishdate',
title: '发布时间', title: '发布时间',

4
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/question/add.html

@ -29,6 +29,10 @@
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select> </select>
</div> </div>
<label class="col-sm-2 control-label is-required">答案:</label>
<div class="col-sm-4">
<input class="form-control" type="text" name="answer" id="answer" required>
</div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-2 control-label">选项:</label> <label class="col-sm-2 control-label">选项:</label>

6
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/question/detail.html

@ -18,7 +18,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-2 control-label is-required">标题:</label> <label class="col-sm-2 control-label is-required">标题:</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input class="form-control" type="text" name="title" id="title" th:field="*{title}" required> <input class="form-control" type="text" name="title" id="title" th:field="*{title}" disabled required>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -35,6 +35,10 @@
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:field="*{type}" th:value="${dict.dictValue}"></option> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:field="*{type}" th:value="${dict.dictValue}"></option>
</select> </select>
</div> </div>
<label class="col-sm-2 control-label is-required">答案:</label>
<div class="col-sm-4">
<input class="form-control" type="text" name="answer" id="answer" th:field="*{answer}" disabled required>
</div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-2 control-label">选项:</label> <label class="col-sm-2 control-label">选项:</label>

4
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/question/edit.html

@ -30,6 +30,10 @@
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:field="*{type}" th:value="${dict.dictValue}"></option> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:field="*{type}" th:value="${dict.dictValue}"></option>
</select> </select>
</div> </div>
<label class="col-sm-2 control-label is-required">答案:</label>
<div class="col-sm-4">
<input class="form-control" type="text" name="answer" id="answer" th:field="*{answer}" required>
</div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-2 control-label">选项:</label> <label class="col-sm-2 control-label">选项:</label>

49
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/question/view.html

@ -46,7 +46,10 @@
<script th:inline="javascript"> <script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('small:question:edit')}]]; var editFlag = [[${@permission.hasPermi('small:question:edit')}]];
var removeFlag = [[${@permission.hasPermi('small:question:remove')}]]; var removeFlag = [[${@permission.hasPermi('small:question:remove')}]];
var importFlag = [[${@permission.hasPermi('small:question:import')}]];
var publishStates = [[${@dict.getType('publish_state')}]]; var publishStates = [[${@dict.getType('publish_state')}]];
var questionTypes = [[${@dict.getType('question_type')}]];
var importboolen = (importFlag == "" ? true : false)
var prefix = ctx + "small/question"; var prefix = ctx + "small/question";
$(function () { $(function () {
@ -60,9 +63,14 @@
updateUrl: prefix + "/edit/{id}", updateUrl: prefix + "/edit/{id}",
detailUrl: prefix + "/detail/{id}", detailUrl: prefix + "/detail/{id}",
removeUrl: prefix + "/remove", removeUrl: prefix + "/remove",
importUrl: prefix + "/importData",
sortName: "srot", sortName: "srot",
modalName: "知识点", modalName: "知识点",
uniqueId:"guid", uniqueId:"guid",
showCustomImport: importboolen,
customImportFunction: function () {
$.table.importExcel();
},
columns: [{ columns: [{
checkbox: true checkbox: true
}, },
@ -82,6 +90,18 @@
field: 'title', field: 'title',
title: '标题' title: '标题'
}, },
{
field: 'answer',
title: '答案'
},
{
field: 'type',
title: '题型',
align: 'center',
formatter: function (value, row, index) {
return $.table.selectDictLabel(questionTypes, value);
}
},
{ {
field : 'status', field : 'status',
title : '状态', title : '状态',
@ -90,6 +110,17 @@
return $.table.selectDictLabel(statuss, value); return $.table.selectDictLabel(statuss, value);
} }
}, },
{
field: 'creator',
title: '创建人',
align: 'center',
},
{
field: 'createTime',
title: '创建时间',
align: 'center',
sortable: true
},
{ {
field: 'publishdate', field: 'publishdate',
title: '发布时间', title: '发布时间',
@ -111,11 +142,6 @@
var actions = []; var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.guid + '\')"><i class="fa fa-edit"></i> 详情</a> '); actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.guid + '\')"><i class="fa fa-edit"></i> 详情</a> ');
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.guid + '\')"><i class="fa fa-edit"></i> 编辑</a> '); actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.guid + '\')"><i class="fa fa-edit"></i> 编辑</a> ');
if (row.publishstate == 0) {
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="toPublishState(\'' + row.guid + '\',1)"><i class="fa fa-edit"></i> 发布</a> ');
} else if (row.publishstate == 1) {
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="toPublishState(\'' + row.guid + '\',3)"><i class="fa fa-edit"></i> 下线</a> ');
}
// more.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.guid + '\')"><i class="fa fa-remove"></i> 删除</a>'); // more.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.guid + '\')"><i class="fa fa-remove"></i> 删除</a>');
return actions.join(''); return actions.join('');
} }
@ -192,4 +218,17 @@
</script> </script>
</body> </body>
<script id="importTpl" type="text/template">
<form enctype="multipart/form-data" class="mt20 mb10">
<div class="col-xs-offset-1">
<input type="file" id="file" name="file"/>
<div class="mt10 pt5">
<a href="/small/question/importTemplate"><i class="fa fa-file-excel-o"></i> 下载模板</a>
</div>
<font color="red" class="pull-left mt10">
提示:仅允许导入“xls”或“xlsx”格式文件!
</font>
</div>
</form>
</script>
</html> </html>

32
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/QuestionBankController.java

@ -1,5 +1,6 @@
package com.zdxt.knowledge.controller; package com.zdxt.knowledge.controller;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -9,11 +10,17 @@ import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.TableDataInfo; import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.domain.AnswerBank; import com.zdxt.knowledge.domain.AnswerBank;
import com.zdxt.knowledge.domain.QuestionBank; import com.zdxt.knowledge.domain.QuestionBank;
import com.zdxt.knowledge.domain.QuestionImportDataModel;
import com.zdxt.knowledge.domain.SceneImportDataModel;
import com.zdxt.knowledge.dto.QuestionBankBean; import com.zdxt.knowledge.dto.QuestionBankBean;
import com.zdxt.knowledge.service.IAnswerBankService; import com.zdxt.knowledge.service.IAnswerBankService;
import com.zdxt.knowledge.service.IQuestionBankService; import com.zdxt.knowledge.service.IQuestionBankService;
import com.zdxt.knowledge.utils.ExcelUtil;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.Resource;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -181,4 +188,29 @@ public class QuestionBankController extends BaseController
return ZDResponse.error("操作失败"); return ZDResponse.error("操作失败");
} }
} }
/**
* 删除
*/
@PostMapping("/importData")
@ResponseBody
@ApiOperation("导入记录")
public ZDResponse importRecord(@RequestPart("file") MultipartFile multipartFile) {
return questionBankService.importData(multipartFile);
}
/**
* 导入模版
*/
@GetMapping("/importTemplate")
@ApiOperation("获得导入记录文档样品")
@ResponseBody
public ResponseEntity<Resource> exampleImportRecord() {
QuestionImportDataModel dataModel = new QuestionImportDataModel();
return ExcelUtil.getExcelSimpleResponseEntity(
null,
Collections.singletonList(dataModel),
QuestionImportDataModel.class
);
}
} }

1
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneManageController.java

@ -146,7 +146,6 @@ public class SceneManageController extends BaseController {
dataModel.setType("文字"); dataModel.setType("文字");
dataModel.setSourceUnit("深圳消防"); dataModel.setSourceUnit("深圳消防");
dataModel.setIsOpen("是"); dataModel.setIsOpen("是");
dataModel.setSort(1);
dataModel.setSceneBackground("开展全员消防培训及演练活动,增强员工防火意识、提升火灾处理能力"); dataModel.setSceneBackground("开展全员消防培训及演练活动,增强员工防火意识、提升火灾处理能力");
dataModel.setDescribe("逐人过关熟悉掌握基本防火意识及注意事项;强化操练灭火器等消防装备器材的使用方法和操作"); dataModel.setDescribe("逐人过关熟悉掌握基本防火意识及注意事项;强化操练灭火器等消防装备器材的使用方法和操作");
return ExcelUtil.getExcelSimpleResponseEntity( return ExcelUtil.getExcelSimpleResponseEntity(

79
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/QuestionImportDataModel.java

@ -0,0 +1,79 @@
package com.zdxt.knowledge.domain;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.zdxt.common.BaseDomain;
/**
* 题库对象 question_bank
*
* @author ruoyi
* @date 2023-12-29
*/
public class QuestionImportDataModel {
/** 标题 */
@ExcelProperty("标题")
@ColumnWidth(20)
private String title;
/** 内容 */
@ExcelProperty("内容")
@ColumnWidth(20)
private String content;
/** 提示 */
@ExcelProperty("文字提示")
@ColumnWidth(20)
private String tips;
/** 答案 */
@ExcelProperty("答案")
@ColumnWidth(20)
private String answer;
/** 类型(0:单选,1:多选,2:判断) */
@ExcelProperty("类型")
@ColumnWidth(20)
private String type;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getTips() {
return tips;
}
public void setTips(String tips) {
this.tips = tips;
}
public String getAnswer() {
return answer;
}
public void setAnswer(String answer) {
this.answer = answer;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}

49
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/SceneImportDataModel.java

@ -2,12 +2,10 @@ package com.zdxt.knowledge.domain;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
/** /**
* @author yanyan * @author yanyan
*/ */
@Data
public class SceneImportDataModel { public class SceneImportDataModel {
/** /**
@ -50,4 +48,51 @@ public class SceneImportDataModel {
@ColumnWidth(20) @ColumnWidth(20)
private String describe; private String describe;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getSourceUnit() {
return sourceUnit;
}
public void setSourceUnit(String sourceUnit) {
this.sourceUnit = sourceUnit;
}
public String getIsOpen() {
return isOpen;
}
public void setIsOpen(String isOpen) {
this.isOpen = isOpen;
}
public String getSceneBackground() {
return sceneBackground;
}
public void setSceneBackground(String sceneBackground) {
this.sceneBackground = sceneBackground;
}
public String getDescribe() {
return describe;
}
public void setDescribe(String describe) {
this.describe = describe;
}
} }

8
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/mapper/QuestionBankMapper.java

@ -1,6 +1,7 @@
package com.zdxt.knowledge.mapper; package com.zdxt.knowledge.mapper;
import com.zdxt.knowledge.domain.QuestionBank; import com.zdxt.knowledge.domain.QuestionBank;
import com.zdxt.knowledge.domain.SceneManage;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -67,4 +68,11 @@ public interface QuestionBankMapper
* @return * @return
*/ */
public int updatePublishState(@Param("guids") String[] guids, @Param("state") String state, @Param("publishdate") String publishdate); public int updatePublishState(@Param("guids") String[] guids, @Param("state") String state, @Param("publishdate") String publishdate);
/**
* 批量新增【请填写功能名称】
* @param questionBanks 【请填写功能名称】
* @return 结果
*/
public int batchInsertQuestion(List<QuestionBank> questionBanks);
} }

8
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/IQuestionBankService.java

@ -1,5 +1,6 @@
package com.zdxt.knowledge.service; package com.zdxt.knowledge.service;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.zdxtFile.AttFileRespDTO; import com.zdxt.common.zdxtFile.AttFileRespDTO;
import com.zdxt.knowledge.domain.QuestionBank; import com.zdxt.knowledge.domain.QuestionBank;
import com.zdxt.knowledge.dto.QuestionBankBean; import com.zdxt.knowledge.dto.QuestionBankBean;
@ -83,4 +84,11 @@ public interface IQuestionBankService
* @return * @return
*/ */
public int removeFile(String key); public int removeFile(String key);
/**
* 导入【请填写功能名称】信息
* @param multipartFile
* @return 结果
*/
ZDResponse importData(MultipartFile multipartFile);
} }

4
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/BannerManageServiceImpl.java

@ -7,6 +7,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.zdxt.auth.dto.ZdxtFileBean; import com.zdxt.auth.dto.ZdxtFileBean;
import com.zdxt.auth.feign.FileUploadApi; import com.zdxt.auth.feign.FileUploadApi;
import com.zdxt.auth.feign.UserApi;
import com.zdxt.auth.feign.ZdxtFileCommonApi; import com.zdxt.auth.feign.ZdxtFileCommonApi;
import com.zdxt.common.util.Convert; import com.zdxt.common.util.Convert;
import com.zdxt.common.util.DateUtils; import com.zdxt.common.util.DateUtils;
@ -33,6 +34,7 @@ public class BannerManageServiceImpl implements IBannerManageService
@Autowired private BannerManageMapper bannerManageMapper; @Autowired private BannerManageMapper bannerManageMapper;
@Autowired private FileUploadApi fileUploadApi; @Autowired private FileUploadApi fileUploadApi;
@Autowired private ZdxtFileCommonApi zdxtFileCommonApi; @Autowired private ZdxtFileCommonApi zdxtFileCommonApi;
@Autowired private UserApi userApi;
/** /**
* 查询横幅管理 * 查询横幅管理
@ -69,6 +71,7 @@ public class BannerManageServiceImpl implements IBannerManageService
{ {
bannerManage.setGuid(StringUtils.getUUID()); bannerManage.setGuid(StringUtils.getUUID());
bannerManage.setSrot(0L); bannerManage.setSrot(0L);
bannerManage.setCreator(userApi.getCurrentUser().getUserName());
int resNum = bannerManageMapper.insertBannerManage(bannerManage); int resNum = bannerManageMapper.insertBannerManage(bannerManage);
// 上传文件,并在附件表中添加记录 // 上传文件,并在附件表中添加记录
@ -95,6 +98,7 @@ public class BannerManageServiceImpl implements IBannerManageService
@Override @Override
public int updateBannerManage(BannerManage bannerManage, MultipartFile[] files) public int updateBannerManage(BannerManage bannerManage, MultipartFile[] files)
{ {
bannerManage.setUpdator(userApi.getCurrentUser().getUserName());
int resNum = bannerManageMapper.updateBannerManage(bannerManage); int resNum = bannerManageMapper.updateBannerManage(bannerManage);
// 上传文件,并在附件表中添加记录 // 上传文件,并在附件表中添加记录

4
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/KnowledgeLibraryServiceImpl.java

@ -7,6 +7,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.zdxt.auth.dto.ZdxtFileBean; import com.zdxt.auth.dto.ZdxtFileBean;
import com.zdxt.auth.feign.FileUploadApi; import com.zdxt.auth.feign.FileUploadApi;
import com.zdxt.auth.feign.UserApi;
import com.zdxt.auth.feign.ZdxtFileCommonApi; import com.zdxt.auth.feign.ZdxtFileCommonApi;
import com.zdxt.common.util.Convert; import com.zdxt.common.util.Convert;
import com.zdxt.common.util.DateUtils; import com.zdxt.common.util.DateUtils;
@ -33,6 +34,7 @@ public class KnowledgeLibraryServiceImpl implements IKnowledgeLibraryService
@Autowired private KnowledgeLibraryMapper knowledgeLibraryMapper; @Autowired private KnowledgeLibraryMapper knowledgeLibraryMapper;
@Autowired private FileUploadApi fileUploadApi; @Autowired private FileUploadApi fileUploadApi;
@Autowired private ZdxtFileCommonApi zdxtFileCommonApi; @Autowired private ZdxtFileCommonApi zdxtFileCommonApi;
@Autowired private UserApi userApi;
/** /**
* 查询知识库 * 查询知识库
@ -69,6 +71,7 @@ public class KnowledgeLibraryServiceImpl implements IKnowledgeLibraryService
{ {
knowledgeLibrary.setGuid(StringUtils.getUUID()); knowledgeLibrary.setGuid(StringUtils.getUUID());
knowledgeLibrary.setSrot(0L); knowledgeLibrary.setSrot(0L);
knowledgeLibrary.setCreator(userApi.getCurrentUser().getUserName());
int resNum = knowledgeLibraryMapper.insertKnowledgeLibrary(knowledgeLibrary); int resNum = knowledgeLibraryMapper.insertKnowledgeLibrary(knowledgeLibrary);
// 上传文件,并在附件表中添加记录 // 上传文件,并在附件表中添加记录
@ -102,6 +105,7 @@ public class KnowledgeLibraryServiceImpl implements IKnowledgeLibraryService
@Override @Override
public int updateKnowledgeLibrary(KnowledgeLibrary knowledgeLibrary, MultipartFile[] files) public int updateKnowledgeLibrary(KnowledgeLibrary knowledgeLibrary, MultipartFile[] files)
{ {
knowledgeLibrary.setUpdator(userApi.getCurrentUser().getUserName());
int resNum = knowledgeLibraryMapper.updateKnowledgeLibrary(knowledgeLibrary); int resNum = knowledgeLibraryMapper.updateKnowledgeLibrary(knowledgeLibrary);
// 上传文件,并在附件表中添加记录 // 上传文件,并在附件表中添加记录

51
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/QuestionBankServiceImpl.java

@ -2,24 +2,34 @@ package com.zdxt.knowledge.service.impl;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.zdxt.auth.dto.DictDataBean;
import com.zdxt.auth.dto.UserBean;
import com.zdxt.auth.dto.ZdxtFileBean; import com.zdxt.auth.dto.ZdxtFileBean;
import com.zdxt.auth.feign.DictDataApi;
import com.zdxt.auth.feign.FileUploadApi; import com.zdxt.auth.feign.FileUploadApi;
import com.zdxt.auth.feign.UserApi;
import com.zdxt.auth.feign.ZdxtFileCommonApi; import com.zdxt.auth.feign.ZdxtFileCommonApi;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.util.Convert; import com.zdxt.common.util.Convert;
import com.zdxt.common.util.DateUtils; import com.zdxt.common.util.DateUtils;
import com.zdxt.common.util.StringUtils; import com.zdxt.common.util.StringUtils;
import com.zdxt.common.zdxtFile.AttFileRespDTO; import com.zdxt.common.zdxtFile.AttFileRespDTO;
import com.zdxt.common.zdxtFile.FilePreviewUtilBean; import com.zdxt.common.zdxtFile.FilePreviewUtilBean;
import com.zdxt.common.zdxtFile.ZdxtFileCommon; import com.zdxt.common.zdxtFile.ZdxtFileCommon;
import com.zdxt.knowledge.domain.AnswerBank; import com.zdxt.knowledge.domain.*;
import com.zdxt.knowledge.domain.QuestionBank;
import com.zdxt.knowledge.dto.QuestionBankBean; import com.zdxt.knowledge.dto.QuestionBankBean;
import com.zdxt.knowledge.mapper.AnswerBankMapper; import com.zdxt.knowledge.mapper.AnswerBankMapper;
import com.zdxt.knowledge.mapper.QuestionBankMapper; import com.zdxt.knowledge.mapper.QuestionBankMapper;
import com.zdxt.knowledge.service.IQuestionBankService; import com.zdxt.knowledge.service.IQuestionBankService;
import com.zdxt.knowledge.utils.ExcelUtil;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -37,6 +47,8 @@ public class QuestionBankServiceImpl implements IQuestionBankService
@Autowired private AnswerBankMapper answerBankMapper; @Autowired private AnswerBankMapper answerBankMapper;
@Autowired private FileUploadApi fileUploadApi; @Autowired private FileUploadApi fileUploadApi;
@Autowired private ZdxtFileCommonApi zdxtFileCommonApi; @Autowired private ZdxtFileCommonApi zdxtFileCommonApi;
@Autowired private UserApi userApi;
@Autowired private DictDataApi dictDataApi;
/** /**
* 查询题库 * 查询题库
@ -76,6 +88,7 @@ public class QuestionBankServiceImpl implements IQuestionBankService
questionBank.setGuid(StringUtils.getUUID()); questionBank.setGuid(StringUtils.getUUID());
questionBank.setSrot(0L); questionBank.setSrot(0L);
questionBank.setCreator(userApi.getCurrentUser().getUserName());
int resNum = questionBankMapper.insertQuestionBank(questionBank); int resNum = questionBankMapper.insertQuestionBank(questionBank);
String[] codes = bean.getCodes().split(","); String[] codes = bean.getCodes().split(",");
String[] values = bean.getValues().split(","); String[] values = bean.getValues().split(",");
@ -112,6 +125,7 @@ public class QuestionBankServiceImpl implements IQuestionBankService
{ {
QuestionBank questionBank = new QuestionBank(); QuestionBank questionBank = new QuestionBank();
BeanUtil.copyProperties(bean, questionBank); BeanUtil.copyProperties(bean, questionBank);
questionBank.setUpdator(userApi.getCurrentUser().getUserName());
int resNum = questionBankMapper.updateQuestionBank(questionBank); int resNum = questionBankMapper.updateQuestionBank(questionBank);
String[] codes = bean.getCodes().split(","); String[] codes = bean.getCodes().split(",");
@ -194,4 +208,37 @@ public class QuestionBankServiceImpl implements IQuestionBankService
public int removeFile(String key) { public int removeFile(String key) {
return zdxtFileCommonApi.deleteZdxtFileById(key); return zdxtFileCommonApi.deleteZdxtFileById(key);
} }
@Override
public ZDResponse importData(MultipartFile multipartFile) {
List<QuestionImportDataModel> dataModelList = ExcelUtil.read(multipartFile, QuestionImportDataModel.class);
DictDataBean dictDataBean = new DictDataBean();
dictDataBean.setDictType("question_type");
List<DictDataBean> questionTypeDict = dictDataApi.getDictData(dictDataBean);
Map<String, String> questionTypeMap = questionTypeDict.stream().collect(Collectors.toMap(DictDataBean::getDictLabel, DictDataBean::getDictValue));
if (CollectionUtils.isNotEmpty(dataModelList)) {
List<QuestionBank> questionBankList = dataModelList.stream()
.filter(Objects::nonNull).peek(item -> {
String type = questionTypeMap.get(item.getType());
item.setType(type == null ? item.getType() : type);
})
.map(item -> {
UserBean userBean = userApi.getCurrentUser();
QuestionBank questionBank = new QuestionBank();
BeanUtils.copyProperties(item, questionBank);
questionBank.setGuid(StringUtils.getUUID());
questionBank.setType(Integer.valueOf(item.getType()));
questionBank.setCreator(userBean.getUserName());
return questionBank;
})
.collect(Collectors.toList());
return questionBankMapper.batchInsertQuestion(questionBankList) > 0
? ZDResponse.success("导入成功") : ZDResponse.error("导入失败");
} else {
return ZDResponse.error("上传数据不允许为空!");
}
}
} }

7
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/QuestionBankMapper.xml

@ -126,4 +126,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach> </foreach>
</update> </update>
<insert id="batchInsertQuestion">
insert into question_bank
(guid, title, `content`, tips, answer, `type`, creator) values
<foreach collection="questionBanks" item="obj" separator=",">
(#{obj.guid},#{obj.title},#{obj.content},#{obj.tips},#{obj.answer},#{obj.type},#{obj.creator})
</foreach>
</insert>
</mapper> </mapper>
Loading…
Cancel
Save