Merge remote-tracking branch 'remotes/origin/master' into wlf

wlf
wlf 6 years ago
commit 1c945a05d7

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<dataSource name="@localhost:gdms">
<database-model serializer="dbm" rdbms="MYSQL" format-version="4.11">
<database-model serializer="dbm" dbms="MARIADB" family-id="MARIADB" format-version="4.14">
<root id="1">
<ServerVersion>10.3.10</ServerVersion>
<RdbmsFlavour>MariaDB</RdbmsFlavour>
<Dbms>MARIADB</Dbms>
<DefaultEngine>InnoDB</DefaultEngine>
<DefaultCasing>lower/lower</DefaultCasing>
</root>

@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="tomcat-lib">
<CLASSES>
<root url="file://C:/Program Files/Apache Software Foundation/Tomcat 8.5/lib" />
</CLASSES>
<JAVADOC />
<SOURCES />
<jarDirectory url="file://C:/Program Files/Apache Software Foundation/Tomcat 8.5/lib" recursive="false" />
</library>
</component>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="false" project-jdk-name="11" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="false" project-jdk-name="10" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

@ -17,18 +17,10 @@
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="jdk" jdkName="11" jdkType="JavaSDK" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="lib" level="project" />
<orderEntry type="library" exported="" scope="PROVIDED" name="Tomcat 9.0.13" level="application_server_libraries" />
<orderEntry type="module-library" exported="">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/out/artifacts/GDMS_war_exploded/WEB-INF/lib/tomcat-jdbc.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="library" scope="PROVIDED" name="Tomcat 8.5.37" level="application_server_libraries" />
<orderEntry type="library" name="tomcat-lib" level="project" />
</component>
</module>

@ -4,7 +4,7 @@
name="jdbc/gdms"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mariadb://localhost:3306/gdms"
targetURL="jdbc:mariadb://localhost:3306/gdms"
username="gdms"
password="GDMS"/>
</Context>

@ -3,7 +3,7 @@ password char 256
name varchar 50
e_mail_location varchar 50
phonenumber varchar 30
url varchar 256
targetURL varchar 256
administrator
id

@ -3,7 +3,7 @@ password char 255//用户密码
name char 30//用户姓名
e_mail_location char 40//邮箱
phone_number char 20//电话号码
url varchar 255//......路径
targetURL varchar 255//......路径
administrator//管理员
id//管理员ID

@ -11,7 +11,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class UploadFileOperation extends Operation {
public class UploadFile extends Operation {
@Override
public Map<String, Object> execute(User subject) throws Exception {
File file = (File) this.getOptions().get("file");

@ -0,0 +1,61 @@
package core.process;
import core.operation.FillInformation;
import error.GExcptInit;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
public class C_TeacherFillTopicInformation extends TempProcess{
String StudentId;
String mentor_opinion;
Date mentor_opinion_date;
static String table="graduation_design_opening_report_opinion_record";
public void fillInformation() throws Exception{
if(!check()) throw new GExcptInit("FillInformation Attrs init error!");
FillInformation fillInformation=new FillInformation();
fillInformation.setOptions(new HashMap<>());
fillInformation.addOptions("table",table);
String date= mentor_opinion_date.toString();
Map<String,String> vMap=new HashMap<>();
vMap.put("mentor_opinion_date",date);
vMap.put("mentor_opinion",this.getMentor_opinion());
Map<String, String>limits = new HashMap<>();
limits.put("id",this.getStudentId());
fillInformation.addOptions("limits",limits);
fillInformation.execute(null);
}
protected boolean check() {
if(this.getMentor_opinion()==null||this.getMentor_opinion_date()==null||this.getStudentId()==null)
return false;
return true;
}
public String getStudentId() {
return StudentId;
}
public void setStudentId(String studentId) {
StudentId = studentId;
}
public String getMentor_opinion() {
return mentor_opinion;
}
public void setMentor_opinion(String mentor_opinion) {
this.mentor_opinion = mentor_opinion;
}
public Date getMentor_opinion_date() {
return mentor_opinion_date;
}
public void setMentor_opinion_date(Date mentor_opinion_date) {
this.mentor_opinion_date = mentor_opinion_date;
}
}

@ -13,9 +13,9 @@ public class C_TeacherSearchStudent extends TempProcess {
static String table="student";
Map<String,String> StudentInfo=new HashMap<String, String>();
public Map<String,String> search() throws Exception{
if(!check()) throw new GExcptInit("studentId Attrs init error!");
Map<String,String> studentInfo =new HashMap<>();
Search search = new Search() ;
search.setOptions(new HashMap<>());
search.addOptions("table",table);
@ -30,11 +30,37 @@ public class C_TeacherSearchStudent extends TempProcess {
Map<String, Object> options = search.execute(null);
List<String[]> result = (List<String[]>) options.get("result");
String[] s = result.get(0);
StudentInfo.put("id",s[0]);
StudentInfo.put("name",s[2]);
StudentInfo.put("e_mail_location",s[3]);
StudentInfo.put("phone_number",s[4]);
return StudentInfo;
studentInfo.put("id",s[0]);
studentInfo.put("name",s[2]);
studentInfo.put("e_mail_location",s[3]);
studentInfo.put("phone_number",s[4]);
return studentInfo;
}
public List<Map<String,String>> _search() throws Exception{
if(!check()) throw new GExcptInit("studentId Attrs init error!");
Search search = new Search() ;
search.setOptions(new HashMap<>());
search.addOptions("table",table);
List<String> fields = new ArrayList<>();
fields.add("*");
search.addOptions("field",fields);
Map<String,String> limits = new HashMap<>();
limits.put("id",this.getStudentId());
search.addOptions("limits",limits);
search.addOptions("start",0);
search.addOptions("end",1);
Map<String, Object> options = search.execute(null);
List<String[]> result = (List<String[]>) options.get("result");
List<Map<String,String>> studentsInfo = new ArrayList<>();
for(String[] s:result){
Map<String,String> studentInfo = new HashMap<>();
studentInfo.put("id",s[0]);
studentInfo.put("name",s[2]);
studentInfo.put("e_mail_location",s[3]);
studentInfo.put("phone_number",s[4]);
studentsInfo.add(studentInfo);
}
return studentsInfo;
}
protected boolean check() {
if(this.getStudentId()==null)

@ -4,12 +4,14 @@ import core.operation.Operation;
public abstract class Process{
private char status;
private String status;
private String permission;
private Operation operation;
private String buttonName;
private String info;
private static String buttonName;
protected static String targetURL;
protected static String iconURL;
protected abstract boolean check();
public String getPermission() {
@ -32,10 +34,6 @@ public abstract class Process{
return buttonName;
}
public void setButtonName(String buttonName) {
this.buttonName = buttonName;
}
public String getInfo() {
return info;
}
@ -44,11 +42,19 @@ public abstract class Process{
this.info = info;
}
public char getStatus() {
public String getStatus() {
return status;
}
public void setStatus(char status) {
public void setStatus(String status) {
this.status = status;
}
public static String getTargetURL() {
return targetURL;
}
public static String getIconURL() {
return iconURL;
}
}

@ -2,17 +2,19 @@ package core.process;
import core.user.User;
import dao.DBManagement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ProcessManagement {
public static Condition getCondition(User user) {
Map<String,Character> status = getStatus(user);
public static Condition getCondition(User user) throws Exception {
Map<String,String> status = getStatus(user);
return getCondition(user,status);
}
public static Condition getCondition(User user, Map<String,Character> status){
public static Condition getCondition(User user, Map<String, String> status){
Condition condition = new Condition();
for(Map.Entry<String,Character> entry:status.entrySet()){
for(Map.Entry<String,String> entry:status.entrySet()){
String[] s = entry.getKey().split(".");
TempProcess tempProcess = (TempProcess) getProcess(s[1]);
tempProcess.setGraduationDesignId(s[0]);
@ -28,17 +30,29 @@ public class ProcessManagement {
}
//Map<graduation_design_id.x_status,status>
public static Map<String,Character> getStatus(User user){
public static Map<String,String> getStatus(User user) throws Exception {
Map<String, String> status = new HashMap<>();
Map<String,String> userTables = DBManagement.getUserStatusTables(user.getType());
String graduationDesignId = null;
for(Map.Entry<String,String> entry:userTables.entrySet()){
String[] ti = entry.getKey().split(".");
String[] ts = entry.getValue().split(".");
List<String> ls = new ArrayList<>();
ls.add("id");
Map<String,String> limits = new HashMap<>();
limits.put(ti[1],user.getId());
List<String[]> resultLs = DBManagement.select(ls,ti[0],limits,0,1);
if(resultLs.size()==0) continue;
graduationDesignId = resultLs.get(0)[0];
}
return null;
ls = new ArrayList<>();
ls.add(ts[1]);
limits = new HashMap<>();
limits.put("id",graduationDesignId);
resultLs = DBManagement.select(ls,ts[0],limits,0,1);
status.put(graduationDesignId+"."+ts[1],resultLs.get(0)[0]);
}
return status;
}
public static Process getProcess(String process){
return null;

@ -59,19 +59,32 @@ public class DBManagement {
public static Map<String,String> graduationDesignStudentTables = new HashMap<>(){
{
put("graduation_design.student_id","graduation_design.student_chooser_teacher_status");
put("opening_report_secretary_team.leader_student_id","");
put("opening_report_secretary_team.student1_id","");
put("opening_report_secretary_team.student2_id","");
put("reply_secretary_team.leader_student_id","");
put("reply_secretary_team.student1_id","");
put("reply_secretary_team.student2_id","");
put("graduation_design.student_id","graduation_design_information.student_fill_graduation_design_information_status");
put("graduation_design.student_id","graduation_design_opening_report.opening_report_status");
put("opening_report_secretary_team.leader_student_id","graduation_design_opening_report_opinion_record.opening_report_secretary_record_status");
put("opening_report_secretary_team.student1_id","graduation_design_opening_report_opinion_record.opening_report_secretary_record_status");
put("opening_report_secretary_team.student2_id","graduation_design_opening_report_opinion_record.opening_report_secretary_record_status");
put("graduation_design.student_id","graduation_design_finished_product.finished_product_status");
put("reply_secretary_team.leader_student_id","graduation_design_reply_opinion_record_score.reply_ secretary_record_status");
put("reply_secretary_team.teacher1_id","graduation_design_reply_opinion_record_score.reply_ secretary_record_status");
put("reply_secretary_team.teacher2_id","graduation_design_reply_opinion_record_score.reply_ secretary_record_status");
}
};
public static Map<String,String> graduationDesignTeacherTables = new HashMap<>(){
{
put("","");
put("graduation_design.teacher_id","graduation_design.teacher_choose_student_status");
put("graduation_design.teacher_id","graduation_design_opening_report_opinion_record.opening_report_mentor_opinion_status");
put("opening_report_teacher_team.leader_teacher_id","graduation_design_opening_report_opinion_record.opening_report_teacher_team_opinion_status");
put("opening_report_teacher_team.teacher1_id","graduation_design_opening_report_opinion_record.opening_report_teacher_team_opinion_status");
put("opening_report_teacher_team.teacher2_id","graduation_design_opening_report_opinion_record.opening_report_teacher_team_opinion_status");
put("graduation_design_opening_report_opinion_record.opening_report_college_teacher_id","graduation_design_opening_report_opinion_record.opening_report_college_opinion_status");
put("graduation_design.teacher_id","graduation_design_finished_product_mentor_score.finished_product_mentor_score_status");
put("graduation_design_finished_product_reviewer_score.reviewer_teacher_id","graduation_design_finished_product_reviewer_score.finished_product_reviewer_score_status");
put("reply_teacher_team.leader_teacher_id","graduation_design_reply_opinion_record_score.reply_ teacher_team_score_status");
put("reply_teacher_team. teacher1_id","graduation_design_reply_opinion_record_score.reply_ teacher_team_score_status");
put("reply_teacher_team. teacher2_id","graduation_design_reply_opinion_record_score.reply_ teacher_team_score_status");
put("graduation_design_reply_opinion_record_score.reply_college_teacher_id","graduation_design_reply_opinion_record_score.reply_college_score_status");
put("graduation_design_reply_opinion_record_score.reply_school_teacher_id","graduation_design_reply_opinion_record_score.reply_school_score_status");
}
};
public static String driverClassName="org.mariadb.jdbc.Driver";

@ -0,0 +1,34 @@
package gdms;
import error.GExcptInit;
import java.util.*;
public class GDMS {
static Map<String, Date> schedules;
static String schedulePath = "";
public static void init() throws GExcptInit {
initSchedule();
Timer timer = new Timer(true);
for(Map.Entry<String, Date> schedule:schedules.entrySet()){
timer.schedule(getTimerTask(schedule.getKey()),schedule.getValue());
}
}
private static TimerTask getTimerTask(String s) throws GExcptInit {
if(s==""){
return new TimerTask() {
@Override
public void run() {
;
}
};
}
throw new GExcptInit("GlobalTimePoint.json error");
}
private static void initSchedule() {
}
}

@ -1,18 +0,0 @@
package gdms;
public class main {
public static void check()throws Exception{
checkJson();
}
private static void checkJson() throws Exception{
//todo
}
public static void init(){
}
public static void run() throws Exception {
check();
init();
}
}

@ -1,4 +1,4 @@
package servlet.Submit;
package servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

@ -1,4 +1,4 @@
package servlet.Select;
package servlet;
import core.process.C_StudentSearchTeacher;
import core.process.C_StudentSelectTeacher;
@ -9,7 +9,7 @@ import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/studentselectteacher")
@WebServlet("/student-select-teacher")
public class S_StudentSelectTeacher extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
super.doPost(request, response);
@ -17,11 +17,13 @@ public class S_StudentSelectTeacher extends HttpServlet {
User user=(User)request.getSession().getAttribute("user");
String student_id=user.getId();
try {
C_StudentSelectTeacher test=new C_StudentSelectTeacher();
test.setTeacherId(teacher_id);
test.setStudentId(student_id);
C_StudentSelectTeacher SST=new C_StudentSelectTeacher();
SST.setTeacherId(teacher_id);
SST.setStudentId(student_id);
SST.select();
} catch (Exception e) {
e.printStackTrace();
response.sendRedirect("/op_fail.jsp");
}
}
}

@ -1,4 +1,4 @@
package servlet.Submit;
package servlet;
import core.process.C_StudentUploadOpeningReport;
import core.user.User;
@ -14,7 +14,7 @@ import java.io.File;
import java.io.IOException;
import java.util.UUID;
@WebServlet("/upload")
@WebServlet("/student-upload-opening-report")
@MultipartConfig
//学生id+文件
public class S_StudentUploadOpeningReport extends HttpServlet {

@ -1,4 +1,4 @@
package servlet.Select;
package servlet;
import core.process.C_TeacherSelectStudent;
import core.user.User;
@ -9,7 +9,7 @@ import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/teacherselectstudent")
@WebServlet("/teacher-select-student")
public class S_TeacherSelectStudent extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
super.doPost(request, response);
@ -17,11 +17,13 @@ public class S_TeacherSelectStudent extends HttpServlet {
User user=(User)request.getSession().getAttribute("user");
String teacher_id=user.getId();
try {
C_TeacherSelectStudent test=new C_TeacherSelectStudent();
test.setTeacherId(teacher_id);
test.setStudentId(student_id);
C_TeacherSelectStudent TSS=new C_TeacherSelectStudent();
TSS.setTeacherId(teacher_id);
TSS.setStudentId(student_id);
TSS.select();
} catch (Exception e) {
e.printStackTrace();
response.sendRedirect("/op_fail.jsp");
}
}
}

@ -1,15 +0,0 @@
package servlet.Submit;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class S_ScoreSubmit extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
super.doPost(request, response);
String score = request.getParameter("score");
}
}

@ -1,23 +0,0 @@
package servlet.Submit;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/textsubmit")
public class S_TextSubmit extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
super.doPost(request, response);
String content=new String(request.getParameter("text").getBytes("ISO8859-1"),"UTF-8");
String score=request.getParameter("score");
try {
} catch (Exception e) {
e.printStackTrace();
}
}
}

@ -18,10 +18,10 @@ import error.GExcptSQL;
@WebServlet("/login")
public class S_Login extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
throws IOException {
String id=request.getParameter("id");
String password=request.getParameter("password");
User user = null;
User user;
try {
user = AccountManagement.login(id,password);
} catch (GExcptSQL | SQLException gExcptSQL) {

@ -82,7 +82,7 @@
to either the page, a String in 'var', or a Reader in 'varReader'.
</description>
<attribute>
<name>url</name>
<name>targetURL</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
@ -281,7 +281,7 @@
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>url</name>
<name>targetURL</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
@ -346,7 +346,7 @@
</tag>
<tag>
<name>url</name>
<name>targetURL</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.UrlTag</tag-class>
<body-content>JSP</body-content>
<description>

@ -21,7 +21,7 @@
out:default
out:escapeXml
if:test
import:url
import:targetURL
import:context
import:charEncoding
forEach:items
@ -36,12 +36,12 @@
param:name
param:value
redirect:context
redirect:url
redirect:targetURL
set:property
set:target
set:value
url:context
url:value
targetURL:context
targetURL:value
when:test
</param-value>
<description>
@ -139,7 +139,7 @@
to either the page, a String in 'var', or a Reader in 'varReader'.
</description>
<attribute>
<name>url</name>
<name>targetURL</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
@ -304,7 +304,7 @@
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>url</name>
<name>targetURL</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
@ -369,7 +369,7 @@
</tag>
<tag>
<name>url</name>
<name>targetURL</name>
<tag-class>org.apache.taglibs.standard.tag.el.core.UrlTag</tag-class>
<body-content>JSP</body-content>
<description>

@ -103,7 +103,7 @@ Scope for var.
<description>
The URL of the resource to import.
</description>
<name>url</name>
<name>targetURL</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
@ -403,7 +403,7 @@ Value of the parameter.
<description>
The URL of the resource to redirect to.
</description>
<name>url</name>
<name>targetURL</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
@ -500,13 +500,13 @@ Scope for var.
<description>
Creates a URL with optional query parameters.
</description>
<name>url</name>
<name>targetURL</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.UrlTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
Name of the exported scoped variable for the
processed url. The type of the scoped variable is
processed targetURL. The type of the scoped variable is
String.
</description>
<name>var</name>

@ -170,7 +170,7 @@
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>url</name>
<name>targetURL</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>

@ -30,7 +30,7 @@
dateParam:type
setDataSource:dataSource
setDataSource:driver
setDataSource:url
setDataSource:targetURL
setDataSource:user
setDataSource:password
</param-value>
@ -195,7 +195,7 @@ ue.
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>url</name>
<name>targetURL</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>

@ -263,7 +263,7 @@ JDBC parameter: driver class name.
JDBC parameter: URL associated with
the database.
</description>
<name>url</name>
<name>targetURL</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>

Loading…
Cancel
Save