Merge branch 'refs/heads/dev' into test
This commit is contained in:
@@ -7,7 +7,8 @@ public enum DeleteStatusEnum {
|
|||||||
|
|
||||||
STATUS_DRF(TmplStsEnum.DRAFT.getCode(), new HashSet<>() {{add(TmplStsEnum.DRAFT.getCode());}}),
|
STATUS_DRF(TmplStsEnum.DRAFT.getCode(), new HashSet<>() {{add(TmplStsEnum.DRAFT.getCode());}}),
|
||||||
STATUS_PUB(TmplStsEnum.PUBLISHED.getCode(), new HashSet<>()),
|
STATUS_PUB(TmplStsEnum.PUBLISHED.getCode(), new HashSet<>()),
|
||||||
STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>(){{add(TmplStsEnum.STOPPED.getCode());}});
|
STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>(){{add(TmplStsEnum.STOPPED.getCode());}}),
|
||||||
|
STATUS_START(TmplStsEnum.START.getCode(), new HashSet<>());
|
||||||
|
|
||||||
|
|
||||||
private final String code;
|
private final String code;
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ public enum PublishStatusEnum {
|
|||||||
|
|
||||||
STATUS_DRF(TmplStsEnum.DRAFT.getCode(), new HashSet<>() {{add(TmplStsEnum.DRAFT.getCode());}}),
|
STATUS_DRF(TmplStsEnum.DRAFT.getCode(), new HashSet<>() {{add(TmplStsEnum.DRAFT.getCode());}}),
|
||||||
STATUS_PUB(TmplStsEnum.PUBLISHED.getCode(), new HashSet<>()),
|
STATUS_PUB(TmplStsEnum.PUBLISHED.getCode(), new HashSet<>()),
|
||||||
STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>() );
|
STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>() ),
|
||||||
|
STATUS_START(TmplStsEnum.START.getCode(), new HashSet<>() {{add(TmplStsEnum.START.getCode());}});
|
||||||
|
|
||||||
|
|
||||||
private final String code;
|
private final String code;
|
||||||
|
|||||||
@@ -9,7 +9,8 @@ public enum TmplStsEnum {
|
|||||||
// 已发布状态
|
// 已发布状态
|
||||||
PUBLISHED("PUB", "已发布"),
|
PUBLISHED("PUB", "已发布"),
|
||||||
// 已停用状态
|
// 已停用状态
|
||||||
STOPPED("STOP", "已停用");
|
STOPPED("STOP", "已停用"),
|
||||||
|
START("START", "已启用");
|
||||||
|
|
||||||
// 获取状态编码
|
// 获取状态编码
|
||||||
private final String code;
|
private final String code;
|
||||||
|
|||||||
@@ -10,10 +10,11 @@ public enum UpdateStatusEnum {
|
|||||||
add(TmplStsEnum.STOPPED.getCode());
|
add(TmplStsEnum.STOPPED.getCode());
|
||||||
}}),
|
}}),
|
||||||
STATUS_PUB(TmplStsEnum.PUBLISHED.getCode(), new HashSet<>()),
|
STATUS_PUB(TmplStsEnum.PUBLISHED.getCode(), new HashSet<>()),
|
||||||
STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>(){{
|
STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>() {{
|
||||||
add(TmplStsEnum.DRAFT.getCode());
|
add(TmplStsEnum.DRAFT.getCode());
|
||||||
add(TmplStsEnum.STOPPED.getCode());
|
add(TmplStsEnum.STOPPED.getCode());
|
||||||
}});
|
}}),
|
||||||
|
STATUS_START(TmplStsEnum.START.getCode(), new HashSet<>());
|
||||||
|
|
||||||
|
|
||||||
private final String code;
|
private final String code;
|
||||||
|
|||||||
@@ -75,4 +75,9 @@ public class TemplateInstanceRespVO {
|
|||||||
@ExcelProperty("模版分类名称")
|
@ExcelProperty("模版分类名称")
|
||||||
private String tpName;
|
private String tpName;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
@ExcelProperty("创建人")
|
||||||
|
private String creator;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -224,6 +224,9 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
|
|||||||
boolean transitionAllowed = false;
|
boolean transitionAllowed = false;
|
||||||
if (status != null) {
|
if (status != null) {
|
||||||
transitionAllowed = status.isTransitionAllowed(TmplStsEnum.DRAFT.getCode());
|
transitionAllowed = status.isTransitionAllowed(TmplStsEnum.DRAFT.getCode());
|
||||||
|
if (!transitionAllowed){
|
||||||
|
transitionAllowed = status.isTransitionAllowed(TmplStsEnum.START.getCode());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!transitionAllowed) {
|
if (!transitionAllowed) {
|
||||||
throw exception(STATUS_OPERATION_FAIL);
|
throw exception(STATUS_OPERATION_FAIL);
|
||||||
@@ -253,7 +256,7 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
|
|||||||
code = TmplStsEnum.STOPPED.getCode();
|
code = TmplStsEnum.STOPPED.getCode();
|
||||||
} else if (reqVO.getType().equals("enable")) {
|
} else if (reqVO.getType().equals("enable")) {
|
||||||
// 启用
|
// 启用
|
||||||
code = TmplStsEnum.PUBLISHED.getCode();
|
code = TmplStsEnum.START.getCode();
|
||||||
}
|
}
|
||||||
if (code.isEmpty()) {
|
if (code.isEmpty()) {
|
||||||
throw exception(ILLEGAL_OPERATION_TYPE);
|
throw exception(ILLEGAL_OPERATION_TYPE);
|
||||||
@@ -269,8 +272,14 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
|
|||||||
public TemplateInstanceRespVO createVersion(String id) {
|
public TemplateInstanceRespVO createVersion(String id) {
|
||||||
validateTemplateInstanceExists(Long.valueOf(id));
|
validateTemplateInstanceExists(Long.valueOf(id));
|
||||||
TemplateInstanceDO templateInstanceDO = templateInstanceMapper.selectById(id);
|
TemplateInstanceDO templateInstanceDO = templateInstanceMapper.selectById(id);
|
||||||
|
//如果当前状态不是草稿或者是已启用则不能创建新版本
|
||||||
|
log.info("当前状态【{}】", templateInstanceDO.getSts());
|
||||||
|
if (!TmplStsEnum.DRAFT.getCode().equals(templateInstanceDO.getSts()) && !TmplStsEnum.START.getCode().equals(templateInstanceDO.getSts())) {
|
||||||
|
throw exception(STATUS_OPERATION_FAIL);
|
||||||
|
}
|
||||||
TemplateInstanceDO newTpInstanceDO = BeanUtils.toBean(templateInstanceDO, TemplateInstanceDO.class);
|
TemplateInstanceDO newTpInstanceDO = BeanUtils.toBean(templateInstanceDO, TemplateInstanceDO.class);
|
||||||
newTpInstanceDO.setId(null);
|
newTpInstanceDO.setId(null);
|
||||||
|
newTpInstanceDO.setTenantId(templateInstanceDO.getTenantId());
|
||||||
newTpInstanceDO.setVer(incrementVersion(templateInstanceDO.getVer()));
|
newTpInstanceDO.setVer(incrementVersion(templateInstanceDO.getVer()));
|
||||||
newTpInstanceDO.setPublishTime(LocalDateTime.now());
|
newTpInstanceDO.setPublishTime(LocalDateTime.now());
|
||||||
newTpInstanceDO.setOrigCntt(templateInstanceDO.getCntt()!=null?templateInstanceDO.getCntt():templateInstanceDO.getOrigCntt());//模板实例内容,默认为上一个版本的当前文件内容
|
newTpInstanceDO.setOrigCntt(templateInstanceDO.getCntt()!=null?templateInstanceDO.getCntt():templateInstanceDO.getOrigCntt());//模板实例内容,默认为上一个版本的当前文件内容
|
||||||
|
|||||||
@@ -19,4 +19,5 @@ public interface ErrorCodeConstants {
|
|||||||
ErrorCode CONTRACT_ID_NOT_EXISTS = new ErrorCode(1_027_000_004, "合同主键为空");
|
ErrorCode CONTRACT_ID_NOT_EXISTS = new ErrorCode(1_027_000_004, "合同主键为空");
|
||||||
ErrorCode CONTRACT_STATUS_NOT_UPDATE = new ErrorCode(1_027_000_005, "{}合同不允许修改");
|
ErrorCode CONTRACT_STATUS_NOT_UPDATE = new ErrorCode(1_027_000_005, "{}合同不允许修改");
|
||||||
ErrorCode CONTRACT_DATA_NOT_EXISTS = new ErrorCode(1_027_000_006, "{}不存在");
|
ErrorCode CONTRACT_DATA_NOT_EXISTS = new ErrorCode(1_027_000_006, "{}不存在");
|
||||||
|
ErrorCode CONTRACT_STATUS_NOT_SUBMIT_APPROVAL = new ErrorCode(1_027_000_005, "{}合同不允许提交审核");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.zt.plat.module.contractorder.controller.admin.contract;
|
package com.zt.plat.module.contractorder.controller.admin.contract;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONObject;
|
||||||
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
|
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
|
||||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||||
import com.zt.plat.framework.common.pojo.PageResult;
|
import com.zt.plat.framework.common.pojo.PageResult;
|
||||||
@@ -43,9 +44,9 @@ public class ContractController implements BusinessControllerMarker {
|
|||||||
@PostMapping("/create")
|
@PostMapping("/create")
|
||||||
@Operation(summary = "新增合同")
|
@Operation(summary = "新增合同")
|
||||||
@PreAuthorize("@ss.hasPermission('system:contract:create')")
|
@PreAuthorize("@ss.hasPermission('system:contract:create')")
|
||||||
public CommonResult<Long> create(@Valid @RequestBody ContractSaveReqVO reqVO) {
|
public CommonResult<JSONObject> create(@Valid @RequestBody ContractSaveReqVO reqVO) {
|
||||||
Long id = contractService.createContract(reqVO);
|
Long id = contractService.createContract(reqVO);
|
||||||
return success(id);
|
return success(new JSONObject().putOnce("id", id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/get")
|
@GetMapping("/get")
|
||||||
@@ -101,7 +102,6 @@ public class ContractController implements BusinessControllerMarker {
|
|||||||
public void archive() {
|
public void archive() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO
|
|
||||||
@GetMapping("/submit/approval")
|
@GetMapping("/submit/approval")
|
||||||
@Operation(summary = "合同提交审批")
|
@Operation(summary = "合同提交审批")
|
||||||
@PreAuthorize("@ss.hasPermission('system:contract:approval')")
|
@PreAuthorize("@ss.hasPermission('system:contract:approval')")
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ public class ContractPageReqVO extends PageParam {
|
|||||||
@Schema(description = "合同编号;与ERP(HTBH)对应,校验唯一")
|
@Schema(description = "合同编号;与ERP(HTBH)对应,校验唯一")
|
||||||
private String contractPaperNumber;
|
private String contractPaperNumber;
|
||||||
|
|
||||||
|
@Schema(description = "状态", example = "DRAFT")
|
||||||
|
private String status;
|
||||||
|
|
||||||
@Schema(description = "甲方公司名称", example = "王五")
|
@Schema(description = "甲方公司名称", example = "王五")
|
||||||
private String purchaseCompanyName;
|
private String purchaseCompanyName;
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user