任务清单-项目状态评估表开发。

This commit is contained in:
wangzhijiang
2022-05-12 15:23:21 +08:00
parent 81bccf8cb6
commit 16224a5dd2
7 changed files with 559 additions and 1 deletions
@@ -0,0 +1,183 @@
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.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.system.base.controller.JeroController;
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;
/**
* @Description: 任务清单-项目状态评估表
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
@Api(tags="任务清单-项目状态评估表")
@RestController
@RequestMapping("/project/projectTaskInventoryConditionAssessmentEO")
@Slf4j
public class ConditionAssessmentEOController extends JeroController<ConditionAssessmentEO, IConditionAssessmentEOService> {
@Autowired
private IConditionAssessmentEOService conditionAssessmentEOService;
/**
* 分页列表查询
*
* @param projectTaskInventoryConditionAssessmentEO
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "任务清单-项目状态评估表-分页列表查询")
@ApiOperation(value="任务清单-项目状态评估表-分页列表查询", notes="任务清单-项目状态评估表-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(ConditionAssessmentEO projectTaskInventoryConditionAssessmentEO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ConditionAssessmentEO> queryWrapper = QueryGenerator.initQueryWrapper(projectTaskInventoryConditionAssessmentEO, req.getParameterMap());
Page<ConditionAssessmentEO> page = new Page<ConditionAssessmentEO>(pageNo, pageSize);
IPage<ConditionAssessmentEO> pageList = conditionAssessmentEOService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "任务清单-项目状态评估表-列表查询")
@ApiOperation(value="任务清单-项目状态评估表-列表查询", notes="任务清单-项目状态评估表-列表查询")
@GetMapping(value = "/list")
public Result<List<ConditionAssessmentEO>> queryList() {
List<ConditionAssessmentEO> list = conditionAssessmentEOService.queryList();
return Result.OK(list);
}
/**
* 添加
*
* @param conditionAssessmentEO
* @return
*/
@AutoLog(value = "任务清单-项目状态评估表-添加")
@ApiOperation(value="任务清单-项目状态评估表-添加", notes="任务清单-项目状态评估表-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody ConditionAssessmentEO conditionAssessmentEO) {
conditionAssessmentEOService.add(conditionAssessmentEO);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param conditionAssessmentEO
* @return
*/
@AutoLog(value = "任务清单-项目状态评估表-编辑")
@ApiOperation(value="任务清单-项目状态评估表-编辑", notes="任务清单-项目状态评估表-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody ConditionAssessmentEO conditionAssessmentEO) {
conditionAssessmentEOService.editById(conditionAssessmentEO);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "任务清单-项目状态评估表-通过id删除")
@ApiOperation(value="任务清单-项目状态评估表-通过id删除", notes="任务清单-项目状态评估表-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
conditionAssessmentEOService.deleteById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "任务清单-项目状态评估表-批量删除")
@ApiOperation(value="任务清单-项目状态评估表-批量删除", notes="任务清单-项目状态评估表-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.conditionAssessmentEOService.deleteByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "任务清单-项目状态评估表-通过id查询")
@ApiOperation(value="任务清单-项目状态评估表-通过id查询", notes="任务清单-项目状态评估表-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
ConditionAssessmentEO projectTaskInventoryConditionAssessmentEO = conditionAssessmentEOService.queryById(id);
if(projectTaskInventoryConditionAssessmentEO==null) {
return Result.error("未找到对应数据");
}
return Result.OK(projectTaskInventoryConditionAssessmentEO);
}
/**
* 导出excel
*
* @param request
* @param conditionAssessmentEO
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ConditionAssessmentEO conditionAssessmentEO) {
return super.exportXls(request, conditionAssessmentEO, ConditionAssessmentEO.class, "任务清单-项目状态评估表");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, ConditionAssessmentEO.class);
}
/**
* 添加或修改
*
* @param conditionAssessmentEO
* @return
*/
@AutoLog(value = "任务清单-项目状态评估表-添加或修改")
@ApiOperation(value="任务清单-项目状态评估表-添加或修改", notes="任务清单-项目状态评估表-添加或修改")
@PostMapping(value = "/addOrUpdate")
public Result<?> addOrUpdate(@Validated @RequestBody ConditionAssessmentEO conditionAssessmentEO) {
return conditionAssessmentEOService.addOrUpdate(conditionAssessmentEO);
}
}
@@ -0,0 +1,83 @@
package com.jero.modules.project.entity;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 任务清单-项目状态评估表
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
@Data
@TableName("project_task_inventory_condition_assessment")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="project_task_inventory_condition_assessment对象", description="任务清单-项目状态评估表")
public class ConditionAssessmentEO implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private String sysOrgCode;
/**评估状态*/
@Excel(name = "评估状态", width = 15)
@ApiModelProperty(value = "评估状态")
private String conditionAssessment;
/**备注*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
private String remark;
/**法规清单id*/
@Excel(name = "法规清单id", width = 15)
@ApiModelProperty(value = "法规清单id")
private String projectLawsInventoryId;
/**角色编码 1:法规工程师 、2:认证工程师*/
@Excel(name = "角色编码 1:法规工程师 、2:认证工程师", width = 15)
@ApiModelProperty(value = "角色编码 1:法规工程师 、2:认证工程师")
private String roleCode;
@TableField(exist = false)
private String cut;
}
@@ -0,0 +1,17 @@
package com.jero.modules.project.mapper;
import java.util.List;
import com.jero.modules.project.entity.ConditionAssessmentEO;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 任务清单-项目状态评估表
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
public interface ConditionAssessmentEOMapper extends BaseMapper<ConditionAssessmentEO> {
}
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.project.mapper.ConditionAssessmentEOMapper">
<resultMap id="ProjectTaskInventoryConditionAssessmentEOResultMap" type="com.jero.modules.project.entity.ConditionAssessmentEO">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="condition_assessment" property="conditionAssessment" />
<result column="remark" property="remark" />
<result column="project_laws_inventory_id" property="projectLawsInventoryId" />
<result column="role_code" property="roleCode" />
</resultMap>
</mapper>
@@ -0,0 +1,78 @@
package com.jero.modules.project.service;
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 java.util.List;
/**
* @Description: 任务清单-项目状态评估表
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
public interface IConditionAssessmentEOService extends IService<ConditionAssessmentEO> {
/**
* 保存
*
* @param ConditionAssessmentEO
* @return
*/
void add(ConditionAssessmentEO ConditionAssessmentEO);
/**
* 更新
*
* @param ConditionAssessmentEO
* @return
*/
void editById(ConditionAssessmentEO ConditionAssessmentEO);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
ConditionAssessmentEO queryById(String id);
/**
* 列表查询
*
* @return
*/
List< ConditionAssessmentEO> queryList();
/**
* 任务清单-项目状态评估表-添加或修改
* @param ConditionAssessmentEO
*/
Result<?> addOrUpdate(ConditionAssessmentEO ConditionAssessmentEO);
/**
* 获取项目状态评估
* @param projectLawsInventoryId
* @param roleCode
* @return
*/
ConditionAssessmentEO getProjectStatusAssess(String projectLawsInventoryId, String roleCode, LoginUser currentUser);
}
@@ -0,0 +1,169 @@
package com.jero.modules.project.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.enums.ProjectRoleEnum;
import com.jero.modules.project.mapper.ConditionAssessmentEOMapper;
import com.jero.modules.project.service.IConditionAssessmentEOService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 任务清单-项目状态评估表
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
@Service
public class ConditionAssessmentEOServiceImpl extends ServiceImpl<ConditionAssessmentEOMapper,ConditionAssessmentEO> implements IConditionAssessmentEOService {
/**
* 保存
*
* @param conditionAssessmentEO
* @return
*/
@Override
public void add(ConditionAssessmentEO conditionAssessmentEO) {
Date now = new Date();
conditionAssessmentEO.setCreateTime(now);
conditionAssessmentEO.setUpdateTime(now);
save(conditionAssessmentEO);
}
/**
* 更新
*
* @param conditionAssessmentEO
* @return
*/
@Override
public void editById(ConditionAssessmentEO conditionAssessmentEO) {
Date now = new Date();
conditionAssessmentEO.setUpdateTime(now);
saveOrUpdate(conditionAssessmentEO);
}
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
public ConditionAssessmentEO queryById(String id) {
return getById(id);
}
/**
* 列表查询
*
* @return
*/
@Override
public List<ConditionAssessmentEO> queryList() {
return list();
}
@Override
public Result<?> addOrUpdate(ConditionAssessmentEO conditionAssessmentEO) {
List<String> roleCodeList = new ArrayList<>();
List<ConditionAssessmentEO> list = new ArrayList<>();
if(StringUtils.equals(conditionAssessmentEO.getRoleCode(), ProjectRoleEnum.REGULATI_ENGINEER.getValue())){
roleCodeList.add(ProjectRoleEnum.REGULATI_ENGINEER.getValue());
list.add(conditionAssessmentEO);
}else if(StringUtils.equals(conditionAssessmentEO.getRoleCode(), ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue())){
roleCodeList.add(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue());
list.add(conditionAssessmentEO);
}else if(StringUtils.equals(conditionAssessmentEO.getRoleCode(), ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getValue())){
roleCodeList.add(ProjectRoleEnum.REGULATI_ENGINEER.getValue());
roleCodeList.add(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue());
ConditionAssessmentEO regulatiEngineer = new ConditionAssessmentEO();
regulatiEngineer.setRoleCode(ProjectRoleEnum.REGULATI_ENGINEER.getValue());
BeanUtils.copyProperties(conditionAssessmentEO, regulatiEngineer);
ConditionAssessmentEO homologationEngineer = new ConditionAssessmentEO();
homologationEngineer.setRoleCode(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue());
BeanUtils.copyProperties(conditionAssessmentEO, homologationEngineer);
list.add(regulatiEngineer);
list.add(homologationEngineer);
}
if(CollectionUtils.isNotEmpty(list)){
QueryWrapper<ConditionAssessmentEO> deleteWrapper = new QueryWrapper<>();
deleteWrapper.lambda().eq(ConditionAssessmentEO::getProjectLawsInventoryId,conditionAssessmentEO.getProjectLawsInventoryId());
deleteWrapper.lambda().in(ConditionAssessmentEO::getRoleCode,roleCodeList);
this.baseMapper.delete(deleteWrapper);
saveBatch(list);
}
return Result.ok();
}
/**
* 获取项目状态评估
* @param projectLawsInventoryId
* @param roleCode
* @return
*/
@Override
public ConditionAssessmentEO getProjectStatusAssess(String projectLawsInventoryId, String roleCode,LoginUser currentUser) {
ConditionAssessmentEO result = null;
QueryWrapper<ConditionAssessmentEO> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ConditionAssessmentEO::getProjectLawsInventoryId,projectLawsInventoryId);
if(StringUtils.equals(roleCode,ProjectRoleEnum.REGULATI_ENGINEER.getValue()) || StringUtils.equals(roleCode,ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue())){
queryWrapper.lambda().eq(ConditionAssessmentEO::getCreateBy,currentUser.getUsername());
}
List<ConditionAssessmentEO> projectTaskInventoryConditionAssessmentEOList = this.baseMapper.selectList(queryWrapper);
if(CollectionUtils.isNotEmpty(projectTaskInventoryConditionAssessmentEOList)){
if(projectTaskInventoryConditionAssessmentEOList.size()>1){
// 匿名比较器排序
Collections.sort(projectTaskInventoryConditionAssessmentEOList, new Comparator<ConditionAssessmentEO>() {
@Override
public int compare(ConditionAssessmentEO p1, ConditionAssessmentEO p2) {
return p1.getConditionAssessment().compareTo(p2.getConditionAssessment());
}
});
}
result = projectTaskInventoryConditionAssessmentEOList.get(0);
}
return result;
}
}
@@ -10,6 +10,7 @@ import com.jero.common.system.vo.LoginUser;
import com.jero.modules.project.entity.*;
import com.jero.modules.project.enums.*;
import com.jero.modules.project.mapper.*;
import com.jero.modules.project.service.IConditionAssessmentEOService;
import com.jero.modules.project.service.IProjectTaskInventoryEOService;
import com.jero.modules.project.util.SendMessageUtils;
import com.jero.modules.system.entity.SysUser;
@@ -52,6 +53,8 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
@Autowired
private SysUserMapper sysUserMapper;
@Autowired
private IConditionAssessmentEOService conditionAssessmentEOService;
/**
* 保存
@@ -77,7 +80,7 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
public void editById(ProjectTaskInventoryEO projectTaskInventoryEO) {
Date now = new Date();
projectTaskInventoryEO.setUpdateTime(now);
saveOrUpdate(projectTaskInventoryEO);
this.baseMapper.updateById(projectTaskInventoryEO);
}
/**
@@ -322,6 +325,9 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
boolean isHomologationEngineer = StringUtils.equals(projectTaskInventoryEO.getHomologationEngineerId(),currentUser.getId());
//是否是studio
boolean isStudio = StringUtils.equals(ProjectRoleEnum.STUDIO_ENGINEER.getValue(),String.valueOf(isProjectRole));
if(isStudio){
roleCode = ProjectRoleEnum.STUDIO_ENGINEER.getValue();
}
if(isRegulationOwner){
roleCode = ProjectRoleEnum.REGULATI_ENGINEER.getValue();
}
@@ -332,6 +338,12 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
roleCode = ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getValue();
}
ConditionAssessmentEO projectStatusAssess = conditionAssessmentEOService.getProjectStatusAssess(projectTaskInventoryEO.getProjectLawsInventoryId(),roleCode,currentUser);
if(projectStatusAssess != null){
projectTaskInventoryEO.setProjectStatusAssess(projectStatusAssess.getConditionAssessment());
projectTaskInventoryEO.setProjectStatusAssessRemark(projectStatusAssess.getRemark());
}
projectTaskInventoryEO.setRoleCode(roleCode);
String designPid = "";