forked from integrated_whb/integrated_whb
教培功能bug修复
parent
c1acfc513f
commit
ba5c9534ad
11
pom.xml
11
pom.xml
|
@ -377,7 +377,12 @@
|
|||
<groupId>commons-codec</groupId>
|
||||
<artifactId>commons-codec</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-mock</artifactId>
|
||||
<version>2.0.8</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<!-- 上传文件依赖 -->
|
||||
<dependency>
|
||||
<groupId>commons-fileupload</groupId>
|
||||
|
@ -483,7 +488,7 @@
|
|||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi</artifactId>
|
||||
<version>4.1.2</version>
|
||||
<version>3.17</version>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-examples -->
|
||||
<dependency>
|
||||
|
@ -501,7 +506,7 @@
|
|||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-ooxml</artifactId>
|
||||
<version>4.1.2</version>
|
||||
<version>3.17</version>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas -->
|
||||
<dependency>
|
||||
|
|
|
@ -126,9 +126,7 @@ public class AppUsersCacheController extends BaseController {
|
|||
pd = this.getPageData();
|
||||
|
||||
PageData faceBase64 = new PageData();
|
||||
// PageData oldStudent = usersService.findStuById(pd);
|
||||
if (pd.get("USERAVATARURL") != null && !pd.getString("USERAVATARURL").equals("")) {
|
||||
String USERAVATARURL64 = ImageAnd64Binary.zipBase64(pd.getString("USERAVATARURL"));
|
||||
try {
|
||||
FaceUtil.compareFace(pd.getString("USERAVATARURL"), pd.getString("USERAVATARURL"));
|
||||
} catch (Exception e) {
|
||||
|
@ -136,7 +134,11 @@ public class AppUsersCacheController extends BaseController {
|
|||
map.put("msg", "人脸图像不符合要求 请重新上传!");
|
||||
return map;
|
||||
}
|
||||
faceBase64.put("BASE", USERAVATARURL64);
|
||||
MultipartFile FFILE = ImageUtil.base64ToMultipartFile(pd.getString("USERAVATARPREFIX") + pd.getString("USERAVATARURL"));
|
||||
String ffile = DateUtil.getDays();
|
||||
String fileName = this.get32UUID() + FFILE.getOriginalFilename().substring(FFILE.getOriginalFilename().lastIndexOf("."));
|
||||
smb.sshSftp(FFILE, fileName, Const.FILEPATHUSERFACE + ffile);
|
||||
faceBase64.put("COVERPATH", Const.FILEPATHUSERFACE + ffile + "/" + fileName);
|
||||
} else {
|
||||
map.put("result", "error");
|
||||
map.put("msg", "未上传人脸识别照片,请先认证人脸!");
|
||||
|
@ -144,7 +146,7 @@ public class AppUsersCacheController extends BaseController {
|
|||
}
|
||||
initPageDataUtil.initSaveApp(faceBase64, pd.getString("USER_ID"));
|
||||
faceBase64.put("BASE_FACTORY_ID", this.get32UUID());
|
||||
faceBase64.put("TABLE_NAME", "SYS_USER");
|
||||
faceBase64.put("TABLE_NAME", "SYS_USERINFO");
|
||||
faceBase64.put("COLUMN_NAME", "USER_ID");
|
||||
faceBase64.put("USERAVATARPREFIX", pd.getString("USERAVATARPREFIX"));
|
||||
faceBase64.put("FOREIGN_KEY", pd.get("USER_ID"));
|
||||
|
@ -152,9 +154,8 @@ public class AppUsersCacheController extends BaseController {
|
|||
|
||||
baseFactoryMapper.deleteByForeign(faceBase64);
|
||||
baseFactoryMapper.save(faceBase64);
|
||||
initPageDataUtil.initEditApp(pd, pd.getString("USER_ID"));
|
||||
pd.put("AUTHENTICATION", "1");
|
||||
usersCacheService.editAuthentication(pd);
|
||||
userInfoService.editAuthentication(pd);
|
||||
|
||||
PageData user = new PageData();
|
||||
user.put("USER_ID", pd.get("USER_ID"));
|
||||
|
@ -163,8 +164,7 @@ public class AppUsersCacheController extends BaseController {
|
|||
String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
|
||||
smb.sshSftp(file, fileName, Const.FILEPATHFACE + ffile);
|
||||
user.put("PORTRAIT", Const.FILEPATHFACE + ffile + "/" + fileName);
|
||||
initPageDataUtil.initEditApp(user, pd.getString("USER_ID"));
|
||||
usersCacheService.editUser(user);
|
||||
userInfoService.editUserInfo(user);
|
||||
map.put("result", errInfo);
|
||||
return map;
|
||||
}
|
||||
|
@ -185,12 +185,13 @@ public class AppUsersCacheController extends BaseController {
|
|||
pd.put("TYPE", "1");
|
||||
pd.put("FOREIGN_KEY", pd.get("USER_ID"));
|
||||
PageData user = baseFactoryMapper.findByKeyType(pd);
|
||||
if (user == null || user.get("BASE") == null || user.get("BASE") == "") {
|
||||
if (user == null || user.get("COVERPATH") == null || user.get("COVERPATH") == "") {
|
||||
map.put("result", "error");
|
||||
map.put("msg", "用户未录入人脸信息,无法验证");
|
||||
return map;
|
||||
}
|
||||
String USERAVATARURL = ImageAnd64Binary.upZip(user.getString("BASE"));
|
||||
MultipartFile coverpath = ImageUtil.getMultipartFile(Const.HTTPFILEURL + user.getString("COVERPATH"));
|
||||
String USERAVATARURL = Base64Util.getBase64String(coverpath);
|
||||
try {
|
||||
String confidence = FaceUtil.compareFace(pd.getString("USERAVATARURL"), USERAVATARURL);
|
||||
|
||||
|
@ -209,7 +210,6 @@ public class AppUsersCacheController extends BaseController {
|
|||
smb.sshSftp(file, fileName, Const.FILEPATHFACE + student.get("CORPINFO_ID") + "/" + ffile);
|
||||
PageData faceImg = new PageData();
|
||||
faceImg.put("FACEIMGLOG_ID", this.get32UUID());
|
||||
faceImg.put("ENTERPRISE_ID", student.get("ENTERPRISE_ID"));
|
||||
faceImg.put("CORPINFO_ID", student.get("CORPINFO_ID"));
|
||||
faceImg.put("STUDENT_ID", student.get("STUDENT_ID"));
|
||||
faceImg.put("USER_ID", pd.get("USER_ID"));
|
||||
|
|
|
@ -172,7 +172,6 @@ public class ArchivesPostManController extends BaseController {
|
|||
PageData pd = new PageData();
|
||||
pd = this.getPageData();
|
||||
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //机构
|
||||
pd.put("ENTERPRISE_ID", pd.get("ID")); //企业
|
||||
List<PageData> varList = archivespostmanService.listAll(pd); //列出ArchivesPostMan列表
|
||||
map.put("varList", varList);
|
||||
map.put("result", errInfo);
|
||||
|
@ -340,7 +339,7 @@ public class ArchivesPostManController extends BaseController {
|
|||
@SuppressWarnings("unchecked")
|
||||
@ResponseBody
|
||||
@Transactional
|
||||
public Object readExcel(@RequestParam(value = "excel", required = false) MultipartFile file) throws Exception {
|
||||
public Object readExcel(@RequestParam(value = "FFILE", required = false) MultipartFile file) throws Exception {
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
String errInfo = "success";
|
||||
StringBuffer errorStr = new StringBuffer();
|
||||
|
@ -438,8 +437,7 @@ public class ArchivesPostManController extends BaseController {
|
|||
pageData.put("EFFECTIVE_DATE", effective_date);
|
||||
pageData.put("RETRAINING", retraining);
|
||||
pageData.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //机构
|
||||
pageData.put("ENTERPRISE_ID", pd.get("ID")); //企业
|
||||
pageData.put("YEAR", pd.getString("YEAR"));
|
||||
pageData.put("YEAR", pd.getString("year"));
|
||||
pageData.put("ISDELETE", "0");
|
||||
pageData.put("CREATOR", Jurisdiction.getName());// 账号类型
|
||||
pageData.put("CREATTIME", DateUtil.date2Str(new Date()));
|
||||
|
|
|
@ -131,10 +131,6 @@ public class ArchivesStudentController extends BaseController {
|
|||
PageData pd = new PageData();
|
||||
pd = this.getPageData();
|
||||
PageData stu = archivesstudentService.getStuInfo(pd);
|
||||
pd = archivesstudentService.findById(pd); //根据ID读取
|
||||
if (pd != null) {
|
||||
stu.putAll(pd);
|
||||
}
|
||||
map.put("pd", stu);
|
||||
map.put("result", errInfo);
|
||||
return map;
|
||||
|
|
|
@ -102,13 +102,8 @@ public class ClassController extends BaseController {
|
|||
int classNum = 0;
|
||||
PageData data = new PageData();
|
||||
//注意数据权限。企业看企业数据,机构看机构数据
|
||||
// pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
|
||||
// data.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
|
||||
// if ("0".equals(Jurisdiction.getIS_MAIN())){
|
||||
// pd.put("USER_ID", Jurisdiction.getUSER_ID());
|
||||
// data.put("USER_ID", Jurisdiction.getUSER_ID());
|
||||
// }
|
||||
classNum = classService.getClassNum(data);
|
||||
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
|
||||
classNum = classService.getClassNum(pd);
|
||||
|
||||
String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件
|
||||
if (Tools.notEmpty(KEYWORDS)) pd.put("KEYWORDS", KEYWORDS.trim());
|
||||
|
@ -150,9 +145,6 @@ public class ClassController extends BaseController {
|
|||
pd = this.getPageData();
|
||||
PageData data = new PageData();
|
||||
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
|
||||
if ("0".equals(Jurisdiction.getIS_MAIN())){
|
||||
pd.put("USER_ID", Jurisdiction.getUSER_ID());
|
||||
}
|
||||
String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件
|
||||
if (Tools.notEmpty(KEYWORDS)) pd.put("KEYWORDS", KEYWORDS.trim());
|
||||
page.setPd(pd);
|
||||
|
|
|
@ -11,6 +11,7 @@ import fr.opensagres.xdocreport.template.IContext;
|
|||
import fr.opensagres.xdocreport.template.TemplateEngineKind;
|
||||
import fr.opensagres.xdocreport.template.formatter.FieldsMetadata;
|
||||
import fr.opensagres.xdocreport.template.formatter.NullImageBehaviour;
|
||||
import org.apache.tools.ant.Project;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
@ -343,61 +344,63 @@ public class StudentController extends BaseController {
|
|||
|
||||
Map<String, Object> objMap = new LinkedHashMap<>();
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
// List<PageData> list = new ArrayList<>();
|
||||
if (varList.size() > 0) {
|
||||
int num = 1;
|
||||
for (PageData student : varList) {
|
||||
StudentMessageExcel excelObj = new StudentMessageExcel();
|
||||
excelObj.setUSER_ID_CARD(student.getString("USER_ID_CARD"));
|
||||
excelObj.setNAME(student.getString("NAME"));
|
||||
excelObj.setSEX("1".equals(student.getString("SEX")) ? "男" : "女");
|
||||
excelObj.setPHONE(student.getString("PHONE"));
|
||||
excelObj.setDEPARTMENT_NAME(student.getString("DEPARTMENT_NAME"));
|
||||
excelObj.setPOST_NAME(student.getString("POST_NAME"));
|
||||
excelObj.setALL_CLASSHOUR(student.getString("ALL_CLASSHOUR"));
|
||||
excelObj.setCOMPLETE_CLASSHOUR(student.getString("COMPLETE_CLASSHOUR"));
|
||||
excelObj.setPASSED("0".equals(student.getString("STAGEEXAMSTATE")) ? "不考试" : student.getString("PASSED"));
|
||||
excelObj.setEXAMSCORE(student.getString("EXAMSCORE"));
|
||||
objMap = new LinkedHashMap<>();
|
||||
objMap.put("NUMBER", num);
|
||||
objMap.put("USER_ID_CARD",student.getString("USER_ID_CARD"));
|
||||
objMap.put("NAME",student.getString("NAME"));
|
||||
objMap.put("SEX", "1".equals(student.getString("SEX")) ? "男" : "女");
|
||||
objMap.put("PHONE",student.getString("PHONE"));
|
||||
objMap.put("DEPARTMENT_NAME",student.getString("DEPARTMENT_NAME"));
|
||||
objMap.put("POST_NAME",student.getString("POST_NAME"));
|
||||
objMap.put("ALL_CLASSHOUR",student.getString("ALL_CLASSHOUR"));
|
||||
objMap.put("COMPLETE_CLASSHOUR",student.getString("COMPLETE_CLASSHOUR"));
|
||||
objMap.put("PASSED","0".equals(student.getString("STAGEEXAMSTATE")) ? "不考试" : student.getString("PASSED"));
|
||||
objMap.put("EXAMSCORE",student.getString("EXAMSCORE"));
|
||||
switch (student.getString("STUDYSTATE")) {
|
||||
case "1":
|
||||
excelObj.setSTUDYSTATE("学习中");
|
||||
objMap.put("STUDYSTATE","学习中");
|
||||
break;
|
||||
case "2":
|
||||
excelObj.setSTUDYSTATE("已学完");
|
||||
objMap.put("STUDYSTATE","已学完");
|
||||
break;
|
||||
case "3":
|
||||
excelObj.setSTUDYSTATE("已完成");
|
||||
objMap.put("STUDYSTATE","已完成");
|
||||
break;
|
||||
case "4":
|
||||
excelObj.setSTUDYSTATE("未完成");
|
||||
objMap.put("STUDYSTATE","未完成");
|
||||
break;
|
||||
case "5":
|
||||
excelObj.setSTUDYSTATE("待评估");
|
||||
objMap.put("STUDYSTATE","待评估");
|
||||
break;
|
||||
case "6":
|
||||
excelObj.setSTUDYSTATE("评估未合格");
|
||||
objMap.put("STUDYSTATE","评估未合格");
|
||||
break;
|
||||
case "0":
|
||||
excelObj.setSTUDYSTATE("未学习");
|
||||
objMap.put("STUDYSTATE","未学习");
|
||||
break;
|
||||
}
|
||||
excelObj.setCLASS_NAME(student.getString("CLASS_NAME"));
|
||||
// if (Tools.notEmpty(pd.getString("USER_SIGN_FILE_PATH"))) {
|
||||
// File USER_SIGN = new File(PathUtil.getProjectpath() + Const.FILEPATHFILE + pd.getString("USER_SIGN_FILE_PATH"));
|
||||
// excelObj.setUSER_SIGN_FILE(USER_SIGN);
|
||||
// }
|
||||
File USER_SIGN = new File("D:\\图片\\11111.png");
|
||||
excelObj.setUSER_SIGN_FILE(USER_SIGN);
|
||||
if (Tools.notEmpty(pd.getString("PORTRAIT"))) {
|
||||
File PORTRAIT = new File(PathUtil.getProjectpath() + Const.FILEPATHFILE + pd.getString("PORTRAIT"));
|
||||
excelObj.setPORTRAIT(PORTRAIT);
|
||||
objMap.put("CLASS_NAME",student.getString("CLASS_NAME"));
|
||||
if (Tools.notEmpty(student.getString("SIGNATURE_PATH"))) {
|
||||
objMap.put("IMAGE1", student.getString("SIGNATURE_PATH"));
|
||||
}else {
|
||||
objMap.put("IMAGE1", null);
|
||||
}
|
||||
if (Tools.notEmpty(student.getString("PORTRAIT"))) {
|
||||
objMap.put("IMAGE2", student.getString("PORTRAIT"));
|
||||
}else {
|
||||
objMap.put("IMAGE2", null);
|
||||
}
|
||||
objMap = ImageExcelUtil.javaBean2Map(excelObj);
|
||||
list.add(objMap);
|
||||
num++;
|
||||
}
|
||||
}
|
||||
Object[] objects = objMap.keySet().toArray();
|
||||
String[] titles = new String[objects.length];
|
||||
Map<String, String> titleName = new LinkedHashMap<>();
|
||||
titleName.put("NUMBER", "序号");
|
||||
titleName.put("USER_ID_CARD", "身份证号");
|
||||
titleName.put("NAME", "姓名");
|
||||
titleName.put("SEX", "性别");
|
||||
|
@ -410,29 +413,13 @@ public class StudentController extends BaseController {
|
|||
titleName.put("EXAMSCORE", "考试分数");
|
||||
titleName.put("STUDYSTATE", "学习状态");
|
||||
titleName.put("CLASS_NAME", "班级名称");
|
||||
titleName.put("USER_SIGN_FILE", "用户签字");
|
||||
titleName.put("PORTRAIT", "人像照片");
|
||||
titleName.put("IMAGE1", "用户签字");
|
||||
titleName.put("IMAGE2", "人像照片");
|
||||
|
||||
for (int i = 0; i < titles.length; i++) {
|
||||
String key = objects[i].toString();
|
||||
titles[i] = titleName.get(key);
|
||||
}
|
||||
// List<String> titles = new ArrayList<>();
|
||||
// titles.add("身份证号");
|
||||
// titles.add("姓名");
|
||||
// titles.add("性别");
|
||||
// titles.add("手机号");
|
||||
// titles.add("部门");
|
||||
// titles.add("工种");
|
||||
// titles.add("要求总学时");
|
||||
// titles.add("已完成学时");
|
||||
// titles.add("是否考试通过");
|
||||
// titles.add("考试分数");
|
||||
// titles.add("学习状态");
|
||||
// titles.add("班级名称");
|
||||
// titles.add("用户签字");
|
||||
// titles.add("人像照片");
|
||||
|
||||
String fileName = "学员学习记录";
|
||||
response.setContentType("application/vnd.ms-excel");
|
||||
response.addHeader("Content-Disposition", "attachment; filename=" + fileName);
|
||||
|
|
|
@ -59,30 +59,6 @@ public class DepartmentController extends BaseController {
|
|||
String corpinfoId = Jurisdiction.getCORPINFO_ID();
|
||||
PageData corpPage = new PageData();
|
||||
corpPage.put("CORPINFO_ID", corpinfoId);
|
||||
PageData corpInfo = corpInfoService.findById(corpPage);
|
||||
// {"deptName":"0226-wx","enterpriseId":4,"staffId":"","deptPhone":"","deptAddress":"","remark":"","deptDuty":""}
|
||||
corpPage.put("enterpriseName",corpInfo.getString("CORP_NAME"));
|
||||
if (Tools.isEmpty(corpInfo.getString("enterpriseId"))) {
|
||||
JSONObject body = PLSUtil.GeneralPost("/deploy/enterprise/addDepEnterprise", corpPage, corpinfoId);
|
||||
if (body != null) {
|
||||
if (!"200".equals(body.getString("code"))) {
|
||||
return ReturnMap.error("人员定位系统中部门新增失败");
|
||||
}
|
||||
corpPage.put("enterpriseId", body.getString("data"));
|
||||
corpInfo.put("enterpriseId", body.getString("data"));
|
||||
corpInfoService.updateEnterpriseId(corpPage);
|
||||
}
|
||||
}
|
||||
PageData dept = new PageData();
|
||||
dept.put("deptName", pd.getString("NAME"));
|
||||
dept.put("enterpriseId", corpInfo.get("enterpriseId"));
|
||||
JSONObject body = PLSUtil.GeneralPost("/deploy/dept", dept, corpinfoId);
|
||||
if (body != null) {
|
||||
if (!"200".equals(body.getString("code"))) {
|
||||
return ReturnMap.error("人员定位系统中部门新增失败");
|
||||
}
|
||||
pd.put("deptId", body.getString("data"));
|
||||
}
|
||||
pd.put("DEPARTMENT_ID", this.get32UUID()); //主键
|
||||
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业
|
||||
departmentService.save(pd);
|
||||
|
@ -167,15 +143,6 @@ public class DepartmentController extends BaseController {
|
|||
String errInfo = "success";
|
||||
PageData pd = new PageData();
|
||||
pd = this.getPageData();
|
||||
PageData sfDeptID = new PageData();
|
||||
sfDeptID.put("deptId", pd.get("deptId"));
|
||||
sfDeptID.put("deptName", pd.get("NAME"));
|
||||
JSONObject body = PLSUtil.GeneralPut("/deploy/dept", sfDeptID, Jurisdiction.getCORPINFO_ID());
|
||||
if (body != null) {
|
||||
if (!"200".equals(body.getString("code"))) {
|
||||
return ReturnMap.error("人员定位系统中部门新增失败");
|
||||
}
|
||||
}
|
||||
departmentService.edit(pd);
|
||||
// 删除旧的监管单位
|
||||
PageData pd2 = new PageData();
|
||||
|
|
|
@ -1,180 +0,0 @@
|
|||
package com.zcloud.entity;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.Serializable;
|
||||
|
||||
public class StudentMessageExcel implements Serializable{
|
||||
|
||||
/**
|
||||
*序列化ID
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 身份证
|
||||
*/
|
||||
private String USER_ID_CARD;
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
private String NAME;
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
private String SEX;
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String PHONE;
|
||||
/**
|
||||
* 部门
|
||||
*/
|
||||
private String DEPARTMENT_NAME;
|
||||
/**
|
||||
* 工种
|
||||
*/
|
||||
private String POST_NAME;
|
||||
/**
|
||||
* 要求总学时
|
||||
*/
|
||||
private String ALL_CLASSHOUR;
|
||||
/**
|
||||
* 已完成学时
|
||||
*/
|
||||
private String COMPLETE_CLASSHOUR;
|
||||
/**
|
||||
* 是否考试通过
|
||||
*/
|
||||
private String PASSED;
|
||||
/**
|
||||
* 考试分数
|
||||
*/
|
||||
private String EXAMSCORE;
|
||||
/**
|
||||
* 学习状态
|
||||
*/
|
||||
private String STUDYSTATE;
|
||||
/**
|
||||
* 班级名称
|
||||
*/
|
||||
private String CLASS_NAME;
|
||||
/**
|
||||
* 用户签字
|
||||
*/
|
||||
private File USER_SIGN_FILE;
|
||||
/**
|
||||
* 人像照片
|
||||
*/
|
||||
private File PORTRAIT;
|
||||
|
||||
public String getUSER_ID_CARD() {
|
||||
return USER_ID_CARD;
|
||||
}
|
||||
|
||||
public void setUSER_ID_CARD(String USER_ID_CARD) {
|
||||
this.USER_ID_CARD = USER_ID_CARD;
|
||||
}
|
||||
|
||||
public String getNAME() {
|
||||
return NAME;
|
||||
}
|
||||
|
||||
public void setNAME(String NAME) {
|
||||
this.NAME = NAME;
|
||||
}
|
||||
|
||||
public String getSEX() {
|
||||
return SEX;
|
||||
}
|
||||
|
||||
public void setSEX(String SEX) {
|
||||
this.SEX = SEX;
|
||||
}
|
||||
|
||||
public String getPHONE() {
|
||||
return PHONE;
|
||||
}
|
||||
|
||||
public void setPHONE(String PHONE) {
|
||||
this.PHONE = PHONE;
|
||||
}
|
||||
|
||||
public String getDEPARTMENT_NAME() {
|
||||
return DEPARTMENT_NAME;
|
||||
}
|
||||
|
||||
public void setDEPARTMENT_NAME(String DEPARTMENT_NAME) {
|
||||
this.DEPARTMENT_NAME = DEPARTMENT_NAME;
|
||||
}
|
||||
|
||||
public String getPOST_NAME() {
|
||||
return POST_NAME;
|
||||
}
|
||||
|
||||
public void setPOST_NAME(String POST_NAME) {
|
||||
this.POST_NAME = POST_NAME;
|
||||
}
|
||||
|
||||
public String getALL_CLASSHOUR() {
|
||||
return ALL_CLASSHOUR;
|
||||
}
|
||||
|
||||
public void setALL_CLASSHOUR(String ALL_CLASSHOUR) {
|
||||
this.ALL_CLASSHOUR = ALL_CLASSHOUR;
|
||||
}
|
||||
|
||||
public String getCOMPLETE_CLASSHOUR() {
|
||||
return COMPLETE_CLASSHOUR;
|
||||
}
|
||||
|
||||
public void setCOMPLETE_CLASSHOUR(String COMPLETE_CLASSHOUR) {
|
||||
this.COMPLETE_CLASSHOUR = COMPLETE_CLASSHOUR;
|
||||
}
|
||||
|
||||
public String getPASSED() {
|
||||
return PASSED;
|
||||
}
|
||||
|
||||
public void setPASSED(String PASSED) {
|
||||
this.PASSED = PASSED;
|
||||
}
|
||||
|
||||
public String getEXAMSCORE() {
|
||||
return EXAMSCORE;
|
||||
}
|
||||
|
||||
public void setEXAMSCORE(String EXAMSCORE) {
|
||||
this.EXAMSCORE = EXAMSCORE;
|
||||
}
|
||||
|
||||
public String getSTUDYSTATE() {
|
||||
return STUDYSTATE;
|
||||
}
|
||||
|
||||
public void setSTUDYSTATE(String STUDYSTATE) {
|
||||
this.STUDYSTATE = STUDYSTATE;
|
||||
}
|
||||
|
||||
public String getCLASS_NAME() {
|
||||
return CLASS_NAME;
|
||||
}
|
||||
|
||||
public void setCLASS_NAME(String CLASS_NAME) {
|
||||
this.CLASS_NAME = CLASS_NAME;
|
||||
}
|
||||
|
||||
public File getUSER_SIGN_FILE() {
|
||||
return USER_SIGN_FILE;
|
||||
}
|
||||
|
||||
public void setUSER_SIGN_FILE(File USER_SIGN_FILE) {
|
||||
this.USER_SIGN_FILE = USER_SIGN_FILE;
|
||||
}
|
||||
|
||||
public File getPORTRAIT() {
|
||||
return PORTRAIT;
|
||||
}
|
||||
|
||||
public void setPORTRAIT(File PORTRAIT) {
|
||||
this.PORTRAIT = PORTRAIT;
|
||||
}
|
||||
}
|
|
@ -85,5 +85,14 @@ public interface UserInfoMapper{
|
|||
* @throws Exception
|
||||
*/
|
||||
void editPractitioner(PageData pd);
|
||||
|
||||
void editAuthentication(PageData pd);
|
||||
/**
|
||||
* 修改用户
|
||||
*
|
||||
* @param pd
|
||||
* @throws Exception
|
||||
*/
|
||||
void editUserInfo(PageData pd);
|
||||
}
|
||||
|
||||
|
|
|
@ -605,10 +605,6 @@ public class ArchivesPdfFileServiceImpl implements ArchivesPdfFileService {
|
|||
List<PageData> allSign = classMapper.findByIdForSign(student); //考核记录下边的签字信息
|
||||
USERNAME = student.getString("STUDENT_NAME");
|
||||
PageData regstu = archivesStudentMapper.getStuInfo(pageData);
|
||||
PageData arpd = archivesStudentMapper.findById(pageData); //根据ID读取
|
||||
if (arpd != null) {
|
||||
regstu.putAll(arpd);
|
||||
}
|
||||
if (checkArchivesList.toString().contains("人员登记表")) {
|
||||
regstu.put("projectPath", projectPath);
|
||||
File pdf = archivesStudentService.registertable(regstu); //人员登记返回PDF文件
|
||||
|
@ -740,10 +736,6 @@ public class ArchivesPdfFileServiceImpl implements ArchivesPdfFileService {
|
|||
String projectPath = pd.getString("projectPath");
|
||||
ArrayList<File> files = new ArrayList<>(); //最外层
|
||||
PageData stu = archivesStudentMapper.getStuInfo(pd);
|
||||
PageData arpd = archivesStudentMapper.findById(pd); //根据ID读取
|
||||
if (arpd != null) {
|
||||
stu.putAll(arpd);
|
||||
}
|
||||
String now = DateUtil.getSdfTimesSSS();
|
||||
File file = new File(projectPath + Const.FILEPATHWORDTEMPLATE + "registerform.docx");
|
||||
InputStream mbwj = new FileInputStream(file);
|
||||
|
@ -767,7 +759,7 @@ public class ArchivesPdfFileServiceImpl implements ArchivesPdfFileService {
|
|||
context.put("value13", Tools.notEmpty(stu.getString("ENTRY_DATE")) ? stu.getString("ENTRY_DATE") : ""); // 进入本单位时间
|
||||
|
||||
context.put("value14", Tools.notEmpty(stu.getString("DEPARTMENT_NAME")) ? stu.getString("DEPARTMENT_NAME") : ""); // 入职部门
|
||||
context.put("value15", Tools.notEmpty(stu.getString("POST_NAME")) ? stu.getString("POST_NAME") : ""); // 岗位名称
|
||||
context.put("value15", Tools.notEmpty(stu.getString("TYPE_OF_WORK_NAME")) ? stu.getString("TYPE_OF_WORK_NAME") : ""); // 岗位名称
|
||||
context.put("value16", Tools.notEmpty(stu.getString("PREVIOUS_POST_DATE")) ? stu.getString("PREVIOUS_POST_DATE") : ""); // 之前从事本岗位时间
|
||||
context.put("value17", Tools.notEmpty(stu.getString("WORK_EXPERIENCE")) ? stu.getString("WORK_EXPERIENCE") : ""); // 主要工作经历
|
||||
context.put("value18", Tools.notEmpty(stu.getString("CERTIFICATES")) ? stu.getString("CERTIFICATES") : ""); // 有关的岗位证书等情况
|
||||
|
@ -840,11 +832,6 @@ public class ArchivesPdfFileServiceImpl implements ArchivesPdfFileService {
|
|||
PageData studentpd = new PageData();
|
||||
studentpd.put("STUDENT_ID", user.getString("STUDENT_ID"));
|
||||
PageData stu = archivesStudentMapper.getStuInfo(studentpd);//学员数据
|
||||
pd.put("USER_ID", stu.getString("USER_ID"));
|
||||
studentpd = archivesStudentMapper.findById(pd); //根据ID读取
|
||||
if (studentpd != null) {
|
||||
stu.putAll(studentpd);
|
||||
}
|
||||
stu.put("projectPath", projectPath);
|
||||
if (checkArchivesList.toString().contains("人员登记表")) {
|
||||
File pdf = this.registertable(stu);
|
||||
|
@ -3020,7 +3007,7 @@ public class ArchivesPdfFileServiceImpl implements ArchivesPdfFileService {
|
|||
context.put("value13", Tools.notEmpty(stu.getString("ENTRY_DATE")) ? stu.getString("ENTRY_DATE") : ""); // 进入本单位时间
|
||||
|
||||
context.put("value14", Tools.notEmpty(stu.getString("DEPARTMENT_NAME")) ? stu.getString("DEPARTMENT_NAME") : ""); // 入职部门
|
||||
context.put("value15", Tools.notEmpty(stu.getString("POST_NAME")) ? stu.getString("POST_NAME") : ""); // 岗位名称
|
||||
context.put("value15", Tools.notEmpty(stu.getString("TYPE_OF_WORK_NAME")) ? stu.getString("TYPE_OF_WORK_NAME") : ""); // 岗位名称
|
||||
context.put("value16", Tools.notEmpty(stu.getString("PREVIOUS_POST_DATE")) ? stu.getString("PREVIOUS_POST_DATE") : ""); // 之前从事本岗位时间
|
||||
context.put("value17", Tools.notEmpty(stu.getString("WORK_EXPERIENCE")) ? stu.getString("WORK_EXPERIENCE") : ""); // 主要工作经历
|
||||
context.put("value18", Tools.notEmpty(stu.getString("CERTIFICATES")) ? stu.getString("CERTIFICATES") : ""); // 有关的岗位证书等情况
|
||||
|
|
|
@ -144,7 +144,7 @@ public class ArchivesStudentServiceImpl implements ArchivesStudentService {
|
|||
context.put("value13", Tools.notEmpty(stu.getString("ENTRY_DATE")) ? stu.getString("ENTRY_DATE") : ""); // 进入本单位时间
|
||||
|
||||
context.put("value14", Tools.notEmpty(stu.getString("DEPARTMENT_NAME")) ? stu.getString("DEPARTMENT_NAME") : ""); // 入职部门
|
||||
context.put("value15", Tools.notEmpty(stu.getString("POST_NAME")) ? stu.getString("POST_NAME") : ""); // 岗位名称
|
||||
context.put("value15", Tools.notEmpty(stu.getString("TYPE_OF_WORK_NAME")) ? stu.getString("TYPE_OF_WORK_NAME") : ""); // 岗位名称
|
||||
context.put("value16", Tools.notEmpty(stu.getString("PREVIOUS_POST_DATE")) ? stu.getString("PREVIOUS_POST_DATE") : ""); // 之前从事本岗位时间
|
||||
context.put("value17", Tools.notEmpty(stu.getString("WORK_EXPERIENCE")) ? stu.getString("WORK_EXPERIENCE") : ""); // 主要工作经历
|
||||
context.put("value18", Tools.notEmpty(stu.getString("CERTIFICATES")) ? stu.getString("CERTIFICATES") : ""); // 有关的岗位证书等情况
|
||||
|
|
|
@ -81,14 +81,6 @@ public interface StrengthenStageExamPaperInputService {
|
|||
*/
|
||||
public void deleteAll(String[] ArrayDATA_IDS) throws Exception;
|
||||
|
||||
/**
|
||||
* 获取对应的试卷习题
|
||||
*
|
||||
* @param pd
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<PageData> getSaveStage(PageData pd) throws Exception;
|
||||
|
||||
/**
|
||||
* 修改 状态
|
||||
|
|
|
@ -168,7 +168,6 @@ public class CourseStudyVideoRecordServiceImpl implements CourseStudyVideoRecord
|
|||
initPageDataUtil.initSaveApp(entity, entity.getString("USER_ID"));
|
||||
entity.put("CORPINFO_ID", student.get("CORPINFO_ID"));
|
||||
entity.put("STUDENT_ID", student.get("STUDENT_ID"));
|
||||
entity.put("ENTERPRISE_ID", student.get("ENTERPRISE_ID"));
|
||||
|
||||
coursestudyvideorecordMapper.save(entity);
|
||||
} else {
|
||||
|
|
|
@ -228,7 +228,7 @@ public class StageExamServiceImpl implements StageExamService {
|
|||
record.put("STAGEEXAM_ID", entity.getString("STAGEEXAM_ID"));
|
||||
record.put("PAPER_ID", entity.getString("STAGEEXAMPAPERINPUT_ID"));
|
||||
record.put("CLASS_ID", entity.getString("CLASS_ID"));
|
||||
record.put("TUDENT_ID", student.getString("STUDENT_ID"));
|
||||
record.put("STUDENT_ID", student.getString("STUDENT_ID"));
|
||||
record.put("CORPINFO_ID", student.getString("CORPINFO_ID")); //企业ID
|
||||
initPageDataUtil.initSaveApp(record, entity.getString("USER_ID"));
|
||||
for (PageData x : list) {
|
||||
|
@ -299,7 +299,7 @@ public class StageExamServiceImpl implements StageExamService {
|
|||
PageData stuEndTime = new PageData();
|
||||
stuEndTime.put("STUDENT_ID", student.getString("STUDENT_ID"));
|
||||
stuEndTime.put("STUDY_END_TIME", nowDate);
|
||||
initPageDataUtil.initEdit(stuEndTime);
|
||||
initPageDataUtil.initEditApp(stuEndTime,entity.getString("USER_ID"));
|
||||
studentMapper.edit(stuEndTime);
|
||||
scores.put("STAGEEXAMSTATE", '2'); //考试状态
|
||||
scores.put("STUDYSTATE", '2'); // 学习状态
|
||||
|
|
|
@ -136,8 +136,8 @@ public class StageexampaperInputServiceImpl implements StageexampaperInputServic
|
|||
//试题类型(单选题、多选题、判断题、填空题)
|
||||
// 批量添加自动生成试卷
|
||||
if (Tools.notEmpty(pd.getString("addType"))) {
|
||||
String[] COURSEWAREIDS = (String[]) pd.get("COURSEWAREIDS");
|
||||
questionPd.put("COURSEWAREIDS", COURSEWAREIDS);
|
||||
String[] COURSEWAREIDS = pd.get("COURSEWAREIDS").toString().split(",");
|
||||
questionPd.put("COURSEWAREIDS", Arrays.asList(COURSEWAREIDS));
|
||||
} else {
|
||||
JSONArray coursewareids = JSON.parseArray(pd.get("COURSEWAREIDS").toString());
|
||||
questionPd.put("COURSEWAREIDS", Arrays.asList(coursewareids.toArray()));
|
||||
|
|
|
@ -117,58 +117,6 @@ public class StrengthenStageExamPaperInputServiceImpl implements StrengthenStage
|
|||
stageexampaperinputMapper.deleteAll(ArrayDATA_IDS);
|
||||
}
|
||||
|
||||
public List<PageData> getSaveStage(PageData pd) throws Exception {
|
||||
List<PageData> valList = new ArrayList<>();
|
||||
for (int i = 1; i <= 4; i++) {
|
||||
String xitiType = "";
|
||||
Double QUESTIONSCORE = 0.0;
|
||||
if (1 == i) {
|
||||
xitiType = "DANYUANTICOUNT";
|
||||
QUESTIONSCORE = Double.parseDouble(pd.getString("DANXUANTINUMBER"));
|
||||
} else if (2 == i) {
|
||||
xitiType = "DUOXUANTICOUNT";
|
||||
QUESTIONSCORE = Double.parseDouble(pd.getString("DUOXUANTINUMBER"));
|
||||
} else if (3 == i) {
|
||||
xitiType = "PANDUITICOUNT";
|
||||
QUESTIONSCORE = Double.parseDouble(pd.getString("PANDUITINUMBER"));
|
||||
} else if (4 == i) {
|
||||
xitiType = "TIANKONGTICOUNT";
|
||||
QUESTIONSCORE = Double.parseDouble(pd.getString("TIANKONGTINUMBER"));
|
||||
}
|
||||
PageData questionPd = new PageData();
|
||||
questionPd.put("QUESTIONTYPE", i);
|
||||
//试题类型(单选题、多选题、判断题、填空题)
|
||||
// 批量添加自动生成试卷
|
||||
if (Tools.notEmpty(pd.getString("addType"))) {
|
||||
questionPd.put("COURSEWAREIDS", (String[]) pd.get("COURSEWAREIDS"));
|
||||
} else {
|
||||
JSONArray coursewareids = JSON.parseArray(pd.get("COURSEWAREIDS").toString());
|
||||
questionPd.put("COURSEWAREIDS", Arrays.asList(coursewareids.toArray()));
|
||||
}
|
||||
//课件id
|
||||
List<PageData> questionAllList = questionService.listAllByType(questionPd); // 获取该类型的习题数据
|
||||
Integer danxuanNmber = Integer.parseInt(pd.getString(xitiType)); //选择该类型数据的个数
|
||||
|
||||
if (danxuanNmber > questionAllList.size()) {
|
||||
System.out.println("课程习题总数少于考试试题数,无法生成试卷试题");
|
||||
return null;
|
||||
}
|
||||
List<Integer> tempList = new ArrayList<Integer>(); //索引
|
||||
for (int j = 0; j < danxuanNmber; j++) {
|
||||
int random = new Random().nextInt(questionAllList.size());
|
||||
if (!tempList.contains(random)) {
|
||||
tempList.add(random);
|
||||
PageData quMap = questionAllList.get(random);
|
||||
quMap.put("SCORE", QUESTIONSCORE); //添加分数
|
||||
valList.add(quMap);
|
||||
} else {
|
||||
j--;
|
||||
}
|
||||
}
|
||||
}
|
||||
return valList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改 状态
|
||||
*
|
||||
|
|
|
@ -79,5 +79,10 @@ public interface UserInfoService{
|
|||
* @param pd
|
||||
*/
|
||||
void editPractitioner(PageData pd)throws Exception;
|
||||
|
||||
void editAuthentication(PageData pd) throws Exception;
|
||||
|
||||
void editUserInfo(PageData user) throws Exception;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -137,5 +137,17 @@ public class UserInfoServiceImpl implements UserInfoService {
|
|||
userinfoMapper.editPractitioner(pd);
|
||||
}
|
||||
|
||||
public void editAuthentication(PageData pd) throws Exception {
|
||||
userinfoMapper.editAuthentication(pd);
|
||||
}
|
||||
/**
|
||||
* 修改用户
|
||||
*
|
||||
* @param pd
|
||||
* @throws Exception
|
||||
*/
|
||||
public void editUserInfo(PageData pd) throws Exception {
|
||||
userinfoMapper.editUserInfo(pd);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,82 +0,0 @@
|
|||
package com.zcloud.util;
|
||||
|
||||
import com.zcloud.entity.PageData;
|
||||
import com.zcloud.service.eduStudy.ClassService;
|
||||
import com.zcloud.service.eduStudy.StageStudentRelationService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class ClassScheduled {
|
||||
@Autowired
|
||||
private ClassService classService;
|
||||
@Autowired
|
||||
private StageStudentRelationService stageStudentRelationService;
|
||||
|
||||
|
||||
// @Scheduled(cron = "0 30 0 * * ?") // 每天晚上12:30执行
|
||||
@Scheduled(cron ="0 0/5 * * * ?") // 测试 每5分钟执行一次
|
||||
public void scheduled() {
|
||||
try {
|
||||
PageData pd = new PageData();
|
||||
String[] STATEARRAY = new String[]{"4", "5"};
|
||||
pd.put("STATEARRAY", STATEARRAY);
|
||||
// 查询所有班级列表
|
||||
List<PageData> classList = classService.listAllScheduled(pd);
|
||||
if (classList != null && classList.size() > 0) {
|
||||
for (PageData classInfo : classList) {
|
||||
if (classInfo != null
|
||||
&& classInfo.get("TRAINTYPE") != null && Tools.notEmpty(classInfo.get("TRAINTYPE").toString())
|
||||
&& classInfo.get("START_TIME") != null
|
||||
&& classInfo.get("END_TIME") != null) {
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
Date startTime = formatter.parse(classInfo.getString("START_TIME"));
|
||||
Date endTime = formatter.parse(classInfo.getString("END_TIME"));
|
||||
Date now = new Date();
|
||||
|
||||
if (startTime.before(now) && now.before(endTime)) {
|
||||
classInfo.put("STATE", "5");
|
||||
} else if (endTime.before(now)) {
|
||||
classInfo.put("STATE", "6");
|
||||
pd.put("CLASS_ID", classInfo.getString("CLASS_ID"));
|
||||
int count = stageStudentRelationService.getCountByCla(pd);
|
||||
PageData studyState = new PageData();
|
||||
if (count > 0) {
|
||||
studyState.put("STUDYSTATE", "6");
|
||||
studyState.put("WHERESTUDYSTATE", new String[]{"5"});
|
||||
studyState.put("OPERATOR", "1"); //修改人
|
||||
studyState.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
|
||||
studyState.put("CLASS_ID", classInfo.get("CLASS_ID"));
|
||||
stageStudentRelationService.updateClassStateSch(studyState);
|
||||
}
|
||||
studyState.put("STUDYSTATE", "4");
|
||||
studyState.put("WHERESTUDYSTATE", new String[]{"0", "1"});
|
||||
studyState.put("OPERATOR", "1"); //修改人
|
||||
studyState.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
|
||||
studyState.put("CLASS_ID", classInfo.get("CLASS_ID"));
|
||||
stageStudentRelationService.updateClassStateSch(studyState);
|
||||
PageData stageExamState = new PageData();
|
||||
stageExamState.put("STAGEEXAMSTATE", "4");
|
||||
stageExamState.put("WHERESTAGEEXAMSTATE", new String[]{"1"});
|
||||
stageExamState.put("OPERATOR", "1"); //修改人
|
||||
stageExamState.put("CLASS_ID", classInfo.get("CLASS_ID"));
|
||||
stageExamState.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
|
||||
stageStudentRelationService.updateClassStateSch(stageExamState);
|
||||
|
||||
}
|
||||
classInfo.put("OPERATOR", "1"); //修改人
|
||||
classInfo.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
|
||||
classService.editState(classInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -31,6 +31,7 @@ public class Const {
|
|||
public static final String BIFILEPATHFILE = "/TrafficFile/uploadFiles/Bfile/"; //文件上传路径
|
||||
public static final String FILEPATHIMG = "/TrafficFile/uploadFiles/imgs/"; //图片上传路径
|
||||
public static final String FILEPATHIMGSPECIAL = "/TrafficFile/uploadFiles/imgs/special/"; //图片上传路径(特种装备)
|
||||
public static final String FILEPATHUSERFACE = "/TrafficFile/uploadFiles/userFace/"; //图片上传路径(人脸)
|
||||
public static final String FILEPATHDZJM = "/TrafficFile/uploadFiles/dzjm/"; //图片上传路径
|
||||
public static final String FILEPATHYHTP = "/TrafficFile/uploadFiles/yhtp/"; //图片上传路径
|
||||
public static final String FILEPATHFXSST = "/TrafficFile/uploadFiles/fxsst/"; //图片上传路径 风险四色图
|
||||
|
|
|
@ -119,7 +119,7 @@ public class ImageAnd64Binary {
|
|||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
|
||||
// 创建一个 ByteArrayInputStream,使用 buf 作为其缓冲区数组
|
||||
ByteArrayInputStream in = new ByteArrayInputStream( zipBase64 .getBytes( "ISO-8859-1" ) );
|
||||
ByteArrayInputStream in = new ByteArrayInputStream( zipBase64.getBytes( "ISO-8859-1" ) );
|
||||
|
||||
// 使用默认缓冲区大小创建新的输入流
|
||||
GZIPInputStream gzip = new GZIPInputStream( in );
|
||||
|
|
|
@ -43,6 +43,7 @@ public class ImageExcelUtil {
|
|||
OutputStream out = null;
|
||||
BufferedImage bufferImg = null;
|
||||
HSSFWorkbook wb = null;
|
||||
List<File> fileList = new ArrayList<File>();
|
||||
|
||||
try {
|
||||
//创建工作sheet
|
||||
|
@ -88,12 +89,14 @@ public class ImageExcelUtil {
|
|||
cellRow = row.createCell(cellColumn);
|
||||
cellRow.setCellStyle(style);
|
||||
//如果行数据中有图片时候的处理
|
||||
if ("USER_SIGN_FILE".equals(value) || "PORTRAIT".equals(value)) {
|
||||
File file = (File) stringObjectMap.get(value);
|
||||
if (file == null) {
|
||||
if ("IMAGE1".equals(value) || "IMAGE2".equals(value)) {
|
||||
if (stringObjectMap.get(value) == null) {
|
||||
cellRow.setCellValue("");
|
||||
cellColumn++;
|
||||
continue;
|
||||
} else {
|
||||
String filePath = saveFile(Const.HTTPFILEURL + stringObjectMap.get(value).toString(), path);
|
||||
File file = new File(filePath);
|
||||
row.setHeightInPoints(50);
|
||||
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
|
||||
cellRow = row.createCell(cellColumn);
|
||||
|
@ -101,16 +104,17 @@ public class ImageExcelUtil {
|
|||
sheet.setColumnWidth(cellColumn, 5000);
|
||||
log.error("图片路径" + file);
|
||||
bufferImg = ImageIO.read(file);
|
||||
ImageIO.write(bufferImg, "jpg", byteArrayOut);
|
||||
anchor = new HSSFClientAnchor(0, 0, 1023, 255, (short) cellColumn, i, (short) cellColumn, i);
|
||||
patriarch.createPicture(anchor, wb.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_PNG));
|
||||
cellColumn++;
|
||||
ImageIO.write(bufferImg, "png", byteArrayOut);
|
||||
anchor = new HSSFClientAnchor(0, 0, 800, 255, (short) cellColumn, i, (short) cellColumn, i);
|
||||
patriarch.createPicture(anchor, wb.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
|
||||
fileList.add(file);
|
||||
}
|
||||
}
|
||||
if (stringObjectMap.get(value) != null) {
|
||||
cellRow.setCellValue(stringObjectMap.get(value).toString());
|
||||
} else {
|
||||
cellRow.setCellValue("");
|
||||
if (stringObjectMap.get(value) != null) {
|
||||
cellRow.setCellValue(stringObjectMap.get(value).toString());
|
||||
} else {
|
||||
cellRow.setCellValue("");
|
||||
}
|
||||
}
|
||||
cellColumn++;
|
||||
}
|
||||
|
@ -129,12 +133,9 @@ public class ImageExcelUtil {
|
|||
if (out != null) {
|
||||
try {
|
||||
out.close();
|
||||
|
||||
//执行删除生成的图片 TODO
|
||||
// File file = new File("E:\\data\\nginxd\\sportsApplets");//输入要删除文件目录的绝对路径
|
||||
// File file = new File("/data/nginxd/sportsApplets/excelDeleteImage/");//输入要删除文件目录的绝对路径
|
||||
File file = new File(path);//输入要删除文件目录的绝对路径
|
||||
deleteFile(file);//由于是保存网络图片到本地服务区,所以画完图片到excel就要删除文件
|
||||
for (File file : fileList) {
|
||||
file.delete(); //由于是保存网络图片到本地服务区,所以画完图片到excel就要删除文件
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -143,36 +144,6 @@ public class ImageExcelUtil {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除文件夹目录下的所有文件 (我是怕到时候本地服务器图片越来越多,占用资源,所以把图片洗完到excel里面就删除)
|
||||
*
|
||||
* @param file
|
||||
* @date 2021/01/11
|
||||
*/
|
||||
public static void deleteFile(File file) {
|
||||
//判断文件不为null或文件目录存在
|
||||
if (file == null || !file.exists()) {
|
||||
log.error("文件删除失败,请检查文件路径是否正确");
|
||||
return;
|
||||
}
|
||||
//取得这个目录下的所有子文件对象
|
||||
File[] files = file.listFiles();
|
||||
//遍历该目录下的文件对象
|
||||
for (File f : files) {
|
||||
//打印文件名
|
||||
String name = file.getName();
|
||||
log.error("删除的文件名" + name);
|
||||
//判断子目录是否存在子目录,如果是文件则删除
|
||||
if (f.isDirectory()) {
|
||||
deleteFile(f);
|
||||
} else {
|
||||
f.delete();
|
||||
}
|
||||
}
|
||||
//删除空文件夹 for循环已经把上一层节点的目录清空。
|
||||
file.delete();
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存图片到本地
|
||||
*
|
||||
|
@ -207,8 +178,6 @@ public class ImageExcelUtil {
|
|||
// 读取到的数据长度
|
||||
int len;
|
||||
// 输出的文件流
|
||||
// String path = "E:\\data\\nginxd\\sportsApplets";
|
||||
// String path = "/data/nginxd/sportsApplets/excelDeleteImage/";
|
||||
sf = new File(path);
|
||||
if (!sf.exists()) {
|
||||
sf.mkdirs();
|
||||
|
@ -236,50 +205,6 @@ public class ImageExcelUtil {
|
|||
return sf.getPath() + "/" + filename;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 将java类对象属性-值转换成map的键值对 去除getClass方法属性,以及自定义的file属性放置最后。
|
||||
*
|
||||
* @param javaBean
|
||||
* @return Map
|
||||
* @throws Exception
|
||||
* @date 2021/01/11
|
||||
*/
|
||||
public static Map<String, Object> javaBean2Map(Object javaBean) throws Exception {
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
//反射的实现方式:第一种
|
||||
/*Class<Student> studentClass = Student.class;
|
||||
studentClass.getClass();*/
|
||||
//第二种实现方式
|
||||
Method[] methods = javaBean.getClass().getMethods(); // 获取所有方法
|
||||
//第三种实现方式
|
||||
/*Class.forName("类路径");*/
|
||||
String fileName = null;
|
||||
File file = null;
|
||||
for (Method method : methods) {
|
||||
if (method.getName().startsWith("get")) {
|
||||
String field = method.getName(); // 拼接属性名
|
||||
if (field.contains("getClass")) {
|
||||
continue;
|
||||
}
|
||||
field = field.substring(field.indexOf("get") + 3);
|
||||
Object value = method.invoke(javaBean, (Object[]) null); // 执行方法
|
||||
if (field.equals("USER_SIGN_FILE") || field.equals("PORTRAIT")) {
|
||||
fileName = field;
|
||||
file = (File) value;
|
||||
continue;
|
||||
}
|
||||
if (fileName != null) {
|
||||
map.put(fileName, file);
|
||||
fileName = null;
|
||||
} else {
|
||||
map.put(field, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
/**
|
||||
* 递归调用让字符串对中调换
|
||||
*
|
||||
|
|
|
@ -0,0 +1,148 @@
|
|||
package com.zcloud.util;
|
||||
|
||||
import cn.hutool.core.codec.Base64;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import org.apache.commons.fileupload.FileItem;
|
||||
import org.apache.commons.fileupload.disk.DiskFileItem;
|
||||
import org.apache.tomcat.util.http.fileupload.IOUtils;
|
||||
import org.springframework.mock.web.MockMultipartFile;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.commons.CommonsMultipartFile;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.URL;
|
||||
import java.nio.file.Files;
|
||||
import java.util.UUID;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class ImageUtil {
|
||||
|
||||
/**
|
||||
* 图片路径层级分隔符
|
||||
*/
|
||||
private static final String separator = "/";
|
||||
|
||||
public static MultipartFile base64ToMultipartFile(String baseImg) {
|
||||
|
||||
//定义一个正则表达式的筛选规则,为了获取图片的类型
|
||||
String rgex = "data:image/(.*?);base64";
|
||||
if (StrUtil.isBlank(baseImg)) {
|
||||
return null;
|
||||
}
|
||||
String type = getSubUtilSimple(baseImg, rgex);
|
||||
//去除base64图片的前缀
|
||||
baseImg = baseImg.replaceFirst("data:(.+?);base64,", "");
|
||||
byte[] imageByte;
|
||||
String fileName = "";
|
||||
//把图片转换成二进制
|
||||
imageByte = Base64.decode(baseImg.replaceAll(" ", "+"));
|
||||
|
||||
//随机生成图片的名字,同时根据类型结尾
|
||||
fileName = UUID.randomUUID().toString() + "." + type;
|
||||
|
||||
InputStream inputStream = new ByteArrayInputStream(imageByte);
|
||||
MockMultipartFile mockMultipartFile = null;
|
||||
try {
|
||||
mockMultipartFile = new MockMultipartFile(fileName, fileName, "", inputStream);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return mockMultipartFile;
|
||||
}
|
||||
|
||||
|
||||
public static String getSubUtilSimple(String soap, String rgex) {
|
||||
Pattern pattern = Pattern.compile(rgex);
|
||||
Matcher m = pattern.matcher(soap);
|
||||
while (m.find()) {
|
||||
return m.group(1);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据url 拉取文件
|
||||
* @param url
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public static File getFile(String url) throws Exception {
|
||||
//对本地文件命名
|
||||
String fileName = url.substring(url.lastIndexOf("."),url.length());
|
||||
File file = null;
|
||||
|
||||
URL urlfile;
|
||||
InputStream inStream = null;
|
||||
OutputStream os = null;
|
||||
try {
|
||||
file = File.createTempFile("fwj_url", fileName);
|
||||
//下载
|
||||
urlfile = new URL(url);
|
||||
inStream = urlfile.openStream();
|
||||
os = new FileOutputStream(file);
|
||||
|
||||
int bytesRead = 0;
|
||||
byte[] buffer = new byte[8192];
|
||||
while ((bytesRead = inStream.read(buffer, 0, 8192)) != -1) {
|
||||
os.write(buffer, 0, bytesRead);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
if (null != os) {
|
||||
os.close();
|
||||
}
|
||||
if (null != inStream) {
|
||||
inStream.close();
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
return file;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据url获取图片并转换为multipartFile类型
|
||||
* @param url
|
||||
* @return
|
||||
*/
|
||||
public static MultipartFile getMultipartFile(String url) {
|
||||
FileInputStream inputStream = null;
|
||||
OutputStream outputStream = null;
|
||||
try {
|
||||
File file = getFile(url);
|
||||
System.out.println(file.toPath());
|
||||
FileItem fileItem = new DiskFileItem("formFieldName",//form表单文件控件的名字随便起
|
||||
Files.probeContentType(file.toPath()),//文件类型
|
||||
false, //是否是表单字段
|
||||
file.getName(),//原始文件名
|
||||
(int) file.length(),//Interger的最大值可以存储两部1G的电影
|
||||
file.getParentFile());//文件会在哪个目录创建
|
||||
//为DiskFileItem的OutputStream赋值
|
||||
inputStream = new FileInputStream(file);
|
||||
outputStream = fileItem.getOutputStream();
|
||||
IOUtils.copy(inputStream, outputStream);
|
||||
return new CommonsMultipartFile(fileItem);
|
||||
} catch (Exception e) {
|
||||
System.out.println("文件类型转换失败" + e.getMessage());
|
||||
return null;
|
||||
} finally {
|
||||
try {
|
||||
if (null != inputStream) {
|
||||
inputStream.close();
|
||||
}
|
||||
|
||||
if (null != outputStream) {
|
||||
outputStream.close();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
System.out.println(">>文件流关闭失败" + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -5,6 +5,7 @@ import org.apache.poi.hssf.usermodel.HSSFCell;
|
|||
import org.apache.poi.hssf.usermodel.HSSFRow;
|
||||
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
|
@ -49,7 +50,7 @@ public class ObjectExcelRead {
|
|||
HSSFCell cell = row.getCell(Short.parseShort(j + ""));
|
||||
String cellValue = null;
|
||||
if (null != cell) {
|
||||
switch (cell.getCellType().getCode()) { // 判断excel单元格内容的格式,并对其进行转换,以便插入数据库
|
||||
switch (cell.getCellType()) { // 判断excel单元格内容的格式,并对其进行转换,以便插入数据库
|
||||
case 0:
|
||||
|
||||
BigDecimal bigDecimal = new BigDecimal(cell.getNumericCellValue());
|
||||
|
@ -117,7 +118,7 @@ public class ObjectExcelRead {
|
|||
HSSFCell cell = row.getCell(Short.parseShort(j + ""));
|
||||
String cellValue = null;
|
||||
if (null != cell) {
|
||||
switch (cell.getCellType().getCode()) { // 判断excel单元格内容的格式,并对其进行转换,以便插入数据库
|
||||
switch (cell.getCellType()) { // 判断excel单元格内容的格式,并对其进行转换,以便插入数据库
|
||||
case 0:
|
||||
BigDecimal bigDecimal = new BigDecimal(cell.getNumericCellValue());
|
||||
cellValue = bigDecimal.toPlainString();
|
||||
|
@ -163,22 +164,32 @@ public class ObjectExcelRead {
|
|||
*/
|
||||
public static int getExcelRealRow(HSSFSheet sheet) {
|
||||
boolean flag = false;
|
||||
int rowCount = 0;
|
||||
for (int i = 1; i <= sheet.getLastRowNum(); i++) {
|
||||
HSSFRow row = sheet.getRow(i); //行
|
||||
if(row == null){
|
||||
break;
|
||||
}
|
||||
HSSFCell cell = row.getCell(0);
|
||||
if(null != cell){
|
||||
rowCount ++;
|
||||
for (int i = 1; i <= sheet.getLastRowNum(); ) {
|
||||
HSSFRow r = sheet.getRow(i);
|
||||
if (r == null) {
|
||||
// 如果是空行(即没有任何数据、格式),直接把它以下的数据往上移动
|
||||
sheet.shiftRows(i + 1, sheet.getLastRowNum(), -1);
|
||||
continue;
|
||||
}else{
|
||||
break;
|
||||
}
|
||||
|
||||
flag = false;
|
||||
for (Cell c : r) {
|
||||
if (Tools.notEmpty(c.getStringCellValue())) {
|
||||
flag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (flag) {
|
||||
i++;
|
||||
continue;
|
||||
} else {
|
||||
// 如果是空白行(即可能没有数据,但是有一定格式)
|
||||
if (i == sheet.getLastRowNum())// 如果到了最后一行,直接将那一行remove掉
|
||||
sheet.removeRow(r);
|
||||
else//如果还没到最后一行,则数据往上移一行
|
||||
sheet.shiftRows(i + 1, sheet.getLastRowNum(), -1);
|
||||
}
|
||||
}
|
||||
return rowCount;
|
||||
return sheet.getLastRowNum();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -35,6 +35,13 @@
|
|||
f.AUTHENTICATION,
|
||||
f.PORTRAIT,
|
||||
f.ID_PHOTO,
|
||||
f.PREVIOUS_POST_DATE,
|
||||
f.WORK_EXPERIENCE,
|
||||
f.CERTIFICATES,
|
||||
f.PUNISH,
|
||||
f.HEALTH,
|
||||
f.UNIVERSITY,
|
||||
f.RESIDENCE,
|
||||
f.USER_ID
|
||||
</sql>
|
||||
|
||||
|
@ -61,6 +68,13 @@
|
|||
AUTHENTICATION,
|
||||
PORTRAIT,
|
||||
ID_PHOTO,
|
||||
PREVIOUS_POST_DATE,
|
||||
WORK_EXPERIENCE,
|
||||
CERTIFICATES,
|
||||
PUNISH,
|
||||
HEALTH,
|
||||
UNIVERSITY,
|
||||
RESIDENCE,
|
||||
USER_ID
|
||||
</sql>
|
||||
|
||||
|
@ -87,6 +101,13 @@
|
|||
#{AUTHENTICATION},
|
||||
#{PORTRAIT},
|
||||
#{ID_PHOTO},
|
||||
#{PREVIOUS_POST_DATE},
|
||||
#{WORK_EXPERIENCE},
|
||||
#{CERTIFICATES},
|
||||
#{PUNISH},
|
||||
#{HEALTH},
|
||||
#{UNIVERSITY},
|
||||
#{RESIDENCE},
|
||||
#{USER_ID}
|
||||
</sql>
|
||||
|
||||
|
@ -293,4 +314,27 @@
|
|||
where
|
||||
USER_ID = #{USER_ID}
|
||||
</update>
|
||||
|
||||
<update id="editAuthentication" parameterType="pd">
|
||||
update
|
||||
<include refid="tableName"></include>
|
||||
set
|
||||
AUTHENTICATION = #{AUTHENTICATION}
|
||||
where
|
||||
USER_ID = #{USER_ID}
|
||||
and AUTHENTICATION = '0'
|
||||
</update>
|
||||
|
||||
<!-- 修改 -->
|
||||
<update id="editUserInfo" parameterType="pd">
|
||||
update
|
||||
<include refid="tableName"></include>
|
||||
set
|
||||
<if test="PORTRAIT != null and PORTRAIT != ''">
|
||||
PORTRAIT = #{PORTRAIT},
|
||||
</if>
|
||||
USER_ID = #{USER_ID}
|
||||
where
|
||||
USER_ID = #{USER_ID}
|
||||
</update>
|
||||
</mapper>
|
||||
|
|
|
@ -406,6 +406,7 @@
|
|||
IFNULL(s.COMPLETE_CLASSHOUR, 0) COMPLETE_CLASSHOUR,
|
||||
c.START_TIME,
|
||||
c.END_TIME,
|
||||
c.CODE,
|
||||
f.PERSONNEL_TYPE,
|
||||
f.POST_ID,
|
||||
f.CLASS_ID,
|
||||
|
|
|
@ -205,13 +205,29 @@
|
|||
else '未知' end as SEX_NAME,
|
||||
cl.NAME as DEGREE_OF_EDUCATION_NAME,
|
||||
d.NAME AS DUTIES_NAME,
|
||||
tw.NAME AS TYPE_OF_WORK_NAME,
|
||||
po.NAME AS POLITICAL_OUTLOOK_NAME,
|
||||
na.NAME AS NATION_NAME,
|
||||
ui.ID_PHOTO,
|
||||
ui.PORTRAIT,
|
||||
ui.DATE_OF_BIRTH,
|
||||
ui.ENTRY_DATE,
|
||||
ui.WORKING_DATE,
|
||||
ui.PREVIOUS_POST_DATE,
|
||||
ui.WORK_EXPERIENCE,
|
||||
ui.CERTIFICATES,
|
||||
ui.PUNISH,
|
||||
ui.HEALTH,
|
||||
ui.UNIVERSITY,
|
||||
ui.RESIDENCE,
|
||||
ci.CORP_NAME
|
||||
FROM BUS_STUDENT s
|
||||
left join sys_userinfo ui on ui.user_id = s.user_id
|
||||
LEFT JOIN SYS_DICTIONARIES cl on cl.DICTIONARIES_ID = s.DEGREE_OF_EDUCATION
|
||||
LEFT JOIN SYS_DICTIONARIES d on d.DICTIONARIES_ID = s.DUTIES
|
||||
LEFT JOIN SYS_DICTIONARIES cl on cl.DICTIONARIES_ID = ui.DEGREE_OF_EDUCATION
|
||||
LEFT JOIN SYS_DICTIONARIES d on d.DICTIONARIES_ID = ui.DUTIES
|
||||
LEFT JOIN SYS_DICTIONARIES po on po.DICTIONARIES_ID = ui.POLITICAL_OUTLOOK
|
||||
LEFT JOIN SYS_DICTIONARIES na on na.DICTIONARIES_ID = ui.NATION
|
||||
LEFT JOIN SYS_POST tw on tw.POST_ID = ui.TYPE_OF_WORK
|
||||
LEFT JOIN BUS_CORP_INFO ci on ci.CORPINFO_ID = s.CORPINFO_ID and ci.ISDELETE = '0'
|
||||
where s.STUDENT_ID = #{STUDENT_ID}
|
||||
</select>
|
||||
|
|
|
@ -423,7 +423,10 @@
|
|||
<if test="pd.PRINCIPAL_PHONE != null and pd.PRINCIPAL_PHONE != ''"><!-- 关键词检索 -->
|
||||
and ( f.PRINCIPAL_PHONE LIKE CONCAT(CONCAT('%', #{pd.PRINCIPAL_PHONE}),'%') )
|
||||
</if>
|
||||
<if test="pd.POSTTYPE != null and pd.POSTTYPE != ''"><!-- 培训行业类型 -->
|
||||
<if test="pd.TRAINTYPE != null and pd.TRAINTYPE != ''"><!-- 培训类型 -->
|
||||
and f.TRAINTYPE = #{pd.TRAINTYPE}
|
||||
</if>
|
||||
<if test="pd.POSTTYPE != null and pd.POSTTYPE != ''"><!-- 岗位类型 -->
|
||||
and f.POSTTYPE = #{pd.POSTTYPE}
|
||||
</if>
|
||||
|
||||
|
@ -593,17 +596,10 @@
|
|||
select count(*)
|
||||
from
|
||||
bus_class c
|
||||
left join bus_enterprise e on c.ENTERPRISE_ID = e.ENTERPRISE_ID
|
||||
where c.ISDELETE = 0 and c.STATE != '1'
|
||||
<if test="USER_ID != null and USER_ID != ''"><!-- 培训类型 -->
|
||||
AND e.CREATOR = #{USER_ID}
|
||||
</if>
|
||||
<if test="CORPINFO_ID != null and CORPINFO_ID != ''">
|
||||
and c.CORPINFO_ID = #{CORPINFO_ID}
|
||||
</if>
|
||||
<if test="ENTERPRISE_ID != null and ENTERPRISE_ID != ''">
|
||||
and c.ENTERPRISE_ID = #{ENTERPRISE_ID}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- 批量删除 -->
|
||||
|
|
|
@ -224,6 +224,7 @@
|
|||
f.INDUSTRY_END_ID,
|
||||
f.INDUSTRY_ALL_TYPE,
|
||||
f.CURRICULUM_ID_REMOTE,
|
||||
f.CREATTIME,
|
||||
<if test="pd.CLASS_ID != null and pd.CLASS_ID != ''">
|
||||
IF(cc.CLASSCURRICULUM_ID IS NULL,'0','1') ISUSE,
|
||||
</if>
|
||||
|
|
|
@ -193,99 +193,16 @@
|
|||
and f.CORPINFO_ID = #{CORPINFO_ID}
|
||||
</select>
|
||||
|
||||
<!-- 列表
|
||||
STUDYCOUNT 联系次数
|
||||
COURSEEXAMRECORDCOUNT 课考使用次数
|
||||
STAGEEXAMRECORDCOUNT 阶考使用次数
|
||||
COURSEEXAMCOUNT 课考关联数
|
||||
STAGEEXAMCOUNT 阶考关联数 -->
|
||||
<select id="datalistPage" parameterType="page" resultType="pd">
|
||||
<choose>
|
||||
<when test="pd.COURSEWARETYPE != null and pd.COURSEWARETYPE != '' and pd.COURSEWARETYPE == 1">
|
||||
select
|
||||
v.COURSEWARENAME COURSEWARENAME,
|
||||
IFNULL(COUNT(DISTINCT g.COURSESTUDYRECORD_ID),0) STUDYCOUNT,
|
||||
IFNULL(COUNT(DISTINCT h.COURSEEXAMRECORD_ID),0) COURSEEXAMRECORDCOUNT,
|
||||
IFNULL(COUNT(DISTINCT i.STAGEEXAMRECORD_ID),0) STAGEEXAMRECORDCOUNT,
|
||||
IFNULL(COUNT(DISTINCT j.CURRICULUMID),0) COURSEEXAMCOUNT,
|
||||
IFNULL(COUNT(DISTINCT k.STAGEEXAMPAPER_ID),0) STAGEEXAMCOUNT,
|
||||
<include refid="Field"></include>
|
||||
from
|
||||
<include refid="tableName"></include>
|
||||
f
|
||||
left join BUS_VIDEOCOURSEWARE v on f.COURSEWAREID = v.VIDEOCOURSEWARE_ID and v.ISDELETE = '0'
|
||||
LEFT JOIN BUS_COURSESTUDYRECORD g on g.QUESTION_ID = f.QUESTION_ID AND g.ISDELETE = '0'
|
||||
LEFT JOIN BUS_COURSEEXAMRECORD h on h.QUESTION_ID = f.QUESTION_ID AND h.ISDELETE = '0'
|
||||
LEFT JOIN BUS_STAGEEXAMRECORD i on i.QUESTION_ID = f.QUESTION_ID AND i.ISDELETE = '0'
|
||||
LEFT JOIN BUS_COURSEMIDDLE j on j.QUESTIONID = f.QUESTION_ID AND j.ISDELETE = '0'
|
||||
LEFT JOIN BUS_STAGEEXAMPAPERQUESTION k on k.QUESTION_ID = f.QUESTION_ID AND k.ISDELETE = '0'
|
||||
where f.ISDELETE = '0' and f.CORPINFO_ID = #{pd.CORPINFO_ID}
|
||||
and f.COURSEWARETYPE = #{pd.COURSEWARETYPE} and f.COURSEWAREID = #{pd.COURSEWAREID}
|
||||
</when>
|
||||
<when test="pd.COURSEWARETYPE != null and pd.COURSEWARETYPE != '' and pd.COURSEWARETYPE == 2">
|
||||
select
|
||||
d.COURSEWARENAME COURSEWARENAME,
|
||||
IFNULL(COUNT(DISTINCT g.COURSESTUDYRECORD_ID),0) STUDYCOUNT,
|
||||
IFNULL(COUNT(DISTINCT h.COURSEEXAMRECORD_ID),0) COURSEEXAMRECORDCOUNT,
|
||||
IFNULL(COUNT(DISTINCT i.STAGEEXAMRECORD_ID),0) STAGEEXAMRECORDCOUNT,
|
||||
IFNULL(COUNT(DISTINCT j.CURRICULUMID),0) COURSEEXAMCOUNT,
|
||||
IFNULL(COUNT(DISTINCT k.STAGEEXAMPAPER_ID),0) STAGEEXAMCOUNT,
|
||||
<include refid="Field"></include>
|
||||
from
|
||||
<include refid="tableName"></include>
|
||||
f
|
||||
left join BUS_DATACOURSEWARE d on f.COURSEWAREID = d.DATACOURSEWARE_ID and d.ISDELETE = '0'
|
||||
LEFT JOIN BUS_COURSESTUDYRECORD g on g.QUESTION_ID = f.QUESTION_ID AND g.ISDELETE = '0'
|
||||
LEFT JOIN BUS_COURSEEXAMRECORD h on h.QUESTION_ID = f.QUESTION_ID AND h.ISDELETE = '0'
|
||||
LEFT JOIN BUS_STAGEEXAMRECORD i on i.QUESTION_ID = f.QUESTION_ID AND i.ISDELETE = '0'
|
||||
LEFT JOIN BUS_COURSEMIDDLE j on j.QUESTIONID = f.QUESTION_ID AND j.ISDELETE = '0'
|
||||
LEFT JOIN BUS_STAGEEXAMPAPERQUESTION k on k.QUESTION_ID = f.QUESTION_ID AND k.ISDELETE = '0'
|
||||
where f.ISDELETE = '0' and f.CORPINFO_ID = #{pd.CORPINFO_ID}
|
||||
and f.COURSEWARETYPE = #{pd.COURSEWARETYPE} and f.COURSEWAREID = #{pd.COURSEWAREID}
|
||||
</when>
|
||||
<otherwise>
|
||||
SELECT f.*,
|
||||
IFNULL(COUNT(DISTINCT g.COURSESTUDYRECORD_ID),0) STUDYCOUNT,
|
||||
IFNULL(COUNT(DISTINCT h.COURSEEXAMRECORD_ID),0) COURSEEXAMRECORDCOUNT,
|
||||
IFNULL(COUNT(DISTINCT i.STAGEEXAMRECORD_ID),0) STAGEEXAMRECORDCOUNT,
|
||||
IFNULL(COUNT(DISTINCT j.CURRICULUMID),0) COURSEEXAMCOUNT,
|
||||
IFNULL(COUNT(DISTINCT k.STAGEEXAMPAPER_ID),0) STAGEEXAMCOUNT FROM (
|
||||
select
|
||||
v.COURSEWARENAME COURSEWARENAME,
|
||||
<include refid="Field"></include>
|
||||
from
|
||||
<include refid="tableName"></include>
|
||||
f
|
||||
left join BUS_VIDEOCOURSEWARE v on f.COURSEWAREID = v.VIDEOCOURSEWARE_ID and v.ISDELETE = '0'
|
||||
where f.ISDELETE = '0' and f.COURSEWARETYPE='1' and f.CORPINFO_ID = #{pd.CORPINFO_ID}
|
||||
UNION ALL
|
||||
select
|
||||
d.COURSEWARENAME COURSEWARENAME,
|
||||
<include refid="Field"></include>
|
||||
from
|
||||
<include refid="tableName"></include>
|
||||
f
|
||||
left join BUS_DATACOURSEWARE d on f.COURSEWAREID = d.DATACOURSEWARE_ID and d.ISDELETE = '0'
|
||||
where f.ISDELETE = '0' and f.COURSEWARETYPE='2' and f.CORPINFO_ID = #{pd.CORPINFO_ID}
|
||||
) f
|
||||
LEFT JOIN BUS_COURSESTUDYRECORD g on g.QUESTION_ID = f.QUESTION_ID AND g.ISDELETE = '0'
|
||||
LEFT JOIN BUS_COURSEEXAMRECORD h on h.QUESTION_ID = f.QUESTION_ID AND h.ISDELETE = '0'
|
||||
LEFT JOIN BUS_STAGEEXAMRECORD i on i.QUESTION_ID = f.QUESTION_ID AND i.ISDELETE = '0'
|
||||
LEFT JOIN BUS_COURSEMIDDLE j on j.QUESTIONID = f.QUESTION_ID AND j.ISDELETE = '0'
|
||||
LEFT JOIN BUS_STAGEEXAMPAPERQUESTION k on k.QUESTION_ID = f.QUESTION_ID AND k.ISDELETE = '0'
|
||||
WHERE 1=1
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''"><!-- 关键词检索 -->
|
||||
and f.QUESTIONDRY LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
|
||||
<!-- 根据需求自己加检索条件
|
||||
(
|
||||
f.QUESTIONDRY LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
|
||||
or
|
||||
字段2 LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
|
||||
)
|
||||
-->
|
||||
</if>
|
||||
select
|
||||
v.COURSEWARENAME COURSEWARENAME,
|
||||
<include refid="Field"></include>
|
||||
from
|
||||
<include refid="tableName"></include>
|
||||
f
|
||||
left join BUS_VIDEOCOURSEWARE v on f.COURSEWAREID = v.VIDEOCOURSEWARE_ID and v.ISDELETE = '0'
|
||||
where f.ISDELETE = '0'
|
||||
and f.COURSEWAREID = #{pd.COURSEWAREID}
|
||||
GROUP BY f.QUESTION_ID ORDER BY f.QUESTIONNUMBER+0 ASC
|
||||
</select>
|
||||
|
||||
|
|
|
@ -626,7 +626,7 @@
|
|||
f
|
||||
INNER JOIN bus_class t ON t.CLASS_ID = f.CLASS_ID AND t.ISDELETE = '0'
|
||||
LEFT JOIN BUS_STUDENT s on s.CLASS_ID = f.CLASS_ID and s.USER_ID = f.USER_ID and s.ISDELETE = '0'
|
||||
LEFT JOIN BUS_POST_PAPER ppa on ppa.CLASS_ID = f.CLASS_ID and ppa.POST_ID = s.POST_ID and f.ISDELETE = '0'
|
||||
LEFT JOIN BUS_POST_PAPER ppa on ppa.CLASS_ID = f.CLASS_ID and ppa.POST_ID = s.POST_ID and ppa.ISDELETE = '0'
|
||||
LEFT JOIN BUS_STAGEEXAMPAPER_INPUT p ON p.STAGEEXAMPAPERINPUT_ID = ppa.STAGEEXAMPAPERINPUT_ID AND p.ISDELETE =
|
||||
'0'
|
||||
LEFT JOIN BUS_POST_TYPE pt on pt.POSTTYPE_ID = t.POSTTYPE
|
||||
|
|
|
@ -636,7 +636,7 @@
|
|||
f
|
||||
INNER JOIN bus_class t ON t.CLASS_ID = f.CLASS_ID AND t.ISDELETE = '0'
|
||||
LEFT JOIN BUS_STUDENT s on s.CLASS_ID = f.CLASS_ID and s.USER_ID = f.USER_ID and s.ISDELETE = '0'
|
||||
LEFT JOIN BUS_POST_PAPER ppa on ppa.CLASS_ID = f.CLASS_ID and ppa.POST_ID = s.POST_ID and f.ISDELETE = '0'
|
||||
LEFT JOIN BUS_POST_PAPER ppa on ppa.CLASS_ID = f.CLASS_ID and ppa.POST_ID = s.POST_ID and ppa.ISDELETE = '0'
|
||||
LEFT JOIN bus_strengthenstageexampaper_input p ON p.STRENGTHEN_STAGEEXAMPAPER_INPUT_ID =
|
||||
ppa.STRENGTHEN_STAGEEXAMPAPER_INPUT_ID AND p.ISDELETE =
|
||||
'0'
|
||||
|
|
|
@ -498,6 +498,9 @@
|
|||
<if test="pd.STUDENT_NAME != null and pd.STUDENT_NAME != ''"><!-- 关键词检索 -->
|
||||
and ( f.NAME LIKE CONCAT(CONCAT('%', #{pd.STUDENT_NAME}),'%') )
|
||||
</if>
|
||||
<if test="pd.USER_ID_CARD != null and pd.USER_ID_CARD != ''"><!-- 关键词检索 -->
|
||||
and su.USER_ID_CARD = #{pd.USER_ID_CARD}
|
||||
</if>
|
||||
<if test="pd.CODE != null and pd.CODE != ''"><!-- 关键词检索 -->
|
||||
AND c.CODE = #{pd.CODE}
|
||||
</if>
|
||||
|
@ -545,11 +548,7 @@
|
|||
from
|
||||
<include refid="tableName"></include>
|
||||
f LEFT JOIN bus_class c on f.CLASS_ID = c.CLASS_ID
|
||||
left join bus_enterprise e on c.ENTERPRISE_ID = e.ENTERPRISE_ID
|
||||
where f.ISDELETE = '0' and c.STATE != '1'
|
||||
<if test="USER_ID != null and USER_ID != ''"><!-- 培训类型 -->
|
||||
AND e.CREATOR = #{USER_ID}
|
||||
</if>
|
||||
<if test="CORPINFO_ID != null and CORPINFO_ID != ''"><!-- 培训类型 -->
|
||||
and f.CORPINFO_ID = #{CORPINFO_ID}
|
||||
</if>
|
||||
|
@ -1109,8 +1108,6 @@
|
|||
f.NAME,
|
||||
f.USER_ID_CARD,
|
||||
dic1.NAME as DEGREE_OF_EDUCATION,
|
||||
f.MAJOR,
|
||||
f.DUTIES,
|
||||
dep.NAME as DEPARTMENT_NAME,
|
||||
post.NAME as POST_NAME,
|
||||
c.INDUSTRY_ALL_NAME,
|
||||
|
@ -1124,7 +1121,8 @@
|
|||
ssti.EXAMSCORE as STRENGTHEN_EXAMSCORE,
|
||||
sst.STRENGTHENEXAMSCORE,
|
||||
sst.OPERATTIME as STRENGTHEN_OPERATTIME,
|
||||
sst.STRENGTHEN_STAGEEXAMPAPER_INPUT_ID
|
||||
sst.STRENGTHEN_STAGEEXAMPAPER_INPUT_ID,
|
||||
CONCAT_WS(dic3.NAME ,'/' , dic4.NAME ) DUTIES
|
||||
from
|
||||
<include refid="tableName"></include> f
|
||||
left join <include refid="dicTableName"></include> dic1 on f.DEGREE_OF_EDUCATION = dic1.DICTIONARIES_ID
|
||||
|
@ -1135,6 +1133,9 @@
|
|||
left join (select * from bus_stagestudentrelation where STAGEEXAMSTATE = '3') bsr on bsr.STUDENT_ID = f.STUDENT_ID
|
||||
left join bus_strengthenstudentrelation sst on sst.STUDENT_ID = f.STUDENT_ID
|
||||
left join bus_strengthenstageexampaper_input ssti on sst.STRENGTHEN_STAGEEXAMPAPER_INPUT_ID = ssti.STRENGTHEN_STAGEEXAMPAPER_INPUT_ID
|
||||
left join sys_userinfo ui on ui.user_id = f.user_id
|
||||
left join <include refid="dicTableName"></include> dic3 on ui.DUTIES = dic3.DICTIONARIES_ID
|
||||
left join <include refid="dicTableName"></include> dic4 on ui.TITLE = dic4.DICTIONARIES_ID
|
||||
where
|
||||
f.STUDENT_ID = #{STUDENT_ID}
|
||||
</select>
|
||||
|
@ -1272,6 +1273,7 @@
|
|||
and f.DEPARTMENT_ID = clp.DEPARTMENT_ID
|
||||
LEFT JOIN bus_curriculum cn ON clp.CURRICULUM_ID = cn.CURRICULUM_ID AND cn.ISDELETE = 0
|
||||
LEFT JOIN bus_stageexam AS ex ON f.STUDENT_ID = ex.STUDENT_ID AND ex.ISDELETE = 0
|
||||
LEFT JOIN sys_userinfo AS su ON f.USER_ID = su.USER_ID
|
||||
WHERE f.ISDELETE = '0'
|
||||
AND c.ISDELETE = '0'
|
||||
AND ssr.ISDELETE = '0'
|
||||
|
@ -1285,6 +1287,9 @@
|
|||
<if test="STUDENT_NAME != null and STUDENT_NAME != ''"><!-- 关键词检索 -->
|
||||
and ( f.NAME LIKE CONCAT(CONCAT('%', #{STUDENT_NAME}),'%') )
|
||||
</if>
|
||||
<if test="USER_ID_CARD != null and USER_ID_CARD != ''"><!-- 关键词检索 -->
|
||||
AND su.USER_ID_CARD = #{USER_ID_CARD}
|
||||
</if>
|
||||
<if test="CODE != null and CODE != ''"><!-- 关键词检索 -->
|
||||
AND c.CODE = #{CODE}
|
||||
</if>
|
||||
|
|
|
@ -28,8 +28,8 @@
|
|||
f.OPERATOR,
|
||||
f.OPERATTIME,
|
||||
f.TYPE,
|
||||
f.USERAVATARPREFIX
|
||||
|
||||
f.USERAVATARPREFIX,
|
||||
f.COVERPATH
|
||||
|
||||
</sql>
|
||||
|
||||
|
@ -47,7 +47,8 @@
|
|||
OPERATOR,
|
||||
OPERATTIME,
|
||||
TYPE,
|
||||
USERAVATARPREFIX
|
||||
USERAVATARPREFIX,
|
||||
COVERPATH
|
||||
|
||||
</sql>
|
||||
|
||||
|
@ -65,7 +66,8 @@
|
|||
#{OPERATOR},
|
||||
#{OPERATTIME},
|
||||
#{TYPE},
|
||||
#{USERAVATARPREFIX}
|
||||
#{USERAVATARPREFIX},
|
||||
#{COVERPATH}
|
||||
</sql>
|
||||
|
||||
<!-- 新增-->
|
||||
|
|
|
@ -486,18 +486,6 @@
|
|||
<if test="ISDELETE != null and ISDELETE != ''">
|
||||
ISDELETE = #{ISDELETE},
|
||||
</if>
|
||||
<if test="CREATOR != null and CREATOR != ''">
|
||||
CREATOR = #{CREATOR},
|
||||
</if>
|
||||
<if test="CREATTIME != null and CREATTIME != ''">
|
||||
CREATTIME = #{CREATTIME},
|
||||
</if>
|
||||
<if test="OPERATOR != null and OPERATOR != ''">
|
||||
OPERATOR = #{OPERATOR},
|
||||
</if>
|
||||
<if test="OPERATTIME != null and OPERATTIME != ''">
|
||||
OPERATTIME = #{OPERATTIME},
|
||||
</if>
|
||||
<if test="USER_ID_CARD != null and USER_ID_CARD != ''">
|
||||
USER_ID_CARD = #{USER_ID_CARD},
|
||||
</if>
|
||||
|
|
Loading…
Reference in New Issue