项目、机组修改
This commit is contained in:
parent
b9900214cd
commit
061ed776f1
|
@ -0,0 +1,34 @@
|
||||||
|
package com.dite.znpt.domain.dto;
|
||||||
|
|
||||||
|
import com.dite.znpt.annotations.MatchType;
|
||||||
|
import com.dite.znpt.annotations.QueryCondition;
|
||||||
|
import com.dite.znpt.domain.entity.DefectEntity;
|
||||||
|
import com.dite.znpt.domain.entity.OutWorkDefectEntity;
|
||||||
|
import com.dite.znpt.domain.entity.job.DefectDTO;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Data
|
||||||
|
public class OutWorkDefectDTO extends OutWorkDefectEntity {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "部件编号", example = "GG1", notes = "部件编号")
|
||||||
|
@QueryCondition(func = MatchType.like)
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
@ApiModelProperty("图片地址")
|
||||||
|
@QueryCondition(func = MatchType.like)
|
||||||
|
@JsonIgnore
|
||||||
|
private String urls;
|
||||||
|
|
||||||
|
@ApiModelProperty("是否有缺陷:1有,0无")
|
||||||
|
@QueryCondition(func = MatchType.equal)
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
@ApiModelProperty("缺陷列表")
|
||||||
|
private List<DefectDTO> defectList;
|
||||||
|
}
|
|
@ -78,12 +78,12 @@ public class DefectEntity extends AuditableEntity implements Serializable {
|
||||||
@ExcelProperty("弦向")
|
@ExcelProperty("弦向")
|
||||||
@ApiModelProperty("弦向")
|
@ApiModelProperty("弦向")
|
||||||
@TableField("chordwise")
|
@TableField("chordwise")
|
||||||
private Integer chordwise;
|
private String chordwise;
|
||||||
|
|
||||||
@ExcelProperty("轴向")
|
@ExcelProperty("轴向")
|
||||||
@ApiModelProperty("轴向")
|
@ApiModelProperty("轴向")
|
||||||
@TableField("axial")
|
@TableField("axial")
|
||||||
private Integer axial;
|
private String axial;
|
||||||
|
|
||||||
@ExcelProperty("标注信息")
|
@ExcelProperty("标注信息")
|
||||||
@ApiModelProperty("标注信息")
|
@ApiModelProperty("标注信息")
|
||||||
|
@ -100,5 +100,15 @@ public class DefectEntity extends AuditableEntity implements Serializable {
|
||||||
@TableField("repair_idea")
|
@TableField("repair_idea")
|
||||||
private String repairIdea;
|
private String repairIdea;
|
||||||
|
|
||||||
|
@ExcelProperty("距离叶根/叶尖")
|
||||||
|
@ApiModelProperty("距离叶根/叶尖")
|
||||||
|
@TableField("with_leaf")
|
||||||
|
private String withLeaf;
|
||||||
|
|
||||||
|
@ExcelProperty("距离叶根/叶尖xx米")
|
||||||
|
@ApiModelProperty("距离叶根/叶尖xx米")
|
||||||
|
@TableField("with_leaf_distance")
|
||||||
|
private String withLeafDistance;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
package com.dite.znpt.domain.entity;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import com.dite.znpt.domain.AuditableEntity;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author huise23
|
||||||
|
* @date 2025/04/30 15:54
|
||||||
|
* @Description: 外部工作-缺陷关联表实体类
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@TableName("gaea_out_work_defect")
|
||||||
|
@ApiModel(value="OutWorkDefectEntity对象", description="外部工作-缺陷关联表")
|
||||||
|
public class OutWorkDefectEntity extends AuditableEntity implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 869306338404475124L;
|
||||||
|
|
||||||
|
@ExcelProperty("id")
|
||||||
|
@ApiModelProperty("id")
|
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@ExcelProperty("外部工作id")
|
||||||
|
@ApiModelProperty("外部工作id")
|
||||||
|
@TableField("out_work_id")
|
||||||
|
private String outWorkId;
|
||||||
|
|
||||||
|
@ExcelProperty("缺陷id")
|
||||||
|
@ApiModelProperty("缺陷id")
|
||||||
|
@TableField("defect_ids")
|
||||||
|
private String defectIds;
|
||||||
|
|
||||||
|
@ExcelProperty("岗位类型")
|
||||||
|
@ApiModelProperty("岗位类型")
|
||||||
|
@TableField("job_code")
|
||||||
|
private String jobCode;
|
||||||
|
}
|
||||||
|
|
|
@ -139,9 +139,5 @@ public class ProjectEntity extends AuditableEntity implements Serializable {
|
||||||
@ApiModelProperty("项目工作岗位 可能有多项,json对象保存")
|
@ApiModelProperty("项目工作岗位 可能有多项,json对象保存")
|
||||||
@TableField("job")
|
@TableField("job")
|
||||||
private String job;
|
private String job;
|
||||||
|
|
||||||
@ApiModelProperty(value = "项目安全风险点", example = "1", notes = "项目安全风险点 可能有多项,逗号分隔")
|
|
||||||
@TableField("safety_risk_point")
|
|
||||||
private String safetyRiskPoint;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
package com.dite.znpt.domain.entity.job;
|
||||||
|
|
||||||
|
import com.dite.znpt.annotations.MatchType;
|
||||||
|
import com.dite.znpt.annotations.QueryCondition;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Deprecated
|
||||||
|
public class DefectDTO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "缺陷详情", example = "缺陷详情", notes = "缺陷详情")
|
||||||
|
@QueryCondition(func = MatchType.like)
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "缺陷图片", example = "123.png", notes = "缺陷图片")
|
||||||
|
@QueryCondition(func = MatchType.like)
|
||||||
|
@JsonIgnore
|
||||||
|
private String flawUrl;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "封面图片", example = "123.png", notes = "封面图片")
|
||||||
|
@QueryCondition(func = MatchType.like)
|
||||||
|
private String coverUrl;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "缺陷类型编码", example = "A123", notes = "缺陷类型编码")
|
||||||
|
@QueryCondition(func = MatchType.like)
|
||||||
|
private String defectTypeCode;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "缺陷位置1", example = "GG1", notes = "缺陷位置1")
|
||||||
|
@QueryCondition(func = MatchType.like)
|
||||||
|
private String defectLocation1;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "缺陷位置1尺寸", example = "1.5", notes = "缺陷位置1尺寸")
|
||||||
|
@QueryCondition(func = MatchType.like)
|
||||||
|
private String defectLocation1Size;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "缺陷位置2", example = "GG1", notes = "缺陷位置2")
|
||||||
|
@QueryCondition(func = MatchType.like)
|
||||||
|
private String defectLocation2;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "缺陷尺寸", example = "10", notes = "缺陷尺寸")
|
||||||
|
@QueryCondition(func = MatchType.like)
|
||||||
|
private String defectSize;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "缺陷尺寸2", example = "10", notes = "缺陷尺寸2")
|
||||||
|
@QueryCondition(func = MatchType.like)
|
||||||
|
private String defectSize2;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "缺陷等级编码", example = "aa", notes = "缺陷等级编码")
|
||||||
|
@QueryCondition(func = MatchType.equal)
|
||||||
|
private String criticalityLevelCode;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "缺陷图片,多个逗号隔开", example = "[https://123.png]", notes = "缺陷图片,多个逗号隔开")
|
||||||
|
private List<String> flawUrlList;
|
||||||
|
}
|
|
@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.dite.znpt.annotations.MatchType;
|
import com.dite.znpt.annotations.MatchType;
|
||||||
import com.dite.znpt.annotations.QueryCondition;
|
import com.dite.znpt.annotations.QueryCondition;
|
||||||
import com.dite.znpt.domain.AuditableEntity;
|
import com.dite.znpt.domain.AuditableEntity;
|
||||||
import com.dite.znpt.domain.entity.PartEntity;
|
import com.dite.znpt.domain.dto.OutWorkDefectDTO;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
@ -110,7 +110,7 @@ public class JobOutWork extends AuditableEntity implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(value = "飞手部件列表", example = "[]", notes = "部件列表")
|
@ApiModelProperty(value = "飞手部件列表", example = "[]", notes = "部件列表")
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private List<PartEntity> droneFlyerPartsList;
|
private List<OutWorkDefectDTO> droneFlyerPartsList;
|
||||||
|
|
||||||
@ApiModelProperty(value = "飞助工作描述", example = "工作描述工作描述", notes = "飞助工作描述")
|
@ApiModelProperty(value = "飞助工作描述", example = "工作描述工作描述", notes = "飞助工作描述")
|
||||||
private String flyAidJobDesc;
|
private String flyAidJobDesc;
|
||||||
|
@ -144,7 +144,7 @@ public class JobOutWork extends AuditableEntity implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(value = "飞助部件列表", example = "[]", notes = "部件列表")
|
@ApiModelProperty(value = "飞助部件列表", example = "[]", notes = "部件列表")
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private List<PartEntity> flyAidPartsList;
|
private List<OutWorkDefectDTO> flyAidPartsList;
|
||||||
|
|
||||||
@ApiModelProperty(value = "登高工作描述", example = "工作描述工作描述", notes = "登高工作描述")
|
@ApiModelProperty(value = "登高工作描述", example = "工作描述工作描述", notes = "登高工作描述")
|
||||||
private String ascendingJobDesc;
|
private String ascendingJobDesc;
|
||||||
|
@ -182,7 +182,7 @@ public class JobOutWork extends AuditableEntity implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(value = "登高部件列表", example = "[]", notes = "部件列表")
|
@ApiModelProperty(value = "登高部件列表", example = "[]", notes = "部件列表")
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private List<PartEntity> ascendingPartsList;
|
private List<OutWorkDefectDTO> ascendingPartsList;
|
||||||
|
|
||||||
@ApiModelProperty(value = "状态", example = "0草稿 1已提交 2组长提交 3项目经理审批通过", notes = "状态")
|
@ApiModelProperty(value = "状态", example = "0草稿 1已提交 2组长提交 3项目经理审批通过", notes = "状态")
|
||||||
@QueryCondition(func = MatchType.equal)
|
@QueryCondition(func = MatchType.equal)
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
package com.dite.znpt.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.dite.znpt.domain.entity.OutWorkDefectEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author huise23
|
||||||
|
* @date 2025/04/30 15:54
|
||||||
|
* @Description: 外部工作-缺陷关联表数据库访问层
|
||||||
|
*/
|
||||||
|
public interface OutWorkDefectMapper extends BaseMapper<OutWorkDefectEntity> {
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
package com.dite.znpt.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.dite.znpt.domain.entity.OutWorkDefectEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author huise23
|
||||||
|
* @date 2025/04/30 15:54
|
||||||
|
* @Description: 外部工作-缺陷关联表服务接口
|
||||||
|
*/
|
||||||
|
public interface OutWorkDefectService extends IService<OutWorkDefectEntity> {
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.dite.znpt.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.dite.znpt.domain.entity.OutWorkDefectEntity;
|
||||||
|
import com.dite.znpt.mapper.OutWorkDefectMapper;
|
||||||
|
import com.dite.znpt.service.OutWorkDefectService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author huise23
|
||||||
|
* @date 2025/04/30 15:54
|
||||||
|
* @Description: 外部工作-缺陷关联表服务实现类
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class OutWorkDefectServiceImpl extends ServiceImpl<OutWorkDefectMapper, OutWorkDefectEntity> implements OutWorkDefectService {
|
||||||
|
}
|
|
@ -2,7 +2,6 @@ package com.dite.znpt.service.job;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.dite.znpt.domain.entity.job.JobOutWork;
|
import com.dite.znpt.domain.entity.job.JobOutWork;
|
||||||
import com.dite.znpt.domain.entity.job.JobOutWork;
|
|
||||||
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
||||||
import com.dite.znpt.domain.vo.job.req.JobOutWorkReq;
|
import com.dite.znpt.domain.vo.job.req.JobOutWorkReq;
|
||||||
|
|
||||||
|
@ -38,5 +37,5 @@ public interface JobOutWorkService extends IService<JobOutWork> {
|
||||||
**/
|
**/
|
||||||
public void reject(JobInfoReq request);
|
public void reject(JobInfoReq request);
|
||||||
|
|
||||||
List<JobOutWork> listByJobId(JobOutWorkReq dto);
|
JobOutWork getByJobId(JobOutWorkReq dto);
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,7 @@ public class JobAntiThunderWorkServiceImpl extends ServiceImpl<JobAntiThunderWor
|
||||||
entity.preSave();
|
entity.preSave();
|
||||||
saveOrUpdate(entity);
|
saveOrUpdate(entity);
|
||||||
JobInfo jobInfo = jobService.getById(entity.getJobId());
|
JobInfo jobInfo = jobService.getById(entity.getJobId());
|
||||||
turbineService.updateStatusNew(jobInfo.getCrewId());
|
turbineService.updateStatus(jobInfo.getCrewId());
|
||||||
// 施工人员提交后更新该工作类型状态及提交时间
|
// 施工人员提交后更新该工作类型状态及提交时间
|
||||||
if (entity.getStatus().equals(Enums.EWorkStatus.SUBMITTED.getValue())) {
|
if (entity.getStatus().equals(Enums.EWorkStatus.SUBMITTED.getValue())) {
|
||||||
jobInfo.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
jobInfo.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
||||||
|
@ -127,7 +127,7 @@ public class JobAntiThunderWorkServiceImpl extends ServiceImpl<JobAntiThunderWor
|
||||||
jobInfo.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue());
|
jobInfo.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue());
|
||||||
}
|
}
|
||||||
updateBatchById(workList);
|
updateBatchById(workList);
|
||||||
turbineService.updateStatusNew(jobInfo.getCrewId());
|
turbineService.updateStatus(jobInfo.getCrewId());
|
||||||
jobService.updateById(jobInfo);
|
jobService.updateById(jobInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -159,7 +159,7 @@ public class JobAntiThunderWorkServiceImpl extends ServiceImpl<JobAntiThunderWor
|
||||||
jobInfo.setStatus(Enums.EWorkStatus.DRAFT.getValue());
|
jobInfo.setStatus(Enums.EWorkStatus.DRAFT.getValue());
|
||||||
}
|
}
|
||||||
updateBatchById(workList);
|
updateBatchById(workList);
|
||||||
turbineService.updateStatusNew(jobInfo.getCrewId());
|
turbineService.updateStatus(jobInfo.getCrewId());
|
||||||
jobService.updateById(jobInfo);
|
jobService.updateById(jobInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ public class JobInWorkServiceImpl extends ServiceImpl<JobInWorkMapper, JobInWork
|
||||||
jobInWorkPartsService.lambdaUpdate().eq(JobInWorkParts::getJobId, entity.getJobId()).remove();
|
jobInWorkPartsService.lambdaUpdate().eq(JobInWorkParts::getJobId, entity.getJobId()).remove();
|
||||||
}
|
}
|
||||||
JobInfo jobInfo = jobService.getById(entity.getJobId());
|
JobInfo jobInfo = jobService.getById(entity.getJobId());
|
||||||
turbineService.updateStatusNew(jobInfo.getCrewId());
|
turbineService.updateStatus(jobInfo.getCrewId());
|
||||||
// 施工人员提交后更新该工作类型状态及提交时间
|
// 施工人员提交后更新该工作类型状态及提交时间
|
||||||
if (entity.getStatus().equals(Enums.EWorkStatus.SUBMITTED.getValue())) {
|
if (entity.getStatus().equals(Enums.EWorkStatus.SUBMITTED.getValue())) {
|
||||||
jobInfo.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
jobInfo.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
||||||
|
@ -150,7 +150,7 @@ public class JobInWorkServiceImpl extends ServiceImpl<JobInWorkMapper, JobInWork
|
||||||
jobInfo.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue());
|
jobInfo.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue());
|
||||||
}
|
}
|
||||||
updateBatchById(workList);
|
updateBatchById(workList);
|
||||||
turbineService.updateStatusNew(jobInfo.getCrewId());
|
turbineService.updateStatus(jobInfo.getCrewId());
|
||||||
jobService.updateById(jobInfo);
|
jobService.updateById(jobInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -182,7 +182,7 @@ public class JobInWorkServiceImpl extends ServiceImpl<JobInWorkMapper, JobInWork
|
||||||
jobInfo.setStatus(Enums.EWorkStatus.DRAFT.getValue());
|
jobInfo.setStatus(Enums.EWorkStatus.DRAFT.getValue());
|
||||||
}
|
}
|
||||||
updateBatchById(workList);
|
updateBatchById(workList);
|
||||||
turbineService.updateStatusNew(jobInfo.getCrewId());
|
turbineService.updateStatus(jobInfo.getCrewId());
|
||||||
jobService.updateById(jobInfo);
|
jobService.updateById(jobInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,33 +1,35 @@
|
||||||
package com.dite.znpt.service.job.impl;
|
package com.dite.znpt.service.job.impl;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.ListUtil;
|
import cn.hutool.core.collection.ListUtil;
|
||||||
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.dite.znpt.context.UserContext;
|
import com.dite.znpt.context.UserContext;
|
||||||
import com.dite.znpt.domain.QueryWrapperBuilder;
|
import com.dite.znpt.domain.QueryWrapperBuilder;
|
||||||
import com.dite.znpt.domain.entity.job.JobInWork;
|
import com.dite.znpt.domain.dto.OutWorkDefectDTO;
|
||||||
import com.dite.znpt.domain.entity.job.JobOutWork;
|
import com.dite.znpt.domain.entity.DefectEntity;
|
||||||
|
import com.dite.znpt.domain.entity.OutWorkDefectEntity;
|
||||||
|
import com.dite.znpt.domain.entity.ProjectEntity;
|
||||||
import com.dite.znpt.domain.entity.job.JobInfo;
|
import com.dite.znpt.domain.entity.job.JobInfo;
|
||||||
import com.dite.znpt.domain.entity.job.JobOutWork;
|
import com.dite.znpt.domain.entity.job.JobOutWork;
|
||||||
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
||||||
import com.dite.znpt.domain.vo.job.req.JobOutWorkReq;
|
import com.dite.znpt.domain.vo.job.req.JobOutWorkReq;
|
||||||
import com.dite.znpt.enums.Enums;
|
import com.dite.znpt.enums.Enums;
|
||||||
import com.dite.znpt.exception.ServiceException;
|
import com.dite.znpt.exception.ServiceException;
|
||||||
import com.dite.znpt.mapper.JobInWorkMapper;
|
|
||||||
import com.dite.znpt.mapper.JobOutWorkMapper;
|
import com.dite.znpt.mapper.JobOutWorkMapper;
|
||||||
import com.dite.znpt.service.PartService;
|
import com.dite.znpt.service.*;
|
||||||
import com.dite.znpt.service.TurbineService;
|
|
||||||
import com.dite.znpt.service.job.JobInWorkService;
|
|
||||||
import com.dite.znpt.service.job.JobOutWorkService;
|
import com.dite.znpt.service.job.JobOutWorkService;
|
||||||
import com.dite.znpt.service.job.JobService;
|
import com.dite.znpt.service.job.JobService;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.data.domain.Page;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
|
@ -39,7 +41,18 @@ public class JobOutWorkServiceImpl extends ServiceImpl<JobOutWorkMapper, JobOut
|
||||||
private PartService partService;
|
private PartService partService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private JobService jobService;
|
private JobService jobService;
|
||||||
|
@Autowired
|
||||||
|
private ProjectService projectService;
|
||||||
|
@Autowired
|
||||||
|
private OutWorkDefectService outWorkDefectService;
|
||||||
|
@Autowired
|
||||||
|
private DefectService defectService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 旧版系统是直接使用在部件表中使用工作id关联,新版:外部工作:使用部件编码关联,若无则写入第一个部件,内部工作(暂时沿用gaea_job_in_work_parts表):使用叶片编码关联,若无,写入第一个叶片
|
||||||
|
* @param entity
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public JobOutWork saveInfo(JobOutWork entity) {
|
public JobOutWork saveInfo(JobOutWork entity) {
|
||||||
if (StrUtil.isNotBlank(entity.getId())) {
|
if (StrUtil.isNotBlank(entity.getId())) {
|
||||||
|
@ -49,73 +62,115 @@ public class JobOutWorkServiceImpl extends ServiceImpl<JobOutWorkMapper, JobOut
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
saveOrUpdate(entity);
|
saveOrUpdate(entity);
|
||||||
|
|
||||||
|
List<OutWorkDefectEntity> linkList = outWorkDefectService.lambdaQuery().eq(OutWorkDefectEntity::getOutWorkId, entity.getId()).list();
|
||||||
|
if (CollUtil.isNotEmpty(linkList)) {
|
||||||
|
defectService.lambdaUpdate().in(DefectEntity::getDefectId, linkList.stream().map(OutWorkDefectEntity::getDefectIds)
|
||||||
|
.flatMap(s -> StrUtil.split(s, ",").stream()).collect(Collectors.toList())).remove();
|
||||||
|
}
|
||||||
// 飞手部件列表
|
// 飞手部件列表
|
||||||
if (CollUtil.isNotEmpty(entity.getDroneFlyerPartsList())) {
|
if (CollUtil.isNotEmpty(entity.getDroneFlyerPartsList())) {
|
||||||
List<String> idList = entity.getDroneFlyerPartsList().stream().map(Parts::getId).filter(StringUtils::isNotEmpty).distinct().collect(Collectors.toList());
|
saveDefect(entity.getDroneFlyerPartsList(), entity.getId(), Enums.EOutWorkType.DRONE_FLYER);
|
||||||
if (CollUtil.isEmpty(idList)) {
|
|
||||||
// partService.lambdaUpdate().
|
|
||||||
partService.delByReportIdAndJobCode(entity.getId(), Enums.EOutWorkType.DRONE_FLYER.getValue());
|
|
||||||
} else {
|
|
||||||
partService.delByReportIdAndIdNotInAndJobCode(entity.getId(), idList, Enums.EOutWorkType.DRONE_FLYER.getValue());
|
|
||||||
}
|
|
||||||
JobInfo job = jobService.findByIdAndS(entity.getJobId(), Enums.S.Yes.getValue());
|
|
||||||
entity.getDroneFlyerPartsList().forEach(item -> {
|
|
||||||
item.setProjectId(job.getProjectId());
|
|
||||||
item.setCrewId(job.getCrewId());
|
|
||||||
item.setReportId(entity.getId());
|
|
||||||
item.setJobCode(Enums.EOutWorkType.DRONE_FLYER.getValue());
|
|
||||||
});
|
|
||||||
partService.save(entity.getDroneFlyerPartsList());
|
|
||||||
} else {
|
|
||||||
partService.delByReportIdAndJobCode(entity.getId(), Enums.EOutWorkType.DRONE_FLYER.getValue());
|
|
||||||
}
|
}
|
||||||
// 飞助部件列表
|
// 飞助部件列表
|
||||||
if (CollUtil.isNotEmpty(entity.getFlyAidPartsList())) {
|
if (CollUtil.isNotEmpty(entity.getFlyAidPartsList())) {
|
||||||
List<String> idList = entity.getFlyAidPartsList().stream().map(Parts::getId).filter(StringUtils::isNotEmpty).distinct().collect(Collectors.toList());
|
saveDefect(entity.getFlyAidPartsList(), entity.getId(), Enums.EOutWorkType.FLYAID);
|
||||||
if (CollUtil.isEmpty(idList)) {
|
|
||||||
partService.delByReportIdAndJobCode(entity.getId(), Enums.EOutWorkType.FLYAID.getValue());
|
|
||||||
} else {
|
|
||||||
partService.delByReportIdAndIdNotInAndJobCode(entity.getId(), idList, Enums.EOutWorkType.FLYAID.getValue());
|
|
||||||
}
|
|
||||||
Job job = jobService.findByIdAndS(entity.getJobId(), Enums.S.Yes.getValue());
|
|
||||||
entity.getFlyAidPartsList().forEach(item -> {
|
|
||||||
item.setProjectId(job.getProjectId());
|
|
||||||
item.setCrewId(job.getCrewId());
|
|
||||||
item.setReportId(entity.getId());
|
|
||||||
item.setJobCode(Enums.EOutWorkType.FLYAID.getValue());
|
|
||||||
});
|
|
||||||
partService.save(entity.getFlyAidPartsList());
|
|
||||||
} else {
|
|
||||||
partService.delByReportIdAndJobCode(entity.getId(), Enums.EOutWorkType.FLYAID.getValue());
|
|
||||||
}
|
}
|
||||||
// 登高部件列表
|
// 登高部件列表
|
||||||
if (CollUtil.isNotEmpty(entity.getAscendingPartsList())) {
|
if (CollUtil.isNotEmpty(entity.getAscendingPartsList())) {
|
||||||
List<String> idList = entity.getAscendingPartsList().stream().map(Parts::getId).filter(StringUtils::isNotEmpty).distinct().collect(Collectors.toList());
|
saveDefect(entity.getAscendingPartsList(), entity.getId(), Enums.EOutWorkType.ASCEND_HEIGHT);
|
||||||
if (CollUtil.isEmpty(idList)) {
|
|
||||||
partService.delByReportIdAndJobCode(entity.getId(), Enums.EOutWorkType.ASCEND_HEIGHT.getValue());
|
|
||||||
} else {
|
|
||||||
partService.delByReportIdAndIdNotInAndJobCode(entity.getId(), idList, Enums.EOutWorkType.ASCEND_HEIGHT.getValue());
|
|
||||||
}
|
|
||||||
Job job = jobService.findByIdAndS(entity.getJobId(), Enums.S.Yes.getValue());
|
|
||||||
entity.getAscendingPartsList().forEach(item -> {
|
|
||||||
item.setProjectId(job.getProjectId());
|
|
||||||
item.setCrewId(job.getCrewId());
|
|
||||||
item.setReportId(entity.getId());
|
|
||||||
item.setJobCode(Enums.EOutWorkType.ASCEND_HEIGHT.getValue());
|
|
||||||
});
|
|
||||||
partService.save(entity.getAscendingPartsList());
|
|
||||||
} else {
|
|
||||||
partService.delByReportIdAndJobCode(entity.getId(), Enums.EOutWorkType.ASCEND_HEIGHT.getValue());
|
|
||||||
}
|
}
|
||||||
Job job = jobService.findByIdAndS(entity.getJobId(), 1);
|
JobInfo jobInfo = jobService.getById(entity.getJobId());
|
||||||
crewService.updateStatusNew(job.getCrewId());
|
turbineService.updateStatus(jobInfo.getCrewId());
|
||||||
// 施工人员提交后更新该工作类型状态及提交时间
|
// 施工人员提交后更新该工作类型状态及提交时间
|
||||||
if (entity.getStatus().equals(Enums.EWorkStatus.SUBMITTED.getValue())) {
|
if (entity.getStatus().equals(Enums.EWorkStatus.SUBMITTED.getValue())) {
|
||||||
job.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
jobInfo.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
||||||
job.setSubmitTime(new Date());
|
jobInfo.setSubmitTime(new Date());
|
||||||
jobService.save(job);
|
jobService.updateById(jobInfo);
|
||||||
|
}
|
||||||
|
return entity;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 功能描述:保存缺陷
|
||||||
|
*
|
||||||
|
* @param defectDTOList 实体
|
||||||
|
* @param outWorkId outWorkId
|
||||||
|
* @param workType 无人机飞行
|
||||||
|
* @author cuizhibin
|
||||||
|
* @date 2025/04/30 16:37
|
||||||
|
**/
|
||||||
|
private void saveDefect(List<OutWorkDefectDTO> defectDTOList, String outWorkId, Enums.EOutWorkType workType) {
|
||||||
|
List<DefectEntity> defectList = new ArrayList<>();
|
||||||
|
List<OutWorkDefectEntity> list = defectDTOList.stream().filter(defectDTO -> CollUtil.isNotEmpty(defectDTO.getDefectList())).map(item -> {
|
||||||
|
List<String> defectIds = new ArrayList<>();
|
||||||
|
item.getDefectList().forEach(defectDTO -> {
|
||||||
|
DefectEntity defect = new DefectEntity();
|
||||||
|
defect.setDefectId(IdUtil.simpleUUID());
|
||||||
|
defect.setDescription(defectDTO.getContent());
|
||||||
|
defect.setDefectType(defectDTO.getDefectTypeCode());
|
||||||
|
defect.setDefectLevel(defectDTO.getCriticalityLevelCode());
|
||||||
|
defect.setDefectPosition(defectDTO.getDefectLocation2());
|
||||||
|
defect.setAxial(defectDTO.getDefectSize());
|
||||||
|
defect.setChordwise(defectDTO.getDefectSize2());
|
||||||
|
// todo 若部件不存在,还需要创建部件或查询第一个部件,此处只有叶片的
|
||||||
|
defectList.add(defect);
|
||||||
|
defectIds.add(defect.getDefectId());
|
||||||
|
});
|
||||||
|
|
||||||
|
OutWorkDefectEntity workDefect = BeanUtil.copyProperties(item, OutWorkDefectEntity.class);
|
||||||
|
workDefect.setOutWorkId(outWorkId);
|
||||||
|
workDefect.setJobCode(workType.getValue());
|
||||||
|
workDefect.setDefectIds(StrUtil.join(",", defectIds));
|
||||||
|
return workDefect;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
if (CollUtil.isNotEmpty(defectList)) {
|
||||||
|
outWorkDefectService.saveBatch(list);
|
||||||
|
defectService.saveBatch(defectList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JobOutWork getByJobId(JobOutWorkReq dto) {
|
||||||
|
List<JobOutWork> list = lambdaQuery().eq(JobOutWork::getJobId, dto.getJobId()).list();
|
||||||
|
if (CollUtil.isEmpty(list)) {
|
||||||
|
return new JobOutWork();
|
||||||
|
} else {
|
||||||
|
JobOutWork work = list.get(0);
|
||||||
|
getDefectList(work);
|
||||||
|
return work;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 功能描述:查询缺陷
|
||||||
|
*
|
||||||
|
* @author cuizhibin
|
||||||
|
* @date 2025/04/30 16:37
|
||||||
|
**/
|
||||||
|
private void getDefectList(JobOutWork outWork) {
|
||||||
|
List<OutWorkDefectEntity> linkList = outWorkDefectService.lambdaQuery().eq(OutWorkDefectEntity::getOutWorkId, outWork.getId()).list();
|
||||||
|
Map<String, DefectEntity> defectMap = defectService.listByIds(linkList.stream().flatMap(outWorkDefect -> StrUtil.split(outWorkDefect.getDefectIds(), ",").stream())
|
||||||
|
.collect(Collectors.toList()))
|
||||||
|
.stream().collect(Collectors.toMap(DefectEntity::getDefectId, Function.identity()));
|
||||||
|
outWork.setAscendingPartsList(new ArrayList<>());
|
||||||
|
outWork.setFlyAidPartsList(new ArrayList<>());
|
||||||
|
outWork.setAscendingPartsList(new ArrayList<>());
|
||||||
|
for (OutWorkDefectEntity workDefect : linkList) {
|
||||||
|
OutWorkDefectDTO dto = BeanUtil.copyProperties(workDefect, OutWorkDefectDTO.class);
|
||||||
|
dto.setCode("");
|
||||||
|
dto.setUrls("");
|
||||||
|
dto.setStatus(0);
|
||||||
|
dto.setDefectList(new ArrayList<>());
|
||||||
|
|
||||||
|
if (workDefect.getJobCode().equals(Enums.EOutWorkType.DRONE_FLYER.getValue())) {
|
||||||
|
|
||||||
|
} else if (workDefect.getJobCode().equals(Enums.EOutWorkType.FLYAID.getValue())) {
|
||||||
|
|
||||||
|
} else if (workDefect.getJobCode().equals(Enums.EOutWorkType.ASCEND_HEIGHT.getValue())) {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return outWork;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -133,38 +188,19 @@ public class JobOutWorkServiceImpl extends ServiceImpl<JobOutWorkMapper, JobOut
|
||||||
if (!Enums.ERoleCode.Builder.getName().equals(UserContext.getRoleCode())) {
|
if (!Enums.ERoleCode.Builder.getName().equals(UserContext.getRoleCode())) {
|
||||||
statusList = ListUtil.of("2", "3");
|
statusList = ListUtil.of("2", "3");
|
||||||
}
|
}
|
||||||
List<String> jobIds = jobList.stream().map(Job::getId).collect(Collectors.toList());
|
List<String> jobIds = jobList.stream().map(JobInfo::getId).collect(Collectors.toList());
|
||||||
Map<String, Job> jobId2Job = jobList.stream().collect(Collectors.toMap(Job::getId, i -> i));
|
Map<String, JobInfo> jobId2Job = jobList.stream().collect(Collectors.toMap(JobInfo::getId, i -> i));
|
||||||
List<JobOutWork> list = this.repository.findByJobIdInAndStatusIn(jobIds, statusList);
|
List<JobOutWork> workList = lambdaQuery().in(JobOutWork::getStatus, statusList).in(JobOutWork::getJobId, jobList.stream().map(JobInfo::getId).collect(Collectors.toList())).list();
|
||||||
list.forEach(work -> {
|
workList.forEach(work -> {
|
||||||
Job job = jobId2Job.get(work.getJobId());
|
JobInfo job = jobId2Job.get(work.getJobId());
|
||||||
work.setConstructionPersonnel(job.getConstructionPersonnel());
|
work.setConstructionPersonnel(job.getConstructionPersonnel());
|
||||||
work.setJobCode(job.getJobCode());
|
work.setJobCode(job.getJobCode());
|
||||||
|
|
||||||
work.setDroneFlyerPartsList(partService.getByReportIdAndJobCode(IdVo.builder().id(work.getId()).build(), Enums.EOutWorkType.DRONE_FLYER.getValue()));
|
|
||||||
work.setFlyAidPartsList(partService.getByReportIdAndJobCode(IdVo.builder().id(work.getId()).build(), Enums.EOutWorkType.FLYAID.getValue()));
|
|
||||||
work.setAscendingPartsList(partService.getByReportIdAndJobCode(IdVo.builder().id(work.getId()).build(), Enums.EOutWorkType.ASCEND_HEIGHT.getValue()));
|
|
||||||
});
|
});
|
||||||
return list;
|
return workList;
|
||||||
}
|
}
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param vo
|
|
||||||
* @return {@link Page}<{@link JobOutWork}>
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Page<JobOutWork> list(JobOutWorkReq vo) {
|
|
||||||
Page<JobOutWork> page = super.page(vo);
|
|
||||||
page.getContent().forEach(work -> {
|
|
||||||
work.setDroneFlyerPartsList(partService.getByReportIdAndJobCode(IdVo.builder().id(work.getId()).build(), Enums.EOutWorkType.DRONE_FLYER.getValue()));
|
|
||||||
work.setFlyAidPartsList(partService.getByReportIdAndJobCode(IdVo.builder().id(work.getId()).build(), Enums.EOutWorkType.FLYAID.getValue()));
|
|
||||||
work.setAscendingPartsList(partService.getByReportIdAndJobCode(IdVo.builder().id(work.getId()).build(), Enums.EOutWorkType.ASCEND_HEIGHT.getValue()));
|
|
||||||
});
|
|
||||||
return page;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 功能描述:组长提交/项目经理审批
|
* 功能描述:组长提交/项目经理审批
|
||||||
*
|
*
|
||||||
|
@ -179,9 +215,9 @@ public class JobOutWorkServiceImpl extends ServiceImpl<JobOutWorkMapper, JobOut
|
||||||
throw new ServiceException("未找到数据");
|
throw new ServiceException("未找到数据");
|
||||||
}
|
}
|
||||||
// 这里只会有一条数据
|
// 这里只会有一条数据
|
||||||
Job job = jobList.get(0);
|
JobInfo jobInfo = jobList.get(0);
|
||||||
Project project = projectRepository.findById(job.getProjectId()).get();
|
ProjectEntity project = projectService.getById(jobInfo.getProjectId());
|
||||||
List<JobOutWork> workList = this.repository.findByJobIdIn(jobList.stream().map(Job::getId).collect(Collectors.toList()));
|
List<JobOutWork> workList = lambdaQuery().in(JobOutWork::getJobId, jobList.stream().map(JobInfo::getId).collect(Collectors.toList())).list();
|
||||||
// 如果是项目经理
|
// 如果是项目经理
|
||||||
if (Enums.ERoleCode.ProjectManager.getName().equals(UserContext.getRoleCode())) {
|
if (Enums.ERoleCode.ProjectManager.getName().equals(UserContext.getRoleCode())) {
|
||||||
if (StrUtil.isNotBlank(project.getAuditorId())) {
|
if (StrUtil.isNotBlank(project.getAuditorId())) {
|
||||||
|
@ -197,20 +233,20 @@ public class JobOutWorkServiceImpl extends ServiceImpl<JobOutWorkMapper, JobOut
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.MANAGER_APPROVAL.getValue()));
|
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.MANAGER_APPROVAL.getValue()));
|
||||||
job.setStatus(Enums.EWorkStatus.MANAGER_APPROVAL.getValue());
|
jobInfo.setStatus(Enums.EWorkStatus.MANAGER_APPROVAL.getValue());
|
||||||
} else if (Enums.ERoleCode.SafetyOfficer.getName().equals(UserContext.getRoleCode())) {
|
} else if (Enums.ERoleCode.SafetyOfficer.getName().equals(UserContext.getRoleCode())) {
|
||||||
workList.forEach(item -> item.setSafetyOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal()));
|
workList.forEach(item -> item.setSafetyOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal()));
|
||||||
job.setSafetyOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal());
|
jobInfo.setSafetyOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal());
|
||||||
} else if (Enums.ERoleCode.QualityOfficer.getName().equals(UserContext.getRoleCode())) {
|
} else if (Enums.ERoleCode.QualityOfficer.getName().equals(UserContext.getRoleCode())) {
|
||||||
workList.forEach(item -> item.setQualityOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal()));
|
workList.forEach(item -> item.setQualityOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal()));
|
||||||
job.setQualityOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal());
|
jobInfo.setQualityOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal());
|
||||||
} else if (project.getConstructionTeamLeaderId().equals(this.getCurrentUserId())) {
|
} else if (project.getConstructionTeamLeaderId().equals(UserContext.getUserInfo().getPersonId())) {
|
||||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue()));
|
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue()));
|
||||||
job.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue());
|
jobInfo.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue());
|
||||||
}
|
}
|
||||||
this.repository.saveAll(workList);
|
saveOrUpdateBatch(workList);
|
||||||
crewService.updateStatusNew(job.getCrewId());
|
turbineService.updateStatus(jobInfo.getCrewId());
|
||||||
jobService.save(job);
|
jobService.save(jobInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -227,26 +263,22 @@ public class JobOutWorkServiceImpl extends ServiceImpl<JobOutWorkMapper, JobOut
|
||||||
throw new ServiceException("未找到数据");
|
throw new ServiceException("未找到数据");
|
||||||
}
|
}
|
||||||
// 这里只会有一条数据
|
// 这里只会有一条数据
|
||||||
Job job = jobList.get(0);
|
JobInfo jobInfo = jobList.get(0);
|
||||||
Project project = projectRepository.findById(job.getProjectId()).get();
|
ProjectEntity project = projectService.getById(jobInfo.getProjectId());
|
||||||
List<JobOutWork> workList = this.repository.findByJobIdIn(jobList.stream().map(Job::getId).collect(Collectors.toList()));
|
List<JobOutWork> workList = lambdaQuery().in(JobOutWork::getJobId, jobList.stream().map(JobInfo::getId).collect(Collectors.toList())).list();
|
||||||
// 如果是项目经理
|
// 如果是项目经理
|
||||||
if (Enums.ERoleCode.ProjectManager.getName().equals(UserContext.getRoleCode())) {
|
if (Enums.ERoleCode.ProjectManager.getName().equals(UserContext.getRoleCode())) {
|
||||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.SUBMITTED.getValue()));
|
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.SUBMITTED.getValue()));
|
||||||
job.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
jobInfo.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
||||||
} else if (Enums.ERoleCode.SafetyOfficer.getName().equals(UserContext.getRoleCode())
|
} else if (Enums.ERoleCode.SafetyOfficer.getName().equals(UserContext.getRoleCode())
|
||||||
|| Enums.ERoleCode.QualityOfficer.getName().equals(UserContext.getRoleCode())
|
|| Enums.ERoleCode.QualityOfficer.getName().equals(UserContext.getRoleCode())
|
||||||
|| project.getConstructionTeamLeaderId().equals(this.getCurrentUserId())) {
|
|| project.getConstructionTeamLeaderId().equals(UserContext.getUserInfo().getPersonId())) {
|
||||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.DRAFT.getValue()));
|
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.DRAFT.getValue()));
|
||||||
job.setStatus(Enums.EWorkStatus.DRAFT.getValue());
|
jobInfo.setStatus(Enums.EWorkStatus.DRAFT.getValue());
|
||||||
}
|
}
|
||||||
this.repository.saveAll(workList);
|
saveOrUpdateBatch(workList);
|
||||||
crewService.updateStatusNew(job.getCrewId());
|
turbineService.updateStatus(jobInfo.getCrewId());
|
||||||
jobService.save(job);
|
jobService.save(jobInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<JobOutWork> listByJobId(JobOutWorkReq dto) {
|
|
||||||
return lambdaQuery().eq(JobOutWork::getJobId, dto.getJobId()).list();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.dite.znpt.context.UserContext;
|
import com.dite.znpt.context.UserContext;
|
||||||
import com.dite.znpt.domain.QueryWrapperBuilder;
|
import com.dite.znpt.domain.QueryWrapperBuilder;
|
||||||
|
import com.dite.znpt.domain.entity.ProjectEntity;
|
||||||
import com.dite.znpt.domain.entity.job.*;
|
import com.dite.znpt.domain.entity.job.*;
|
||||||
import com.dite.znpt.domain.entity.job.JobSummaryWork;
|
import com.dite.znpt.domain.entity.job.JobSummaryWork;
|
||||||
import com.dite.znpt.domain.entity.job.JobSummaryWork;
|
import com.dite.znpt.domain.entity.job.JobSummaryWork;
|
||||||
|
@ -13,6 +14,8 @@ import com.dite.znpt.domain.vo.job.req.JobSummaryWorkReq;
|
||||||
import com.dite.znpt.enums.Enums;
|
import com.dite.znpt.enums.Enums;
|
||||||
import com.dite.znpt.exception.ServiceException;
|
import com.dite.znpt.exception.ServiceException;
|
||||||
import com.dite.znpt.mapper.JobSummaryWorkMapper;
|
import com.dite.znpt.mapper.JobSummaryWorkMapper;
|
||||||
|
import com.dite.znpt.service.ProjectService;
|
||||||
|
import com.dite.znpt.service.TurbineService;
|
||||||
import com.dite.znpt.service.job.JobService;
|
import com.dite.znpt.service.job.JobService;
|
||||||
import com.dite.znpt.service.job.JobSummaryWorkService;
|
import com.dite.znpt.service.job.JobSummaryWorkService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -26,9 +29,11 @@ import java.util.stream.Collectors;
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public class JobSummaryWorkServiceImpl extends ServiceImpl<JobSummaryWorkMapper, JobSummaryWork> implements JobSummaryWorkService {
|
public class JobSummaryWorkServiceImpl extends ServiceImpl<JobSummaryWorkMapper, JobSummaryWork> implements JobSummaryWorkService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private CrewService crewService;
|
private TurbineService turbineService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private JobService jobService;
|
private JobService jobService;
|
||||||
|
@Autowired
|
||||||
|
private ProjectService projectService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JobSummaryWork saveInfo(JobSummaryWork entity) {
|
public JobSummaryWork saveInfo(JobSummaryWork entity) {
|
||||||
|
@ -39,15 +44,15 @@ public class JobSummaryWorkServiceImpl extends ServiceImpl<JobSummaryWorkMapper,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
saveOrUpdate(entity);
|
saveOrUpdate(entity);
|
||||||
Job job = jobRepository.findByIdAndS(entity.getJobId(), 1);
|
JobInfo jobInfo = jobService.getById(entity.getJobId());
|
||||||
crewService.updateStatusNew(job.getCrewId());
|
turbineService.updateStatus(jobInfo.getCrewId());
|
||||||
// 施工人员提交后更新该工作类型状态及提交时间
|
// 施工人员提交后更新该工作类型状态及提交时间
|
||||||
if (entity.getStatus().equals(Enums.EWorkStatus.SUBMITTED.getValue())) {
|
if (entity.getStatus().equals(Enums.EWorkStatus.SUBMITTED.getValue())) {
|
||||||
job.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
jobInfo.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
||||||
job.setSubmitTime(new Date());
|
jobInfo.setSubmitTime(new Date());
|
||||||
jobRepository.save(job);
|
jobService.updateById(jobInfo);
|
||||||
}
|
}
|
||||||
return work;
|
return entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -65,15 +70,15 @@ public class JobSummaryWorkServiceImpl extends ServiceImpl<JobSummaryWorkMapper,
|
||||||
if (!Enums.ERoleCode.Builder.getName().equals(UserContext.getRoleCode())) {
|
if (!Enums.ERoleCode.Builder.getName().equals(UserContext.getRoleCode())) {
|
||||||
statusList = ListUtil.of("2", "3");
|
statusList = ListUtil.of("2", "3");
|
||||||
}
|
}
|
||||||
List<String> jobIds = jobList.stream().map(Job::getId).collect(Collectors.toList());
|
List<String> jobIds = jobList.stream().map(JobInfo::getId).collect(Collectors.toList());
|
||||||
Map<String, Job> jobId2Job = jobList.stream().collect(Collectors.toMap(Job::getId, i -> i));
|
Map<String, JobInfo> jobId2Job = jobList.stream().collect(Collectors.toMap(JobInfo::getId, i -> i));
|
||||||
List<JobSummaryWork> list = this.repository.findByJobIdInAndStatusIn(jobIds, statusList);
|
List<JobSummaryWork> workList = lambdaQuery().in(JobSummaryWork::getStatus, statusList).in(JobSummaryWork::getJobId, jobIds).list();
|
||||||
list.forEach(work -> {
|
workList.forEach(work -> {
|
||||||
Job job = jobId2Job.get(work.getJobId());
|
JobInfo job = jobId2Job.get(work.getJobId());
|
||||||
work.setConstructionPersonnel(job.getConstructionPersonnel());
|
work.setConstructionPersonnel(job.getConstructionPersonnel());
|
||||||
work.setJobCode(job.getJobCode());
|
work.setJobCode(job.getJobCode());
|
||||||
});
|
});
|
||||||
return list;
|
return workList;
|
||||||
}
|
}
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
@ -92,20 +97,20 @@ public class JobSummaryWorkServiceImpl extends ServiceImpl<JobSummaryWorkMapper,
|
||||||
throw new ServiceException("未找到数据");
|
throw new ServiceException("未找到数据");
|
||||||
}
|
}
|
||||||
// 这里只会有一条数据
|
// 这里只会有一条数据
|
||||||
Job job = jobList.get(0);
|
JobInfo jobInfo = jobList.get(0);
|
||||||
Project project = projectRepository.findById(job.getProjectId()).get();
|
ProjectEntity project = projectService.getById(jobInfo.getProjectId());
|
||||||
List<JobSummaryWork> workList = this.repository.findByJobIdIn(jobList.stream().map(Job::getId).collect(Collectors.toList()));
|
List<JobSummaryWork> workList = lambdaQuery().in(JobSummaryWork::getJobId, jobList.stream().map(JobInfo::getId).collect(Collectors.toList())).list();
|
||||||
// 如果是项目经理
|
// 如果是项目经理
|
||||||
if (Enums.ERoleCode.ProjectManager.getName().equals(UserContext.getRoleCode())) {
|
if (Enums.ERoleCode.ProjectManager.getName().equals(UserContext.getRoleCode())) {
|
||||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.MANAGER_APPROVAL.getValue()));
|
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.MANAGER_APPROVAL.getValue()));
|
||||||
job.setStatus(Enums.EWorkStatus.MANAGER_APPROVAL.getValue());
|
jobInfo.setStatus(Enums.EWorkStatus.MANAGER_APPROVAL.getValue());
|
||||||
} else if (project.getConstructionTeamLeaderId().equals(this.getCurrentUserId())) {
|
} else if (project.getConstructionTeamLeaderId().equals(UserContext.getUserInfo().getPersonId())) {
|
||||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue()));
|
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue()));
|
||||||
job.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue());
|
jobInfo.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue());
|
||||||
}
|
}
|
||||||
this.repository.saveAll(workList);
|
saveOrUpdateBatch(workList);
|
||||||
crewService.updateStatusNew(job.getCrewId());
|
turbineService.updateStatus(jobInfo.getCrewId());
|
||||||
jobRepository.save(job);
|
jobService.save(jobInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -122,20 +127,20 @@ public class JobSummaryWorkServiceImpl extends ServiceImpl<JobSummaryWorkMapper,
|
||||||
throw new ServiceException("未找到数据");
|
throw new ServiceException("未找到数据");
|
||||||
}
|
}
|
||||||
// 这里只会有一条数据
|
// 这里只会有一条数据
|
||||||
Job job = jobList.get(0);
|
JobInfo jobInfo = jobList.get(0);
|
||||||
Project project = projectRepository.findById(job.getProjectId()).get();
|
ProjectEntity project = projectService.getById(jobInfo.getProjectId());
|
||||||
List<JobSummaryWork> workList = this.repository.findByJobIdIn(jobList.stream().map(Job::getId).collect(Collectors.toList()));
|
List<JobSummaryWork> workList = lambdaQuery().in(JobSummaryWork::getJobId, jobList.stream().map(JobInfo::getId).collect(Collectors.toList())).list();
|
||||||
// 如果是项目经理
|
// 如果是项目经理
|
||||||
if (Enums.ERoleCode.ProjectManager.getName().equals(UserContext.getRoleCode())) {
|
if (Enums.ERoleCode.ProjectManager.getName().equals(UserContext.getRoleCode())) {
|
||||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.SUBMITTED.getValue()));
|
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.SUBMITTED.getValue()));
|
||||||
job.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
jobInfo.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
||||||
} else if (project.getConstructionTeamLeaderId().equals(this.getCurrentUserId())) {
|
} else if (project.getConstructionTeamLeaderId().equals(UserContext.getUserInfo().getPersonId())) {
|
||||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.DRAFT.getValue()));
|
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.DRAFT.getValue()));
|
||||||
job.setStatus(Enums.EWorkStatus.DRAFT.getValue());
|
jobInfo.setStatus(Enums.EWorkStatus.DRAFT.getValue());
|
||||||
}
|
}
|
||||||
this.repository.saveAll(workList);
|
saveOrUpdateBatch(workList);
|
||||||
crewService.updateStatusNew(job.getCrewId());
|
turbineService.updateStatus(jobInfo.getCrewId());
|
||||||
jobRepository.save(job);
|
jobService.save(jobInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?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.dite.znpt.mapper.OutWorkDefectMapper">
|
||||||
|
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
a.id, a.out_work_id, a.defect_id, a.out_work_type
|
||||||
|
</sql>
|
||||||
|
</mapper>
|
||||||
|
|
|
@ -87,7 +87,7 @@ public class ZlmServiceImpl implements ZlmService, ApplicationRunner {
|
||||||
serverCache.putLoad(item);
|
serverCache.putLoad(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Scheduled(cron = "*/10 * * * * ?")
|
// @Scheduled(cron = "*/10 * * * * ?")
|
||||||
public void heartbeat1() {
|
public void heartbeat1() {
|
||||||
log.debug("开始心跳检查...");
|
log.debug("开始心跳检查...");
|
||||||
ServerItem item = serverCache.getLoad();
|
ServerItem item = serverCache.getLoad();
|
||||||
|
|
|
@ -2,17 +2,14 @@ package com.dite.znpt.web.controller;
|
||||||
|
|
||||||
import com.dite.znpt.domain.Result;
|
import com.dite.znpt.domain.Result;
|
||||||
import com.dite.znpt.domain.TableData;
|
import com.dite.znpt.domain.TableData;
|
||||||
import com.dite.znpt.domain.entity.job.JobInWork;
|
|
||||||
import com.dite.znpt.domain.entity.job.JobOutWork;
|
import com.dite.znpt.domain.entity.job.JobOutWork;
|
||||||
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
||||||
import com.dite.znpt.domain.vo.job.req.JobOutWorkReq;
|
import com.dite.znpt.domain.vo.job.req.JobOutWorkReq;
|
||||||
import com.dite.znpt.exception.ServiceException;
|
import com.dite.znpt.exception.ServiceException;
|
||||||
import com.dite.znpt.service.job.JobInWorkService;
|
|
||||||
import com.dite.znpt.service.job.JobOutWorkService;
|
import com.dite.znpt.service.job.JobOutWorkService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.data.domain.Page;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
@ -35,11 +32,7 @@ public class JobOutWorkController {
|
||||||
@ApiOperation(value = "根据jobId查询岗位内容,未查到返回空对象")
|
@ApiOperation(value = "根据jobId查询岗位内容,未查到返回空对象")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public Result<JobOutWork> getJob(@Valid @RequestBody JobOutWorkReq dto) throws ServiceException {
|
public Result<JobOutWork> getJob(@Valid @RequestBody JobOutWorkReq dto) throws ServiceException {
|
||||||
List<JobOutWork> list = this.service.listByJobId(dto);
|
return Result.ok(this.service.getByJobId(dto));
|
||||||
if (list.isEmpty()) {
|
|
||||||
return Result.ok(new JobOutWork());
|
|
||||||
}
|
|
||||||
return Result.ok(list.get(0));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping(value = "save")
|
@PostMapping(value = "save")
|
||||||
|
|
Loading…
Reference in New Issue