kgdxpr 1 year ago
commit f4f126c4de

@ -79,7 +79,7 @@
upload.render({
elem: '#upload-excel',
url: '/QingLong/collect/uoloadTemplate',
url: '/QingLong/collect/uploadTemplate',
exts: 'xlsx',
done: function (res) {
if (res.success) {

@ -64,7 +64,7 @@ public class CollectController extends Controller {
*/
@Before({POST.class, RepeatIntercetpor.class})
@IsLoginInterface({})
public void uoloadTemplate() throws IOException {
public void uploadTemplate() throws IOException {
UploadFile excelFile = getFile();//得到文件对象
//操作人员
String person_id = SessionKit.get(getRequest(), getResponse(), "person_id");
@ -1726,10 +1726,19 @@ public class CollectController extends Controller {
public void downJobExcelTemplate(int job_id) {
Record jobRecord = cm.getJob(job_id);
String job_name = jobRecord.getStr("job_name");
String tmpFile = jobRecord.getStr("upload_excel_filename");
String excelPath = basePath + "/" + tmpFile;
String TemplateFile = jobRecord.getStr("upload_excel_filename");
String excelPath = basePath + "/" + TemplateFile;
//先不要着急提供下载,需要根据用户的所在单位,来判断是不是需要删除掉一些信息
//操作人员
String person_id = SessionKit.get(getRequest(), getResponse(), "person_id");
//根据人员ID获取人员所在的单位ID
Record rs = personModel.getLoginInfoByPersonId(person_id);
String bureau_id = rs.get("bureau_id");
List<Integer> schoolStageList = cm.getSchoolStage(bureau_id);//有456哪几个学段
//查一下,这个任务的相关模板与学段的关系表,哪些表不是当前单位需要填写的,删除掉
File reduceExcel = cm.getReduceExcel(job_id, excelPath, schoolStageList);
//提供下载
renderFile(new File(excelPath), job_name + ".xlsx");
renderFile(reduceExcel, job_name + ".xlsx");
}
/**
@ -2169,8 +2178,34 @@ public class CollectController extends Controller {
*/
@Before({POST.class})
@IsLoginInterface({})
public void updateSheetStage(int job_id, int sheet_index, int stage_id) {
cm.updateSheetStage(job_id, sheet_index, stage_id);
public void updateSheetStage(int job_id, int sheet_index, int stage_id, int b_use) {
cm.updateSheetStage(job_id, sheet_index, stage_id, b_use);
Kv kv = Kv.by("success", true);
kv.set("message", "保存成功!");
renderJson(kv);
}
/**
*
*
* @param job_id
*/
@Before({GET.class})
@IsLoginInterface({})
public void getSheetStage(int job_id) {
List<Record> list = cm.getSheetStage(job_id);
renderJson(CommonUtil.renderJsonForLayUI(list));
}
/**
* Sheet
*
* @param job_id
*/
@Before({POST.class})
@IsLoginInterface({})
public void intelligenceSheetStage(int job_id) {
cm.intelligenceSheetStage(job_id);
Kv kv = Kv.by("success", true);
kv.set("message", "保存成功!");
renderJson(kv);

@ -31,9 +31,7 @@ import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@ -671,6 +669,7 @@ public class CollectModel {
for (int colNum = 0; colNum < ed.getLastCellNum(); colNum++) {
if (StrKit.isBlank(ed.getCell(colNum).toString())) {//下面没有,应该听上面的
original_name = CommonUtil.removeKuoHao(st.getCell(colNum).toString().replace("\n", ""));
if (StrKit.isBlank(original_name)) continue;
column_name = ChineseCharacterUtil.getColumnNameByMemo(CommonUtil.removeKuoHao(st.getCell(colNum).toString()));
Record record = new Record();
record.set("original_name", original_name);
@ -3125,10 +3124,81 @@ public class CollectModel {
/**
* ExcelSheet
*/
public void updateSheetStage(int job_id, int sheet_index, int stage_id) {
public void updateSheetStage(int job_id, int sheet_index, int stage_id, int b_use) {
String sql = "delete from t_collect_sheet_stage where job_id=? and sheet_index=?";
Db.update(sql, job_id, sheet_index);
sql = "insert into t_collect_sheet_stage(job_id,sheet_index,stage_id) values(?,?,?)";
sql = "insert into t_collect_sheet_stage(job_id,sheet_index,stage_id,b_use) values(?,?,?,?)";
Db.update(sql, job_id, sheet_index, stage_id);
}
/**
*
*
* @param job_id
*/
public List<Record> getSheetStage(int job_id) {
String sql = "select * from t_collect_sheet_stage where job_id=?";
return Db.find(sql, job_id);
}
/**
* Sheet
*
* @param job_id
*/
public void intelligenceSheetStage(int job_id) {
//1、整体上都修改为0表示一个都不要
String sql = "update t_collect_sheet_stage set b_use=0 where job_id=?";
Db.update(sql, job_id);
//2、遍历这个任务的所有Sheet表
sql = "select sheet_index,sheet_name from t_collect_job_sheet where job_id=?";
List<Record> list = Db.find(sql, job_id);
//3、如果Sheet表的表名中存在小学初中高中字样那么认为这个Sheet表对应小学初中高中
for (Record record : list) {
int sheet_index = record.getInt("sheet_index");
String sheetName = record.getStr("sheet_name");
sql = "update t_collect_sheet_stage set b_use=1 where job_id=? and sheet_index=? and stage_id=";
if (sheetName.indexOf("小学") >= 0) {
sql += 4;
} else if (sheetName.indexOf("初中") >= 0) {
sql += 5;
} else if (sheetName.indexOf("高中") >= 0) {
sql += 6;
}
Db.update(sql, job_id, sheet_index);
}
}
/**
* Sheet
*
* @param job_id
* @param excelPath
* @param schoolStageList
* @return
*/
public File getReduceExcel(int job_id, String excelPath, List<Integer> schoolStageList) {
String stageIds = "";
for (Integer i : schoolStageList) {
stageIds += i + ",";
}
if (stageIds.length() > 0) stageIds = stageIds.substring(0, stageIds.length() - 1);
List<Integer> sheetIndexList = new ArrayList<>();
String sql = "select sheet_index from t_collect_sheet_stage where job_id=? and stage_id in (" + stageIds + ") and b_use=1 order by sheet_index";//要保留哪些
List<Record> list = Db.find(sql, job_id);
for (Record record : list) {
sheetIndexList.add(record.getInt("sheet_index"));
}
// 生成随机UUID
UUID uuid = UUID.randomUUID();
// 将UUID转换为字符串
String uuidString = uuid.toString();
// 创建临时文件路径
File tempFile = new File(System.getProperty("java.io.tmpdir") + File.separator + uuidString + ".xlsx");
}
}

@ -118,9 +118,13 @@ public class ChineseCharacterUtil {
else
res = convertHanzi2Pinyin(memo, false);
res=res.replace("\n", "").trim().replace("/", "_");
res=res.replace("","");
res=res.replace("","");
res = res.replace("\n", "").trim().replace("/", "_");
res = res.replace("", "");
res = res.replace("", "");
// 正则表达式,匹配非字母、数字、下划线的字符
String regex = "[^a-zA-Z0-9_]";
// 使用replaceAll方法替换匹配的字符为空字符串即删除这些字符
res = res.replaceAll(regex, "");
return res;
}
}

Loading…
Cancel
Save