笔试名单导入导出功能完成

This commit is contained in:
mumu 2020-08-23 23:56:21 +08:00
parent 477f6e71bd
commit 184b0fe675
8 changed files with 236 additions and 85 deletions

View File

@ -4,7 +4,10 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.jxjs.domain.TsbzJxzxmd;
import com.ruoyi.jxjs.service.ITsbzJxzxmdService;
import com.ruoyi.web.controller.common.SchoolCommonController;
@ -26,6 +29,7 @@ import com.ruoyi.jxjs.domain.TsbzJdcx;
import com.ruoyi.jxjs.service.ITsbzJdcxService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;
/**
* 基地区级审核Controller
@ -50,7 +54,8 @@ public class TsbzJdcxController extends BaseController {
@GetMapping("/list")
public TableDataInfo list(TsbzJdcx tsbzJdcx) {
startPage();
List<TsbzJdcx> list = tsbzJdcxService.selectTsbzJdcxList(tsbzJdcx);
// List<TsbzJdcx> list = tsbzJdcxService.selectTsbzJdcxList(tsbzJdcx);
List<TsbzJdcx> list = tsbzJdcxService.selectTsbzJdcxExport(tsbzJdcx);
return getDataTable(list);
}
@ -161,4 +166,32 @@ public class TsbzJdcxController extends BaseController {
public AjaxResult remove(@PathVariable Long[] ids) {
return toAjax(tsbzJdcxService.deleteTsbzJdcxByIds(ids));
}
@Log(title = "分数导入", businessType = BusinessType.IMPORT)
// @PreAuthorize("@ss.hasPermi('system:user:import')")
@PostMapping("/importData")
public AjaxResult importData(MultipartFile file,Long faide) throws Exception
{
ExcelUtil<TsbzJdcx> util = new ExcelUtil<TsbzJdcx>(TsbzJdcx.class);
List<TsbzJdcx> tsbzJdcxList = util.importExcel(file.getInputStream());
int iCount = 0;
for (TsbzJdcx tsbzJdcx:tsbzJdcxList) {
tsbzJdcx.setFaid(faide);
iCount = iCount + tsbzJdcxService.updateTsbzJdcxforjsfa(tsbzJdcx);
}
// LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
// String operName = loginUser.getUsername();
// String message = userService.importUser(userList, updateSupport, operName);
//String message = faide;
return AjaxResult.success(String.valueOf(iCount),null);
}
@GetMapping("/importTemplate")
public AjaxResult importTemplate()
{
// ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
ExcelUtil<TsbzJdcx> util = new ExcelUtil<TsbzJdcx>(TsbzJdcx.class);
return util.importTemplateExcel("成绩导入");
}
}

View File

@ -3,9 +3,11 @@ package com.ruoyi.jxjs.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.enums.BusinessType;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excel.Type;
import com.ruoyi.common.core.domain.BaseEntity;
/**
@ -21,13 +23,7 @@ public class TsbzJdcx extends BaseEntity
/** 编号 */
private Long id;
/** 方案编号 */
// @Excel(name = "方案编号")
private Long faid;
/** 教师编号 */
// @Excel(name = "教师编号")
private Long jsid;
@ -51,9 +47,7 @@ public class TsbzJdcx extends BaseEntity
// @Excel(name = "区级审核人")
private Long qjshr;
/** 区级审核状态 */
// @Excel(name = "区级审核状态")
private String qjshzt;
/** 区级审核意见 */
// @Excel(name = "区级审核意见")
@ -63,21 +57,7 @@ public class TsbzJdcx extends BaseEntity
// @Excel(name = "基地排序")
private Long jdpx;
/** 案例分析得分 */
// @Excel(name = "案例分析得分")
private BigDecimal alfxdf;
/** 教案设计得分 */
// @Excel(name = "教案设计得分")
private BigDecimal jasjdf;
/** 钢笔字得分 */
// @Excel(name = "钢笔字得分")
private BigDecimal gbzdf;
/** 综合得分 */
// @Excel(name = "综合得分")
private BigDecimal zhdf;
/** 成绩导入创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@ -96,39 +76,63 @@ public class TsbzJdcx extends BaseEntity
/** 面试结果模拟课堂教学 */
// @Excel(name = "面试结果模拟课堂教学")
private BigDecimal msjgmnktjxdf;
/** 演讲得分 */
// @Excel(name = "演讲得分")
private BigDecimal yjdf;
/** 综合得分2 */
// @Excel(name = "综合得分2")
private BigDecimal zhdf2;
/**
* 录取状态
*/
/** 录取状态 */
private String lqzt;
@Excel(name = "评选名称")
private String faname;
@Excel(name = "基地校")
private String jdxmc;
@Excel(name = "姓名")
private String jsname;
@Excel(name = "性别", readConverterExp = "0=男,1=女,2=未知")
private String xb;
@Excel(name = "学段", readConverterExp = "1=学前教育,2=小学,3=普通初中,4=普通高中")
private String rjxd;
@Excel(name = "学科", readConverterExp = "11=品德与生活(社会) ,12=思想品德(政治) ,13=语文 ,14=数学 ,15=科学 ,16=物理 ,17=化学 ,18=生物 ,19=历史与社会 ,20=地理 ,21=历史 ,22=体育与健康 ,23=艺术 ,24=音乐 ,25=美术 ,41=英语")
private String rjxk;
@Excel(name = "联系方式")
private String phone;
@Excel(name = "聘任校")
private String prdwmc;
/** 当前状态 */
@Excel(name = "当前状态")
// @Excel(name = "当前状态")
private String dqzt;
/** 方案编号 */
// @Excel(name = "方案编号", type = Type.IMPORT)
private Long faid;
@Excel(name = "方案名称", type = Type.EXPORT)
private String faname;
/** 教师编号 */
@Excel(name = "教师编号", type = Type.IMPORT)
private Long jsid;
@Excel(name = "基地校", type = Type.EXPORT)
private String jdxmc;
@Excel(name = "教师姓名")
private String jsname;
@Excel(name = "性别", readConverterExp = "0=男,1=女,2=未知", type = Type.EXPORT)
private String xb;
@Excel(name = "学段", readConverterExp = "1=学前教育,2=小学,3=普通初中,4=普通高中", type = Type.EXPORT)
private String rjxd;
@Excel(name = "学科", readConverterExp = "11=品德与生活(社会) ,12=思想品德(政治) ,13=语文 ,14=数学 ,15=科学 ,16=物理 ,17=化学 ,18=生物 ,19=历史与社会 ,20=地理 ,21=历史 ,22=体育与健康 ,23=艺术 ,24=音乐 ,25=美术 ,41=英语", type = Type.EXPORT)
private String rjxk;
@Excel(name = "联系方式", type = Type.EXPORT)
private String phone;
@Excel(name = "聘任校", type = Type.EXPORT)
private String prdwmc;
/** 区级审核状态 */
@Excel(name = "评审状态", type = Type.EXPORT)
private String qjshzt;
/** 案例分析得分 */
@Excel(name = "案例分析得分", type = Type.IMPORT)
private BigDecimal alfxdf;
/** 教案设计得分 */
@Excel(name = "教案设计得分", type = Type.IMPORT)
private BigDecimal jasjdf;
/** 钢笔字得分 */
@Excel(name = "钢笔字得分", type = Type.IMPORT)
private BigDecimal gbzdf;
/** 综合得分 */
@Excel(name = "综合得分", type = Type.IMPORT)
private BigDecimal zhdf;
/** 演讲得分 */
@Excel(name = "演讲得分", type = Type.IMPORT)
private BigDecimal yjdf;
/** 综合得分2 */
@Excel(name = "综合得分2", type = Type.IMPORT)
private BigDecimal zhdf2;
public String getFaname() { return faname; }
public void setFaname(String faname) { this.faname = faname;}

View File

@ -65,4 +65,11 @@ public interface TsbzJdcxMapper
* @return 基地区级审核集合
*/
public List<TsbzJdcx> selectTsbzJdcxExport(TsbzJdcx tsbzJdcx);
/**
* 成绩导入
*
* @param tsbzJdcx 基地区级审核
* @return 结果
*/
public int updateTsbzJdcxforjsfa(TsbzJdcx tsbzJdcx);
}

View File

@ -66,4 +66,11 @@ public interface ITsbzJdcxService
* @return 基地区级审核集合
*/
public List<TsbzJdcx> selectTsbzJdcxExport(TsbzJdcx tsbzJdcx);
/**
* 成绩导入
*
* @param tsbzJdcx 基地区级审核
* @return 结果
*/
public int updateTsbzJdcxforjsfa(TsbzJdcx tsbzJdcx);
}

View File

@ -104,5 +104,16 @@ public class TsbzJdcxServiceImpl implements ITsbzJdcxService
{
return tsbzJdcxMapper.selectTsbzJdcxExport(tsbzJdcx);
}
/**
* 成绩导入
*
* @param tsbzJdcx 基地区级审核
* @return 结果
*/
@Override
public int updateTsbzJdcxforjsfa(TsbzJdcx tsbzJdcx)
{
return tsbzJdcxMapper.updateTsbzJdcxforjsfa(tsbzJdcx);
}
}

View File

@ -189,5 +189,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="zhdf2 != null "> and a.zhdf2 = #{zhdf2}</if>
</where>
</select>
<update id="updateTsbzJdcxforjsfa" parameterType="TsbzJdcx">
update tsbz_jdcx
<trim prefix="SET" suffixOverrides=",">
<if test="faid != null">faid = #{faid},</if>
<if test="jsid != null">jsid = #{jsid},</if>
<if test="dqzt != null">dqzt = #{dqzt},</if>
<if test="createuserid != null">createuserid = #{createuserid},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="jdxshr != null">jdxshr = #{jdxshr},</if>
<if test="jdxshzt != null">jdxshzt = #{jdxshzt},</if>
<if test="sbly != null">sbly = #{sbly},</if>
<if test="qjshr != null">qjshr = #{qjshr},</if>
<if test="qjshzt != null">qjshzt = #{qjshzt},</if>
<if test="qjshyj != null">qjshyj = #{qjshyj},</if>
<if test="jdpx != null">jdpx = #{jdpx},</if>
<if test="alfxdf != null">alfxdf = #{alfxdf},</if>
<if test="jasjdf != null">jasjdf = #{jasjdf},</if>
<if test="gbzdf != null">gbzdf = #{gbzdf},</if>
<if test="zhdf != null">zhdf = #{zhdf},</if>
<if test="cjdrcreateTime != null">cjdrcreate_time = #{cjdrcreateTime},</if>
<if test="msqr != null">msqr = #{msqr},</if>
<if test="msqrcreateTime != null">msqrcreate_time = #{msqrcreateTime},</if>
<if test="msjgmnktjxdf != null">msjgmnktjxdf = #{msjgmnktjxdf},</if>
<if test="yjdf != null">yjdf = #{yjdf},</if>
<if test="zhdf2 != null">zhdf2 = #{zhdf2},</if>
<if test="lqzt != null">lqzt = #{lqzt},</if>
</trim>
where faid = #{faid} and jsid = #{jsid}
</update>
</mapper>

View File

@ -59,3 +59,10 @@ export function checkJdcx(id) {
method: 'post'
})
}
// 下载成绩导入模板
export function importTemplate() {
return request({
url: '/jxjs/jdcx/importTemplate',
method: 'get'
})
}

View File

@ -56,14 +56,26 @@
<el-table v-loading="loading" :data="jdcxList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="方案名称" align="center" prop="faname" />
<el-table-column label="基地校" align="center" prop="jdxmc" />
<el-table-column label="教师姓名" align="center" prop="jsname" />
<el-table-column label="性别" align="center" prop="xb" :formatter="xbFormat" />
<el-table-column label="学段" align="center" prop="rjxd" :formatter="xdFormat" />
<el-table-column label="学科" align="center" prop="rjxk" :formatter="xkFormat" />
<el-table-column label="联系方式" align="center" prop="phone" />
<el-table-column label="聘任校" align="center" prop="prdwmc" />
<el-table-column label="评审状态" align="center" prop="qjshzt" :formatter="qjshztFormat" />
<!-- <el-table-column label="编号" align="center" prop="id" />
<el-table-column label="方案名称" align="center" prop="faid" :formatter="faFormat" />
<el-table-column label="教师姓名" align="center" prop="jsid" />
<el-table-column label="当前状态" align="center" prop="dqzt" :formatter="dqztFormat" />
<el-table-column label="基地校审核状态" align="center" prop="jdxshzt" :formatter="jdxshztFormat" />
<el-table-column label="区级审核状态" align="center" prop="qjshzt" :formatter="qjshztFormat" />
<el-table-column label="区级审核意见" align="center" prop="qjshyj" :formatter="qjshyjFormat" />
<el-table-column label="综合得分" align="center" prop="zhdf" />
<el-table-column label="综合得分" align="center" prop="zhdf" /> -->
<!-- <el-table-column label="综合得分2" align="center" prop="zhdf2" /> -->
<!-- <el-table-column label="创建人" align="center" prop="createuserid" />
@ -88,7 +100,7 @@
<el-table-column label="面试结果模拟课堂教学" align="center" prop="msjgmnktjxdf" />
<el-table-column label="演讲得分" align="center" prop="yjdf" />-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
@ -98,7 +110,7 @@
v-hasPermi="['jxjs:jdcx:view']"
>详情</el-button>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
<pagination
@ -227,15 +239,22 @@
</el-dialog>
<!-- excel导入对话框lu -->
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
<el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
<el-link type="info" style="font-size:14px" @click="importTemplate">下载模板</el-link>
<el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" :action="upload.url + '?faide=' + upload.faide" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
将文件拖到此处
<em>点击上传</em>
</div>
<div class="el-upload__tip" slot="tip">
<el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据
<el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link>
<!-- <el-form-item label="评选方案" prop="faid"> -->
<el-select v-model="upload.faide" placeholder="请选择方案">
<el-option v-for="dict in faOptions" :key="dict.id" :label="dict.name" :value="dict.id"></el-option>
</el-select>
<br/>
<!-- </el-form-item> -->
<!-- <el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据 -->
</div>
<div class="el-upload__tip" style="color:red" slot="tip">提示仅允许导入xlsxlsx格式文件</div>
</el-upload>
@ -255,6 +274,7 @@ import {
addJdcx,
updateJdcx,
exportJdcx,
importTemplate,
} from "@/api/jxjs/jdcx";
import { getToken } from "@/utils/auth";
@ -290,6 +310,12 @@ export default {
qjshztOptions: [],
//
qjshyjOptions: [],
//
xbOptions: [],
//
xdOptions: [],
//
xkOptions: [],
//
faOptions: [],
// lu
@ -302,10 +328,12 @@ export default {
isUploading: false,
//
updateSupport: 0,
//id
faide: "",
//
headers: { Authorization: "Bearer " + getToken() },
//
url: process.env.VUE_APP_BASE_API + "/system/user/importData",
url: process.env.VUE_APP_BASE_API + "/jxjs/jdcx/importData",
},
//
queryParams: {
@ -387,6 +415,15 @@ export default {
this.getDicts("sys_dm_shyj").then((response) => {
this.qjshyjOptions = response.data;
});
this.getDicts("sys_user_sex").then((response) => {
this.xbOptions = response.data;
});
this.getDicts("sys_dm_rjxd").then((response) => {
this.xdOptions = response.data;
});
this.getDicts("sys_dm_rjxk").then((response) => {
this.xkOptions = response.data;
});
},
methods: {
//
@ -434,6 +471,18 @@ export default {
qjshyjFormat(row, column) {
return this.selectDictLabel(this.qjshyjOptions, row.qjshyj);
},
//
xbFormat(row, column) {
return this.selectDictLabel(this.xbOptions, row.xb);
},
//
xdFormat(row, column) {
return this.selectDictLabel(this.xdOptions, row.rjxd);
},
//
xkFormat(row, column) {
return this.selectDictLabel(this.xkOptions, row.rjxk);
},
//
cancel() {
this.open = false;
@ -563,31 +612,36 @@ export default {
},
/** 导入按钮操作 */
handleImport() {
this.upload.title = "用户导入";
this.upload.title = "成绩导入";
this.upload.open = true;
},
/** 下载模板操作 */
// importTemplate() {
// importTemplate().then((response) => {
// this.download(response.msg);
// });
// },
// //
// handleFileUploadProgress(event, file, fileList) {
// this.upload.isUploading = true;
// },
// //
// handleFileSuccess(response, file, fileList) {
// this.upload.open = false;
// this.upload.isUploading = false;
// this.$refs.upload.clearFiles();
// this.$alert(response.msg, "", { dangerouslyUseHTMLString: true });
// this.getList();
// },
// //
// submitFileForm() {
// this.$refs.upload.submit();
// },
importTemplate() {
importTemplate().then((response) => {
this.download(response.msg);
});
},
//
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
},
//
handleFileSuccess(response, file, fileList) {
this.upload.open = false;
this.upload.isUploading = false;
this.$refs.upload.clearFiles();
this.$alert("成功导入:"+response.msg+"条数据。", "导入结果", { dangerouslyUseHTMLString: true });
this.getList();
},
//
submitFileForm() {
if(this.upload.faide==""){
this.$alert("请选择方案", "导入结果", { dangerouslyUseHTMLString: true });
}else{
this.$refs.upload.submit();
}
},
},
};
</script>