提交 bf7dc4f2 作者: dingtalk_nnkplh

学校上传图片功能修改,录入开学时间功能修改

上级 90a09e68
...@@ -103,7 +103,8 @@ public class TbEnrollmentTimeController extends BaseController ...@@ -103,7 +103,8 @@ public class TbEnrollmentTimeController extends BaseController
public AjaxResult addSave(TbEnrollmentTime tbEnrollmentTime) public AjaxResult addSave(TbEnrollmentTime tbEnrollmentTime)
{ {
tbEnrollmentTime.setCreator(getUserId()); tbEnrollmentTime.setCreator(getUserId());
return toAjax(tbEnrollmentTimeService.insertTbEnrollmentTime(tbEnrollmentTime)); tbEnrollmentTimeService.insertTbEnrollmentTimeBatch(tbEnrollmentTime);
return AjaxResult.success();
} }
/** /**
...@@ -182,4 +183,14 @@ public class TbEnrollmentTimeController extends BaseController ...@@ -182,4 +183,14 @@ public class TbEnrollmentTimeController extends BaseController
tbSchoolMajor.setMajorCnName(majorCnName); tbSchoolMajor.setMajorCnName(majorCnName);
return tbEnrollmentTimeService.selectDegreeBySchooIdAndMajorName(tbSchoolMajor); return tbEnrollmentTimeService.selectDegreeBySchooIdAndMajorName(tbSchoolMajor);
} }
@RequiresPermissions("system:time:list")
@GetMapping("/selectDegrees/{schoolId}/{degreeType}")
@ResponseBody
public List<TbSchoolMajor> selectDegreeBySchoolIdAndDegreeType(@PathVariable String schoolId,@PathVariable String degreeType){
TbSchoolMajor tbSchoolMajor=new TbSchoolMajor();
tbSchoolMajor.setSchoolId(schoolId);
tbSchoolMajor.setDegreeType(degreeType);
return tbEnrollmentTimeService.selectDegreeBySchoolIdAndDegreeType(tbSchoolMajor);
}
} }
...@@ -258,24 +258,15 @@ public class TbSchoolController extends BaseController ...@@ -258,24 +258,15 @@ public class TbSchoolController extends BaseController
return prefix + "/uploadSchoolCover"; return prefix + "/uploadSchoolCover";
} }
@Log(title = "学校信息", businessType = BusinessType.INSERT) @GetMapping("/uploadSchoolBackground")
@PostMapping("/uploadImage") public String uploadSchoolBackground(ModelMap mmap)
@ResponseBody
public AjaxResult updateImage(@RequestParam("imageFile") MultipartFile file)
{
try
{ {
String fileName = FileUploadUtils.upload(RuoYiConfig.getUploadPath(), file, MimeTypeUtils.IMAGE_EXTENSION); TbSchool tbSchool=new TbSchool();
AjaxResult ajax = AjaxResult.success(); mmap.put("school",tbSchool);
ajax.put("fileName", fileName); return prefix + "/uploadSchoolBackground";
return ajax;
}
catch (Exception e)
{
return AjaxResult.error(e.getMessage());
}
} }
@GetMapping("/uploadFileName") @GetMapping("/uploadFileName")
public AjaxResult uploadFileName(@RequestParam("schoolCover") String schoolCover){ public AjaxResult uploadFileName(@RequestParam("schoolCover") String schoolCover){
AjaxResult ajax = AjaxResult.success(); AjaxResult ajax = AjaxResult.success();
......
...@@ -2,6 +2,17 @@ ...@@ -2,6 +2,17 @@
<html lang="zh" xmlns:th="http://www.thymeleaf.org" > <html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head> <head>
<th:block th:include="include :: header('新增学校设施')" /> <th:block th:include="include :: header('新增学校设施')" />
<style>
input[type="checkbox"] {
margin-right: 10px;
margin-left: 10px;
cursor: pointer;
/*width: 30px;*/
/*height: 30px;*/
position: relative;
font-size: large;
}
</style>
</head> </head>
<body class="white-bg"> <body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> <div class="wrapper wrapper-content animated fadeInRight ibox-content">
......
...@@ -149,7 +149,7 @@ ...@@ -149,7 +149,7 @@
<label class="col-sm-3 control-label is-required">学校封面(大小:390*280):</label> <label class="col-sm-3 control-label is-required">学校封面(大小:390*280):</label>
<input name="schoolCover" id="schoolCover" type="hidden"> <input name="schoolCover" id="schoolCover" type="hidden">
<div class="col-sm-8"> <div class="col-sm-8">
<img id="abc" th:src="(${#strings.isEmpty(school.schoolCover)}) ? @{/img/profile.jpg} : @{${school.schoolCover}}" th:onerror="'this.src=\'' + @{'/img/profile.jpg'} + '\''"> <img id="cover" th:src="(${#strings.isEmpty(school.schoolCover)}) ? @{/img/profile.jpg} : @{${school.schoolCover}}" th:onerror="'this.src=\'' + @{'/img/profile.jpg'} + '\''">
<p><a href="javascript:uploadImage()">上传图像</a></p> <p><a href="javascript:uploadImage()">上传图像</a></p>
</div> </div>
</div> </div>
...@@ -157,9 +157,11 @@ ...@@ -157,9 +157,11 @@
<label class="col-sm-3 control-label is-required">学校背景图(大小:1920*300):</label> <label class="col-sm-3 control-label is-required">学校背景图(大小:1920*300):</label>
<input name="backgroundImage" id="backgroundImage" type="hidden"> <input name="backgroundImage" id="backgroundImage" type="hidden">
<div class="col-sm-8"> <div class="col-sm-8">
<div class="file-loading"> <!-- <div class="file-loading">-->
<input id="singleFile1" name="file" type="file"> <!-- <input id="singleFile1" name="file" type="file">-->
</div> <!-- </div>-->
<img id="background" th:src="(${#strings.isEmpty(school.backgroundImage)}) ? @{/img/profile.jpg} : @{${school.backgroundImage}}" th:onerror="'this.src=\'' + @{'/img/profile.jpg'} + '\''">
<p><a href="javascript:uploadSchoolBackground()">上传图像</a></p>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
...@@ -193,9 +195,8 @@ ...@@ -193,9 +195,8 @@
focusCleanup: true focusCleanup: true
}); });
function test(a){ function uploadCover(a){
// $("#abc").src=a; var image = document.getElementById('cover');
var image = document.getElementById('abc');
image.src=a; image.src=a;
$("#schoolCover").val(a); $("#schoolCover").val(a);
} }
...@@ -217,7 +218,38 @@ ...@@ -217,7 +218,38 @@
yes: function(index, layero) { yes: function(index, layero) {
// alert("index="+index); // alert("index="+index);
var iframeWin = layero.find('iframe')[0]; var iframeWin = layero.find('iframe')[0];
iframeWin.contentWindow.submitHandler(index, layero,test); iframeWin.contentWindow.submitHandler(index, layero,uploadCover);
},
cancel: function(index) {
return true;
}
});
}
function uploadBackground(a){
var image = document.getElementById('background');
image.src=a;
$("#backgroundImage").val(a);
}
function uploadSchoolBackground(){
var url = prefix + '/uploadSchoolBackground';
top.layer.open({
type: 2,
area: [$(window).width() + 'px', $(window).height() + 'px'],
fix: false,
//不固定
maxmin: true,
shade: 0.3,
title: "上传背景图",
content: url,
btn: ['确定', '关闭'],
// 弹层外区域关闭
shadeClose: true,
yes: function(index, layero) {
// alert("index="+index);
var iframeWin = layero.find('iframe')[0];
iframeWin.contentWindow.submitHandler(index, layero,uploadBackground);
}, },
cancel: function(index) { cancel: function(index) {
return true; return true;
......
...@@ -161,7 +161,7 @@ ...@@ -161,7 +161,7 @@
<label class="col-sm-3 control-label is-required">学校封面:</label> <label class="col-sm-3 control-label is-required">学校封面:</label>
<input type="hidden" id="schoolCover" name="schoolCover"> <input type="hidden" id="schoolCover" name="schoolCover">
<div class="col-sm-8"> <div class="col-sm-8">
<img id="abc" th:src="*{schoolCover}"> <img id="cover" th:src="*{schoolCover}">
<p><a href="javascript:uploadImage()">修改封面</a></p> <p><a href="javascript:uploadImage()">修改封面</a></p>
<!-- <div class="file-loading">--> <!-- <div class="file-loading">-->
<!-- <input id="singleSchoolCover" name="file" type="file">--> <!-- <input id="singleSchoolCover" name="file" type="file">-->
...@@ -172,9 +172,11 @@ ...@@ -172,9 +172,11 @@
<label class="col-sm-3 control-label is-required">学校背景图:</label> <label class="col-sm-3 control-label is-required">学校背景图:</label>
<input type="hidden" id="backgroundImage" th:field="*{backgroundImage}"> <input type="hidden" id="backgroundImage" th:field="*{backgroundImage}">
<div class="col-sm-8"> <div class="col-sm-8">
<div class="file-loading"> <!-- <div class="file-loading">-->
<input id="singleFile1" name="file" type="file"> <!-- <input id="singleFile1" name="file" type="file">-->
</div> <!-- </div>-->
<img id="background" th:src="*{backgroundImage}">
<p><a href="javascript:uploadSchoolBackground()">上传图像</a></p>
</div> </div>
</div> </div>
<input id="liveType" th:field="*{liveType}" type="hidden"> <input id="liveType" th:field="*{liveType}" type="hidden">
...@@ -205,8 +207,8 @@ ...@@ -205,8 +207,8 @@
focusCleanup: true focusCleanup: true
}); });
function test(a){ function uploadCover(a){
var image = document.getElementById('abc'); var image = document.getElementById('cover');
image.src=a; image.src=a;
$("#schoolCover").val(a); $("#schoolCover").val(a);
} }
...@@ -220,14 +222,46 @@ ...@@ -220,14 +222,46 @@
//不固定 //不固定
maxmin: true, maxmin: true,
shade: 0.3, shade: 0.3,
title: "修改封面", title: "上传封面",
content: url,
btn: ['确定', '关闭'],
// 弹层外区域关闭
shadeClose: true,
yes: function(index, layero) {
// alert("index="+index);
var iframeWin = layero.find('iframe')[0];
iframeWin.contentWindow.submitHandler(index, layero,uploadCover);
},
cancel: function(index) {
return true;
}
});
}
function uploadBackground(a){
var image = document.getElementById('background');
image.src=a;
$("#backgroundImage").val(a);
}
function uploadSchoolBackground(){
var url = prefix + '/uploadSchoolBackground';
top.layer.open({
type: 2,
area: [$(window).width() + 'px', $(window).height() + 'px'],
fix: false,
//不固定
maxmin: true,
shade: 0.3,
title: "上传背景图",
content: url, content: url,
btn: ['确定', '关闭'], btn: ['确定', '关闭'],
// 弹层外区域关闭 // 弹层外区域关闭
shadeClose: true, shadeClose: true,
yes: function(index, layero) { yes: function(index, layero) {
// alert("index="+index);
var iframeWin = layero.find('iframe')[0]; var iframeWin = layero.find('iframe')[0];
iframeWin.contentWindow.submitHandler(index, layero,test); iframeWin.contentWindow.submitHandler(index, layero,uploadBackground);
}, },
cancel: function(index) { cancel: function(index) {
return true; return true;
...@@ -366,7 +400,7 @@ ...@@ -366,7 +400,7 @@
initUpload(); initUpload();
// initSchoolCover(); // initSchoolCover();
initUpload1(); // initUpload1();
//初始化方法 //初始化方法
function initUpload() { function initUpload() {
......
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<!-- <meta charset="utf-8">-->
<!-- <meta http-equiv="x-ua-compatible" content="ie=edge">-->
<!-- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">-->
<!-- <title>Cropper.js</title>-->
<link rel="stylesheet" href="https://unpkg.com/bootstrap@4/dist/css/bootstrap.min.css" crossorigin="anonymous">
<th:block th:include="include :: cropper-css" />
<style>
.label {
cursor: pointer;
}
.img-container img {
max-width: 100%;
}
</style>
</head>
<body>
<div class="container">
<label class="label" data-toggle="tooltip" title="上传图像">
<img id="avatar" th:src="(${#strings.isEmpty(school.backgroundImage)}) ? @{/img/profile.jpg} : @{${school.backgroundImage}}" th:onerror="'this.src=\'' + @{'/img/profile.jpg'} + '\''">
<input type="file" class="sr-only" id="input" name="image" accept="image/*">
</label>
<div class="modal fade" id="modal" tabindex="-1" role="dialog" aria-labelledby="modalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
<div class="img-container">
<img id="image" th:src="@{/img/profile.jpg}">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
<button type="button" class="btn btn-primary" id="crop">裁剪</button>
</div>
</div>
</div>
</div>
<input type="hidden" name="backgroundImage" id="backgroundImage">
</div>
<script src="https://unpkg.com/jquery@3/dist/jquery.min.js" crossorigin="anonymous"></script>
<script src="https://unpkg.com/bootstrap@4/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<th:block th:include="include :: cropper-js" />
<script th:inline="javascript">
window.addEventListener('DOMContentLoaded', function () {
var minCroppedWidth = 1920;
var minCroppedHeight = 300;
var maxCroppedWidth = 1920;
var maxCroppedHeight = 300;
var avatar = document.getElementById('avatar');
var image = document.getElementById('image');
var input = document.getElementById('input');
var $modal = $('#modal');
var cropper;
input.addEventListener('change', function (e) {
var files = e.target.files;
var done = function (url) {
input.value = '';
image.src = url;
$modal.modal('show');
};
var reader;
var file;
if (files && files.length > 0) {
file = files[0];
if (URL) {
done(URL.createObjectURL(file));
} else if (FileReader) {
reader = new FileReader();
reader.onload = function (e) {
done(reader.result);
};
reader.readAsDataURL(file);
}
}
});
$modal.on('shown.bs.modal', function () {
cropper = new Cropper(image, {
viewMode: 3,
zoomable: false,
data: {
width: (minCroppedWidth + maxCroppedWidth) / 2,
height: (minCroppedHeight + maxCroppedHeight) / 2,
},
crop: function (event) {
var width = event.detail.width;
var height = event.detail.height;
if (
width < minCroppedWidth
|| height < minCroppedHeight
|| width > maxCroppedWidth
|| height > maxCroppedHeight
) {
cropper.setData({
width: Math.max(minCroppedWidth, Math.min(maxCroppedWidth, width)),
height: Math.max(minCroppedHeight, Math.min(maxCroppedHeight, height)),
});
}
},
});
}).on('hidden.bs.modal', function () {
cropper.destroy();
cropper = null;
});
document.getElementById('crop').addEventListener('click', function () {
// var initialAvatarURL;
var canvas;
$modal.modal('hide');
if (cropper) {
canvas = cropper.getCroppedCanvas();
// initialAvatarURL = avatar.src;
avatar.src = canvas.toDataURL();
canvas.toBlob(function (blob) {
var formdata = new FormData();
formdata.append("file", blob);
$.ajax({
url: "http://39.105.118.63:8080/common/upload",
data: formdata,
type: "post",
processData: false,
contentType: false,
dataType: "json",
success: function(data) {
$("#backgroundImage").val(data.fileName);
}
})
});
}
});
});
function submitHandler(index,layero,fun) {
fun($("#backgroundImage").val());
top.layer.close(top.layer.index);
}
</script>
</body>
</html>
\ No newline at end of file
...@@ -3,6 +3,15 @@ ...@@ -3,6 +3,15 @@
<head> <head>
<th:block th:include="include :: header('新增入学时间')" /> <th:block th:include="include :: header('新增入学时间')" />
<th:block th:include="include :: datetimepicker-css" /> <th:block th:include="include :: datetimepicker-css" />
<style>
input[type="checkbox"] {
margin-right: 10px;
margin-left: 10px;
cursor: pointer;
position: relative;
font-size: large;
}
</style>
</head> </head>
<body class="white-bg"> <body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> <div class="wrapper wrapper-content animated fadeInRight ibox-content">
...@@ -16,26 +25,32 @@ ...@@ -16,26 +25,32 @@
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label is-required">专业</label> <label class="col-sm-3 control-label is-required">学位类型</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select id="majorCnName" class="form-control select2-multiple"> <select id="degreeType" class="form-control select2-multiple">
<option>请选择专业</option> <option>请选择学位</option>
</select> </select>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label is-required">学位</label> <label class="col-sm-3 control-label is-required">专业</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select id="degreeCnName" class="form-control select2-multiple"> <!-- <select id="majorCnName" class="form-control select2-multiple">-->
<option>请选择学位</option> <!-- <option>请选择专业</option>-->
</select> <!-- </select>-->
<!-- <label class="check-box" id="ff" name="ff">-->
<label id="ff" name="ff">
</label>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label is-required">开学时间:</label> <label class="col-sm-3 control-label is-required">开学时间:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<div class="input-group date"> <div class="input-group date">
<input name="enrollmentTime" class="form-control" placeholder="yyyy-MM" type="text" required> <input id="enrollmentTime" name="enrollmentTime" class="form-control" placeholder="yyyy-MM" type="text" required>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div> </div>
</div> </div>
...@@ -44,7 +59,7 @@ ...@@ -44,7 +59,7 @@
<label class="col-sm-3 control-label is-required">申请开始时间:</label> <label class="col-sm-3 control-label is-required">申请开始时间:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<div class="input-group date"> <div class="input-group date">
<input name="applyStartDate" class="form-control" placeholder="yyyy-MM-dd" type="text" required> <input id="applyStartDate" name="applyStartDate" class="form-control" placeholder="yyyy-MM-dd" type="text" required>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div> </div>
</div> </div>
...@@ -53,11 +68,19 @@ ...@@ -53,11 +68,19 @@
<label class="col-sm-3 control-label is-required">申请结束时间:</label> <label class="col-sm-3 control-label is-required">申请结束时间:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<div class="input-group date"> <div class="input-group date">
<input name="applyEndDate" class="form-control" placeholder="yyyy-MM-dd" type="text" required> <input id="applyEndDate" name="applyEndDate" class="form-control" placeholder="yyyy-MM-dd" type="text" required>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div> </div>
</div> </div>
</div> </div>
<div class="form-group">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-8">
<a class="btn btn-success" onclick="add()">
<i class="fa fa-plus"></i> 保存
</a>
</div>
</div>
</form> </form>
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
...@@ -69,11 +92,41 @@ ...@@ -69,11 +92,41 @@
}); });
function submitHandler() { function submitHandler() {
if ($.validate.form()) { // if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-time-add').serialize()+ // $.operate.save(prefix + "/add", $('#form-time-add').serialize()+
"&schoolId="+$('#schoolId')[0].value+ // "&schoolId="+$('#schoolId')[0].value);
"&majorId="+$('#degreeCnName')[0].value); // }
top.layer.close(top.layer.index);
}
function add(){
var formData = new FormData();
formData.append('schoolId',$("#schoolId")[0].value);
var checkID = [];//定义一个空数组
$("input[name='majorIds']:checked").each(function(i){
//把所有被选中的复选框的值存入数组
checkID[i] =$(this).val();
});
formData.append('majorIds',checkID);
formData.append("enrollmentTime",$("#enrollmentTime").val());
formData.append("applyStartDate",$("#applyStartDate").val());
formData.append("applyEndDate",$("#applyEndDate").val());
$.ajax({
url: prefix + "/add",
type: 'post',
cache: false,
data: formData,
processData: false,
contentType: false,
dataType: "json",
success: function(result) {
// $.operate.successCallback(result);
$("#enrollmentTime").val(null);
$("#applyStartDate").val(null)
$("#applyEndDate").val(null);
} }
});
} }
$("input[name='enrollmentTime']").datetimepicker({ $("input[name='enrollmentTime']").datetimepicker({
...@@ -113,6 +166,21 @@ ...@@ -113,6 +166,21 @@
} }
}); });
$.ajax({
<!--请求路径,与后端对应-->
url: ctx + "system/dict/data/business_degree_type",
<!--请求类型-->
type: "get",
<!--期待的返回数据类型-->
dataType: "json",
<!--前端接收数据成功是执行的该函数-->
success: function (data) {
<!--使用循环解析后端传来的数据,并用使用js动态拼接html语言-->
for (var i = 0; i < data.length; i++)
$("#degreeType").append("<option value='" + data[i].dictSort + "'>" + data[i].dictLabel + "</option>");
}
});
$('#schoolId').change(function () { $('#schoolId').change(function () {
var sid=$('#schoolId')[0].value; var sid=$('#schoolId')[0].value;
$.ajax({ $.ajax({
...@@ -132,22 +200,22 @@ ...@@ -132,22 +200,22 @@
}); });
}); });
$('#majorCnName').change(function () { $('#degreeType').change(function () {
var sid=$('#schoolId')[0].value; var sid=$('#schoolId')[0].value;
var majorName=$('#majorCnName')[0].value; var did=$('#degreeType')[0].value;
$.ajax({ $.ajax({
<!--请求路径,与后端对应--> <!--请求路径,与后端对应-->
url: prefix + "/selectDegree/"+sid+"/"+majorName, url: prefix + "/selectDegrees/"+sid+"/"+did,
<!--请求类型--> <!--请求类型-->
type: "get", type: "get",
<!--期待的返回数据类型--> <!--期待的返回数据类型-->
dataType: "json", dataType: "json",
<!--前端接收数据成功是执行的该函数--> <!--前端接收数据成功是执行的该函数-->
success: function (data) { success: function (data) {
$("#degreeCnName").empty(); $("#ff").empty();
<!--使用循环解析后端传来的数据,并用使用js动态拼接html语言--> for(var i=0; i<data.length; i++){
for (var i = 0; i < data.length; i++) $("#ff").append("<input id=\"majorIds\" name=\"majorIds\" type=\"checkbox\" value=\"" + data[i].id +"\">"+data[i].degreeCnName+"</input>");
$("#degreeCnName").append("<option value='" + data[i].id + "'>" + data[i].degreeCnName + "</option>"); }
} }
}); });
}); });
......
...@@ -37,6 +37,8 @@ public class TbEnrollmentTime extends BaseEntity ...@@ -37,6 +37,8 @@ public class TbEnrollmentTime extends BaseEntity
/** 专业id */ /** 专业id */
private Long majorId; private Long majorId;
private String majorIds;
@Excel(name = "专业名称") @Excel(name = "专业名称")
private String majorName; private String majorName;
...@@ -192,6 +194,14 @@ public class TbEnrollmentTime extends BaseEntity ...@@ -192,6 +194,14 @@ public class TbEnrollmentTime extends BaseEntity
this.degreeCnName = degreeCnName; this.degreeCnName = degreeCnName;
} }
public String getMajorIds() {
return majorIds;
}
public void setMajorIds(String majorIds) {
this.majorIds = majorIds;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
......
...@@ -64,5 +64,7 @@ public interface TbEnrollmentTimeMapper ...@@ -64,5 +64,7 @@ public interface TbEnrollmentTimeMapper
*/ */
public int deleteTbEnrollmentTimeByIds(String[] ids); public int deleteTbEnrollmentTimeByIds(String[] ids);
public int deleteTbEnrollmentTimeBySchoolIds(String[] ids); public int deleteTbEnrollmentTimeBySchoolIds(String[] ids);
public void insertTbEnrollmentTimeBatch(List<TbEnrollmentTime> list);
} }
...@@ -82,4 +82,8 @@ public interface TbSchoolMajorMapper ...@@ -82,4 +82,8 @@ public interface TbSchoolMajorMapper
public List<TbSchoolMajor> selectSchoolMajorBySchoolId(Long schoolId); public List<TbSchoolMajor> selectSchoolMajorBySchoolId(Long schoolId);
public List<TbSchoolMajor> selectDegreeBySchooIdAndMajorName(TbSchoolMajor tbSchoolMajor); public List<TbSchoolMajor> selectDegreeBySchooIdAndMajorName(TbSchoolMajor tbSchoolMajor);
public List<TbSchoolMajor> selectDegreeBySchoolIdAndDegreeType(TbSchoolMajor tbSchoolMajor);
} }
...@@ -39,6 +39,8 @@ public interface ITbEnrollmentTimeService ...@@ -39,6 +39,8 @@ public interface ITbEnrollmentTimeService
*/ */
public int insertTbEnrollmentTime(TbEnrollmentTime tbEnrollmentTime); public int insertTbEnrollmentTime(TbEnrollmentTime tbEnrollmentTime);
public void insertTbEnrollmentTimeBatch(TbEnrollmentTime tbEnrollmentTime);
/** /**
* 修改入学时间 * 修改入学时间
* *
...@@ -72,4 +74,6 @@ public interface ITbEnrollmentTimeService ...@@ -72,4 +74,6 @@ public interface ITbEnrollmentTimeService
// public List<TbSchoolMajor> selectMajorBySchoolId(Long id); // public List<TbSchoolMajor> selectMajorBySchoolId(Long id);
public List<TbSchoolMajor> selectDegreeBySchooIdAndMajorName(TbSchoolMajor tbSchoolMajor); public List<TbSchoolMajor> selectDegreeBySchooIdAndMajorName(TbSchoolMajor tbSchoolMajor);
public List<TbSchoolMajor> selectDegreeBySchoolIdAndDegreeType(TbSchoolMajor tbSchoolMajor);
} }
package com.ruoyi.system.service.impl; package com.ruoyi.system.service.impl;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -147,6 +148,19 @@ public class TbEnrollmentTimeServiceImpl implements ITbEnrollmentTimeService ...@@ -147,6 +148,19 @@ public class TbEnrollmentTimeServiceImpl implements ITbEnrollmentTimeService
return tbEnrollmentTimeMapper.insertTbEnrollmentTime(tbEnrollmentTime); return tbEnrollmentTimeMapper.insertTbEnrollmentTime(tbEnrollmentTime);
} }
@Override
public void insertTbEnrollmentTimeBatch(TbEnrollmentTime tbEnrollmentTime){
tbEnrollmentTime.setCreateTime(DateUtils.getNowDate());
String majorIds=tbEnrollmentTime.getMajorIds();
String[] majorArray=majorIds.split(",");
List<TbEnrollmentTime> list=new ArrayList<>(majorArray.length);
for(String str : majorArray){
tbEnrollmentTime.setMajorId(Long.parseLong(str));
list.add(tbEnrollmentTime);
}
tbEnrollmentTimeMapper.insertTbEnrollmentTimeBatch(list);
}
/** /**
* 修改入学时间 * 修改入学时间
* *
...@@ -210,4 +224,9 @@ public class TbEnrollmentTimeServiceImpl implements ITbEnrollmentTimeService ...@@ -210,4 +224,9 @@ public class TbEnrollmentTimeServiceImpl implements ITbEnrollmentTimeService
public List<TbSchoolMajor> selectDegreeBySchooIdAndMajorName(TbSchoolMajor tbSchoolMajor){ public List<TbSchoolMajor> selectDegreeBySchooIdAndMajorName(TbSchoolMajor tbSchoolMajor){
return tbSchoolMajorMapper.selectDegreeBySchooIdAndMajorName(tbSchoolMajor); return tbSchoolMajorMapper.selectDegreeBySchooIdAndMajorName(tbSchoolMajor);
} }
@Override
public List<TbSchoolMajor> selectDegreeBySchoolIdAndDegreeType(TbSchoolMajor tbSchoolMajor){
return tbSchoolMajorMapper.selectDegreeBySchoolIdAndDegreeType(tbSchoolMajor);
}
} }
...@@ -96,6 +96,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -96,6 +96,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim> </trim>
</insert> </insert>
<insert id="insertTbEnrollmentTimeBatch" useGeneratedKeys="true" keyProperty="id">
insert into tb_enrollment_time (
school_id,major_id,
enrollment_time,
apply_start_date,
apply_end_date,creator,
create_time,check_status)
values
<foreach collection="list" item="item" separator=",">
(#{item.schoolId},#{item.majorId},#{item.enrollmentTime},#{item.applyStartDate},
#{item.applyEndDate},#{item.creator},sysdate(),1)
</foreach>
</insert>
<update id="updateTbEnrollmentTime" parameterType="TbEnrollmentTime"> <update id="updateTbEnrollmentTime" parameterType="TbEnrollmentTime">
update tb_enrollment_time update tb_enrollment_time
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
......
...@@ -206,4 +206,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -206,4 +206,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE school_id=#{schoolId} AND major_cn_name=#{majorCnName} WHERE school_id=#{schoolId} AND major_cn_name=#{majorCnName}
</select> </select>
<select id="selectDegreeBySchoolIdAndDegreeType" parameterType="TbSchoolMajor" resultMap="TbSchoolMajorResult">
SELECT id,major_cn_name,degree_cn_name
FROM tb_school_major
WHERE school_id=#{schoolId} AND degree_type=#{degreeType}
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论