|
@@ -33,14 +33,15 @@ import com.itextpdf.layout.property.VerticalAlignment;
|
|
|
|
|
|
import java.io.File;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* @Description 中央美术学院-违规处理决定书生成帮助类
|
|
|
*/
|
|
|
public abstract class DecisionHelper {
|
|
|
|
|
|
- public static File makeDecision(ScScoreYmDao scoreYmDao, ScScoreYm score) {
|
|
|
- String file_name = EnrolMaterialHelper.generateMaterialName(StdMaterialType.Decision, score.getCert_id()) + ".pdf";
|
|
|
+ public static File makeDecision(ScScoreYmDao scoreYmDao, Map<String,Object> score) {
|
|
|
+ String file_name = EnrolMaterialHelper.generateMaterialName(StdMaterialType.Decision, "" + score.get("cert_id")) + ".pdf";
|
|
|
File file = new File(EnrolMaterialHelper.getEnrolMaterialLocalPath() + file_name);
|
|
|
file.getParentFile().mkdirs();
|
|
|
if (file.exists())
|
|
@@ -65,65 +66,83 @@ public abstract class DecisionHelper {
|
|
|
.setFontSize(22).setBold().setTextAlignment(TextAlignment.CENTER);
|
|
|
doc.add(p1);
|
|
|
|
|
|
- Text underlineText = new Text("YM2024001").setUnderline();
|
|
|
+ Text underlineText = new Text("" + score.get("violation_no")).setUnderline();
|
|
|
p1 = new Paragraph("编号:").add(underlineText).setFontSize(fontSize).setTextAlignment(TextAlignment.CENTER);
|
|
|
doc.add(p1);
|
|
|
|
|
|
- underlineText = new Text(" " + score.getStd_name() + " ").setUnderline();
|
|
|
- p1 = new Paragraph(underlineText).add(":").setFontSize(fontSize).setTextAlignment(TextAlignment.LEFT);
|
|
|
+ // 空行
|
|
|
+ p1 = new Paragraph(" ");
|
|
|
doc.add(p1);
|
|
|
|
|
|
+
|
|
|
//第一段
|
|
|
- Text stdSex = new Text(" " + score.getStd_sex() + " ").setUnderline();
|
|
|
- Text certId = new Text(" " + score.getCert_id() + " ").setUnderline();
|
|
|
- Text province = new Text(" " + score.getProvince_name() + "考生").setUnderline();
|
|
|
- Text aspectName = new Text(" " + score.getAspect_name() + " ").setUnderline();
|
|
|
- Text ticketNo = new Text(" " + score.getTicket_no() + " ").setUnderline();
|
|
|
- p1 = new Paragraph(underlineText).add(",").add(stdSex).add(",").add("身份证号:").add(certId).add(",").add(province)
|
|
|
+ Text stdName = new Text(" " + score.get("std_name") + " ").setUnderline();
|
|
|
+ Text stdSex = new Text(" " + score.get("std_sex") + " ").setUnderline();
|
|
|
+ Text certId = new Text(" " + score.get("cert_id") + " ").setUnderline();
|
|
|
+ Text province = new Text(" " + score.get("province_name")).setUnderline();
|
|
|
+ Text aspectName = new Text(" " + score.get("aspect_name")+ " ").setUnderline();
|
|
|
+ Text ticketNo = new Text(" " + score.get("ticket_no") + " ").setUnderline();
|
|
|
+ Text examId = new Text(" " + score.get("exam_id") + " ").setUnderline();
|
|
|
+ p1 = new Paragraph("考生:").add(stdName).add(",").add(stdSex).add(",").add("身份证号:").add(certId).add(",生源地:").add(province)
|
|
|
+ .add(",").add("高考报名号:").add(examId)
|
|
|
.add(",").add("报考专业:").add(aspectName).add(",").add("准考证号:").add(ticketNo).add("。")
|
|
|
.setFontSize(fontSize).setTextAlignment(TextAlignment.LEFT).setFixedLeading(8)
|
|
|
.setMultipliedLeading(lineHeight).setFirstLineIndent(30f);
|
|
|
doc.add(p1);
|
|
|
|
|
|
//第二段
|
|
|
- Text year = new Text(" " + ArtParamHelper.ArtYear + " ").setUnderline();
|
|
|
- Text month = new Text(" " + ArtParamHelper.getParamValue("ExamMonth", "1") + " ").setUnderline();
|
|
|
- Text day = new Text(" " + ArtParamHelper.getParamValue("ExamDay", "17") + " ").setUnderline();
|
|
|
- Text subjectName = new Text(" " + "《命题创作》" + " ").setUnderline();
|
|
|
- Text remark = new Text(" " + "携带并使用电子设备" + " ").setUnderline();
|
|
|
- Text rule = new Text(" " + "《中央美术学院" + ArtParamHelper.ArtYear + "年本科招生线上考试考场规则》第十二条第1款" + " ").setUnderline();
|
|
|
- p1 = new Paragraph("你在参加").add(year).add("年").add(month).add("月").add(day)
|
|
|
- .add("中央美术学院" + ArtParamHelper.ArtYear + " 年本科招生线上考试")
|
|
|
- .add(subjectName).add("考试中,有").add(remark).add("的作弊行为,").add("违反")
|
|
|
- .add(rule).add("现对你作出如下处理:")
|
|
|
+ String examDate = (String) score.get("exam_date");
|
|
|
+ String[] dates = examDate.split("-");
|
|
|
+ Text year = new Text(" " + dates[0] + " ").setUnderline();
|
|
|
+ Text month = new Text(" " + Integer.parseInt(dates[1]) + " ").setUnderline();
|
|
|
+ Text day = new Text(" " + Integer.parseInt(dates[2]) + " ").setUnderline();
|
|
|
+ Text subjectName = new Text(" " + score.get("exam_subject") + " ").setUnderline();
|
|
|
+ Text remark = new Text(" " + score.get("violation_remark") + " ").setUnderline();
|
|
|
+ Text countryRule = new Text(" " + score.get("country_rule") + " ").setUnderline();
|
|
|
+ Text schoolRule = new Text(" " + score.get("school_rule") + " ").setUnderline();
|
|
|
+ p1 = new Paragraph("你在").add(year).add("年").add(month).add("月").add(day).add("日").add("参加")
|
|
|
+ .add(subjectName).add("中,有").add(remark).add("的行为,").add("违反")
|
|
|
+ .add(countryRule).add("和").add(schoolRule).add("的规定。")
|
|
|
.setFontSize(fontSize).setTextAlignment(TextAlignment.LEFT).setFixedLeading(8)
|
|
|
.setMultipliedLeading(lineHeight).setFirstLineIndent(30f);
|
|
|
doc.add(p1);
|
|
|
|
|
|
//第三段
|
|
|
- Text text = new Text("所报名参加我校" + ArtParamHelper.ArtYear
|
|
|
- + " 年本科招生线上考试的各阶段、各科成绩无效;三年禁止报考中央美术学院;相关材料上报生源所在省份教育考试院。");
|
|
|
+ Text text = new Text("根据《国家教育考试违规处理办法》及《中央美术学院2024年本科招生线上考试考场规则》相关规定,现给予你如下处理:");
|
|
|
p1 = new Paragraph(text).setFontSize(fontSize).setTextAlignment(TextAlignment.LEFT).setFixedLeading(8)
|
|
|
.setMultipliedLeading(lineHeight).setFirstLineIndent(30f);
|
|
|
doc.add(p1);
|
|
|
|
|
|
//第四段
|
|
|
- text = new Text("你收到违规处理通知单之日起十五日内,已向中央美术学院提出复核与申诉申请。经复核,作弊认定无误。如你对本决定不服,可在以下两种渠道维护自身合法权益:1.可在收到处理决定之日起六十日内"
|
|
|
- + "向上级行政部门申请行政复议;2.可在收到处理决定之日起六个月内直接向北京市朝阳区人民法院提起行政诉讼。逾期视为放弃权利。");
|
|
|
+ text = new Text("所报名参加中央美术学院" + ArtParamHelper.ArtYear
|
|
|
+ + "年本科招生线上考试的各阶段、各科成绩无效;3年内禁止报考(不予录取)中央美术学院;同时将违规情况报送至生源所在省级招生考试机构做进一步处理。");
|
|
|
+ p1 = new Paragraph(text).setFontSize(fontSize).setTextAlignment(TextAlignment.LEFT).setFixedLeading(8)
|
|
|
+ .setMultipliedLeading(lineHeight).setFirstLineIndent(30f);
|
|
|
+ doc.add(p1);
|
|
|
+
|
|
|
+ //第五段
|
|
|
+ text = new Text("本次违规处理决定书采用电子送达方式,成绩复核结果查询时接受违规处理决定书,视为已送达。");
|
|
|
+ p1 = new Paragraph(text).setFontSize(fontSize).setTextAlignment(TextAlignment.LEFT).setFixedLeading(8)
|
|
|
+ .setMultipliedLeading(lineHeight).setFirstLineIndent(30f);
|
|
|
+ doc.add(p1);
|
|
|
+
|
|
|
+ //第六段
|
|
|
+ text = new Text("如对处理决定不服,你有权在接受违规处理决定书之日起15日内向教育部提出书面申述;或在接受处理决定之日起6个月内向北京市朝阳区人民法院申请行政诉讼。未提出申述、诉讼或者逾期提出申述、诉讼的,视为你认可处理决定。");
|
|
|
p1 = new Paragraph(text).setFontSize(fontSize).setTextAlignment(TextAlignment.LEFT).setFixedLeading(8)
|
|
|
.setMultipliedLeading(lineHeight).setFirstLineIndent(30f);
|
|
|
doc.add(p1);
|
|
|
|
|
|
doc.add(new Paragraph(""));
|
|
|
doc.add(new Paragraph("中央美术学院").setFontSize(fontSize).setTextAlignment(TextAlignment.RIGHT).setPaddingRight(30f));
|
|
|
- doc.add(new Paragraph(ArtParamHelper.ArtYear + " 年 " + ArtParamHelper.getParamValue("HandleMonth", "4")
|
|
|
- + " 月 " + ArtParamHelper.getParamValue("HandleDay", "17") + " 日")
|
|
|
- .setFontSize(fontSize).setTextAlignment(TextAlignment.RIGHT).setPaddingRight(20f));
|
|
|
+ doc.add(new Paragraph(ArtParamHelper.ArtYear + " 年 " + ArtParamHelper.getParamValue("HandleDecisionMonth", "4")
|
|
|
+ + " 月 " + ArtParamHelper.getParamValue("HandleDecisionDay", "17") + " 日")
|
|
|
+ .setFontSize(fontSize).setTextAlignment(TextAlignment.RIGHT).setPaddingRight(16f));
|
|
|
+
|
|
|
ItextPdfHelper.closePdf(doc);
|
|
|
|
|
|
//更新文件路径
|
|
|
String sql = "update sc_score_ym set aspect_image=? where cert_id=? and aspect_name=? and batch=? ";
|
|
|
- scoreYmDao.updateBySql(sql, file_name, score.getCert_id(), score.getAspect_name(), score.getBatch());
|
|
|
+ scoreYmDao.updateBySql(sql, file_name, score.get("cert_id"), score.get("aspect_name"), score.get("batch"));
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
try {
|
|
@@ -137,8 +156,117 @@ public abstract class DecisionHelper {
|
|
|
}
|
|
|
|
|
|
|
|
|
- public static File makeDecisionResult(ScScoreYmDao scoreYmDao, ScScoreYm score) {
|
|
|
- return null;
|
|
|
+ public static File makeNotice(ScScoreYmDao scoreYmDao, Map<String,Object> score) {
|
|
|
+ String file_name = EnrolMaterialHelper.generateMaterialName(StdMaterialType.Notice, "" + score.get("cert_id")) + ".pdf";
|
|
|
+ File file = new File(EnrolMaterialHelper.getEnrolMaterialLocalPath() + file_name);
|
|
|
+ file.getParentFile().mkdirs();
|
|
|
+ if (file.exists())
|
|
|
+ file.delete();
|
|
|
+
|
|
|
+ Document doc = null;
|
|
|
+ try {
|
|
|
+ // 设置密码
|
|
|
+ doc = ItextPdfHelper.createPdf(file, "hmosft_" + ArtParamHelper.SchoolCode);
|
|
|
+
|
|
|
+ doc.setBorder(null);
|
|
|
+ doc.setMargins(30, 50, 30, 50);
|
|
|
+ PdfFont font = PdfFontFactory.createFont(
|
|
|
+ SpringHelper.WebServletContext.getRealPath("/") + "fonts" + File.separator + "STFANGSO.TTF",
|
|
|
+ PdfEncodings.IDENTITY_H, true);
|
|
|
+ doc.setFont(font);
|
|
|
+ Paragraph p1;
|
|
|
+
|
|
|
+ float fontSize = 17f;
|
|
|
+ float lineHeight = 1.65f;
|
|
|
+ p1 = new Paragraph("中央美术学院" + ArtParamHelper.ArtYear + "年本科招生线上考试\n违规处理告知书")
|
|
|
+ .setFontSize(22).setBold().setTextAlignment(TextAlignment.CENTER);
|
|
|
+ doc.add(p1);
|
|
|
+
|
|
|
+ Text underlineText = new Text("" + score.get("violation_no")).setUnderline();
|
|
|
+ p1 = new Paragraph("编号:").add(underlineText).setFontSize(fontSize).setTextAlignment(TextAlignment.CENTER);
|
|
|
+ doc.add(p1);
|
|
|
+
|
|
|
+ // 空行
|
|
|
+ p1 = new Paragraph(" ");
|
|
|
+ doc.add(p1);
|
|
|
+
|
|
|
+ //第一段
|
|
|
+ Text stdName = new Text(" " + score.get("std_name") + " ").setUnderline();
|
|
|
+ Text stdSex = new Text(" " + score.get("std_sex") + " ").setUnderline();
|
|
|
+ Text certId = new Text(" " + score.get("cert_id") + " ").setUnderline();
|
|
|
+ Text province = new Text(" " + score.get("province_name")).setUnderline();
|
|
|
+ Text aspectName = new Text(" " + score.get("aspect_name")+ " ").setUnderline();
|
|
|
+ Text ticketNo = new Text(" " + score.get("ticket_no") + " ").setUnderline();
|
|
|
+ Text examId = new Text(" " + score.get("exam_id") + " ").setUnderline();
|
|
|
+ p1 = new Paragraph("考生:").add(stdName).add(",").add(stdSex).add(",").add("身份证号:").add(certId).add(",生源地:").add(province)
|
|
|
+ .add(",").add("高考报名号:").add(examId)
|
|
|
+ .add(",").add("报考专业:").add(aspectName).add(",").add("准考证号:").add(ticketNo).add("。")
|
|
|
+ .setFontSize(fontSize).setTextAlignment(TextAlignment.LEFT).setFixedLeading(8)
|
|
|
+ .setMultipliedLeading(lineHeight).setFirstLineIndent(30f);
|
|
|
+ doc.add(p1);
|
|
|
+
|
|
|
+ //第二段
|
|
|
+ String examDate = (String) score.get("exam_date");
|
|
|
+ String[] dates = examDate.split("-");
|
|
|
+ Text year = new Text(" " + dates[0] + " ").setUnderline();
|
|
|
+ Text month = new Text(" " + Integer.parseInt(dates[1]) + " ").setUnderline();
|
|
|
+ Text day = new Text(" " + Integer.parseInt(dates[2]) + " ").setUnderline();
|
|
|
+ Text subjectName = new Text(" " + score.get("exam_subject") + " ").setUnderline();
|
|
|
+ Text remark = new Text(" " + score.get("violation_remark") + " ").setUnderline();
|
|
|
+ Text countryRule = new Text(" " + score.get("country_rule") + " ").setUnderline();
|
|
|
+ Text schoolRule = new Text(" " + score.get("school_rule") + " ").setUnderline();
|
|
|
+ p1 = new Paragraph("你在").add(year).add("年").add(month).add("月").add(day).add("日").add("参加")
|
|
|
+ .add(subjectName).add("中,有").add(remark).add("的行为,").add("违反")
|
|
|
+ .add(countryRule).add("和").add(schoolRule).add("规定。")
|
|
|
+ .setFontSize(fontSize).setTextAlignment(TextAlignment.LEFT).setFixedLeading(8)
|
|
|
+ .setMultipliedLeading(lineHeight).setFirstLineIndent(30f);
|
|
|
+ doc.add(p1);
|
|
|
+
|
|
|
+ //第三段
|
|
|
+ Text text = new Text("根据《国家教育考试违规处理办法》及《中央美术学院2024年本科招生线上考试考场规则》相关规定,拟对你作出如下处理:");
|
|
|
+ p1 = new Paragraph(text).setFontSize(fontSize).setTextAlignment(TextAlignment.LEFT).setFixedLeading(8)
|
|
|
+ .setMultipliedLeading(lineHeight).setFirstLineIndent(30f);
|
|
|
+ doc.add(p1);
|
|
|
+
|
|
|
+ //第四段
|
|
|
+ text = new Text("所报名参加中央美术学院" + ArtParamHelper.ArtYear
|
|
|
+ + "年本科招生线上考试的各阶段、各科成绩无效;3年内禁止报考(不予录取)中央美术学院;同时将违规情况报送至生源所在省级招生考试机构做进一步处理。");
|
|
|
+ p1 = new Paragraph(text).setFontSize(fontSize).setTextAlignment(TextAlignment.LEFT).setFixedLeading(8)
|
|
|
+ .setMultipliedLeading(lineHeight).setFirstLineIndent(30f);
|
|
|
+ doc.add(p1);
|
|
|
+
|
|
|
+ //第五段
|
|
|
+ text = new Text("本次违规处理告知书采用电子送达方式,成绩查询时接受违规处理告知书,视为已送达。");
|
|
|
+ p1 = new Paragraph(text).setFontSize(fontSize).setTextAlignment(TextAlignment.LEFT).setFixedLeading(8)
|
|
|
+ .setMultipliedLeading(lineHeight).setFirstLineIndent(30f);
|
|
|
+ doc.add(p1);
|
|
|
+
|
|
|
+ //第六段
|
|
|
+ text = new Text("对上述告知事项,你有权在接受违规处理告知书之日起2日内通过成绩申述渠道提出陈述和申辩意见。未提出陈述、申辩或者逾期提出陈述、申辩的,视为你认可告知事项。");
|
|
|
+ p1 = new Paragraph(text).setFontSize(fontSize).setTextAlignment(TextAlignment.LEFT).setFixedLeading(8)
|
|
|
+ .setMultipliedLeading(lineHeight).setFirstLineIndent(30f);
|
|
|
+ doc.add(p1);
|
|
|
+
|
|
|
+ doc.add(new Paragraph(""));
|
|
|
+ doc.add(new Paragraph("中央美术学院").setFontSize(fontSize).setTextAlignment(TextAlignment.RIGHT).setPaddingRight(30f));
|
|
|
+ doc.add(new Paragraph(ArtParamHelper.ArtYear + " 年 " + ArtParamHelper.getParamValue("HandleMonth", "4")
|
|
|
+ + " 月 " + ArtParamHelper.getParamValue("HandleDay", "17") + " 日")
|
|
|
+ .setFontSize(fontSize).setTextAlignment(TextAlignment.RIGHT).setPaddingRight(16f));
|
|
|
+ ItextPdfHelper.closePdf(doc);
|
|
|
+
|
|
|
+ //更新文件下载字段
|
|
|
+ String sql = "update sc_score_ym set notice_file=? where cert_id=? and aspect_name=? and batch=? ";
|
|
|
+ scoreYmDao.updateBySql(sql, file_name, score.get("cert_id"), score.get("aspect_name"), score.get("batch"));
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ try {
|
|
|
+ ItextPdfHelper.closePdf(doc);
|
|
|
+ } catch (Exception ex) {
|
|
|
+ LogHelper.error(ex.getMessage());
|
|
|
+ }
|
|
|
+ file.delete();
|
|
|
+ }
|
|
|
+ return file;
|
|
|
}
|
|
|
|
|
|
public static File makeReviewLog(ScScoreYmDao scoreYmDao, ScScoreYm score) {
|