kgdxpr 1 year ago
commit 8c5bae9246

@ -0,0 +1,105 @@
package UnitTest;
import com.aspose.words.*;
import com.aspose.words.Font;
import java.awt.*;
public class TestDocx {
public static void main(String[] args) throws Exception {
//创建新文档
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Font font = builder.getFont();
font.setSize(20);
//字体加粗
font.setBold(true);
//设置字体
font.setName("黑体");
//插入文本行信息
builder.moveToDocumentEnd();
// 设置段落格式为居中对齐
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
// 插入并居中文本
builder.write("XXX评审会议专家抽取结果");
Table table = builder.startTable();
builder.insertCell();
table.setLeftIndent(3.0);//左边距
//行高
builder.getRowFormat().setHeight(20.0);
builder.getRowFormat().setHeightRule(HeightRule.AT_LEAST);
//表格表头颜色背景
builder.getCellFormat().getShading().setBackgroundPatternColor(new Color((198), (217), (241)));
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
builder.getFont().setSize(14.0);
builder.getFont().setName("微软雅黑");
builder.getFont().setBold(true);
builder.getCellFormat().setWidth(100.0);
builder.write("序号");
builder.insertCell();
builder.getCellFormat().setWidth(200.0);
builder.write("类型");
builder.insertCell();
builder.getCellFormat().setWidth(200.0);
builder.write("单位");
builder.insertCell();
builder.getCellFormat().setWidth(200.0);
builder.write("姓名");
builder.endRow();
builder.getCellFormat().getShading().setBackgroundPatternColor(Color.WHITE);
builder.getCellFormat().setWidth(100.0);
builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);
builder.getRowFormat().setHeight(30.0);
builder.getRowFormat().setHeightRule(HeightRule.AUTO);
builder.getFont().setSize(11.0);
builder.getFont().setName("微软雅黑");
builder.getFont().setBold(false);
for (int i = 1; i <= 5; i++) {
builder.insertCell();
builder.getCellFormat().setWidth(100.0);
builder.write("Row 1, Cell 1 Content");
builder.insertCell();
builder.getCellFormat().setWidth(200.0);
builder.write("Row 1, Cell 2 Content");
builder.insertCell();
builder.getCellFormat().setWidth(200.0);
builder.write("Row 1, Cell 3 Content");
builder.insertCell();
builder.getCellFormat().setWidth(200.0);
builder.write("Row 1, Cell 4 Content");
builder.endRow();
}
builder.endTable();
// 遍历文档中的所有节sections设置页面边距
for (Section sect : doc.getSections()) {
// 获取页边距
PageSetup pageSetup = sect.getPageSetup();
// 设置页边距这里设置为1英寸你可以根据需要调整数值
pageSetup.setLeftMargin(50);
pageSetup.setRightMargin(50);
pageSetup.setTopMargin(50);
pageSetup.setBottomMargin(50);
}
//保存文档
doc.save("d:/table.docx");
}
}

@ -24,10 +24,8 @@ import com.jfinal.plugin.activerecord.Record;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.*;
import java.util.stream.Collectors;
public class LoginPersonController extends Controller {
@ -41,9 +39,13 @@ public class LoginPersonController extends Controller {
* @param username
* @param password
* @param captcha
* @param roles ?
* : roles277
*
* dinghongyuan 123456
*/
@Before({POST.class})
public void doLogin(String username, String password, String captcha) {
public void doLogin(String username, String password, String captcha, String roles) {
JSONObject resultJson = new JSONObject();
if (StrKit.isBlank(captcha)) {
resultJson.put("success", false);
@ -178,6 +180,28 @@ public class LoginPersonController extends Controller {
renderJson(resultJson);
return;
}
//如果前台指定必须具备某些角色才能使用这个登录口的话
if (!StrKit.isBlank(roles)) {
//1、需要具备的角色
List<Integer> roleList = Arrays.stream(roles.split(","))
.map(Integer::parseInt) // 将字符串转换为整数
.collect(Collectors.toList()); // 收集成列表
//2、人员已有的角色
List<Integer> existRole = new ArrayList<>();
for (Record record : list) {
existRole.add(record.getInt("duties_id"));
}
//3、求交集
roleList.retainAll(existRole);
if (roleList.isEmpty()) {
resultJson.put("success", false);
resultJson.put("redirect", true);
resultJson.put("msg", "登录失败,当前登录页面要求指定角色才能登录成功!");
renderJson(resultJson);
return;
}
}
}
//防止用户攻击修改Cookie

@ -30,6 +30,7 @@ import com.dsideal.QingLong.Util.PkUtil;
import com.dsideal.QingLong.Util.RedisKit;
import com.dsideal.QingLong.YunXiao.Controller.YunXiaoController;
import com.dsideal.QingLong.Zbdc.Controller.ZbdcController;
import com.dsideal.QingLong.Zjcq.Controller.ZjcqController;
import com.jfinal.config.*;
import com.jfinal.kit.PropKit;
import com.jfinal.kit.StrKit;
@ -110,9 +111,10 @@ public class Start extends JFinalConfig {
me.add("/yunxiao", YunXiaoController.class);
//数据上报汇集子系统
me.add("/collect", CollectController.class);
//装备调查
me.add("/zbdc", ZbdcController.class);
//专家抽取
me.add("/zjcq", ZjcqController.class);
}
@Override
@ -229,6 +231,7 @@ public class Start extends JFinalConfig {
//注册一个检查输入文本长度的拦截器
me.add(new LengthInterceptor());
}
/**

@ -0,0 +1,95 @@
package com.dsideal.QingLong.Zjcq.Controller;
import com.dsideal.QingLong.Interceptor.EmptyInterface;
import com.dsideal.QingLong.Interceptor.IsLoginInterface;
import com.dsideal.QingLong.Interceptor.IsNumericInterface;
import com.dsideal.QingLong.Util.CommonUtil;
import com.dsideal.QingLong.Zjcq.Model.ZjcqModel;
import com.jfinal.aop.Before;
import com.jfinal.core.Controller;
import com.jfinal.ext.interceptor.GET;
import com.jfinal.ext.interceptor.POST;
import com.jfinal.kit.Kv;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.Page;
import com.jfinal.plugin.activerecord.Record;
import java.io.File;
import java.net.URISyntaxException;
import java.util.List;
public class ZjcqController extends Controller {
private final ZjcqModel zm = new ZjcqModel();
/**
*
*/
@Before({GET.class})
@IsLoginInterface({})
public void getLxList() {
List<Record> list = zm.getLxList();
renderJson(list);
}
/**
* ()
*
* @param ys_name
* @param ys_date
*/
@Before({POST.class})
@IsLoginInterface({})
public void createYs(String ys_name, String ys_date) {
zm.createYs(ys_name, ys_date);
Kv kv = Kv.create();
kv.set("success", true);
kv.set("message", "保存成功!");
renderJson(kv);
}
/**
*
*
* @param ys_id id
* @param lx_ids
* @param ys_person_count s
*/
@Before({GET.class})
@IsLoginInterface({})
@EmptyInterface({"lx_ids"})
@IsNumericInterface({"count"})
public void doZjcq(int ys_id, String lx_ids, int ys_person_count) {
List<Record> list = zm.doZjcq(ys_id, lx_ids, ys_person_count);
renderJson(list);
}
/**
*
*
* @param page
* @param limit
*/
@Before({GET.class})
@IsLoginInterface({})
public void listZjcq(int page, int limit) {
Page<Record> list = zm.listZjcq(page, limit);
renderJson(CommonUtil.renderJsonForLayUI(list));
}
/**
* Docx
*
* @param ys_id
*/
@Before({POST.class})
@IsLoginInterface({})
public void exportDocx(int ys_id) throws URISyntaxException {
//模板
String docxPath = CommonUtil.getClassPath() + "Doc";
String fileTemplatePath = docxPath + "ZhuanJiaChouQu.docx";
//TODO
String filePath = fileTemplatePath;
renderFile(new File(filePath), "专家抽取结果.docx");
}
}

@ -0,0 +1,74 @@
package com.dsideal.QingLong.Zjcq.Model;
import com.dsideal.QingLong.Interceptor.IsLoginInterface;
import com.jfinal.aop.Before;
import com.jfinal.ext.interceptor.GET;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Page;
import com.jfinal.plugin.activerecord.Record;
import java.util.List;
public class ZjcqModel {
/**
*
*/
public List<Record> getLxList() {
String sql = "select * from t_zhuanjia_lx order by lx_id";
return Db.find(sql);
}
/**
*
*
* @param ys_id
* @param lx_ids
* @param ys_person_count
* @return
*/
public List<Record> doZjcq(int ys_id, String lx_ids, int ys_person_count) {
String sql = "select * from t_zhuangjia_base where lx_id in (" + lx_ids + ") and b_use=1 order by random() limit ?";
List<Record> list = Db.find(sql, ys_person_count);
//保存专家抽取结果
sql = "delete from t_zhuanjia_record_detail where ys_id=?";
Db.update(sql, ys_id);
for (Record record : list) {
int person_id = record.getInt("person_id");
Record r = new Record();
r.set("person_id", person_id);
r.set("ys_id", ys_id);
Db.save("t_zhuanjia_record_detail", "ys_id,person_id", r);
}
sql = "update t_zhuanjia_record set is_finish=1 where ys_id=?";
Db.update(sql, ys_id);
return list;
}
/**
*
*
* @param ys_name
* @param ys_date
* @return ID
*/
public int createYs(String ys_name, String ys_date) {
Record record = new Record();
record.set("ys_name", ys_name);
record.set("ys_date", ys_date);
Db.save("t_zhuanjia_record", "ys_id", record);
return record.getInt("ys_id");
}
/**
*
*
* @param page
* @param limit
*/
public Page<Record> listZjcq(int page, int limit) {
String sql = " from t_zhuanjia_record order by ys_id desc";
Page<Record> list = Db.paginate(page, limit, "select *", sql);
return list;
}
}

Binary file not shown.
Loading…
Cancel
Save