模版编制相关实现
This commit is contained in:
@@ -7,7 +7,7 @@ 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<>());
|
STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>(){{add(TmplStsEnum.STOPPED.getCode());}});
|
||||||
|
|
||||||
|
|
||||||
private final String code;
|
private final String code;
|
||||||
|
|||||||
@@ -59,11 +59,11 @@ public class TemplateInstanceController extends AbstractFileUploadController {
|
|||||||
private TemplateInstanceService templateInstanceService;
|
private TemplateInstanceService templateInstanceService;
|
||||||
|
|
||||||
//上传文件
|
//上传文件
|
||||||
@PostMapping("/save-file")
|
// @PostMapping("/save-file")
|
||||||
@Operation(summary = "上传文件", description = "上传文件,传入文件对象和模版实例id")
|
// @Operation(summary = "上传文件", description = "上传文件,传入文件对象和模版实例id")
|
||||||
public CommonResult<Map<String, Object>> uploadFile(@NotEmpty(message = "文件不能为空") @RequestParam("file") MultipartFile file,@RequestParam("id") String id) {
|
// public CommonResult<Map<String, Object>> uploadFile(@NotEmpty(message = "文件不能为空") @RequestParam("file") MultipartFile file,@RequestParam("id") String id) {
|
||||||
return success(templateInstanceService.saveFile(file,id));
|
// return success(templateInstanceService.saveFile(file,id));
|
||||||
}
|
// }
|
||||||
|
|
||||||
@PostMapping("/create")
|
@PostMapping("/create")
|
||||||
@Operation(summary = "创建模板实例")
|
@Operation(summary = "创建模板实例")
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
package com.zt.plat.module.base.controller.admin.templtp.onlyoffice.service;
|
package com.zt.plat.module.base.controller.admin.templtp.onlyoffice.service;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||||
import com.zt.plat.module.base.controller.admin.templtp.onlyoffice.pojo.Action;
|
import com.zt.plat.module.base.controller.admin.templtp.onlyoffice.pojo.Action;
|
||||||
import com.zt.plat.module.base.controller.admin.templtp.onlyoffice.pojo.History;
|
import com.zt.plat.module.base.controller.admin.templtp.onlyoffice.pojo.History;
|
||||||
import com.zt.plat.module.base.controller.admin.templtp.onlyoffice.pojo.OnlyOfficeCallback;
|
import com.zt.plat.module.base.controller.admin.templtp.onlyoffice.pojo.OnlyOfficeCallback;
|
||||||
|
import com.zt.plat.module.base.service.tmpltp.TemplateInstanceService;
|
||||||
import com.zt.plat.module.infra.api.file.FileApi;
|
import com.zt.plat.module.infra.api.file.FileApi;
|
||||||
import com.zt.plat.module.infra.api.file.dto.FileCreateReqDTO;
|
import com.zt.plat.module.infra.api.file.dto.FileCreateReqDTO;
|
||||||
|
import com.zt.plat.module.infra.api.file.dto.FileRespDTO;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
@@ -13,6 +16,8 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import static com.zt.plat.module.base.controller.admin.templtp.onlyoffice.util.UrlFileDownloader.downloadFileAsMultipart;
|
import static com.zt.plat.module.base.controller.admin.templtp.onlyoffice.util.UrlFileDownloader.downloadFileAsMultipart;
|
||||||
|
|
||||||
@@ -23,6 +28,7 @@ import static com.zt.plat.module.base.controller.admin.templtp.onlyoffice.util.U
|
|||||||
public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService {
|
public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService {
|
||||||
|
|
||||||
private final FileApi fileApi;
|
private final FileApi fileApi;
|
||||||
|
private final TemplateInstanceService templateInstanceService;
|
||||||
@Override
|
@Override
|
||||||
public void processCallback(OnlyOfficeCallback callback,String id) {
|
public void processCallback(OnlyOfficeCallback callback,String id) {
|
||||||
log.info("Received OnlyOffice callback for document: {}", callback.getKey());
|
log.info("Received OnlyOffice callback for document: {}", callback.getKey());
|
||||||
@@ -151,7 +157,21 @@ public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService
|
|||||||
fileCreateReqDTO.setDirectory(directory); // 设置文件存储目录
|
fileCreateReqDTO.setDirectory(directory); // 设置文件存储目录
|
||||||
|
|
||||||
// 7. 调用文件服务创建文件
|
// 7. 调用文件服务创建文件
|
||||||
CommonResult<String> result = fileApi.createFile(fileCreateReqDTO);
|
CommonResult<FileRespDTO> result = fileApi.createFileWithReturn(fileCreateReqDTO);
|
||||||
|
if (result.isSuccess()) {
|
||||||
|
// 创建文件成功,处理结果
|
||||||
|
log.info("文件创建成功,文件ID:{}", result.getData());
|
||||||
|
// 创建文件成功,处理结果
|
||||||
|
FileRespDTO fileRespDTO = result.getData();
|
||||||
|
Map<String, Object> fileInfo = new HashMap<>();
|
||||||
|
fileInfo.put("id", fileRespDTO.getId());
|
||||||
|
fileInfo.put("name", fileRespDTO.getName());
|
||||||
|
fileInfo.put("directory", fileRespDTO.getDirectory());
|
||||||
|
templateInstanceService.updateTemplateInstanceFileUrlByInstanceId(id, JSONObject.toJSONString(fileInfo));
|
||||||
|
} else {
|
||||||
|
// 创建文件失败,处理错误
|
||||||
|
log.error("文件创建失败,错误信息:{}", result.getMsg());
|
||||||
|
}
|
||||||
log.info("文件创建结果:{}", result);
|
log.info("文件创建结果:{}", result);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import java.util.List;
|
|||||||
@Schema(description = "管理后台 - 实例启用与禁用 Request VO")
|
@Schema(description = "管理后台 - 实例启用与禁用 Request VO")
|
||||||
@Data
|
@Data
|
||||||
public class DisableEnableReqVO {
|
public class DisableEnableReqVO {
|
||||||
@Schema(description = "实例主键(id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@Schema(description = "实例主键(id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "['1','2']")
|
||||||
@NotEmpty(message = "实例主键不能为空")
|
@NotEmpty(message = "实例主键不能为空")
|
||||||
private List<String> ids;
|
private List<String> ids;
|
||||||
@Schema(description = "操作类型;操作类型type,type的值启用为enable,禁用为disable", requiredMode = Schema.RequiredMode.REQUIRED, example = "enable")
|
@Schema(description = "操作类型;操作类型type,type的值启用为enable,禁用为disable", requiredMode = Schema.RequiredMode.REQUIRED, example = "enable")
|
||||||
|
|||||||
@@ -83,6 +83,8 @@ public interface TemplateInstanceService {
|
|||||||
Map<String, Object> getVersion(String id);
|
Map<String, Object> getVersion(String id);
|
||||||
|
|
||||||
List<TemplateInstanceRespVO> listByCdg(String cdg);
|
List<TemplateInstanceRespVO> listByCdg(String cdg);
|
||||||
|
//
|
||||||
|
// Map<String, Object> saveFile(MultipartFile file, String id);
|
||||||
|
|
||||||
Map<String, Object> saveFile(MultipartFile file, String id);
|
boolean updateTemplateInstanceFileUrlByInstanceId(@Valid @NotEmpty(message = "模版实例id不能为空") String id, @Valid @NotEmpty(message = "文件参数不能为空") String params);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
|
|||||||
// 更新
|
// 更新
|
||||||
TemplateInstanceDO templateInstanceDO = templateInstanceMapper.selectById(updateReqVO.getId());
|
TemplateInstanceDO templateInstanceDO = templateInstanceMapper.selectById(updateReqVO.getId());
|
||||||
TemplateInstanceDO updateObj = BeanUtils.toBean(updateReqVO, TemplateInstanceDO.class);
|
TemplateInstanceDO updateObj = BeanUtils.toBean(updateReqVO, TemplateInstanceDO.class);
|
||||||
// updateObj.setVer(incrementVersion(templateInstanceDO.getVer()));
|
// updateObj.setVer(incrementVersion(templateInstanceDO.getVer()));
|
||||||
templateInstanceMapper.updateById(updateObj);
|
templateInstanceMapper.updateById(updateObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,7 +148,7 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// private String incrementVersion(String currentVersion) {
|
// private String incrementVersion(String currentVersion) {
|
||||||
// // 处理空值或空字符串
|
// // 处理空值或空字符串
|
||||||
// if (currentVersion == null || currentVersion.trim().isEmpty()) {
|
// if (currentVersion == null || currentVersion.trim().isEmpty()) {
|
||||||
// return "v1.0";
|
// return "v1.0";
|
||||||
@@ -205,40 +205,40 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
|
|||||||
// String newNumberPart = String.join(".", segments);
|
// String newNumberPart = String.join(".", segments);
|
||||||
// return prefix + newNumberPart + suffix;
|
// return prefix + newNumberPart + suffix;
|
||||||
// }
|
// }
|
||||||
private String incrementVersion(String currentVersion) {
|
private String incrementVersion(String currentVersion) {
|
||||||
// 处理空值或空字符串
|
// 处理空值或空字符串
|
||||||
if (currentVersion == null || currentVersion.trim().isEmpty()) {
|
if (currentVersion == null || currentVersion.trim().isEmpty()) {
|
||||||
return "v1";
|
return "v1";
|
||||||
|
}
|
||||||
|
|
||||||
|
String version = currentVersion.trim();
|
||||||
|
// 正则模式:前缀(可选) + 数字部分 + 后缀(可选)
|
||||||
|
// 数字部分匹配一个或多个数字
|
||||||
|
Pattern VERSION_PATTERN = Pattern.compile("^([^0-9]*?)(\\d+)(.*)$");
|
||||||
|
Matcher matcher = VERSION_PATTERN.matcher(version);
|
||||||
|
|
||||||
|
if (!matcher.matches()) {
|
||||||
|
// 没有找到数字部分,返回默认版本
|
||||||
|
return version + "1";
|
||||||
|
}
|
||||||
|
|
||||||
|
String prefix = matcher.group(1); // 前缀部分(如 "v", "version-" 等)
|
||||||
|
String numberPart = matcher.group(2); // 数字部分(如 "1", "123")
|
||||||
|
String suffix = matcher.group(3); // 后缀部分
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 将数字部分解析为整数并加1
|
||||||
|
int number = Integer.parseInt(numberPart);
|
||||||
|
number++;
|
||||||
|
|
||||||
|
// 重新组合版本号
|
||||||
|
return prefix + number + suffix;
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
// 解析数字格式异常时的 fallback
|
||||||
|
return prefix + "1" + suffix;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
String version = currentVersion.trim();
|
|
||||||
// 正则模式:前缀(可选) + 数字部分 + 后缀(可选)
|
|
||||||
// 数字部分匹配一个或多个数字
|
|
||||||
Pattern VERSION_PATTERN = Pattern.compile("^([^0-9]*?)(\\d+)(.*)$");
|
|
||||||
Matcher matcher = VERSION_PATTERN.matcher(version);
|
|
||||||
|
|
||||||
if (!matcher.matches()) {
|
|
||||||
// 没有找到数字部分,返回默认版本
|
|
||||||
return version + "1";
|
|
||||||
}
|
|
||||||
|
|
||||||
String prefix = matcher.group(1); // 前缀部分(如 "v", "version-" 等)
|
|
||||||
String numberPart = matcher.group(2); // 数字部分(如 "1", "123")
|
|
||||||
String suffix = matcher.group(3); // 后缀部分
|
|
||||||
|
|
||||||
try {
|
|
||||||
// 将数字部分解析为整数并加1
|
|
||||||
int number = Integer.parseInt(numberPart);
|
|
||||||
number++;
|
|
||||||
|
|
||||||
// 重新组合版本号
|
|
||||||
return prefix + number + suffix;
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
// 解析数字格式异常时的 fallback
|
|
||||||
return prefix + "1" + suffix;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getDeptByInstanId(Long instanId) {
|
public List<String> getDeptByInstanId(Long instanId) {
|
||||||
@@ -270,7 +270,7 @@ private String incrementVersion(String currentVersion) {
|
|||||||
throw exception(STATUS_OPERATION_FAIL);
|
throw exception(STATUS_OPERATION_FAIL);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
log.info("发布模版实例【{}】", publishReqVOS.stream().map(PublishTemplateInstanceReqVO::getId));
|
||||||
templateInstanceMapper.update(new LambdaUpdateWrapper<TemplateInstanceDO>()
|
templateInstanceMapper.update(new LambdaUpdateWrapper<TemplateInstanceDO>()
|
||||||
.in(TemplateInstanceDO::getId, publishReqVOS.stream()
|
.in(TemplateInstanceDO::getId, publishReqVOS.stream()
|
||||||
.map(PublishTemplateInstanceReqVO::getId)
|
.map(PublishTemplateInstanceReqVO::getId)
|
||||||
@@ -286,14 +286,18 @@ private String incrementVersion(String currentVersion) {
|
|||||||
@Override
|
@Override
|
||||||
public void setDisableOrEnable(DisableEnableReqVO reqVO) {
|
public void setDisableOrEnable(DisableEnableReqVO reqVO) {
|
||||||
validateTemplateInstanceExists(reqVO.getIds().stream().map(Long::valueOf).toList());
|
validateTemplateInstanceExists(reqVO.getIds().stream().map(Long::valueOf).toList());
|
||||||
String code;
|
String code = "";
|
||||||
if (reqVO.getType().equals("disable")) {
|
if (reqVO.getType().equals("disable")) {
|
||||||
// 禁用
|
// 禁用
|
||||||
code = TmplStsEnum.STOPPED.getCode();
|
code = TmplStsEnum.STOPPED.getCode();
|
||||||
} else {
|
} else if (reqVO.getType().equals("enable")) {
|
||||||
// 启用
|
// 启用
|
||||||
code = TmplStsEnum.PUBLISHED.getCode();
|
code = TmplStsEnum.PUBLISHED.getCode();
|
||||||
}
|
}
|
||||||
|
if (code.isEmpty()) {
|
||||||
|
throw exception(ILLEGAL_OPERATION_TYPE);
|
||||||
|
}
|
||||||
|
log.info("=============================当前操作记录为【{}】操作动作为:【{}】================================", reqVO.getIds(), reqVO.getType());
|
||||||
templateInstanceMapper.update(new LambdaUpdateWrapper<TemplateInstanceDO>()
|
templateInstanceMapper.update(new LambdaUpdateWrapper<TemplateInstanceDO>()
|
||||||
.set(TemplateInstanceDO::getSts, code)
|
.set(TemplateInstanceDO::getSts, code)
|
||||||
.in(TemplateInstanceDO::getId, reqVO.getIds()));
|
.in(TemplateInstanceDO::getId, reqVO.getIds()));
|
||||||
@@ -312,15 +316,15 @@ private String incrementVersion(String currentVersion) {
|
|||||||
newTpInstanceDO.setUpdateTime(null);
|
newTpInstanceDO.setUpdateTime(null);
|
||||||
templateInstanceMapper.insert(newTpInstanceDO);
|
templateInstanceMapper.insert(newTpInstanceDO);
|
||||||
templateInstanceMapper.update(new LambdaUpdateWrapper<TemplateInstanceDO>()
|
templateInstanceMapper.update(new LambdaUpdateWrapper<TemplateInstanceDO>()
|
||||||
.set(TemplateInstanceDO::getSts,TmplStsEnum.STOPPED.getCode())
|
.set(TemplateInstanceDO::getSts, TmplStsEnum.STOPPED.getCode())
|
||||||
.eq(TemplateInstanceDO::getId, id));
|
.eq(TemplateInstanceDO::getId, id));
|
||||||
List<TemplateInstanceDataDO> templateInstanceDataDOS = new ArrayList<>();
|
List<TemplateInstanceDataDO> templateInstanceDataDOS = new ArrayList<>();
|
||||||
List<TemplateInstanceItemDO> templateInstanceItemDOS =new ArrayList<>();
|
List<TemplateInstanceItemDO> templateInstanceItemDOS = new ArrayList<>();
|
||||||
List<DepartmentInstanceRelativityDO> newDepartmentInstanceRelativityDOS = new ArrayList<>();
|
List<DepartmentInstanceRelativityDO> newDepartmentInstanceRelativityDOS = new ArrayList<>();
|
||||||
//设置部门
|
//设置部门
|
||||||
List<DepartmentInstanceRelativityDO> departmentInstanceRelativityDOS = departmentInstanceRelativityMapper
|
List<DepartmentInstanceRelativityDO> departmentInstanceRelativityDOS = departmentInstanceRelativityMapper
|
||||||
.selectList(new LambdaQueryWrapper<DepartmentInstanceRelativityDO>()
|
.selectList(new LambdaQueryWrapper<DepartmentInstanceRelativityDO>()
|
||||||
.eq(DepartmentInstanceRelativityDO::getTemplateInstanceId, id));
|
.eq(DepartmentInstanceRelativityDO::getTemplateInstanceId, id));
|
||||||
departmentInstanceRelativityDOS.forEach(departmentInstanceRelativityDO -> {
|
departmentInstanceRelativityDOS.forEach(departmentInstanceRelativityDO -> {
|
||||||
DepartmentInstanceRelativityDO newDepartmentInstanceRelativityDO = new DepartmentInstanceRelativityDO();
|
DepartmentInstanceRelativityDO newDepartmentInstanceRelativityDO = new DepartmentInstanceRelativityDO();
|
||||||
newDepartmentInstanceRelativityDO.setTemplateInstanceId(String.valueOf(newTpInstanceDO.getId()));
|
newDepartmentInstanceRelativityDO.setTemplateInstanceId(String.valueOf(newTpInstanceDO.getId()));
|
||||||
@@ -330,20 +334,20 @@ private String incrementVersion(String currentVersion) {
|
|||||||
//设置条款
|
//设置条款
|
||||||
templateInstanceItemMapper.selectList(new LambdaQueryWrapper<TemplateInstanceItemDO>()
|
templateInstanceItemMapper.selectList(new LambdaQueryWrapper<TemplateInstanceItemDO>()
|
||||||
.eq(TemplateInstanceItemDO::getInscId, id)).forEach(templateInstanceItemDO -> {
|
.eq(TemplateInstanceItemDO::getInscId, id)).forEach(templateInstanceItemDO -> {
|
||||||
TemplateInstanceItemDO newTemplateInstanceItemDO = new TemplateInstanceItemDO();
|
TemplateInstanceItemDO newTemplateInstanceItemDO = new TemplateInstanceItemDO();
|
||||||
newTemplateInstanceItemDO.setInscId(String.valueOf(newTpInstanceDO.getId()));
|
newTemplateInstanceItemDO.setInscId(String.valueOf(newTpInstanceDO.getId()));
|
||||||
newTemplateInstanceItemDO.setItmId(templateInstanceItemDO.getItmId());
|
newTemplateInstanceItemDO.setItmId(templateInstanceItemDO.getItmId());
|
||||||
newTemplateInstanceItemDO.setVal(templateInstanceItemDO.getVal());
|
newTemplateInstanceItemDO.setVal(templateInstanceItemDO.getVal());
|
||||||
templateInstanceItemDOS.add(newTemplateInstanceItemDO);
|
templateInstanceItemDOS.add(newTemplateInstanceItemDO);
|
||||||
});
|
});
|
||||||
//设置实例字段
|
//设置实例字段
|
||||||
templateInstanceDataMapper.selectList(new LambdaQueryWrapper<TemplateInstanceDataDO>()
|
templateInstanceDataMapper.selectList(new LambdaQueryWrapper<TemplateInstanceDataDO>()
|
||||||
.eq(TemplateInstanceDataDO::getInscId, id)).forEach(templateInstanceDataDO -> {
|
.eq(TemplateInstanceDataDO::getInscId, id)).forEach(templateInstanceDataDO -> {
|
||||||
TemplateInstanceDataDO newTemplateInstanceDataDO = new TemplateInstanceDataDO();
|
TemplateInstanceDataDO newTemplateInstanceDataDO = new TemplateInstanceDataDO();
|
||||||
newTemplateInstanceDataDO.setInscId(String.valueOf(newTpInstanceDO.getId()));
|
newTemplateInstanceDataDO.setInscId(String.valueOf(newTpInstanceDO.getId()));
|
||||||
newTemplateInstanceDataDO.setFldKy(templateInstanceDataDO.getFldKy());
|
newTemplateInstanceDataDO.setFldKy(templateInstanceDataDO.getFldKy());
|
||||||
newTemplateInstanceDataDO.setFldVal(templateInstanceDataDO.getFldVal());
|
newTemplateInstanceDataDO.setFldVal(templateInstanceDataDO.getFldVal());
|
||||||
templateInstanceDataDOS.add(newTemplateInstanceDataDO);
|
templateInstanceDataDOS.add(newTemplateInstanceDataDO);
|
||||||
});
|
});
|
||||||
templateInstanceDataMapper.insertBatch(templateInstanceDataDOS);
|
templateInstanceDataMapper.insertBatch(templateInstanceDataDOS);
|
||||||
log.info("==================实例字段插入成功,共插入【{}】条记录==================", templateInstanceDataDOS.size());
|
log.info("==================实例字段插入成功,共插入【{}】条记录==================", templateInstanceDataDOS.size());
|
||||||
@@ -352,6 +356,7 @@ private String incrementVersion(String currentVersion) {
|
|||||||
departmentInstanceRelativityMapper.insertBatch(newDepartmentInstanceRelativityDOS);
|
departmentInstanceRelativityMapper.insertBatch(newDepartmentInstanceRelativityDOS);
|
||||||
log.info("==================部门实例关系插入成功,共插入【{}】条记录==================", newDepartmentInstanceRelativityDOS.size());
|
log.info("==================部门实例关系插入成功,共插入【{}】条记录==================", newDepartmentInstanceRelativityDOS.size());
|
||||||
TemplateInstanceRespVO templateInstanceRespVO = BeanUtils.toBean(newTpInstanceDO, TemplateInstanceRespVO.class);
|
TemplateInstanceRespVO templateInstanceRespVO = BeanUtils.toBean(newTpInstanceDO, TemplateInstanceRespVO.class);
|
||||||
|
log.info("==================模板实例插入成功==================");
|
||||||
getDetailedInfo(templateInstanceRespVO);
|
getDetailedInfo(templateInstanceRespVO);
|
||||||
return templateInstanceRespVO;
|
return templateInstanceRespVO;
|
||||||
}
|
}
|
||||||
@@ -361,7 +366,7 @@ private String incrementVersion(String currentVersion) {
|
|||||||
validateTemplateInstanceExists(Long.valueOf(id));
|
validateTemplateInstanceExists(Long.valueOf(id));
|
||||||
String ver = templateInstanceMapper.selectById(id).getVer();
|
String ver = templateInstanceMapper.selectById(id).getVer();
|
||||||
String newVer = incrementVersion(ver);
|
String newVer = incrementVersion(ver);
|
||||||
return Map.of("version",ver,"newVersion",newVer);
|
return Map.of("version", ver, "newVersion", newVer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -378,11 +383,7 @@ private String incrementVersion(String currentVersion) {
|
|||||||
return templateInstanceRespVOS;
|
return templateInstanceRespVOS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Map<String, Object> saveFile(MultipartFile file, String id) {
|
|
||||||
|
|
||||||
return Map.of();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -392,6 +393,13 @@ private String incrementVersion(String currentVersion) {
|
|||||||
templateInstanceRespVO.setTemplateInstanceDataRespVOS(setTemplateInstanceDataRespVOS(templateInstanceRespVO.getId())); // 实例字段
|
templateInstanceRespVO.setTemplateInstanceDataRespVOS(setTemplateInstanceDataRespVOS(templateInstanceRespVO.getId())); // 实例字段
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean updateTemplateInstanceFileUrlByInstanceId(String id, String params) {
|
||||||
|
validateTemplateInstanceExists(Long.valueOf(id));
|
||||||
|
LambdaUpdateWrapper<TemplateInstanceDO> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
updateWrapper.eq(TemplateInstanceDO::getId, id).set(TemplateInstanceDO::getCntt, params);
|
||||||
|
return templateInstanceMapper.update(updateWrapper)>0;
|
||||||
|
}
|
||||||
// 实例条款值
|
// 实例条款值
|
||||||
private List<TemplateInstanceItemRespVO> setInstanceItemRespVOS(Long id) {
|
private List<TemplateInstanceItemRespVO> setInstanceItemRespVOS(Long id) {
|
||||||
List<TemplateInstanceItemDO> templateInstanceItemDOS = templateInstanceItemMapper.selectList(new LambdaQueryWrapper<TemplateInstanceItemDO>()
|
List<TemplateInstanceItemDO> templateInstanceItemDOS = templateInstanceItemMapper.selectList(new LambdaQueryWrapper<TemplateInstanceItemDO>()
|
||||||
@@ -400,7 +408,7 @@ private String incrementVersion(String currentVersion) {
|
|||||||
List<TemplateInstanceItemRespVO> templateInstanceItemRespVOS = BeanUtils.toBean(templateInstanceItemDOS, TemplateInstanceItemRespVO.class);
|
List<TemplateInstanceItemRespVO> templateInstanceItemRespVOS = BeanUtils.toBean(templateInstanceItemDOS, TemplateInstanceItemRespVO.class);
|
||||||
TmplItmMapper tmplItmMapper = SpringUtil.getBean(TmplItmMapper.class);
|
TmplItmMapper tmplItmMapper = SpringUtil.getBean(TmplItmMapper.class);
|
||||||
List<String> ids = templateInstanceItemRespVOS.stream().map(TemplateInstanceItemRespVO::getItmId).toList();
|
List<String> ids = templateInstanceItemRespVOS.stream().map(TemplateInstanceItemRespVO::getItmId).toList();
|
||||||
if (ids.isEmpty()){
|
if (ids.isEmpty()) {
|
||||||
return templateInstanceItemRespVOS;
|
return templateInstanceItemRespVOS;
|
||||||
}
|
}
|
||||||
List<TmplItmDO> tmplItmDOS = tmplItmMapper.selectByIds(ids);
|
List<TmplItmDO> tmplItmDOS = tmplItmMapper.selectByIds(ids);
|
||||||
@@ -411,7 +419,7 @@ private String incrementVersion(String currentVersion) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
return templateInstanceItemRespVOS ;
|
return templateInstanceItemRespVOS;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 实例数据
|
// 实例数据
|
||||||
@@ -428,6 +436,9 @@ private String incrementVersion(String currentVersion) {
|
|||||||
boolean transitionAllowed = false;
|
boolean transitionAllowed = false;
|
||||||
if (deleteStatusEnum != null) {
|
if (deleteStatusEnum != null) {
|
||||||
transitionAllowed = deleteStatusEnum.isTransitionAllowed(TmplStsEnum.DRAFT.getCode());
|
transitionAllowed = deleteStatusEnum.isTransitionAllowed(TmplStsEnum.DRAFT.getCode());
|
||||||
|
if (!transitionAllowed) {
|
||||||
|
transitionAllowed = deleteStatusEnum.isTransitionAllowed(TmplStsEnum.STOPPED.getCode());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!transitionAllowed) {
|
if (!transitionAllowed) {
|
||||||
throw exception(STATUS_OPERATION_FAIL);
|
throw exception(STATUS_OPERATION_FAIL);
|
||||||
@@ -458,7 +469,8 @@ private String incrementVersion(String currentVersion) {
|
|||||||
throw exception(STATUS_OPERATION_FAIL);
|
throw exception(STATUS_OPERATION_FAIL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private String getCdg(){
|
|
||||||
|
private String getCdg() {
|
||||||
return "TP" + DateUtils.format(new Date(), "yyyyMMddHHmmssSSS") + RandomUtil.randomNumbers(4);
|
return "TP" + DateUtils.format(new Date(), "yyyyMMddHHmmssSSS") + RandomUtil.randomNumbers(4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user