教培定时器
parent
9a170e4a4e
commit
383e158990
|
@ -0,0 +1,68 @@
|
||||||
|
package com.zcloud.config;
|
||||||
|
|
||||||
|
import com.alibaba.druid.pool.DruidDataSource;
|
||||||
|
import org.apache.ibatis.session.SqlSessionFactory;
|
||||||
|
import org.mybatis.spring.SqlSessionFactoryBean;
|
||||||
|
import org.mybatis.spring.annotation.MapperScan;
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.io.DefaultResourceLoader;
|
||||||
|
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
||||||
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 说明:第二数据源配置
|
||||||
|
*/
|
||||||
|
@Configuration
|
||||||
|
@MapperScan(basePackages = No2DataSourceConfig.PACKAGE, sqlSessionFactoryRef = "no2SqlSessionFactory") //扫描 Mapper 接口并容器管理
|
||||||
|
public class No2DataSourceConfig {
|
||||||
|
|
||||||
|
static final String PACKAGE = "com.zcloud.mapper.dsno2"; //master 目录
|
||||||
|
static final String MAPPER_LOCATION = "classpath:mybatis/dsno2/*/*.xml"; //扫描的 xml 目录
|
||||||
|
static final String CONFIG_LOCATION = "classpath:mybatis/dsno2/mybatis-config.xml"; //自定义的mybatis config 文件位置
|
||||||
|
static final String TYPE_ALIASES_PACKAGE = "com.zcloud.entity"; //扫描的 实体类 目录
|
||||||
|
|
||||||
|
@Value("${datasource.no2.url}")
|
||||||
|
private String url;
|
||||||
|
|
||||||
|
@Value("${datasource.no2.username}")
|
||||||
|
private String user;
|
||||||
|
|
||||||
|
@Value("${datasource.no2.password}")
|
||||||
|
private String password;
|
||||||
|
|
||||||
|
@Value("${datasource.no2.driver-class-name}")
|
||||||
|
private String driverClass;
|
||||||
|
|
||||||
|
@Bean(name = "no2DataSource")
|
||||||
|
public DataSource no2DataSource() throws SQLException {
|
||||||
|
DruidDataSource dataSource = new DruidDataSource();
|
||||||
|
dataSource.setDriverClassName(driverClass);
|
||||||
|
dataSource.setUrl(url);
|
||||||
|
dataSource.setUsername(user);
|
||||||
|
dataSource.setPassword(password);
|
||||||
|
dataSource.addFilters("stat");
|
||||||
|
dataSource.addFilters("wall");
|
||||||
|
return dataSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean(name = "no2TransactionManager")
|
||||||
|
public DataSourceTransactionManager no2TransactionManager() throws SQLException {
|
||||||
|
return new DataSourceTransactionManager(no2DataSource());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean(name = "no2SqlSessionFactory")
|
||||||
|
public SqlSessionFactory no2SqlSessionFactory(@Qualifier("no2DataSource") DataSource no2DataSource)throws Exception {
|
||||||
|
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
|
||||||
|
sessionFactory.setDataSource(no2DataSource);
|
||||||
|
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(No2DataSourceConfig.MAPPER_LOCATION));
|
||||||
|
sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(No2DataSourceConfig.CONFIG_LOCATION));
|
||||||
|
sessionFactory.setTypeAliasesPackage(No2DataSourceConfig.TYPE_ALIASES_PACKAGE);
|
||||||
|
return sessionFactory.getObject();
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,24 +0,0 @@
|
||||||
package com.zcloud.mapper.datasource.task;
|
|
||||||
|
|
||||||
import com.zcloud.entity.PageData;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 说明:在线学习考试-任务
|
|
||||||
* 作者:luoxiaobao
|
|
||||||
* 时间:2021-12-20
|
|
||||||
* 官网:www.zcloudchina.com
|
|
||||||
*/
|
|
||||||
public interface StudyTaskMapper {
|
|
||||||
|
|
||||||
/**绩效得分
|
|
||||||
* @param pd
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
List<PageData> getDeptExamine(PageData pd);
|
|
||||||
|
|
||||||
List<PageData> getUserExamine(PageData pd);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
package com.zcloud.mapper.dsno2.education;
|
||||||
|
|
||||||
|
import com.zcloud.entity.PageData;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 说明:班级管理
|
||||||
|
* 作者:luoxiaobao
|
||||||
|
* 时间:2022-05-26
|
||||||
|
* 官网:www.zcloudchina.com
|
||||||
|
*/
|
||||||
|
public interface ClassMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改
|
||||||
|
*
|
||||||
|
* @param pd
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
void editState(PageData pd);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表(全部)
|
||||||
|
*
|
||||||
|
* @param pd
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
List<PageData> listAllScheduled(PageData pd);
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.zcloud.mapper.dsno2.education;
|
||||||
|
|
||||||
|
import com.zcloud.entity.Page;
|
||||||
|
import com.zcloud.entity.PageData;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 说明:阶段考试学员关系表
|
||||||
|
* 作者:luoxiaobao
|
||||||
|
* 时间:2021-10-08
|
||||||
|
* 官网:www.zcloudchina.com
|
||||||
|
*/
|
||||||
|
public interface StageStudentRelationMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改(更新班级所有学员考试状态)
|
||||||
|
*
|
||||||
|
* @param
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
void updateClassStateSch(PageData pd);
|
||||||
|
|
||||||
|
|
||||||
|
int getCountByCla(PageData pd);
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,84 @@
|
||||||
|
package com.zcloud.scheduled.education;
|
||||||
|
|
||||||
|
import com.zcloud.entity.PageData;
|
||||||
|
import com.zcloud.service.education.ClassService;
|
||||||
|
import com.zcloud.service.education.StageStudentRelationService;
|
||||||
|
import com.zcloud.util.DateUtil;
|
||||||
|
import com.zcloud.util.Tools;
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,35 @@
|
||||||
|
package com.zcloud.service.education;
|
||||||
|
|
||||||
|
import com.zcloud.entity.Page;
|
||||||
|
import com.zcloud.entity.PageData;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 说明:班级管理
|
||||||
|
* 作者:luoxiaobao
|
||||||
|
* 时间:2022-05-26
|
||||||
|
* 官网:www.zcloudchina.com
|
||||||
|
*/
|
||||||
|
public interface ClassService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改
|
||||||
|
*
|
||||||
|
* @param pd
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
void editState(PageData pd) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表(全部)
|
||||||
|
*
|
||||||
|
* @param pd
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
List<PageData> listAllScheduled(PageData pd) throws Exception;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
package com.zcloud.service.education;
|
||||||
|
|
||||||
|
import com.zcloud.entity.Page;
|
||||||
|
import com.zcloud.entity.PageData;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 说明:阶段考试学员关系表
|
||||||
|
* 作者:luoxiaobao
|
||||||
|
* 时间:2021-10-08
|
||||||
|
* 官网:www.zcloudchina.com
|
||||||
|
*/
|
||||||
|
public interface StageStudentRelationService {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改(更新班级所有学员考试状态)
|
||||||
|
*
|
||||||
|
* @param
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
void updateClassStateSch(PageData pd) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
|
int getCountByCla(PageData pd);
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
package com.zcloud.service.education.impl;
|
||||||
|
|
||||||
|
import com.zcloud.entity.PageData;
|
||||||
|
import com.zcloud.mapper.dsno2.education.ClassMapper;
|
||||||
|
import com.zcloud.service.education.ClassService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 说明:班级管理
|
||||||
|
* 作者:luoxiaobao
|
||||||
|
* 时间:2022-05-26
|
||||||
|
* 官网:www.zcloudchina.com
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Transactional //开启事物
|
||||||
|
public class ClassServiceImpl implements ClassService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ClassMapper classMapper;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改
|
||||||
|
*
|
||||||
|
* @param pd
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public void editState(PageData pd) throws Exception {
|
||||||
|
classMapper.editState(pd);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表(全部)
|
||||||
|
*
|
||||||
|
* @param pd
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public List<PageData> listAllScheduled(PageData pd) throws Exception {
|
||||||
|
return classMapper.listAllScheduled(pd);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
package com.zcloud.service.education.impl;
|
||||||
|
|
||||||
|
import com.zcloud.entity.PageData;
|
||||||
|
import com.zcloud.mapper.dsno2.education.StageStudentRelationMapper;
|
||||||
|
import com.zcloud.service.education.StageStudentRelationService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 说明:阶段考试学员关系表
|
||||||
|
* 作者:luoxiaobao
|
||||||
|
* 时间:2021-10-08
|
||||||
|
* 官网:www.zcloudchina.com
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Transactional //开启事物
|
||||||
|
public class StageStudentRelationServiceImpl implements StageStudentRelationService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private StageStudentRelationMapper stagestudentrelationMapper;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改(更新班级所有学员考试状态)
|
||||||
|
*
|
||||||
|
* @param
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void updateClassStateSch(PageData pd) throws Exception {
|
||||||
|
stagestudentrelationMapper.updateClassStateSch(pd);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getCountByCla(PageData pd) {
|
||||||
|
return stagestudentrelationMapper.getCountByCla(pd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -3,15 +3,22 @@ server.port=9099
|
||||||
|
|
||||||
#æ°æ®æº1
|
#æ°æ®æº1
|
||||||
datasource.no1.driver-class-name: com.mysql.cj.jdbc.Driver
|
datasource.no1.driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
datasource.no1.url=jdbc:mysql://192.168.0.42:3306/integrated_whb?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8
|
datasource.no1.url=jdbc:mysql://192.168.0.64:3306/qa-traffic-prevention?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8
|
||||||
datasource.no1.username=root
|
datasource.no1.username=root
|
||||||
datasource.no1.password=root
|
datasource.no1.password=root
|
||||||
|
|
||||||
|
datasource.no2.driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
|
datasource.no2.url=jdbc:mysql://192.168.0.64:3306/qa-traffic-education-org?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8
|
||||||
|
datasource.no2.username=root
|
||||||
|
datasource.no2.password=root
|
||||||
|
|
||||||
#datasource.no1.driver-class-name: com.mysql.cj.jdbc.Driver
|
#datasource.no1.driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
#datasource.no1.url=jdbc:mysql://39.103.211.146:33068/zcloud_prevention?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8
|
#datasource.no1.url=jdbc:mysql://39.103.211.146:33068/zcloud_prevention?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8
|
||||||
#datasource.no1.username=root
|
#datasource.no1.username=root
|
||||||
#datasource.no1.password=Mysqlzcloud88888
|
#datasource.no1.password=Mysqlzcloud88888
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#druidè¿æ¥æ±
|
#druidè¿æ¥æ±
|
||||||
spring.datasource.type: com.alibaba.druid.pool.DruidDataSource
|
spring.datasource.type: com.alibaba.druid.pool.DruidDataSource
|
||||||
#æ大活è·æ°
|
#æ大活è·æ°
|
||||||
|
|
|
@ -1,169 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
||||||
<mapper namespace="com.zcloud.mapper.datasource.task.StudyTaskMapper">
|
|
||||||
|
|
||||||
<!--表名 -->
|
|
||||||
<sql id="tableName">
|
|
||||||
BUS_STUDYTASK
|
|
||||||
</sql>
|
|
||||||
|
|
||||||
<!--数据字典表名 -->
|
|
||||||
<sql id="dicTableName">
|
|
||||||
SYS_DICTIONARIES
|
|
||||||
</sql>
|
|
||||||
|
|
||||||
<!-- 字段 -->
|
|
||||||
<sql id="Field">
|
|
||||||
f.STUDY_NAME,
|
|
||||||
f.TRAINTYPE,
|
|
||||||
f.POSTTYPE,
|
|
||||||
f.PEIXUE_START_TIME,
|
|
||||||
f.PEIXUE_END_TIME,
|
|
||||||
f.KJ_STATE,
|
|
||||||
f.GJ_STATE,
|
|
||||||
f.STAGEEXAMPAPER_ID,
|
|
||||||
f.STUDY_USER_ID,
|
|
||||||
f.STUDY_CURRICULUM_ID,
|
|
||||||
f.CREATOR,
|
|
||||||
f.CREATTIME,
|
|
||||||
f.OPERATOR,
|
|
||||||
f.OPERATTIME,
|
|
||||||
f.ISDELETE,
|
|
||||||
f.CORPINFO_ID,
|
|
||||||
f.STATE,
|
|
||||||
f.COURSEWARE_COUNT,
|
|
||||||
f.SUM_CLASSHOUR,
|
|
||||||
f.STUDYTASK_ID
|
|
||||||
</sql>
|
|
||||||
|
|
||||||
<!-- 字段用于新增 -->
|
|
||||||
<sql id="Field2">
|
|
||||||
STUDY_NAME,
|
|
||||||
TRAINTYPE,
|
|
||||||
POSTTYPE,
|
|
||||||
PEIXUE_START_TIME,
|
|
||||||
PEIXUE_END_TIME,
|
|
||||||
KJ_STATE,
|
|
||||||
GJ_STATE,
|
|
||||||
STAGEEXAMPAPER_ID,
|
|
||||||
STUDY_USER_ID,
|
|
||||||
STUDY_CURRICULUM_ID,
|
|
||||||
CREATOR,
|
|
||||||
CREATTIME,
|
|
||||||
OPERATOR,
|
|
||||||
OPERATTIME,
|
|
||||||
ISDELETE,
|
|
||||||
CORPINFO_ID,
|
|
||||||
STATE,
|
|
||||||
COURSEWARE_COUNT,
|
|
||||||
SUM_CLASSHOUR,
|
|
||||||
STUDYTASK_ID
|
|
||||||
</sql>
|
|
||||||
|
|
||||||
<!-- 字段值 -->
|
|
||||||
<sql id="FieldValue">
|
|
||||||
#{STUDY_NAME},
|
|
||||||
#{TRAINTYPE},
|
|
||||||
#{POSTTYPE},
|
|
||||||
#{PEIXUE_START_TIME},
|
|
||||||
#{PEIXUE_END_TIME},
|
|
||||||
#{KJ_STATE},
|
|
||||||
#{GJ_STATE},
|
|
||||||
#{STAGEEXAMPAPER_ID},
|
|
||||||
#{STUDY_USER_ID},
|
|
||||||
#{STUDY_CURRICULUM_ID},
|
|
||||||
#{CREATOR},
|
|
||||||
#{CREATTIME},
|
|
||||||
#{OPERATOR},
|
|
||||||
#{OPERATTIME},
|
|
||||||
#{ISDELETE},
|
|
||||||
#{CORPINFO_ID},
|
|
||||||
#{STATE},
|
|
||||||
#{COURSEWARE_COUNT},
|
|
||||||
#{SUM_CLASSHOUR},
|
|
||||||
#{STUDYTASK_ID}
|
|
||||||
</sql>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- 绩效得分 -->
|
|
||||||
<select id="getDeptExamine" parameterType="pd" resultType="pd" >
|
|
||||||
SELECT
|
|
||||||
d.DEPARTMENT_ID,
|
|
||||||
ifnull(un.user_count,0) as user_count,
|
|
||||||
ifnull(st.NUM,0) as st_count
|
|
||||||
FROM
|
|
||||||
OA_DEPARTMENT d
|
|
||||||
LEFT JOIN (
|
|
||||||
SELECT
|
|
||||||
count( distinct f.USER_ID) NUM,
|
|
||||||
u.DEPARTMENT_ID
|
|
||||||
FROM
|
|
||||||
bus_stagestudentrelation f
|
|
||||||
LEFT JOIN BUS_STUDYTASK t ON t.STUDYTASK_ID = f.STUDYTASK_ID
|
|
||||||
LEFT JOIN SYS_USER u ON u.USER_ID = f.USER_ID
|
|
||||||
WHERE
|
|
||||||
(
|
|
||||||
t.PEIXUE_START_TIME BETWEEN #{STARTTIME} and #{ENDTIME}
|
|
||||||
or
|
|
||||||
t.PEIXUE_END_TIME BETWEEN #{STARTTIME} and #{ENDTIME}
|
|
||||||
or
|
|
||||||
(t.PEIXUE_START_TIME <= #{STARTTIME} and t.PEIXUE_END_TIME >= #{ENDTIME})
|
|
||||||
)
|
|
||||||
group by u.DEPARTMENT_ID
|
|
||||||
) st on st.DEPARTMENT_ID=d.DEPARTMENT_ID
|
|
||||||
LEFT JOIN
|
|
||||||
( SELECT count( 1 ) as user_count,u.DEPARTMENT_ID FROM SYS_USER u WHERE u.ISDELETE = 0 group by u.DEPARTMENT_ID) un on un.DEPARTMENT_ID = d.DEPARTMENT_ID
|
|
||||||
|
|
||||||
where
|
|
||||||
d.ISDELETE = 0
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="getUserExamine" parameterType="pd" resultType="pd" >
|
|
||||||
SELECT
|
|
||||||
u.USER_ID,
|
|
||||||
ifnull(st.NUM,0) as st_count,
|
|
||||||
ifnull(pa.NUM,0) as pass_count
|
|
||||||
FROM
|
|
||||||
SYS_USER u
|
|
||||||
LEFT JOIN (
|
|
||||||
SELECT
|
|
||||||
count( distinct f.USER_ID) NUM,
|
|
||||||
f.USER_ID
|
|
||||||
FROM
|
|
||||||
bus_stagestudentrelation f
|
|
||||||
LEFT JOIN BUS_STUDYTASK t ON t.STUDYTASK_ID = f.STUDYTASK_ID
|
|
||||||
WHERE
|
|
||||||
(
|
|
||||||
t.PEIXUE_START_TIME BETWEEN #{STARTTIME} and #{ENDTIME}
|
|
||||||
or
|
|
||||||
t.PEIXUE_END_TIME BETWEEN #{STARTTIME} and #{ENDTIME}
|
|
||||||
or
|
|
||||||
(t.PEIXUE_START_TIME <= #{STARTTIME} and t.PEIXUE_END_TIME >= #{ENDTIME})
|
|
||||||
)
|
|
||||||
group by f.USER_ID
|
|
||||||
) st on st.USER_ID=u.USER_ID
|
|
||||||
|
|
||||||
LEFT JOIN (
|
|
||||||
SELECT
|
|
||||||
count( distinct f.USER_ID) NUM,
|
|
||||||
f.USER_ID
|
|
||||||
FROM
|
|
||||||
bus_stagestudentrelation f
|
|
||||||
LEFT JOIN BUS_STUDYTASK t ON t.STUDYTASK_ID = f.STUDYTASK_ID
|
|
||||||
LEFT JOIN BUS_STAGEEXAMPAPER p ON t.STUDYTASK_ID = p.STUDYTASK_ID
|
|
||||||
WHERE
|
|
||||||
(
|
|
||||||
t.PEIXUE_START_TIME BETWEEN #{STARTTIME} and #{ENDTIME}
|
|
||||||
or
|
|
||||||
t.PEIXUE_END_TIME BETWEEN #{STARTTIME} and #{ENDTIME}
|
|
||||||
or
|
|
||||||
(t.PEIXUE_START_TIME <= #{STARTTIME} and t.PEIXUE_END_TIME >= #{ENDTIME})
|
|
||||||
)
|
|
||||||
and p.PASSSCORE <= f.STAGEEXAMSCORE
|
|
||||||
group by f.USER_ID
|
|
||||||
) pa on pa.USER_ID=u.USER_ID
|
|
||||||
where
|
|
||||||
u.ISDELETE = 0
|
|
||||||
</select>
|
|
||||||
|
|
||||||
</mapper>
|
|
|
@ -0,0 +1,195 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.zcloud.mapper.dsno2.education.ClassMapper">
|
||||||
|
|
||||||
|
<!--表名 -->
|
||||||
|
<sql id="tableName">
|
||||||
|
BUS_CLASS
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<!--数据字典表名 -->
|
||||||
|
<sql id="dicTableName">
|
||||||
|
SYS_DICTIONARIES
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<!-- 字段 -->
|
||||||
|
<sql id="Field">
|
||||||
|
f
|
||||||
|
.
|
||||||
|
NAME
|
||||||
|
,
|
||||||
|
f.ADMIN_DIVISION,
|
||||||
|
f.START_TIME,
|
||||||
|
f.END_TIME,
|
||||||
|
f.PRINCIPAL,
|
||||||
|
f.PRINCIPAL_PHONE,
|
||||||
|
f.TRAINTYPE,
|
||||||
|
f.POSTTYPE,
|
||||||
|
f.INDUSTRY_END_ID,
|
||||||
|
f.INDUSTRY_ALL_NAME,
|
||||||
|
f.INDUSTRY_ALL_TYPE,
|
||||||
|
f.TRAINLEVEL,
|
||||||
|
f.TRAINERS_NUMBER,
|
||||||
|
f.ISSUE,
|
||||||
|
f.EXAM_TIME,
|
||||||
|
f.ISCHECKPERIOD,
|
||||||
|
f.CREATOR,
|
||||||
|
f.CREATTIME,
|
||||||
|
f.OPERATOR,
|
||||||
|
f.OPERATTIME,
|
||||||
|
f.ISDELETE,
|
||||||
|
f.CORPINFO_ID,
|
||||||
|
f.PROVINCE,
|
||||||
|
f.CITY,
|
||||||
|
f.COUNTY,
|
||||||
|
f.VILLAGE,
|
||||||
|
f.STREET,
|
||||||
|
f.ISQUESTIONNAIRE,
|
||||||
|
f.SAMPLINGNUMBER,
|
||||||
|
f.CODE,
|
||||||
|
f.STATE,
|
||||||
|
f.SURVEY_ID,
|
||||||
|
f.ENTERPRISE_ID,
|
||||||
|
f.RECORDOR,
|
||||||
|
f.ASSESSOR,
|
||||||
|
f.SAFETYDEPTOR,
|
||||||
|
f.ISFACE,
|
||||||
|
f.EXAMINATION,
|
||||||
|
f.NUMBEROFEXAMS,
|
||||||
|
f.CLASS_ID,
|
||||||
|
f.ISSTRENGTHEN,
|
||||||
|
f.RELEASE_TYPE,
|
||||||
|
f.PERSONNEL_TYPES
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<!-- 字段用于新增 -->
|
||||||
|
<sql id="Field2">
|
||||||
|
NAME
|
||||||
|
,
|
||||||
|
ADMIN_DIVISION,
|
||||||
|
START_TIME,
|
||||||
|
END_TIME,
|
||||||
|
PRINCIPAL,
|
||||||
|
PRINCIPAL_PHONE,
|
||||||
|
TRAINTYPE,
|
||||||
|
POSTTYPE,
|
||||||
|
INDUSTRY_END_ID,
|
||||||
|
INDUSTRY_ALL_NAME,
|
||||||
|
INDUSTRY_ALL_TYPE,
|
||||||
|
TRAINLEVEL,
|
||||||
|
TRAINERS_NUMBER,
|
||||||
|
ISSUE,
|
||||||
|
EXAM_TIME,
|
||||||
|
ISCHECKPERIOD,
|
||||||
|
CREATOR,
|
||||||
|
CREATTIME,
|
||||||
|
OPERATOR,
|
||||||
|
OPERATTIME,
|
||||||
|
ISDELETE,
|
||||||
|
CORPINFO_ID,
|
||||||
|
PROVINCE,
|
||||||
|
CITY,
|
||||||
|
COUNTY,
|
||||||
|
VILLAGE,
|
||||||
|
STREET,
|
||||||
|
ISQUESTIONNAIRE,
|
||||||
|
SAMPLINGNUMBER,
|
||||||
|
CODE,
|
||||||
|
STATE,
|
||||||
|
SURVEY_ID,ENTERPRISE_ID,
|
||||||
|
RECORDOR,
|
||||||
|
ASSESSOR,
|
||||||
|
SAFETYDEPTOR,
|
||||||
|
NUMBEROFEXAMS,
|
||||||
|
EXAMINATION,
|
||||||
|
ISFACE,
|
||||||
|
CLASS_ID,
|
||||||
|
ISSTRENGTHEN,
|
||||||
|
RELEASE_TYPE,
|
||||||
|
PERSONNEL_TYPES
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<!-- 字段值 -->
|
||||||
|
<sql id="FieldValue">
|
||||||
|
#{NAME}
|
||||||
|
,
|
||||||
|
#{ADMIN_DIVISION},
|
||||||
|
#{START_TIME},
|
||||||
|
#{END_TIME},
|
||||||
|
#{PRINCIPAL},
|
||||||
|
#{PRINCIPAL_PHONE},
|
||||||
|
#{TRAINTYPE},
|
||||||
|
#{POSTTYPE},
|
||||||
|
#{INDUSTRY_END_ID},
|
||||||
|
#{INDUSTRY_ALL_NAME},
|
||||||
|
#{INDUSTRY_ALL_TYPE},
|
||||||
|
#{TRAINLEVEL},
|
||||||
|
#{TRAINERS_NUMBER},
|
||||||
|
#{ISSUE},
|
||||||
|
#{EXAM_TIME},
|
||||||
|
#{ISCHECKPERIOD},
|
||||||
|
#{CREATOR},
|
||||||
|
#{CREATTIME},
|
||||||
|
#{OPERATOR},
|
||||||
|
#{OPERATTIME},
|
||||||
|
#{ISDELETE},
|
||||||
|
#{CORPINFO_ID},
|
||||||
|
#{PROVINCE},
|
||||||
|
#{CITY},
|
||||||
|
#{COUNTY},
|
||||||
|
#{VILLAGE},
|
||||||
|
#{STREET},
|
||||||
|
#{ISQUESTIONNAIRE},
|
||||||
|
#{SAMPLINGNUMBER},
|
||||||
|
#{CODE},
|
||||||
|
#{STATE},
|
||||||
|
#{SURVEY_ID},
|
||||||
|
#{ENTERPRISE_ID},
|
||||||
|
#{RECORDOR},
|
||||||
|
#{ASSESSOR},
|
||||||
|
#{SAFETYDEPTOR},
|
||||||
|
#{NUMBEROFEXAMS},
|
||||||
|
#{EXAMINATION},
|
||||||
|
#{ISFACE},
|
||||||
|
#{CLASS_ID},
|
||||||
|
#{ISSTRENGTHEN},
|
||||||
|
#{RELEASE_TYPE},
|
||||||
|
#{PERSONNEL_TYPES}
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<!-- 修改 -->
|
||||||
|
<update id="editState" parameterType="pd">
|
||||||
|
update
|
||||||
|
<include refid="tableName"></include>
|
||||||
|
set
|
||||||
|
|
||||||
|
<if test="NEW_END_TIME != null and NEW_END_TIME != ''"><!-- 关键词检索 -->
|
||||||
|
END_TIME = #{NEW_END_TIME},
|
||||||
|
</if>
|
||||||
|
STATE = #{STATE},
|
||||||
|
OPERATOR = #{OPERATOR},
|
||||||
|
OPERATTIME = #{OPERATTIME}
|
||||||
|
where
|
||||||
|
CLASS_ID = #{CLASS_ID}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 列表(全部)定时器使用 -->
|
||||||
|
<select id="listAllScheduled" parameterType="pd" resultType="pd">
|
||||||
|
select
|
||||||
|
<include refid="Field"></include>
|
||||||
|
from
|
||||||
|
<include refid="tableName"></include>
|
||||||
|
f
|
||||||
|
WHERE f.ISDELETE = '0'
|
||||||
|
<if test="STATEARRAY != null and STATEARRAY != ''">
|
||||||
|
and f.STATE in
|
||||||
|
<foreach item="item" index="index" collection="STATEARRAY" open="(" separator="," close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
GROUP BY
|
||||||
|
f.CLASS_ID
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -0,0 +1,127 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.zcloud.mapper.dsno2.education.StageStudentRelationMapper">
|
||||||
|
|
||||||
|
<!--表名 -->
|
||||||
|
<sql id="tableName">
|
||||||
|
BUS_STAGESTUDENTRELATION
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<!--数据字典表名 -->
|
||||||
|
<sql id="dicTableName">
|
||||||
|
SYS_DICTIONARIES
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<!-- 字段 -->
|
||||||
|
<sql id="Field">
|
||||||
|
f
|
||||||
|
.
|
||||||
|
STAGESTUDENTRELATION_ID
|
||||||
|
,
|
||||||
|
f.STAGEEXAMPAPER_ID,
|
||||||
|
f.USER_ID,
|
||||||
|
f.STAGEEXAMSTATE,
|
||||||
|
f.STAGEEXAMSCORE,
|
||||||
|
f.CREATOR,
|
||||||
|
f.CREATTIME,
|
||||||
|
f.OPERATOR,
|
||||||
|
f.OPERATTIME,
|
||||||
|
f.ISDELETE,
|
||||||
|
f.CORPINFO_ID,
|
||||||
|
f.STUDYTASK_ID,
|
||||||
|
f.COMPLETE_COURSEWARE,
|
||||||
|
f.COMPLETE_CLASSHOUR,
|
||||||
|
f.USER_SIGN_PATH,
|
||||||
|
f.CLASS_ID,
|
||||||
|
f.STUDENT_ID,
|
||||||
|
f.PAPER_ID,
|
||||||
|
f.STUDYSTATE
|
||||||
|
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<!-- 字段用于新增 -->
|
||||||
|
<sql id="Field2">
|
||||||
|
STAGESTUDENTRELATION_ID
|
||||||
|
,
|
||||||
|
STAGEEXAMPAPER_ID,
|
||||||
|
USER_ID,
|
||||||
|
STAGEEXAMSTATE,
|
||||||
|
STAGEEXAMSCORE,
|
||||||
|
CREATOR,
|
||||||
|
CREATTIME,
|
||||||
|
OPERATOR,
|
||||||
|
OPERATTIME,
|
||||||
|
ISDELETE,
|
||||||
|
CORPINFO_ID,
|
||||||
|
STUDYTASK_ID,
|
||||||
|
COMPLETE_COURSEWARE,
|
||||||
|
COMPLETE_CLASSHOUR,
|
||||||
|
USER_SIGN_PATH,
|
||||||
|
CLASS_ID,
|
||||||
|
STUDENT_ID,
|
||||||
|
PAPER_ID,
|
||||||
|
STUDYSTATE
|
||||||
|
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<!-- 字段值 -->
|
||||||
|
<sql id="FieldValue">
|
||||||
|
#{STAGESTUDENTRELATION_ID}
|
||||||
|
,
|
||||||
|
#{STAGEEXAMPAPER_ID},
|
||||||
|
#{USER_ID},
|
||||||
|
#{STAGEEXAMSTATE},
|
||||||
|
#{STAGEEXAMSCORE},
|
||||||
|
#{CREATOR},
|
||||||
|
#{CREATTIME},
|
||||||
|
#{OPERATOR},
|
||||||
|
#{OPERATTIME},
|
||||||
|
#{ISDELETE},
|
||||||
|
#{CORPINFO_ID},
|
||||||
|
#{STUDYTASK_ID},
|
||||||
|
#{COMPLETE_COURSEWARE},
|
||||||
|
#{COMPLETE_CLASSHOUR},
|
||||||
|
#{USER_SIGN_PATH},
|
||||||
|
#{CLASS_ID},
|
||||||
|
#{STUDENT_ID},
|
||||||
|
#{PAPER_ID},
|
||||||
|
#{STUDYSTATE}
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<!-- 修改(更新班级所有学员考试状态) -->
|
||||||
|
<update id="updateClassStateSch" parameterType="pd">
|
||||||
|
update
|
||||||
|
<include refid="tableName"></include>
|
||||||
|
set
|
||||||
|
<if test="STUDYSTATE!= null and STUDYSTATE != ''"><!-- 关键词检索 -->
|
||||||
|
STUDYSTATE = #{STUDYSTATE},
|
||||||
|
</if>
|
||||||
|
<if test="STAGEEXAMSTATE!= null and STAGEEXAMSTATE != ''"><!-- 关键词检索 -->
|
||||||
|
STAGEEXAMSTATE = #{STAGEEXAMSTATE},
|
||||||
|
</if>
|
||||||
|
OPERATOR = #{OPERATOR},
|
||||||
|
OPERATTIME = #{OPERATTIME}
|
||||||
|
where
|
||||||
|
CLASS_ID = #{CLASS_ID}
|
||||||
|
<if test="WHERESTUDYSTATE!= null and WHERESTUDYSTATE != ''"><!-- 关键词检索 -->
|
||||||
|
and STUDYSTATE in
|
||||||
|
<foreach item="item" index="index" collection="WHERESTUDYSTATE" open="(" separator="," close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="WHERESTAGEEXAMSTATE!= null and WHERESTAGEEXAMSTATE != ''"><!-- 关键词检索 -->
|
||||||
|
and STAGEEXAMSTATE in
|
||||||
|
<foreach item="item" index="index" collection="WHERESTAGEEXAMSTATE" open="(" separator="," close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<select id="getCountByCla" resultType="int">
|
||||||
|
select count(*)
|
||||||
|
from bus_stagestudentrelation f
|
||||||
|
where f.CLASS_ID = #{CLASS_ID}
|
||||||
|
and f.STUDYSTATE = '5'
|
||||||
|
and f.ISDELETE = '0'
|
||||||
|
</select>
|
||||||
|
</mapper>
|
|
@ -0,0 +1,21 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD SQL Map Config 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-config.dtd">
|
||||||
|
<configuration>
|
||||||
|
|
||||||
|
<typeAliases>
|
||||||
|
<typeAlias type="com.zcloud.entity.PageData" alias="pd"/>
|
||||||
|
<typeAlias type="com.zcloud.entity.Page" alias="page"/>
|
||||||
|
<!-- 这里添加实体类 -->
|
||||||
|
|
||||||
|
</typeAliases>
|
||||||
|
|
||||||
|
<plugins>
|
||||||
|
<plugin interceptor="com.zcloud.plugins.PagePlugin">
|
||||||
|
<property name="dialect" value="mysql"/>
|
||||||
|
<property name="pageSqlId" value=".*listPage.*"/>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
|
||||||
|
|
||||||
|
</configuration>
|
Loading…
Reference in New Issue