feat: (REQ-3300) 变更签证详情-代码优化
This commit is contained in:
parent
d96ab83847
commit
bb3fa9b9d0
@ -6,7 +6,7 @@ import com.google.common.collect.Sets;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
@ -108,9 +108,10 @@ public enum VisaButtonTypeEnum {
|
||||
switch (bizTypeSet) {
|
||||
case CREATE:
|
||||
case CONFIRM:
|
||||
return bizTypeBtnMap.get(bizTypeSet.name() + status.name());
|
||||
case OTHER:
|
||||
case APPROVE:
|
||||
|
||||
Set<VisaButtonTypeEnum> buttonTypeEnumSet = bizTypeBtnMap.get(bizTypeSet.name() + status.name());
|
||||
return CollectionUtils.isNotEmpty(buttonTypeEnumSet) ? buttonTypeEnumSet : Sets.newHashSet();
|
||||
default:
|
||||
throw new ServiceException("单据确认业务类型不匹配");
|
||||
}
|
||||
|
||||
@ -19,7 +19,7 @@ public enum VisaLogTypeEnum {
|
||||
|
||||
CHAT_GROUP("chat_group", "发起群聊洽商","发起群聊洽商","%s发起群聊洽商"),
|
||||
EDIT_FORM("edit_form", "编辑表单","%s编辑表单","%s编辑表单"),
|
||||
EDIT_AMOUNT("edit_amount", "编辑金额变化","%s编辑金额变化","原值:金额变化:%s;/n 新值:金额变化:%s;"),
|
||||
EDIT_AMOUNT("edit_amount", "编辑金额变化","%s编辑金额变化","原值:金额变化:%s;<br> 新值:金额变化:%s;"),
|
||||
UPLOAD_FILE("upload_file", "上传附件","%s上传附件","%s上传%d个附件:%s"),
|
||||
DELETE_UPLOAD_FILE("delete_upload_file", "删除附件","%s删除附件","%s删除%d个附件:"),
|
||||
TO_EXECUTE("to_execute", "发起执行","发起执行", "%s发起执行"),
|
||||
|
||||
@ -247,6 +247,20 @@ public class VisaDetailByIdResponse {
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class RelationProfessional {
|
||||
|
||||
/**
|
||||
* code
|
||||
*/
|
||||
private String code;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@ -270,6 +284,18 @@ public class VisaDetailByIdResponse {
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class RelationArea {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
|
||||
@ -61,7 +61,7 @@ public class ChangeRecord extends BaseEntity<ChangeRecord> {
|
||||
*/
|
||||
|
||||
@TableField(value = "relation_area", typeHandler = FastjsonTypeHandler.class)
|
||||
private JSONObject relationArea;
|
||||
private JSONArray relationArea;
|
||||
|
||||
/**
|
||||
* 专业集合
|
||||
@ -138,7 +138,7 @@ public class ChangeRecord extends BaseEntity<ChangeRecord> {
|
||||
/**
|
||||
* 修改人id
|
||||
*/
|
||||
@TableField(value = "updateBy")
|
||||
@TableField(value = "update_by")
|
||||
private Long updateBy;
|
||||
|
||||
}
|
||||
|
||||
@ -65,7 +65,7 @@ public class ChangeRecordBill extends BaseEntity<ChangeRecordBill> {
|
||||
/**
|
||||
* 修改人id
|
||||
*/
|
||||
@TableField(value = "updateBy")
|
||||
@TableField(value = "update_by")
|
||||
private Long updateBy;
|
||||
|
||||
}
|
||||
|
||||
@ -56,22 +56,11 @@ public class ChangeRecordLog extends BaseEntity<ChangeRecordLog> {
|
||||
@TableField(value = "order_by")
|
||||
private Integer orderBy;
|
||||
|
||||
/**
|
||||
* 操作时间
|
||||
*/
|
||||
@TableField(value = "operation_time")
|
||||
private Date operationTime;
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
@TableField(value = "create_by")
|
||||
private Long createBy;
|
||||
|
||||
/**
|
||||
* 修改人id
|
||||
*/
|
||||
@TableField(value = "updateBy")
|
||||
private Long updateBy;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -68,7 +68,7 @@ public class ChangeRecordRelation extends BaseEntity<ChangeRecordRelation> {
|
||||
/**
|
||||
* 修改人id
|
||||
*/
|
||||
@TableField(value = "updateBy")
|
||||
@TableField(value = "update_by")
|
||||
private Long updateBy;
|
||||
|
||||
}
|
||||
|
||||
@ -37,7 +37,6 @@ public class VisaChangeLogPayload implements Serializable {
|
||||
.action(log.getAction())
|
||||
.title(log.getTitle())
|
||||
.content(log.getContent())
|
||||
.operateTime(log.getOperationTime())
|
||||
.personId(log.getCreateBy())
|
||||
.build();
|
||||
return Event.builder()
|
||||
|
||||
@ -8,7 +8,6 @@ import cn.axzo.basics.common.constant.enums.OrganizationalNodeTypeEnum;
|
||||
import cn.axzo.basics.common.util.AssertUtil;
|
||||
import cn.axzo.basics.common.util.NumberUtil;
|
||||
import cn.axzo.basics.profiles.dto.basic.PersonProfileDto;
|
||||
import cn.axzo.basics.report.api.ReportServiceSDK;
|
||||
import cn.axzo.basics.report.api.sheet.SheetWrapper;
|
||||
import cn.axzo.framework.domain.ServiceException;
|
||||
import cn.axzo.framework.domain.web.result.PageData;
|
||||
@ -50,12 +49,12 @@ import cn.axzo.nanopart.visa.server.dto.VisaConfirmDto;
|
||||
import cn.axzo.nanopart.visa.server.dto.VisaLogParam;
|
||||
import cn.axzo.nanopart.visa.server.mapper.ChangeRecordDao;
|
||||
import cn.axzo.nanopart.visa.server.rpc.ApolloConstructionAreaGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.VisaCooperateShipGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.DrawingMajorGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.MsgCenterGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.ProjectApiGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.VisaCooperateShipGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.VisaOrganizationalNodeUserGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.VisaProfileGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.ProjectApiGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.WorkflowGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.WorkspaceGateway;
|
||||
import cn.axzo.nanopart.visa.server.service.ChangeRecordBillService;
|
||||
@ -73,12 +72,12 @@ import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Sets;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
@ -328,8 +327,8 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
.createBy(visa.getCreateBy()) //发起人Id
|
||||
.happenTime(Objects.nonNull(visa.getHappenTime()) ? DateUtil.format(visa.getHappenTime(), "yyyy-MM-dd") : "") // 提出时间
|
||||
.approvalCompleteTime(Objects.nonNull(visa.getApprovalCompleteTime()) ? DateUtil.format(visa.getApprovalCompleteTime(), "yyyy-MM-dd HH:mm:ss") : "") //最终审批时间
|
||||
.relationProfessionalList(this.buildProfession(visa.getRelationProject(), Sets.newHashSet()))//专业
|
||||
.relationAreaList(this.buildArea(Lists.newArrayList())) //区域
|
||||
.relationProfessionalList(this.buildProfession(visa.getRelationProject(), visa.getRelationProfessional()))//专业
|
||||
.relationAreaList(this.buildArea(visa.getRelationArea())) //区域
|
||||
.relationProject(visa.getRelationProject()) // 工程Id
|
||||
.relationProjectName((Objects.nonNull(projectDetailRes) && Objects.nonNull(projectDetailRes.getProjectInfo())) ? projectDetailRes.getProjectInfo().getName() : "") // 工程名称
|
||||
.relationWorkspaceId(visa.getRelationWorkspaceId()) // 项目Id
|
||||
@ -927,7 +926,17 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
}
|
||||
}
|
||||
|
||||
private List<VisaDetailByIdResponse.RelationAreaDetail> buildArea(List<Long> areaIds) {
|
||||
private List<VisaDetailByIdResponse.RelationAreaDetail> buildArea(JSONArray relationArea) {
|
||||
if (CollectionUtils.isEmpty(relationArea)) {
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
List<VisaDetailByIdResponse.RelationArea> relationAreaList = relationArea.toJavaList(VisaDetailByIdResponse.RelationArea.class);
|
||||
if (CollectionUtils.isEmpty(relationAreaList)) {
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
List<Long> areaIds = relationAreaList.stream()
|
||||
.filter(item -> Objects.nonNull(item.getId()))
|
||||
.map(VisaDetailByIdResponse.RelationArea::getId).collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(areaIds)) {
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
@ -944,10 +953,23 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
/**
|
||||
* 构建专业集合
|
||||
*/
|
||||
private List<VisaDetailByIdResponse.RelationProfessionalDetail> buildProfession(Long projectId, Set<String> majorCodes) {
|
||||
if (Objects.isNull(projectId) || CollectionUtils.isEmpty(majorCodes)) {
|
||||
private List<VisaDetailByIdResponse.RelationProfessionalDetail> buildProfession(Long projectId, JSONArray relationProfessional) {
|
||||
|
||||
if (Objects.isNull(projectId) || CollectionUtils.isEmpty(relationProfessional)) {
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
List<VisaDetailByIdResponse.RelationProfessional> professionalList = relationProfessional.toJavaList(VisaDetailByIdResponse.RelationProfessional.class);
|
||||
|
||||
if (CollectionUtils.isEmpty(professionalList)) {
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
Set<String> majorCodes = professionalList.stream()
|
||||
.filter(item -> StringUtils.hasText(item.getCode()))
|
||||
.map(VisaDetailByIdResponse.RelationProfessional::getCode).collect(Collectors.toSet());
|
||||
if (CollectionUtils.isEmpty(majorCodes)) {
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
|
||||
List<DrawingMajorResp> majorRespList = drawingMajorGateway.list(projectId, majorCodes, true);
|
||||
if (CollectionUtils.isEmpty(majorCodes)) {
|
||||
return Lists.newArrayList();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user