Merge remote-tracking branch 'origin/feature/REQ-3581' into feature/REQ-3581
This commit is contained in:
commit
1a484c2c2d
@ -7,6 +7,7 @@ import cn.axzo.nanopart.visa.api.request.ChangeStatusRequest;
|
|||||||
import cn.axzo.nanopart.visa.api.request.CheckVisaWithVisaIdReq;
|
import cn.axzo.nanopart.visa.api.request.CheckVisaWithVisaIdReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.FetchVisaAllConfirmReq;
|
import cn.axzo.nanopart.visa.api.request.FetchVisaAllConfirmReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.GetBillIfRelatedReq;
|
import cn.axzo.nanopart.visa.api.request.GetBillIfRelatedReq;
|
||||||
|
import cn.axzo.nanopart.visa.api.request.UpdateVisaChangeReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveCreateReq;
|
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveCreateReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveOnlyReq;
|
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveOnlyReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.VisaChangeDiscussCreateReq;
|
import cn.axzo.nanopart.visa.api.request.VisaChangeDiscussCreateReq;
|
||||||
@ -174,4 +175,12 @@ public interface ChangeRecordApi {
|
|||||||
@PostMapping("/api/visa/change/list")
|
@PostMapping("/api/visa/change/list")
|
||||||
ApiPageResult<VisaSearchResp> list(@RequestBody @Validated VisaSearchReq req);
|
ApiPageResult<VisaSearchResp> list(@RequestBody @Validated VisaSearchReq req);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新变更签证记录
|
||||||
|
* @param req
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/api/visa/change/update")
|
||||||
|
ApiResult<Void> update(@RequestBody @Validated UpdateVisaChangeReq req);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,48 @@
|
|||||||
|
package cn.axzo.nanopart.visa.api.request;
|
||||||
|
|
||||||
|
import lombok.AccessLevel;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class UpdateVisaChangeReq {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变更签证id
|
||||||
|
*/
|
||||||
|
@NotNull(message = "变更签证id不能为空")
|
||||||
|
private Long visaId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变更签证更新操作人personId
|
||||||
|
*/
|
||||||
|
@NotNull(message = "操作人不能为空")
|
||||||
|
private Long operatorId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变更签证用印操作
|
||||||
|
*/
|
||||||
|
private VisaStampAction visaStampAction;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新场景,用于记录日志,
|
||||||
|
*/
|
||||||
|
private String scene;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
||||||
|
public enum VisaStampAction {
|
||||||
|
|
||||||
|
COMPLETE("完成用印");
|
||||||
|
|
||||||
|
private String desc;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
package cn.axzo.nanopart.visa.server.config;
|
||||||
|
|
||||||
|
import cn.axzo.foundation.result.IResultCode;
|
||||||
|
import cn.axzo.nanopart.visa.api.enums.VisaStampStatusEnum;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor
|
||||||
|
public enum BizResultCode implements IResultCode {
|
||||||
|
|
||||||
|
CHANGE_RECORD_NOT_FOUND("100001", "变更签证记录不存在"),
|
||||||
|
VISA_STAMP_STATUS_ERROR("100002", "变更签证记录用印状态错误");
|
||||||
|
|
||||||
|
private String errorCode;
|
||||||
|
private String errorMessage;
|
||||||
|
}
|
||||||
@ -10,6 +10,7 @@ import cn.axzo.nanopart.visa.api.request.ChangeStatusRequest;
|
|||||||
import cn.axzo.nanopart.visa.api.request.CheckVisaWithVisaIdReq;
|
import cn.axzo.nanopart.visa.api.request.CheckVisaWithVisaIdReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.FetchVisaAllConfirmReq;
|
import cn.axzo.nanopart.visa.api.request.FetchVisaAllConfirmReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.GetBillIfRelatedReq;
|
import cn.axzo.nanopart.visa.api.request.GetBillIfRelatedReq;
|
||||||
|
import cn.axzo.nanopart.visa.api.request.UpdateVisaChangeReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveCreateReq;
|
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveCreateReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveOnlyReq;
|
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveOnlyReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.VisaChangeDiscussCreateReq;
|
import cn.axzo.nanopart.visa.api.request.VisaChangeDiscussCreateReq;
|
||||||
@ -181,4 +182,10 @@ public class ChangeRecordController implements ChangeRecordApi {
|
|||||||
return ApiResult.ok(changeRecordBillService.getBillIfRelated(req));
|
return ApiResult.ok(changeRecordBillService.getBillIfRelated(req));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResult<Void> update(UpdateVisaChangeReq req) {
|
||||||
|
changeRecordService.update(req);
|
||||||
|
return ApiResult.ok();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,8 @@ package cn.axzo.nanopart.visa.server.domain;
|
|||||||
import cn.axzo.nanopart.visa.api.enums.VisaStampStatusEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaStampStatusEnum;
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum;
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
|
||||||
|
import cn.axzo.nanopart.visa.api.request.UpdateVisaChangeReq;
|
||||||
|
import cn.axzo.nanopart.visa.server.config.BizResultCode;
|
||||||
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
@ -10,6 +12,8 @@ import com.baomidou.mybatisplus.annotation.FieldStrategy;
|
|||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
|
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
|
||||||
|
import com.google.common.collect.HashBasedTable;
|
||||||
|
import com.google.common.collect.Table;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -19,6 +23,7 @@ import lombok.experimental.Accessors;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author xudawei
|
* @author xudawei
|
||||||
@ -162,4 +167,13 @@ public class ChangeRecord extends BaseEntity<ChangeRecord> {
|
|||||||
@TableField(value = "update_by")
|
@TableField(value = "update_by")
|
||||||
private Long updateBy;
|
private Long updateBy;
|
||||||
|
|
||||||
|
private static final Table<VisaStampStatusEnum, UpdateVisaChangeReq.VisaStampAction, VisaStampStatusEnum> VISA_STAMP_STATUS_ACTION = HashBasedTable.create();
|
||||||
|
|
||||||
|
static {
|
||||||
|
VISA_STAMP_STATUS_ACTION.put(VisaStampStatusEnum.WITH_PRINT, UpdateVisaChangeReq.VisaStampAction.COMPLETE, VisaStampStatusEnum.USED_PRINTS);
|
||||||
|
}
|
||||||
|
|
||||||
|
public VisaStampStatusEnum nextStampStatus(UpdateVisaChangeReq.VisaStampAction action) {
|
||||||
|
return Optional.ofNullable(VISA_STAMP_STATUS_ACTION.get(this.getStampStatus(), action)).orElseThrow(BizResultCode.VISA_STAMP_STATUS_ERROR::toException);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum;
|
|||||||
import cn.axzo.nanopart.visa.api.request.ChangeRecordButtonOperationReq;
|
import cn.axzo.nanopart.visa.api.request.ChangeRecordButtonOperationReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.ChangeStatusRequest;
|
import cn.axzo.nanopart.visa.api.request.ChangeStatusRequest;
|
||||||
import cn.axzo.nanopart.visa.api.request.CheckVisaWithVisaIdReq;
|
import cn.axzo.nanopart.visa.api.request.CheckVisaWithVisaIdReq;
|
||||||
|
import cn.axzo.nanopart.visa.api.request.UpdateVisaChangeReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveCreateReq;
|
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveCreateReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveOnlyReq;
|
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveOnlyReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.VisaChangeDiscussCreateReq;
|
import cn.axzo.nanopart.visa.api.request.VisaChangeDiscussCreateReq;
|
||||||
@ -145,4 +146,5 @@ public interface ChangeRecordService extends IService<ChangeRecord> {
|
|||||||
*/
|
*/
|
||||||
PageData<VisaSearchResp> list(VisaSearchReq req);
|
PageData<VisaSearchResp> list(VisaSearchReq req);
|
||||||
|
|
||||||
|
void update(UpdateVisaChangeReq req);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,6 +16,7 @@ import cn.axzo.basics.report.api.req.ReportFileReq;
|
|||||||
import cn.axzo.basics.report.api.sheet.SheetWrapper;
|
import cn.axzo.basics.report.api.sheet.SheetWrapper;
|
||||||
import cn.axzo.digital.req.ListRectifyOrderReq;
|
import cn.axzo.digital.req.ListRectifyOrderReq;
|
||||||
import cn.axzo.digital.resp.RectifyOrderResp;
|
import cn.axzo.digital.resp.RectifyOrderResp;
|
||||||
|
import cn.axzo.foundation.exception.Axssert;
|
||||||
import cn.axzo.foundation.page.PageResp;
|
import cn.axzo.foundation.page.PageResp;
|
||||||
import cn.axzo.framework.domain.ServiceException;
|
import cn.axzo.framework.domain.ServiceException;
|
||||||
import cn.axzo.framework.domain.web.result.PageData;
|
import cn.axzo.framework.domain.web.result.PageData;
|
||||||
@ -40,6 +41,7 @@ import cn.axzo.nanopart.visa.api.enums.VisaConfirmBizTypeEnum;
|
|||||||
import cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum;
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaRelationFieldEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaRelationFieldEnum;
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaRelationVarTypeEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaRelationVarTypeEnum;
|
||||||
|
import cn.axzo.nanopart.visa.api.enums.VisaStampStatusEnum;
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum;
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
|
||||||
import cn.axzo.nanopart.visa.api.request.ChangeRecordButtonOperationReq;
|
import cn.axzo.nanopart.visa.api.request.ChangeRecordButtonOperationReq;
|
||||||
@ -47,6 +49,7 @@ import cn.axzo.nanopart.visa.api.request.ChangeStatusRequest;
|
|||||||
import cn.axzo.nanopart.visa.api.request.CheckVisaWithVisaIdReq;
|
import cn.axzo.nanopart.visa.api.request.CheckVisaWithVisaIdReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.GetBillIfRelatedReq;
|
import cn.axzo.nanopart.visa.api.request.GetBillIfRelatedReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.ImGroupOperationClearReq;
|
import cn.axzo.nanopart.visa.api.request.ImGroupOperationClearReq;
|
||||||
|
import cn.axzo.nanopart.visa.api.request.UpdateVisaChangeReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveCreateReq;
|
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveCreateReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveOnlyReq;
|
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveOnlyReq;
|
||||||
import cn.axzo.nanopart.visa.api.request.VisaChangeDiscussCreateReq;
|
import cn.axzo.nanopart.visa.api.request.VisaChangeDiscussCreateReq;
|
||||||
@ -162,6 +165,7 @@ import static cn.axzo.nanopart.visa.api.constant.VisaConstant.MSG_CENTER_APP_COD
|
|||||||
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_PENDING_INITIATOR_NAME;
|
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_PENDING_INITIATOR_NAME;
|
||||||
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_PENDING_TOPIC;
|
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_PENDING_TOPIC;
|
||||||
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_VAR_VISA_TYPE_KEY;
|
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_VAR_VISA_TYPE_KEY;
|
||||||
|
import static cn.axzo.nanopart.visa.server.config.BizResultCode.CHANGE_RECORD_NOT_FOUND;
|
||||||
import static cn.axzo.nanopart.visa.server.utils.Constants.DATE_FORMAT;
|
import static cn.axzo.nanopart.visa.server.utils.Constants.DATE_FORMAT;
|
||||||
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.PROCESSING;
|
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.PROCESSING;
|
||||||
|
|
||||||
@ -1855,7 +1859,6 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
|||||||
// this.validVisaChangeForm(this.buildVisaChangeApproveCreateReqByVisaId(req.getVisaId()));
|
// this.validVisaChangeForm(this.buildVisaChangeApproveCreateReqByVisaId(req.getVisaId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询变更签证集合
|
* 查询变更签证集合
|
||||||
*/
|
*/
|
||||||
@ -1921,4 +1924,28 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
|||||||
return visaIds;
|
return visaIds;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void update(UpdateVisaChangeReq req) {
|
||||||
|
ChangeRecord oldValue = this.getById(req.getVisaId());
|
||||||
|
Axssert.checkNonNull(oldValue, CHANGE_RECORD_NOT_FOUND);
|
||||||
|
|
||||||
|
ChangeRecord update = toUpdate(req, oldValue);
|
||||||
|
|
||||||
|
this.updateById(update);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ChangeRecord toUpdate(UpdateVisaChangeReq req, ChangeRecord oldValue) {
|
||||||
|
|
||||||
|
ChangeRecord result = ChangeRecord.builder()
|
||||||
|
.updateBy(req.getOperatorId())
|
||||||
|
.build();
|
||||||
|
result.setId(req.getVisaId());
|
||||||
|
|
||||||
|
if (Objects.nonNull(req.getVisaStampAction())) {
|
||||||
|
result.setStampStatus(oldValue.nextStampStatus(req.getVisaStampAction()));
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user