模版编制相关实现
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) {
|
public CommonResult<List<TemplateInstanceRespVO>> listByTemplateCode(@RequestParam("cdg") @Valid @NotEmpty(message = "模版编号不能为空") String templateCode) {
|
||||||
return success(templateInstanceService.listByCdg(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,
|
ExcelUtils.write(response, "实例字段值.xls", "数据", TemplateInstanceDataRespVO.class,
|
||||||
BeanUtils.toBean(list, 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);
|
// Map<String, Object> saveFile(MultipartFile file, String id);
|
||||||
|
|
||||||
void updateTemplateInstanceFileUrlByInstanceId(@Valid @NotEmpty(message = "模版实例id不能为空") String id, @Valid @NotEmpty(message = "文件参数不能为空") String params);
|
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;
|
private TemplateInstanceDataMapper templateInstanceDataMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private TemplateInstanceItemMapper templateInstanceItemMapper;
|
private TemplateInstanceItemMapper templateInstanceItemMapper;
|
||||||
|
@Resource
|
||||||
|
private TmplItmService tmplItmService;
|
||||||
|
@Resource
|
||||||
|
private TmplTpFldService tmplTpFldService;
|
||||||
@Resource
|
@Resource
|
||||||
private TmplTpService tmplTpService;
|
private TmplTpService tmplTpService;
|
||||||
|
|
||||||
@@ -444,4 +447,27 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
|
|||||||
log.info("==================模板实例编号生成成功,模板实例编号为【{}】==================", cdg);
|
log.info("==================模板实例编号生成成功,模板实例编号为【{}】==================", cdg);
|
||||||
return 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.controller.admin.templtp.vo.TmplItmSaveReqVO;
|
||||||
import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplItmDO;
|
import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplItmDO;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import jakarta.validation.Valid;
|
||||||
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -17,4 +19,5 @@ public interface TmplItmService extends IService<TmplItmDO> {
|
|||||||
boolean deleteTmplItm(List<Long> ids);
|
boolean deleteTmplItm(List<Long> ids);
|
||||||
|
|
||||||
PageResult<TmplItmDO> pageTmplItm(TmpItmPageReqVO pageReqVO);
|
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) {
|
public PageResult<TmplItmDO> pageTmplItm(TmpItmPageReqVO pageReqVO) {
|
||||||
return baseMapper.selectPage(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);
|
void deleteTmplTpByIds(List< Long> ids);
|
||||||
List<Map<String, Object>>getTmplTpListByClass(String clazz);
|
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;
|
package com.zt.plat.module.base.service.tmpltp;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
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.pojo.PageResult;
|
||||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||||
import com.zt.plat.framework.security.core.LoginUser;
|
import com.zt.plat.framework.security.core.LoginUser;
|
||||||
@@ -90,4 +91,9 @@ public class TmplTpFldServiceImpl extends ServiceImpl<TmplTpFldMapper, TmplTpFld
|
|||||||
log.info("获取模板字段列表,模板字段类:【{}】", clazz);
|
log.info("获取模板字段列表,模板字段类:【{}】", clazz);
|
||||||
return ClassInfoScanner.getClassFieldInfo(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