|
|
|
@ -19,7 +19,6 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.common.Pager;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
|
|
|
|
|
import cn.estsh.i3plus.pojo.platform.bean.SysFile;
|
|
|
|
|
import cn.estsh.i3plus.pojo.platform.bean.SysTask;
|
|
|
|
|
import cn.estsh.i3plus.pojo.platform.bean.SysTaskCycle;
|
|
|
|
|
import cn.estsh.i3plus.pojo.platform.bean.SysTaskPlan;
|
|
|
|
@ -34,6 +33,7 @@ import cn.estsh.impp.framework.boot.util.ResultBean;
|
|
|
|
|
import cn.estsh.impp.framework.boot.util.ValidatorBean;
|
|
|
|
|
import io.swagger.annotations.Api;
|
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
@ -41,10 +41,13 @@ import org.springframework.web.bind.annotation.*;
|
|
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
|
|
|
|
import javax.persistence.EntityManager;
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
import java.io.*;
|
|
|
|
|
import java.net.URLEncoder;
|
|
|
|
|
import java.util.HashSet;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.Set;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @Description : 任务计划管理服务
|
|
|
|
@ -138,6 +141,7 @@ public class SysTaskPlanController extends CoreBaseController {
|
|
|
|
|
@PostMapping(value = "/insert")
|
|
|
|
|
@ApiOperation(value = "新增任务计划", notes = "任务计划")
|
|
|
|
|
public ResultBean<SysTaskPlan> insertSysTaskTime(@RequestBody SysTaskPlan sysTaskPlan, Integer isExecute) {
|
|
|
|
|
boolean isMakeUpOperate = false;
|
|
|
|
|
try {
|
|
|
|
|
startMultiService();
|
|
|
|
|
|
|
|
|
@ -166,14 +170,14 @@ public class SysTaskPlanController extends CoreBaseController {
|
|
|
|
|
sysTaskPlan.setTaskPlanStatus(CommonEnumUtil.DATA_STATUS.ENABLE.getValue());
|
|
|
|
|
|
|
|
|
|
// 唯一检查
|
|
|
|
|
LOGGER.info("定时任务唯一校验 Name:{0},GroupName:{1}", sysTaskPlan.getName(), sysTaskPlan.getGroupName());
|
|
|
|
|
LOGGER.info("定时任务唯一校验 Name:{},GroupName:{}", sysTaskPlan.getName(), sysTaskPlan.getGroupName());
|
|
|
|
|
BaseResultBean baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd())
|
|
|
|
|
.checkJobExists(sysTaskPlan.getName(), sysTaskPlan.getGroupName());
|
|
|
|
|
if (baseResultBean.isSuccess() && baseResultBean.getResultObject() != null && (boolean) baseResultBean.getResultObject()) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode())
|
|
|
|
|
.setErrorDetail("定时任务已存在 %s" , baseResultBean.getErrorMsg())
|
|
|
|
|
.setErrorDetail("定时任务已存在 %s", baseResultBean.getErrorMsg())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -182,7 +186,6 @@ public class SysTaskPlanController extends CoreBaseController {
|
|
|
|
|
sysTask.getTaskClass(), sysTaskPlan.getName(), sysTaskPlan.getGroupName(), sysTaskCycle.getTaskCycleExps(),
|
|
|
|
|
sysTaskPlan.getTaskPlanParam());
|
|
|
|
|
if (!baseResultBean.isSuccess()) {
|
|
|
|
|
getJobService(sysTaskPlan.getTaskSoftTypeRdd()).deleteTask(sysTaskPlan.getName(),sysTaskPlan.getGroupName());
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode())
|
|
|
|
@ -210,9 +213,17 @@ public class SysTaskPlanController extends CoreBaseController {
|
|
|
|
|
|
|
|
|
|
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysTaskPlan);
|
|
|
|
|
} catch (ImppBusiException busExcep) {
|
|
|
|
|
isMakeUpOperate = true;
|
|
|
|
|
return ResultBean.fail(busExcep);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
isMakeUpOperate = true;
|
|
|
|
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
|
|
|
|
} finally {
|
|
|
|
|
// 如果失败进行补偿删除,避免添加垃圾数据
|
|
|
|
|
if (isMakeUpOperate && sysTaskPlan.getTaskSoftTypeRdd() != null
|
|
|
|
|
&& StringUtils.isNotBlank(sysTaskPlan.getName()) && StringUtils.isNotBlank(sysTaskPlan.getGroupName())) {
|
|
|
|
|
getJobService(sysTaskPlan.getTaskSoftTypeRdd()).deleteTask(sysTaskPlan.getName(), sysTaskPlan.getGroupName());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -274,7 +285,11 @@ public class SysTaskPlanController extends CoreBaseController {
|
|
|
|
|
baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd())
|
|
|
|
|
.editTask(sysTask.getTaskPackage(), sysTask.getTaskClass(), sysTaskPlan.getName(),
|
|
|
|
|
sysTaskPlan.getGroupName(), sysTaskCycle.getTaskCycleExps(), sysTaskPlan.getTaskPlanParam());
|
|
|
|
|
// 判断是否失败如果失败进行补偿新增,避免出现勿删的情况
|
|
|
|
|
if (!baseResultBean.isSuccess()) {
|
|
|
|
|
getJobService(sysTaskPlan.getTaskSoftTypeRdd())
|
|
|
|
|
.addTask(sysTask.getTaskPackage(), sysTask.getTaskClass(), sysTaskPlan.getName()
|
|
|
|
|
, sysTaskPlan.getGroupName(), sysTaskCycle.getTaskCycleExps(), sysTaskPlan.getTaskPlanParam());
|
|
|
|
|
resultBean = ResultBean.fail(baseResultBean.getErrorMsg());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -450,48 +465,77 @@ public class SysTaskPlanController extends CoreBaseController {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 全部刷新
|
|
|
|
|
* 全部重载
|
|
|
|
|
*
|
|
|
|
|
* @return 处理结果
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping(value = "/refresh/{id}")
|
|
|
|
|
@ApiOperation(value = "全部刷新", notes = "全部刷新")
|
|
|
|
|
public ResultBean refreshTaskPlan(boolean isSkipDisablePlan) {
|
|
|
|
|
@GetMapping(value = "/reload-all")
|
|
|
|
|
@ApiOperation(value = "全部重载", notes = "全部重载")
|
|
|
|
|
public ResultBean refreshAllTaskPlan(boolean isSkipDisablePlan) {
|
|
|
|
|
try {
|
|
|
|
|
List<SysTaskPlan> sysTaskPlanList = sysTaskPlanService.listSysTaskPlan();
|
|
|
|
|
ResultBean resultBean = ResultBean.success("操作成功");
|
|
|
|
|
SysTask sysTask;
|
|
|
|
|
SysTaskCycle sysTaskCycle;
|
|
|
|
|
for (SysTaskPlan sysTaskPlan : sysTaskPlanList) {
|
|
|
|
|
if(isSkipDisablePlan && sysTaskPlan.getTaskPlanStatusVal() == CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()){
|
|
|
|
|
if (isSkipDisablePlan && sysTaskPlan.getTaskPlanStatusVal() == CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
sysTask = sysTaskService.getSysTaskById(sysTaskPlan.getTaskId());
|
|
|
|
|
sysTaskCycle = sysTaskCycleService.getSysTaskCycleById(sysTaskPlan.getTaskCycleId());
|
|
|
|
|
// 调用对应微服务的检查接口
|
|
|
|
|
LOGGER.info("微服定时任务数据校验:name:{}, groupName:{}", sysTaskPlan.getName(), sysTaskPlan.getGroupName());
|
|
|
|
|
|
|
|
|
|
// 修改对应微服务的定时任务
|
|
|
|
|
LOGGER.info("微服修改定时任务数据:taskPlan", sysTaskPlan.toString());
|
|
|
|
|
BaseResultBean baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd())
|
|
|
|
|
.checkJobExists(sysTaskPlan.getName(), sysTaskPlan.getGroupName());
|
|
|
|
|
if (baseResultBean.isSuccess() && baseResultBean.getResultObject() != null && !(boolean) baseResultBean.getResultObject()) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("定时任务不存在")
|
|
|
|
|
.build();
|
|
|
|
|
} else if (!baseResultBean.isSuccess()) {
|
|
|
|
|
resultBean = ResultBean.fail(baseResultBean.getErrorMsg());
|
|
|
|
|
.editTask(sysTask.getTaskPackage(), sysTask.getTaskClass(), sysTaskPlan.getName(),
|
|
|
|
|
sysTaskPlan.getGroupName(), sysTaskCycle.getTaskCycleExps(), sysTaskPlan.getTaskPlanParam());
|
|
|
|
|
// 判断是否失败如果失败进行补偿新增,避免出现勿删的情况
|
|
|
|
|
if (!baseResultBean.isSuccess()) {
|
|
|
|
|
getJobService(sysTaskPlan.getTaskSoftTypeRdd())
|
|
|
|
|
.addTask(sysTask.getTaskPackage(), sysTask.getTaskClass(), sysTaskPlan.getName()
|
|
|
|
|
, sysTaskPlan.getGroupName(), sysTaskCycle.getTaskCycleExps(), sysTaskPlan.getTaskPlanParam());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return ResultBean.success("操作成功");
|
|
|
|
|
} catch (ImppBusiException busExcep) {
|
|
|
|
|
return ResultBean.fail(busExcep);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 全部刷新
|
|
|
|
|
*
|
|
|
|
|
* @return 处理结果
|
|
|
|
|
*/
|
|
|
|
|
@PutMapping(value = "/reload-ids")
|
|
|
|
|
@ApiOperation(value = "按id重载计划", notes = "按id重载计划")
|
|
|
|
|
public ResultBean reloadTaskPlanById(@RequestBody Long[] ids) {
|
|
|
|
|
try {
|
|
|
|
|
List<SysTaskPlan> sysTaskPlanList = sysTaskPlanService.findSysTaskPlanByIds(ids);
|
|
|
|
|
SysTask sysTask;
|
|
|
|
|
SysTaskCycle sysTaskCycle;
|
|
|
|
|
for (SysTaskPlan sysTaskPlan : sysTaskPlanList) {
|
|
|
|
|
sysTask = sysTaskService.getSysTaskById(sysTaskPlan.getTaskId());
|
|
|
|
|
sysTaskCycle = sysTaskCycleService.getSysTaskCycleById(sysTaskPlan.getTaskCycleId());
|
|
|
|
|
|
|
|
|
|
// 修改对应微服务的定时任务
|
|
|
|
|
LOGGER.info("微服修改定时任务数据:taskPlan", sysTaskPlan.toString());
|
|
|
|
|
baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd())
|
|
|
|
|
BaseResultBean baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd())
|
|
|
|
|
.editTask(sysTask.getTaskPackage(), sysTask.getTaskClass(), sysTaskPlan.getName(),
|
|
|
|
|
sysTaskPlan.getGroupName(), sysTaskCycle.getTaskCycleExps(), sysTaskPlan.getTaskPlanParam());
|
|
|
|
|
|
|
|
|
|
// 判断是否失败如果失败进行补偿新增,避免出现勿删的情况
|
|
|
|
|
if (!baseResultBean.isSuccess()) {
|
|
|
|
|
resultBean = ResultBean.fail(baseResultBean.getErrorMsg());
|
|
|
|
|
LOGGER.error("重载任务计划name:{} group:{} 失败: {}",sysTaskPlan.getName()
|
|
|
|
|
,sysTaskPlan.getGroupName(),baseResultBean.getErrorMsg());
|
|
|
|
|
|
|
|
|
|
getJobService(sysTaskPlan.getTaskSoftTypeRdd())
|
|
|
|
|
.addTask(sysTask.getTaskPackage(), sysTask.getTaskClass(), sysTaskPlan.getName()
|
|
|
|
|
, sysTaskPlan.getGroupName(), sysTaskCycle.getTaskCycleExps(), sysTaskPlan.getTaskPlanParam());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return resultBean;
|
|
|
|
|
return ResultBean.success("操作成功");
|
|
|
|
|
} catch (ImppBusiException busExcep) {
|
|
|
|
|
return ResultBean.fail(busExcep);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
@ -503,67 +547,57 @@ public class SysTaskPlanController extends CoreBaseController {
|
|
|
|
|
|
|
|
|
|
@GetMapping(value = "/export")
|
|
|
|
|
@ApiOperation(value = "导出数据")
|
|
|
|
|
public ResultBean<SysTask> exportExcel(SysTask bean, boolean needSendMessage) {
|
|
|
|
|
ListPager<SysTask> listPager;
|
|
|
|
|
List<SysFile> result = new ArrayList<>();
|
|
|
|
|
File zipFile = null;
|
|
|
|
|
File excelDir = null;
|
|
|
|
|
File excelFile;
|
|
|
|
|
ExcelTool excelTool;
|
|
|
|
|
public void exportExcel(SysTaskPlan sysTaskPlan,HttpServletResponse response) {
|
|
|
|
|
File excelFile = null;
|
|
|
|
|
try {
|
|
|
|
|
Pager pager = new Pager(0);
|
|
|
|
|
// 判断是否超过excel最大导出数量设定值
|
|
|
|
|
pager.setPageSize(RedisCacheTool.getSysConfigIntVal(PlatformConstWords.EXCEL_EXPORT_MAX_ROW, 20000));
|
|
|
|
|
|
|
|
|
|
// 数据校验
|
|
|
|
|
Map<String, String> colMap = ExcelTool.getColName(SysTaskCycle.class);
|
|
|
|
|
Map<String, String> colMap = ExcelTool.getColName(SysTaskPlan.class);
|
|
|
|
|
String[] colName = new String[colMap.size()];
|
|
|
|
|
int i = 0;
|
|
|
|
|
int j = 0;
|
|
|
|
|
for (String key : colMap.keySet()) {
|
|
|
|
|
colName[i++] = key;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// excelTool = new ExcelTool(entityManager, RedisCacheTool.getImppRedis());
|
|
|
|
|
// excelDir = new File(System.getProperty("java.io.tmpdir") + File.separator + new Date().getTime());
|
|
|
|
|
// excelDir.mkdir();
|
|
|
|
|
// do {
|
|
|
|
|
// listPager = sysTaskService.querySysTaskByPager(bean, pager);
|
|
|
|
|
// pager = listPager.getObjectPager();
|
|
|
|
|
//
|
|
|
|
|
// // 将excel导出至临时文件夹
|
|
|
|
|
// excelFile = new File(MessageFormat.format("{0}{1}{2}{3}.xls", excelDir, File.separator,
|
|
|
|
|
// SysTaskCycle.class.getSimpleName(),
|
|
|
|
|
// pager.getCurrentPage()));
|
|
|
|
|
// excelFile.createNewFile();
|
|
|
|
|
// excelTool.exportData(excelFile, listPager.getObjectList(), SysTaskCycle.class, colName);
|
|
|
|
|
//
|
|
|
|
|
// pager.setCurrentPage(pager.getCurrentPage() + 1);
|
|
|
|
|
// } while (pager.getCurrentPage() <= pager.getTotalPages());
|
|
|
|
|
//
|
|
|
|
|
// // 将所有excel文件打包上传
|
|
|
|
|
// zipFile = ZipTool.zipFile(null, excelDir);
|
|
|
|
|
// SysFile sysFile = fileService.upload(new FileInputStream(zipFile), zipFile.getName(),
|
|
|
|
|
// StringTool.getStringFileSuffix(zipFile.getName(), true), CommonEnumUtil.SOFT_TYPE.CORE.getValue());
|
|
|
|
|
//
|
|
|
|
|
// result.add(sysFileService.insertSysFile(sysFile));
|
|
|
|
|
//
|
|
|
|
|
// // 是否发送站内信
|
|
|
|
|
// if (needSendMessage) {
|
|
|
|
|
// sysMessageService.insertSysMessage(ExcelTool.sendStationLetter(result, getSessionUser().getUser().getId()));
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
return ResultBean.success("导出成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(result);
|
|
|
|
|
} catch (ImppBusiException busExcep) {
|
|
|
|
|
return ResultBean.fail(busExcep);
|
|
|
|
|
colName[j++] = key;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ExcelTool excelTool = new ExcelTool(entityManager, RedisCacheTool.getImppRedis());
|
|
|
|
|
// 将excel导出至临时文件夹
|
|
|
|
|
excelFile = new File(System.getProperty("java.io.tmpdir") + File.separator + AuthUtil.getSessionUser().getUserName() +
|
|
|
|
|
"SysTaskPlan.xls");
|
|
|
|
|
excelFile.createNewFile();
|
|
|
|
|
excelTool.exportData(excelFile, sysTaskPlanService.findSysTaskPlanByCondition(sysTaskPlan), SysTaskPlan.class, colName);
|
|
|
|
|
|
|
|
|
|
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
|
|
|
|
|
response.setCharacterEncoding("UTF-8");
|
|
|
|
|
response.setHeader("Content-Disposition",
|
|
|
|
|
"attachment;fileName=" + URLEncoder.encode(excelFile.getName(), "UTF-8"));
|
|
|
|
|
response.flushBuffer();
|
|
|
|
|
|
|
|
|
|
BufferedInputStream bis = null;
|
|
|
|
|
try {
|
|
|
|
|
bis = new BufferedInputStream(new FileInputStream(excelFile));
|
|
|
|
|
OutputStream os = response.getOutputStream();
|
|
|
|
|
byte[] buffer = new byte[1024];
|
|
|
|
|
int i = bis.read(buffer);
|
|
|
|
|
while (i != -1) {
|
|
|
|
|
os.write(buffer, 0, i);
|
|
|
|
|
i = bis.read(buffer);
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
} finally {
|
|
|
|
|
// 清理临时文件文件
|
|
|
|
|
if (zipFile != null) {
|
|
|
|
|
FileTool.deleteFile(zipFile.getPath());
|
|
|
|
|
if (bis != null) {
|
|
|
|
|
try {
|
|
|
|
|
bis.close();
|
|
|
|
|
excelFile.delete();
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
if (excelDir != null) {
|
|
|
|
|
FileTool.deleteFile(excelDir.getPath());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
LOGGER.error("下载异常",e);
|
|
|
|
|
throw ImppExceptionBuilder.newInstance().setErrorDetail(e.getMessage()).build();
|
|
|
|
|
} finally {
|
|
|
|
|
if (excelFile != null) {
|
|
|
|
|
FileTool.deleteFile(excelFile.getPath());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -573,23 +607,30 @@ public class SysTaskPlanController extends CoreBaseController {
|
|
|
|
|
public ResultBean importExcel(@RequestParam("file") MultipartFile file) {
|
|
|
|
|
try {
|
|
|
|
|
ExcelTool excelTool = new ExcelTool(entityManager, RedisCacheTool.getImppRedis());
|
|
|
|
|
List<SysTask> beanList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(), SysTask.class);
|
|
|
|
|
List<SysTaskPlan> beanList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(), SysTaskPlan.class);
|
|
|
|
|
|
|
|
|
|
Set<String> keySet = new HashSet<>();
|
|
|
|
|
String key;
|
|
|
|
|
// 校验导入数据并初始化
|
|
|
|
|
for (SysTask sysTask : beanList) {
|
|
|
|
|
if (!sysTaskService.checkSysTaskOnly(sysTask)) {
|
|
|
|
|
for (SysTaskPlan sysTaskPlan : beanList) {
|
|
|
|
|
key = sysTaskPlan.getName() + sysTaskPlan.getGroupName();
|
|
|
|
|
if (keySet.contains(key) || !sysTaskPlanService.checkSysTaskPlanOnly(sysTaskPlan)) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("任务名称【%s】必须唯一", sysTask.getName())
|
|
|
|
|
.setErrorDetail("任务名称【%s】必须唯一", sysTaskPlan.getName())
|
|
|
|
|
.setErrorSolution("请重新输入")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
keySet.add(key);
|
|
|
|
|
|
|
|
|
|
ConvertBean.modelInitialize(sysTask, AuthUtil.getSessionUser());
|
|
|
|
|
}
|
|
|
|
|
ConvertBean.modelInitialize(sysTaskPlan, AuthUtil.getSessionUser());
|
|
|
|
|
|
|
|
|
|
sysTaskService.insertBatchSysTask(beanList);
|
|
|
|
|
ResultBean resultBean = insertSysTaskTime(sysTaskPlan,CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
|
|
|
|
|
if (!resultBean.isSuccess()) {
|
|
|
|
|
return resultBean;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return ResultBean.success("导入成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
|
|
|
|
|
} catch (ImppBusiException busExcep) {
|
|
|
|
@ -601,28 +642,22 @@ public class SysTaskPlanController extends CoreBaseController {
|
|
|
|
|
|
|
|
|
|
@GetMapping(value = "/down-template")
|
|
|
|
|
@ApiOperation(value = "下载导入模板")
|
|
|
|
|
public ResultBean downExcelTemplate() {
|
|
|
|
|
public void downExcelTemplate(HttpServletResponse response) {
|
|
|
|
|
try {
|
|
|
|
|
// ExcelTool excelTool = new ExcelTool(entityManager, RedisCacheTool.getImppRedis());
|
|
|
|
|
// String importTemplateCode = "SysTaskCycleImportTemplate";
|
|
|
|
|
//
|
|
|
|
|
// // 查询服务器中是否存在模板文件
|
|
|
|
|
// ImppFile fastDFSFile = new ImppFile("SysTaskCycleImportTemplate.xls",
|
|
|
|
|
// excelTool.importTemplate(SysTaskCycle.class), ".xls");
|
|
|
|
|
//
|
|
|
|
|
// SysFile sysFile = sysFileService.getSysFileByFileCode(importTemplateCode);
|
|
|
|
|
// if (sysFile == null) {
|
|
|
|
|
// sysFile = fileService.upload(fastDFSFile, CommonEnumUtil.SOFT_TYPE.CORE.getValue());
|
|
|
|
|
// sysFile.setFileCode(importTemplateCode);
|
|
|
|
|
// sysFile = sysFileService.insertSysFile(sysFile);
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysFile);
|
|
|
|
|
return null;
|
|
|
|
|
} catch (ImppBusiException busExcep) {
|
|
|
|
|
return ResultBean.fail(busExcep);
|
|
|
|
|
ExcelTool excelTool = new ExcelTool(entityManager, RedisCacheTool.getImppRedis());
|
|
|
|
|
String importTemplateCode = "SysTaskPlanImportTemplate";
|
|
|
|
|
|
|
|
|
|
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
|
|
|
|
|
response.setCharacterEncoding("UTF-8");
|
|
|
|
|
response.setHeader("Content-Disposition",
|
|
|
|
|
"attachment;fileName=" + URLEncoder.encode(importTemplateCode + ".xls", "UTF-8"));
|
|
|
|
|
response.flushBuffer();
|
|
|
|
|
|
|
|
|
|
response.getOutputStream().write(excelTool.importTemplate(SysTaskPlan.class));
|
|
|
|
|
response.getOutputStream().flush();
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
|
|
|
|
LOGGER.error("下载异常",e);
|
|
|
|
|
throw ImppExceptionBuilder.newInstance().setErrorDetail(e.getMessage()).build();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|