package com.gk.hotwork.Controller;
|
|
import cn.hutool.core.date.DateUtil;
|
import com.alibaba.fastjson.JSONObject;
|
import com.gk.hotwork.Controller.Base.BaseController;
|
import com.gk.hotwork.Domain.*;
|
import com.gk.hotwork.Domain.Enum.ErrorCode;
|
import com.gk.hotwork.Domain.Enum.Etype;
|
import com.gk.hotwork.Domain.Exception.BusinessException;
|
import com.gk.hotwork.Domain.Utils.BeanUtils;
|
import com.gk.hotwork.Domain.Utils.Msg;
|
import com.gk.hotwork.Domain.Utils.PageInfo;
|
import com.gk.hotwork.Domain.Utils.StringUtils;
|
import com.gk.hotwork.Domain.Utils.UploadUtil;
|
import com.gk.hotwork.Domain.Vo.TaskCheck;
|
import com.gk.hotwork.Domain.Vo.TaskEnclosureVo;
|
import com.gk.hotwork.Domain.Vo.TaskVo;
|
import com.gk.hotwork.Domain.Vo.TaskWorkerVo;
|
import com.gk.hotwork.Scheduls.warning.Warning;
|
import com.gk.hotwork.Service.*;
|
import com.spire.doc.interfaces.IField;
|
import io.swagger.annotations.Api;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.validation.BindingResult;
|
import org.springframework.validation.FieldError;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.*;
|
import java.util.stream.Collectors;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.util.MultiValueMap;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.support.StandardMultipartHttpServletRequest;
|
import sun.security.krb5.internal.crypto.EType;
|
|
/**
|
* @author : jingjy
|
* @date : 2021/8/19 16:50
|
*/
|
@Api(tags = "任务流程数据接口")
|
@RestController
|
@RequestMapping("/task")
|
public class TaskController extends BaseController {
|
@Autowired
|
private TaskService taskService;
|
@Autowired
|
private TaskAnalysisService taskAnalysisService;
|
@Autowired
|
private TaskSecurityService taskSecurityService;
|
@Autowired
|
private TaskWorkerService taskWorkerService;
|
@Autowired
|
private TaskLogService taskLogService;
|
@Autowired
|
private UserService userService;
|
@Autowired
|
private DepartmentService departmentService;
|
@Autowired
|
private InvolveDepService involveDepService;
|
@Autowired
|
private TaskInvolveDepService taskInvolveDepService;
|
@Autowired
|
private TaskEquipmentService taskEquipmentService;
|
@Autowired
|
private TaskEnclosureService taskEnclosureService;
|
@Autowired
|
private TaskRiskService taskRiskService;
|
@Autowired
|
private EquipmentService equipmentService;
|
@Autowired
|
private TaskEquipmentBindService taskEquipmentBindService;
|
@Autowired
|
private SubTaskService subTaskService;
|
@Autowired
|
CompanyService companyService;
|
@Autowired
|
private TaskReviewService taskReviewService;
|
@Autowired
|
private WarningService warningService;
|
|
@Value("${workCode}")
|
private String workCode;
|
@Value("${taskPath}")
|
private String taskPath;
|
@Value("${taskUrl}")
|
private String taskUrl;
|
@Value("${task}")
|
private String task;
|
|
@ApiOperation(value = "获取任务信息",notes = "获取任务信息")
|
@GetMapping("/info")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "pageIndex",value = "当前分页"),
|
@ApiImplicitParam(name = "pageSize",value = "分页每页数量"),
|
@ApiImplicitParam(name = "sort",value = "排序列名"),
|
@ApiImplicitParam(name = "order",value = "排序方式(正序反序)"),
|
@ApiImplicitParam(name = "starttime",value = "开始时间"),
|
@ApiImplicitParam(name = "endtime",value = "结束时间"),
|
@ApiImplicitParam(name = "company",value = "单位"),
|
})
|
public Msg getTaskInfos(@RequestParam(value = "code", required = false) String code,
|
@RequestParam(value = "level", required = false) String level,
|
@RequestParam(value = "status", required = false) Byte status,
|
String company, String starttime,String endtime, Byte flag,
|
String type,
|
@RequestParam(defaultValue = "0") Integer pageIndex,
|
@RequestParam(defaultValue = "10") Integer pageSize,
|
String sort, String order){
|
|
PageInfo pageInfo = new PageInfo(pageIndex, pageSize,sort,order);
|
|
Map<String, Object> condition = new HashMap<>(4);
|
if (StringUtils.isNotBlank(code)) {
|
condition.put("code", code);
|
}
|
if (StringUtils.isNotBlank(level)) {
|
condition.put("level", level);
|
}
|
if (null != status){
|
condition.put("status", status);
|
}
|
if (null != flag){
|
condition.put("flag", flag);
|
}
|
if (StringUtils.isNotBlank(company)) {
|
condition.put("company", company);
|
}
|
if (StringUtils.isNotBlank(type)) {
|
condition.put("type", type);
|
}
|
if (StringUtils.isNotBlank(starttime)) {
|
condition.put("starttime", starttime);
|
}
|
if (StringUtils.isNotBlank(endtime)) {
|
condition.put("endtime", endtime);
|
}
|
pageInfo.setCondition(condition);
|
taskService.selectDataGrid(pageInfo);
|
|
return success(pageInfo);
|
}
|
|
@ApiOperation(value = "根据任务编号获取任务信息",notes = "根据任务编号获取任务信息")
|
@GetMapping("/get")
|
@ApiImplicitParam(name = "code",value = "任务编号")
|
public Msg getTaskVoByCode(@RequestParam String code){
|
if (StringUtils.isBlank(code)){
|
return new Msg(ErrorCode.ERROR_10001);
|
}
|
TaskVo taskVo;
|
TaskInfo taskInfo = taskService.getTaskByCode(code);
|
if (taskInfo == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
taskVo = taskService.getTaskVoByCode(code);
|
return success(taskVo);
|
}
|
|
@ApiOperation(value = "创建任务信息",notes = "创建任务信息")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType="TaskVo",name = "taskVo",value = "任务类"),
|
})
|
@PostMapping("/create")
|
public Msg createTask(@Validated @RequestBody TaskVo taskVo){
|
UserInfo userInfo = userService.getById(getUser().getId());
|
if (taskVo.getIsanalysis() == 1){
|
if (StringUtils.isBlank(taskVo.getAnalysisarea()) || StringUtils.isBlank(taskVo.getAnalysismedium())){
|
throw new BusinessException("需要气体检测分析时必须填写分析点名称和分析介质");
|
}
|
taskService.saveTaskForAnalysis(taskVo,userInfo);
|
}else {
|
Byte level = taskVo.getLevel();
|
if (taskVo.getIsholiday().equals((byte)1)){
|
level++;
|
}
|
|
if (userInfo.getDepartment() == null){
|
return new Msg(ErrorCode.ERROR_50001,"用户部门信息不能为空");
|
}
|
|
DepartmentInfo dep = departmentService.getById(userInfo.getDepartment());
|
if (dep == null){
|
return new Msg(ErrorCode.ERROR_50001,"用户部门信息不存在");
|
}
|
taskVo.setDepartment(dep.getDepartment());
|
DepartmentInfo departmentInfo = departmentService.selectSafetyDepartment();
|
if (departmentInfo == null && !level.equals(TaskInfo.LEVEL_SECOND)){
|
return new Msg(ErrorCode.ERROR_50001,"安全部门信息不能为空");
|
}
|
List<InvolveDepInfo> depInfos = involveDepService.list();
|
if (depInfos.size() == 0 && !level.equals(TaskInfo.LEVEL_SECOND)){
|
return new Msg(ErrorCode.ERROR_50001,"相关部门信息不能为空");
|
}
|
//判断吨位是否传
|
try {
|
Etype.parse(taskVo.getEtype());
|
} catch (BusinessException e) {
|
return new Msg(ErrorCode.ERROR_50001,e.getMessage());
|
}
|
String taskCode = taskService.generateCode(userInfo,workCode);
|
|
//任务为一级特级时,要添加相关部门审核流程
|
List<TaskInvolveDepartment>departments = new ArrayList<>();
|
if (!level.equals(TaskInfo.LEVEL_SECOND)){
|
for (InvolveDepInfo depInfo : depInfos){
|
TaskInvolveDepartment department = new TaskInvolveDepartment();
|
department.setDepartment(depInfo.getDepartment());
|
department.setTaskcode(taskCode);
|
department.setCreatedat(new Date());
|
department.setCreatedby(userInfo.getRealname());
|
departments.add(department);
|
}
|
taskInvolveDepService.saveBatch(departments);
|
}
|
TaskInfo taskInfo = BeanUtils.copy(taskVo,TaskInfo.class);
|
if (departmentInfo != null && !level.equals(TaskInfo.LEVEL_SECOND)){
|
taskInfo.setSecuritydep(departmentInfo.getDepartment());
|
}
|
taskInfo.setStatus(TaskInfo.UNCOMMITTED);
|
taskInfo.setCode(taskCode);
|
taskInfo.setCreatedat(new Date());
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskVo.setCode(taskCode);
|
|
List<TaskSecurity> taskSecurities = taskVo.getTaskSecurities();
|
|
//subTask存储
|
|
String option = "CREATE";
|
subTaskService.saveSubTasks(taskVo.getSubTaskInfos(),taskCode,userInfo,option);
|
|
taskService.save(taskInfo);
|
taskSecurityService.saveBatch(taskSecurities);
|
String content = "创建任务信息";
|
TaskLog taskLog = new TaskLog(taskCode,content,userInfo.getRealname(),new Date(),getUser().getCompany());
|
taskLogService.save(taskLog);
|
}
|
|
return success(taskVo);
|
}
|
|
@ApiOperation(value = "修改任务信息",notes = "修改任务信息")
|
@PostMapping("/update")
|
public Msg updateTask(@Validated @RequestBody TaskVo taskVo, BindingResult bindingResult){
|
if (bindingResult.hasErrors()) {
|
StringBuilder stringBuilder = new StringBuilder();
|
for (String s : bindingResult.getFieldErrors().stream()
|
.map(FieldError::getDefaultMessage).collect(Collectors.toList())) {
|
stringBuilder.append(s).append(",");
|
}
|
return new Msg(ErrorCode.ERROR_10002,stringBuilder.toString());
|
}
|
if (taskVo.getId() == null){
|
return new Msg(ErrorCode.ERROR_10004);
|
}
|
UserInfo userInfo = userService.getById(getUser().getId());
|
TaskInfo taskInfoExist = taskService.getById(taskVo.getId());
|
if (taskInfoExist == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
TaskInfo taskInfo = BeanUtils.copy(taskVo,TaskInfo.class);
|
taskInfo.setModifiedat(new Date());
|
taskInfo.setModifiedby(userInfo.getRealname());
|
String taskCode = taskVo.getCode();
|
String option = "UPDATE";
|
subTaskService.saveSubTasks(taskVo.getSubTaskInfos(),taskCode,userInfo, option);
|
//吨位不可以改
|
taskInfo.setEtype(null);
|
taskService.updateById(taskInfo);
|
|
return success();
|
}
|
|
@ApiOperation(value = "第二步创建信息",notes = "第二步创建信息")
|
@PostMapping("/create/second")
|
public Msg updateTask(@RequestBody TaskVo taskVo){
|
if (taskVo.getCode() == null){
|
return new Msg(ErrorCode.ERROR_10004);
|
}
|
TaskInfo taskInfoExist = taskService.getTaskByCode(taskVo.getCode());
|
if (taskInfoExist == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
Date now = new Date();
|
UserInfo userInfo = userService.getById(getUser().getId());
|
List<TaskSecurity>securities = taskVo.getTaskSecurities();
|
if (securities == null || securities.size() == 0){
|
return new Msg(ErrorCode.ERROR_10002,"安全措施为空");
|
}
|
securities.forEach(item->{
|
item.setTaskcode(taskVo.getCode());
|
item.setCreatedat(now);
|
item.setCreatedby(userInfo.getRealname());
|
item.setConfirmedby(userInfo.getRealname());
|
});
|
TaskRisk risk = taskVo.getTaskRisk();
|
if (risk == null) {
|
return new Msg(ErrorCode.ERROR_10002,"请填写安全风险");
|
}
|
risk.setCreatedat(now);
|
risk.setCreatedby(userInfo.getRealname());
|
List<TaskEquipment>equipments = taskVo.getTaskEquipments();
|
if (equipments == null || equipments.size() == 0){
|
return new Msg(ErrorCode.ERROR_10002,"请选择安全设备");
|
}
|
equipments.forEach(item->{
|
item.setTaskcode(taskVo.getCode());
|
item.setCreatedat(now);
|
item.setCreatedby(userInfo.getRealname());
|
});
|
taskSecurityService.saveBatch(securities);
|
taskRiskService.save(risk);
|
taskEquipmentService.saveBatch(equipments);
|
return success();
|
}
|
|
@ApiOperation(value = "第二步更新信息",notes = "第二步更新信息")
|
@PostMapping("/update/second")
|
public Msg updateTaskSecond(@RequestBody TaskVo taskVo){
|
if (taskVo.getCode() == null){
|
return new Msg(ErrorCode.ERROR_10004);
|
}
|
TaskInfo taskInfoExist = taskService.getTaskByCode(taskVo.getCode());
|
if (taskInfoExist == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
|
UserInfo userInfo = userService.getById(getUser().getId());
|
taskSecurityService.removeByTaskCode(taskVo.getCode());
|
taskEquipmentService.removeByTaskCode(taskVo.getCode());
|
taskRiskService.removeByCode(taskVo.getCode());
|
//更新删除原先的,重新插入
|
Date now = new Date();
|
List<TaskSecurity> taskSecurities = taskVo.getTaskSecurities();
|
if (taskSecurities == null || taskSecurities.size() == 0){
|
return new Msg(ErrorCode.ERROR_10002,"安全措施为空");
|
}
|
taskSecurities.forEach(item->{
|
item.setTaskcode(taskVo.getCode());
|
item.setCreatedat(now);
|
item.setCreatedby(userInfo.getRealname());
|
item.setConfirmedby(userInfo.getRealname());
|
});
|
taskSecurityService.saveBatch(taskSecurities);
|
|
List<TaskEquipment> taskEquipments = taskVo.getTaskEquipments();
|
if (taskEquipments == null || taskEquipments.size() == 0){
|
return new Msg(ErrorCode.ERROR_10002,"请选择安全设备");
|
}
|
taskEquipments.forEach(item->{
|
item.setTaskcode(taskVo.getCode());
|
item.setCreatedat(now);
|
item.setCreatedby(userInfo.getRealname());
|
});
|
taskEquipmentService.saveBatch(taskEquipments);
|
|
TaskRisk risk = taskVo.getTaskRisk();
|
if (risk == null) {
|
return new Msg(ErrorCode.ERROR_10002,"请填写安全风险");
|
}
|
risk.setTaskcode(taskVo.getCode());
|
risk.setCreatedat(now);
|
risk.setCreatedby(userInfo.getRealname());
|
taskRiskService.save(risk);
|
return success();
|
}
|
|
|
@ApiOperation(value = "创建任务信息", notes = "安卓端")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "TaskVo", name = "task", value = "任务类"),
|
})
|
@PostMapping("/app/create")
|
public synchronized Msg appCreateTask(@RequestBody TaskVo taskVo) {
|
if (taskVo == null){
|
return new Msg(ErrorCode.ERROR_10001);
|
}
|
try {
|
UserInfo userInfo = userService.getById(getUser().getId());
|
if (taskVo.getIsanalysis() == 1){
|
taskService.saveTaskForAnalysis(taskVo,userInfo);
|
}else {
|
taskService.saveTaskByApp(taskVo, getUser());
|
}
|
|
return success();
|
} catch (BusinessException e) {
|
e.printStackTrace();
|
return new Msg(ErrorCode.ERROR_10002, e.getMessage());
|
} catch (Exception e) {
|
e.printStackTrace();
|
return new Msg(ErrorCode.ERROR_40001, "系统内部错误");
|
}
|
|
}
|
|
@ApiOperation(value = "删除任务信息",notes = "删除任务信息")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id",value = "任务id"),
|
})
|
@PostMapping("/delete")
|
public Msg deleteTask(Long id){
|
TaskInfo taskInfo = taskService.getById(id);
|
if (id == null || taskInfo == null){
|
return new Msg(ErrorCode.ERROR_10001);
|
}
|
if (!taskInfo.getFlag().equals(TaskInfo.WAIT_REVIEW)){
|
return new Msg(ErrorCode.ERROR_50005,"当前状态无法作废");
|
}
|
Byte isDeleted = 1;
|
UserInfo userInfo = userService.getById(getUser().getId());
|
taskInfo.setIsdel(isDeleted);
|
taskService.updateById(taskInfo);
|
String taskCode = taskInfo.getCode();
|
taskSecurityService.deleteByTaskCode(taskCode);
|
taskWorkerService.deleteByTaskCode(taskCode);
|
taskEnclosureService.removeByTaskCode(taskCode);
|
taskRiskService.deleteByTaskCode(taskCode);
|
taskAnalysisService.deleteByTaskCode(taskCode);
|
taskReviewService.deleteByTaskCode(taskCode);
|
String content = "删除任务";
|
TaskLog taskLog = new TaskLog(taskInfo.getCode(),content,userInfo.getRealname(),new Date(),getUser().getCompany());
|
taskLogService.save(taskLog);
|
return success();
|
}
|
|
@ApiOperation(value = "web端上传图片",notes = "web端上传图片")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType="query",name = "files",value = "文件"),
|
})
|
@PostMapping("/web/upload")
|
@ResponseBody
|
public Msg upload(StandardMultipartHttpServletRequest req){
|
MultiValueMap<String, MultipartFile> multipartFiles = req.getMultiFileMap();
|
|
MultipartFile picFile = null;
|
if (multipartFiles.get("files") == null){
|
if(multipartFiles.get("file") != null){
|
picFile = multipartFiles.get("file").get(0);
|
}
|
}else {
|
picFile = multipartFiles.get("files").get(0);
|
}
|
if (null == picFile){
|
return new Msg(ErrorCode.ERROR_10001);
|
}else {
|
try {
|
String picName = UploadUtil.uploadFile(picFile,taskPath);
|
HashMap<String, String> map = new HashMap<>(4);
|
map.put("name",picFile.getOriginalFilename());
|
map.put("path",task+picName);
|
return success(map);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new Msg(ErrorCode.ERROR_40001);
|
}
|
}
|
}
|
|
@ApiOperation(value = "上传图片",notes = "上传图片")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType="query",name = "files",value = "文件"),
|
})
|
@PostMapping("/uploadPic")
|
@ResponseBody
|
public Msg uploadPic(StandardMultipartHttpServletRequest req){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
|
MultiValueMap<String, MultipartFile> multipartFiles = req.getMultiFileMap();
|
MultipartFile picFile = multipartFiles.get("files").get(0);
|
if (null == picFile){
|
msg.setCode("404");
|
msg.setMessage("上传文件为空");
|
}else {
|
try {
|
String picmame = UploadUtil.uploadFile(picFile,taskPath);
|
msg.setResult(task+picmame);
|
}catch (Exception e){
|
e.printStackTrace();
|
msg.setCode("500");
|
msg.setMessage("上传失败");
|
}
|
}
|
return msg;
|
}
|
|
@PostMapping("/upload")
|
public Msg uploadFiles(TaskEnclosureVo taskEnclosureVo) throws Exception {
|
MultipartFile[]files = taskEnclosureVo.getFile();
|
List<TaskEnclosure>enclosures = new ArrayList<>();
|
UserInfo userInfo = userService.getById(getUser().getId());
|
if (files != null && files.length > 0) {
|
for (MultipartFile file : files) {
|
String name = UploadUtil.uploadFile(file, taskPath);
|
TaskEnclosure enclosure = new TaskEnclosure();
|
String fileType = file.getContentType();
|
if (fileType != null && fileType.contains("image")){
|
enclosure.setFiletype((byte)1);
|
}else if (fileType != null && fileType.contains("pdf")){
|
enclosure.setFiletype((byte)2);
|
}
|
enclosure.setTaskcode(taskEnclosureVo.getTaskcode());
|
enclosure.setFilename(name);
|
enclosure.setType(taskEnclosureVo.getType());
|
enclosure.setFileurl(task + name);
|
enclosure.setCreatedat(new Date());
|
enclosure.setCreatedby(userInfo.getRealname());
|
enclosure.setOriginalname(file.getOriginalFilename());
|
enclosures.add(enclosure);
|
}
|
}
|
taskEnclosureService.saveBatch(enclosures);
|
return success();
|
}
|
|
@PostMapping("/getFiles")
|
public Msg getFiles(String taskCode){
|
return success(taskEnclosureService.getListByTaskCode(taskCode));
|
}
|
|
@PostMapping("/deleteFile")
|
public Msg deleteFile(String id){
|
TaskEnclosure taskEnclosure = taskEnclosureService.getById(id);
|
if (taskEnclosure == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
taskEnclosureService.removeById(id);
|
return success();
|
}
|
|
@PostMapping("/analysis/add")
|
public Msg addAnalysis(@RequestBody TaskAnalysis analysis, BindingResult bindingResult){
|
if (bindingResult.hasErrors()) {
|
StringBuilder stringBuilder = new StringBuilder();
|
for (String s : bindingResult.getFieldErrors().stream()
|
.map(FieldError::getDefaultMessage).collect(Collectors.toList())) {
|
stringBuilder.append(s).append(",");
|
}
|
return new Msg(ErrorCode.ERROR_10002,stringBuilder.toString());
|
}
|
|
UserInfo userInfo = userService.getById(getUser().getId());
|
analysis.setAnalysisat(new Date());
|
analysis.setCreatedat(new Date());
|
analysis.setCreatedby(userInfo.getRealname());
|
taskAnalysisService.save(analysis);
|
return success();
|
}
|
|
@ApiOperation(value = "获取部门任务信息",notes = "获取部门任务信息")
|
@GetMapping("/info/dep")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "pageIndex",value = "当前分页"),
|
@ApiImplicitParam(name = "pageSize",value = "分页每页数量"),
|
@ApiImplicitParam(name = "sort",value = "排序列名"),
|
@ApiImplicitParam(name = "order",value = "排序方式(正序反序)")
|
})
|
public Msg getTaskInfosByDep(@RequestParam(value = "code", required = false) String code,
|
@RequestParam(value = "level", required = false) String level,
|
@RequestParam(value = "status", required = false) String status,
|
@RequestParam(defaultValue = "0") Integer pageIndex,
|
@RequestParam(defaultValue = "10") Integer pageSize,
|
String sort, String order){
|
|
PageInfo pageInfo = new PageInfo(pageIndex, pageSize,sort,order);
|
UserInfo userInfo = userService.getById(getUser().getId());
|
Map<String, Object> condition = new HashMap<>(4);
|
if (StringUtils.isNotBlank(code)) {
|
condition.put("code", code);
|
}
|
if (StringUtils.isNotBlank(level)) {
|
condition.put("level", level);
|
}
|
if (StringUtils.isNotBlank(status)) {
|
condition.put("status", status);
|
}
|
condition.put("unit",userInfo.getCompany());
|
condition.put("department",userInfo.getDepartment());
|
pageInfo.setCondition(condition);
|
taskService.selectDataGridByDep(pageInfo);
|
|
return success(pageInfo);
|
}
|
|
@ApiOperation(value = "获取可查看任务信息",notes = "获取可查看任务信息")
|
@GetMapping("/info/viewable")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "pageIndex",value = "当前分页"),
|
@ApiImplicitParam(name = "pageSize",value = "分页每页数量"),
|
@ApiImplicitParam(name = "sort",value = "排序列名"),
|
@ApiImplicitParam(name = "order",value = "排序方式(正序反序)"),
|
@ApiImplicitParam(name = "code",value = "作业编号"),
|
@ApiImplicitParam(name = "level",value = "作业级别"),
|
@ApiImplicitParam(name = "status",value = "审批状态"),
|
@ApiImplicitParam(name = "flag",value = "作业状态"),
|
@ApiImplicitParam(name = "starttime",value = "开始时间"),
|
@ApiImplicitParam(name = "endtime",value = "结束时间"),
|
@ApiImplicitParam(name = "time",value = "查询时间"),
|
@ApiImplicitParam(name = "applicant",value = "申请人"),
|
@ApiImplicitParam(name = "tasktype",value = "作业类型"),
|
@ApiImplicitParam(name = "department",value = "部门"),
|
@ApiImplicitParam(name = "constructionunit",value = "施工单位"),
|
})
|
public Msg getTaskInfosViewable(@RequestParam(value = "code", required = false) String code,
|
@RequestParam(value = "level", required = false) String level,
|
@RequestParam(value = "status", required = false) String status,
|
@RequestParam(value = "flag", required = false) String flag,
|
@RequestParam(value = "applicant", required = false) String applicant,
|
@RequestParam(value = "starttime", required = false) String starttime,
|
@RequestParam(value = "endtime", required = false) String endtime,
|
@RequestParam(value = "tasktype", required = false) String tasktype,
|
@RequestParam(value = "department", required = false) String department,
|
@RequestParam(value = "time", required = false) String time,
|
@RequestParam(value = "constructionunit", required = false) String constructionunit,
|
@RequestParam(defaultValue = "0") Integer pageIndex,
|
@RequestParam(defaultValue = "10") Integer pageSize,
|
String sort, String order){
|
|
PageInfo pageInfo = new PageInfo(pageIndex, pageSize,sort,order);
|
UserInfo userInfo = userService.getById(getUser().getId());
|
Map<String, Object> condition = new HashMap<>(4);
|
if (StringUtils.isNotBlank(code)) {
|
condition.put("code", code);
|
}
|
if (StringUtils.isNotBlank(level)) {
|
condition.put("level", level);
|
}
|
if (StringUtils.isNotBlank(status)) {
|
condition.put("status", status);
|
}
|
if (StringUtils.isNotBlank(starttime)) {
|
condition.put("starttime", starttime);
|
}
|
if (StringUtils.isNotBlank(endtime)) {
|
condition.put("endtime", endtime);
|
}
|
if (StringUtils.isNotBlank(tasktype)) {
|
condition.put("tasktype", tasktype);
|
}
|
if (StringUtils.isNotBlank(department)) {
|
condition.put("department", department);
|
}
|
if(time != null && time.length()>0){
|
condition.put("time", time);
|
}
|
if (StringUtils.isNotBlank(constructionunit)) {
|
condition.put("constructionunit", constructionunit);
|
}
|
List<String>list = new ArrayList<>();
|
if (StringUtils.isNotBlank(flag)) {
|
|
list = StringUtils.toList(flag);
|
for (String s : list){
|
for (int i = 0; i < s.length(); i++) {
|
System.out.println(s.charAt(i));
|
if (!Character.isDigit(s.charAt(i))) {
|
return new Msg(ErrorCode.ERROR_10003,"flag参数错误");
|
}
|
}
|
|
}
|
}
|
condition.put("list", list);
|
if (StringUtils.isNotBlank(applicant)) {
|
condition.put("applicant", applicant);
|
}
|
condition.put("unit",userInfo.getCompany());
|
condition.put("department",userInfo.getDepartment());
|
condition.put("userType",userInfo.getType());
|
pageInfo.setCondition(condition);
|
taskService.selectDataGridViewable(pageInfo);
|
|
return success(pageInfo);
|
}
|
|
|
@ApiOperation(value = "获取进行中的任务")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "time",value = "查询时间,不传则用当前时间",example = "2022-05-12 14:00:00"),
|
@ApiImplicitParam(name = "type",value = "项目标识 1 - 60万吨 ,2 - 130万吨 ,不传则查全部")
|
})
|
@RequestMapping(value = "/get/active",method = RequestMethod.GET)
|
public Msg getInProgressTask(@RequestParam(required = false) String time,@RequestParam(required = false) Byte type){
|
Msg msg = new Msg();
|
Date queryTime = null;
|
if(time != null && !time.isEmpty()){
|
try {
|
queryTime = DateUtil.parseDateTime(time);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
msg.setResult(taskService.selectActiveTaskLocation(queryTime,type));
|
if(msg.getResult() != null){
|
msg.setCode("200");
|
}else {
|
msg.setCode("300");
|
msg.setMessage("无作业数据");
|
}
|
return msg;
|
}
|
|
@ApiOperation(value = "气体检测中心可操作任务信息",notes = "气体检测中心可操作任务信息")
|
@GetMapping("/info/testing")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "pageIndex",value = "当前分页"),
|
@ApiImplicitParam(name = "pageSize",value = "分页每页数量"),
|
@ApiImplicitParam(name = "sort",value = "排序列名"),
|
@ApiImplicitParam(name = "order",value = "排序方式(正序反序)")
|
})
|
public Msg getTaskInfosTesting(@RequestParam(value = "code", required = false) String code,
|
@RequestParam(value = "level", required = false) String level,
|
@RequestParam(value = "status", required = false) String status,
|
@RequestParam(value = "searchflag", required = false) String searchflag,
|
@RequestParam(defaultValue = "0") Integer pageIndex,
|
@RequestParam(defaultValue = "10") Integer pageSize,
|
String sort, String order){
|
|
PageInfo pageInfo = new PageInfo(pageIndex, pageSize,sort,order);
|
UserInfo userInfo = userService.getById(getUser().getId());
|
Map<String, Object> condition = new HashMap<>(4);
|
if (StringUtils.isNotBlank(code)) {
|
condition.put("code", code);
|
}
|
if (StringUtils.isNotBlank(level)) {
|
condition.put("level", level);
|
}
|
if (StringUtils.isNotBlank(status)) {
|
condition.put("status", status);
|
}
|
if (StringUtils.isBlank(searchflag)) {
|
searchflag = "0";
|
}
|
condition.put("searchflag", searchflag);
|
|
// 当前用户的部门是分析部门 或者 当前用户的部门是作业的申请部门 且 当前用户是安全员
|
if (userInfo.getDepartment() == null) {
|
return new Msg(ErrorCode.ERROR_50004,"用户未有部门");
|
}
|
DepartmentInfo dep = departmentService.getById(userInfo.getDepartment());
|
if (dep == null) {
|
return new Msg(ErrorCode.ERROR_50004,"用户部门不存在");
|
}
|
if (departmentService.isAnalysis(dep.getDepartment())) {
|
pageInfo.setCondition(condition);
|
taskService.selectDataGridTesting(pageInfo);
|
}else if(userInfo.getIssecurityofficer().equals((byte)1)){
|
pageInfo.setCondition(condition);
|
condition.put("specificDepartment", userInfo.getDepartment());
|
taskService.selectDataGridTesting(pageInfo);
|
}
|
|
return success(pageInfo);
|
}
|
|
@ApiOperation(value = "获取待审批任务信息",notes = "获取待审批任务信息")
|
@GetMapping("/info/review")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "pageIndex",value = "当前分页"),
|
@ApiImplicitParam(name = "pageSize",value = "分页每页数量"),
|
@ApiImplicitParam(name = "sort",value = "排序列名"),
|
@ApiImplicitParam(name = "order",value = "排序方式(正序反序)"),
|
@ApiImplicitParam(name = "code",value = "作业编号"),
|
@ApiImplicitParam(name = "level",value = "作业级别"),
|
@ApiImplicitParam(name = "status",value = "审批状态"),
|
@ApiImplicitParam(name = "flag",value = "作业状态"),
|
@ApiImplicitParam(name = "starttime",value = "开始时间"),
|
@ApiImplicitParam(name = "endtime",value = "结束时间"),
|
@ApiImplicitParam(name = "applicant",value = "申请人"),
|
@ApiImplicitParam(name = "tasktype",value = "作业类型"),
|
@ApiImplicitParam(name = "department",value = "部门"),
|
@ApiImplicitParam(name = "constructionunit",value = "施工单位"),
|
})
|
public Msg getWaitReviewTaskInfos(@RequestParam(value = "code", required = false) String code,
|
@RequestParam(value = "level", required = false) String level,
|
@RequestParam(value = "status", required = false) String status,
|
@RequestParam(value = "flag", required = false) String flag,
|
@RequestParam(value = "applicant", required = false) String applicant,
|
@RequestParam(value = "starttime", required = false) String starttime,
|
@RequestParam(value = "endtime", required = false) String endtime,
|
@RequestParam(value = "tasktype", required = false) String tasktype,
|
@RequestParam(value = "department", required = false) String department,
|
@RequestParam(value = "constructionunit", required = false) String constructionunit,
|
@RequestParam(defaultValue = "0") Integer pageIndex,
|
@RequestParam(defaultValue = "10") Integer pageSize,
|
String sort, String order){
|
|
PageInfo pageInfo = new PageInfo(pageIndex, pageSize,sort,order);
|
UserInfo userInfo = userService.getById(getUser().getId());
|
|
Map<String, Object> condition = new HashMap<>(4);
|
if (StringUtils.isNotBlank(code)) {
|
condition.put("code", code);
|
}
|
if (StringUtils.isNotBlank(level)) {
|
condition.put("level", level);
|
}
|
if (StringUtils.isNotBlank(status)) {
|
condition.put("status", status);
|
}
|
if (StringUtils.isNotBlank(flag)) {
|
condition.put("flag", flag);
|
}
|
if (StringUtils.isNotBlank(starttime)) {
|
condition.put("starttime", starttime);
|
}
|
if (StringUtils.isNotBlank(endtime)) {
|
condition.put("endtime", endtime);
|
}
|
if (StringUtils.isNotBlank(tasktype)) {
|
condition.put("tasktype", tasktype);
|
}
|
if (StringUtils.isNotBlank(department)) {
|
condition.put("department", department);
|
}
|
if (StringUtils.isNotBlank(constructionunit)) {
|
condition.put("constructionunit", constructionunit);
|
}
|
condition.put("unit",userInfo.getCompany());
|
condition.put("department",userInfo.getDepartment());
|
condition.put("applicant",userInfo.getRealname());
|
condition.put("isCompany",userInfo.getIscompany());
|
condition.put("isDepartment",userInfo.getIsdepartment());
|
pageInfo.setCondition(condition);
|
taskService.getWaitReviewDataGrid(pageInfo);
|
|
return success(pageInfo);
|
}
|
|
@ApiOperation(value = "获取待处理任务信息",notes = "获取待处理任务信息")
|
@GetMapping("/info/pending")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "type",value = "类型(1.当前用户为动火人;2.监火人;3.分析人)")
|
})
|
public Msg getPendingTask(@RequestParam(value = "type", required = false) String type){
|
if (StringUtils.isBlank(type)){
|
return new Msg(ErrorCode.ERROR_10002);
|
}
|
UserInfo userInfo = userService.getById(getUser().getId());
|
List<TaskVo>taskVos = taskService.getPendingTask(type,userInfo.getRealname());
|
return success(taskVos);
|
}
|
|
@ApiOperation(value = "获取进行中任务信息",notes = "获取进行中任务信息")
|
@GetMapping("/info/doing")
|
public Msg getPendingTask(){
|
List<TaskVo>taskVos = taskService.getDoingTask();
|
return success(taskVos);
|
}
|
|
@ApiOperation(value = "提交任务到检测中心",notes = "提交任务到检测中心")
|
@PostMapping("/gasCheck")
|
public Msg gasCheck(Long id){
|
TaskInfo taskInfo = taskService.getById(id);
|
UserInfo userInfo = userService.getById(getUser().getId());
|
if (!taskInfo.getApplicant().equals(userInfo.getRealname())){
|
return new Msg(ErrorCode.ERROR_50004,"只有申请人才能提交");
|
}
|
|
if (!taskInfo.getIsanalysis() .equals((byte)1)){
|
return new Msg(ErrorCode.ERROR_50004,"当前任务不需要检测");
|
}
|
|
if (!(taskInfo.getStatus().equals(TaskInfo.REJECTED) || taskInfo.getStatus().equals(TaskInfo.UNCOMMITTED))){
|
return new Msg(ErrorCode.ERROR_50004,"当前状态不允许提交任务到检测中心");
|
}
|
|
//校验完成修改状态
|
taskInfo.setStatus(TaskInfo.TEST_COMMITTED);
|
taskInfo.setModifiedat(new Date());
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskService.updateById(taskInfo);
|
String content = "提交任务到检测中心";
|
TaskLog taskLog = new TaskLog(taskInfo.getCode(),content,userInfo.getRealname(),new Date(),getUser().getCompany());
|
taskLogService.save(taskLog);
|
return success();
|
}
|
|
@PostMapping("/submit")
|
public Msg submitTask(Long id){
|
TaskInfo taskInfo = taskService.getById(id);
|
UserInfo userInfo = userService.getById(getUser().getId());
|
if (!taskInfo.getApplicant().equals(userInfo.getRealname())){
|
return new Msg(ErrorCode.ERROR_50004,"只有申请人才能提交");
|
}
|
|
if (taskInfo.getIsanalysis() .equals((byte)1)){
|
if (!taskInfo.getStatus().equals(TaskInfo.TEST_CHECKED)){
|
return new Msg(ErrorCode.ERROR_50004,"当前任务未完成气体检测,不能提交施工部门审核");
|
}
|
}else {
|
if (!(taskInfo.getStatus().equals(TaskInfo.REJECTED) || taskInfo.getStatus().equals(TaskInfo.UNCOMMITTED))){
|
return new Msg(ErrorCode.ERROR_50004,"当前状态不允许提交");
|
}
|
}
|
|
List<TaskSecurity>securities = taskSecurityService.getListByTaskCode(taskInfo.getCode());
|
if (securities == null || securities.size() == 0){
|
return new Msg(ErrorCode.ERROR_50004,"安全措施不能为空");
|
}
|
List<TaskEnclosure>enclosures = taskEnclosureService.getListByTaskCode(taskInfo.getCode());
|
if (enclosures == null || enclosures.size() == 0) {
|
return new Msg(ErrorCode.ERROR_50004,"文件不能为空");
|
}
|
List<TaskEquipment>equipments = taskEquipmentService.getListByTaskCode(taskInfo.getCode());
|
if (equipments == null || equipments.size() == 0) {
|
return new Msg(ErrorCode.ERROR_50004,"设备不能为空");
|
}
|
|
TaskRisk risk = taskRiskService.getTaskRiskByCode(taskInfo.getCode());
|
if (risk == null){
|
return new Msg(ErrorCode.ERROR_50004,"安全风险不能为空");
|
}
|
|
//校验完成修改状态
|
taskInfo.setStatus(TaskInfo.COMMITTED);
|
taskInfo.setModifiedat(new Date());
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskService.updateById(taskInfo);
|
String content = "任务提交";
|
TaskLog taskLog = new TaskLog(taskInfo.getCode(),content,userInfo.getRealname(),new Date(),getUser().getCompany());
|
taskLogService.save(taskLog);
|
return success();
|
}
|
|
@ApiOperation(value = "app修改提交任务信息",notes = "app修改提交任务信息")
|
@PostMapping("/app/update")
|
public Msg appUpdateTask(@RequestBody TaskVo taskVo){
|
if (taskVo == null){
|
return new Msg(ErrorCode.ERROR_10001);
|
}
|
if (StringUtils.isBlank(taskVo.getCode())){
|
return new Msg(ErrorCode.ERROR_10004);
|
}
|
TaskInfo taskInfoExist = taskService.getTaskByCode(taskVo.getCode());
|
if (taskInfoExist == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
|
UserInfo userInfo = userService.getById(getUser().getId());
|
taskVo.setId(taskInfoExist.getId());
|
if (taskInfoExist.getIsanalysis() == 1 && (taskInfoExist.getStatus().equals(TaskInfo.REJECTED) || taskInfoExist.getStatus().equals(TaskInfo.UNCOMMITTED))){
|
taskService.updateTaskByAppForAnalysis(taskVo,userInfo);
|
}else {
|
TaskRisk risk = taskVo.getTaskRisk();
|
if (risk == null) {
|
return new Msg(ErrorCode.ERROR_10002,"请填写安全风险");
|
}
|
List<TaskEquipment> taskEquipments = taskVo.getTaskEquipments();
|
if (taskEquipments == null || taskEquipments.size() == 0){
|
return new Msg(ErrorCode.ERROR_10002,"请选择安全设备");
|
}
|
|
List<TaskSecurity> taskSecurities = taskVo.getTaskSecurities();
|
if (taskSecurities == null || taskSecurities.size() == 0){
|
return new Msg(ErrorCode.ERROR_10002,"安全措施为空");
|
}
|
if (taskVo.getTaskReviews() == null || taskVo.getTaskReviews().size() < 1
|
|| taskVo.getTaskReviews().get(0).getIsagree() == null){
|
return new Msg(ErrorCode.ERROR_10002,"审核信息不能为空");
|
}
|
taskService.updateTaskByApp(taskVo,userInfo);
|
}
|
|
return success();
|
}
|
|
@ApiOperation(value = "检测中心检测",notes = "检测中心检测")
|
@PostMapping("/testingCenter/review")
|
public Msg testingCenterReview(@RequestBody TaskVo taskVo){
|
if (StringUtils.isBlank(taskVo.getCode())){
|
return new Msg(ErrorCode.ERROR_10002);
|
}
|
TaskInfo taskInfo = taskService.getTaskByCode(taskVo.getCode());
|
if (taskInfo == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
if (taskVo.getTaskReviews() == null || taskVo.getTaskReviews().size() < 1
|
|| taskVo.getTaskReviews().get(0).getIsagree() == null){
|
return new Msg(ErrorCode.ERROR_10002,"审核信息不能为空");
|
}
|
TaskReview taskReview = taskVo.getTaskReviews().get(0);
|
String content;
|
UserInfo userInfo = userService.getById(getUser().getId());
|
|
if (taskInfo.getStatus().equals(TaskInfo.TEST_COMMITTED)){
|
if (taskReview.getIsagree() == 1){
|
taskInfo.setStatus(TaskInfo.TEST_CHECKED);
|
List<TaskAnalysis>taskAnalyses = taskVo.getTaskAnalyses();
|
taskAnalyses.forEach(item->{
|
item.setTaskcode(taskVo.getCode());
|
item.setCreatedby(userInfo.getRealname());
|
item.setCreatedat(new Date());
|
});
|
taskAnalysisService.saveBatch(taskAnalyses);
|
content = "检测中心确认";
|
}else {
|
taskInfo.setStatus(TaskInfo.REJECTED);
|
content = "检测中心驳回";
|
}
|
}else if (taskInfo.getStatus().equals(TaskInfo.APPROVED) && taskInfo.getFlag().equals(TaskInfo.DOING)){
|
if (taskReview.getIsagree() == 1){
|
List<TaskAnalysis>taskAnalyses = taskVo.getTaskAnalyses();
|
taskAnalyses.forEach(item->{
|
item.setTaskcode(taskVo.getCode());
|
item.setCreatedby(userInfo.getRealname());
|
item.setCreatedat(new Date());
|
});
|
taskAnalysisService.saveBatch(taskAnalyses);
|
content = "检测中心任务中提交数据";
|
}else {
|
content = "检测中心提交检测异常";
|
String warnContent = "在任务 "+taskInfo.getCode()+" 中,检测中心提交检测异常";
|
WarningInfo warningInfo = new WarningInfo();
|
warningInfo.setCreatedat(new Date());
|
warningInfo.setTaskcode(taskInfo.getCode());
|
warningInfo.setContent(warnContent);
|
warningInfo.setType(WarningInfo.WARNING);
|
warningService.save(warningInfo);
|
}
|
}else {
|
return new Msg(ErrorCode.ERROR_50004,"当前状态不允许确认");
|
}
|
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskInfo.setModifiedat(new Date());
|
taskReviewService.saveReview(taskReview);
|
taskService.updateById(taskInfo);
|
TaskLog taskLog = new TaskLog(taskInfo.getCode(),content,userInfo.getRealname(),new Date(),getUser().getCompany());
|
taskLogService.save(taskLog);
|
|
return success();
|
}
|
|
@ApiOperation(value = "施工单位确认",notes = "施工单位确认")
|
@PostMapping("/construction/review")
|
public Msg constructionReview(@RequestBody TaskVo taskVo){
|
if (StringUtils.isBlank(taskVo.getCode())){
|
return new Msg(ErrorCode.ERROR_10002);
|
}
|
TaskInfo taskInfo = taskService.getTaskByCode(taskVo.getCode());
|
if (taskInfo == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
if (!taskInfo.getStatus().equals(TaskInfo.COMMITTED)){
|
return new Msg(ErrorCode.ERROR_50004,"当前状态不允许确认");
|
}
|
if (taskVo.getTaskReviews() == null || taskVo.getTaskReviews().size() < 1
|
|| taskVo.getTaskReviews().get(0).getIsagree() == null){
|
return new Msg(ErrorCode.ERROR_10002,"审核信息不能为空");
|
}
|
TaskReview taskReview = taskVo.getTaskReviews().get(0);
|
String content;
|
UserInfo userInfo = userService.getById(getUser().getId());
|
if (!userInfo.getCompany().equals(taskInfo.getConstructionunit()) && !userInfo.getDepartment().equals(taskInfo.getConstructionunit())){
|
return new Msg(ErrorCode.ERROR_70001);
|
}
|
if (taskReview.getIsagree() == 1){
|
taskInfo.setStatus(TaskInfo.CONTRACTOR_APPROVED);
|
taskInfo.setConstructionopinion(taskVo.getConstructionopinion() == null?"同意":taskVo.getConstructionopinion());
|
taskInfo.setConstructionname(userInfo.getRealname());
|
taskInfo.setConstructiontime(new Date());
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskInfo.setModifiedat(new Date());
|
|
List<TaskWorkerVo>workers = taskVo.getTaskWorkers();
|
List<TaskSecurity>securities = taskVo.getTaskSecurities();
|
List<TaskEnclosure>enclosures = taskVo.getResources();
|
List<TaskEquipment>equipments = taskVo.getTaskEquipments();
|
TaskRisk risk = taskRiskService.getTaskRiskByCode(taskVo.getCode());
|
risk.setConfirmat(new Date());
|
taskRiskService.updateById(risk);
|
taskWorkerService.saveBatch(workers, userInfo);
|
taskSecurityService.saveBatch(securities);
|
taskEquipmentService.saveBatch(equipments);
|
taskEnclosureService.saveBatch(enclosures);
|
content = "施工单位确认";
|
}else {
|
taskInfo.setStatus(TaskInfo.REJECTED);
|
taskInfo.setConstructionopinion(taskVo.getConstructionopinion() == null?"驳回":taskVo.getConstructionopinion());
|
taskInfo.setConstructionname(userInfo.getRealname());
|
taskInfo.setConstructiontime(new Date());
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskInfo.setModifiedat(new Date());
|
content = "施工单位驳回";
|
}
|
taskService.updateById(taskInfo);
|
taskReviewService.saveReview(taskReview);
|
TaskLog taskLog = new TaskLog(taskInfo.getCode(),content,userInfo.getRealname(),new Date(),getUser().getCompany());
|
taskLogService.save(taskLog);
|
|
return success();
|
}
|
|
@ApiOperation(value = "动火部位审核",notes = "动火部位审核")
|
@PostMapping("/part/review")
|
public Msg partReview(@RequestBody TaskVo taskVo){
|
if (StringUtils.isBlank(taskVo.getCode())){
|
return new Msg(ErrorCode.ERROR_10002);
|
}
|
TaskInfo taskInfo = taskService.getTaskByCode(taskVo.getCode());
|
if (taskInfo == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
if (!taskInfo.getStatus().equals(TaskInfo.CONTRACTOR_APPROVED)){
|
return new Msg(ErrorCode.ERROR_50004,"当前状态不允许确认");
|
}
|
if (taskVo.getTaskReviews() == null || taskVo.getTaskReviews().size() < 1
|
|| taskVo.getTaskReviews().get(0).getIsagree() == null){
|
return new Msg(ErrorCode.ERROR_10002,"审核信息不能为空");
|
}
|
TaskReview taskReview = taskVo.getTaskReviews().get(0);
|
UserInfo userInfo = userService.getById(getUser().getId());
|
String content;
|
Byte level = taskInfo.getLevel();
|
if (taskInfo.getIsholiday().equals((byte)1)){
|
level++;
|
}
|
if (taskReview.getIsagree() == 1){
|
if (StringUtils.isBlank(taskVo.getApproversupervisor())){
|
return new Msg(ErrorCode.ERROR_10002,"需要指定监火人");
|
}
|
if (StringUtils.isBlank(taskVo.getAnalyst())){
|
return new Msg(ErrorCode.ERROR_10002,"需要指定分析人");
|
}
|
if (level.equals(TaskInfo.LEVEL_SECOND)){
|
taskInfo.setStatus(TaskInfo.APPROVED);
|
taskInfo.setFlag(TaskInfo.WAIT_CHECK);
|
}else {
|
taskInfo.setStatus(TaskInfo.PART_APPROVED);
|
}
|
taskInfo.setApplyunitopinion(taskVo.getApplyunitopinion() == null?"同意":taskVo.getApplyunitopinion());
|
taskInfo.setApplyunitname(userInfo.getRealname());
|
taskInfo.setApplyunittime(new Date());
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskInfo.setModifiedat(new Date());
|
taskInfo.setAnalyst(taskVo.getAnalyst());
|
taskInfo.setApproversupervisor(taskVo.getApproversupervisor());
|
content = "动火部位审核通过";
|
}else {
|
taskInfo.setStatus(TaskInfo.REJECTED);
|
taskInfo.setApplyunitopinion(taskVo.getApplyunitopinion() == null?"驳回":taskVo.getApplyunitopinion());
|
taskInfo.setApplyunitname(userInfo.getRealname());
|
taskInfo.setApplyunittime(new Date());
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskInfo.setModifiedat(new Date());
|
taskEquipmentService.removeByTaskCodeByConstruction(taskInfo.getCode());
|
content = "动火部位审核驳回";
|
}
|
taskService.updateById(taskInfo);
|
taskReviewService.saveReview(taskReview);
|
|
TaskLog taskLog = new TaskLog(taskInfo.getCode(),content,userInfo.getRealname(),new Date(),getUser().getCompany());
|
taskLogService.save(taskLog);
|
return success();
|
}
|
|
@ApiOperation(value = "相关部门审核",notes = "相关部门审核")
|
@PostMapping("/involve/review")
|
public Msg involveReview(@RequestBody TaskVo taskVo){
|
if (StringUtils.isBlank(taskVo.getCode())){
|
return new Msg(ErrorCode.ERROR_10002);
|
}
|
TaskInfo taskInfo = taskService.getTaskByCode(taskVo.getCode());
|
if (taskInfo == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
if (!taskInfo.getStatus().equals(TaskInfo.PART_APPROVED)){
|
return new Msg(ErrorCode.ERROR_50004,"当前状态不允许确认");
|
}
|
if (taskVo.getTaskReviews() == null || taskVo.getTaskReviews().size() < 1
|
|| taskVo.getTaskReviews().get(0).getIsagree() == null){
|
return new Msg(ErrorCode.ERROR_10002,"审核信息不能为空");
|
}
|
TaskReview taskReview = taskVo.getTaskReviews().get(0);
|
UserInfo userInfo = userService.getById(getUser().getId());
|
List<TaskInvolveDepartment>departments = taskInvolveDepService.getListByTaskCode(taskVo.getCode());
|
boolean isReviewed = false;
|
if (taskReview.getIsagree() == 1){
|
for (TaskInvolveDepartment department : departments){
|
if (department.getDepartment().equals(userInfo.getDepartment())){
|
department.setStatus((byte)1);
|
department.setContent(taskVo.getRelevantopinion() == null?"同意":taskVo.getRelevantopinion());
|
department.setReviewedby(userInfo.getRealname());
|
department.setReviewedat(new Date());
|
taskInvolveDepService.updateById(department);
|
String content = department.getDepartment()+"审核通过";
|
TaskLog taskLog = new TaskLog(taskInfo.getCode(),content,userInfo.getRealname(),new Date(),getUser().getCompany());
|
taskLogService.save(taskLog);
|
isReviewed = true;
|
}
|
}
|
}else {
|
for (TaskInvolveDepartment department : departments){
|
if (department.getDepartment().equals(userInfo.getDepartment())){
|
department.setStatus((byte)2);
|
department.setContent(taskVo.getRelevantopinion() == null?"驳回":taskVo.getRelevantopinion());
|
department.setReviewedby(userInfo.getRealname());
|
department.setReviewedat(new Date());
|
taskInvolveDepService.updateById(department);
|
String content = department.getDepartment()+"审核驳回";
|
TaskLog taskLog = new TaskLog(taskInfo.getCode(),content,userInfo.getRealname(),new Date(),getUser().getCompany());
|
taskLogService.save(taskLog);
|
isReviewed = true;
|
}
|
}
|
taskInfo.setStatus(TaskInfo.REJECTED);
|
taskInfo.setRelevantopinion(taskVo.getRelevantopinion() == null?"驳回":taskVo.getRelevantopinion());
|
taskInfo.setApplyunitname(userInfo.getRealname());
|
taskInfo.setApplyunittime(new Date());
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskInfo.setModifiedat(new Date());
|
taskService.updateById(taskInfo);
|
taskEquipmentService.removeByTaskCodeByConstruction(taskInfo.getCode());
|
if (!isReviewed){
|
return new Msg(ErrorCode.ERROR_70001);
|
}
|
return success();
|
}
|
if (!isReviewed){
|
return new Msg(ErrorCode.ERROR_70001);
|
}
|
boolean isAllAgree = true;
|
for (TaskInvolveDepartment department : departments){
|
if (!department.getStatus().equals((byte)1)) {
|
isAllAgree = false;
|
}
|
}
|
if (isAllAgree){
|
taskInfo.setStatus(TaskInfo.RELEVANT_APPROVED);
|
taskInfo.setRelevantopinion(departments.get(0).getContent());
|
taskInfo.setRelevanttime(new Date());
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskInfo.setModifiedat(new Date());
|
taskService.updateById(taskInfo);
|
}
|
return success();
|
}
|
|
@ApiOperation(value = "安全部门审核",notes = "安全部门审核")
|
@PostMapping("/security/review")
|
public Msg securityReview(@RequestBody TaskVo taskVo){
|
if (StringUtils.isBlank(taskVo.getCode())){
|
return new Msg(ErrorCode.ERROR_10002);
|
}
|
TaskInfo taskInfo = taskService.getTaskByCode(taskVo.getCode());
|
Byte level = taskInfo.getLevel();
|
if (taskInfo == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
|
if (taskInfo.getIsholiday().equals((byte)1)){
|
level++;
|
}
|
|
if (!taskInfo.getStatus().equals(TaskInfo.RELEVANT_APPROVED)){
|
return new Msg(ErrorCode.ERROR_50004,"当前状态不允许确认");
|
}
|
if (taskVo.getTaskReviews() == null || taskVo.getTaskReviews().size() < 1
|
|| taskVo.getTaskReviews().get(0).getIsagree() == null){
|
return new Msg(ErrorCode.ERROR_10002,"审核信息不能为空");
|
}
|
TaskReview taskReview = taskVo.getTaskReviews().get(0);
|
String content;
|
UserInfo userInfo = userService.getById(getUser().getId());
|
if (taskReview.getIsagree() == 1){
|
if (level.equals(TaskInfo.LEVEL_ONE)){
|
taskInfo.setStatus(TaskInfo.APPROVED);
|
taskInfo.setFlag(TaskInfo.WAIT_CHECK);
|
}else {
|
taskInfo.setStatus(TaskInfo.SECURITY_APPROVED);
|
}
|
taskInfo.setSecurityopinion(taskVo.getSecurityopinion() == null?"同意":taskVo.getSecurityopinion());
|
taskInfo.setSecurityname(userInfo.getRealname());
|
taskInfo.setSecuritytime(new Date());
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskInfo.setModifiedat(new Date());
|
content = "安全部门审核通过";
|
}else {
|
taskInfo.setStatus(TaskInfo.REJECTED);
|
taskInfo.setSecurityopinion(taskVo.getSecurityopinion() == null?"驳回":taskVo.getSecurityopinion());
|
taskInfo.setSecurityname(userInfo.getRealname());
|
taskInfo.setSecuritytime(new Date());
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskInfo.setModifiedat(new Date());
|
content = "安全部门审核驳回";
|
taskEquipmentService.removeByTaskCodeByConstruction(taskInfo.getCode());
|
}
|
taskService.updateById(taskInfo);
|
taskReviewService.saveReview(taskReview);
|
TaskLog taskLog = new TaskLog(taskInfo.getCode(),content,userInfo.getRealname(),new Date(),getUser().getCompany());
|
taskLogService.save(taskLog);
|
return success();
|
}
|
|
@ApiOperation(value = "单位负责人审核",notes = "单位负责人审核")
|
@PostMapping("/leader/review")
|
public Msg leaderReview(@RequestBody TaskVo taskVo){
|
if (StringUtils.isBlank(taskVo.getCode())){
|
return new Msg(ErrorCode.ERROR_10002);
|
}
|
TaskInfo taskInfo = taskService.getTaskByCode(taskVo.getCode());
|
if (taskInfo == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
if (!taskInfo.getStatus().equals(TaskInfo.SECURITY_APPROVED)){
|
return new Msg(ErrorCode.ERROR_50004,"当前状态不允许确认");
|
}
|
if (taskVo.getTaskReviews() == null || taskVo.getTaskReviews().size() < 1
|
|| taskVo.getTaskReviews().get(0).getIsagree() == null){
|
return new Msg(ErrorCode.ERROR_10002,"审核信息不能为空");
|
}
|
TaskReview taskReview = taskVo.getTaskReviews().get(0);
|
String content;
|
UserInfo userInfo = userService.getById(getUser().getId());
|
if (taskReview.getIsagree() == 1){
|
taskInfo.setStatus(TaskInfo.APPROVED);
|
taskInfo.setFlag(TaskInfo.WAIT_CHECK);
|
taskInfo.setEnterpriseopinion(taskVo.getEnterpriseopinion() == null?"同意":taskVo.getEnterpriseopinion());
|
taskInfo.setEnterprisename(userInfo.getRealname());
|
taskInfo.setEnterprisetime(new Date());
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskInfo.setModifiedat(new Date());
|
content = "单位负责人审核通过";
|
}else {
|
taskInfo.setStatus(TaskInfo.REJECTED);
|
taskInfo.setEnterpriseopinion(taskVo.getEnterpriseopinion() == null?"驳回":taskVo.getEnterpriseopinion());
|
taskInfo.setEnterprisename(userInfo.getRealname());
|
taskInfo.setEnterprisetime(new Date());
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskInfo.setModifiedat(new Date());
|
content = "单位负责人审核驳回";
|
taskEquipmentService.removeByTaskCodeByConstruction(taskInfo.getCode());
|
}
|
taskReviewService.saveReview(taskReview);
|
taskService.updateById(taskInfo);
|
TaskLog taskLog = new TaskLog(taskInfo.getCode(),content,userInfo.getRealname(),new Date(),getUser().getCompany());
|
taskLogService.save(taskLog);
|
return success();
|
}
|
|
@ApiOperation(value = "申请人撤销",notes = "申请人撤销")
|
@PostMapping("/revoke")
|
public Msg revoke(@RequestBody TaskVo taskVo){
|
if (StringUtils.isBlank(taskVo.getCode())){
|
return new Msg(ErrorCode.ERROR_10002);
|
}
|
TaskInfo taskInfo = taskService.getTaskByCode(taskVo.getCode());
|
if (taskInfo == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
if (!taskInfo.getStatus().equals(TaskInfo.COMMITTED)){
|
return new Msg(ErrorCode.ERROR_50004,"当前状态不允许取消");
|
}
|
UserInfo userInfo = userService.getById(getUser().getId());
|
if (!userInfo.getRealname().equals(taskInfo.getApplicant())){
|
return new Msg(ErrorCode.ERROR_50004,"只有申请人才能撤销");
|
}
|
String content = "撤销申请";
|
taskInfo.setStatus(TaskInfo.UNCOMMITTED);
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskInfo.setModifiedat(new Date());
|
taskService.updateById(taskInfo);
|
|
TaskLog taskLog = new TaskLog(taskInfo.getCode(),content,userInfo.getRealname(),new Date(),getUser().getCompany());
|
taskLogService.save(taskLog);
|
return success();
|
}
|
|
@ApiOperation(value = "监火人检查",notes = "监火人检查")
|
@PostMapping("/supervisor/check")
|
public Msg supervisorCheck(@RequestBody TaskCheck taskCheck){
|
if (taskCheck == null || StringUtils.isBlank(taskCheck.getCode())){
|
return new Msg(ErrorCode.ERROR_10001);
|
}
|
TaskReview taskReview = taskCheck.getTaskReview();
|
if (taskReview == null || taskReview.getIsagree() == null){
|
return new Msg(ErrorCode.ERROR_10001,"审核信息不能为空");
|
}
|
UserInfo userInfo = userService.getById(getUser().getId());
|
TaskInfo taskInfo = taskService.getTaskByCode(taskCheck.getCode());
|
if (taskInfo == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
Date now = new Date();
|
if (now.getTime() < taskInfo.getStarttime().getTime() || now.getTime() > taskInfo.getEndtime().getTime()){
|
return new Msg(ErrorCode.ERROR_50004,"不在预计的工作时间");
|
}
|
byte isAgree = taskCheck.getTaskReview().getIsagree();
|
byte agree = 1;
|
byte refuse = 0;
|
if (isAgree == agree){
|
for (EquipmentInfo equipmentInfo:taskCheck.getEquipments()){
|
EquipmentInfo equipmentInfoExist = equipmentService.selectByNumber(equipmentInfo.getNumber());
|
TaskEquipmentBindInfo taskEquipmentBindInfo = new TaskEquipmentBindInfo();
|
if (equipmentInfoExist == null){
|
return new Msg(ErrorCode.ERROR_10004,"未找到该条码对应的设备");
|
}else {
|
taskEquipmentBindInfo.setEquipmentname(equipmentInfoExist.getName());
|
}
|
taskEquipmentBindInfo.setTaskcode(taskCheck.getCode());
|
taskEquipmentBindInfo.setEquipmentnumber(equipmentInfo.getNumber());
|
taskEquipmentBindInfo.setUpdateby(getUser().getRealname());
|
taskEquipmentBindInfo.setUpdatetime(new Date());
|
taskEquipmentBindService.save(taskEquipmentBindInfo);
|
}
|
taskInfo.setSupervisoropinion(taskCheck.getContent());
|
taskInfo.setFlag(TaskInfo.WAIT_START);
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskInfo.setModifiedat(new Date());
|
taskService.updateById(taskInfo);
|
String content = "监火人检查任务通过";
|
TaskLog taskLog = new TaskLog(taskInfo.getCode(),content,userInfo.getRealname(),new Date(),getUser().getCompany());
|
taskLogService.save(taskLog);
|
|
}else if (isAgree == refuse){
|
taskInfo.setSupervisoropinion(taskCheck.getContent());
|
taskInfo.setFlag(TaskInfo.WAIT_RECTIFY);
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskInfo.setModifiedat(new Date());
|
taskService.updateById(taskInfo);
|
List<TaskEnclosure> resources = taskCheck.getResources();
|
if (resources == null || resources.size() == 0){
|
return new Msg(ErrorCode.ERROR_10002);
|
}
|
taskEnclosureService.removeByTaskCodeAndType(taskInfo.getCode(),"检查整改问题");
|
|
resources.forEach(item->{
|
item.setTaskcode(taskCheck.getCode());
|
item.setCreatedat(new Date());
|
item.setCreatedby(userInfo.getRealname());
|
});
|
taskEnclosureService.saveBatch(taskCheck.getResources());
|
String content = "监火人检查任务不通过";
|
TaskLog taskLog = new TaskLog(taskInfo.getCode(),content,userInfo.getRealname(),new Date(),getUser().getCompany());
|
taskLogService.save(taskLog);
|
}
|
taskReviewService.saveReview(taskReview);
|
return success();
|
}
|
|
@PostMapping("/addEquipments")
|
@ApiOperation(value = "添加作业设备数据",response = Msg.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "taskcode",value = "作业编号"),
|
@ApiImplicitParam(name = "equipmentnumber",value = "设备条码"),
|
})
|
public Msg addTaskEquipments(@RequestBody TaskCheck taskCheck){
|
if (taskCheck == null || StringUtils.isBlank(taskCheck.getCode())){
|
return new Msg(ErrorCode.ERROR_10001);
|
}
|
TaskReview taskReview = taskCheck.getTaskReview();
|
if (taskReview == null || taskReview.getIsagree() == null){
|
return new Msg(ErrorCode.ERROR_10001,"审核信息不能为空");
|
}
|
|
UserInfo userInfo = userService.getById(getUser().getId());
|
TaskInfo taskInfo = taskService.getTaskByCode(taskCheck.getCode());
|
if (taskInfo == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
if (!taskInfo.getFlag().equals(TaskInfo.WAIT_START)){
|
return new Msg(ErrorCode.ERROR_50004);
|
}
|
|
Date now = new Date();
|
if (now.getTime() < taskInfo.getStarttime().getTime() || now.getTime() > taskInfo.getEndtime().getTime()){
|
return new Msg(ErrorCode.ERROR_50004,"不在预计的工作时间");
|
}
|
if (taskCheck.getEquipments() == null || taskCheck.getEquipments().size() == 0){
|
return new Msg(ErrorCode.ERROR_10002,"设备信息不能为空");
|
}
|
|
List<TaskEquipmentBindInfo>equipmentBindInfos = new ArrayList<>();
|
List<EquipmentInfo>equipmentInfos = new ArrayList<>();
|
for (EquipmentInfo equipmentInfo:taskCheck.getEquipments()){
|
EquipmentInfo equipmentInfoExist = equipmentService.selectByNumber(equipmentInfo.getNumber());
|
taskEquipmentBindService.removeByTaskCode(taskCheck.getCode(),userInfo.getRealname());
|
TaskEquipmentBindInfo taskEquipmentBindInfo = new TaskEquipmentBindInfo();
|
if (equipmentInfoExist == null){
|
return new Msg(ErrorCode.ERROR_10004,equipmentInfo.getNumber()+" 未找到该条码对应的设备");
|
}else if (equipmentInfoExist.getStatus() == (byte)1){
|
return new Msg(ErrorCode.ERROR_10004,equipmentInfo.getNumber()+" 该设备正在使用中");
|
}else {
|
taskEquipmentBindInfo.setEquipmentname(equipmentInfoExist.getName());
|
}
|
taskEquipmentBindInfo.setTaskcode(taskCheck.getCode());
|
taskEquipmentBindInfo.setEquipmentnumber(equipmentInfo.getNumber());
|
taskEquipmentBindInfo.setUpdateby(userInfo.getRealname());
|
taskEquipmentBindInfo.setUpdatetime(new Date());
|
equipmentBindInfos.add(taskEquipmentBindInfo);
|
byte using = 1;
|
equipmentInfoExist.setStatus(using);
|
equipmentInfos.add(equipmentInfoExist);
|
}
|
taskEquipmentBindService.saveBatch(equipmentBindInfos);
|
equipmentService.updateBatchById(equipmentInfos);
|
taskInfo.setSupervisoropinion(taskCheck.getContent());
|
taskInfo.setFlag(TaskInfo.DOING);
|
taskInfo.setModifiedby(userInfo.getRealname());
|
taskInfo.setModifiedat(new Date());
|
taskService.updateById(taskInfo);
|
taskReviewService.saveReview(taskReview);
|
String content = "绑定设备,准备开始工作";
|
TaskLog taskLog = new TaskLog(taskInfo.getCode(),content,userInfo.getRealname(),new Date(),getUser().getCompany());
|
taskLogService.save(taskLog);
|
return success();
|
}
|
|
@PostMapping("/flag/check")
|
@ApiOperation(value = "将异常任务修改成待检查",response = Msg.class)
|
public Msg changeStatus(@RequestBody TaskCheck taskCheck){
|
if (StringUtils.isBlank(taskCheck.getCode())){
|
return new Msg(ErrorCode.ERROR_10001);
|
}
|
TaskInfo taskInfo = taskService.getTaskByCode(taskCheck.getCode());
|
if (taskInfo == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
if (!(taskInfo.getFlag().equals(TaskInfo.WAIT_RECTIFY) || taskInfo.getFlag().equals(TaskInfo.ABORT) )){
|
return new Msg(ErrorCode.ERROR_50004);
|
}
|
|
taskInfo.setFlag(TaskInfo.WAIT_CHECK);
|
taskInfo.setModifiedat(new Date());
|
taskInfo.setModifiedby(getUser().getRealname());
|
taskService.updateById(taskInfo);
|
|
return success();
|
}
|
|
@PostMapping("/flag/abort")
|
@ApiOperation(value = "将进行中的任务改为中止",response = Msg.class)
|
public Msg changeStatusAbort(@RequestBody TaskCheck taskCheck){
|
if (StringUtils.isBlank(taskCheck.getCode())){
|
return new Msg(ErrorCode.ERROR_10001);
|
}
|
TaskInfo taskInfo = taskService.getTaskByCode(taskCheck.getCode());
|
if (taskInfo == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
if (!(taskInfo.getFlag().equals(TaskInfo.DOING))){
|
return new Msg(ErrorCode.ERROR_50004);
|
}
|
|
UserInfo userInfo = userService.getById(getUser().getId());
|
taskInfo.setFlag(TaskInfo.ABORT);
|
taskInfo.setModifiedat(new Date());
|
taskInfo.setModifiedby(getUser().getRealname());
|
taskInfo.setContent(taskCheck.getContent());
|
taskEnclosureService.removeAndSave(taskCheck,userInfo);
|
|
List<EquipmentInfo>equipmentInfos = equipmentService.selectUsingByTask(taskCheck.getCode());
|
equipmentInfos.forEach(item->{
|
byte free = 0;
|
item.setStatus(free);
|
item.setUpdatetime(new Date());
|
item.setUpdateby(getUser().getRealname());
|
});
|
equipmentService.updateBatchById(equipmentInfos);
|
taskService.updateById(taskInfo);
|
|
return success();
|
}
|
|
@PostMapping("/flag/complete")
|
@ApiOperation(value = "将进行中的任务改为已完成",response = Msg.class)
|
public Msg changeStatusComplete(@RequestBody TaskCheck taskCheck){
|
if (StringUtils.isBlank(taskCheck.getCode())){
|
return new Msg(ErrorCode.ERROR_10001);
|
}
|
TaskInfo taskInfo = taskService.getTaskByCode(taskCheck.getCode());
|
if (taskInfo == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
if (!(taskInfo.getFlag().equals(TaskInfo.DOING))){
|
return new Msg(ErrorCode.ERROR_50004);
|
}
|
|
taskInfo.setFlag(TaskInfo.COMPLETE);
|
taskInfo.setModifiedat(new Date());
|
taskInfo.setModifiedby(getUser().getRealname());
|
taskInfo.setOpinion(taskCheck.getContent());
|
if (taskCheck.getResources() != null && taskCheck.getResources().size() != 0){
|
taskEnclosureService.removeByTaskCodeAndType(taskInfo.getCode(),"检查整改问题");
|
List<TaskEnclosure> resources = taskCheck.getResources();
|
resources.forEach(item->{
|
item.setTaskcode(taskCheck.getCode());
|
item.setCreatedat(new Date());
|
item.setCreatedby(getUser().getRealname());
|
});
|
taskEnclosureService.saveBatch(taskCheck.getResources());
|
}
|
List<EquipmentInfo>equipmentInfos = equipmentService.selectUsingByTask(taskCheck.getCode());
|
equipmentInfos.forEach(item->{
|
byte free = 0;
|
item.setStatus(free);
|
item.setUpdatetime(new Date());
|
item.setUpdateby(getUser().getRealname());
|
});
|
equipmentService.updateBatchById(equipmentInfos);
|
taskService.updateById(taskInfo);
|
|
return success();
|
}
|
|
@ApiOperation(value = "变更监护人",response = Msg.class)
|
@PostMapping("/changeSupervisor")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "taskcode",value = "任务编号"),
|
@ApiImplicitParam(name = "approversupervisor",value = "监护人")
|
})
|
public Msg changeSupervisor(@RequestBody JSONObject object){
|
String taskCode = object.getString("taskcode");
|
if (StringUtils.isBlank(taskCode)){
|
return new Msg(ErrorCode.ERROR_10001);
|
}
|
TaskInfo taskInfo = taskService.getTaskByCode(taskCode);
|
UserInfo userInfo = userService.getById(getUser().getId());
|
List<Byte>statusList = Arrays.asList(TaskInfo.REJECTED,TaskInfo.UNCOMMITTED,TaskInfo.COMMITTED,TaskInfo.CONTRACTOR_APPROVED);
|
if(statusList.contains(taskInfo.getStatus()) || taskInfo.getFlag().equals(TaskInfo.COMPLETE)){
|
return new Msg(ErrorCode.ERROR_50004,"当前任务状态不允许修改监护人");
|
}
|
String approversupervisor = object.getString("approversupervisor");
|
if (StringUtils.isBlank(approversupervisor)){
|
return new Msg(ErrorCode.ERROR_10001,"监护人不能为空");
|
}
|
UserInfo userInfo1 = userService.selectByRealName(null,approversupervisor);
|
if (userInfo1 == null){
|
return new Msg(ErrorCode.ERROR_10001,"所选监护人未录入系统");
|
}
|
//修改监护人
|
taskInfo.setApproversupervisor(approversupervisor);
|
|
String content = "变更监护人,由 "+taskInfo.getApproversupervisor()+" 变更为 "+approversupervisor;
|
TaskLog taskLog = new TaskLog(taskInfo.getCode(),content,userInfo.getRealname(),new Date(),userInfo.getCompany());
|
taskLogService.save(taskLog);
|
|
taskService.updateById(taskInfo);
|
|
return success();
|
}
|
|
@ApiOperation(value = "修改作业人",response = Msg.class)
|
@PostMapping("/changeWorker")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "code",value = "任务编号"),
|
@ApiImplicitParam(name = "status",value = "审批状态"),
|
@ApiImplicitParam(name = "flag",value = "任务状态"),
|
})
|
public Msg changeWorker(@RequestBody List<TaskWorkerVo> taskWorkers){
|
if (taskWorkers == null || taskWorkers.size() < 1 || StringUtils.isBlank(taskWorkers.get(0).getTaskcode())){
|
return new Msg(ErrorCode.ERROR_10001);
|
}
|
String taskCode = taskWorkers.get(0).getTaskcode();
|
TaskInfo taskInfo = taskService.getTaskByCode(taskCode);
|
UserInfo userInfo = userService.getById(getUser().getId());
|
|
List<TaskWorker> taskWorkerList = taskWorkerService.getListByTaskCode(taskInfo.getCode());
|
|
StringBuilder s = new StringBuilder();
|
StringBuilder s1 = new StringBuilder();
|
taskWorkerList.forEach(item-> s.append(item.getWorker()).append(","));
|
taskWorkers.forEach(item-> s1.append(item.getWorker()).append(","));
|
String content = "变更作业人员,由 "+s.toString()+" 变更为 "+s1.toString();
|
TaskLog taskLog = new TaskLog(taskInfo.getCode(),content,userInfo.getRealname(),new Date(),userInfo.getCompany());
|
taskLogService.save(taskLog);
|
taskWorkerService.deleteByTaskCode(taskInfo.getCode());
|
taskWorkerService.saveBatch(taskWorkers,userInfo);
|
|
return success();
|
}
|
|
|
@ApiOperation(value = "修改任务状态(Status/Flag)",response = Msg.class)
|
@PostMapping("/changeStatusFlag")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "code",value = "任务编号"),
|
@ApiImplicitParam(name = "status",value = "审批状态"),
|
@ApiImplicitParam(name = "flag",value = "任务状态"),
|
})
|
public Msg changeStatusFlag(@RequestBody JSONObject object){
|
if (StringUtils.isBlank(object.getString("code"))){
|
return new Msg(ErrorCode.ERROR_10001);
|
}
|
TaskInfo taskInfo = taskService.getTaskByCode(object.getString("code"));
|
if (taskInfo == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
if (object.getString("status")!=null){
|
taskInfo.setStatus(object.getByte("status"));
|
}
|
if (object.getString("flag")!=null){
|
taskInfo.setFlag(object.getByte("flag"));
|
}
|
taskService.updateById(taskInfo);
|
return success();
|
}
|
|
@ApiOperation(value = "获取任务状态(Flag)",response = Msg.class)
|
@GetMapping("/getFlag")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "code",value = "任务编号")
|
})
|
public Msg getFlagByTaskCode(@RequestParam String code){
|
if (StringUtils.isBlank(code)){
|
return new Msg(ErrorCode.ERROR_10001);
|
}
|
TaskInfo taskInfo = taskService.getTaskByCode(code);
|
if (taskInfo == null){
|
return new Msg(ErrorCode.ERROR_50001);
|
}
|
return success(taskInfo.getFlag());
|
}
|
|
@GetMapping("/statistics")
|
@ApiOperation(value = "统计隐患数据",response = Msg.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "pageIndex",value = "当前页码"),
|
@ApiImplicitParam(name = "pageSize",value = "每页行数"),
|
@ApiImplicitParam(name = "sort",value = "排序规则"),
|
@ApiImplicitParam(name = "order",value = "排序字段"),
|
@ApiImplicitParam(name = "starttime",value = "开始时间"),
|
@ApiImplicitParam(name = "endtime",value = "结束时间"),
|
@ApiImplicitParam(name = "company",value = "单位"),
|
})
|
public Msg getUserInfo(@RequestParam(defaultValue = "0") Integer pageIndex, @RequestParam(defaultValue = "10") Integer pageSize, String sort,String order,
|
String company, String type, String starttime,String endtime, Byte status, Byte flag){
|
|
PageInfo pageInfo = new PageInfo(pageIndex, pageSize,sort,order);
|
HashMap<String, Object> condition = new HashMap<>();
|
|
if (StringUtils.isNotBlank(company)) {
|
condition.put("company", company.trim());
|
}
|
|
if (StringUtils.isNotBlank(starttime)) {
|
condition.put("starttime", starttime.trim());
|
}
|
|
if (StringUtils.isNotBlank(endtime)) {
|
condition.put("endtime", endtime.trim());
|
}
|
|
if (StringUtils.isNotBlank(type)) {
|
condition.put("type", type.trim());
|
}
|
|
if (null != status) {
|
condition.put("status", status);
|
}
|
|
if (null != flag) {
|
condition.put("flag", flag);
|
}
|
|
UserInfo userInfo = userService.selectByUser(getUser().getUsername());
|
|
if (!companyService.isMain(userInfo.getCompany())){
|
condition.put("company", userInfo.getCompany());
|
}
|
|
pageInfo.setCondition(condition);
|
taskService.selectStatisticsData(pageInfo);
|
return success(pageInfo);
|
}
|
|
|
|
|
//获取在作业中的作业 包括作业类型 作业内容和作业开始事件和结束事件
|
@GetMapping("/workShow/taskList")
|
public Msg workShowTaskList() {
|
List<TaskVo> taskList = taskService.getWorkShowTaskList(getUser());
|
return success(taskList);
|
}
|
|
|
//获取在作业中的作业的人员信息,常调用;
|
@GetMapping("/workShow/personList")
|
public Msg workShowPersonList(){
|
List<TaskVo> taskList = taskService.getWorkShowPersonList(getUser());
|
return success(taskList);
|
}
|
|
@GetMapping("/workCert-regenerate")
|
public Msg workShowPerson(@RequestParam String code){
|
taskService.generateAllWorkCert(code);
|
return success();
|
}
|
|
}
|