模版编制相关实现
This commit is contained in:
@@ -199,4 +199,11 @@ public class TemplateInstanceController extends AbstractFileUploadController {
|
||||
public CommonResult<List<TemplateInstanceRespVO>> listByTemplateCode(@RequestParam("cdg") @Valid @NotEmpty(message = "模版编号不能为空") String templateCode) {
|
||||
return success(templateInstanceService.listByCdg(templateCode));
|
||||
}
|
||||
|
||||
//通过实例id获取字段和条款详情
|
||||
@GetMapping("/field-and-clause-detail")
|
||||
@Operation(summary = "通过实例id获取字段和条款详情")
|
||||
public CommonResult<FieldAndClauseRespVO> getFieldAndClauseDetail(@Valid @NotEmpty(message = "模版实例id不能为空") @RequestParam("id") String id) {
|
||||
return success(templateInstanceService.getFieldAndClauseDetail(id));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,6 +115,4 @@ public class TemplateInstanceDataController implements BusinessControllerMarker
|
||||
ExcelUtils.write(response, "实例字段值.xls", "数据", TemplateInstanceDataRespVO.class,
|
||||
BeanUtils.toBean(list, TemplateInstanceDataRespVO.class));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.zt.plat.module.base.controller.admin.templtp.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 合同动态表单 响应 VO")
|
||||
@Data
|
||||
public class FieldAndClauseRespVO {
|
||||
@Schema(description = "模板分类")
|
||||
List<TmplFldRespVO> tmplFldRespVOS;
|
||||
@Schema(description = "条款")
|
||||
List<TmplItmRespVO> tmplItmRespVOS;
|
||||
|
||||
}
|
||||
@@ -85,4 +85,6 @@ public interface TemplateInstanceService {
|
||||
// Map<String, Object> saveFile(MultipartFile file, String id);
|
||||
|
||||
void updateTemplateInstanceFileUrlByInstanceId(@Valid @NotEmpty(message = "模版实例id不能为空") String id, @Valid @NotEmpty(message = "文件参数不能为空") String params);
|
||||
|
||||
FieldAndClauseRespVO getFieldAndClauseDetail(@Valid @NotEmpty(message = "模版实例id不能为空") String id);
|
||||
}
|
||||
|
||||
@@ -55,7 +55,10 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
|
||||
private TemplateInstanceDataMapper templateInstanceDataMapper;
|
||||
@Resource
|
||||
private TemplateInstanceItemMapper templateInstanceItemMapper;
|
||||
|
||||
@Resource
|
||||
private TmplItmService tmplItmService;
|
||||
@Resource
|
||||
private TmplTpFldService tmplTpFldService;
|
||||
@Resource
|
||||
private TmplTpService tmplTpService;
|
||||
|
||||
@@ -444,4 +447,27 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
|
||||
log.info("==================模板实例编号生成成功,模板实例编号为【{}】==================", cdg);
|
||||
return cdg;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FieldAndClauseRespVO getFieldAndClauseDetail(String id) {
|
||||
FieldAndClauseRespVO fieldAndClauseRespVO = new FieldAndClauseRespVO();
|
||||
//查询关联的实例模版字段
|
||||
List<String> valKeys = templateInstanceDataMapper.selectList(new LambdaQueryWrapper<TemplateInstanceDataDO>().eq(TemplateInstanceDataDO::getInscId, id)).stream().map(TemplateInstanceDataDO::getFldKy).distinct().toList();
|
||||
//查询关联的实例模版条款
|
||||
List<String> itmIds = templateInstanceItemMapper.selectList(new LambdaQueryWrapper<TemplateInstanceItemDO>().eq(TemplateInstanceItemDO::getInscId, id)).stream().map(TemplateInstanceItemDO::getItmId).toList();
|
||||
|
||||
// 例模版条款去条款库查询条款信息
|
||||
if (!itmIds.isEmpty()){
|
||||
List<TmplItmRespVO> tmplItmRespVOS = BeanUtils.toBean(tmplItmService.listTmplItmByIds(itmIds), TmplItmRespVO.class);
|
||||
fieldAndClauseRespVO.setTmplItmRespVOS(BeanUtils.toBean(tmplItmRespVOS, TmplItmRespVO.class));
|
||||
}
|
||||
if (!valKeys.isEmpty()){
|
||||
//例模版字段去字段库查询字段信息
|
||||
List<TmplTpFldDO> tmplTpListByValKeys = tmplTpFldService.getTmplTpListByValKeys(valKeys);
|
||||
fieldAndClauseRespVO.setTmplFldRespVOS(BeanUtils.toBean(tmplTpListByValKeys, TmplFldRespVO.class));
|
||||
}
|
||||
|
||||
return fieldAndClauseRespVO;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -7,6 +7,8 @@ import com.zt.plat.module.base.controller.admin.templtp.vo.TmplItmRespVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplItmSaveReqVO;
|
||||
import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplItmDO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -17,4 +19,5 @@ public interface TmplItmService extends IService<TmplItmDO> {
|
||||
boolean deleteTmplItm(List<Long> ids);
|
||||
|
||||
PageResult<TmplItmDO> pageTmplItm(TmpItmPageReqVO pageReqVO);
|
||||
List<TmplItmDO> listTmplItmByIds(@Valid @NotEmpty(message = "ids不能为空") List<String> ids);
|
||||
}
|
||||
|
||||
@@ -71,4 +71,9 @@ public class TmplItmServiceImpl extends ServiceImpl<TmplItmMapper, TmplItmDO> im
|
||||
public PageResult<TmplItmDO> pageTmplItm(TmpItmPageReqVO pageReqVO) {
|
||||
return baseMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TmplItmDO> listTmplItmByIds(List<String> ids) {
|
||||
return baseMapper.selectByIds(ids);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,4 +19,7 @@ public interface TmplTpFldService extends IService<TmplTpFldDO> {
|
||||
void deleteTmplTpByIds(List< Long> ids);
|
||||
List<Map<String, Object>>getTmplTpListByClass(String clazz);
|
||||
|
||||
List<TmplTpFldDO> getTmplTpListByValKeys(List< String> valNames);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.zt.plat.module.base.service.tmpltp;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zt.plat.framework.common.pojo.PageResult;
|
||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||
import com.zt.plat.framework.security.core.LoginUser;
|
||||
@@ -90,4 +91,9 @@ public class TmplTpFldServiceImpl extends ServiceImpl<TmplTpFldMapper, TmplTpFld
|
||||
log.info("获取模板字段列表,模板字段类:【{}】", clazz);
|
||||
return ClassInfoScanner.getClassFieldInfo(clazz);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TmplTpFldDO> getTmplTpListByValKeys(List<String> valNames) {
|
||||
return baseMapper.selectList(new LambdaQueryWrapper<TmplTpFldDO>().in(TmplTpFldDO::getFldKy, valNames));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user