项目库-任务清单-批量设置认证进度和状态

This commit is contained in:
liyawei
2022-08-22 17:18:22 +08:00
parent 69baed0a9f
commit 1580c1f168
8 changed files with 279 additions and 32 deletions
@@ -1,26 +1,28 @@
package com.jero.modules.project.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jero.common.api.vo.Result;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.project.entity.ConditionAssessmentEO;
import com.jero.modules.project.service.IConditionAssessmentEOService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.project.entity.ConditionAssessmentEO;
import com.jero.modules.project.service.IConditionAssessmentEOService;
import com.jero.modules.project.vo.ConditionAssessmentVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.jero.common.aspect.annotation.AutoLog;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
@@ -181,4 +183,16 @@ public class ConditionAssessmentEOController extends JeroController<ConditionAss
return conditionAssessmentEOService.addOrUpdate(conditionAssessmentEO);
}
/**
* 批量添加或修改
*
* @param conditionAssessmentVO
* @return
*/
@AutoLog(value = "任务清单-项目状态评估表-批量添加或修改")
@ApiOperation(value="任务清单-项目状态评估表-批量添加或修改", notes="任务清单-项目状态评估表-批量添加或修改")
@PostMapping(value = "/addOrUpdateBatch")
public Result<?> addOrUpdateConditionAssessmentBatch(@RequestBody ConditionAssessmentVO conditionAssessmentVO) {
return conditionAssessmentEOService.addOrUpdateBatch(conditionAssessmentVO);
}
}
@@ -1,27 +1,27 @@
package com.jero.modules.project.controller;
import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.api.vo.Result;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.project.entity.ProjectTaskInventoryEO;
import com.jero.modules.project.service.IProjectTaskInventoryEOService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.project.entity.ProjectTaskInventoryEO;
import com.jero.modules.project.service.IProjectTaskInventoryEOService;
import com.jero.modules.project.vo.ProjectTaskInventoryVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.jero.common.aspect.annotation.AutoLog;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
/**
@@ -203,4 +203,32 @@ public class ProjectTaskInventoryEOController extends JeroController<ProjectTask
public Result<?> remindDispose(@RequestBody JSONObject jsonObject){
return this.projectTaskInventoryEOService.remindDispose(jsonObject);
}
/**
* 编辑
*
* @param projectTaskInventoryVO
* @return
*/
@AutoLog(value = "项目库-任务清单表-批量维护进度")
@ApiOperation(value="项目库-任务清单表-批量维护进度", notes="项目库-任务清单表-批量维护进度")
@PutMapping(value = "/editBatch")
public Result<?> editCertificationProgressBatch(@RequestBody ProjectTaskInventoryVO projectTaskInventoryVO) {
projectTaskInventoryEOService.editBatch(projectTaskInventoryVO);
return Result.OK("编辑成功!");
}
/**
* 认证进度和当前状态修改时,校验角色是否符合
*
* @param projectTaskInventoryVO
* @return
*/
@AutoLog(value = "项目库-任务清单表-校验角色是否符合")
@ApiOperation(value="项目库-任务清单表-校验角色是否符合", notes="项目库-任务清单表-校验角色是否符合")
@PutMapping(value = "/verifyRoleCode")
public Result<?> verifyRoleCode(@RequestBody ProjectTaskInventoryVO projectTaskInventoryVO) {
List<String> msgList = projectTaskInventoryEOService.verifyRoleCode(projectTaskInventoryVO);
return Result.OK(msgList);
}
}
@@ -1,11 +1,11 @@
package com.jero.modules.project.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.api.vo.Result;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.project.entity.ConditionAssessmentEO;
import com.jero.modules.project.entity. ConditionAssessmentEO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.project.entity.ProjectTaskInventoryEO;
import com.jero.modules.project.vo.ConditionAssessmentVO;
import java.util.List;
import java.util.Map;
@@ -92,4 +92,10 @@ public interface IConditionAssessmentEOService extends IService<ConditionAssessm
* @return
*/
List<Map<String,Object>> getProjectStatusAssessStatisticsGroupByTerritory(Map<String,Object> params);
/**
* 任务清单-项目状态评估表-批量添加或修改
* @param conditionAssessmentVO
*/
Result<?> addOrUpdateBatch(ConditionAssessmentVO conditionAssessmentVO);
}
@@ -1,9 +1,10 @@
package com.jero.modules.project.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.api.vo.Result;
import com.jero.modules.project.entity.ProjectTaskInventoryEO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.project.vo.ProjectTaskInventoryVO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -84,5 +85,21 @@ public interface IProjectTaskInventoryEOService extends IService<ProjectTaskInve
*/
void deleteByProjectLawsInventoryIds(List<String> projectLawsInventoryIds);
/**
* 批量更新认证进度
*
* @param projectTaskInventoryVO
* @return
*/
void editBatch(ProjectTaskInventoryVO projectTaskInventoryVO);
/**
* 校验角色是否符合
*
* @param projectTaskInventoryVO
* @return
*/
List<String> verifyRoleCode(ProjectTaskInventoryVO projectTaskInventoryVO);
void exportXls(HttpServletResponse response, HttpServletRequest request, ProjectTaskInventoryEO projectTaskInventoryEO);
}
@@ -1,6 +1,7 @@
package com.jero.modules.project.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.project.entity.ConditionAssessmentEO;
@@ -8,6 +9,7 @@ import com.jero.modules.project.entity.ProjectTaskInventoryEO;
import com.jero.modules.project.enums.ProjectRoleEnum;
import com.jero.modules.project.mapper.ConditionAssessmentEOMapper;
import com.jero.modules.project.service.IConditionAssessmentEOService;
import com.jero.modules.project.vo.ConditionAssessmentVO;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
@@ -16,8 +18,6 @@ import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 任务清单-项目状态评估表
* @Author: jero-boot
@@ -251,4 +251,70 @@ public class ConditionAssessmentEOServiceImpl extends ServiceImpl<ConditionAsses
}
return result;
}
@Override
public Result<?> addOrUpdateBatch(ConditionAssessmentVO conditionAssessmentVO) {
List<String> projectLawsInventoryIdList = Arrays.asList(conditionAssessmentVO.getProjectLawsInventoryIds().split(","));
List<String> roleCodeListOld = Arrays.asList(conditionAssessmentVO.getRoleCodes().split(","));
for (int i=0; i < projectLawsInventoryIdList.size(); i++) {
String projectLawsInventoryId = projectLawsInventoryIdList.get(i);
String roleCode = roleCodeListOld.get(i);
List<String> roleCodeList = new ArrayList<>();
List<ConditionAssessmentEO> list = new ArrayList<>();
if (StringUtils.equals(roleCode, ProjectRoleEnum.REGULATI_ENGINEER.getValue())) {
roleCodeList.add(ProjectRoleEnum.REGULATI_ENGINEER.getValue());
ConditionAssessmentEO regulatiEngineer = new ConditionAssessmentEO();
regulatiEngineer.setProjectLawsInventoryId(projectLawsInventoryId);
regulatiEngineer.setConditionAssessment(conditionAssessmentVO.getConditionAssessment());
regulatiEngineer.setRemark(conditionAssessmentVO.getRemark());
regulatiEngineer.setRoleCode(ProjectRoleEnum.REGULATI_ENGINEER.getValue());
list.add(regulatiEngineer);
} else if (StringUtils.equals(roleCode, ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue())) {
roleCodeList.add(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue());
ConditionAssessmentEO homologationEngineer = new ConditionAssessmentEO();
homologationEngineer.setProjectLawsInventoryId(projectLawsInventoryId);
homologationEngineer.setConditionAssessment(conditionAssessmentVO.getConditionAssessment());
homologationEngineer.setRemark(conditionAssessmentVO.getRemark());
homologationEngineer.setRoleCode(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue());
list.add(homologationEngineer);
} else if (StringUtils.equals(roleCode, ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getValue())) {
roleCodeList.add(ProjectRoleEnum.REGULATI_ENGINEER.getValue());
roleCodeList.add(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue());
ConditionAssessmentEO regulatiEngineer = new ConditionAssessmentEO();
regulatiEngineer.setProjectLawsInventoryId(projectLawsInventoryId);
regulatiEngineer.setConditionAssessment(conditionAssessmentVO.getConditionAssessment());
regulatiEngineer.setRemark(conditionAssessmentVO.getRemark());
regulatiEngineer.setRoleCode(ProjectRoleEnum.REGULATI_ENGINEER.getValue());
ConditionAssessmentEO homologationEngineer = new ConditionAssessmentEO();
homologationEngineer.setProjectLawsInventoryId(projectLawsInventoryId);
homologationEngineer.setConditionAssessment(conditionAssessmentVO.getConditionAssessment());
homologationEngineer.setRemark(conditionAssessmentVO.getRemark());
homologationEngineer.setRoleCode(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue());
list.add(regulatiEngineer);
list.add(homologationEngineer);
}
if(CollectionUtils.isNotEmpty(list)){
QueryWrapper<ConditionAssessmentEO> deleteWrapper = new QueryWrapper<>();
deleteWrapper.lambda().eq(ConditionAssessmentEO::getProjectLawsInventoryId,projectLawsInventoryId);
deleteWrapper.lambda().in(ConditionAssessmentEO::getRoleCode,roleCodeList);
this.baseMapper.delete(deleteWrapper);
saveBatch(list);
}
}
return Result.ok();
}
}
@@ -18,6 +18,7 @@ import com.jero.modules.project.service.IConditionAssessmentEOService;
import com.jero.modules.project.service.IProjectLawsInventoryEOService;
import com.jero.modules.project.service.IProjectTaskInventoryEOService;
import com.jero.modules.project.util.SendMessageUtils;
import com.jero.modules.project.vo.ProjectTaskInventoryVO;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.mapper.SysUserMapper;
@@ -459,6 +460,88 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
this.baseMapper.delete(deleteWrapper);
}
@Override
public void editBatch(ProjectTaskInventoryVO projectTaskInventoryVO) {
List<String> idList = Arrays.asList(projectTaskInventoryVO.getIds().split(","));
List<ProjectTaskInventoryEO> updateEOList = new ArrayList<>();
for (String id : idList) {
ProjectTaskInventoryEO updateEO = new ProjectTaskInventoryEO();
updateEO.setId(id);
updateEO.setCertificationProgress(projectTaskInventoryVO.getCertificationProgress());
updateEO.setCertificationProgressRemark(projectTaskInventoryVO.getCertificationProgressRemark());
Date now = new Date();
updateEO.setUpdateTime(now);
updateEOList.add(updateEO);
}
updateBatchById(updateEOList);
}
@Override
public List<String> verifyRoleCode(ProjectTaskInventoryVO projectTaskInventoryVO) {
List<String> projectLawsInventoryIdList = Arrays.asList(projectTaskInventoryVO.getProjectLawsInventoryIds().split(","));
List<String> roleCodeList = Arrays.asList(projectTaskInventoryVO.getRoleCodes().split(","));
String cut = projectTaskInventoryVO.getCut();
String operation = projectTaskInventoryVO.getOperation();
List<Map<String, String>> msgMapList = new ArrayList<>();
for (int i=0; i < projectLawsInventoryIdList.size(); i++) {
String projectLawsInventoryId = projectLawsInventoryIdList.get(i);
String roleCode = roleCodeList.get(i);
ProjectLawsInventoryEO projectLawsInventoryEO = projectLawsInventoryEOService.getById(projectLawsInventoryId);
Map<String, String> msgMap = new HashMap<>();
if ("1".equals(operation)) {
if (! ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue().equals(roleCode)) {
msgMap.put("serialNumber", projectLawsInventoryEO.getSerialNumber());
}
} else if ("2".equals(operation)) {
if (!(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue().equals(roleCode)
|| ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue().equals(roleCode)
|| ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getValue().equals(roleCode))) {
msgMap.put("serialNumber", projectLawsInventoryEO.getSerialNumber());
}
}
}
return getMsg(msgMapList, cut, operation);
}
private List<String> getMsg(List<Map<String, String>> msgMapList, String cut, String operation) {
List<String> msgList = new ArrayList<>();
for (Map<String, String> msgMap : msgMapList) {
String serialNumber = msgMap.get("serialNumber");
StringBuilder stringBuilder = new StringBuilder();
if ("1".equals(operation)) {
if (CutEnum.EN.getValue().equals(cut)) {
stringBuilder.append("Number ").append("<span style='color: red'>").append(serialNumber).append("</span>").append(", the current user can not maintain homologation progress.");
} else {
stringBuilder.append("编号").append("<span style='color: red'>").append(serialNumber).append("</span>").append(",当前用户没有维护认证进度权限。");
}
} else if("2".equals(operation)) {
if (CutEnum.EN.getValue().equals(cut)) {
stringBuilder.append("Number ").append("<span style='color: red'>").append(serialNumber).append("</span>").append(", the current user can not modify current status.");
} else {
stringBuilder.append("编号").append("<span style='color: red'>").append(serialNumber).append("</span>").append("当前用户没有修改状态权限。");
}
}
msgList.add(stringBuilder.toString());
}
return msgList;
}
/**
* 创建任务清单列表数据
* @param projectTaskInventoryEOList
@@ -0,0 +1,15 @@
package com.jero.modules.project.vo;
import lombok.Data;
@Data
public class ConditionAssessmentVO {
private String cut;
// 当前状态
private String projectLawsInventoryIds;
private String roleCodes;
private String conditionAssessment;
private String remark;
}
@@ -0,0 +1,18 @@
package com.jero.modules.project.vo;
import lombok.Data;
@Data
public class ProjectTaskInventoryVO {
private String cut;
// 认证进度
private String ids;
private String projectLawsInventoryIds;
private String roleCodes;
private String certificationProgress;
private String certificationProgressRemark;
private String operation; // 1-维护进度,2-修改状态
}