项目库详情-合规认证计划-增加G0-G7属性。

This commit is contained in:
wangzhijiang
2023-05-05 11:38:20 +08:00
parent 1831de9144
commit 1ccef4c01f
7 changed files with 226 additions and 3 deletions
@@ -631,4 +631,16 @@ ALTER TABLE `dummy_inventory_base`
-- 市场认证清单 增加字段 2023-04-24 未同步生产环境
ALTER TABLE `auth_dummy_inventory_base`
ADD COLUMN `version_num` varchar(2000) NULL COMMENT '版本号' AFTER `state`,
ADD COLUMN `upgrade_explanation` varchar(2000) NULL COMMENT '升版说明' AFTER `version_num`;
ADD COLUMN `upgrade_explanation` varchar(2000) NULL COMMENT '升版说明' AFTER `version_num`;
-- 法规/认证任务计划 增加字段 2023-05-05 未同步生产环境
ALTER TABLE `project_task_planning`
ADD COLUMN `zero` datetime(0) NULL COMMENT '概念验证阶段' AFTER `sys_org_code`,
ADD COLUMN `one` datetime(0) NULL COMMENT '初样阶段' AFTER `zero`,
ADD COLUMN `two` datetime(0) NULL COMMENT '工艺方案阶段' AFTER `one`,
ADD COLUMN `three` datetime(0) NULL COMMENT '零件试制阶段' AFTER `two`,
ADD COLUMN `four` datetime(0) NULL COMMENT '整车装配工艺方案阶段' AFTER `three`,
ADD COLUMN `five` datetime(0) NULL COMMENT '预生产阶段' AFTER `four`,
ADD COLUMN `six` datetime(0) NULL COMMENT '试产阶段' AFTER `five`,
ADD COLUMN `seven` datetime(0) NULL COMMENT '小批量生产阶段' AFTER `six`,
ADD COLUMN `eight` datetime(0) NULL COMMENT '大规模生产阶段' AFTER `seven`;
@@ -13,6 +13,7 @@ import com.jero.modules.project.vo.TimeNodeVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
@@ -70,8 +71,12 @@ public class ProjectTaskPlanningController extends JeroController<ProjectTaskPla
@ApiOperation(value="法规,认证任务计划 (各阶段确认进度) 表-列表查询", notes="法规,认证任务计划 (各阶段确认进度) 表-列表查询")
@GetMapping(value = "/list")
public Result<ProjectTaskPlanning> queryList(@RequestParam(name="projectId",required=true) String projectId) {
ProjectTaskPlanning result = new ProjectTaskPlanning();
List<ProjectTaskPlanning> projectTaskPlanning = projectTaskPlanningService.queryList(projectId);
return Result.OK(projectTaskPlanning.get(0));
if(CollectionUtils.isNotEmpty(projectTaskPlanning)){
result = projectTaskPlanning.get(0);
}
return Result.OK(result);
}
/**
@@ -102,4 +102,49 @@ public class ProjectTaskPlanning implements Serializable {
@TableField(exist = false)
List<TimeNodeVO> timeNodeVOS;
/**概念验证阶段*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date zero;
/**初样阶段*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date one;
/**工艺方案阶段*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date two;
/**零件试制阶段*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date three;
/**整车装配工艺方案阶段*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date four;
/**预生产阶段*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date five;
/**试产阶段*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date six;
/**小批量生产阶段*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date seven;
/**大规模生产阶段*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date eight;
}
@@ -10,7 +10,6 @@ public enum ProjectTaskPlanningNameEnum {
// PREHOMO_DEADLINE("摸底试验结束","Pre-Homo Confirmation"), // name:Pre-Homo value:Pre-Homo
// ATTESTATION_START_TIME("认证试验结束","Homo Completion"),// name:认证开始 value:Certification begins
ATTESTATION_END_TIME("认证批准","Homo KO"),// name:认证结束 value:End of certification
// VERIFY_DEADLINE("验证符合性确认","Validation Compliance Confirmation"),
LIST_CONFIRMATION("清单发布","List Publishing"),
LEGAL_TASK_CONFIRMATION("责任确认","Responsibility Confirmation"),
@@ -19,7 +18,16 @@ public enum ProjectTaskPlanningNameEnum {
ATTESTATION_START_TIME("认证开始","Certification Start"),// name:认证开始 value:Certification begins
VERIFY_DEADLINE("验证核查","Verification And Verification"),
CERTIFICATION_SUBMISSION("认证提交","Certification Submission"),
G_ZERO("G0","G0"),
G_ONE("G1","G1"),
G_TWO("G2","G2"),
G_THREE("G3","G3"),
G_FOUR("G4","G4"),
G_FIVE("G5","G5"),
G_SIX("G6","G6"),
G_SEVEN("G7","G7"),
// VERIFY_DEADLINE("验证符合性确认","Validation Compliance Confirmation"),
;
String name;
String value;
@@ -11,6 +11,15 @@
<result column="attestation_start_time" property="attestationStartTime" />
<result column="attestation_end_time" property="attestationEndTime" />
<result column="verify_deadline" property="verifyDeadline" />
<result column="zero" property="zero" />
<result column="one" property="one" />
<result column="two" property="two" />
<result column="three" property="three" />
<result column="four" property="four" />
<result column="five" property="five" />
<result column="six" property="six" />
<result column="seven" property="seven" />
<result column="eight" property="eight" />
</resultMap>
@@ -135,6 +135,7 @@ public class ProjectTaskPlanningServiceImpl extends ServiceImpl<ProjectTaskPlann
listConfirmationVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
listConfirmationVO.setProjectId(projectTaskPlanning.getProjectId());
listConfirmationVO.setG(false);
timeNodeVOS.add(listConfirmationVO);
}
@@ -157,6 +158,7 @@ public class ProjectTaskPlanningServiceImpl extends ServiceImpl<ProjectTaskPlann
legalTaskConfirmationVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
legalTaskConfirmationVO.setProjectId(projectTaskPlanning.getProjectId());
legalTaskConfirmationVO.setG(false);
timeNodeVOS.add(legalTaskConfirmationVO);
}
@@ -179,6 +181,7 @@ public class ProjectTaskPlanningServiceImpl extends ServiceImpl<ProjectTaskPlann
designDeadlineVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
designDeadlineVO.setProjectId(projectTaskPlanning.getProjectId());
designDeadlineVO.setG(false);
timeNodeVOS.add(designDeadlineVO);
}
@@ -201,6 +204,7 @@ public class ProjectTaskPlanningServiceImpl extends ServiceImpl<ProjectTaskPlann
prehomoDeadlineVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
prehomoDeadlineVO.setProjectId(projectTaskPlanning.getProjectId());
prehomoDeadlineVO.setG(false);
timeNodeVOS.add(prehomoDeadlineVO);
}
@@ -223,6 +227,7 @@ public class ProjectTaskPlanningServiceImpl extends ServiceImpl<ProjectTaskPlann
attestationStartTimeVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
attestationStartTimeVO.setProjectId(projectTaskPlanning.getProjectId());
attestationStartTimeVO.setG(false);
timeNodeVOS.add(attestationStartTimeVO);
}
@@ -245,6 +250,7 @@ public class ProjectTaskPlanningServiceImpl extends ServiceImpl<ProjectTaskPlann
attestationEndTimeVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
attestationEndTimeVO.setProjectId(projectTaskPlanning.getProjectId());
attestationEndTimeVO.setG(false);
timeNodeVOS.add(attestationEndTimeVO);
}
@@ -267,6 +273,7 @@ public class ProjectTaskPlanningServiceImpl extends ServiceImpl<ProjectTaskPlann
verifyDeadlineVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
verifyDeadlineVO.setProjectId(projectTaskPlanning.getProjectId());
verifyDeadlineVO.setG(false);
timeNodeVOS.add(verifyDeadlineVO);
}
//认证提交
@@ -288,9 +295,145 @@ public class ProjectTaskPlanningServiceImpl extends ServiceImpl<ProjectTaskPlann
certificationSubmissionVo.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
certificationSubmissionVo.setProjectId(projectTaskPlanning.getProjectId());
certificationSubmissionVo.setG(false);
timeNodeVOS.add(certificationSubmissionVo);
}
// G0 - G7
if(ObjectUtils.isNotEmpty(projectTaskPlanning.getOne())){
TimeNodeVO timeNodeVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
timeNodeVO.setName(ProjectTaskPlanningNameEnum.G_ONE.getName());
}else{
timeNodeVO.setName(ProjectTaskPlanningNameEnum.G_ONE.getValue());
}
timeNodeVO.setTime(projectTaskPlanning.getOne());
if(projectTaskPlanning.getOne().after(trueNow)){
timeNodeVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getOne().before(trueNow)){
timeNodeVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
timeNodeVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVO.setProjectId(projectTaskPlanning.getProjectId());
timeNodeVO.setG(true);
timeNodeVOS.add(timeNodeVO);
}
if(ObjectUtils.isNotEmpty(projectTaskPlanning.getTwo())){
TimeNodeVO timeNodeVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
timeNodeVO.setName(ProjectTaskPlanningNameEnum.G_TWO.getName());
}else{
timeNodeVO.setName(ProjectTaskPlanningNameEnum.G_TWO.getValue());
}
timeNodeVO.setTime(projectTaskPlanning.getTwo());
if(projectTaskPlanning.getTwo().after(trueNow)){
timeNodeVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getTwo().before(trueNow)){
timeNodeVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
timeNodeVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVO.setProjectId(projectTaskPlanning.getProjectId());
timeNodeVO.setG(true);
timeNodeVOS.add(timeNodeVO);
}
if(ObjectUtils.isNotEmpty(projectTaskPlanning.getThree())){
TimeNodeVO timeNodeVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
timeNodeVO.setName(ProjectTaskPlanningNameEnum.G_THREE.getName());
}else{
timeNodeVO.setName(ProjectTaskPlanningNameEnum.G_THREE.getValue());
}
timeNodeVO.setTime(projectTaskPlanning.getThree());
if(projectTaskPlanning.getThree().after(trueNow)){
timeNodeVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getThree().before(trueNow)){
timeNodeVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
timeNodeVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVO.setProjectId(projectTaskPlanning.getProjectId());
timeNodeVO.setG(true);
timeNodeVOS.add(timeNodeVO);
}
if(ObjectUtils.isNotEmpty(projectTaskPlanning.getFour())){
TimeNodeVO timeNodeVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
timeNodeVO.setName(ProjectTaskPlanningNameEnum.G_FOUR.getName());
}else{
timeNodeVO.setName(ProjectTaskPlanningNameEnum.G_FOUR.getValue());
}
timeNodeVO.setTime(projectTaskPlanning.getFour());
if(projectTaskPlanning.getFour().after(trueNow)){
timeNodeVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getFour().before(trueNow)){
timeNodeVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
timeNodeVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVO.setProjectId(projectTaskPlanning.getProjectId());
timeNodeVO.setG(true);
timeNodeVOS.add(timeNodeVO);
}
if(ObjectUtils.isNotEmpty(projectTaskPlanning.getFive())){
TimeNodeVO timeNodeVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
timeNodeVO.setName(ProjectTaskPlanningNameEnum.G_FIVE.getName());
}else{
timeNodeVO.setName(ProjectTaskPlanningNameEnum.G_FIVE.getValue());
}
timeNodeVO.setTime(projectTaskPlanning.getFive());
if(projectTaskPlanning.getFive().after(trueNow)){
timeNodeVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getFive().before(trueNow)){
timeNodeVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
timeNodeVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVO.setProjectId(projectTaskPlanning.getProjectId());
timeNodeVO.setG(true);
timeNodeVOS.add(timeNodeVO);
}
if(ObjectUtils.isNotEmpty(projectTaskPlanning.getSix())){
TimeNodeVO timeNodeVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
timeNodeVO.setName(ProjectTaskPlanningNameEnum.G_SIX.getName());
}else{
timeNodeVO.setName(ProjectTaskPlanningNameEnum.G_SIX.getValue());
}
timeNodeVO.setTime(projectTaskPlanning.getSix());
if(projectTaskPlanning.getSix().after(trueNow)){
timeNodeVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getSix().before(trueNow)){
timeNodeVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
timeNodeVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVO.setProjectId(projectTaskPlanning.getProjectId());
timeNodeVO.setG(true);
timeNodeVOS.add(timeNodeVO);
}
if(ObjectUtils.isNotEmpty(projectTaskPlanning.getSeven())){
TimeNodeVO timeNodeVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
timeNodeVO.setName(ProjectTaskPlanningNameEnum.G_SEVEN.getName());
}else{
timeNodeVO.setName(ProjectTaskPlanningNameEnum.G_SEVEN.getValue());
}
timeNodeVO.setTime(projectTaskPlanning.getSeven());
if(projectTaskPlanning.getSeven().after(trueNow)){
timeNodeVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getSeven().before(trueNow)){
timeNodeVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
timeNodeVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVO.setProjectId(projectTaskPlanning.getProjectId());
timeNodeVO.setG(true);
timeNodeVOS.add(timeNodeVO);
}
// 排序
// Collections.sort(timeNodeVOS, listConfirmationVO);
timeNodeVOS = timeNodeVOS.stream()
@@ -11,6 +11,7 @@ public class TimeNodeVO implements Comparator<TimeNodeVO> {
private Date time;
private String status;
private String projectId;
private boolean isG; // 是否是G0 - G8
@Override
public int compare(TimeNodeVO o1, TimeNodeVO o2) {