提交 01a96377 authored 作者: 133's avatar 133

[考题的bug] 代码提交

上级 ed69d5c6
...@@ -90,6 +90,18 @@ public class FileController { ...@@ -90,6 +90,18 @@ public class FileController {
return ResponseEntity.ok(JavaToPdfHtmlFreeMarker.createPdf(content,url,preview,"workHandover/")); return ResponseEntity.ok(JavaToPdfHtmlFreeMarker.createPdf(content,url,preview,"workHandover/"));
} }
/**
* 生成决算清单
*/
@ApiOperation(value = "生成决算清单")
@PostMapping("/revenue")
public ResponseEntity wordHandover(@RequestBody RevenueEntity revenueEntity) {
String[] content = JavaToPdfHtmlFreeMarker.freeMarkerRenderRevenue(revenueEntity,url+"htmlModel/");
log.info("[file] 生成决算清单");
return ResponseEntity.ok(JavaToPdfHtmlFreeMarker.createPdf(content,url,preview,"workHandover/"));
}
/** /**
* 生成单据 确认单据 * 生成单据 确认单据
* @return * @return
......
...@@ -19,6 +19,8 @@ import java.util.List; ...@@ -19,6 +19,8 @@ import java.util.List;
@ApiModel(value = "决算vo") @ApiModel(value = "决算vo")
public class Revenue { public class Revenue {
private Integer code;
@ApiModelProperty(value = "型号") @ApiModelProperty(value = "型号")
private String model; private String model;
...@@ -41,12 +43,15 @@ public class Revenue { ...@@ -41,12 +43,15 @@ public class Revenue {
private Integer total; private Integer total;
@ApiModelProperty(value = "代管") @ApiModelProperty(value = "代管")
private String escrow; private Integer escrow;
@ApiModelProperty(value = "收到") @ApiModelProperty(value = "收到")
private String received; private String received;
@ApiModelProperty(value = "发出")
private Integer giveOut;
@ApiModelProperty(value = "报废") @ApiModelProperty(value = "报废")
private String scrapped; private Integer scrapped;
} }
...@@ -32,4 +32,7 @@ public class RevenueEntity { ...@@ -32,4 +32,7 @@ public class RevenueEntity {
@ApiModelProperty(name = "决算专管员B") @ApiModelProperty(name = "决算专管员B")
private String revenueUserB; private String revenueUserB;
@ApiModelProperty(name = "决算时间")
private String time;
} }
...@@ -769,6 +769,9 @@ public class JavaToPdfHtmlFreeMarker { ...@@ -769,6 +769,9 @@ public class JavaToPdfHtmlFreeMarker {
return lists; return lists;
} }
private static int String_length(String value) { private static int String_length(String value) {
int valueLength = 0; int valueLength = 0;
String chinese = "[\u4e00-\u9fa5]"; String chinese = "[\u4e00-\u9fa5]";
...@@ -999,4 +1002,110 @@ public class JavaToPdfHtmlFreeMarker { ...@@ -999,4 +1002,110 @@ public class JavaToPdfHtmlFreeMarker {
} }
} }
/**
* freemarker渲染html
*/
public static String[] freeMarkerRenderRevenue(RevenueEntity revenueEntity,String htmlPath) {
Writer out = new StringWriter();
String [] strings=new String[100000];
int index=0;
try {
// 获取模板,并设置编码方式
Template template = freemarkerCfg.getTemplate("bill4.html");
template.setEncoding("UTF-8");
List<Revenue> list=revenueEntity.getRevenueList();
List<List<Revenue>> listList=toRevenueList(list);
int count=listList.size();
Integer page=1;
for (List<Revenue> list1:listList) {
String htmlname=htmlPath+ UUID.randomUUID().toString()+".html";
// 合并数据模型与模板
FileWriter fileWriter = new FileWriter(new File(htmlname));
template.process(toMapRevenue(revenueEntity,list1,page,count),fileWriter);
out.flush();
strings[index]=htmlname;
index++;
page++;
}
return strings;
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
out.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
return null;
}
private static Map<String,Object> toMapRevenue(RevenueEntity revenueEntity,List<Revenue> list,Integer page,Integer count){
Map<String,Object> data = new HashMap();
data.put("title",revenueEntity.getTitle());
data.put("revenueUnit",revenueEntity.getRevenueUnit());
data.put("page",page);
data.put("count",count);
data.put("time",revenueEntity.getTime());
List<Revenue> list1=new ArrayList<>();
AtomicInteger i= new AtomicInteger(1);
list.forEach(
revenue -> {
revenue.setCode(i.get());
i.set(i.get() + 1);
list1.add(revenue);
}
);
data.put("revenues",list1);
return data;
}
private static List<List<Revenue>> toRevenueList(List<Revenue> deviceList){
List<List<Revenue>> lists=new ArrayList<>();
List<Revenue> revenues=new ArrayList<>();
int i=0;
for (Revenue revenue : deviceList) {
int max = toRevenueMax(revenue);
if (i + max == 20) {
revenues.add(revenue);
lists.add(revenues);
revenues = new ArrayList<>();
i = 0;
} else if (i + max > 20) {
lists.add(revenues);
revenues = new ArrayList<>();
revenues.add(revenue);
i = max;
} else {
revenues.add(revenue);
i = i + max;
}
}
if (revenues.size()!=0){
lists.add(revenues);
}
return lists;
}
private static Integer toRevenueMax(Revenue revenue){
int partsCount=String_length(revenue.getPart());
int modelCount=String_length(revenue.getModel());
int parts = (partsCount%11>0) ? partsCount/11 + 1 : partsCount/11;
int model=(modelCount%11>0) ? modelCount/11 + 1 : modelCount/11;
int max=parts;
//求最大
if(max<model){
max=model;
}
return max;
}
} }
...@@ -75,13 +75,13 @@ public class ProblemServiceImpl implements ProblemService { ...@@ -75,13 +75,13 @@ public class ProblemServiceImpl implements ProblemService {
PredicateBuilder<Problem> predicateBuilder = Specifications.and(); PredicateBuilder<Problem> predicateBuilder = Specifications.and();
if (problemPageVo!=null){ if (problemPageVo!=null){
if (problemPageVo.getDesDim()!=null){ if (problemPageVo.getDesDim()!=null){
predicateBuilder.like("","%"+problemPageVo.getDesDim()+"%"); predicateBuilder.like("des","%"+problemPageVo.getDesDim()+"%");
} }
if (problemPageVo.getLevel()!=null){ if (problemPageVo.getLevel()!=null){
predicateBuilder.eq("",problemPageVo.getLevel()); predicateBuilder.eq("problemLevel",problemPageVo.getLevel());
} }
if (problemPageVo.getType()!=null){ if (problemPageVo.getType()!=null){
predicateBuilder.eq("",problemPageVo.getType()); predicateBuilder.eq("problemType",problemPageVo.getType());
} }
} }
return predicateBuilder.build(); return predicateBuilder.build();
......
...@@ -242,26 +242,23 @@ public class TrainJobController { ...@@ -242,26 +242,23 @@ public class TrainJobController {
trainUser.setArriveTime(signUpUser.getArriveTime()); trainUser.setArriveTime(signUpUser.getArriveTime());
trainUser.setLeaveMeal(signUpUser.getLeaveMeal()); trainUser.setLeaveMeal(signUpUser.getLeaveMeal());
trainUser.setLeaveTime(signUpUser.getLeaveTime()); trainUser.setLeaveTime(signUpUser.getLeaveTime());
TaskLogBto taskLogBto = new TaskLogBto(taskId, "报名", null);
userLogService.save(new UserLog(securityUser.getCurrentUserInfo().getUserId(),new Date(),"报名参加培训")); userLogService.save(new UserLog(securityUser.getCurrentUserInfo().getUserId(),new Date(),"报名参加培训"));
taskLogService.addLog(taskLogBto);
} else { } else {
trainUser.setIsSignUp(2); trainUser.setIsSignUp(2);
trainUser.setNote(signUpUser.getNote()); trainUser.setNote(signUpUser.getNote());
TaskLogBto taskLogBto = new TaskLogBto(taskId, "不报名", null);
taskLogService.addLog(taskLogBto);
userLogService.save(new UserLog(securityUser.getCurrentUserInfo().getUserId(),new Date(),"不参加培训"));
} }
trainUser.setUnitsName(unitsDao.findById(trainUser.getUnitsId()).get().getName()); trainUser.setUnitsName(unitsDao.findById(trainUser.getUnitsId()).get().getName());
saveTrainUser(trainUser); saveTrainUser(trainUser);
}); });
TaskLogBto taskLogBto = new TaskLogBto(taskId, "提交了培训名单", null);
taskLogService.addLog(taskLogBto);
userLogService.save(new UserLog(securityUser.getCurrentUserInfo().getUserId(),new Date(),"不参加培训"));
taskBto.setCreateUserId(securityUser.getCurrentUserInfo().getUserId()); taskBto.setCreateUserId(securityUser.getCurrentUserInfo().getUserId());
taskBto = taskService.moveToSpecial(taskBto, StatusEnum.TRAIN1003, -1); taskBto = taskService.moveToSpecial(taskBto, StatusEnum.TRAIN1003, -1);
trainUnitDao.save(trainUnit); trainUnitDao.save(trainUnit);
List<Integer> userIds=userService.findAllByUnite(securityUser.getCurrentUserInfo().getUnitsId()).stream().map(User::getUserId).collect(Collectors.toList()); List<Integer> userIds=userService.findAllByUnite(securityUser.getCurrentUserInfo().getUnitsId()).stream().map(User::getUserId).collect(Collectors.toList());
userIds.addAll(userService.findAllByUnite(trainTheme.getUnitsId()).stream().map(User::getUserId).collect(Collectors.toList())); userIds.addAll(userService.findAllByUnite(trainTheme.getUnitsId()).stream().map(User::getUserId).collect(Collectors.toList()));
userIds.remove(securityUser.getCurrentUserInfo().getUserId()); userIds.remove(securityUser.getCurrentUserInfo().getUserId());
messageService.add(new MessageBto(taskBto.getId(),BusinessEnum.TRAIN.id,securityUser.getUsername()+"提交了培训名单",userIds,trainTheme.getTrainId().toString()));
return ResponseEntity.ok(taskBto); return ResponseEntity.ok(taskBto);
} }
......
...@@ -210,7 +210,7 @@ public class TrainUser { ...@@ -210,7 +210,7 @@ public class TrainUser {
trainUserExcelVo.setLeaveTime(LeaveTime.format(df)); trainUserExcelVo.setLeaveTime(LeaveTime.format(df));
int daysNum=(int)(LeaveTime.toLocalDate().toEpochDay() - ArriveTime.toLocalDate().toEpochDay()); int daysNum=(int)(LeaveTime.toLocalDate().toEpochDay() - ArriveTime.toLocalDate().toEpochDay());
if (daysNum>1){ if (daysNum > 0){
trainUserExcelVo.setDayNum(daysNum); trainUserExcelVo.setDayNum(daysNum);
}else { }else {
trainUserExcelVo.setDayNum(0); trainUserExcelVo.setDayNum(0);
......
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论