Merge remote-tracking branch 'remotes/origin/dev' into test

yun-zuoyi
Silliter 6 years ago
commit d3dd40bb86

@ -121,4 +121,10 @@ public interface ISysDictionaryService {
*/
@ApiOperation(value = "根据父节点 以及当前节点名称 获取字典信息")
SysDictionary getSysDictionaryByParentCodeAndName(String parentCode,String name);
/**
*
*/
@ApiOperation(value = "根据模块查询顶级字典")
List<SysDictionary> findSysDictionaryByTopBySoftType(Integer softType);
}

@ -23,20 +23,10 @@ public interface ISysTaskPlanService {
/**
*
* @param sysTaskPlan
* @param sysTaskCycle
* @param sysTask
* @return
*/
@ApiOperation(value = "新增任务计划",notes = "新增任务计划")
SysTaskPlan insertSysTaskPlan(SysTaskPlan sysTaskPlan, SysTaskCycle sysTaskCycle, SysTask sysTask);
/**
*
* @param sysTaskPlan
* @param sysTaskCycle
*/
@ApiOperation(value = "修改任务计划",notes = "修改任务计划")
void updateSysTaskPlan(SysTaskPlan sysTaskPlan, SysTaskCycle sysTaskCycle);
SysTaskPlan insertSysTaskPlan(SysTaskPlan sysTaskPlan);
/**
*
@ -79,13 +69,6 @@ public interface ISysTaskPlanService {
ListPager querySysTaskPlanByPager(SysTaskPlan sysTaskPlan, Pager pager);
/**
*
* @param sysTaskPlan
*/
@ApiOperation(value = "立即执行任务计划",notes = "立即执行任务计划")
void executeSysTaskPlan(SysTaskPlan sysTaskPlan);
/**
*
* @param name
* @param groupName
@ -107,12 +90,4 @@ public interface ISysTaskPlanService {
*/
@ApiOperation(value = "修改任务计划信息",notes = "修改任务计划信息不会更新quartz数据库")
void updateSysTaskPlan(SysTaskPlan sysTaskPlan);
/**
*
* @param ids
*/
@ApiOperation(value = "批量删除任务计划信息",notes = "批量删除任务计划信息")
void deleteSysTaskPlanByIds(Long[] ids);
}

@ -81,7 +81,6 @@ public class DemoAuthController extends CoreBaseController {
try {
SessionUser sUser = AuthUtil.getSessionUser();
LOGGER.info("用户:{}",sUser);
Map<String, String> map = new HashMap<String, String>();
Enumeration headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String key = (String) headerNames.nextElement();

@ -120,7 +120,7 @@ public class DemoCloudController {
@ApiOperation(value="测试arr",notes = "测试arr")
public ResultBean testFeignArr(@RequestBody String[] arr) {
LOGGER.info("【impp-core-arr接受数据】{}" ,arr);
return ResultBean.success("返回" + arr).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
return ResultBean.success("返回成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(arr);
}
@PostMapping(value="/test-more-object")
@ -138,7 +138,6 @@ public class DemoCloudController {
public ResultBean testPostFeignRequestBody(@RequestParam("test") String test,@RequestBody BaseModelBean<SysRole> roleBean) {
LOGGER.info("PostMapping【param】{}" ,test);
Map<String, String> map = new HashMap<String, String>();
Enumeration headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String key = (String) headerNames.nextElement();
@ -153,7 +152,6 @@ public class DemoCloudController {
@GetMapping(value="/test-get-request-body")
@ApiOperation(value="测试request-body")
public ResultBean testGetFeignRequestBody(@RequestBody BaseModelBean<SysRole> roleBean) {
Map<String, String> map = new HashMap<String, String>();
Enumeration headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String key = (String) headerNames.nextElement();

@ -261,9 +261,9 @@ public class DemoResourceController extends CoreBaseController {
// System.out.println("1====" + u1.hashCode());
// System.out.println("2====" + u2.hashCode());
SysUser user = userService.getSysUserById(key);
// SysUser user = userService.getSysUserById(key);
// System.out.println("1==="+user);
SysUserInfo userInfo = userInfoServicer.getSysUserInfoById(key);
// SysUserInfo userInfo = userInfoServicer.getSysUserInfoById(key);
// System.out.println("2==="+userInfo);
return ResultBean.success("操作成功");

@ -0,0 +1,21 @@
package cn.estsh.i3plus.core.apiservice.controller.base;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.BaseConstWords;
import cn.estsh.impp.framework.base.controller.BaseCommonController;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2019-03-20 20:07
* @Modify:
**/
@RestController
@Api(description = "通用功能服务")
@RequestMapping(PlatformConstWords.BASE_URL +"/common")
public class CoreCommonController extends BaseCommonController {
}

@ -53,9 +53,8 @@ public class SysDictionaryController extends CoreBaseController{
try {
// 条件验证
ValidatorBean.beginValid(sysDictionary)
.notNull("id",sysDictionary.getId())
.notNull("name",sysDictionary.getName())
.notNull("softType",sysDictionary.getSoftType())
.notNull("dictionarySoftType",sysDictionary.getDictionarySoftType())
.notNull("dictionaryCode",sysDictionary.getDictionaryCode())
.notNull("dictionaryValue",sysDictionary.getDictionaryValue());
@ -81,7 +80,7 @@ public class SysDictionaryController extends CoreBaseController{
// 条件验证
ValidatorBean.beginValid(sysDictionary)
.notNull("name",sysDictionary.getName())
.notNull("softType",sysDictionary.getSoftType())
.notNull("dictionarySoftType",sysDictionary.getDictionarySoftType())
.notNull("dictionaryCode",sysDictionary.getDictionaryCode())
.notNull("dictionaryValue",sysDictionary.getDictionaryValue());
@ -221,7 +220,7 @@ public class SysDictionaryController extends CoreBaseController{
}
}
@GetMapping("/find/top")
@GetMapping("/find-top")
@ApiOperation(value = "查询顶级字典项",notes = "查询顶级字典项")
public ResultBean findSysDictionaryByTop() {
try {
@ -275,19 +274,20 @@ public class SysDictionaryController extends CoreBaseController{
public ResultBean findSysDictionaryTree(){
try {
// 根据软件类型分组
Map group = sysDictionaryService.findSysDictionaryByTop().stream().collect(Collectors.groupingBy(SysDictionary::getSoftType));
Map group = sysDictionaryService.findSysDictionaryByTop().stream().collect(Collectors.groupingBy(SysDictionary::getDictionarySoftType));
List<Map<String,Object>> dictTree = new ArrayList<>();
Map child;
for (CommonEnumUtil.SOFT_TYPE softType :CommonEnumUtil.SOFT_TYPE.values()) {
if(group.containsKey(softType.getValue())){
child = new HashMap();
child.put("id",softType.getCode());
child.put("name",softType.getValue());
child.put("id",softType.getValue());
child.put("name",softType.getCode());
child.put("childList",group.get(softType.getValue()));
dictTree.add(child);
}
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(dictTree);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
@ -295,4 +295,17 @@ public class SysDictionaryController extends CoreBaseController{
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping("/find-soft-type")
@ApiOperation(value = "根据模块查询顶级字典",notes = "根据模块查询顶级字典")
public ResultBean findSysDictionaryByTopBySoftType(Integer softType){
try {
List<SysDictionary> dictionaryList = sysDictionaryService.findSysDictionaryByTopBySoftType(softType);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(dictionaryList);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -1,17 +1,22 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskService;
import cn.estsh.i3plus.icloud.wms.sdk.IWmsCommonCloud;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
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.SysTask;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.base.service.CommonServiceImpl;
import cn.estsh.impp.framework.base.service.ICommonService;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.quartz.IQuartzJobService;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
@ -40,6 +45,24 @@ public class SysTaskController extends CoreBaseController {
@Autowired
private ISysTaskService sysTaskService;
@Autowired
private CommonServiceImpl coreCommonService;
@Autowired
private IWmsCommonCloud wmsCommonCloud;
private ICommonService getCommonService(int softType){
ICommonService commonService = coreCommonService;
if(softType == CommonEnumUtil.SOFT_TYPE.CORE.getValue()){
//平台定时任务
commonService = coreCommonService;
}else if(softType == CommonEnumUtil.SOFT_TYPE.WMS.getValue()){
commonService = wmsCommonCloud;
}
return commonService;
}
@PostMapping(value = "/insert")
@ApiOperation(value = "添加任务", notes = "添加任务")
public ResultBean insertSysTask(SysTask sysTask) {
@ -47,16 +70,23 @@ public class SysTaskController extends CoreBaseController {
// 数据校验
ValidatorBean.beginValid(sysTask)
.notNull("name", sysTask.getName())
.notNull("taskSoftType", sysTask.getTaskSoftType())
.notNull("taskPackage", sysTask.getTaskPackage())
.notNull("taskClass", sysTask.getTaskClass());
// 类校验
Class.forName(sysTask.getTaskPackage() + "." + sysTask.getTaskClass());
BaseResultBean resultBean = getCommonService(sysTask.getTaskSoftType()).isExistClass(sysTask.getTaskPackage(), sysTask.getTaskClass());
if(!resultBean.isSuccess()){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("任务类不存在")
.setErrorSolution("请重新输入")
.build();
}
sysTaskService.insertSysTask(sysTask);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysTask);
} catch (ClassNotFoundException e) {
return ResultBean.fail("任务类不存在:" + sysTask.getTaskPackage() + "." + sysTask.getTaskClass());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
@ -71,6 +101,7 @@ public class SysTaskController extends CoreBaseController {
// 数据校验
ValidatorBean.beginValid(sysTask)
.notNull("name", sysTask.getName())
.notNull("taskSoftType", sysTask.getTaskSoftType())
.notNull("taskPackage", sysTask.getTaskPackage())
.notNull("taskClass", sysTask.getTaskClass());

@ -2,6 +2,8 @@ package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskCycleService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskPlanService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskService;
import cn.estsh.i3plus.icloud.wms.sdk.IWmsScheduleJobCloud;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
@ -9,12 +11,15 @@ 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.SysRefTaskCyclePlan;
import cn.estsh.i3plus.pojo.platform.bean.SysTask;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskCycle;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskPlan;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.quartz.IQuartzJobService;
import cn.estsh.impp.framework.boot.quartz.ScheduleTool;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
@ -46,6 +51,33 @@ public class SysTaskCycleController extends CoreBaseController{
@Autowired
private ISysTaskPlanService sysTaskPlanService;
@Autowired
private ISysTaskService sysTaskService;
/************ 微服定时任务 *********/
@Autowired
private ScheduleTool scheduleTool;
@Autowired
private IWmsScheduleJobCloud wmsScheduleJobCloud;
/**
*
* @param source CommonEnumUtil.SOFT_TYPE
* @return
*/
private IQuartzJobService getJobService(int source){
IQuartzJobService quartzJobService = scheduleTool;
if(source == CommonEnumUtil.SOFT_TYPE.CORE.getValue()){
//平台定时任务
quartzJobService = scheduleTool;
}else if(source == CommonEnumUtil.SOFT_TYPE.WMS.getValue()){
quartzJobService = wmsScheduleJobCloud;
}
return quartzJobService;
}
@PostMapping(value = "/insert")
@ApiOperation(value = "新增任务周期", notes = "任务周期")
public ResultBean insertSysTaskCycle(SysTaskCycle sysTaskCycle) {
@ -53,8 +85,7 @@ public class SysTaskCycleController extends CoreBaseController{
// 数据校验
ValidatorBean.beginValid(sysTaskCycle)
.notNull("name", sysTaskCycle.getName())
.notNull("taskCycleExps", sysTaskCycle.getTaskCycleExps())
.notNull("taskCycleStartDatetime",sysTaskCycle.getTaskCycleStartDatetime());
.notNull("taskCycleExps", sysTaskCycle.getTaskCycleExps());
sysTaskCycleService.insertSysTaskCycle(sysTaskCycle);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
@ -80,16 +111,20 @@ public class SysTaskCycleController extends CoreBaseController{
// 查询关联任务计划信息,并进行修改
List<SysRefTaskCyclePlan> taskCyclePlans = sysTaskCycleService.findRefTaskCyclePlanByCycleId(sysTaskCycle.getId());
SysTaskPlan sysTaskPlan;
SysTask sysTask;
for (SysRefTaskCyclePlan item: taskCyclePlans) {
sysTaskPlan = sysTaskPlanService.getSysTaskPlanByNameAndGroup(item.getTaskPlanName(),item.getTaskPlanGroupName());
sysTask = sysTaskService.getSysTaskById(sysTaskPlan.getTaskId());
sysTaskPlan.setTaskCycleNameRdd(sysTaskCycle.getName());
sysTaskPlan.setTaskCycleExpsRdd(sysTaskCycle.getTaskCycleExps());
sysTaskPlan.setTaskCycleStartDateTimeRdd(sysTaskCycle.getTaskCycleStartDatetime());
sysTaskPlan.setTaskCycleEndDateTimeRdd(sysTaskCycle.getTaskCycleEndDatetime());
sysTaskPlanService.updateSysTaskPlan(sysTaskPlan,sysTaskCycle);
// 更新关联模块的定时任务
getJobService(sysTaskPlan.getTaskSoftTypeRdd()).editTask(sysTask.getTaskPackage(),sysTask.getTaskClass(),sysTaskPlan.getName()
,sysTaskPlan.getGroupName(),sysTaskCycle.getTaskCycleExps(),sysTaskPlan.getTaskPlanDescription());
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);

@ -3,8 +3,9 @@ package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskCycleService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskPlanService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskService;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.icloud.wms.sdk.IWmsScheduleJobCloud;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
@ -16,6 +17,9 @@ import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.quartz.IQuartzJobService;
import cn.estsh.impp.framework.boot.quartz.ScheduleTool;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
@ -50,6 +54,30 @@ public class SysTaskPlanController extends CoreBaseController{
@Autowired
private ISysTaskService sysTaskService;
/************ 微服定时任务 *********/
@Autowired
private ScheduleTool scheduleTool;
@Autowired
private IWmsScheduleJobCloud wmsScheduleJobCloud;
/**
*
* @param source CommonEnumUtil.SOFT_TYPE
* @return
*/
private IQuartzJobService getJobService(int source){
IQuartzJobService quartzJobService = scheduleTool;
if(source == CommonEnumUtil.SOFT_TYPE.CORE.getValue()){
//平台定时任务
quartzJobService = scheduleTool;
}else if(source == CommonEnumUtil.SOFT_TYPE.WMS.getValue()){
quartzJobService = wmsScheduleJobCloud;
}
return quartzJobService;
}
@PostMapping(value = "/insert")
@ApiOperation(value = "新增任务计划", notes = "任务计划")
public ResultBean insertSysTaskTime(SysTaskPlan sysTaskPlan, Boolean isExecute) {
@ -69,20 +97,50 @@ public class SysTaskPlanController extends CoreBaseController{
ValidatorBean.checkNotNull(sysTask,"任务不存在");
// 设置冗余信息
sysTaskPlan.setTaskPlanExecNum(0);
sysTaskPlan.setTaskNameRdd(sysTask.getName());
sysTaskPlan.setTaskSoftTypeRdd(sysTask.getTaskSoftType());
sysTaskPlan.setTaskCycleNameRdd(sysTaskCycle.getName());
sysTaskPlan.setTaskCycleExpsRdd(sysTaskCycle.getTaskCycleExps());
sysTaskPlan.setTaskCycleStartDateTimeRdd(sysTaskCycle.getTaskCycleStartDatetime());
sysTaskPlan.setTaskCycleEndDateTimeRdd(sysTaskCycle.getTaskCycleEndDatetime());
sysTaskPlan.setTaskPlanExecNum(0);
sysTaskPlan.setTaskPlanStatus(CommonEnumUtil.DATA_STATUS.ENABLE.getValue());
sysTaskPlan = sysTaskPlanService.insertSysTaskPlan(sysTaskPlan,sysTaskCycle,sysTask);
// 唯一检查
BaseResultBean baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd()).checkJobExists(sysTaskPlan.getName(),sysTaskPlan.getGroupName());
if(baseResultBean.isSuccess()){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode())
.setErrorDetail("定时任务已存在")
.build();
}
// 添加至对应模块调度器中
baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd()).addTask(sysTask.getTaskPackage(),
sysTask.getTaskClass(),sysTaskPlan.getName(),sysTaskPlan.getGroupName(),sysTaskCycle.getTaskCycleExps(),
sysTaskPlan.getTaskPlanDescription());
if (!baseResultBean.isSuccess()) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode())
.setErrorDetail("定时任务添加失败")
.build();
}
sysTaskPlan = sysTaskPlanService.insertSysTaskPlan(sysTaskPlan);
// 立即执行
if(isExecute != null && isExecute){
sysTaskPlanService.executeSysTaskPlan(sysTaskPlan);
baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd()).executeJob(sysTaskPlan.getName(),sysTaskPlan.getGroupName());
if (!baseResultBean.isSuccess()) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode())
.setErrorDetail("定时任务执行失败")
.build();
}
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysTaskPlan);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
@ -110,14 +168,20 @@ public class SysTaskPlanController extends CoreBaseController{
ValidatorBean.checkNotNull(sysTask,"任务不存在");
sysTaskPlan.setTaskNameRdd(sysTask.getName());
sysTaskPlan.setTaskSoftTypeRdd(sysTask.getTaskSoftType());
sysTaskPlan.setTaskCycleNameRdd(sysTaskCycle.getName());
sysTaskPlan.setTaskCycleExpsRdd(sysTaskCycle.getTaskCycleExps());
sysTaskPlan.setTaskCycleStartDateTimeRdd(sysTaskCycle.getTaskCycleStartDatetime());
sysTaskPlan.setTaskCycleEndDateTimeRdd(sysTaskCycle.getTaskCycleEndDatetime());
sysTaskPlanService.updateSysTaskPlan(sysTaskPlan,sysTaskCycle);
sysTaskPlanService.updateSysTaskPlan(sysTaskPlan);
// 修改对应模块中的定时任务
getJobService(sysTaskPlan.getTaskSoftTypeRdd()).editTask(sysTask.getTaskPackage(),sysTask.getTaskClass(),sysTaskPlan.getName()
,sysTaskPlan.getGroupName(),sysTaskCycle.getTaskCycleExps(),sysTaskPlan.getTaskPlanDescription());
if(isExecute != null && isExecute){
sysTaskPlanService.executeSysTaskPlan(sysTaskPlan);
getJobService(sysTaskPlan.getTaskSoftTypeRdd()).executeJob(sysTaskPlan.getName(),sysTaskPlan.getGroupName());
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysTaskPlan);
}catch(ImppBusiException busExcep){
@ -133,8 +197,12 @@ public class SysTaskPlanController extends CoreBaseController{
try {
// 数据校验
ValidatorBean.checkNotNull(id, "任务计划id 不能为空");
SysTaskPlan sysTaskPlan = sysTaskPlanService.getSysTaskPlanById(Long.parseLong(id));
ValidatorBean.checkNotNull(sysTaskPlan, "定时任务计划不存在");
sysTaskPlanService.deleteSysTaskPlanById(Long.parseLong(id));
getJobService(sysTaskPlan.getTaskSoftTypeRdd()).deleteTask(sysTaskPlan.getName(),sysTaskPlan.getGroupName());
return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
@ -163,12 +231,10 @@ public class SysTaskPlanController extends CoreBaseController{
// 数据校验
ValidatorBean.checkNotNull(id, "任务计划id 不能为空");
SysTaskPlan taskTime = sysTaskPlanService.getSysTaskPlanById(Long.parseLong(id));
if (taskTime != null) {
return ResultBean.success("操作成功").setResultObject(taskTime).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}else {
return ResultBean.fail("任务计划不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode());
}
SysTaskPlan sysTaskPlan = sysTaskPlanService.getSysTaskPlanById(Long.parseLong(id));
ValidatorBean.checkNotNull(sysTaskPlan, "定时任务计划不存在");
return ResultBean.success("操作成功").setResultObject(sysTaskPlan).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
@ -184,7 +250,17 @@ public class SysTaskPlanController extends CoreBaseController{
ValidatorBean.checkNotNull(idStr, "id 不能为空");
ValidatorBean.checkNotZero(status, "状态不能为空");
SysTaskPlan sysTaskPlan = sysTaskPlanService.getSysTaskPlanById(Long.parseLong(idStr));
ValidatorBean.checkNotNull(sysTaskPlan, "定时任务计划不存在");
sysTaskPlanService.updateSysTaskPlanStatus(Long.parseLong(idStr),status,AuthUtil.getSessionUser());
// 停止或启用对应模块中的定时任务
if(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == status.intValue()){
getJobService(sysTaskPlan.getTaskSoftTypeRdd()).pauseJob(sysTaskPlan.getName(),sysTaskPlan.getGroupName());
}else if(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == status.intValue()){
getJobService(sysTaskPlan.getTaskSoftTypeRdd()).resumeJob(sysTaskPlan.getName(),sysTaskPlan.getGroupName());
}
return new ResultBean(true);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
@ -214,24 +290,14 @@ public class SysTaskPlanController extends CoreBaseController{
ValidatorBean.checkNotNull(id, "任务计划id 不能为空");
SysTaskPlan sysTaskPlan = sysTaskPlanService.getSysTaskPlanById(Long.parseLong(id));
sysTaskPlanService.executeSysTaskPlan(sysTaskPlan);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@DeleteMapping("/batch-delete")
@ApiOperation(value = "根据id批量删除任务计划",notes = "根据id批量删除任务计划")
public ResultBean deleteSysTaskPlanByIds(String[] idsStr) {
try {
// 数据校验
ValidatorBean.checkNotNull(idsStr, "任务计划id 不能为空");
// 执行定时任务
BaseResultBean baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd()).executeJob(sysTaskPlan.getName(),sysTaskPlan.getGroupName());
if(baseResultBean.isSuccess()){
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}else{
return ResultBean.fail("操作失败").setErrorMsg(baseResultBean.errorMsg);
}
sysTaskPlanService.deleteSysTaskPlanByIds(StringTool.getArrayLong(idsStr));
return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){

@ -164,8 +164,7 @@ public class SysUserInfoController extends CoreBaseController{
ValidatorBean.checkIsNumber(id, "id 不能为空");
SysUserInfo userInfo = sysUserInfoService.getSysUserInfoById(Long.parseLong(id));
ValidatorBean.beginValid(userInfo)
.notNull("id",userInfo.getId());
ValidatorBean.beginValid(userInfo).notNull("id",userInfo.getId());
if(userInfo != null){
return ResultBean.success("操作成功").setResultObject(userInfo).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());

@ -34,7 +34,7 @@ public class TestDaoImpl implements ITestDao {
@Override
public void insertBatch(int num, int waitTime) {
long t1 = System.currentTimeMillis();
SysTool sysTool = new SysTool();
SysTool sysTool;
StringBuffer sb = new StringBuffer();
sb.append("insert into sys_tool (id,name,tool_type_name_rdd,tool_type_id,tool_ip,tool_port,tool_description) values ");
SnowflakeIdMaker snf = new SnowflakeIdMaker();

@ -32,7 +32,7 @@ public class ReportService implements IReportService {
public void checkReportHQL(String hql) {
LOGGER.info("报表 HQL 注入检查:{}",hql);
// HQL 非法入侵检查
hql = HqlPack.getSafeParam(hql);
HqlPack.getSafeParam(hql);
}
@Override

@ -10,7 +10,6 @@ import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource;
import cn.estsh.i3plus.pojo.platform.repository.SysConfigRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysDictionaryRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysLocaleLanguageRepository;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
@ -118,29 +117,29 @@ public class SystemInitService implements ISystemInitService {
//查询所有资源
List<SysLocaleResource> resourceList = systemResourceService.listSysLocaleResource(null);
LOGGER.info("【加载平台资源】共有{}个资源,{}种语言。",resourceList.size(),langList.size());
for(SysLocaleResource res : resourceList) {
LOGGER.info("【加载平台资源】共有{}个资源,{}种语言。", resourceList.size(), langList.size());
for (SysLocaleResource res : resourceList) {
//遍历资源放入map中
lanMap = resMap.get(res.getResourceKey());
//判断是否已存在资源信息
if(lanMap == null){
if (lanMap == null){
lanMap = new HashMap();
//将key/代码放入
resMap.put(res.getResourceKey(),lanMap);
resMap.put(res.getResourceKey(), lanMap);
}
//根据语言放入
lanMap.put(res.getLanguageCode(),res.getResourceValue());
lanMap.put(res.getLanguageCode(), res.getResourceValue());
// web 资源
if(!webLangMap.containsKey(res.getLanguageCode())){
webLangMap.put(res.getLanguageCode(),new HashMap<>());
webLangMap.put(res.getLanguageCode(), new HashMap<>());
}
// 放入资源信息
webResMap = webLangMap.get(res.getLanguageCode());
webResMap.put(res.getResourceKey(),res.getResourceValue());
webResMap.put(res.getResourceKey(), res.getResourceValue());
}
for(String key : resMap.keySet()){
for (String key : resMap.keySet()) {
//放入缓存
redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + key,resMap.get(key),0);
}

@ -2,13 +2,11 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysDictionaryService;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.bean.BaseConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysDictionary;
import cn.estsh.i3plus.pojo.platform.repository.SysDictionaryRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
@ -40,11 +38,11 @@ public class SysDictionaryService implements ISysDictionaryService {
@Override
@ApiOperation(value = "添加字典")
public void insertSysDictionary(SysDictionary sysDictionary) {
long repeatCodeCount = sysDictionaryRDao.findByPropertyCount(new String[]{"dictionaryCode", "softType"},
new Object[]{sysDictionary.getDictionaryCode(), sysDictionary.getSoftType()});
long repeatValueCount = sysDictionaryRDao.findByPropertyCount(new String[]{"parentId", "dictionaryValue", "softType"},
new Object[]{sysDictionary.getParentId(), sysDictionary.getDictionaryValue(), sysDictionary.getSoftType()});
if (repeatCodeCount > 0 || repeatValueCount > 0){
long repeatCodeCount = sysDictionaryRDao.findByPropertyCount(new String[]{"dictionaryCode", "dictionarySoftType"},
new Object[]{sysDictionary.getDictionaryCode(), sysDictionary.getDictionarySoftType()});
long repeatValueCount = sysDictionaryRDao.findByPropertyCount(new String[]{"parentId", "dictionaryValue", "dictionarySoftType"},
new Object[]{sysDictionary.getParentId(), sysDictionary.getDictionaryValue(), sysDictionary.getDictionarySoftType()});
if (repeatCodeCount > 0 || repeatValueCount > 0) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
@ -65,14 +63,14 @@ public class SysDictionaryService implements ISysDictionaryService {
sysDictionary.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
}
LOGGER.info("字典 SYS_DICTIONARY sysDictionary:{}",sysDictionary);
LOGGER.info("字典 SYS_DICTIONARY sysDictionary:{}", sysDictionary);
sysDictionaryRDao.insert(sysDictionary);
}
@Override
@ApiOperation(value = "根据id删除字典")
public void deleteSysDictionaryById(Long id) {
LOGGER.info("字典 SYS_DICTIONARY id:{}",id);
LOGGER.info("字典 SYS_DICTIONARY id:{}", id);
sysDictionaryRDao.deleteById(id);
}
@ -84,7 +82,7 @@ public class SysDictionaryService implements ISysDictionaryService {
long repeatCodeCount = sysDictionaryRDao.findByHqlWhereCount(hqlPack);
hqlPack = CoreHqlPack.packHqlSysDictionaryValue(sysDictionary);
long repeatValueCount = sysDictionaryRDao.findByHqlWhereCount(hqlPack);
if (repeatCodeCount > 0 || repeatValueCount > 0){
if (repeatCodeCount > 0 || repeatValueCount > 0) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
@ -96,6 +94,7 @@ public class SysDictionaryService implements ISysDictionaryService {
// 数据反填
SysDictionary newSysDict = sysDictionaryRDao.getById(sysDictionary.getId());
newSysDict.setName(sysDictionary.getName());
newSysDict.setDictionarySoftType(sysDictionary.getDictionarySoftType());
newSysDict.setDictionaryCode(sysDictionary.getDictionaryCode());
newSysDict.setParentId(sysDictionary.getParentId());
newSysDict.setDictionarySort(sysDictionary.getDictionarySort());
@ -113,7 +112,7 @@ public class SysDictionaryService implements ISysDictionaryService {
newSysDict.setParentCodeRdd(parentSysDictionary.getDictionaryCode());
}
LOGGER.info("字典 SYS_DICTIONARY sysDictionary:{}",newSysDict);
LOGGER.info("字典 SYS_DICTIONARY sysDictionary:{}", newSysDict);
sysDictionaryRDao.update(newSysDict);
}
@ -127,32 +126,32 @@ public class SysDictionaryService implements ISysDictionaryService {
@Override
@ApiOperation(value = "根据id查询字典信息")
public SysDictionary getSysDictionaryById(Long id) {
LOGGER.info("字典 SYS_DICTIONARY id:{}",id);
LOGGER.info("字典 SYS_DICTIONARY id:{}", id);
return sysDictionaryRDao.getById(id);
}
@Override
@ApiOperation(value = "根据父级代码查询字典项信息")
public List<SysDictionary> findSysDictionaryBySoftTypeAndParentCode(Integer softType,String parentCode) {
LOGGER.info("字典 SYS_DICTIONARY parentCode:{}",parentCode);
public List<SysDictionary> findSysDictionaryBySoftTypeAndParentCode(Integer softType, String parentCode) {
LOGGER.info("字典 SYS_DICTIONARY parentCode:{}", parentCode);
return sysDictionaryRDao.findByProperty(new String[]{"softType", "parentCodeRdd"}, new Object[]{softType, parentCode});
}
@Override
@ApiOperation(value = "字典复杂查询,分页,排序",notes = "默认查询非顶级字典")
@ApiOperation(value = "字典复杂查询,分页,排序", notes = "默认查询非顶级字典")
public ListPager querySysDictionaryByPager(SysDictionary sysDictionary, Pager pager) {
sysDictionary = sysDictionary == null ? new SysDictionary():sysDictionary;
sysDictionary = sysDictionary == null ? new SysDictionary() : sysDictionary;
String hqlPack = CoreHqlPack.packHqlSysDictionary(sysDictionary);
pager = PagerHelper.getPager(pager, sysDictionaryRDao.findByHqlWhereCount(hqlPack));
return new ListPager(sysDictionaryRDao.findByHqlWherePage(hqlPack + sysDictionary.orderBy(),pager),pager);
return new ListPager(sysDictionaryRDao.findByHqlWherePage(hqlPack + sysDictionary.orderBy(), pager), pager);
}
@Override
@ApiOperation(value = "查询顶级字典")
public List<SysDictionary> findSysDictionaryByTop() {
LOGGER.info("字典 SYS_DICTIONARY parentId:{}", CommonEnumUtil.PARENT.DEFAULT.getValue());
return sysDictionaryRDao.findByProperty("parentId",(long)CommonEnumUtil.PARENT.DEFAULT.getValue());
return sysDictionaryRDao.findByProperty("parentId", (long) CommonEnumUtil.PARENT.DEFAULT.getValue());
}
@Override
@ -167,7 +166,7 @@ public class SysDictionaryService implements ISysDictionaryService {
.build();
}
LOGGER.info("字典 SYS_DICTIONARY ids:{}", ids.toString());
LOGGER.info("字典 SYS_DICTIONARY ids:{}", ids);
sysDictionaryRDao.deleteByIds(ids);
}
@ -177,11 +176,11 @@ public class SysDictionaryService implements ISysDictionaryService {
List<SysDictionary> list = findSysDictionaryBySoftTypeAndParentCode(CommonEnumUtil.SOFT_TYPE.CORE.getValue(),
BaseConstWords.DICTIONARY_FILE_TYPE);
if(list != null && list.size()> 0){
String suffix = StringTool.getStringFileSuffix(fileName,true);
if (list != null && list.size() > 0) {
String suffix = StringTool.getStringFileSuffix(fileName, true);
for (SysDictionary dictionary : list) {
if(suffix.toUpperCase().equals(dictionary.getDictionaryValue().toUpperCase())){
if (suffix.toUpperCase().equals(dictionary.getDictionaryValue().toUpperCase())) {
return true;
}
}
@ -192,32 +191,39 @@ public class SysDictionaryService implements ISysDictionaryService {
@Override
@ApiOperation(value = "根据父节点 以及当前节点CODE 获取字典信息")
public SysDictionary getSysDictionaryByParentCodeAndCode(String parentCode, String code) {
return sysDictionaryRDao.getByProperty(new String[]{"parentCodeRdd","dictionaryCode"},
new Object[]{parentCode,code});
return sysDictionaryRDao.getByProperty(new String[]{"parentCodeRdd", "dictionaryCode"},
new Object[]{parentCode, code});
}
@Override
@ApiOperation(value = "设置默认字典项",notes = "根据id设置默认字典项")
@ApiOperation(value = "设置默认字典项", notes = "根据id设置默认字典项")
public void updateSysDictionaryDefaultById(Long id) {
SysDictionary sysDictionary = sysDictionaryRDao.getById(id);
sysDictionaryRDao.updateByProperties("parentId",sysDictionary.getParentId(),
"isDefault",CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
sysDictionaryRDao.updateByProperties("parentId", sysDictionary.getParentId(),
"isDefault", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
sysDictionaryRDao.updateByProperties("id",id,
"isDefault",CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
sysDictionaryRDao.updateByProperties("id", id,
"isDefault", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
}
@Override
@ApiOperation(value = "根据父节点 以及当前节点值 获取字典信息")
public SysDictionary getSysDictionaryByParentCodeAndValue(String parentCode, String value) {
return sysDictionaryRDao.getByProperty(new String[]{"parentCodeRdd","dictionaryValue"},
new Object[]{parentCode,value});
return sysDictionaryRDao.getByProperty(new String[]{"parentCodeRdd", "dictionaryValue"},
new Object[]{parentCode, value});
}
@Override
@ApiOperation(value = "根据父节点 以及当前节点名称 获取字典信息")
public SysDictionary getSysDictionaryByParentCodeAndName(String parentCode, String name) {
return sysDictionaryRDao.getByProperty(new String[]{"parentCodeRdd","name"},
new Object[]{parentCode,name});
return sysDictionaryRDao.getByProperty(new String[]{"parentCodeRdd", "name"},
new Object[]{parentCode, name});
}
@Override
@ApiOperation(value = "根据模块查询顶级字典")
public List<SysDictionary> findSysDictionaryByTopBySoftType(Integer softType) {
return sysDictionaryRDao.findByProperty(new String[]{"parentId", "dictionarySoftType"},
new Object[]{(long) CommonEnumUtil.PARENT.DEFAULT.getValue(), softType});
}
}

@ -96,7 +96,7 @@ public class SysFileServiceImpl implements ISysFileService {
@Override
public void deleteSysFileByIds(Long[] ids) {
LOGGER.info("文件资源 SYS_FILE ids:{}", ids.toString());
LOGGER.info("文件资源 SYS_FILE ids:{}", ids);
sysFileRDao.deleteByIds(ids);
}

@ -116,7 +116,7 @@ public class SysMessageService implements ISysMessageService {
@Override
@ApiOperation(value = "批量删除消息")
public void deleteSysMessageByIds(Long[] ids) {
LOGGER.info("消息 SYS_MESSAGE ids:{}", ids.toString());
LOGGER.info("消息 SYS_MESSAGE ids:{}", ids);
sysMessageRDao.deleteByIds(ids);
}

@ -5,7 +5,9 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.*;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysRefTaskCyclePlan;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskPlan;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import cn.estsh.i3plus.pojo.platform.platrepositorymongo.SysLogTaskTimeRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysRefTaskCyclePlanRepository;
@ -15,16 +17,12 @@ import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.ApiOperation;
import org.quartz.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
/**
@ -48,94 +46,35 @@ public class SysTaskPlanService implements ISysTaskPlanService {
@Autowired
private SysLogTaskTimeRepository sysLogTaskTimeRDao;
@Autowired
private Scheduler scheduler;
@Override
@ApiOperation(value = "新增任务计划", notes = "新增任务计划")
public SysTaskPlan insertSysTaskPlan(SysTaskPlan sysTaskPlan, SysTaskCycle sysTaskCycle, SysTask sysTask) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 唯一校验
JobKey jobKey = JobKey.jobKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName());
TriggerKey triggerKey = TriggerKey.triggerKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName());
if (sysTaskPlanRDao.isExitByProperty(new String[]{"name", "groupName"}, new String[]{sysTaskPlan.getName(), sysTaskPlan.getGroupName()})
|| scheduler.checkExists(jobKey) || scheduler.checkExists(triggerKey)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
.setErrorDetail("定时任务已存在")
.setErrorSolution("请重新输入任务名称和组名称")
.build();
}
sysTaskPlan = sysTaskPlanRDao.insert(sysTaskPlan);
SysRefTaskCyclePlan refTaskCyclePlan = new SysRefTaskCyclePlan();
refTaskCyclePlan.setTaskCycleId(sysTaskCycle.getId());
refTaskCyclePlan.setTaskPlanId(sysTaskPlan.getId());
refTaskCyclePlan.setTaskPlanName(sysTaskPlan.getName());
refTaskCyclePlan.setTaskPlanGroupName(sysTaskPlan.getGroupName());
// 添加表达式与触发器关系表
sysRefTaskCyclePlanRDao.insert(refTaskCyclePlan);
// 添加定时任务与触发器到quartz表中
CronScheduleBuilder schedBuilder = CronScheduleBuilder
.cronSchedule(sysTaskCycle.getTaskCycleExps())
.withMisfireHandlingInstructionDoNothing();
TriggerBuilder<CronTrigger> trigger = TriggerBuilder.newTrigger()
.withIdentity(triggerKey)
.withDescription(sysTaskCycle.getTaskCycleDescription())
.withSchedule(schedBuilder)
.startAt(sdf.parse(sysTaskCycle.getTaskCycleStartDatetime()));
if (sysTaskCycle.getTaskCycleEndDatetime() != null && sysTaskCycle.getTaskCycleEndDatetime().length() != 0) {
trigger = trigger.endAt(sdf.parse(sysTaskCycle.getTaskCycleEndDatetime()));
}
Class<? extends Job> clazz = (Class<? extends Job>) Class.forName(sysTask.getTaskPackage() + "." + sysTask.getTaskClass());
JobDetail jobDetail = JobBuilder.newJob(clazz).withIdentity(jobKey).withDescription(sysTaskPlan.getTaskPlanDescription()).build();
scheduler.scheduleJob(jobDetail, trigger.build());
} catch (SchedulerException e) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode())
.setErrorDetail(e.getMessage())
.build();
} catch (ParseException e) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode())
.setErrorDetail("表达式起止时间错误")
.setErrorSolution("请更改表达式起止时间")
.build();
} catch (ClassNotFoundException e) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode())
.setErrorDetail("定时任务包名及类名不正确")
.setErrorSolution("请重新输入定时任务包名及类名")
.build();
} catch (RuntimeException e) {
String message;
if (e.getMessage().indexOf("CronExpression") == 0) {
message = "时间周期表达式错误";
} else {
message = e.getMessage();
}
public SysTaskPlan insertSysTaskPlan(SysTaskPlan sysTaskPlan) {
// 唯一校验
if (sysTaskPlanRDao.isExitByProperty(new String[]{"name", "groupName"}, new String[]{sysTaskPlan.getName(), sysTaskPlan.getGroupName()})) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode())
.setErrorDetail(message)
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
.setErrorDetail("定时任务已存在")
.setErrorSolution("请重新输入任务名称和组名称")
.build();
}
sysTaskPlan = sysTaskPlanRDao.insert(sysTaskPlan);
SysRefTaskCyclePlan refTaskCyclePlan = new SysRefTaskCyclePlan();
refTaskCyclePlan.setTaskCycleId(sysTaskPlan.getTaskCycleId());
refTaskCyclePlan.setTaskPlanId(sysTaskPlan.getId());
refTaskCyclePlan.setTaskPlanName(sysTaskPlan.getName());
refTaskCyclePlan.setTaskPlanGroupName(sysTaskPlan.getGroupName());
// 添加表达式与触发器关系表
sysRefTaskCyclePlanRDao.insert(refTaskCyclePlan);
return sysTaskPlan;
}
@Override
@ApiOperation(value = "修改任务计划", notes = "修改任务计划")
public void updateSysTaskPlan(SysTaskPlan sysTaskPlan, SysTaskCycle sysTaskCycle) {
public void updateSysTaskPlan(SysTaskPlan sysTaskPlan) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SysTaskPlan oldSysTaskPlan = sysTaskPlanRDao.getById(sysTaskPlan.getId());
@ -150,54 +89,6 @@ public class SysTaskPlanService implements ISysTaskPlanService {
sysTaskPlan.setLastRunDateTime(oldSysTaskPlan.getLastRunDateTime());
sysTaskPlan.setTaskPlanStatus(oldSysTaskPlan.getTaskPlanStatus());
sysTaskPlanRDao.update(sysTaskPlan);
try {
TriggerKey triggerKey = TriggerKey.triggerKey(oldSysTaskPlan.getName(), oldSysTaskPlan.getGroupName());
if (!scheduler.checkExists(triggerKey)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("定时任务不存在")
.setErrorSolution("请重新选择")
.build();
}
// 添加定时任务与触发器到quartz表中
CronScheduleBuilder schedBuilder = CronScheduleBuilder
.cronSchedule(sysTaskCycle.getTaskCycleExps())
.withMisfireHandlingInstructionDoNothing();
TriggerBuilder<CronTrigger> trigger = TriggerBuilder.newTrigger()
.withIdentity(triggerKey)
.withDescription(sysTaskCycle.getTaskCycleDescription())
.withSchedule(schedBuilder)
.startAt(sdf.parse(sysTaskCycle.getTaskCycleStartDatetime()));
if (sysTaskCycle.getTaskCycleEndDatetime() != null && !"".equals(sysTaskCycle.getTaskCycleEndDatetime())) {
trigger = trigger.endAt(sdf.parse(sysTaskCycle.getTaskCycleEndDatetime()));
}
JobKey jobKey = new JobKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName());
JobDetail jobDetail = scheduler.getJobDetail(jobKey);
jobDetail.getJobBuilder().withDescription(sysTaskPlan.getTaskPlanDescription());
HashSet<Trigger> triggerSet = new HashSet<>();
triggerSet.add(trigger.build());
scheduler.scheduleJob(jobDetail, triggerSet, true);
} catch (SchedulerException e) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode())
.setErrorDetail(e.getMessage())
.build();
} catch (ParseException e) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode())
.setErrorDetail("表达式起止时间错误")
.setErrorSolution("请更改表达式起止时间")
.build();
}
}
@Override
@ -208,60 +99,19 @@ public class SysTaskPlanService implements ISysTaskPlanService {
sysTaskPlan.setTaskPlanStatus(status);
sysTaskPlan.setModifyUser(user.getUserName());
sysTaskPlanRDao.update(sysTaskPlan);
try {
TriggerKey triggerKey = TriggerKey.triggerKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName());
if (!scheduler.checkExists(triggerKey)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("定时任务不存在")
.setErrorSolution("请重新选择")
.build();
}
if (status == CommonEnumUtil.DATA_STATUS.ENABLE.getValue()) {
scheduler.resumeTrigger(triggerKey);
} else {
scheduler.pauseTrigger(triggerKey);
}
} catch (SchedulerException e) {
LOGGER.info("重新开始任务-->复杂调度" + e.getMessage());
e.printStackTrace();
}
}
@Override
@ApiOperation(value = "根据根据id删除数据")
public void deleteSysTaskPlanById(Long id) {
try {
SysTaskPlan sysTaskPlan = sysTaskPlanRDao.getById(id);
ValidatorBean.checkNotNull(sysTaskPlan, "定时任务不存在");
sysTaskPlanRDao.deleteById(id);
SysTaskPlan sysTaskPlan = sysTaskPlanRDao.getById(id);
ValidatorBean.checkNotNull(sysTaskPlan, "定时任务不存在");
// 删除关系表数据
sysRefTaskCyclePlanRDao.deleteByProperties(new String[]{"taskPlanName", "taskPlanGroupName"},
new Object[]{sysTaskPlan.getName(), sysTaskPlan.getGroupName()});
sysTaskPlanRDao.deleteById(id);
TriggerKey triggerKey = TriggerKey.triggerKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName());
if (scheduler.checkExists(triggerKey)) {
scheduler.pauseTrigger(triggerKey);
scheduler.unscheduleJob(triggerKey);
} else {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("定时任务不存在")
.setErrorSolution("请重新选择")
.build();
}
} catch (SchedulerException e) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode())
.build();
}
// 删除关系表数据
sysRefTaskCyclePlanRDao.deleteByProperties(new String[]{"taskPlanName", "taskPlanGroupName"},
new Object[]{sysTaskPlan.getName(), sysTaskPlan.getGroupName()});
}
@Override
@ -290,29 +140,6 @@ public class SysTaskPlanService implements ISysTaskPlanService {
}
@Override
@ApiOperation(value = "立即执行任务计划", notes = "立即执行任务计划")
public void executeSysTaskPlan(SysTaskPlan sysTaskPlan) {
JobKey jobKey = JobKey.jobKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName());
try {
if (scheduler.checkExists(jobKey)) {
scheduler.triggerJob(jobKey);
} else {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("任务计划不存在")
.setErrorSolution("请重新选择任务计划")
.build();
}
} catch (SchedulerException e) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode())
.build();
}
}
@Override
@ApiOperation(value = "查询任务计划", notes = "根据任务计划名称与组名称查询")
public SysTaskPlan getSysTaskPlanByNameAndGroup(String name, String groupName) {
List<SysTaskPlan> sysTaskPlanList = sysTaskPlanRDao.findByProperty(new String[]{"name", "groupName"}, new Object[]{name, groupName});
@ -327,60 +154,4 @@ public class SysTaskPlanService implements ISysTaskPlanService {
public void logInsertSysLogTaskTime(SysLogTaskTime sysLogTaskTime) {
sysLogTaskTimeRDao.insert(sysLogTaskTime);
}
@Override
@ApiOperation(value = "修改定时任务信息", notes = "修改定时任务信息不会更新quartz数据库")
public void updateSysTaskPlan(SysTaskPlan sysTaskPlan) {
sysTaskPlanRDao.update(sysTaskPlan);
}
@Override
@ApiOperation(value = "批量删除任务计划信息", notes = "批量删除任务计划信息")
public void deleteSysTaskPlanByIds(Long[] ids) {
try {
List<SysTaskPlan> sysTaskPlan = sysTaskPlanRDao.findByHqlWhere(CoreHqlPack.packHqlIds("id", ids));
List<TriggerKey> triggerKeyList = new ArrayList<>();
//数据校验
if (sysTaskPlan == null || sysTaskPlan.size() == 0) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("任务计划不存在")
.setErrorSolution("请重新选择任务计划")
.build();
} else {
for (int i = 0; i < sysTaskPlan.size(); i++) {
triggerKeyList.add(TriggerKey.triggerKey(sysTaskPlan.get(i).getName(), sysTaskPlan.get(i).getGroupName()));
}
}
sysTaskPlanRDao.deleteByIds(ids);
// 删除关系表数据
sysRefTaskCyclePlanRDao.deleteByPropertyIn("taskPlanId", ids);
// 检查定时人计划是否存在,并暂停
for (TriggerKey trigger : triggerKeyList) {
if (scheduler.checkExists(trigger)) {
scheduler.pauseTrigger(trigger);
} else {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("定时任务不存在")
.setErrorSolution("请重新选择")
.build();
}
}
// 取消调度任务
scheduler.unscheduleJobs(triggerKeyList);
} catch (SchedulerException e) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode())
.build();
}
}
}

@ -102,7 +102,7 @@ public class SysToolTypeService implements ISysToolTypeService {
@Override
@ApiOperation(value = "删除硬件类型",notes = "根据 ID 批量删除硬件类型信息")
public void deleteSysToolTypeByIds(Long[] ids) {
LOGGER.info("硬件类型 TOOL_TYPE ids:{}", ids.toString());
LOGGER.info("硬件类型 TOOL_TYPE ids:{}", ids);
List<SysTool> count = toolRDao.findByHqlWhere(CoreHqlPack.packHqlIds("toolTypeId",ids));
if(count.size() > 0){
throw ImppExceptionBuilder.newInstance()

@ -218,7 +218,7 @@ public class SysUserInfoService implements ISysUserInfoService {
LOGGER.info("用户信息 SysUserInfo userInfoId:{}",userInfoId);
SysUserInfo userInfo = sysUserInfoRDao.getById(userInfoId);
if(userInfo != null){
int count = sysUserRepository.findByPropertyCount(
sysUserRepository.findByPropertyCount(
new String[]{"userInfoId","isValid"},
new Object[]{userInfo.getId(),CommonEnumUtil.IS_VAILD.VAILD.getValue()});
// userInfo.setUserNum(count);

@ -34,7 +34,6 @@ public class TestMain {
int wId = new Random().nextInt(29) + 1;
System.out.println("random id -> "+wId);
SnowflakeIdMaker m = new SnowflakeIdMaker(wId,3);
m = new SnowflakeIdMaker(wId,3);
int i = 0;
long id;

@ -42,7 +42,7 @@ public class TestBase {
SecurityUtils.setSecurityManager(securityManager);
securityManager.start(sessionContext);
UserToken token = new UserToken("login_name", "login_pwd", "zh");
// UserToken token = new UserToken("login_name", "login_pwd", "zh");
// SessionUser sessionUser = AuthUtil.login(token);
// AuthUtil.setSessionUser(sessionUser);
System.out.println("----------------->> 开始测试 <<-----------------");

@ -1,96 +1,96 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.pojo.platform.bean.*;
import cn.estsh.i3plus.pojo.platform.repository.*;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2018-11-22 11:01
* @Modify:
**/
public class TestExcelOrderNoRule extends TestBase {
public static final Logger LOGGER = LoggerFactory.getLogger(TestExcelOrderNoRule.class);
// 文件路径
public static final String PATH_NAME = "init/oder-no-rule.xlsx";
// 权限Sheet 名称
public static final String SHEET_ORDER_NO_RULE = "order-no-rule";
@Autowired
private SysOrderNoRuleRepository sysOrderNoRuleRDao;
@Test
public void testInit() throws Exception {
XSSFWorkbook workbook = getWorkbook(PATH_NAME);
if(workbook != null){
XSSFSheet sheetOrderNoRule = workbook.getSheet(SHEET_ORDER_NO_RULE);
List<SysOrderNoRule> ysOrderNoRuleList = getSysOrderNoRule(sheetOrderNoRule);
LOGGER.info("System Init SysOrderNoRule Size:{}",ysOrderNoRuleList.size());
sysOrderNoRuleRDao.saveAll(ysOrderNoRuleList);
}
}
public List<SysOrderNoRule> getSysOrderNoRule(XSSFSheet sheet){
List<SysOrderNoRule> result = new ArrayList<>();
if(sheet != null){
if(sheet.getLastRowNum() >= 1){
SysOrderNoRule obj = null;
for (int i = 1; i <= sheet.getLastRowNum(); i++) {
try {
Row row = sheet.getRow(i);//获取索引为i的行以0开始
if(row.getCell(0).toString().trim().length() > 0){
obj = new SysOrderNoRule();
obj.setId(Long.parseLong(row.getCell(0).getStringCellValue()));
obj.setName(row.getCell(1).getStringCellValue());
obj.setOrderNoRuleCode(row.getCell(2).getStringCellValue());
obj.setOrderNoRule(row.getCell(3).getStringCellValue());
obj.setSerialNoSeed(Long.parseLong(row.getCell(4).getStringCellValue()));
obj.setSerialNoIncrement(Long.parseLong(row.getCell(5).getStringCellValue()));
obj.setSerialNoLength(Long.parseLong(row.getCell(6).getStringCellValue()));
obj.setIsCycle(Integer.parseInt(row.getCell(7).getStringCellValue()));
obj.setOrderNoRuleDescription(row.getCell(8).getStringCellValue());
obj.setOrderNoRuleStatus(1);
obj.setSerialNo(-1L);
obj.setIsValid(1);
result.add(obj);
}
}catch (Exception e){
LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i);
}
}
}
}
return result;
}
public XSSFWorkbook getWorkbook(String pathName){
try {
InputStream in = TestExcelPermission.class.getClassLoader().getResourceAsStream(pathName);
XSSFWorkbook workbook = new XSSFWorkbook(in);
return workbook;
}catch (Exception e){
LOGGER.error(" System Init Sys Data Excel Error file path {} error message :{}",pathName,e.getMessage());
e.getMessage();
return null;
}
}
}
//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
//
//import cn.estsh.i3plus.pojo.platform.bean.*;
//import cn.estsh.i3plus.pojo.platform.repository.*;
//import org.apache.poi.ss.usermodel.Row;
//import org.apache.poi.xssf.usermodel.XSSFSheet;
//import org.apache.poi.xssf.usermodel.XSSFWorkbook;
//import org.junit.Test;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//
//import java.io.InputStream;
//import java.util.ArrayList;
//import java.util.List;
//
///**
// * @Description :
// * @Reference :
// * @Author : yunhao
// * @CreateDate : 2018-11-22 11:01
// * @Modify:
// **/
//public class TestExcelOrderNoRule extends cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase {
//
// public static final Logger LOGGER = LoggerFactory.getLogger(TestExcelOrderNoRule.class);
//
// // 文件路径
// public static final String PATH_NAME = "init/oder-no-rule.xlsx";
// // 权限Sheet 名称
// public static final String SHEET_ORDER_NO_RULE = "order-no-rule";
//
// @Autowired
// private SysOrderNoRuleRepository sysOrderNoRuleRDao;
//
// @Test
// public void testInit() throws Exception {
// XSSFWorkbook workbook = getWorkbook(PATH_NAME);
// if(workbook != null){
// XSSFSheet sheetOrderNoRule = workbook.getSheet(SHEET_ORDER_NO_RULE);
//
// List<SysOrderNoRule> ysOrderNoRuleList = getSysOrderNoRule(sheetOrderNoRule);
//
// LOGGER.info("System Init SysOrderNoRule Size:{}",ysOrderNoRuleList.size());
//
// sysOrderNoRuleRDao.saveAll(ysOrderNoRuleList);
// }
// }
//
// public List<SysOrderNoRule> getSysOrderNoRule(XSSFSheet sheet){
// List<SysOrderNoRule> result = new ArrayList<>();
// if(sheet != null){
// if(sheet.getLastRowNum() >= 1){
// SysOrderNoRule obj = null;
// for (int i = 1; i <= sheet.getLastRowNum(); i++) {
// try {
// Row row = sheet.getRow(i);//获取索引为i的行以0开始
// if(row.getCell(0).toString().trim().length() > 0){
// obj = new SysOrderNoRule();
// obj.setId(Long.parseLong(row.getCell(0).getStringCellValue()));
// obj.setName(row.getCell(1).getStringCellValue());
// obj.setOrderNoRuleCode(row.getCell(2).getStringCellValue());
// obj.setOrderNoRule(row.getCell(3).getStringCellValue());
// obj.setSerialNoSeed(Long.parseLong(row.getCell(4).getStringCellValue()));
// obj.setSerialNoIncrement(Long.parseLong(row.getCell(5).getStringCellValue()));
// obj.setSerialNoLength(Long.parseLong(row.getCell(6).getStringCellValue()));
// obj.setIsCycle(Integer.parseInt(row.getCell(7).getStringCellValue()));
// obj.setOrderNoRuleDescription(row.getCell(8).getStringCellValue());
// obj.setOrderNoRuleStatus(1);
// obj.setSerialNo(-1L);
// obj.setIsValid(1);
//
// result.add(obj);
// }
// }catch (Exception e){
// LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i);
// }
// }
// }
// }
// return result;
// }
//
// public XSSFWorkbook getWorkbook(String pathName){
// try {
// InputStream in = cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestExcelPermission.class.getClassLoader().getResourceAsStream(pathName);
// XSSFWorkbook workbook = new XSSFWorkbook(in);
// return workbook;
// }catch (Exception e){
// LOGGER.error(" System Init Sys Data Excel Error file path {} error message :{}",pathName,e.getMessage());
// e.getMessage();
// return null;
// }
// }
//
//}

@ -30,7 +30,6 @@ public class TestMathOper extends cn.estsh.i3plus.core.apiservice.serviceimpl.bu
@Test
public void testMax(){
SysConfig sysConfig = new SysConfig();
// max
System.out.println(sysConfigRDao.findMaxByProperties(propertyName,groupByName,param,paramValue));
System.out.println(sysConfigRDao.findMaxByProperty(propertyName,groupByName,param[0],paramValue[0]));

Loading…
Cancel
Save