gaea集成
This commit is contained in:
parent
2779278a41
commit
d5f162ea20
|
@ -0,0 +1,73 @@
|
|||
package com.dite.znpt.annotations;
|
||||
|
||||
/**
|
||||
* @author wujinsong
|
||||
* @date 2021/9/15 3:57 下午
|
||||
* @description: 查询条件
|
||||
*/
|
||||
public enum MatchType {
|
||||
/**
|
||||
* filed = value
|
||||
*/
|
||||
equal,
|
||||
/**
|
||||
* filed > value
|
||||
*/
|
||||
gt,
|
||||
/**
|
||||
* field >= value
|
||||
*/
|
||||
ge,
|
||||
/**
|
||||
* field < value
|
||||
*/
|
||||
lt,
|
||||
/**
|
||||
* field <= value
|
||||
*/
|
||||
le,
|
||||
/**
|
||||
* field != value
|
||||
*/
|
||||
notEqual,
|
||||
/**
|
||||
* field like value
|
||||
*/
|
||||
like,
|
||||
/**
|
||||
* field not like value
|
||||
*/
|
||||
notLike,
|
||||
/**
|
||||
* field > value
|
||||
*/
|
||||
greaterThan,
|
||||
/**
|
||||
* field >= value
|
||||
*/
|
||||
greaterThanOrEqualTo,
|
||||
/**
|
||||
* field < value
|
||||
*/
|
||||
lessThan,
|
||||
/**
|
||||
* field <= value
|
||||
*/
|
||||
lessThanOrEqualTo,
|
||||
/**
|
||||
* in
|
||||
*/
|
||||
in,
|
||||
/**
|
||||
* in for Number
|
||||
*/
|
||||
inn,
|
||||
/**
|
||||
* field is null
|
||||
*/
|
||||
isNull,
|
||||
/**
|
||||
* field is not null
|
||||
*/
|
||||
isNotNull
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package com.dite.znpt.annotations;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
/**
|
||||
* @author wujinsong
|
||||
* @date 2021/9/15 4:31 下午
|
||||
* @description:
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target(ElementType.FIELD)
|
||||
public @interface QueryCondition {
|
||||
// 数据库中字段名,默认为空字符串,则Query类中的字段要与数据库中字段一致
|
||||
String column() default "";
|
||||
|
||||
// equal, like, gt, lt...
|
||||
MatchType func() default MatchType.equal;
|
||||
|
||||
// object是否可以为null
|
||||
boolean nullable() default false;
|
||||
|
||||
// 字符串是否可为空
|
||||
boolean emptyable() default false;
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
package com.dite.znpt.context;
|
||||
|
||||
//import cn.dev33.satoken.stp.StpUtil;
|
||||
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import com.dite.znpt.domain.vo.PersonnelResp;
|
||||
import com.dite.znpt.service.RedisService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author wujinsong
|
||||
* @date 2021/11/20 9:43 上午
|
||||
* @description: 用户context
|
||||
*/
|
||||
public class UserContext {
|
||||
private final RedisService redisService;
|
||||
|
||||
public UserContext(RedisService redisService) {
|
||||
this.redisService = SpringUtil.getBean(RedisService.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* @author wujinsong
|
||||
* @date 2021/11/20 10:02 上午
|
||||
* @description: 获取当前登录用户信息
|
||||
* @Param []
|
||||
* @Return com.gaea.common.vo.common.UserInfo
|
||||
*/
|
||||
public static PersonnelResp getUserInfo() {
|
||||
// try {
|
||||
// String token = StpUtil.getTokenValue();
|
||||
// if (!StringUtils.isEmpty(token)) {
|
||||
// String s = redisTemplate.opsForValue().get(token);
|
||||
// if (!StringUtils.isEmpty(s)) {
|
||||
// return JSONObject.parseObject(s, UserInfo.class);
|
||||
// }
|
||||
// }
|
||||
// } catch (Exception e) {
|
||||
// UserInfo userInfo = new UserInfo();
|
||||
// userInfo.setUsername(Constants.SYSTEM_USER);
|
||||
// userInfo.setName(Constants.SYSTEM_USER);
|
||||
// userInfo.setId(Constants.SYSTEM_USER);
|
||||
// return userInfo;
|
||||
// }
|
||||
|
||||
PersonnelResp resp = new PersonnelResp();
|
||||
resp.setRoleType("Builder");
|
||||
return resp;
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述:获取角色编码
|
||||
*
|
||||
* @return {@link String }
|
||||
* @author cuizhibin
|
||||
* @date 2025/04/25 11:23
|
||||
**/
|
||||
public static String getRoleCode() {
|
||||
return getUserInfo().getRoleType();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
package com.dite.znpt.domain;
|
||||
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.dite.znpt.annotations.QueryCondition;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.core.annotation.AnnotationUtils;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
|
||||
public class QueryWrapperBuilder {
|
||||
|
||||
public static <T> QueryWrapper<T> build(Object queryDTO) {
|
||||
QueryWrapper<T> wrapper = new QueryWrapper<>();
|
||||
Field[] fields = ReflectUtil.getFields(queryDTO.getClass());
|
||||
|
||||
for (Field field : fields) {
|
||||
QueryCondition qc = AnnotationUtils.getAnnotation(field, QueryCondition.class);
|
||||
if (qc == null) continue;
|
||||
|
||||
TableField tf = AnnotationUtils.getAnnotation(field, TableField.class);
|
||||
field.setAccessible(true);
|
||||
try {
|
||||
Object value = field.get(queryDTO);
|
||||
// 获取列名:优先 QueryCondition.column -> TableField.value -> 字段名
|
||||
String column = qc.column();
|
||||
if (StringUtils.isBlank(column)) {
|
||||
TableField tableField = field.getAnnotation(TableField.class);
|
||||
if (tableField != null && StringUtils.isNotBlank(tableField.value())) {
|
||||
column = tableField.value();
|
||||
} else {
|
||||
column = StrUtil.toUnderlineCase(field.getName());
|
||||
}
|
||||
}
|
||||
|
||||
// null检查
|
||||
if (value == null && !qc.nullable()) continue;
|
||||
|
||||
// empty检查
|
||||
if (value instanceof String && ((String) value).isEmpty() && !qc.emptyable()) continue;
|
||||
|
||||
switch (qc.func()) {
|
||||
case equal: wrapper.eq(column, value); break;
|
||||
case notEqual: wrapper.ne(column, value); break;
|
||||
case like: wrapper.like(column, value); break;
|
||||
case notLike: wrapper.notLike(column, value); break;
|
||||
case gt: wrapper.gt(column, value); break;
|
||||
case ge: wrapper.ge(column, value); break;
|
||||
case lt: wrapper.lt(column, value); break;
|
||||
case le: wrapper.le(column, value); break;
|
||||
case greaterThan: wrapper.gt(column, (Comparable<?>) value); break;
|
||||
case greaterThanOrEqualTo: wrapper.ge(column, (Comparable<?>) value); break;
|
||||
case lessThan: wrapper.lt(column, (Comparable<?>) value); break;
|
||||
case lessThanOrEqualTo: wrapper.le(column, (Comparable<?>) value); break;
|
||||
case in:
|
||||
case inn:
|
||||
if (value instanceof Collection) {
|
||||
wrapper.in(column, (Collection<?>) value);
|
||||
} else if (value.getClass().isArray()) {
|
||||
wrapper.in(column, Arrays.asList((Object[]) value));
|
||||
}
|
||||
break;
|
||||
case isNull: wrapper.isNull(column); break;
|
||||
case isNotNull: wrapper.isNotNull(column); break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
} catch (IllegalAccessException ignored) {}
|
||||
}
|
||||
|
||||
return wrapper;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
package com.dite.znpt.domain;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author wujinsong
|
||||
* @date 2021/9/15 10:11 下午
|
||||
* @description: 巡检数据使用
|
||||
*/
|
||||
@Data
|
||||
@Deprecated
|
||||
public class TableData<T> {
|
||||
private List<T> list = Collections.emptyList();
|
||||
|
||||
private Integer page = 0;
|
||||
|
||||
private Integer pageSize = 10;
|
||||
|
||||
private long total = 0L;
|
||||
|
||||
public TableData(List<T> list, Integer page, Integer pageSize, long total) {
|
||||
this.list = list;
|
||||
this.page = page;
|
||||
this.pageSize = pageSize;
|
||||
this.total = total;
|
||||
}
|
||||
|
||||
public TableData() {
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -62,5 +62,17 @@ public class ProjectEntity extends AuditableEntity implements Serializable {
|
|||
@ApiModelProperty("项目状态,字典project_status")
|
||||
@TableField("status")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty(value = "项目工作类型 可能有多项,逗号分隔", example = "1", notes = "项目工作类型 可能有多项,逗号分隔")
|
||||
@TableField("work_type")
|
||||
private String workType;
|
||||
|
||||
@ApiModelProperty(value = "项目工作岗位 可能有多项,逗号分隔", example = "1", notes = "项目工作岗位 可能有多项,逗号分隔")
|
||||
@TableField("job")
|
||||
private String job;
|
||||
|
||||
@ApiModelProperty(value = "项目安全风险点", example = "1", notes = "项目安全风险点 可能有多项,逗号分隔")
|
||||
@TableField("safety_risk_point")
|
||||
private String safetyRiskPoint;
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,131 @@
|
|||
package com.dite.znpt.domain.entity.job;
|
||||
|
||||
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 com.dite.znpt.annotations.MatchType;
|
||||
import com.dite.znpt.annotations.QueryCondition;
|
||||
import com.dite.znpt.domain.AuditableEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author wujinsong
|
||||
* @date 2023/2/16 22:50
|
||||
* @description: 项目中指定机组各人员内部工作内容
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("gaea_job_in_work")
|
||||
public class JobInWork extends AuditableEntity implements Serializable {
|
||||
|
||||
@ApiModelProperty(value = "id", example = "78979879375", notes = "id")
|
||||
@TableId(value = "id", type = IdType.ASSIGN_UUID)
|
||||
private String Id;
|
||||
|
||||
@ApiModelProperty(value = "岗位id", example = "78979879375", notes = "岗位id")
|
||||
@QueryCondition(func = MatchType.like)
|
||||
private String jobId;
|
||||
|
||||
@ApiModelProperty(value = "安全交底及安全风险点照片", example = "https://123.png,https://456.png", notes = "安全交底及安全风险点照片")
|
||||
private String safetyRiskPointImages;
|
||||
|
||||
@ApiModelProperty(value = "地勤工作描述", example = "工作描述工作描述", notes = "地勤工作描述")
|
||||
private String jobDesc;
|
||||
|
||||
@ApiModelProperty(value = "地勤照片", example = "https://123.png,https://456.png", notes = "地勤照片")
|
||||
private String images;
|
||||
|
||||
@ApiModelProperty(value = "地勤工作地点描述", example = "工作地点描述工作地点描述", notes = "地勤工作地点描述")
|
||||
private String groundServiceJobAddressDesc;
|
||||
|
||||
@ApiModelProperty(value = "地勤工作地点照片", example = "https://123.png,https://456.png", notes = "地勤工作地点照片")
|
||||
private String groundServiceJobAddressImages;
|
||||
|
||||
@ApiModelProperty(value = "地勤安全管控描述", example = "安全管控描述安全管控描述", notes = "地勤安全管控描述")
|
||||
private String groundServiceSecurityControlDesc;
|
||||
|
||||
@ApiModelProperty(value = "地勤安全管控照片", example = "https://123.png,https://456.png", notes = "地勤安全管控照片")
|
||||
private String groundServiceSecurityControlImages;
|
||||
|
||||
@ApiModelProperty(value = "地勤工作时间", example = "2022-01-22 10:00:00", notes = "地勤工作时间")
|
||||
private String groundServiceWorkTime;
|
||||
|
||||
@ApiModelProperty(value = "司机工作描述", example = "工作描述工作描述", notes = "司机工作描述")
|
||||
private String driverJobDesc;
|
||||
|
||||
@ApiModelProperty(value = "司机照片", example = "https://123.png,https://456.png", notes = "司机照片")
|
||||
private String driverImages;
|
||||
|
||||
@ApiModelProperty(value = "司机工作地点描述", example = "工作地点描述工作地点描述", notes = "司机工作地点描述")
|
||||
private String driverJobAddressDesc;
|
||||
|
||||
@ApiModelProperty(value = "司机工作地点照片", example = "https://123.png,https://456.png", notes = "司机工作地点照片")
|
||||
private String driverJobAddressImages;
|
||||
|
||||
@ApiModelProperty(value = "司机安全管控描述", example = "安全管控描述安全管控描述", notes = "司机安全管控描述")
|
||||
private String driverSecurityControlDesc;
|
||||
|
||||
@ApiModelProperty(value = "司机安全管控照片", example = "https://123.png,https://456.png", notes = "司机安全管控照片")
|
||||
private String driverSecurityControlImages;
|
||||
|
||||
@ApiModelProperty(value = "司机工作时间", example = "2022-01-22 10:00:00", notes = "司机工作时间")
|
||||
private String driverWorkTime;
|
||||
|
||||
@ApiModelProperty(value = "登高工作描述", example = "工作描述工作描述", notes = "登高工作描述")
|
||||
private String ascendingJobDesc;
|
||||
|
||||
@ApiModelProperty(value = "登高照片", example = "工作描述工作描述", notes = "登高照片")
|
||||
private String ascendingImages;
|
||||
|
||||
@ApiModelProperty(value = "登高工作地点描述", example = "工作地点描述工作地点描述", notes = "登高工作地点描述")
|
||||
private String ascendingJobAddressDesc;
|
||||
|
||||
@ApiModelProperty(value = "登高工作地点照片", example = "https://123.png,https://456.png", notes = "登高工作地点照片")
|
||||
private String ascendingJobAddressImages;
|
||||
|
||||
@ApiModelProperty(value = "登高安全管控描述", example = "安全管控描述安全管控描述", notes = "登高安全管控描述")
|
||||
private String ascendingSecurityControlDesc;
|
||||
|
||||
@ApiModelProperty(value = "登高安全管控照片", example = "https://123.png,https://456.png", notes = "登高安全管控照片")
|
||||
private String ascendingSecurityControlImages;
|
||||
|
||||
@ApiModelProperty(value = "登高工作时间", example = "2022-01-22 10:00:00", notes = "登高工作时间")
|
||||
private String ascendingWorkTime;
|
||||
|
||||
@ApiModelProperty(value = "登高等级", example = "1一级 2二级 3三级 4四级 5五级", notes = "登高等级")
|
||||
@QueryCondition(func = MatchType.like)
|
||||
private String ascendingLevel;
|
||||
|
||||
@ApiModelProperty(value = "登高部件列表", example = "[]", notes = "登高部件列表")
|
||||
@TableField(exist = false)
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private List<JobInWorkParts> ascendingPartsList;
|
||||
|
||||
@ApiModelProperty(value = "状态", example = "0草稿 1已提交 2组长提交 3项目经理审批通过", notes = "状态")
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty(value = "安全员审批状态", example = "0未审批 1已审批", notes = "安全员审批状态")
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String safetyOfficerStatus;
|
||||
|
||||
@ApiModelProperty(value = "质量员审批状态", example = "0未审批 1已审批", notes = "质量员审批状态")
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String qualityOfficerStatus;
|
||||
|
||||
@ApiModelProperty(value = "施工人员", example = "施工人员", notes = "施工人员")
|
||||
@TableField(exist = false)
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String constructionPersonnel;
|
||||
|
||||
@ApiModelProperty(value = "具体岗位", example = "具体岗位", notes = "具体岗位")
|
||||
@TableField(exist = false)
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String jobCode;
|
||||
}
|
|
@ -0,0 +1,128 @@
|
|||
package com.dite.znpt.domain.entity.job;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.dite.znpt.annotations.MatchType;
|
||||
import com.dite.znpt.annotations.QueryCondition;
|
||||
import com.dite.znpt.domain.AuditableEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author wujinsong
|
||||
* @date 2023/2/16 22:50
|
||||
* @description: 项目中指定机组各人员内部工作内容
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("gaea_job_in_work_parts")
|
||||
public class JobInWorkParts extends AuditableEntity implements Serializable {
|
||||
|
||||
@ApiModelProperty(value = "id", example = "78979879375", notes = "id")
|
||||
@TableId(value = "id", type = IdType.ASSIGN_UUID)
|
||||
private String Id;
|
||||
|
||||
@ApiModelProperty(value = "岗位id", example = "78979879375", notes = "岗位id")
|
||||
@QueryCondition(func = MatchType.like)
|
||||
private String jobId;
|
||||
|
||||
@ApiModelProperty(value = "叶片盖板原照片", example = "https://123.png,https://456.png", notes = "叶片盖板原照片")
|
||||
private String leafPlateImages;
|
||||
|
||||
@ApiModelProperty(value = "叶片盖板原描述", example = "工作描述工作描述", notes = "叶片盖板原描述")
|
||||
private String leafPlateDesc;
|
||||
|
||||
@ApiModelProperty(value = "叶片铭牌照片", example = "https://123.png,https://456.png", notes = "叶片铭牌照片")
|
||||
private String leafDogtagImages;
|
||||
|
||||
@ApiModelProperty(value = "叶片铭牌描述", example = "工作描述工作描述", notes = "叶片铭牌描述")
|
||||
private String leafDogtagDesc;
|
||||
|
||||
@ApiModelProperty(value = "叶片概况照片", example = "https://123.png,https://456.png", notes = "叶片概况照片")
|
||||
private String leafProfileImages;
|
||||
|
||||
@ApiModelProperty(value = "叶片概况描述", example = "工作描述工作描述", notes = "叶片概况描述")
|
||||
private String leafProfileDesc;
|
||||
|
||||
@ApiModelProperty(value = "腹板变形情况照片", example = "https://123.png,https://456.png", notes = "腹板变形情况照片")
|
||||
private String webDeformationImages;
|
||||
|
||||
@ApiModelProperty(value = "腹板变形情况", example = "0未变形 1有变形", notes = "腹板变形情况")
|
||||
private String webDeformation;
|
||||
|
||||
@ApiModelProperty(value = "腹板开裂情况照片", example = "https://123.png,https://456.png", notes = "腹板开裂情况照片")
|
||||
private String webCrazeImages;
|
||||
|
||||
@ApiModelProperty(value = "腹板开裂情况", example = "0未开裂 1有开裂", notes = "腹板开裂情况")
|
||||
private String webCraze;
|
||||
|
||||
@ApiModelProperty(value = "腹板粘接缝照片", example = "https://123.png,https://456.png", notes = "腹板粘接缝照片")
|
||||
private String webGluedJointImages;
|
||||
|
||||
@ApiModelProperty(value = "腹板粘接缝开裂情况", example = "0未开裂 1有开裂", notes = "腹板粘接缝开裂情况")
|
||||
private String webGluedJoint;
|
||||
|
||||
@ApiModelProperty(value = "后缘粘接缝照片", example = "https://123.png,https://456.png", notes = "后缘粘接缝照片")
|
||||
private String trailingEdgeGluedJointImages;
|
||||
|
||||
@ApiModelProperty(value = "后缘粘接缝开裂情况", example = "0未开裂 1有开裂", notes = "后缘粘接缝开裂情况")
|
||||
private String trailingEdgeGluedJoint;
|
||||
|
||||
@ApiModelProperty(value = "前缘粘接缝照片", example = "https://123.png,https://456.png", notes = "前缘粘接缝照片")
|
||||
private String leadingEdgeGluedJointImages;
|
||||
|
||||
@ApiModelProperty(value = "前缘粘接缝开裂情况", example = "0未开裂 1有开裂", notes = "前缘粘接缝开裂情况")
|
||||
private String leadingEdgeGluedJoint;
|
||||
|
||||
@ApiModelProperty(value = "ps/ss面开裂情况照片", example = "https://123.png,https://456.png", notes = "ps/ss面开裂情况照片")
|
||||
private String psCrackingImages;
|
||||
|
||||
@ApiModelProperty(value = "ps/ss面开裂情况", example = "0未开裂 1有开裂", notes = "ps/ss面开裂情况")
|
||||
private String psCracking;
|
||||
|
||||
@ApiModelProperty(value = "ps/ss面褶皱情况照片", example = "https://123.png,https://456.png", notes = "ps/ss面褶皱情况照片")
|
||||
private String psWrinkleImages;
|
||||
|
||||
@ApiModelProperty(value = "ps/ss面褶皱情况", example = "0无褶皱 1有褶皱", notes = "ps/ss面褶皱情况")
|
||||
private String psWrinkle;
|
||||
|
||||
@ApiModelProperty(value = "ps/ss面发白情况照片", example = "https://123.png,https://456.png", notes = "ps/ss面发白情况照片")
|
||||
private String psGrowWhiteImages;
|
||||
|
||||
@ApiModelProperty(value = "ps/ss面发白情况", example = "0无发白 1有发白", notes = "ps/ss面发白情况")
|
||||
private String psGrowWhite;
|
||||
|
||||
@ApiModelProperty(value = "ps/ss面碳化情况照片", example = "https://123.png,https://456.png", notes = "ps/ss面碳化情况照片")
|
||||
private String psCarbonizeImages;
|
||||
|
||||
@ApiModelProperty(value = "ps/ss面碳化情况", example = "0无碳化 1有碳化", notes = "ps/ss面碳化情况")
|
||||
private String psCarbonize;
|
||||
|
||||
@ApiModelProperty(value = "ps/ss面局部透光照片", example = "https://123.png,https://456.png", notes = "ps/ss面局部透光照片")
|
||||
private String psTransmittingImages;
|
||||
|
||||
@ApiModelProperty(value = "ps/ss面局部透光", example = "0无透光 1有透光", notes = "ps/ss面局部透光")
|
||||
private String psTransmitting;
|
||||
|
||||
@ApiModelProperty(value = "防雷导线松脱、断开照片", example = "https://123.png,https://456.png", notes = "防雷导线松脱、断开照片")
|
||||
private String lightningConductorImages;
|
||||
|
||||
@ApiModelProperty(value = "防雷导线松脱、断开", example = "0无异常 1有异常", notes = "防雷导线松脱、断开")
|
||||
private String lightningConductor;
|
||||
|
||||
@ApiModelProperty(value = "防雷卡遗失情况照片", example = "https://123.png,https://456.png", notes = "防雷卡遗失情况照片")
|
||||
private String lightningCardLostImages;
|
||||
|
||||
@ApiModelProperty(value = "防雷卡遗失情况", example = "0无异常 1有异常", notes = "防雷卡遗失情况")
|
||||
private String lightningCardLost;
|
||||
|
||||
@ApiModelProperty(value = "叶片盖板检查后照片", example = "https://123.png,https://456.png", notes = "叶片盖板检查后照片")
|
||||
private String leafProfileCheckImages;
|
||||
|
||||
@ApiModelProperty(value = "叶片盖板检查后描述", example = "工作描述工作描述", notes = "叶片盖板检查后描述")
|
||||
private String leafProfileCheckDesc;
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
package com.dite.znpt.domain.entity.job;
|
||||
|
||||
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 com.dite.znpt.annotations.MatchType;
|
||||
import com.dite.znpt.annotations.QueryCondition;
|
||||
import com.dite.znpt.domain.AuditableEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author wujinsong
|
||||
* @date 2023/2/16 22:50
|
||||
* @description: 项目中指定机组各人员工作岗位
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("gaea_job")
|
||||
public class JobInfo extends AuditableEntity implements Serializable {
|
||||
|
||||
@ApiModelProperty(value = "id", example = "78979879375", notes = "id")
|
||||
@TableId(value = "id", type = IdType.ASSIGN_UUID)
|
||||
private String Id;
|
||||
|
||||
@ApiModelProperty(value = "项目id", example = "78979879375", notes = "项目id")
|
||||
@QueryCondition(func = MatchType.like)
|
||||
private String projectId;
|
||||
|
||||
@ApiModelProperty(value = "机组id", example = "78979879375", notes = "机组id")
|
||||
@QueryCondition(func = MatchType.like)
|
||||
private String crewId;
|
||||
|
||||
@ApiModelProperty(value = "工作类型", example = "工作类型", notes = "工作类型")
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String workType;
|
||||
|
||||
@ApiModelProperty(value = "具体岗位", example = "具体岗位", notes = "具体岗位")
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String jobCode;
|
||||
|
||||
@ApiModelProperty(value = "施工人员", example = "施工人员", notes = "施工人员")
|
||||
@QueryCondition(func = MatchType.like)
|
||||
private String constructionPersonnel;
|
||||
|
||||
@ApiModelProperty(value = "施工人员id", example = "施工人员id", notes = "施工人员id")
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String constructionPersonnelId;
|
||||
|
||||
@ApiModelProperty(value = "状态", example = "0草稿 1已提交 2组长提交 3项目经理审批通过", notes = "状态", hidden = true)
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty(value = "安全员审批状态", example = "0未审批 1已审批", notes = "安全员审批状态", hidden = true)
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String safetyOfficerStatus;
|
||||
|
||||
@ApiModelProperty(value = "质量员审批状态", example = "0未审批 1已审批", notes = "质量员审批状态", hidden = true)
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String qualityOfficerStatus;
|
||||
|
||||
@ApiModelProperty(value = "提交时间", example = "2023-11-11", notes = "提交时间", hidden = true)
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private Date submitTime;
|
||||
}
|
|
@ -0,0 +1,208 @@
|
|||
package com.dite.znpt.domain.entity.job;
|
||||
|
||||
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 com.dite.znpt.annotations.MatchType;
|
||||
import com.dite.znpt.annotations.QueryCondition;
|
||||
import com.dite.znpt.domain.AuditableEntity;
|
||||
import com.dite.znpt.domain.entity.PartEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author wujinsong
|
||||
* @date 2023/2/16 22:50
|
||||
* @description: 项目中指定机组各人员外部工作内容
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("gaea_job_out_work")
|
||||
public class JobOutWork extends AuditableEntity implements Serializable {
|
||||
|
||||
@ApiModelProperty(value = "id", example = "78979879375", notes = "id")
|
||||
@TableId(value = "id", type = IdType.ASSIGN_UUID)
|
||||
private String Id;
|
||||
|
||||
@ApiModelProperty(value = "岗位id", example = "78979879375", notes = "岗位id")
|
||||
@QueryCondition(func = MatchType.like)
|
||||
private String jobId;
|
||||
|
||||
@ApiModelProperty(value = "安全交底及安全风险点照片", example = "https://123.png,https://456.png", notes = "安全交底及安全风险点照片")
|
||||
private String safetyRiskPointImages;
|
||||
|
||||
@ApiModelProperty(value = "司机工作描述", example = "工作描述工作描述", notes = "司机工作描述")
|
||||
private String driverJobDesc;
|
||||
|
||||
@ApiModelProperty(value = "司机照片", example = "https://123.png,https://456.png", notes = "司机照片")
|
||||
private String driverImages;
|
||||
|
||||
@ApiModelProperty(value = "司机工作地点描述", example = "工作地点描述工作地点描述", notes = "司机工作地点描述")
|
||||
private String driverJobAddressDesc;
|
||||
|
||||
@ApiModelProperty(value = "司机工作地点照片", example = "https://123.png,https://456.png", notes = "司机工作地点照片")
|
||||
private String driverJobAddressImages;
|
||||
|
||||
@ApiModelProperty(value = "司机安全管控描述", example = "安全管控描述安全管控描述", notes = "司机安全管控描述")
|
||||
private String driverSecurityControlDesc;
|
||||
|
||||
@ApiModelProperty(value = "司机安全管控照片", example = "https://123.png,https://456.png", notes = "司机安全管控照片")
|
||||
private String driverSecurityControlImages;
|
||||
|
||||
@ApiModelProperty(value = "司机工作时间", example = "2022-01-22 10:00:00", notes = "司机工作时间")
|
||||
private String driverWorkTime;
|
||||
|
||||
@ApiModelProperty(value = "地勤工作描述", example = "工作描述工作描述", notes = "地勤工作描述")
|
||||
private String groundServiceJobDesc;
|
||||
|
||||
@ApiModelProperty(value = "地勤工作内容照片", example = "https://123.png,https://456.png", notes = "地勤工作内容照片")
|
||||
private String groundServiceImages;
|
||||
|
||||
@ApiModelProperty(value = "地勤工作地点描述", example = "工作地点描述工作地点描述", notes = "地勤工作地点描述")
|
||||
private String groundServiceJobAddressDesc;
|
||||
|
||||
@ApiModelProperty(value = "地勤工作地点照片", example = "https://123.png,https://456.png", notes = "地勤工作地点照片")
|
||||
private String groundServiceJobAddressImages;
|
||||
|
||||
@ApiModelProperty(value = "地勤安全管控描述", example = "安全管控描述安全管控描述", notes = "地勤安全管控描述")
|
||||
private String groundServiceSecurityControlDesc;
|
||||
|
||||
@ApiModelProperty(value = "地勤安全管控照片", example = "https://123.png,https://456.png", notes = "地勤安全管控照片")
|
||||
private String groundServiceSecurityControlImages;
|
||||
|
||||
@ApiModelProperty(value = "地勤工作时间", example = "2022-01-22 10:00:00", notes = "地勤工作时间")
|
||||
private String groundServiceWorkTime;
|
||||
|
||||
@ApiModelProperty(value = "飞手工作描述", example = "工作描述工作描述", notes = "飞手工作描述")
|
||||
private String jobDesc;
|
||||
|
||||
@ApiModelProperty(value = "飞手工作照片", example = "https://123.png,https://456.png", notes = "飞手工作照片")
|
||||
private String images;
|
||||
|
||||
@ApiModelProperty(value = "飞手工作地点描述", example = "工作地点描述工作地点描述", notes = "飞手工作地点描述")
|
||||
private String droneFlyerJobAddressDesc;
|
||||
|
||||
@ApiModelProperty(value = "飞手工作地点照片", example = "https://123.png,https://456.png", notes = "飞手工作地点照片")
|
||||
private String droneFlyerJobAddressImages;
|
||||
|
||||
@ApiModelProperty(value = "飞手安全管控描述", example = "安全管控描述安全管控描述", notes = "飞手安全管控描述")
|
||||
private String droneFlyerSecurityControlDesc;
|
||||
|
||||
@ApiModelProperty(value = "飞手安全管控照片", example = "https://123.png,https://456.png", notes = "飞手安全管控照片")
|
||||
private String droneFlyerSecurityControlImages;
|
||||
|
||||
@ApiModelProperty(value = "飞手工作时间", example = "2022-01-22 10:00:00", notes = "飞手工作时间")
|
||||
private String droneFlyerWorkTime;
|
||||
|
||||
@ApiModelProperty(value = "飞手施工时间", example = "2022-01-22 10:00:00", notes = "飞手施工时间")
|
||||
private String droneFlyerConstructionTime;
|
||||
|
||||
@ApiModelProperty(value = "飞手拍摄图片数量", example = "2", notes = "飞手拍摄图片数量")
|
||||
private String droneFlyerImageCount;
|
||||
|
||||
@ApiModelProperty(value = "飞手拍摄图片质量", example = "10", notes = "飞手拍摄图片质量")
|
||||
private String droneFlyerImageQuality;
|
||||
|
||||
@ApiModelProperty(value = "飞手部件列表", example = "[]", notes = "部件列表")
|
||||
@TableField(exist = false)
|
||||
private List<PartEntity> droneFlyerPartsList;
|
||||
|
||||
@ApiModelProperty(value = "飞助工作描述", example = "工作描述工作描述", notes = "飞助工作描述")
|
||||
private String flyAidJobDesc;
|
||||
|
||||
@ApiModelProperty(value = "飞助照片", example = "https://123.png,https://456.png", notes = "飞助照片")
|
||||
private String flyAidImages;
|
||||
|
||||
@ApiModelProperty(value = "飞助工作地点描述", example = "工作地点描述工作地点描述", notes = "飞助工作地点描述")
|
||||
private String flyAidJobAddressDesc;
|
||||
|
||||
@ApiModelProperty(value = "飞助工作地点照片", example = "https://123.png,https://456.png", notes = "飞助工作地点照片")
|
||||
private String flyAidJobAddressImages;
|
||||
|
||||
@ApiModelProperty(value = "飞助安全管控描述", example = "安全管控描述安全管控描述", notes = "飞助安全管控描述")
|
||||
private String flyAidSecurityControlDesc;
|
||||
|
||||
@ApiModelProperty(value = "飞助安全管控照片", example = "https://123.png,https://456.png", notes = "飞助安全管控照片")
|
||||
private String flyAidSecurityControlImages;
|
||||
|
||||
@ApiModelProperty(value = "飞助工作时间", example = "2022-01-22 10:00:00", notes = "飞助工作时间")
|
||||
private String flyAidWorkTime;
|
||||
|
||||
@ApiModelProperty(value = "飞助施工时间", example = "2022-01-22 10:00:00", notes = "飞助施工时间")
|
||||
private String flyAidConstructionTime;
|
||||
|
||||
@ApiModelProperty(value = "飞助拍摄图片数量", example = "2", notes = "飞助拍摄图片数量")
|
||||
private String flyAidImageCount;
|
||||
|
||||
@ApiModelProperty(value = "飞助拍摄图片质量", example = "10", notes = "飞助拍摄图片质量")
|
||||
private String flyAidImageQuality;
|
||||
|
||||
@ApiModelProperty(value = "飞助部件列表", example = "[]", notes = "部件列表")
|
||||
@TableField(exist = false)
|
||||
private List<PartEntity> flyAidPartsList;
|
||||
|
||||
@ApiModelProperty(value = "登高工作描述", example = "工作描述工作描述", notes = "登高工作描述")
|
||||
private String ascendingJobDesc;
|
||||
|
||||
@ApiModelProperty(value = "登高等级", example = "1一级 2二级 3三级 4四级 5五级", notes = "登高等级")
|
||||
@QueryCondition(func = MatchType.like)
|
||||
private String ascendingLevel;
|
||||
|
||||
@ApiModelProperty(value = "登高照片", example = "https://123.png,https://456.png", notes = "登高照片")
|
||||
private String ascendingImages;
|
||||
|
||||
@ApiModelProperty(value = "登高工作地点描述", example = "工作地点描述工作地点描述", notes = "登高工作地点描述")
|
||||
private String ascendingJobAddressDesc;
|
||||
|
||||
@ApiModelProperty(value = "登高工作地点照片", example = "https://123.png,https://456.png", notes = "登高工作地点照片")
|
||||
private String ascendingJobAddressImages;
|
||||
|
||||
@ApiModelProperty(value = "登高安全管控描述", example = "安全管控描述安全管控描述", notes = "登高安全管控描述")
|
||||
private String ascendingSecurityControlDesc;
|
||||
|
||||
@ApiModelProperty(value = "登高安全管控照片", example = "https://123.png,https://456.png", notes = "登高安全管控照片")
|
||||
private String ascendingSecurityControlImages;
|
||||
|
||||
@ApiModelProperty(value = "登高工作时间", example = "2022-01-22 10:00:00", notes = "登高工作时间")
|
||||
private String ascendingWorkTime;
|
||||
|
||||
@ApiModelProperty(value = "登高施工时间", example = "2022-01-22 10:00:00", notes = "登高施工时间")
|
||||
private String ascendingConstructionTime;
|
||||
|
||||
@ApiModelProperty(value = "登高拍摄图片数量", example = "2", notes = "登高拍摄图片数量")
|
||||
private String ascendingImageCount;
|
||||
|
||||
@ApiModelProperty(value = "登高拍摄图片质量", example = "10", notes = "登高拍摄图片质量")
|
||||
private String ascendingImageQuality;
|
||||
|
||||
@ApiModelProperty(value = "登高部件列表", example = "[]", notes = "部件列表")
|
||||
@TableField(exist = false)
|
||||
private List<PartEntity> ascendingPartsList;
|
||||
|
||||
@ApiModelProperty(value = "状态", example = "0草稿 1已提交 2组长提交 3项目经理审批通过", notes = "状态")
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty(value = "安全员审批状态", example = "0未审批 1已审批", notes = "安全员审批状态")
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String safetyOfficerStatus;
|
||||
|
||||
@ApiModelProperty(value = "质量员审批状态", example = "0未审批 1已审批", notes = "质量员审批状态")
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String qualityOfficerStatus;
|
||||
|
||||
@ApiModelProperty(value = "施工人员", example = "施工人员", notes = "施工人员")
|
||||
@TableField(exist = false)
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String constructionPersonnel;
|
||||
|
||||
@ApiModelProperty(value = "具体岗位", example = "具体岗位", notes = "具体岗位")
|
||||
@TableField(exist = false)
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String jobCode;
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package com.dite.znpt.domain.entity.job;
|
||||
|
||||
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 com.dite.znpt.annotations.MatchType;
|
||||
import com.dite.znpt.annotations.QueryCondition;
|
||||
import com.dite.znpt.domain.AuditableEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author wujinsong
|
||||
* @date 2023/2/16 22:50
|
||||
* @description: 项目中指定机组各人员外部工作内容
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("gaea_job_summary_work")
|
||||
public class JobSummaryWork extends AuditableEntity implements Serializable {
|
||||
|
||||
@ApiModelProperty(value = "id", example = "78979879375", notes = "id")
|
||||
@TableId(value = "id", type = IdType.ASSIGN_UUID)
|
||||
private String Id;
|
||||
|
||||
@ApiModelProperty(value = "岗位id", example = "78979879375", notes = "岗位id")
|
||||
@QueryCondition(func = MatchType.like)
|
||||
private String jobId;
|
||||
|
||||
@ApiModelProperty(value = "工作描述", example = "工作描述工作描述", notes = "工作描述")
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String jobDesc;
|
||||
|
||||
@ApiModelProperty(value = "状态", example = "0草稿 1已提交 2组长提交 3项目经理审批通过", notes = "状态")
|
||||
@QueryCondition(func = MatchType.equal)
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty(value = "施工人员", example = "施工人员", notes = "施工人员")
|
||||
@TableField(exist = false)
|
||||
private String constructionPersonnel;
|
||||
|
||||
@ApiModelProperty(value = "具体岗位", example = "具体岗位", notes = "具体岗位")
|
||||
@TableField(exist = false)
|
||||
private String jobCode;
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package com.dite.znpt.domain.vo.job.req;
|
||||
|
||||
import com.dite.znpt.domain.AuditableEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author cuizhibin
|
||||
* @date 2023/10/30 20:38
|
||||
* @description jobq
|
||||
*/
|
||||
@Data
|
||||
public class JobAllContentReq extends AuditableEntity implements Serializable {
|
||||
|
||||
@ApiModelProperty(value = "机组id", example = "78979879375", notes = "机组id")
|
||||
private String crewId;
|
||||
|
||||
@ApiModelProperty(value = "工作类型", example = "工作类型", notes = "工作类型")
|
||||
private String workType;
|
||||
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package com.dite.znpt.domain.vo.job.req;
|
||||
|
||||
import com.dite.znpt.domain.entity.job.JobAntiThunderWork;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author cuizhibin
|
||||
* @date 2023/10/30 20:38
|
||||
* @description jobq
|
||||
*/
|
||||
@Data
|
||||
public class JobAntiThunderWorkReq extends JobAntiThunderWork {
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package com.dite.znpt.domain.vo.job.req;
|
||||
|
||||
import com.dite.znpt.domain.entity.job.JobInWorkParts;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author wujinsong
|
||||
* @date 2023/2/17 09:47
|
||||
* @description: 部件
|
||||
*/
|
||||
@Data
|
||||
public class JobInWorkPartsReq extends JobInWorkParts {
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package com.dite.znpt.domain.vo.job.req;
|
||||
|
||||
import com.dite.znpt.domain.entity.job.JobInWork;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author cuizhibin
|
||||
* @date 2023/10/30 20:38
|
||||
* @description jobq
|
||||
*/
|
||||
@Data
|
||||
public class JobInWorkReq extends JobInWork {
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
package com.dite.znpt.domain.vo.job.req;
|
||||
|
||||
import com.dite.znpt.domain.entity.job.JobInfo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author cuizhibin
|
||||
* @date 2023/10/30 20:38
|
||||
* @description jobq
|
||||
*/
|
||||
@Data
|
||||
public class JobInfoReq extends JobInfo {
|
||||
|
||||
@ApiModelProperty(value = "提交开始时间", example = "1653764367643", notes = "提交开始时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date submitTimeStart;
|
||||
|
||||
@ApiModelProperty(value = "提交结束时间", example = "1653764327643", notes = "提交结束时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date submitTimeEnd;
|
||||
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package com.dite.znpt.domain.vo.job.req;
|
||||
|
||||
import com.dite.znpt.domain.entity.job.JobOutWork;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author cuizhibin
|
||||
* @date 2023/10/30 20:38
|
||||
* @description jobq
|
||||
*/
|
||||
@Data
|
||||
public class JobOutWorkReq extends JobOutWork {
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package com.dite.znpt.domain.vo.job.req;
|
||||
|
||||
import com.dite.znpt.domain.entity.job.JobSummaryWork;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author cuizhibin
|
||||
* @date 2023/10/30 20:38
|
||||
* @description jobq
|
||||
*/
|
||||
@Data
|
||||
public class JobSummaryWorkReq extends JobSummaryWork {
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
package com.dite.znpt.domain.vo.job.resp;
|
||||
|
||||
import com.dite.znpt.domain.entity.job.JobAntiThunderWork;
|
||||
import com.dite.znpt.domain.entity.job.JobInWork;
|
||||
import com.dite.znpt.domain.entity.job.JobOutWork;
|
||||
import com.dite.znpt.domain.entity.job.JobSummaryWork;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author Julio
|
||||
* @date 2023/2/1 14:36
|
||||
* @description 地址
|
||||
*/
|
||||
@Data
|
||||
public class JobAllContentResp implements Serializable {
|
||||
|
||||
@ApiModelProperty(value = "防雷工作-登高", example = "{}", notes = "防雷工作-登高")
|
||||
private JobAntiThunderWork work__ascend_height;
|
||||
@ApiModelProperty(value = "防雷工作-抄表", example = "{}", notes = "防雷工作-抄表")
|
||||
private JobAntiThunderWork work__meter_reading;
|
||||
@ApiModelProperty(value = "防雷工作-无人化装备操作", example = "{}", notes = "防雷工作-无人化装备操作")
|
||||
private JobAntiThunderWork work__unman_operation;
|
||||
|
||||
@ApiModelProperty(value = "内部工作", example = "{}", notes = "内部工作")
|
||||
private JobInWork jobInWork;
|
||||
|
||||
@ApiModelProperty(value = "外部工作", example = "{}", notes = "外部工作")
|
||||
private JobOutWork jobOutWork;
|
||||
|
||||
@ApiModelProperty(value = "汇总报告工作", example = "{}", notes = "汇总报告工作")
|
||||
private JobSummaryWork jobSummaryWork;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package com.dite.znpt.domain.vo.job.resp;
|
||||
|
||||
import com.dite.znpt.domain.entity.job.JobAntiThunderWork;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author Julio
|
||||
* @date 2023/2/1 14:36
|
||||
* @description 地址
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class JobAntiThunderWorkResp extends JobAntiThunderWork implements Serializable {
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
package com.dite.znpt.domain.vo.job.resp;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author wujinsong
|
||||
* @date 2023/2/17 09:47
|
||||
* @description: 部件
|
||||
*/
|
||||
@Data
|
||||
public class JobInWorkPartsResp implements Serializable {
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package com.dite.znpt.domain.vo.job.resp;
|
||||
|
||||
import com.dite.znpt.domain.entity.job.JobInWork;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author Julio
|
||||
* @date 2023/2/1 14:36
|
||||
* @description 地址
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class JobInWorkResp extends JobInWork implements Serializable {
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package com.dite.znpt.domain.vo.job.resp;
|
||||
|
||||
import com.dite.znpt.domain.entity.job.JobInfo;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author Julio
|
||||
* @date 2023/2/1 14:36
|
||||
* @description 地址
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class JobInfoResp extends JobInfo implements Serializable {
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package com.dite.znpt.domain.vo.job.resp;
|
||||
|
||||
import com.dite.znpt.domain.entity.job.JobOutWork;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author Julio
|
||||
* @date 2023/2/1 14:36
|
||||
* @description 地址
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class JobOutWorkResp extends JobOutWork implements Serializable {
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package com.dite.znpt.domain.vo.job.resp;
|
||||
|
||||
import com.dite.znpt.domain.entity.job.JobSummaryWork;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author Julio
|
||||
* @date 2023/2/1 14:36
|
||||
* @description 地址
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class JobSummaryWorkResp extends JobSummaryWork implements Serializable {
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package com.dite.znpt.domain.vo.job.resp;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("机组下各工作类型状态处理类")
|
||||
public class TurbineStatusResp {
|
||||
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "内部工作状态, -1不存在,0未开始、1开始施工、2已提交报告、3审核通过", example = "{}", notes = "内部工作状态, -1不存在,0未开始、1开始施工、2已提交报告、3审核通过")
|
||||
private String antiThunderWorkStatus;
|
||||
|
||||
@ApiModelProperty(value = "外部工作状态, -1不存在,0未开始、1开始施工、2已提交报告、3审核通过", example = "{}", notes = "外部工作状态, -1不存在,0未开始、1开始施工、2已提交报告、3审核通过")
|
||||
private String inWorkStatus;
|
||||
|
||||
@ApiModelProperty(value = "防雷工作状态, -1不存在,0未开始、1开始施工、2已提交报告、3审核通过", example = "{}", notes = "防雷工作状态, -1不存在,0未开始、1开始施工、2已提交报告、3审核通过")
|
||||
private String outWorkStatus;
|
||||
|
||||
@ApiModelProperty(value = "数据报告工作状态, -1不存在,0未开始、1开始施工、2已提交报告、3审核通过", example = "{}", notes = "数据报告工作状态, -1不存在,0未开始、1开始施工、2已提交报告、3审核通过")
|
||||
private String summaryWorkStatus;
|
||||
|
||||
@ApiModelProperty(value = "内部工作安全员审核状态, -1不存在,0未审核、1审核通过", example = "{}", notes = "内部工作安全员审核状态, -1不存在,0未审核、1审核通过")
|
||||
private String antiThunderWorkSafetyStatus;
|
||||
|
||||
@ApiModelProperty(value = "外部工作安全员审核状态, -1不存在,0未审核、1审核通过", example = "{}", notes = "外部工作安全员审核状态, -1不存在,0未审核、1审核通过")
|
||||
private String inWorkSafetyStatus;
|
||||
|
||||
@ApiModelProperty(value = "防雷工作安全员审核状态, -1不存在,0未审核、1审核通过", example = "{}", notes = "防雷工作安全员审核状态, -1不存在,0未审核、1审核通过")
|
||||
private String outWorkSafetyStatus;
|
||||
|
||||
@ApiModelProperty(value = "内部工作质量员审核状态, -1不存在,0未审核、1审核通过", example = "{}", notes = "内部工作质量员审核状态, -1不存在,0未审核、1审核通过")
|
||||
private String antiThunderWorkQualityStatus;
|
||||
|
||||
@ApiModelProperty(value = "外部工作质量员审核状态, -1不存在,0未审核、1审核通过", example = "{}", notes = "外部工作质量员审核状态, -1不存在,0未审核、1审核通过")
|
||||
private String inWorkQualityStatus;
|
||||
|
||||
@ApiModelProperty(value = "防雷工作质量员审核状态, -1不存在,0未审核、1审核通过", example = "{}", notes = "防雷工作质量员审核状态, -1不存在,0未审核、1审核通过")
|
||||
private String outWorkQualityStatus;
|
||||
|
||||
@ApiModelProperty(value = "防雷是否不合格,1不合格,0合格", example = "{}", notes = "防雷是否不合格,1不合格,0合格")
|
||||
private Boolean lightningUnqualifiedAll;
|
||||
}
|
|
@ -0,0 +1,214 @@
|
|||
package com.dite.znpt.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @author wujinsong
|
||||
* @date 2021/9/15 3:20 下午
|
||||
* @description: 枚举类
|
||||
*/
|
||||
public class Enums {
|
||||
/**
|
||||
* @date 2021/9/15 3:24 下午
|
||||
* @description: N:正常,D:删除
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum YN {
|
||||
/**
|
||||
* @date 2021/9/15 3:24 下午
|
||||
* @description: 正常
|
||||
*/
|
||||
Yes(1, "是"),
|
||||
/**
|
||||
* @date 2021/9/15 3:24 下午
|
||||
* @description: 启用
|
||||
*/
|
||||
No(0, "否");
|
||||
|
||||
final int value;
|
||||
final String name;
|
||||
}
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum EUserStatus {
|
||||
ENABLE(1, "启用"),
|
||||
DISABLE(0, "禁用");
|
||||
|
||||
final int value;
|
||||
final String name;
|
||||
}
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum EWorkType {
|
||||
OutWork("out-work", "外部工作"),
|
||||
InWork("in-work", "内部工作"),
|
||||
AntiThunderWork("lightning-protection-work", "防雷工作"),
|
||||
SummaryWork("summary-report", "数据报告");
|
||||
|
||||
final String value;
|
||||
final String name;
|
||||
|
||||
public static EWorkType getByValue(String value) {
|
||||
for (EWorkType e : EWorkType.values()) {
|
||||
if (e.value.equals(value)) {
|
||||
return e;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum EInWorkType {
|
||||
GROUND_SERVICE("in-work__ground_service","地勤"),
|
||||
ASCEND_HEIGHT("in-work__ascend-height","登高"),
|
||||
DRIVER("in-work__driver","司机");
|
||||
|
||||
final String value;
|
||||
final String name;
|
||||
|
||||
public static EInWorkType getByValue(String value) {
|
||||
for (EInWorkType e : EInWorkType.values()) {
|
||||
if (e.value.equals(value)) {
|
||||
return e;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum EOutWorkType {
|
||||
DRIVER("out-work__driver","司机"),
|
||||
FLYAID("out-work__flyaid","飞助"),
|
||||
DRONE_FLYER("out-work__drone-flyer","飞手"),
|
||||
ASCEND_HEIGHT("out-work__ascend-height","登高"),
|
||||
GROUND_SERVICE("out-work__ground_service","地勤");
|
||||
|
||||
final String value;
|
||||
final String name;
|
||||
|
||||
public static EOutWorkType getByValue(String value) {
|
||||
for (EOutWorkType e : EOutWorkType.values()) {
|
||||
if (e.value.equals(value)) {
|
||||
return e;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum EAntiWorkType {
|
||||
ASCEND_HEIGHT("lightning-protection-work__ascend-height","登高"),
|
||||
METER_READING("lightning-protection-work__meter_reading","抄表"),
|
||||
UNMAN_OPERATION("lightning-protection-work__unman_operation","无人化装备操作"),
|
||||
UNMAN_ANTI_THUNDER("lightning-protection-work__unman_anti_thunder","无人化防雷"),
|
||||
DRIVER("lightning-protection-work__driver","司机"),
|
||||
GROUND_SERVICE("lightning-protection-work__ground_service","地勤");
|
||||
|
||||
final String value;
|
||||
final String name;
|
||||
|
||||
public static EAntiWorkType getByValue(String value) {
|
||||
for (EAntiWorkType e : EAntiWorkType.values()) {
|
||||
if (e.value.equals(value)) {
|
||||
return e;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum EReportWorkType {
|
||||
SUMMARY_REPORT("data-report__summary-report","汇总报告");
|
||||
|
||||
final String value;
|
||||
final String name;
|
||||
}
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum EWorkStatus {
|
||||
DRAFT("0", "草稿"),
|
||||
SUBMITTED("1", "已提交"),
|
||||
LEADER_SUBMITTED("2", "组长提交"),
|
||||
MANAGER_APPROVAL("3", "项目经理审批通过");
|
||||
|
||||
final String value;
|
||||
final String name;
|
||||
}
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ECrewWorkStatus {
|
||||
NON_EXISTS("-1", "不存在"),
|
||||
NOT_START("0", "未开始"),
|
||||
START_CONSTRUCTION("1", "开始施工"),
|
||||
SUBMITTED_REPORT("2", "已提交报告"),
|
||||
APPROVAL("3", "审核通过");
|
||||
|
||||
final String value;
|
||||
final String name;
|
||||
}
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ERoleCode {
|
||||
/**
|
||||
* 管理员
|
||||
*/
|
||||
Manager(0, "Manager"),
|
||||
/**
|
||||
* 项目管理员
|
||||
*/
|
||||
ProjectManager(0, "ProjectManager"),
|
||||
/**
|
||||
* 大项目管理员
|
||||
*/
|
||||
SeniorProjectManager(0, "SeniorProjectManager"),
|
||||
/**
|
||||
* 安全员
|
||||
*/
|
||||
SafetyOfficer(0, "SafetyOfficer"),
|
||||
/**
|
||||
* 质量员
|
||||
*/
|
||||
QualityOfficer(0, "QualityOfficer"),
|
||||
/**
|
||||
* 施工人员
|
||||
*/
|
||||
Builder(0, "Builder"),
|
||||
;
|
||||
|
||||
final int value;
|
||||
final String name;
|
||||
}
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum EAuthStatus {
|
||||
/**
|
||||
* 待审核
|
||||
*/
|
||||
PENDING(0, "待审核", "0"),
|
||||
/**
|
||||
* 通过
|
||||
*/
|
||||
APPROVAL(1, "通过", "1");
|
||||
|
||||
final int value;
|
||||
final String name;
|
||||
final String val;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
package com.dite.znpt.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.dite.znpt.domain.entity.job.JobAntiThunderWork;
|
||||
import com.dite.znpt.domain.vo.job.req.JobAntiThunderWorkReq;
|
||||
import com.dite.znpt.domain.vo.job.resp.JobAntiThunderWorkResp;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author huise23
|
||||
* @date 2025/04/24 14:52
|
||||
* @Description: 表数据库访问层
|
||||
*/
|
||||
public interface JobAntiThunderWorkMapper extends BaseMapper<JobAntiThunderWork> {
|
||||
List<JobAntiThunderWorkResp> queryBySelective(JobAntiThunderWorkReq jobAntiThunderWorkReq);
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.dite.znpt.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.dite.znpt.domain.entity.job.JobInWork;
|
||||
import com.dite.znpt.domain.vo.job.req.JobInWorkReq;
|
||||
import com.dite.znpt.domain.vo.job.resp.JobInWorkResp;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author huise23
|
||||
* @date 2025/04/24 14:52
|
||||
* @Description: 表数据库访问层
|
||||
*/
|
||||
public interface JobInWorkMapper extends BaseMapper<JobInWork> {
|
||||
List<JobInWorkResp> queryBySelective(JobInWorkReq gaeaJobInWorkReq);
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.dite.znpt.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.dite.znpt.domain.entity.job.JobInWorkParts;
|
||||
import com.dite.znpt.domain.vo.job.req.JobInWorkPartsReq;
|
||||
import com.dite.znpt.domain.vo.job.resp.JobInWorkPartsResp;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author huise23
|
||||
* @date 2025/04/24 14:52
|
||||
* @Description: 表数据库访问层
|
||||
*/
|
||||
public interface JobInWorkPartsMapper extends BaseMapper<JobInWorkParts> {
|
||||
List<JobInWorkPartsResp> queryBySelective(JobInWorkPartsReq gaeaJobInWorkPartsReq);
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.dite.znpt.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.dite.znpt.domain.entity.job.JobInfo;
|
||||
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
||||
import com.dite.znpt.domain.vo.job.resp.JobInfoResp;
|
||||
import com.dite.znpt.domain.vo.job.resp.TurbineStatusResp;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author huise23
|
||||
* @date 2025/04/24 14:52
|
||||
* @Description: 表数据库访问层
|
||||
*/
|
||||
public interface JobInfoMapper extends BaseMapper<JobInfo> {
|
||||
List<TurbineStatusResp> calCrewStatus(@Param("crewIds") List<String> crewIds);
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.dite.znpt.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.dite.znpt.domain.entity.job.JobOutWork;
|
||||
import com.dite.znpt.domain.vo.job.req.JobOutWorkReq;
|
||||
import com.dite.znpt.domain.vo.job.resp.JobOutWorkResp;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author huise23
|
||||
* @date 2025/04/24 14:52
|
||||
* @Description: 表数据库访问层
|
||||
*/
|
||||
public interface JobOutWorkMapper extends BaseMapper<JobOutWork> {
|
||||
List<JobOutWorkResp> queryBySelective(JobOutWorkReq gaeaJobOutWorkReq);
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.dite.znpt.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.dite.znpt.domain.entity.job.JobSummaryWork;
|
||||
import com.dite.znpt.domain.vo.job.req.JobSummaryWorkReq;
|
||||
import com.dite.znpt.domain.vo.job.resp.JobSummaryWorkResp;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author huise23
|
||||
* @date 2025/04/24 14:52
|
||||
* @Description: 表数据库访问层
|
||||
*/
|
||||
public interface JobSummaryWorkMapper extends BaseMapper<JobSummaryWork> {
|
||||
List<JobSummaryWorkResp> queryBySelective(JobSummaryWorkReq gaeaJobSummaryWorkReq);
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package com.dite.znpt.service.job;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.dite.znpt.domain.entity.job.JobAntiThunderWork;
|
||||
import com.dite.znpt.domain.vo.job.req.JobAntiThunderWorkReq;
|
||||
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface JobAntiThunderWorkService extends IService<JobAntiThunderWork> {
|
||||
|
||||
JobAntiThunderWork saveInfo(JobAntiThunderWork entity);
|
||||
|
||||
/**
|
||||
* 功能描述:列表查询
|
||||
*
|
||||
* @param request 请求
|
||||
* @return {@link List }<{@link JobAntiThunderWork }>
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/02 13:28
|
||||
**/
|
||||
List<JobAntiThunderWork> list(JobInfoReq request);
|
||||
/**
|
||||
* 功能描述:组长提交/项目经理审批
|
||||
*
|
||||
* @param request 请求
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/06 10:32
|
||||
**/
|
||||
public void submit(JobInfoReq request);
|
||||
/**
|
||||
* 功能描述:组长驳回/项目经理驳回
|
||||
*
|
||||
* @param request 请求
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/06 10:32
|
||||
**/
|
||||
public void reject(JobInfoReq request);
|
||||
|
||||
List<JobAntiThunderWork> listByJobId(JobAntiThunderWorkReq dto);
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
package com.dite.znpt.service.job;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.dite.znpt.domain.entity.job.JobAntiThunderWork;
|
||||
import com.dite.znpt.domain.entity.job.JobInWorkParts;
|
||||
|
||||
public interface JobInWorkPartsService extends IService<JobInWorkParts> {
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
package com.dite.znpt.service.job;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.dite.znpt.domain.entity.job.JobInWork;
|
||||
import com.dite.znpt.domain.entity.job.JobInWork;
|
||||
import com.dite.znpt.domain.vo.job.req.JobInWorkReq;
|
||||
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface JobInWorkService extends IService<JobInWork> {
|
||||
|
||||
JobInWork saveInfo(JobInWork entity);
|
||||
|
||||
/**
|
||||
* 功能描述:列表查询
|
||||
*
|
||||
* @param request 请求
|
||||
* @return {@link List }<{@link JobInWork }>
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/02 13:28
|
||||
**/
|
||||
List<JobInWork> list(JobInfoReq request);
|
||||
/**
|
||||
* 功能描述:组长提交/项目经理审批
|
||||
*
|
||||
* @param request 请求
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/06 10:32
|
||||
**/
|
||||
public void submit(JobInfoReq request);
|
||||
/**
|
||||
* 功能描述:组长驳回/项目经理驳回
|
||||
*
|
||||
* @param request 请求
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/06 10:32
|
||||
**/
|
||||
public void reject(JobInfoReq request);
|
||||
|
||||
List<JobInWork> listByJobId(JobInWorkReq dto);
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
package com.dite.znpt.service.job;
|
||||
|
||||
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.vo.job.req.JobInfoReq;
|
||||
import com.dite.znpt.domain.vo.job.req.JobOutWorkReq;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface JobOutWorkService extends IService<JobOutWork> {
|
||||
|
||||
JobOutWork saveInfo(JobOutWork entity);
|
||||
|
||||
/**
|
||||
* 功能描述:列表查询
|
||||
*
|
||||
* @param request 请求
|
||||
* @return {@link List }<{@link JobOutWork }>
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/02 13:28
|
||||
**/
|
||||
List<JobOutWork> list(JobInfoReq request);
|
||||
/**
|
||||
* 功能描述:组长提交/项目经理审批
|
||||
*
|
||||
* @param request 请求
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/06 10:32
|
||||
**/
|
||||
public void submit(JobInfoReq request);
|
||||
/**
|
||||
* 功能描述:组长驳回/项目经理驳回
|
||||
*
|
||||
* @param request 请求
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/06 10:32
|
||||
**/
|
||||
public void reject(JobInfoReq request);
|
||||
|
||||
List<JobOutWork> listByJobId(JobOutWorkReq dto);
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
package com.dite.znpt.service.job;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.dite.znpt.domain.entity.job.JobInfo;
|
||||
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
||||
import com.dite.znpt.domain.vo.job.resp.TurbineStatusResp;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface JobService extends IService<JobInfo> {
|
||||
|
||||
List<JobInfo> page(JobInfoReq jobInfoReq);
|
||||
|
||||
List<TurbineStatusResp> calCrewStatus(List<String> crewIds);
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
package com.dite.znpt.service.job;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.dite.znpt.domain.entity.job.JobSummaryWork;
|
||||
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
||||
import com.dite.znpt.domain.vo.job.req.JobSummaryWorkReq;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface JobSummaryWorkService extends IService<JobSummaryWork> {
|
||||
|
||||
JobSummaryWork saveInfo(JobSummaryWork entity);
|
||||
|
||||
/**
|
||||
* 功能描述:列表查询
|
||||
*
|
||||
* @param request 请求
|
||||
* @return {@link List }<{@link JobSummaryWork }>
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/02 13:28
|
||||
**/
|
||||
List<JobSummaryWork> list(JobInfoReq request);
|
||||
/**
|
||||
* 功能描述:组长提交/项目经理审批
|
||||
*
|
||||
* @param request 请求
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/06 10:32
|
||||
**/
|
||||
public void submit(JobInfoReq request);
|
||||
/**
|
||||
* 功能描述:组长驳回/项目经理驳回
|
||||
*
|
||||
* @param request 请求
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/06 10:32
|
||||
**/
|
||||
public void reject(JobInfoReq request);
|
||||
|
||||
List<JobSummaryWork> listByJobId(JobSummaryWorkReq dto);
|
||||
}
|
|
@ -0,0 +1,170 @@
|
|||
package com.dite.znpt.service.job.impl;
|
||||
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.dite.znpt.context.UserContext;
|
||||
import com.dite.znpt.domain.QueryWrapperBuilder;
|
||||
import com.dite.znpt.domain.entity.ProjectEntity;
|
||||
import com.dite.znpt.domain.entity.job.JobInfo;
|
||||
import com.dite.znpt.domain.entity.job.JobAntiThunderWork;
|
||||
import com.dite.znpt.domain.vo.job.req.JobAntiThunderWorkReq;
|
||||
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
||||
import com.dite.znpt.enums.Enums;
|
||||
import com.dite.znpt.exception.ServiceException;
|
||||
import com.dite.znpt.mapper.JobAntiThunderWorkMapper;
|
||||
import com.dite.znpt.service.ProjectService;
|
||||
import com.dite.znpt.service.TurbineService;
|
||||
import com.dite.znpt.service.job.JobAntiThunderWorkService;
|
||||
import com.dite.znpt.service.job.JobService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class JobAntiThunderWorkServiceImpl extends ServiceImpl<JobAntiThunderWorkMapper, JobAntiThunderWork> implements JobAntiThunderWorkService {
|
||||
@Autowired
|
||||
private TurbineService turbineService;
|
||||
@Autowired
|
||||
private JobService jobService;
|
||||
@Autowired
|
||||
private ProjectService projectService;
|
||||
|
||||
@Override
|
||||
public JobAntiThunderWork saveInfo(JobAntiThunderWork entity) {
|
||||
if (StrUtil.isNotBlank(entity.getId())) {
|
||||
JobAntiThunderWork oldEntity = getById(entity.getId());
|
||||
if (!"0".equals(oldEntity.getStatus())) {
|
||||
throw new ServiceException("内容已提交,不可修改");
|
||||
}
|
||||
}
|
||||
entity.preSave();
|
||||
saveOrUpdate(entity);
|
||||
JobInfo jobInfo = jobService.getById(entity.getJobId());
|
||||
turbineService.updateStatusNew(jobInfo.getCrewId());
|
||||
// 施工人员提交后更新该工作类型状态及提交时间
|
||||
if (entity.getStatus().equals(Enums.EWorkStatus.SUBMITTED.getValue())) {
|
||||
jobInfo.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
||||
jobInfo.setSubmitTime(new Date());
|
||||
jobService.updateById(jobInfo);
|
||||
}
|
||||
return entity;
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述:列表查询
|
||||
*
|
||||
* @param request 请求
|
||||
* @return {@link List }<{@link JobAntiThunderWork }>
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/02 13:28
|
||||
**/
|
||||
public List<JobAntiThunderWork> list(JobInfoReq request) {
|
||||
List<JobInfo> jobInfoList = jobService.list(QueryWrapperBuilder.build(request));
|
||||
if (!jobInfoList.isEmpty()) {
|
||||
List<String> statusList = ListUtil.of("1", "2", "3");
|
||||
if (!Enums.ERoleCode.Builder.getName().equals(UserContext.getRoleCode())) {
|
||||
statusList = ListUtil.of("2", "3");
|
||||
}
|
||||
List<String> jobIds = jobInfoList.stream().map(JobInfo::getId).collect(Collectors.toList());
|
||||
Map<String, JobInfo> jobId2Job = jobInfoList.stream().collect(Collectors.toMap(JobInfo::getId, i -> i));
|
||||
List<JobAntiThunderWork> list = lambdaQuery().in(JobAntiThunderWork::getJobId, jobIds).in(JobAntiThunderWork::getStatus, statusList).list();
|
||||
list.forEach(work -> {
|
||||
JobInfo jobInfo = jobId2Job.get(work.getJobId());
|
||||
work.setConstructionPersonnel(jobInfo.getConstructionPersonnel());
|
||||
work.setJobCode(jobInfo.getJobCode());
|
||||
});
|
||||
return list;
|
||||
}
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述:组长提交/项目经理审批
|
||||
*
|
||||
* @param request 请求
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/06 10:32
|
||||
**/
|
||||
public void submit(JobInfoReq request) {
|
||||
request.setWorkType(Enums.EWorkType.AntiThunderWork.getValue());
|
||||
List<JobInfo> jobInfoList = jobService.list(QueryWrapperBuilder.build(request));
|
||||
if (jobInfoList.isEmpty()) {
|
||||
throw new ServiceException("未找到数据");
|
||||
}
|
||||
// 这里只会有一条数据
|
||||
JobInfo jobInfo = jobInfoList.get(0);
|
||||
ProjectEntity project = projectService.getById(jobInfo.getProjectId());
|
||||
List<JobAntiThunderWork> workList = lambdaQuery().in(JobAntiThunderWork::getJobId, jobInfoList.stream().map(JobInfo::getId).collect(Collectors.toList())).list();
|
||||
// 如果是项目经理
|
||||
if (Enums.ERoleCode.ProjectManager.getName().equals(UserContext.getRoleCode())) {
|
||||
if (StrUtil.isNotBlank(project.getAuditorId())) {
|
||||
Optional<JobAntiThunderWork> any = workList.stream().filter(item -> !Objects.equals(item.getSafetyOfficerStatus(), Enums.EAuthStatus.APPROVAL.getVal())).findAny();
|
||||
if (any.isPresent()) {
|
||||
throw new ServiceException("安全员未审核");
|
||||
}
|
||||
}
|
||||
if (StrUtil.isNotBlank(project.getQualityOfficerId())) {
|
||||
Optional<JobAntiThunderWork> any = workList.stream().filter(item -> !Objects.equals(item.getQualityOfficerStatus(), Enums.EAuthStatus.APPROVAL.getVal())).findAny();
|
||||
if (any.isPresent()) {
|
||||
throw new ServiceException("质量员未审核");
|
||||
}
|
||||
}
|
||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.MANAGER_APPROVAL.getValue()));
|
||||
jobInfo.setStatus(Enums.EWorkStatus.MANAGER_APPROVAL.getValue());
|
||||
} else if (Enums.ERoleCode.SafetyOfficer.getName().equals(UserContext.getRoleCode())) {
|
||||
workList.forEach(item -> item.setSafetyOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal()));
|
||||
jobInfo.setSafetyOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal());
|
||||
} else if (Enums.ERoleCode.QualityOfficer.getName().equals(UserContext.getRoleCode())) {
|
||||
workList.forEach(item -> item.setQualityOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal()));
|
||||
jobInfo.setQualityOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal());
|
||||
} else if (project.getConstructionTeamLeaderId().equals(UserContext.getUserInfo().getPersonId())) {
|
||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue()));
|
||||
jobInfo.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue());
|
||||
}
|
||||
updateBatchById(workList);
|
||||
turbineService.updateStatusNew(jobInfo.getCrewId());
|
||||
jobService.updateById(jobInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述:组长驳回/项目经理驳回
|
||||
*
|
||||
* @param request 请求
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/06 10:32
|
||||
**/
|
||||
public void reject(JobInfoReq request) {
|
||||
request.setWorkType(Enums.EWorkType.AntiThunderWork.getValue());
|
||||
List<JobInfo> jobInfoList = jobService.list(QueryWrapperBuilder.build(request));
|
||||
if (jobInfoList.isEmpty()) {
|
||||
throw new ServiceException("未找到数据");
|
||||
}
|
||||
// 这里只会有一条数据
|
||||
JobInfo jobInfo = jobInfoList.get(0);
|
||||
ProjectEntity project = projectService.getById(jobInfo.getProjectId());
|
||||
List<JobAntiThunderWork> workList = lambdaQuery().in(JobAntiThunderWork::getJobId, jobInfoList.stream().map(JobInfo::getId).collect(Collectors.toList())).list();
|
||||
// 如果是项目经理
|
||||
if (Enums.ERoleCode.ProjectManager.getName().equals(UserContext.getRoleCode())) {
|
||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.SUBMITTED.getValue()));
|
||||
jobInfo.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
||||
} else if (Enums.ERoleCode.SafetyOfficer.getName().equals(UserContext.getRoleCode())
|
||||
|| Enums.ERoleCode.QualityOfficer.getName().equals(UserContext.getRoleCode())
|
||||
|| project.getConstructionTeamLeaderId().equals(UserContext.getUserInfo().getPersonId())) {
|
||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.DRAFT.getValue()));
|
||||
jobInfo.setStatus(Enums.EWorkStatus.DRAFT.getValue());
|
||||
}
|
||||
updateBatchById(workList);
|
||||
turbineService.updateStatusNew(jobInfo.getCrewId());
|
||||
jobService.updateById(jobInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<JobAntiThunderWork> listByJobId(JobAntiThunderWorkReq dto) {
|
||||
return lambdaQuery().eq(JobAntiThunderWork::getJobId, dto.getJobId()).list();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package com.dite.znpt.service.job.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.dite.znpt.domain.entity.job.JobInWorkParts;
|
||||
import com.dite.znpt.mapper.JobInWorkPartsMapper;
|
||||
import com.dite.znpt.service.job.JobInWorkPartsService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author wujinsong
|
||||
* @date 2023/2/17 09:49
|
||||
* @description: 部件
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class JobInWorkPartsServiceImpl extends ServiceImpl<JobInWorkPartsMapper, JobInWorkParts> implements JobInWorkPartsService {
|
||||
}
|
|
@ -0,0 +1,193 @@
|
|||
package com.dite.znpt.service.job.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.dite.znpt.context.UserContext;
|
||||
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.JobInWork;
|
||||
import com.dite.znpt.domain.vo.job.req.JobInWorkReq;
|
||||
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
||||
import com.dite.znpt.enums.Enums;
|
||||
import com.dite.znpt.exception.ServiceException;
|
||||
import com.dite.znpt.mapper.JobInWorkMapper;
|
||||
import com.dite.znpt.service.ProjectService;
|
||||
import com.dite.znpt.service.TurbineService;
|
||||
import com.dite.znpt.service.job.JobInWorkPartsService;
|
||||
import com.dite.znpt.service.job.JobInWorkService;
|
||||
import com.dite.znpt.service.job.JobService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class JobInWorkServiceImpl extends ServiceImpl<JobInWorkMapper, JobInWork> implements JobInWorkService {
|
||||
@Autowired
|
||||
private TurbineService turbineService;
|
||||
@Autowired
|
||||
private JobService jobService;
|
||||
@Autowired
|
||||
private JobInWorkPartsService jobInWorkPartsService;
|
||||
@Autowired
|
||||
private ProjectService projectService;
|
||||
|
||||
@Override
|
||||
public JobInWork saveInfo(JobInWork entity) {
|
||||
if (StrUtil.isNotBlank(entity.getId())) {
|
||||
JobInWork oldEntity = this.getById(entity.getId());
|
||||
if (!"0".equals(oldEntity.getStatus())) {
|
||||
throw new ServiceException("内容已提交,不可修改");
|
||||
}
|
||||
}
|
||||
saveOrUpdate(entity);
|
||||
if (CollUtil.isNotEmpty(entity.getAscendingPartsList())) {
|
||||
List<String> idList = entity.getAscendingPartsList().stream().map(JobInWorkParts::getId).filter(StringUtils::isNotEmpty).distinct().collect(Collectors.toList());
|
||||
if (CollUtil.isEmpty(idList)) {
|
||||
jobInWorkPartsService.lambdaUpdate().eq(JobInWorkParts::getJobId, entity.getJobId()).remove();
|
||||
} else {
|
||||
jobInWorkPartsService.lambdaUpdate().eq(JobInWorkParts::getJobId, entity.getJobId())
|
||||
.ne(JobInWorkParts::getId, idList).remove();
|
||||
}
|
||||
entity.getAscendingPartsList().forEach(item -> item.setJobId(entity.getJobId()));
|
||||
jobInWorkPartsService.saveOrUpdateBatch(entity.getAscendingPartsList());
|
||||
} else {
|
||||
jobInWorkPartsService.lambdaUpdate().eq(JobInWorkParts::getJobId, entity.getJobId()).remove();
|
||||
}
|
||||
JobInfo jobInfo = jobService.getById(entity.getJobId());
|
||||
turbineService.updateStatusNew(jobInfo.getCrewId());
|
||||
// 施工人员提交后更新该工作类型状态及提交时间
|
||||
if (entity.getStatus().equals(Enums.EWorkStatus.SUBMITTED.getValue())) {
|
||||
jobInfo.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
||||
jobInfo.setSubmitTime(new Date());
|
||||
jobService.updateById(jobInfo);
|
||||
}
|
||||
return entity;
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述:列表查询
|
||||
*
|
||||
* @param request 请求
|
||||
* @return {@link List }<{@link JobInWork }>
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/02 13:28
|
||||
**/
|
||||
public List<JobInWork> list(JobInfoReq request) {
|
||||
List<JobInfo> jobList = jobService.list(QueryWrapperBuilder.build(request));
|
||||
if (!jobList.isEmpty()) {
|
||||
List<String> statusList = ListUtil.of("1", "2", "3");
|
||||
if (!Enums.ERoleCode.Builder.getName().equals(UserContext.getRoleCode())) {
|
||||
statusList = ListUtil.of("2", "3");
|
||||
}
|
||||
List<String> jobIds = jobList.stream().map(JobInfo::getId).collect(Collectors.toList());
|
||||
Map<String, JobInfo> jobId2Job = jobList.stream().collect(Collectors.toMap(JobInfo::getId, Function.identity()));
|
||||
List<JobInWork> list = lambdaQuery().in(JobInWork::getJobId, jobIds).in(JobInWork::getStatus, statusList).list();
|
||||
|
||||
list.forEach(work -> {
|
||||
JobInfo job = jobId2Job.get(work.getJobId());
|
||||
work.setConstructionPersonnel(job.getConstructionPersonnel());
|
||||
work.setJobCode(job.getJobCode());
|
||||
|
||||
List<JobInWorkParts> workParts = jobInWorkPartsService.lambdaQuery().eq(JobInWorkParts::getJobId, work.getJobId()).list();
|
||||
work.setAscendingPartsList(workParts);
|
||||
});
|
||||
return list;
|
||||
}
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述:组长提交/项目经理审批
|
||||
*
|
||||
* @param request 请求
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/06 10:32
|
||||
**/
|
||||
public void submit(JobInfoReq request) {
|
||||
request.setWorkType(Enums.EWorkType.InWork.getValue());
|
||||
List<JobInfo> jobList = jobService.list(QueryWrapperBuilder.build(request));
|
||||
if (jobList.isEmpty()) {
|
||||
throw new ServiceException("未找到数据");
|
||||
}
|
||||
// 这里只会有一条数据
|
||||
JobInfo jobInfo = jobList.get(0);
|
||||
ProjectEntity project = projectService.getById(jobInfo.getProjectId());
|
||||
List<JobInWork> workList = lambdaQuery().in(JobInWork::getJobId, jobList.stream().map(JobInfo::getId).collect(Collectors.toList())).list();
|
||||
// 如果是项目经理
|
||||
if (Enums.ERoleCode.ProjectManager.getName().equals(UserContext.getRoleCode())) {
|
||||
if (StrUtil.isNotBlank(project.getAuditorId())) {
|
||||
Optional<JobInWork> any = workList.stream().filter(item -> !Objects.equals(item.getSafetyOfficerStatus(), Enums.EAuthStatus.APPROVAL.getVal())).findAny();
|
||||
if (any.isPresent()) {
|
||||
throw new ServiceException("安全员未审核");
|
||||
}
|
||||
}
|
||||
if (StrUtil.isNotBlank(project.getQualityOfficerId())) {
|
||||
Optional<JobInWork> any = workList.stream().filter(item -> !Objects.equals(item.getQualityOfficerStatus(), Enums.EAuthStatus.APPROVAL.getVal())).findAny();
|
||||
if (any.isPresent()) {
|
||||
throw new ServiceException("质量员未审核");
|
||||
}
|
||||
}
|
||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.MANAGER_APPROVAL.getValue()));
|
||||
jobInfo.setStatus(Enums.EWorkStatus.MANAGER_APPROVAL.getValue());
|
||||
} else if (Enums.ERoleCode.SafetyOfficer.getName().equals(UserContext.getRoleCode())) {
|
||||
workList.forEach(item -> item.setSafetyOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal()));
|
||||
jobInfo.setSafetyOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal());
|
||||
} else if (Enums.ERoleCode.QualityOfficer.getName().equals(UserContext.getRoleCode())) {
|
||||
workList.forEach(item -> item.setQualityOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal()));
|
||||
jobInfo.setQualityOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal());
|
||||
} else if (project.getConstructionTeamLeaderId().equals(UserContext.getUserInfo().getPersonId())) {
|
||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue()));
|
||||
jobInfo.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue());
|
||||
}
|
||||
updateBatchById(workList);
|
||||
turbineService.updateStatusNew(jobInfo.getCrewId());
|
||||
jobService.updateById(jobInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述:组长驳回/项目经理驳回
|
||||
*
|
||||
* @param request 请求
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/06 10:32
|
||||
**/
|
||||
public void reject(JobInfoReq request) {
|
||||
request.setWorkType(Enums.EWorkType.InWork.getValue());
|
||||
List<JobInfo> jobInfoList = jobService.list(QueryWrapperBuilder.build(request));
|
||||
if (jobInfoList.isEmpty()) {
|
||||
throw new ServiceException("未找到数据");
|
||||
}
|
||||
// 这里只会有一条数据
|
||||
JobInfo jobInfo = jobInfoList.get(0);
|
||||
ProjectEntity project = projectService.getById(jobInfo.getProjectId());
|
||||
List<JobInWork> workList = lambdaQuery().in(JobInWork::getJobId, jobInfoList.stream().map(JobInfo::getId).collect(Collectors.toList())).list();
|
||||
// 如果是项目经理
|
||||
if (Enums.ERoleCode.ProjectManager.getName().equals(UserContext.getRoleCode())) {
|
||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.SUBMITTED.getValue()));
|
||||
jobInfo.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
||||
} else if (Enums.ERoleCode.SafetyOfficer.getName().equals(UserContext.getRoleCode())
|
||||
|| Enums.ERoleCode.QualityOfficer.getName().equals(UserContext.getRoleCode())
|
||||
|| project.getConstructionTeamLeaderId().equals(UserContext.getUserInfo().getPersonId())) {
|
||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.DRAFT.getValue()));
|
||||
jobInfo.setStatus(Enums.EWorkStatus.DRAFT.getValue());
|
||||
}
|
||||
updateBatchById(workList);
|
||||
turbineService.updateStatusNew(jobInfo.getCrewId());
|
||||
jobService.updateById(jobInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<JobInWork> listByJobId(JobInWorkReq dto) {
|
||||
return lambdaQuery().eq(JobInWork::getJobId, dto.getJobId()).list();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,252 @@
|
|||
package com.dite.znpt.service.job.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.dite.znpt.context.UserContext;
|
||||
import com.dite.znpt.domain.QueryWrapperBuilder;
|
||||
import com.dite.znpt.domain.entity.job.JobInWork;
|
||||
import com.dite.znpt.domain.entity.job.JobOutWork;
|
||||
import com.dite.znpt.domain.entity.job.JobInfo;
|
||||
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.JobOutWorkReq;
|
||||
import com.dite.znpt.enums.Enums;
|
||||
import com.dite.znpt.exception.ServiceException;
|
||||
import com.dite.znpt.mapper.JobInWorkMapper;
|
||||
import com.dite.znpt.mapper.JobOutWorkMapper;
|
||||
import com.dite.znpt.service.PartService;
|
||||
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.JobService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class JobOutWorkServiceImpl extends ServiceImpl<JobOutWorkMapper, JobOutWork> implements JobOutWorkService {
|
||||
@Autowired
|
||||
private TurbineService turbineService;
|
||||
@Autowired
|
||||
private PartService partService;
|
||||
@Autowired
|
||||
private JobService jobService;
|
||||
|
||||
@Override
|
||||
public JobOutWork saveInfo(JobOutWork entity) {
|
||||
if (StrUtil.isNotBlank(entity.getId())) {
|
||||
JobOutWork oldEntity = this.getById(entity.getId());
|
||||
if (!"0".equals(oldEntity.getStatus())) {
|
||||
throw new ServiceException("内容已提交,不可修改");
|
||||
}
|
||||
}
|
||||
saveOrUpdate(entity);
|
||||
// 飞手部件列表
|
||||
if (CollUtil.isNotEmpty(entity.getDroneFlyerPartsList())) {
|
||||
List<String> idList = entity.getDroneFlyerPartsList().stream().map(Parts::getId).filter(StringUtils::isNotEmpty).distinct().collect(Collectors.toList());
|
||||
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())) {
|
||||
List<String> idList = entity.getFlyAidPartsList().stream().map(Parts::getId).filter(StringUtils::isNotEmpty).distinct().collect(Collectors.toList());
|
||||
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())) {
|
||||
List<String> idList = entity.getAscendingPartsList().stream().map(Parts::getId).filter(StringUtils::isNotEmpty).distinct().collect(Collectors.toList());
|
||||
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);
|
||||
crewService.updateStatusNew(job.getCrewId());
|
||||
// 施工人员提交后更新该工作类型状态及提交时间
|
||||
if (entity.getStatus().equals(Enums.EWorkStatus.SUBMITTED.getValue())) {
|
||||
job.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
||||
job.setSubmitTime(new Date());
|
||||
jobService.save(job);
|
||||
}
|
||||
return outWork;
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述:列表查询
|
||||
*
|
||||
* @param request 请求
|
||||
* @return {@link List }<{@link JobOutWork }>
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/02 13:28
|
||||
**/
|
||||
public List<JobOutWork> list(JobInfoReq request) {
|
||||
List<JobInfo> jobList = jobService.list(QueryWrapperBuilder.build(request));
|
||||
if (!jobList.isEmpty()) {
|
||||
List<String> statusList = ListUtil.of("1", "2", "3");
|
||||
if (!Enums.ERoleCode.Builder.getName().equals(UserContext.getRoleCode())) {
|
||||
statusList = ListUtil.of("2", "3");
|
||||
}
|
||||
List<String> jobIds = jobList.stream().map(Job::getId).collect(Collectors.toList());
|
||||
Map<String, Job> jobId2Job = jobList.stream().collect(Collectors.toMap(Job::getId, i -> i));
|
||||
List<JobOutWork> list = this.repository.findByJobIdInAndStatusIn(jobIds, statusList);
|
||||
list.forEach(work -> {
|
||||
Job job = jobId2Job.get(work.getJobId());
|
||||
work.setConstructionPersonnel(job.getConstructionPersonnel());
|
||||
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 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述:组长提交/项目经理审批
|
||||
*
|
||||
* @param request 请求
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/06 10:32
|
||||
**/
|
||||
public void submit(JobInfoReq request) {
|
||||
request.setWorkType(Enums.EWorkType.OutWork.getValue());
|
||||
List<JobInfo> jobList = jobService.list(QueryWrapperBuilder.build(request));
|
||||
if (jobList.isEmpty()) {
|
||||
throw new ServiceException("未找到数据");
|
||||
}
|
||||
// 这里只会有一条数据
|
||||
Job job = jobList.get(0);
|
||||
Project project = projectRepository.findById(job.getProjectId()).get();
|
||||
List<JobOutWork> workList = this.repository.findByJobIdIn(jobList.stream().map(Job::getId).collect(Collectors.toList()));
|
||||
// 如果是项目经理
|
||||
if (Enums.ERoleCode.ProjectManager.getName().equals(UserContext.getRoleCode())) {
|
||||
if (StrUtil.isNotBlank(project.getAuditorId())) {
|
||||
Optional<JobOutWork> any = workList.stream().filter(item -> !Objects.equals(item.getSafetyOfficerStatus(), Enums.EAuthStatus.APPROVAL.getVal())).findAny();
|
||||
if (any.isPresent()) {
|
||||
throw new ServiceException("安全员未审核");
|
||||
}
|
||||
}
|
||||
if (StrUtil.isNotBlank(project.getQualityOfficerId())) {
|
||||
Optional<JobOutWork> any = workList.stream().filter(item -> !Objects.equals(item.getQualityOfficerStatus(), Enums.EAuthStatus.APPROVAL.getVal())).findAny();
|
||||
if (any.isPresent()) {
|
||||
throw new ServiceException("质量员未审核");
|
||||
}
|
||||
}
|
||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.MANAGER_APPROVAL.getValue()));
|
||||
job.setStatus(Enums.EWorkStatus.MANAGER_APPROVAL.getValue());
|
||||
} else if (Enums.ERoleCode.SafetyOfficer.getName().equals(UserContext.getRoleCode())) {
|
||||
workList.forEach(item -> item.setSafetyOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal()));
|
||||
job.setSafetyOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal());
|
||||
} else if (Enums.ERoleCode.QualityOfficer.getName().equals(UserContext.getRoleCode())) {
|
||||
workList.forEach(item -> item.setQualityOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal()));
|
||||
job.setQualityOfficerStatus(Enums.EAuthStatus.APPROVAL.getVal());
|
||||
} else if (project.getConstructionTeamLeaderId().equals(this.getCurrentUserId())) {
|
||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue()));
|
||||
job.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue());
|
||||
}
|
||||
this.repository.saveAll(workList);
|
||||
crewService.updateStatusNew(job.getCrewId());
|
||||
jobService.save(job);
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述:组长驳回/项目经理驳回
|
||||
*
|
||||
* @param request 请求
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/06 10:32
|
||||
**/
|
||||
public void reject(JobInfoReq request) {
|
||||
request.setWorkType(Enums.EWorkType.OutWork.getValue());
|
||||
List<JobInfo> jobList = jobService.list(QueryWrapperBuilder.build(request));
|
||||
if (jobList.isEmpty()) {
|
||||
throw new ServiceException("未找到数据");
|
||||
}
|
||||
// 这里只会有一条数据
|
||||
Job job = jobList.get(0);
|
||||
Project project = projectRepository.findById(job.getProjectId()).get();
|
||||
List<JobOutWork> workList = this.repository.findByJobIdIn(jobList.stream().map(Job::getId).collect(Collectors.toList()));
|
||||
// 如果是项目经理
|
||||
if (Enums.ERoleCode.ProjectManager.getName().equals(UserContext.getRoleCode())) {
|
||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.SUBMITTED.getValue()));
|
||||
job.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
||||
} else if (Enums.ERoleCode.SafetyOfficer.getName().equals(UserContext.getRoleCode())
|
||||
|| Enums.ERoleCode.QualityOfficer.getName().equals(UserContext.getRoleCode())
|
||||
|| project.getConstructionTeamLeaderId().equals(this.getCurrentUserId())) {
|
||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.DRAFT.getValue()));
|
||||
job.setStatus(Enums.EWorkStatus.DRAFT.getValue());
|
||||
}
|
||||
this.repository.saveAll(workList);
|
||||
crewService.updateStatusNew(job.getCrewId());
|
||||
jobService.save(job);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<JobOutWork> listByJobId(JobOutWorkReq dto) {
|
||||
return lambdaQuery().eq(JobOutWork::getJobId, dto.getJobId()).list();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
package com.dite.znpt.service.job.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.dite.znpt.domain.entity.job.JobInfo;
|
||||
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
||||
import com.dite.znpt.domain.vo.job.resp.TurbineStatusResp;
|
||||
import com.dite.znpt.mapper.JobInfoMapper;
|
||||
import com.dite.znpt.service.job.JobService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class JobServiceImpl extends ServiceImpl<JobInfoMapper, JobInfo> implements JobService {
|
||||
@Override
|
||||
public List<JobInfo> page(JobInfoReq req) {
|
||||
return lambdaQuery()
|
||||
.eq(StrUtil.isNotEmpty(req.getJobCode()), JobInfo::getJobCode, req.getJobCode())
|
||||
.eq(StrUtil.isNotEmpty(req.getProjectId()), JobInfo::getProjectId, req.getProjectId())
|
||||
.eq(StrUtil.isNotEmpty(req.getCrewId()), JobInfo::getCrewId, req.getCrewId())
|
||||
.eq(StrUtil.isNotEmpty(req.getConstructionPersonnelId()), JobInfo::getConstructionPersonnelId, req.getConstructionPersonnelId())
|
||||
.list();
|
||||
}
|
||||
|
||||
public List<TurbineStatusResp> calCrewStatus(List<String> crewIds) {
|
||||
return baseMapper.calCrewStatus(crewIds);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,145 @@
|
|||
package com.dite.znpt.service.job.impl;
|
||||
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.dite.znpt.context.UserContext;
|
||||
import com.dite.znpt.domain.QueryWrapperBuilder;
|
||||
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.vo.job.req.JobInfoReq;
|
||||
import com.dite.znpt.domain.vo.job.req.JobSummaryWorkReq;
|
||||
import com.dite.znpt.enums.Enums;
|
||||
import com.dite.znpt.exception.ServiceException;
|
||||
import com.dite.znpt.mapper.JobSummaryWorkMapper;
|
||||
import com.dite.znpt.service.job.JobService;
|
||||
import com.dite.znpt.service.job.JobSummaryWorkService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class JobSummaryWorkServiceImpl extends ServiceImpl<JobSummaryWorkMapper, JobSummaryWork> implements JobSummaryWorkService {
|
||||
@Autowired
|
||||
private CrewService crewService;
|
||||
@Autowired
|
||||
private JobService jobService;
|
||||
|
||||
@Override
|
||||
public JobSummaryWork saveInfo(JobSummaryWork entity) {
|
||||
if (StrUtil.isNotBlank(entity.getId())) {
|
||||
JobSummaryWork oldEntity = this.getById(entity.getId());
|
||||
if (!"0".equals(oldEntity.getStatus())) {
|
||||
throw new ServiceException("内容已提交,不可修改");
|
||||
}
|
||||
}
|
||||
saveOrUpdate(entity);
|
||||
Job job = jobRepository.findByIdAndS(entity.getJobId(), 1);
|
||||
crewService.updateStatusNew(job.getCrewId());
|
||||
// 施工人员提交后更新该工作类型状态及提交时间
|
||||
if (entity.getStatus().equals(Enums.EWorkStatus.SUBMITTED.getValue())) {
|
||||
job.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
||||
job.setSubmitTime(new Date());
|
||||
jobRepository.save(job);
|
||||
}
|
||||
return work;
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述:列表查询
|
||||
*
|
||||
* @param request 请求
|
||||
* @return {@link List }<{@link JobSummaryWork }>
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/02 13:28
|
||||
**/
|
||||
public List<JobSummaryWork> list(JobInfoReq request) {
|
||||
List<JobInfo> jobList = jobService.list(QueryWrapperBuilder.build(request));
|
||||
if (!jobList.isEmpty()) {
|
||||
List<String> statusList = ListUtil.of("1", "2", "3");
|
||||
if (!Enums.ERoleCode.Builder.getName().equals(UserContext.getRoleCode())) {
|
||||
statusList = ListUtil.of("2", "3");
|
||||
}
|
||||
List<String> jobIds = jobList.stream().map(Job::getId).collect(Collectors.toList());
|
||||
Map<String, Job> jobId2Job = jobList.stream().collect(Collectors.toMap(Job::getId, i -> i));
|
||||
List<JobSummaryWork> list = this.repository.findByJobIdInAndStatusIn(jobIds, statusList);
|
||||
list.forEach(work -> {
|
||||
Job job = jobId2Job.get(work.getJobId());
|
||||
work.setConstructionPersonnel(job.getConstructionPersonnel());
|
||||
work.setJobCode(job.getJobCode());
|
||||
});
|
||||
return list;
|
||||
}
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述:组长提交/项目经理审批
|
||||
*
|
||||
* @param request 请求
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/06 10:32
|
||||
**/
|
||||
public void submit(JobInfoReq request) {
|
||||
request.setWorkType(Enums.EWorkType.SummaryWork.getValue());
|
||||
List<JobInfo> jobList = jobService.list(QueryWrapperBuilder.build(request));
|
||||
if (jobList.isEmpty()) {
|
||||
throw new ServiceException("未找到数据");
|
||||
}
|
||||
// 这里只会有一条数据
|
||||
Job job = jobList.get(0);
|
||||
Project project = projectRepository.findById(job.getProjectId()).get();
|
||||
List<JobSummaryWork> workList = this.repository.findByJobIdIn(jobList.stream().map(Job::getId).collect(Collectors.toList()));
|
||||
// 如果是项目经理
|
||||
if (Enums.ERoleCode.ProjectManager.getName().equals(UserContext.getRoleCode())) {
|
||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.MANAGER_APPROVAL.getValue()));
|
||||
job.setStatus(Enums.EWorkStatus.MANAGER_APPROVAL.getValue());
|
||||
} else if (project.getConstructionTeamLeaderId().equals(this.getCurrentUserId())) {
|
||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue()));
|
||||
job.setStatus(Enums.EWorkStatus.LEADER_SUBMITTED.getValue());
|
||||
}
|
||||
this.repository.saveAll(workList);
|
||||
crewService.updateStatusNew(job.getCrewId());
|
||||
jobRepository.save(job);
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述:组长驳回/项目经理驳回
|
||||
*
|
||||
* @param request 请求
|
||||
* @author cuizhibin
|
||||
* @date 2023/11/06 10:32
|
||||
**/
|
||||
public void reject(JobInfoReq request) {
|
||||
request.setWorkType(Enums.EWorkType.SummaryWork.getValue());
|
||||
List<JobInfo> jobList = jobService.list(QueryWrapperBuilder.build(request));
|
||||
if (jobList.isEmpty()) {
|
||||
throw new ServiceException("未找到数据");
|
||||
}
|
||||
// 这里只会有一条数据
|
||||
Job job = jobList.get(0);
|
||||
Project project = projectRepository.findById(job.getProjectId()).get();
|
||||
List<JobSummaryWork> workList = this.repository.findByJobIdIn(jobList.stream().map(Job::getId).collect(Collectors.toList()));
|
||||
// 如果是项目经理
|
||||
if (Enums.ERoleCode.ProjectManager.getName().equals(UserContext.getRoleCode())) {
|
||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.SUBMITTED.getValue()));
|
||||
job.setStatus(Enums.EWorkStatus.SUBMITTED.getValue());
|
||||
} else if (project.getConstructionTeamLeaderId().equals(this.getCurrentUserId())) {
|
||||
workList.forEach(item -> item.setStatus(Enums.EWorkStatus.DRAFT.getValue()));
|
||||
job.setStatus(Enums.EWorkStatus.DRAFT.getValue());
|
||||
}
|
||||
this.repository.saveAll(workList);
|
||||
crewService.updateStatusNew(job.getCrewId());
|
||||
jobRepository.save(job);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<JobSummaryWork> listByJobId(JobSummaryWorkReq dto) {
|
||||
return lambdaQuery().eq(JobSummaryWork::getJobId, dto.getJobId()).list();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,99 @@
|
|||
<?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.JobInfoMapper">
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
a.id, a.construction_personnel, a.construction_personnel_id, a.crew_id,
|
||||
a.job_code, a.project_id, a.work_type, a.quality_officer_status,
|
||||
a.safety_officer_status, a.status, a.submit_time, a.create_time,
|
||||
a.create_by, a.update_time, a.update_by
|
||||
</sql>
|
||||
|
||||
<select id="calCrewStatus" resultType="com.dite.znpt.domain.vo.job.resp.TurbineStatusResp">
|
||||
select t.turbine_id as id,
|
||||
<!--审核状态-->
|
||||
(select
|
||||
case when ifnull(sum(w.status = '3'), 0) > 0 then '3'
|
||||
when ifnull(sum(w.status = '2'), 0) > 0 then '2'
|
||||
when ifnull(sum(w.status = '1'), 0) > 0 then '1'
|
||||
when p.work_type like '%in-work%' then '0'
|
||||
else '-1' end
|
||||
from gaea_job j left join gaea_job_in_work w on j.id = w.job_id
|
||||
where j.crew_id = t.turbine_id and w.id is not null) as in_work_status,
|
||||
(select
|
||||
case when ifnull(sum(w.status = '3'), 0) > 0 then '3'
|
||||
when ifnull(sum(w.status = '2'), 0) > 0 then '2'
|
||||
when ifnull(sum(w.status = '1'), 0) > 0 then '1'
|
||||
when p.work_type like '%out-work%' then '0'
|
||||
else '-1' end
|
||||
from gaea_job j left join gaea_job_out_work w on j.id = w.job_id
|
||||
where j.crew_id = t.turbine_id and w.id is not null) as out_work_status,
|
||||
(select
|
||||
case when ifnull(sum(w.status = '3'), 0) > 0 then '3'
|
||||
when ifnull(sum(w.status = '2'), 0) > 0 then '2'
|
||||
when ifnull(sum(w.status = '1'), 0) > 0 then '1'
|
||||
when p.work_type like '%lightning-protection-work%' then '0'
|
||||
else '-1' end
|
||||
from gaea_job j left join gaea_job_anti_thunder_work w on j.id = w.job_id
|
||||
where j.crew_id = t.turbine_id and w.id is not null) as anti_thunder_work_status,
|
||||
(select
|
||||
case when ifnull(sum(w.status = '3'), 0) > 0 then '3'
|
||||
when ifnull(sum(w.status = '2'), 0) > 0 then '2'
|
||||
when ifnull(sum(w.status = '1'), 0) > 0 then '1'
|
||||
when p.work_type like '%summary-report%' then '0'
|
||||
else '-1' end
|
||||
from gaea_job j left join gaea_job_summary_work w on j.id = w.job_id
|
||||
where j.crew_id = t.turbine_id and w.id is not null) as summary_work_status,
|
||||
|
||||
<!--安全员审核态-->
|
||||
(select
|
||||
case when ifnull(sum(w.safety_officer_status = '1'), 0) > 0 then '1'
|
||||
when p.work_type like '%in-work%' then '0'
|
||||
else '-1' end
|
||||
from gaea_job j left join gaea_job_in_work w on j.id = w.job_id
|
||||
where j.crew_id = t.turbine_id and w.id is not null) as in_work_safety_status,
|
||||
(select
|
||||
case when ifnull(sum(w.safety_officer_status = '1'), 0) > 0 then '1'
|
||||
when p.work_type like '%out-work%' then '0'
|
||||
else '-1' end
|
||||
from gaea_job j left join gaea_job_out_work w on j.id = w.job_id
|
||||
where j.crew_id = t.turbine_id and w.id is not null) as out_work_safety_status,
|
||||
(select
|
||||
case when ifnull(sum(w.safety_officer_status = '1'), 0) > 0 then '1'
|
||||
when p.work_type like '%lightning-protection-work%' then '0'
|
||||
else '-1' end
|
||||
from gaea_job j left join gaea_job_anti_thunder_work w on j.id = w.job_id
|
||||
where j.crew_id = t.turbine_id and w.id is not null) as anti_thunder_work_safety_status,
|
||||
|
||||
<!--质量员审核状态-->
|
||||
(select
|
||||
case when ifnull(sum(w.quality_officer_status = '1'), 0) > 0 then '1'
|
||||
when p.work_type like '%in-work%' then '0'
|
||||
else '-1' end
|
||||
from gaea_job j left join gaea_job_in_work w on j.id = w.job_id
|
||||
where j.crew_id = t.turbine_id and w.id is not null) as in_work_quality_status,
|
||||
(select
|
||||
case when ifnull(sum(w.quality_officer_status = '1'), 0) > 0 then '1'
|
||||
when p.work_type like '%out-work%' then '0'
|
||||
else '-1' end
|
||||
from gaea_job j left join gaea_job_out_work w on j.id = w.job_id
|
||||
where j.crew_id = t.turbine_id and w.id is not null) as out_work_quality_status,
|
||||
(select
|
||||
case when ifnull(sum(w.quality_officer_status = '1'), 0) > 0 then '1'
|
||||
when p.work_type like '%lightning-protection-work%' then '0'
|
||||
else '-1' end
|
||||
from gaea_job j left join gaea_job_anti_thunder_work w on j.id = w.job_id
|
||||
where j.crew_id = t.turbine_id and w.id is not null) as anti_thunder_work_quality_status,
|
||||
exists(select 1
|
||||
from gaea_job j left join gaea_job_anti_thunder_work w on j.id = w.job_id
|
||||
where j.crew_id = t.turbine_id and w.id is not null and lightning_unqualified = true) as lightning_unqualified_all
|
||||
from turbine t
|
||||
left join project p on t.project_id = p.project_id
|
||||
where t.turbine_id in
|
||||
<foreach collection="crewIds" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
group by t.turbine_id
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
package com.dite.znpt.web.controller;
|
||||
|
||||
import com.dite.znpt.domain.Result;
|
||||
import com.dite.znpt.domain.TableData;
|
||||
import com.dite.znpt.domain.entity.job.JobAntiThunderWork;
|
||||
import com.dite.znpt.domain.vo.job.req.JobAntiThunderWorkReq;
|
||||
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
||||
import com.dite.znpt.exception.ServiceException;
|
||||
import com.dite.znpt.service.job.JobAntiThunderWorkService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Julio
|
||||
* @date 2023/2/1 14:26
|
||||
* @description 防雷工作
|
||||
*/
|
||||
@Api(tags = "防雷工作", description = "防雷工作")
|
||||
@RestController
|
||||
@RequestMapping("/job-no-man-work")
|
||||
public class JobAntiThunderWorkController {
|
||||
|
||||
@Autowired
|
||||
private JobAntiThunderWorkService service;
|
||||
|
||||
@PostMapping(value = "getWorkContent")
|
||||
@ApiOperation(value = "根据jobId查询岗位内容,未查到返回空对象")
|
||||
@ResponseBody
|
||||
public Result<JobAntiThunderWork> getJob(@Valid @RequestBody JobAntiThunderWorkReq dto) throws ServiceException {
|
||||
List<JobAntiThunderWork> list = this.service.listByJobId(dto);
|
||||
if (list.isEmpty()) {
|
||||
return Result.ok(new JobAntiThunderWork());
|
||||
}
|
||||
return Result.ok(list.get(0));
|
||||
}
|
||||
|
||||
@PostMapping(value = "save")
|
||||
@ApiOperation(value = "新增或更新")
|
||||
public Result<JobAntiThunderWork> save(@Valid @RequestBody JobAntiThunderWork work) {
|
||||
return Result.okM(this.service.saveInfo(work), "保存成功");
|
||||
}
|
||||
|
||||
@PostMapping("/list")
|
||||
@ApiOperation(value = "查询列表,组长-施工人员")
|
||||
public Result<TableData<JobAntiThunderWork>> list(@RequestBody JobInfoReq request) {
|
||||
List<JobAntiThunderWork> list = this.service.list(request);
|
||||
return Result.ok(new TableData<>(list, request.getPage(), request.getPageSize(), list.size()));
|
||||
}
|
||||
|
||||
@PostMapping("/submit")
|
||||
@ApiOperation(value = "组长提交/项目经理审批")
|
||||
public Result<TableData<JobAntiThunderWork>> submit(@RequestBody JobInfoReq request) {
|
||||
this.service.submit(request);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@PostMapping("/reject")
|
||||
@ApiOperation(value = "组长驳回/项目经理驳回")
|
||||
public Result<TableData<JobAntiThunderWork>> reject(@RequestBody JobInfoReq request) {
|
||||
this.service.reject(request);
|
||||
return Result.ok();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package com.dite.znpt.web.controller;
|
||||
|
||||
import com.dite.znpt.domain.Result;
|
||||
import com.dite.znpt.domain.entity.job.JobInfo;
|
||||
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
||||
import com.dite.znpt.exception.ServiceException;
|
||||
import com.dite.znpt.service.job.JobService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Julio
|
||||
* @date 2023/2/1 14:26
|
||||
* @description 项目-机组-岗位
|
||||
*/
|
||||
@Api(tags = "项目-机组-岗位", description = "项目-机组-岗位")
|
||||
@RestController
|
||||
@RequestMapping("/job")
|
||||
public class JobController {
|
||||
@Autowired
|
||||
private JobService jobService;
|
||||
|
||||
@PostMapping(value = "getJob")
|
||||
@ApiOperation(value = "根据项目-机组-人员id查询岗位信息,未查到返回null")
|
||||
@ResponseBody
|
||||
public Result<JobInfo> getJobInfo(@Valid @RequestBody JobInfoReq dto) throws ServiceException {
|
||||
List<JobInfo> list = this.jobService.page(dto);
|
||||
if (list.isEmpty()) {
|
||||
return Result.ok();
|
||||
}
|
||||
return Result.ok(list.get(0));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
package com.dite.znpt.web.controller;
|
||||
|
||||
import com.dite.znpt.domain.Result;
|
||||
import com.dite.znpt.domain.TableData;
|
||||
import com.dite.znpt.domain.entity.job.JobAntiThunderWork;
|
||||
import com.dite.znpt.domain.entity.job.JobInWork;
|
||||
import com.dite.znpt.domain.vo.job.req.JobInWorkReq;
|
||||
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
||||
import com.dite.znpt.exception.ServiceException;
|
||||
import com.dite.znpt.service.job.JobInWorkService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Julio
|
||||
* @date 2023/2/1 14:26
|
||||
* @description 内部工作
|
||||
*/
|
||||
@Api(tags = "内部工作", description = "内部工作")
|
||||
@RestController
|
||||
@RequestMapping("/job-in-work")
|
||||
public class JobInWorkController {
|
||||
|
||||
@Autowired
|
||||
private JobInWorkService service;
|
||||
|
||||
@PostMapping(value = "getWorkContent")
|
||||
@ApiOperation(value = "根据jobId查询岗位内容,未查到返回空对象")
|
||||
@ResponseBody
|
||||
public Result<JobInWork> getJob(@Valid @RequestBody JobInWorkReq dto) throws ServiceException {
|
||||
List<JobInWork> list = this.service.listByJobId(dto);
|
||||
if (list.isEmpty()) {
|
||||
return Result.ok(new JobInWork());
|
||||
}
|
||||
return Result.ok(list.get(0));
|
||||
}
|
||||
|
||||
@PostMapping(value = "save")
|
||||
@ApiOperation(value = "新增或更新")
|
||||
public Result<JobInWork> save(@Valid @RequestBody JobInWork work) {
|
||||
return Result.okM(this.service.saveInfo(work), "保存成功");
|
||||
}
|
||||
|
||||
@PostMapping("/list")
|
||||
@ApiOperation(value = "查询列表,组长-施工人员")
|
||||
public Result<TableData<JobInWork>> list(@RequestBody JobInfoReq request) {
|
||||
List<JobInWork> list = this.service.list(request);
|
||||
return Result.ok(new TableData<>(list, request.getPage(), request.getPageSize(), list.size()));
|
||||
}
|
||||
|
||||
@PostMapping("/submit")
|
||||
@ApiOperation(value = "组长提交/项目经理审批")
|
||||
public Result<TableData<JobInWork>> submit(@RequestBody JobInfoReq request) {
|
||||
this.service.submit(request);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@PostMapping("/reject")
|
||||
@ApiOperation(value = "组长驳回/项目经理驳回")
|
||||
public Result<TableData<JobInWork>> reject(@RequestBody JobInfoReq request) {
|
||||
this.service.reject(request);
|
||||
return Result.ok();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
package com.dite.znpt.web.controller;
|
||||
|
||||
import com.dite.znpt.domain.Result;
|
||||
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.vo.job.req.JobInfoReq;
|
||||
import com.dite.znpt.domain.vo.job.req.JobOutWorkReq;
|
||||
import com.dite.znpt.exception.ServiceException;
|
||||
import com.dite.znpt.service.job.JobInWorkService;
|
||||
import com.dite.znpt.service.job.JobOutWorkService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Julio
|
||||
* @date 2023/2/1 14:26
|
||||
* @description 外部工作
|
||||
*/
|
||||
@Api(tags = "外部工作", description = "外部工作")
|
||||
@RestController
|
||||
@RequestMapping("/job-out-work")
|
||||
public class JobOutWorkController {
|
||||
|
||||
@Autowired
|
||||
private JobOutWorkService service;
|
||||
|
||||
@PostMapping(value = "getWorkContent")
|
||||
@ApiOperation(value = "根据jobId查询岗位内容,未查到返回空对象")
|
||||
@ResponseBody
|
||||
public Result<JobOutWork> getJob(@Valid @RequestBody JobOutWorkReq dto) throws ServiceException {
|
||||
List<JobOutWork> list = this.service.listByJobId(dto);
|
||||
if (list.isEmpty()) {
|
||||
return Result.ok(new JobOutWork());
|
||||
}
|
||||
return Result.ok(list.get(0));
|
||||
}
|
||||
|
||||
@PostMapping(value = "save")
|
||||
@ApiOperation(value = "新增或更新")
|
||||
public Result<JobOutWork> save(@Valid @RequestBody JobOutWork work) {
|
||||
return Result.okM(this.service.saveInfo(work), "保存成功");
|
||||
}
|
||||
|
||||
@PostMapping("/list")
|
||||
@ApiOperation(value = "查询列表,组长-施工人员")
|
||||
public Result<TableData<JobOutWork>> list(@RequestBody JobInfoReq request) {
|
||||
List<JobOutWork> list = this.service.list(request);
|
||||
return Result.ok(new TableData<>(list, request.getPage(), request.getPageSize(), list.size()));
|
||||
}
|
||||
|
||||
@PostMapping("/submit")
|
||||
@ApiOperation(value = "组长提交/项目经理审批")
|
||||
public Result<TableData<JobOutWork>> submit(@RequestBody JobInfoReq request) {
|
||||
this.service.submit(request);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@PostMapping("/reject")
|
||||
@ApiOperation(value = "组长驳回/项目经理驳回")
|
||||
public Result<TableData<JobOutWork>> reject(@RequestBody JobInfoReq request) {
|
||||
this.service.reject(request);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
package com.dite.znpt.web.controller;
|
||||
|
||||
import com.dite.znpt.domain.Result;
|
||||
import com.dite.znpt.domain.TableData;
|
||||
import com.dite.znpt.domain.entity.job.JobOutWork;
|
||||
import com.dite.znpt.domain.entity.job.JobSummaryWork;
|
||||
import com.dite.znpt.domain.vo.job.req.JobInfoReq;
|
||||
import com.dite.znpt.domain.vo.job.req.JobSummaryWorkReq;
|
||||
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.JobSummaryWorkService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Julio
|
||||
* @date 2023/2/1 14:26
|
||||
* @description 汇总报告
|
||||
*/
|
||||
@Api(tags = "汇总报告", description = "汇总报告")
|
||||
@RestController
|
||||
@RequestMapping("/job-summary-work")
|
||||
public class JobSummaryWorkController {
|
||||
|
||||
@Autowired
|
||||
private JobSummaryWorkService service;
|
||||
|
||||
@PostMapping(value = "getWorkContent")
|
||||
@ApiOperation(value = "根据jobId查询岗位内容,未查到返回空对象")
|
||||
@ResponseBody
|
||||
public Result<JobSummaryWork> getJob(@Valid @RequestBody JobSummaryWorkReq dto) throws ServiceException {
|
||||
List<JobSummaryWork> list = this.service.listByJobId(dto);
|
||||
if (list.isEmpty()) {
|
||||
return Result.ok(new JobSummaryWork());
|
||||
}
|
||||
return Result.ok(list.get(0));
|
||||
}
|
||||
|
||||
@PostMapping(value = "save")
|
||||
@ApiOperation(value = "新增或更新")
|
||||
public Result<JobSummaryWork> save(@Valid @RequestBody JobSummaryWork work) {
|
||||
return Result.okM(this.service.saveInfo(work), "保存成功");
|
||||
}
|
||||
|
||||
@PostMapping("/list")
|
||||
@ApiOperation(value = "查询列表,组长-施工人员")
|
||||
public Result<TableData<JobSummaryWork>> list(@RequestBody JobInfoReq request) {
|
||||
List<JobSummaryWork> list = this.service.list(request);
|
||||
return Result.ok(new TableData<>(list, request.getPage(), request.getPageSize(), list.size()));
|
||||
}
|
||||
|
||||
@PostMapping("/submit")
|
||||
@ApiOperation(value = "组长提交/项目经理审批")
|
||||
public Result<TableData<JobSummaryWork>> submit(@RequestBody JobInfoReq request) {
|
||||
this.service.submit(request);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@PostMapping("/reject")
|
||||
@ApiOperation(value = "组长驳回/项目经理驳回")
|
||||
public Result<TableData<JobSummaryWork>> reject(@RequestBody JobInfoReq request) {
|
||||
this.service.reject(request);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue