|
|
@@ -6,6 +6,7 @@ import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.xunmei.common.core.utils.DateHelper;
|
|
|
import com.xunmei.core.resumption.dto.DistributeDto;
|
|
|
import com.xunmei.core.safetyCheck.domain.CoreSafecheckPlan;
|
|
|
@@ -52,35 +53,25 @@ public class CoreSafecheckPlanController extends BaseController {
|
|
|
coreSafecheckPlanService.cheHui(id);
|
|
|
return AjaxResult.success();
|
|
|
}
|
|
|
+
|
|
|
@ApiOperation(value = "撤回后下发")
|
|
|
@GetMapping(value = "/distributeCheHui/{id}")
|
|
|
// @RequiresPermissions("core:plan:findById")
|
|
|
- public AjaxResult distributeCheHui(@PathVariable Long id) {
|
|
|
+ public AjaxResult distributeCheHui(@PathVariable Long id) throws Exception {
|
|
|
int i = coreSafecheckPlanService.distributeCheHui(id);
|
|
|
CoreSafecheckPlan plan = coreSafecheckPlanService.getById(id);
|
|
|
//撤回后的下发如果是无周期或者勾选立即执行也需要生成任务
|
|
|
- if(plan.isBuildTaskNow()||plan.getPlanCycle()==6){
|
|
|
- int cycle = Math.toIntExact(plan.getPlanCycle());
|
|
|
- DateTime datetime = new DateTime();
|
|
|
- datetime.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
|
|
|
- DateHelper dateHelper = new DateHelper(datetime);
|
|
|
- Map<String, Date> map=null;
|
|
|
- //如果无周期
|
|
|
- if(cycle==6){
|
|
|
- map = DateHelper.getStartAndEnd(dateHelper, null);
|
|
|
- map.put("start", plan.getStartDate());
|
|
|
- map.put("end", plan.getEndDate());
|
|
|
- }else{
|
|
|
- map = DateHelper.getStartAndEnd(dateHelper, cycle);
|
|
|
- }
|
|
|
- try {
|
|
|
- jobBusiness.createTask(datetime, cycle, map.get("start"), map.get("end"));
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
+ if (plan.isBuildTaskNow() || plan.getPlanCycle() == 6) {
|
|
|
+//获取父计划下面所有父id相等并且未删除并且已启用的计划
|
|
|
+ List<CoreSafecheckPlan> plans = coreSafecheckPlanService.list(new LambdaQueryWrapper<CoreSafecheckPlan>().eq(CoreSafecheckPlan::getParentId, plan.getId()).eq(CoreSafecheckPlan::getIsDeleted, 0).eq(CoreSafecheckPlan::getPlanStatus, 1));
|
|
|
+ if(plan.getPlanOfOrgType()==3) {
|
|
|
+ plans.add(plan);
|
|
|
}
|
|
|
+ jobBusiness.createTaskByPlans(plans);
|
|
|
}
|
|
|
return AjaxResult.success(i);
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 查询常规安全检查计划列表
|
|
|
*/
|
|
|
@@ -114,15 +105,35 @@ public class CoreSafecheckPlanController extends BaseController {
|
|
|
*/
|
|
|
@ApiOperation(value = "新增CoreSafecheckPlan")
|
|
|
@RequiresPermissions("core:checkplan:add")
|
|
|
+
|
|
|
@Log(title = "常规安全检查计划", businessType = BusinessType.INSERT)
|
|
|
@PostMapping
|
|
|
- public AjaxResult add(@RequestBody CoreSafecheckPlan coreSafecheckPlan) {
|
|
|
- coreSafecheckPlanService.insertCoreSafecheckPlan(coreSafecheckPlan);
|
|
|
+ public AjaxResult add(@RequestBody CoreSafecheckPlan coreSafecheckPlan) throws Exception {
|
|
|
+ Long returnId = coreSafecheckPlanService.insertCoreSafecheckPlan(coreSafecheckPlan);
|
|
|
+ //判断是否是编辑并且计划所属任务不存在已完成或者逾期,需要删除所有任务重新生成
|
|
|
+ boolean isEditAll = coreSafecheckPlan.getHasEdit() == null && coreSafecheckPlan.getId() != null;
|
|
|
+ //如果是新增计划并且勾选立即执行并且是行社或者无周期,立即生成计划
|
|
|
+ if (coreSafecheckPlan.getId() == null && coreSafecheckPlan.isBuildTaskNow() && (coreSafecheckPlan.getPlanOfOrgType() == 3 || coreSafecheckPlan.getPlanCycle() == 6)) {
|
|
|
+ CoreSafecheckPlan plan = coreSafecheckPlanService.getById(returnId);
|
|
|
+ //获取父计划下面所有父id相等并且未删除并且已启用的计划
|
|
|
+ List<CoreSafecheckPlan> plans = coreSafecheckPlanService.list(new LambdaQueryWrapper<CoreSafecheckPlan>().eq(CoreSafecheckPlan::getParentId, plan.getId()).eq(CoreSafecheckPlan::getIsDeleted, 0).eq(CoreSafecheckPlan::getDistribute, 1));
|
|
|
+ plans.add(plan);
|
|
|
+ jobBusiness.createTaskByPlans(plans);
|
|
|
+ }
|
|
|
+ if (isEditAll) {
|
|
|
+ CoreSafecheckPlan plan = coreSafecheckPlanService.getById(returnId);
|
|
|
+//获取父计划下面所有父id相等并且未删除并且已启用的计划
|
|
|
+ List<CoreSafecheckPlan> plans = coreSafecheckPlanService.list(new LambdaQueryWrapper<CoreSafecheckPlan>().eq(CoreSafecheckPlan::getParentId, plan.getId()).eq(CoreSafecheckPlan::getIsDeleted, 0).eq(CoreSafecheckPlan::getPlanStatus, 1));
|
|
|
+ if(plan.getPlanOfOrgType()==3) {
|
|
|
+ plans.add(plan);
|
|
|
+ }
|
|
|
+ jobBusiness.createTaskByPlans(plans);
|
|
|
+ }
|
|
|
return success();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 修改常规安全检查计划
|
|
|
+ * 修改常规安全检查计划(废弃)
|
|
|
*/
|
|
|
@ApiOperation(value = "修改CoreSafecheckPlan")
|
|
|
@RequiresPermissions("core:checkplan:edit")
|
|
|
@@ -140,21 +151,13 @@ public class CoreSafecheckPlanController extends BaseController {
|
|
|
//下发完成生成任务
|
|
|
CoreSafecheckPlan plan = coreSafecheckPlanService.getById(dto.getId());
|
|
|
//如果选择了立即生效或者无周期
|
|
|
- if(plan.isBuildTaskNow()||plan.getPlanCycle()==6){
|
|
|
- int cycle = Math.toIntExact(plan.getPlanCycle());
|
|
|
- DateTime datetime = new DateTime();
|
|
|
- datetime.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
|
|
|
- DateHelper dateHelper = new DateHelper(datetime);
|
|
|
- Map<String, Date> map=null;
|
|
|
- //如果无周期
|
|
|
- if(cycle==6){
|
|
|
- map = DateHelper.getStartAndEnd(dateHelper, null);
|
|
|
- map.put("start", plan.getStartDate());
|
|
|
- map.put("end", plan.getEndDate());
|
|
|
- }else{
|
|
|
- map = DateHelper.getStartAndEnd(dateHelper, cycle);
|
|
|
+ if (plan.isBuildTaskNow() || plan.getPlanCycle() == 6) {
|
|
|
+//获取父计划下面所有父id相等并且未删除并且已启用的计划
|
|
|
+ List<CoreSafecheckPlan> plans = coreSafecheckPlanService.list(new LambdaQueryWrapper<CoreSafecheckPlan>().eq(CoreSafecheckPlan::getParentId, plan.getId()).eq(CoreSafecheckPlan::getIsDeleted, 0).eq(CoreSafecheckPlan::getPlanStatus, 1));
|
|
|
+ if(plan.getPlanOfOrgType()==3) {
|
|
|
+ plans.add(plan);
|
|
|
}
|
|
|
- jobBusiness.createTask(datetime, cycle, map.get("start"), map.get("end"));
|
|
|
+ jobBusiness.createTaskByPlans(plans);
|
|
|
}
|
|
|
|
|
|
return AjaxResult.success();
|