Commit b5c8c19d by xieshaohua

工单修改

parent 91fdf5aa
package com.keymobile.governworkorder;
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
\ No newline at end of file
...@@ -14,49 +14,66 @@ import lombok.Data; ...@@ -14,49 +14,66 @@ import lombok.Data;
public class WorkOrderDataVO { public class WorkOrderDataVO {
/** /**
* 资产id * id
*/ */
@Schema(description = "id")
private String id; private String id;
/** /**
* 工单id * 工单id
*/ */
@Schema(description = "工单id")
private String workOrderId; private String workOrderId;
@Schema(description = "关联资产id")
private String dataId;
/** /**
* 资产名称 * 资产名称
*/ */
@Schema(description = "资产名称")
private String name; private String name;
/** /**
* 资产编号 * 资产编号
*/ */
@Schema(description = "资产编号")
private String code; private String code;
/** /**
* 资产描述 * 资产描述
*/ */
@Schema(description = "资产描述")
private String desc; private String desc;
/** /**
* 处理意见 * 处理意见
*/ */
@Schema(description = "处理意见")
private String opinion; private String opinion;
/** /**
* 工单类型 资产属性变更、资产下架、资产新增等 待讨论 资产转移 * 工单类型 资产属性变更、资产下架、资产新增等 待讨论 资产转移
*/ */
@Schema(description = "工单类型 资产属性变更、资产下架、资产新增等 待讨论 资产转移")
private String type; private String type;
/** /**
* 资产类型 数据指标、数据资产 * 资产类型 数据指标、数据资产、元数据、标准
*/ */
@Schema(description = "资产类型 数据指标、数据资产、元数据、标准")
private String dataType; private String dataType;
/** /**
* 处理状态 是、否 * 处理状态 是、否
*/ */
@Schema(description = "处理状态 是、否")
private String handleStatus; private String handleStatus;
/** /**
* 确认状态 是、否 * 确认状态 是、否
*/ */
@Schema(description = "确认状态 是、否")
private String confirmStatus; private String confirmStatus;
@Schema(description = "创建时间")
private String createTime;
@Schema(description = "更新时间")
private String updateTime;
} }
package com.keymobile.governworkorder.common.bo; package com.keymobile.governworkorder.common.bo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
...@@ -12,80 +13,120 @@ import java.util.List; ...@@ -12,80 +13,120 @@ import java.util.List;
*/ */
@Data @Data
@Schema(description = "工单信息")
public class WorkOrderInfoVO { public class WorkOrderInfoVO {
/** /**
* id * id
*/ */
@Schema(description = "id")
private String id; private String id;
private String name;
/** /**
* 工单标题 * 工单标题
*/ */
@Schema(description = "工单标题")
private String title; private String title;
/** /**
* 工单描述 * 工单描述
*/ */
@Schema(description = "工单描述")
private String desc; private String desc;
/** /**
* 工单级别 * 工单级别
*/ */
@Schema(description = "工单级别")
private String level; private String level;
/** /**
* 工单状态 待处理、处理中 * 工单状态 待处理、处理中
*/ */
@Schema(description = "工单状态 待处理、处理中")
private String status; private String status;
/** /**
* 流程环节 发起人、处理人、审批人
*/
@Schema(description = "流程环节 发起人、处理人、审批人")
private String stage;
/**
* 工单创建时间 * 工单创建时间
*/ */
@Schema(description = "工单创建时间")
private String createTime; private String createTime;
/** /**
* 创建毫秒 * 创建毫秒
*/ */
@Schema(description = "创建毫秒")
private long createTimeMill; private long createTimeMill;
/** /**
* 工单类型 资产变更、资产下架、资产新增等 待讨论 资产转移 * 工单类型 资产变更、资产下架、资产新增等 待讨论 资产转移
*/ */
@Schema(description = "工单类型 资产变更、资产下架、资产新增等 待讨论 资产转移")
private String type; private String type;
/** /**
* 资产类型 数据指标、数据资产 * 资产类型 数据指标、数据资产、元数据、数据标准
*/ */
@Schema(description = "资产类型 数据指标、数据资产、元数据、数据标准")
private String dataType; private String dataType;
/** /**
* 处理人 * 处理人
*/ */
@Schema(description = "处理人")
private String handleUserName; private String handleUserName;
/** /**
* 处理人展示名 * 处理人展示名
*/ */
private String handleUserDName; @Schema(description = "处理人展示名")
private String handleUserDname;
/** /**
* 下一步操作人展示名 * 下一步操作人展示名
*/ */
private String nextUserDName; @Schema(description = "下一步操作人展示名")
private String nextUserDname;
/** /**
* 下一步操作人账号 * 下一步操作人账号
*/ */
@Schema(description = "下一步操作人账号")
private String nextUserName; private String nextUserName;
/** /**
* 创建人展示名 * 创建人展示名
*/ */
private String createUserDName; @Schema(description = "创建人展示名")
private String createUserDname;
/** /**
* 创建人账号 * 创建人账号
*/ */
@Schema(description = "创建人账号")
private String createUserName; private String createUserName;
/**
* 文件id
*/
@Schema(description = "文件id")
private String fileId; private String fileId;
/**
* 结束时间
*/
@Schema(description = "结束时间")
private String endTime; private String endTime;
/**
* 结束时间毫秒
*/
@Schema(description = "结束时间毫秒")
private String endTimeMill;
/**
* 期望结束时间
*/
@Schema(description = "结束时间")
private String expectedEndTime;
/**
* 更新时间
*/
@Schema(description = "更新时间")
private String updateTime; private String updateTime;
@Schema(description = "关联资产数据")
private List<WorkOrderDataVO> data; private List<WorkOrderDataVO> data;
@Schema(description = "关联审批数据")
private List<WorkOrderProcessVO> process; private List<WorkOrderProcessVO> process;
} }
package com.keymobile.governworkorder.common.bo; package com.keymobile.governworkorder.common.bo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
/** /**
* @author xiesh * @author xiesh
* @version 1.0.0 * @version 1.0.0
* @date 2025/8/14 * @date 2025/8/14
* @desc * @desc 流程审批信息
*/ */
@Data @Data
@Schema(description = "工单信息")
public class WorkOrderProcessVO { public class WorkOrderProcessVO {
@Schema(description = "id")
private String id; private String id;
/** /**
* 工单id * 工单id
*/ */
@Schema(description = "工单id")
private String workOrderId; private String workOrderId;
/** /**
* 流程环节 发起人、处理人、审批人
*/
@Schema(description = "流程环节 发起人、处理人、审批人")
private String stage;
/**
* 类型 通过、驳回 * 类型 通过、驳回
*/ */
@Schema(description = "类型 通过、驳回")
private String type; private String type;
/** /**
* 处理意见 * 处理意见
*/ */
@Schema(description = "处理意见")
private String content; private String content;
/** /**
* 处理人账号 * 处理人账号
*/ */
@Schema(description = "处理人账号")
private String userName; private String userName;
/** /**
* 处理人展示名 * 处理人展示名
*/ */
private String userDName; @Schema(description = "处理人展示名")
private String userDname;
/** /**
* 下一步处理人 * 下一步处理人
*/ */
@Schema(description = "下一步处理人")
private String nextUserName; private String nextUserName;
/** /**
* 下一步处理人展示名 * 下一步处理人展示名
*/ */
private String nextUserDName; @Schema(description = "下一步处理人展示名")
private String nextUserDname;
/** /**
* 创建时间 * 创建时间
*/ */
@Schema(description = "createTime")
private String createTime; private String createTime;
......
...@@ -3,10 +3,6 @@ package com.keymobile.governworkorder.common.type; ...@@ -3,10 +3,6 @@ package com.keymobile.governworkorder.common.type;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Arrays;
import java.util.Map;
import java.util.stream.Collectors;
@JsonFormat(shape = JsonFormat.Shape.OBJECT) @JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum OrderDataTypeEnum { public enum OrderDataTypeEnum {
......
...@@ -13,7 +13,8 @@ public enum OrderMessageTypeEnum { ...@@ -13,7 +13,8 @@ public enum OrderMessageTypeEnum {
MSG_CREATE("create", "工单创建"), MSG_CREATE("create", "工单创建"),
MSG_UPDATE("update", "工单更新"), MSG_UPDATE("update", "工单更新"),
MSG_DELETE("delete", "工单删除"), MSG_DELETE("delete", "工单删除"),
MSG_FINISH("finish", "工单完成"); MSG_FINISH("finish", "工单完成"),
MSG_INVALIDATE("invalidate", "工单失效");
public static final String[] ARRAYS = Arrays.stream(values()).map(OrderMessageTypeEnum::getType).toArray(String[]::new); public static final String[] ARRAYS = Arrays.stream(values()).map(OrderMessageTypeEnum::getType).toArray(String[]::new);
......
package com.keymobile.governworkorder.common.type;
/**
* @author xiesh
* @version 1.0.0
* @date 2025/8/15
* @desc
*/
public enum OrderProcessStageTypeEnum {
PROCESS_CREATE("发起人"),
PROCESS_HANDLER("处理人"),
PROCESS_APPROVER("审批人");
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private String name;
OrderProcessStageTypeEnum() {
}
OrderProcessStageTypeEnum(String name) {
this.name = name;
}
}
...@@ -4,7 +4,8 @@ public enum OrderStatusTypeEnum { ...@@ -4,7 +4,8 @@ public enum OrderStatusTypeEnum {
STATUS_TO_BE_START("待发起"), STATUS_TO_BE_START("待发起"),
STATUS_PROCESSING("处理中"), STATUS_PROCESSING("处理中"),
STATUS_DONE("工单关闭"); STATUS_DONE("工单关闭"),
STATUS_INVALIDATE("工单失效");
public String getName() { public String getName() {
return name; return name;
......
...@@ -97,7 +97,10 @@ public class WorkOrderApi { ...@@ -97,7 +97,10 @@ public class WorkOrderApi {
} }
@RequestMapping(value = "/checkCreate", method = {RequestMethod.GET})
@Operation(summary = "校验是否具有创建工单的权限", description = "")
public boolean checkCreatePermission(@RequestParam(required = false) String userName) {
return workOrderService.checkCreatePermission(userName);
}
} }
package com.keymobile.governworkorder.core.dto; package com.keymobile.governworkorder.core.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
...@@ -10,20 +11,32 @@ import org.springframework.data.domain.Sort; ...@@ -10,20 +11,32 @@ import org.springframework.data.domain.Sort;
* @desc * @desc
*/ */
@Data @Data
@Schema(description = "工单查询条件")
public class WorkOrdeQueryDto { public class WorkOrdeQueryDto {
@Schema(description = "分页页数")
private int page = 1; private int page = 1;
@Schema(description = "分页大小")
private int size = 10; private int size = 10;
@Schema(description = "排序字段")
private String sort = "createTime"; private String sort = "createTime";
@Schema(description = "排序 DESC 降序、ASC 升序")
private Sort.Direction direction = Sort.Direction.DESC; private Sort.Direction direction = Sort.Direction.DESC;
@Schema(description = "工单级别")
private String level; private String level;
@Schema(description = "工单状态")
private String status; private String status;
@Schema(description = "工单类型")
private String type; private String type;
@Schema(description = "关键字")
private String keyword; private String keyword;
@Schema(description = "创建开始时间")
private String startTime; private String startTime;
@Schema(description = "创建结束时间")
private String endTime; private String endTime;
/** /**
* 待办已办类型: 1待办、2待办 * 待办已办类型: 1待办、2待办
*/ */
@Schema(description = "待办已办类型: 1待办、2待办")
private String doType; private String doType;
} }
...@@ -28,25 +28,12 @@ public class WorkOrderMessageService { ...@@ -28,25 +28,12 @@ public class WorkOrderMessageService {
@Autowired @Autowired
private FanoutExchange exchange; private FanoutExchange exchange;
public void create(WorkOrderInfoVO vo) { public void sendMsg(String type, WorkOrderInfoVO vo) {
CorrelationData correlationId = new CorrelationData(UUID.randomUUID().toString()); CorrelationData correlationId = new CorrelationData(UUID.randomUUID().toString());
String content = toMessage(OrderMessageTypeEnum.MSG_CREATE.getType(), vo); String content = toMessage(type, vo);
log.info("sendMessage.exchange:{},content:{}", exchange.getName(), content); log.info("sendMessage.exchange:{},content:{}", exchange.getName(), content);
this.rabbitTemplate.convertAndSend(exchange.getName(), null, content, correlationId); this.rabbitTemplate.convertAndSend(exchange.getName(), null, content, correlationId);
}
public void delete(WorkOrderInfoVO vo) {
CorrelationData correlationId = new CorrelationData(UUID.randomUUID().toString());
String content = toMessage(OrderMessageTypeEnum.MSG_DELETE.getType(), vo);
log.info("sendMessage.exchange:{},content:{}", exchange.getName(), content);
this.rabbitTemplate.convertAndSend(exchange.getName(), null, content, correlationId);
}
public void finsh(WorkOrderInfoVO vo) {
CorrelationData correlationId = new CorrelationData(UUID.randomUUID().toString());
String content = toMessage(OrderMessageTypeEnum.MSG_FINISH.getType(), vo);
log.info("sendMessage.exchange:{},content:{}", exchange.getName(), content);
this.rabbitTemplate.convertAndSend(exchange.getName(), null, content, correlationId);
} }
private String toMessage(String type, WorkOrderInfoVO vo) { private String toMessage(String type, WorkOrderInfoVO vo) {
......
...@@ -23,6 +23,11 @@ public class WorkOrderData { ...@@ -23,6 +23,11 @@ public class WorkOrderData {
private String workOrderId; private String workOrderId;
/** /**
* 资产id
*/
private String dataId;
/**
* 资产名称 * 资产名称
*/ */
private String name; private String name;
......
...@@ -23,7 +23,6 @@ public class WorkOrderInfo { ...@@ -23,7 +23,6 @@ public class WorkOrderInfo {
@Id @Id
private String id; private String id;
private String name;
/** /**
* 工单标题 * 工单标题
*/ */
...@@ -41,6 +40,10 @@ public class WorkOrderInfo { ...@@ -41,6 +40,10 @@ public class WorkOrderInfo {
*/ */
private String status; private String status;
/** /**
* 流程环节 发起人、处理人、审批人
*/
private String stage;
/**
* 工单创建时间 * 工单创建时间
*/ */
private String createTime; private String createTime;
...@@ -65,11 +68,11 @@ public class WorkOrderInfo { ...@@ -65,11 +68,11 @@ public class WorkOrderInfo {
/** /**
* 处理人展示名 * 处理人展示名
*/ */
private String handleUserDName; private String handleUserDname;
/** /**
* 下一步操作人展示名 * 下一步操作人展示名
*/ */
private String nextUserDName; private String nextUserDname;
/** /**
* 下一步操作人账号 * 下一步操作人账号
*/ */
...@@ -77,18 +80,33 @@ public class WorkOrderInfo { ...@@ -77,18 +80,33 @@ public class WorkOrderInfo {
/** /**
* 创建人展示名 * 创建人展示名
*/ */
private String createUserDName; private String createUserDname;
/** /**
* 创建人账号 * 创建人账号
*/ */
private String createUserName; private String createUserName;
/**
* 文件id
*/
private String fileId;
/**
* 结束时间
*/
private String endTime; private String endTime;
/**
* 结束时间毫秒
*/
private String endTimeMill;
/**
* 期望结束时间
*/
private String expectedEndTime;
/**
* 更新时间
*/
private String updateTime; private String updateTime;
private String fileId;
@Transient @Transient
private List<WorkOrderData> data; private List<WorkOrderData> data;
......
...@@ -22,6 +22,10 @@ public class WorkOrderProcess { ...@@ -22,6 +22,10 @@ public class WorkOrderProcess {
*/ */
private String workOrderId; private String workOrderId;
/** /**
* 环节
*/
private String stage;
/**
* 类型 通过、驳回 * 类型 通过、驳回
*/ */
private String type; private String type;
...@@ -36,7 +40,7 @@ public class WorkOrderProcess { ...@@ -36,7 +40,7 @@ public class WorkOrderProcess {
/** /**
* 处理人展示名 * 处理人展示名
*/ */
private String userDName; private String userDname;
/** /**
* 下一步处理人 * 下一步处理人
...@@ -45,7 +49,7 @@ public class WorkOrderProcess { ...@@ -45,7 +49,7 @@ public class WorkOrderProcess {
/** /**
* 下一步处理人展示名 * 下一步处理人展示名
*/ */
private String nextUserDName; private String nextUserDname;
/** /**
* 创建时间 * 创建时间
*/ */
......
package com.keymobile.governworkorder.core.remote;
import com.keymobile.governworkorder.core.remote.user.User;
import com.keymobile.governworkorder.core.remote.user.UserGroup;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
@FeignClient(name = "AuthService")
public interface AuthService {
@GetMapping(value = "/users")
List<User> getUserList();
@GetMapping(value = "/userGroups")
List<UserGroup> getUserGroups();
@GetMapping(value = "/userGroups/{userGroupId}/users")
List<User> getUserListByGroupId(@PathVariable("userGroupId") Long userGroupId);
}
package com.keymobile.governworkorder.core.remote.user;
import lombok.Data;
import java.io.Serializable;
@Data
public class User implements Serializable {
private Long id;
private String name;
private String dname;
}
\ No newline at end of file
package com.keymobile.governworkorder.core.remote.user;
import lombok.Data;
import java.io.Serializable;
@Data
public class UserGroup implements Serializable {
private Long id;
private String name;
private String desc;
private Integer membersCount;
}
\ No newline at end of file
...@@ -36,4 +36,6 @@ public interface WorkOrderService { ...@@ -36,4 +36,6 @@ public interface WorkOrderService {
WorkOrderInfoVO getById(String workOrderId); WorkOrderInfoVO getById(String workOrderId);
boolean checkCreatePermission(String userName);
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment