feat(contract): 完善合同模版管理功能
- 移除示例模块依赖配置,优化项目结构 - 调整Admin模块控制器依赖顺序,修正模块引用错误 - 更新开发环境数据库配置,调整连接信息及资源路径 - 新增合同模版及打印模版实体、Mapper接口和Service接口 - 实现合同模版管理服务,包括列表查询、详情、创建、编辑、删除功能 - 新增合同模版控制器,提供REST接口支持前端访问 - 实现合同模版表单验证,包含唯一性和必填字段校验 - 支持合同打印模版子表数据的增删改操作 - 增加分页、排序及复杂条件查询支持,兼容PC与APP端数据过滤 - 完善合同模版数据转换和返回,支持多端数据交换和展示
This commit is contained in:
1
pom.xml
1
pom.xml
@@ -19,7 +19,6 @@
|
|||||||
<module>yunzhupaas-oauth</module>
|
<module>yunzhupaas-oauth</module>
|
||||||
<module>yunzhupaas-system</module>
|
<module>yunzhupaas-system</module>
|
||||||
<module>yunzhupaas-public/yunzhupaas-common-all</module>
|
<module>yunzhupaas-public/yunzhupaas-common-all</module>
|
||||||
<module>yunzhupaas-example</module>
|
|
||||||
<module>yunzhupaas-extend</module>
|
<module>yunzhupaas-extend</module>
|
||||||
<module>yunzhupaas-visualdev</module>
|
<module>yunzhupaas-visualdev</module>
|
||||||
<!-- <module>yunzhupaas-workflow</module>-->
|
<!-- <module>yunzhupaas-workflow</module>-->
|
||||||
|
|||||||
@@ -85,11 +85,6 @@
|
|||||||
<artifactId>yunzhupaas-oauth-controller</artifactId>
|
<artifactId>yunzhupaas-oauth-controller</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- <dependency>-->
|
|
||||||
<!-- <groupId>com.yunzhupaas</groupId>-->
|
|
||||||
<!-- <artifactId>yunzhupaas-example-controller</artifactId>-->
|
|
||||||
<!-- <version>${project.version}</version>-->
|
|
||||||
<!-- </dependency>-->
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.yunzhupaas</groupId>
|
<groupId>com.yunzhupaas</groupId>
|
||||||
<artifactId>yunzhupaas-app-controller</artifactId>
|
<artifactId>yunzhupaas-app-controller</artifactId>
|
||||||
@@ -97,6 +92,11 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- 基础信息-->
|
<!-- 基础信息-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.yunzhupaas</groupId>
|
||||||
|
<artifactId>yunzhupaas-bc-controller</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.yunzhupaas</groupId>
|
<groupId>com.yunzhupaas</groupId>
|
||||||
<artifactId>yunzhupaas-mdm-controller</artifactId>
|
<artifactId>yunzhupaas-mdm-controller</artifactId>
|
||||||
@@ -107,11 +107,6 @@
|
|||||||
<artifactId>yunzhupaas-cm-controller</artifactId>
|
<artifactId>yunzhupaas-cm-controller</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>com.yunzhupaas</groupId>
|
|
||||||
<artifactId>yunzhupaas-bc-controller</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.yunzhupaas</groupId>
|
<groupId>com.yunzhupaas</groupId>
|
||||||
|
|||||||
@@ -24,9 +24,9 @@ spring:
|
|||||||
# host: aliyun.szlecheng.cn
|
# host: aliyun.szlecheng.cn
|
||||||
host: mysql.szlecheng.cn
|
host: mysql.szlecheng.cn
|
||||||
port: 13306
|
port: 13306
|
||||||
username: jnpfsoft
|
username: oa_yunzhupaas
|
||||||
password: ZtRmzjij4CiaXpSE
|
password: OAYUNZHUPAAS
|
||||||
db-name: jnpfsoft_dev
|
db-name: oa_yunzhupass
|
||||||
db-schema: #金仓达梦选填
|
db-schema: #金仓达梦选填
|
||||||
prepare-url: #自定义url
|
prepare-url: #自定义url
|
||||||
|
|
||||||
@@ -205,8 +205,8 @@ config:
|
|||||||
enable-storage: true #启用存储
|
enable-storage: true #启用存储
|
||||||
enable-access: true #启用访问(线上请使用 Nginx 配置,效率更高)
|
enable-access: true #启用访问(线上请使用 Nginx 配置,效率更高)
|
||||||
domain: "" # 访问域名,例如:“http://127.0.0.1:8030/”,注意后面要和 path-patterns 保持一致,“/”结尾,本地存储建议使用相对路径,方便后期更换域名
|
domain: "" # 访问域名,例如:“http://127.0.0.1:8030/”,注意后面要和 path-patterns 保持一致,“/”结尾,本地存储建议使用相对路径,方便后期更换域名
|
||||||
# base-path: /data/work-data/upload/jnpfsoft/yunzhupaas-resources/ # 基础路径
|
# base-path: /data/work-data/upload/yunzhupaas/yunzhupaas-resources/ # 基础路径
|
||||||
base-path: E:/XiangMu/yunzhu/zero-resources/ # 基础路径
|
base-path: E:/workspace/yunzhupaas/v2.0/springboot/yunzhupaas-resources/ # 基础路径
|
||||||
path-patterns: /** # 访问路径
|
path-patterns: /** # 访问路径
|
||||||
storage-path: # 存储路径
|
storage-path: # 存储路径
|
||||||
aliyun-oss: # 阿里云 OSS ,不使用的情况下可以不写
|
aliyun-oss: # 阿里云 OSS ,不使用的情况下可以不写
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ spring:
|
|||||||
name: yunzhupaas-boot
|
name: yunzhupaas-boot
|
||||||
profiles:
|
profiles:
|
||||||
# 指定环境配置 dev(开发环境-默认)、test(测试环境)、preview(预生产)、prod(生产环境)
|
# 指定环境配置 dev(开发环境-默认)、test(测试环境)、preview(预生产)、prod(生产环境)
|
||||||
active: prod
|
active: dev
|
||||||
servlet:
|
servlet:
|
||||||
multipart: #文件传输配置
|
multipart: #文件传输配置
|
||||||
max-file-size: 100MB #单个数据大小限制
|
max-file-size: 100MB #单个数据大小限制
|
||||||
@@ -154,7 +154,7 @@ logging:
|
|||||||
log:
|
log:
|
||||||
level:
|
level:
|
||||||
# 等级 TRACE,DEBUG,INFO,WARN,ERROR(不区分大小写)
|
# 等级 TRACE,DEBUG,INFO,WARN,ERROR(不区分大小写)
|
||||||
root: info
|
root: INFO
|
||||||
path: log/${spring.application.name}
|
path: log/${spring.application.name}
|
||||||
mybatis:
|
mybatis:
|
||||||
mapper-locations: classpath*:com/**/mapper/**/*.xml
|
mapper-locations: classpath*:com/**/mapper/**/*.xml
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.yunzhupaas.cm.mapper;
|
||||||
|
|
||||||
|
|
||||||
|
import com.yunzhupaas.cm.entity.ContractPrintingTempEntity;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.yunzhupaas.base.mapper.SuperMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合同模版
|
||||||
|
* 版本: V5.2.7
|
||||||
|
* 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有
|
||||||
|
* 作者: 深圳市乐程软件有限公司
|
||||||
|
* 日期: 2026-05-20
|
||||||
|
*/
|
||||||
|
public interface ContractPrintingTempMapper extends SuperMapper<ContractPrintingTempEntity> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.yunzhupaas.cm.mapper;
|
||||||
|
|
||||||
|
|
||||||
|
import com.yunzhupaas.cm.entity.ContractTempEntity;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.yunzhupaas.base.mapper.SuperMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合同模版
|
||||||
|
* 版本: V5.2.7
|
||||||
|
* 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有
|
||||||
|
* 作者: 深圳市乐程软件有限公司
|
||||||
|
* 日期: 2026-05-20
|
||||||
|
*/
|
||||||
|
public interface ContractTempMapper extends SuperMapper<ContractTempEntity> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package com.yunzhupaas.cm.service;
|
||||||
|
|
||||||
|
import com.yunzhupaas.cm.entity.*;
|
||||||
|
import com.yunzhupaas.base.service.SuperService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合同模版管理
|
||||||
|
* 版本: V5.2.7
|
||||||
|
* 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有
|
||||||
|
* 作者: 深圳市乐程软件有限公司
|
||||||
|
* 日期: 2026-05-21
|
||||||
|
*/
|
||||||
|
public interface ContractPrintingTempService extends SuperService<ContractPrintingTempEntity> {
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package com.yunzhupaas.cm.service;
|
||||||
|
|
||||||
|
import com.yunzhupaas.cm.entity.*;
|
||||||
|
import com.yunzhupaas.base.service.SuperService;
|
||||||
|
import com.yunzhupaas.cm.model.contracttemp.*;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合同模版管理
|
||||||
|
* 版本: V5.2.7
|
||||||
|
* 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有
|
||||||
|
* 作者: 深圳市乐程软件有限公司
|
||||||
|
* 日期: 2026-05-21
|
||||||
|
*/
|
||||||
|
public interface ContractTempService extends SuperService<ContractTempEntity> {
|
||||||
|
List<ContractTempEntity> getList(ContractTempPagination contractTempPagination);
|
||||||
|
|
||||||
|
List<ContractTempEntity> getTypeList(ContractTempPagination contractTempPagination,String dataType);
|
||||||
|
|
||||||
|
ContractTempEntity getInfo(String contracttempid);
|
||||||
|
|
||||||
|
void delete(ContractTempEntity entity);
|
||||||
|
|
||||||
|
void create(ContractTempEntity entity);
|
||||||
|
|
||||||
|
boolean update(String contracttempid, ContractTempEntity entity);
|
||||||
|
|
||||||
|
String checkForm(ContractTempForm form,int i);
|
||||||
|
|
||||||
|
void saveOrUpdate(ContractTempForm contractTempForm,String id, boolean isSave) throws Exception;
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
|
||||||
|
package com.yunzhupaas.cm.service.impl;
|
||||||
|
|
||||||
|
import com.yunzhupaas.cm.entity.*;
|
||||||
|
import com.yunzhupaas.cm.mapper.ContractPrintingTempMapper;
|
||||||
|
import com.yunzhupaas.cm.service.*;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.yunzhupaas.cm.model.contracttemp.*;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import com.yunzhupaas.base.service.SuperServiceImpl;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import com.yunzhupaas.util.GeneraterSwapUtil;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import lombok.Cleanup;
|
||||||
|
import com.yunzhupaas.database.plugins.DynamicSourceGeneratorInterface;
|
||||||
|
import com.yunzhupaas.database.util.DynamicDataSourceUtil;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
import com.yunzhupaas.i18n.util.I18nUtil;
|
||||||
|
import com.yunzhupaas.exception.DataException;
|
||||||
|
import com.yunzhupaas.constant.MsgCode;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* 合同模版管理
|
||||||
|
* 版本: V5.2.7
|
||||||
|
* 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有
|
||||||
|
* 作者: 深圳市乐程软件有限公司
|
||||||
|
* 日期: 2026-05-21
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class ContractPrintingTempServiceImpl extends SuperServiceImpl<ContractPrintingTempMapper, ContractPrintingTempEntity> implements ContractPrintingTempService{
|
||||||
|
@Autowired
|
||||||
|
private GeneraterSwapUtil generaterSwapUtil;
|
||||||
|
}
|
||||||
@@ -0,0 +1,352 @@
|
|||||||
|
|
||||||
|
package com.yunzhupaas.cm.service.impl;
|
||||||
|
|
||||||
|
import com.yunzhupaas.cm.entity.*;
|
||||||
|
import com.yunzhupaas.cm.mapper.ContractTempMapper;
|
||||||
|
import com.yunzhupaas.cm.service.*;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.yunzhupaas.cm.model.contracttemp.*;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import com.yunzhupaas.base.service.SuperServiceImpl;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import com.yunzhupaas.util.GeneraterSwapUtil;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import lombok.Cleanup;
|
||||||
|
import com.yunzhupaas.database.plugins.DynamicSourceGeneratorInterface;
|
||||||
|
import com.yunzhupaas.database.util.DynamicDataSourceUtil;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
import com.yunzhupaas.i18n.util.I18nUtil;
|
||||||
|
import com.yunzhupaas.exception.DataException;
|
||||||
|
import com.yunzhupaas.constant.MsgCode;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import com.yunzhupaas.base.model.ColumnDataModel;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.github.yulichang.toolkit.JoinWrappers;
|
||||||
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
|
import com.yunzhupaas.model.QueryAllModel;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import com.yunzhupaas.util.*;
|
||||||
|
import java.util.*;
|
||||||
|
import com.yunzhupaas.base.UserInfo;
|
||||||
|
import com.yunzhupaas.permission.entity.UserEntity;
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* 合同模版管理
|
||||||
|
* 版本: V5.2.7
|
||||||
|
* 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有
|
||||||
|
* 作者: 深圳市乐程软件有限公司
|
||||||
|
* 日期: 2026-05-21
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class ContractTempServiceImpl extends SuperServiceImpl<ContractTempMapper, ContractTempEntity> implements ContractTempService{
|
||||||
|
@Autowired
|
||||||
|
private GeneraterSwapUtil generaterSwapUtil;
|
||||||
|
@Autowired
|
||||||
|
private UserProvider userProvider;
|
||||||
|
@Autowired
|
||||||
|
private ContractPrintingTempService contractPrintingTempService;
|
||||||
|
@Override
|
||||||
|
public List<ContractTempEntity> getList(ContractTempPagination contractTempPagination){
|
||||||
|
return getTypeList(contractTempPagination,contractTempPagination.getDataType());
|
||||||
|
}
|
||||||
|
/** 列表查询 */
|
||||||
|
@Override
|
||||||
|
public List<ContractTempEntity> getTypeList(ContractTempPagination contractTempPagination,String dataType){
|
||||||
|
String userId=userProvider.get().getUserId();
|
||||||
|
Map<String,Class> tableClassMap=new HashMap<>();
|
||||||
|
tableClassMap.put("cm_contract_temp",ContractTempEntity.class);
|
||||||
|
tableClassMap.put("cm_contract_printing_temp",ContractPrintingTempEntity.class);
|
||||||
|
|
||||||
|
MPJLambdaWrapper<ContractTempEntity> wrapper = JoinWrappers
|
||||||
|
.lambda("cm_contract_temp",ContractTempEntity.class)
|
||||||
|
.selectCollection(ContractPrintingTempEntity.class,ContractTempEntity::getContractPrintingTemp)
|
||||||
|
.leftJoin(ContractPrintingTempEntity.class,"cm_contract_printing_temp",ContractPrintingTempEntity::getContractTempId,ContractTempEntity::getContractTempCode)
|
||||||
|
.selectAll(ContractTempEntity.class);
|
||||||
|
MPJLambdaWrapper<ContractTempEntity> wrapper2 = JoinWrappers
|
||||||
|
.lambda("cm_contract_temp",ContractTempEntity.class)
|
||||||
|
.leftJoin(ContractPrintingTempEntity.class,"cm_contract_printing_temp",ContractPrintingTempEntity::getContractTempId,ContractTempEntity::getContractTempCode)
|
||||||
|
.distinct().select(ContractTempEntity::getContractTempId);
|
||||||
|
|
||||||
|
QueryAllModel queryAllModel = new QueryAllModel();
|
||||||
|
queryAllModel.setWrapper(wrapper);
|
||||||
|
queryAllModel.setClassMap(tableClassMap);
|
||||||
|
queryAllModel.setDbLink(ContractTempConstant.DBLINKID);
|
||||||
|
//数据过滤
|
||||||
|
boolean isPc = ServletUtil.getHeader("yunzhupaas-origin").equals("pc");
|
||||||
|
String columnData = !isPc ? ContractTempConstant.getAppColumnData() : ContractTempConstant.getColumnData();
|
||||||
|
ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(columnData, ColumnDataModel.class);
|
||||||
|
String ruleJson = !isPc ? JsonUtil.getObjectToString(columnDataModel.getRuleListApp()) : JsonUtil.getObjectToString(columnDataModel.getRuleList());
|
||||||
|
queryAllModel.setRuleJson(ruleJson);
|
||||||
|
//高级查询
|
||||||
|
boolean hasSuperQuery = true;
|
||||||
|
if (hasSuperQuery) {
|
||||||
|
queryAllModel.setSuperJson(contractTempPagination.getSuperQueryJson());
|
||||||
|
}
|
||||||
|
//数据权限
|
||||||
|
boolean pcPermission = false;
|
||||||
|
boolean appPermission = false;
|
||||||
|
if (isPc && pcPermission) {
|
||||||
|
queryAllModel.setModuleId(contractTempPagination.getMenuId());
|
||||||
|
}
|
||||||
|
if (!isPc && appPermission) {
|
||||||
|
queryAllModel.setModuleId(contractTempPagination.getMenuId());
|
||||||
|
}
|
||||||
|
//拼接复杂条件
|
||||||
|
wrapper = generaterSwapUtil.getConditionAllTable(queryAllModel);
|
||||||
|
if(wrapper == null) return new ArrayList<>();
|
||||||
|
queryAllModel.setWrapper(wrapper2);
|
||||||
|
wrapper2 = generaterSwapUtil.getConditionAllTable(queryAllModel);
|
||||||
|
//其他条件拼接
|
||||||
|
otherConditions(contractTempPagination, wrapper, isPc);
|
||||||
|
otherConditions(contractTempPagination, wrapper2, isPc);
|
||||||
|
|
||||||
|
if("0".equals(dataType)){
|
||||||
|
com.github.pagehelper.Page<Object> objects = PageHelper.startPage((int) contractTempPagination.getCurrentPage(), (int) contractTempPagination.getPageSize(), true);
|
||||||
|
List<ContractTempEntity> userIPage = this.selectJoinList(ContractTempEntity.class, wrapper2);
|
||||||
|
List<Object> collect = userIPage.stream().map(t -> t.getContractTempId()).collect(Collectors.toList());
|
||||||
|
if(CollectionUtils.isNotEmpty(collect)){
|
||||||
|
wrapper.in(ContractTempEntity::getContractTempId,collect);
|
||||||
|
}
|
||||||
|
List<ContractTempEntity> result = this.selectJoinList(ContractTempEntity.class, wrapper);
|
||||||
|
return contractTempPagination.setData(result,objects.getTotal());
|
||||||
|
}else{
|
||||||
|
List<ContractTempEntity> list = this.selectJoinList(ContractTempEntity.class, wrapper);
|
||||||
|
if("2".equals(dataType)){
|
||||||
|
List<Object> selectIds = Arrays.asList(contractTempPagination.getSelectIds());
|
||||||
|
return list.stream().filter(t -> selectIds.contains(t.getContractTempId())).collect(Collectors.toList());
|
||||||
|
}else{
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 其他条件拼接
|
||||||
|
*/
|
||||||
|
private void otherConditions(ContractTempPagination contractTempPagination, MPJLambdaWrapper<ContractTempEntity> wrapper, boolean isPc) {
|
||||||
|
String databaseName;
|
||||||
|
try {
|
||||||
|
@Cleanup Connection cnn = DynamicDataSourceUtil.getCurrentConnection();
|
||||||
|
databaseName = cnn.getMetaData().getDatabaseProductName().trim();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
throw new DataException(e.getMessage());
|
||||||
|
}
|
||||||
|
wrapper.isNull(ContractTempEntity::getFlowId);
|
||||||
|
//关键词
|
||||||
|
if(ObjectUtil.isNotEmpty(contractTempPagination.getYunzhupaasKeyword())){
|
||||||
|
}
|
||||||
|
//普通查询
|
||||||
|
//排序
|
||||||
|
if(StringUtil.isEmpty(contractTempPagination.getSidx())){
|
||||||
|
wrapper.orderByDesc(ContractTempEntity::getContractTempId);
|
||||||
|
}else{
|
||||||
|
try {
|
||||||
|
String[] split = contractTempPagination.getSidx().split(",");
|
||||||
|
for(String sidx:split){
|
||||||
|
ContractTempEntity contractTempEntity = new ContractTempEntity();
|
||||||
|
String oderTableField = contractTempEntity.getClass().getAnnotation(TableName.class).value();
|
||||||
|
boolean descFlag = sidx.startsWith("-");
|
||||||
|
String sidxField = descFlag ? sidx.substring(1) : sidx;
|
||||||
|
try{
|
||||||
|
Field declaredField = contractTempEntity.getClass().getDeclaredField(sidxField);
|
||||||
|
declaredField.setAccessible(true);
|
||||||
|
sidxField = declaredField.getAnnotation(TableField.class).value();
|
||||||
|
}catch (Exception e){
|
||||||
|
}
|
||||||
|
String finalOderTableField = oderTableField;
|
||||||
|
String finalSidxField = sidxField;
|
||||||
|
Object select = wrapper.getSelectColumns().stream().filter(t -> Objects.equals(finalOderTableField, t.getTableAlias())
|
||||||
|
&& Objects.equals(finalSidxField, t.getColumn())).findFirst().orElse(null);
|
||||||
|
oderTableField = oderTableField + "." + sidxField;
|
||||||
|
if (select == null) {
|
||||||
|
wrapper.select(oderTableField);
|
||||||
|
}
|
||||||
|
if (descFlag) {
|
||||||
|
wrapper.orderByDesc(oderTableField);
|
||||||
|
} else {
|
||||||
|
wrapper.orderByAsc(oderTableField);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public ContractTempEntity getInfo(String contracttempid){
|
||||||
|
MPJLambdaWrapper<ContractTempEntity> wrapper = JoinWrappers
|
||||||
|
.lambda("cm_contract_temp",ContractTempEntity.class)
|
||||||
|
.selectCollection(ContractPrintingTempEntity.class,ContractTempEntity::getContractPrintingTemp)
|
||||||
|
.leftJoin(ContractPrintingTempEntity.class,"cm_contract_printing_temp",ContractPrintingTempEntity::getContractTempId,ContractTempEntity::getContractTempCode)
|
||||||
|
.selectAll(ContractTempEntity.class);
|
||||||
|
wrapper.and(
|
||||||
|
t->t.eq(ContractTempEntity::getContractTempId, contracttempid )
|
||||||
|
.or().eq(ContractTempEntity::getFlowTaskId, contracttempid)
|
||||||
|
);
|
||||||
|
return this.selectJoinOne(ContractTempEntity.class,wrapper);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void create(ContractTempEntity entity){
|
||||||
|
this.save(entity);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public boolean update(String contracttempid, ContractTempEntity entity){
|
||||||
|
return this.updateById(entity);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void delete(ContractTempEntity entity){
|
||||||
|
if(entity!=null){
|
||||||
|
this.removeById(entity.getContractTempId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/** 验证表单唯一字段,正则,非空 i-0新增-1修改*/
|
||||||
|
@Override
|
||||||
|
public String checkForm(ContractTempForm form,int i) {
|
||||||
|
boolean isUp =StringUtil.isNotEmpty(form.getContractTempId()) && !form.getContractTempId().equals("0");
|
||||||
|
Object id= null;
|
||||||
|
String countRecover = "";
|
||||||
|
String fieldTipName = "";
|
||||||
|
String canNotNull = I18nUtil.getMessageStr("sys.validate.textRequiredSuffix", "不能为空");
|
||||||
|
String canNotRepeated = I18nUtil.getMessageStr("EXIST103", "不能重复");
|
||||||
|
if (isUp){
|
||||||
|
id = form.getContractTempId();
|
||||||
|
}
|
||||||
|
//验证业务主键
|
||||||
|
String businessErr = checkBusinessKey(form, isUp ? id : null, null);
|
||||||
|
if (StringUtil.isNotEmpty(businessErr)) {
|
||||||
|
return businessErr;
|
||||||
|
}
|
||||||
|
//主表字段验证
|
||||||
|
fieldTipName = "合同模版编码";
|
||||||
|
if(StringUtil.isEmpty(form.getContractTempCode())){
|
||||||
|
return fieldTipName + canNotNull;
|
||||||
|
}
|
||||||
|
if(StringUtil.isNotEmpty(form.getContractTempCode())){
|
||||||
|
form.setContractTempCode(form.getContractTempCode().trim());
|
||||||
|
QueryWrapper<ContractTempEntity> contract_temp_codeWrapper=new QueryWrapper<>();
|
||||||
|
contract_temp_codeWrapper.lambda().eq(ContractTempEntity::getContractTempCode,form.getContractTempCode());
|
||||||
|
contract_temp_codeWrapper.lambda().isNull(ContractTempEntity::getFlowId);
|
||||||
|
if (isUp){
|
||||||
|
contract_temp_codeWrapper.lambda().ne(ContractTempEntity::getContractTempId, id);
|
||||||
|
}
|
||||||
|
if((int) this.count(contract_temp_codeWrapper)>0){
|
||||||
|
countRecover = fieldTipName + canNotRepeated;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fieldTipName = "合同模版名称";
|
||||||
|
if(StringUtil.isEmpty(form.getContractTempName())){
|
||||||
|
return fieldTipName + canNotNull;
|
||||||
|
}
|
||||||
|
fieldTipName = "备注";
|
||||||
|
fieldTipName = "框架合同";
|
||||||
|
fieldTipName = "清单合同";
|
||||||
|
fieldTipName = "启用产品清单";
|
||||||
|
fieldTipName = "启用材料清单";
|
||||||
|
fieldTipName = "启用人力清单";
|
||||||
|
fieldTipName = "启用资产清单";
|
||||||
|
fieldTipName = "启用任务清单";
|
||||||
|
fieldTipName = "合同类型";
|
||||||
|
fieldTipName = "启用在线打印";
|
||||||
|
fieldTipName = "我方签约类型";
|
||||||
|
fieldTipName = "乙方签约类型";
|
||||||
|
fieldTipName = "丙方签约类型";
|
||||||
|
//子表字段验证
|
||||||
|
if (form.getContractPrintingTempList()!=null){
|
||||||
|
|
||||||
|
fieldTipName = "打印模板"
|
||||||
|
+ "-" + "打印模版ID";
|
||||||
|
|
||||||
|
|
||||||
|
fieldTipName = "打印模板"
|
||||||
|
+ "-" + "是否启用";
|
||||||
|
|
||||||
|
}
|
||||||
|
return countRecover;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 验证业务主键
|
||||||
|
*/
|
||||||
|
private String checkBusinessKey(ContractTempForm form, Object id, List<String> flowIds){
|
||||||
|
QueryWrapper<ContractTempEntity> wrapper = new QueryWrapper<>();
|
||||||
|
//修改
|
||||||
|
if (id != null){
|
||||||
|
wrapper.lambda().ne(ContractTempEntity::getContractTempId, id);
|
||||||
|
}
|
||||||
|
//是否流程
|
||||||
|
if(flowIds == null){
|
||||||
|
wrapper.lambda().isNull(ContractTempEntity::getFlowId);
|
||||||
|
}else{
|
||||||
|
wrapper.lambda().in(ContractTempEntity::getFlowId, flowIds);
|
||||||
|
}
|
||||||
|
//合同模版编码字段判断
|
||||||
|
if(form.getContractTempCode() == null || form.getContractTempCode().toString().trim().isEmpty()){
|
||||||
|
wrapper.lambda().isNull(ContractTempEntity::getContractTempCode);
|
||||||
|
}else{
|
||||||
|
wrapper.lambda().eq(ContractTempEntity::getContractTempCode, form.getContractTempCode());
|
||||||
|
}
|
||||||
|
if((int) this.count(wrapper)>0){
|
||||||
|
return "数据已存在,请勿重复提交!";
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 新增修改数据(事务回滚)
|
||||||
|
* @param id
|
||||||
|
* @param contractTempForm
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public void saveOrUpdate(ContractTempForm contractTempForm,String id, boolean isSave) throws Exception{
|
||||||
|
UserInfo userInfo=userProvider.get();
|
||||||
|
UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId());
|
||||||
|
contractTempForm = JsonUtil.getJsonToBean(
|
||||||
|
generaterSwapUtil.swapDatetime(ContractTempConstant.getFormData(),contractTempForm,ContractTempConstant.TABLERENAMES),ContractTempForm.class);
|
||||||
|
ContractTempEntity entity = JsonUtil.getJsonToBean(contractTempForm, ContractTempEntity.class);
|
||||||
|
String mainUuid = StringUtil.isEmpty(id) ? RandomUtil.uuId() : id;
|
||||||
|
if(isSave){
|
||||||
|
entity.setFlowTaskId(mainUuid);
|
||||||
|
entity.setContractTempId(mainUuid);
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
boolean b = this.saveOrUpdate(entity);
|
||||||
|
ContractTempEntity info = this.getInfo(mainUuid);
|
||||||
|
if (info == null) throw new RuntimeException(MsgCode.FA001.get());
|
||||||
|
|
||||||
|
//ContractPrintingTemp子表数据新增修改
|
||||||
|
QueryWrapper<ContractPrintingTempEntity> ContractPrintingTempqueryWrapper = new QueryWrapper<>();
|
||||||
|
ContractPrintingTempqueryWrapper.lambda().eq(ContractPrintingTempEntity::getContractTempId, info.getContractTempCode());
|
||||||
|
if(!isSave && !CollectionUtils.isNotEmpty(contractTempForm.getContractPrintingTempList())){
|
||||||
|
contractPrintingTempService.remove(ContractPrintingTempqueryWrapper);
|
||||||
|
}
|
||||||
|
if (CollectionUtils.isNotEmpty(contractTempForm.getContractPrintingTempList())){
|
||||||
|
List<ContractPrintingTempEntity> tablePrintingTemp = JsonUtil.getJsonToList(contractTempForm.getContractPrintingTempList(),ContractPrintingTempEntity.class);
|
||||||
|
//移除的数据
|
||||||
|
List<Object> childIds = tablePrintingTemp.stream().filter(t->t.getContractPrintingTempId()!=null).map(ContractPrintingTempEntity::getContractPrintingTempId).collect(Collectors.toList());
|
||||||
|
if(CollectionUtils.isNotEmpty(childIds)){
|
||||||
|
ContractPrintingTempqueryWrapper.lambda().notIn(ContractPrintingTempEntity::getContractPrintingTempId,childIds);
|
||||||
|
}
|
||||||
|
contractPrintingTempService.remove(ContractPrintingTempqueryWrapper);
|
||||||
|
for(ContractPrintingTempEntity entitys : tablePrintingTemp){
|
||||||
|
entitys.setContractTempId(entity.getContractTempCode());
|
||||||
|
if(entitys.getContractPrintingTempId()==null){
|
||||||
|
entitys.setContractPrintingTempId(RandomUtil.uuId());
|
||||||
|
}
|
||||||
|
contractPrintingTempService.saveOrUpdate(entitys);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,269 @@
|
|||||||
|
package com.yunzhupaas.cm.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import com.yunzhupaas.base.ActionResult;
|
||||||
|
import com.yunzhupaas.base.UserInfo;
|
||||||
|
import com.yunzhupaas.exception.DataException;
|
||||||
|
import com.yunzhupaas.permission.entity.UserEntity;
|
||||||
|
import com.yunzhupaas.constant.MsgCode;
|
||||||
|
import com.yunzhupaas.cm.service.*;
|
||||||
|
import com.yunzhupaas.cm.entity.*;
|
||||||
|
import com.yunzhupaas.util.*;
|
||||||
|
import com.yunzhupaas.cm.model.contracttemp.*;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import com.yunzhupaas.flowable.entity.TaskEntity;
|
||||||
|
import jakarta.validation.Valid;
|
||||||
|
import java.util.*;
|
||||||
|
import com.yunzhupaas.model.ExcelModel;
|
||||||
|
import com.yunzhupaas.excel.ExcelExportStyler;
|
||||||
|
import com.yunzhupaas.excel.ExcelHelper;
|
||||||
|
import com.yunzhupaas.annotation.YunzhupaasField;
|
||||||
|
import com.yunzhupaas.base.vo.PageListVO;
|
||||||
|
import com.yunzhupaas.base.vo.PaginationVO;
|
||||||
|
import com.yunzhupaas.base.vo.DownloadVO;
|
||||||
|
import com.yunzhupaas.config.ConfigValueUtil;
|
||||||
|
import com.yunzhupaas.base.entity.ProvinceEntity;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import com.yunzhupaas.flowable.entity.TaskEntity;
|
||||||
|
import com.yunzhupaas.exception.WorkFlowException;
|
||||||
|
import com.yunzhupaas.model.visualJson.UploaderTemplateModel;
|
||||||
|
import com.yunzhupaas.base.util.FormExecelUtils;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合同模版管理
|
||||||
|
* @版本: V5.2.7
|
||||||
|
* @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有
|
||||||
|
* @作者: 深圳市乐程软件有限公司
|
||||||
|
* @日期: 2026-05-21
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@Tag(name = "合同模版管理", description = "合同模版管理")
|
||||||
|
@RequestMapping("/api/cm/ContractTemp")
|
||||||
|
public class ContractTempController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private GeneraterSwapUtil generaterSwapUtil;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserProvider userProvider;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ContractTempService contractTempService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ContractPrintingTempService contractPrintingTempService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表
|
||||||
|
*
|
||||||
|
* @param contractTempPagination
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Operation(summary = "获取列表")
|
||||||
|
@PostMapping("/getList")
|
||||||
|
public ActionResult list(@RequestBody ContractTempPagination contractTempPagination) throws Exception {
|
||||||
|
List<ContractTempEntity> list = contractTempService.getList(contractTempPagination);
|
||||||
|
List<Map<String, Object>> realList = new ArrayList<>();
|
||||||
|
for (ContractTempEntity entity : list) {
|
||||||
|
Map<String, Object> contractTempMap = JsonUtil.entityToMap(entity);
|
||||||
|
contractTempMap.put("id", contractTempMap.get("contract_temp_id"));
|
||||||
|
// 副表数据
|
||||||
|
// 子表数据
|
||||||
|
List<ContractPrintingTempEntity> contractPrintingTempList = entity.getContractPrintingTemp();
|
||||||
|
contractTempMap.put("tablePrintingTemp",
|
||||||
|
JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(contractPrintingTempList)));
|
||||||
|
contractTempMap.put("contractPrintingTempList",
|
||||||
|
JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(contractPrintingTempList)));
|
||||||
|
realList.add(contractTempMap);
|
||||||
|
}
|
||||||
|
// 数据转换
|
||||||
|
boolean isPc = "pc".equals(ServletUtil.getHeader("yunzhupaas-origin"));
|
||||||
|
realList = generaterSwapUtil.swapDataList(realList, ContractTempConstant.getFormData(),
|
||||||
|
ContractTempConstant.getColumnData(), contractTempPagination.getModuleId(), isPc ? false : false);
|
||||||
|
|
||||||
|
// 返回对象
|
||||||
|
PageListVO vo = new PageListVO();
|
||||||
|
vo.setList(realList);
|
||||||
|
PaginationVO page = JsonUtil.getJsonToBean(contractTempPagination, PaginationVO.class);
|
||||||
|
vo.setPagination(page);
|
||||||
|
return ActionResult.success(vo);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建
|
||||||
|
*
|
||||||
|
* @param contractTempForm
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping()
|
||||||
|
@Operation(summary = "创建")
|
||||||
|
public ActionResult create(@RequestBody @Valid ContractTempForm contractTempForm) {
|
||||||
|
String b = contractTempService.checkForm(contractTempForm, 0);
|
||||||
|
if (StringUtil.isNotEmpty(b)) {
|
||||||
|
return ActionResult.fail(b);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
contractTempService.saveOrUpdate(contractTempForm, null, true);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("【合同模版创建接口异常】参数:{}", contractTempForm, e);
|
||||||
|
return ActionResult.fail(MsgCode.FA028.get());
|
||||||
|
}
|
||||||
|
return ActionResult.success(MsgCode.SU001.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Operation(summary = "删除")
|
||||||
|
@DeleteMapping("/{id}")
|
||||||
|
@Transactional
|
||||||
|
public ActionResult delete(@PathVariable("id") String id,
|
||||||
|
@RequestParam(name = "forceDel", defaultValue = "false") boolean forceDel) throws Exception {
|
||||||
|
ContractTempEntity entity = contractTempService.getInfo(id);
|
||||||
|
if (entity != null) {
|
||||||
|
// 主表数据删除
|
||||||
|
contractTempService.delete(entity);
|
||||||
|
QueryWrapper<ContractPrintingTempEntity> queryWrapperContractPrintingTemp = new QueryWrapper<>();
|
||||||
|
queryWrapperContractPrintingTemp.lambda().eq(ContractPrintingTempEntity::getContractTempId,
|
||||||
|
entity.getContractTempCode());
|
||||||
|
// 子表数据删除
|
||||||
|
contractPrintingTempService.remove(queryWrapperContractPrintingTemp);
|
||||||
|
}
|
||||||
|
return ActionResult.success(MsgCode.SU003.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除
|
||||||
|
*
|
||||||
|
* @param obj
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@DeleteMapping("/batchRemove")
|
||||||
|
@Transactional
|
||||||
|
@Operation(summary = "批量删除")
|
||||||
|
public ActionResult batchRemove(@RequestBody Object obj) {
|
||||||
|
Map<String, Object> objectMap = JsonUtil.entityToMap(obj);
|
||||||
|
List<String> idList = JsonUtil.getJsonToList(objectMap.get("ids"), String.class);
|
||||||
|
String errInfo = "";
|
||||||
|
List<String> successList = new ArrayList<>();
|
||||||
|
for (String allId : idList) {
|
||||||
|
try {
|
||||||
|
this.delete(allId, false);
|
||||||
|
successList.add(allId);
|
||||||
|
} catch (Exception e) {
|
||||||
|
errInfo = e.getMessage();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (successList.size() == 0 && StringUtil.isNotEmpty(errInfo)) {
|
||||||
|
return ActionResult.fail(errInfo);
|
||||||
|
}
|
||||||
|
return ActionResult.success(MsgCode.SU003.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @param contractTempForm
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PutMapping("/{id}")
|
||||||
|
@Operation(summary = "更新")
|
||||||
|
public ActionResult update(@PathVariable("id") String id, @RequestBody @Valid ContractTempForm contractTempForm,
|
||||||
|
@RequestParam(value = "isImport", required = false) boolean isImport) {
|
||||||
|
ContractTempEntity entity = contractTempService.getInfo(id);
|
||||||
|
if (entity != null) {
|
||||||
|
contractTempForm.setContractTempId(String.valueOf(entity.getContractTempId()));
|
||||||
|
|
||||||
|
if (!isImport) {
|
||||||
|
String b = contractTempService.checkForm(contractTempForm, 1);
|
||||||
|
if (StringUtil.isNotEmpty(b)) {
|
||||||
|
return ActionResult.fail(b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
contractTempService.saveOrUpdate(contractTempForm, id, false);
|
||||||
|
} catch (DataException e1) {
|
||||||
|
return ActionResult.fail(e1.getMessage());
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("【合同模版编辑接口异常】参数:{}", contractTempForm, e);
|
||||||
|
return ActionResult.fail(MsgCode.FA029.get());
|
||||||
|
}
|
||||||
|
return ActionResult.success(MsgCode.SU004.get());
|
||||||
|
} else {
|
||||||
|
return ActionResult.fail(MsgCode.FA002.get());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 表单信息(详情页)
|
||||||
|
* 详情页面使用-转换数据
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Operation(summary = "表单信息(详情页)")
|
||||||
|
@GetMapping("/detail/{id}")
|
||||||
|
public ActionResult detailInfo(@PathVariable("id") String id) {
|
||||||
|
ContractTempEntity entity = contractTempService.getInfo(id);
|
||||||
|
if (entity == null) {
|
||||||
|
return ActionResult.fail(MsgCode.FA001.get());
|
||||||
|
}
|
||||||
|
Map<String, Object> contractTempMap = JsonUtil.entityToMap(entity);
|
||||||
|
contractTempMap.put("id", contractTempMap.get("contract_temp_id"));
|
||||||
|
// 副表数据
|
||||||
|
// 子表数据
|
||||||
|
List<ContractPrintingTempEntity> contractPrintingTempList = entity.getContractPrintingTemp();
|
||||||
|
contractTempMap.put("tablePrintingTemp",
|
||||||
|
JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(contractPrintingTempList)));
|
||||||
|
contractTempMap.put("contractPrintingTempList",
|
||||||
|
JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(contractPrintingTempList)));
|
||||||
|
boolean isPc = "pc".equals(ServletUtil.getHeader("yunzhupaas-origin"));
|
||||||
|
contractTempMap = generaterSwapUtil.swapDataDetail(contractTempMap, ContractTempConstant.getFormData(),
|
||||||
|
"826534292984170373", isPc ? false : false);
|
||||||
|
// 子表数据
|
||||||
|
contractTempMap.put("contractPrintingTempList", contractTempMap.get("tablePrintingTemp"));
|
||||||
|
return ActionResult.success(contractTempMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取详情(编辑页)
|
||||||
|
* 编辑页面使用-不转换数据
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Operation(summary = "信息")
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public ActionResult info(@PathVariable("id") String id) {
|
||||||
|
ContractTempEntity entity = contractTempService.getInfo(id);
|
||||||
|
if (entity == null) {
|
||||||
|
return ActionResult.fail(MsgCode.FA001.get());
|
||||||
|
}
|
||||||
|
Map<String, Object> contractTempMap = JsonUtil.entityToMap(entity);
|
||||||
|
contractTempMap.put("id", contractTempMap.get("contract_temp_id"));
|
||||||
|
// 副表数据
|
||||||
|
// 子表数据
|
||||||
|
List<ContractPrintingTempEntity> contractPrintingTempList = entity.getContractPrintingTemp();
|
||||||
|
contractTempMap.put("tablePrintingTemp",
|
||||||
|
JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(contractPrintingTempList)));
|
||||||
|
contractTempMap.put("contractPrintingTempList",
|
||||||
|
JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(contractPrintingTempList)));
|
||||||
|
contractTempMap = generaterSwapUtil.swapDataForm(contractTempMap, ContractTempConstant.getFormData(),
|
||||||
|
ContractTempConstant.TABLEFIELDKEY, ContractTempConstant.TABLERENAMES);
|
||||||
|
return ActionResult.success(contractTempMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
package com.yunzhupaas.cm.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import com.alibaba.fastjson.annotation.JSONField;
|
||||||
|
/**
|
||||||
|
* 合同打印模版
|
||||||
|
*
|
||||||
|
* @版本: V5.2.7
|
||||||
|
* @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有
|
||||||
|
* @作者: 深圳市乐程软件有限公司
|
||||||
|
* @日期: 2026-05-21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("cm_contract_printing_temp")
|
||||||
|
public class ContractPrintingTempEntity {
|
||||||
|
@TableId(value ="contract_printing_temp_id" )
|
||||||
|
@JSONField(name = "contract_printing_temp_id")
|
||||||
|
private String contractPrintingTempId;
|
||||||
|
@TableField("contract_temp_id")
|
||||||
|
@JSONField(name = "contract_temp_id")
|
||||||
|
private String contractTempId;
|
||||||
|
@TableField(value = "printing_temp_id" , updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@JSONField(name = "printing_temp_id")
|
||||||
|
private String printingTempId;
|
||||||
|
@TableField(value = "is_enabled" , updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@JSONField(name = "is_enabled")
|
||||||
|
private String isEnabled;
|
||||||
|
@TableField("remark")
|
||||||
|
@JSONField(name = "remark")
|
||||||
|
private String remark;
|
||||||
|
@TableField("create_by")
|
||||||
|
@JSONField(name = "create_by")
|
||||||
|
private String createBy;
|
||||||
|
@TableField("create_time")
|
||||||
|
@JSONField(name = "create_time")
|
||||||
|
private Date createTime;
|
||||||
|
@TableField("update_by")
|
||||||
|
@JSONField(name = "update_by")
|
||||||
|
private String updateBy;
|
||||||
|
@TableField("update_time")
|
||||||
|
@JSONField(name = "update_time")
|
||||||
|
private Date updateTime;
|
||||||
|
@TableField(value = "f_tenant_id",fill = FieldFill.INSERT_UPDATE)
|
||||||
|
@JSONField(name = "f_tenant_id")
|
||||||
|
private String tenantId;
|
||||||
|
@TableField("f_flow_id")
|
||||||
|
@JSONField(name = "f_flow_id")
|
||||||
|
private String flowId;
|
||||||
|
@TableField("f_flow_task_id")
|
||||||
|
@JSONField(name = "f_flow_task_id")
|
||||||
|
private String flowTaskId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
package com.yunzhupaas.cm.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import com.alibaba.fastjson.annotation.JSONField;
|
||||||
|
/**
|
||||||
|
* 合同模版
|
||||||
|
*
|
||||||
|
* @版本: V5.2.7
|
||||||
|
* @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有
|
||||||
|
* @作者: 深圳市乐程软件有限公司
|
||||||
|
* @日期: 2026-05-21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("cm_contract_temp")
|
||||||
|
public class ContractTempEntity {
|
||||||
|
@TableId(value ="contract_temp_id" )
|
||||||
|
@JSONField(name = "contract_temp_id")
|
||||||
|
private String contractTempId;
|
||||||
|
@TableField(value = "contract_temp_code" , updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@JSONField(name = "contract_temp_code")
|
||||||
|
private String contractTempCode;
|
||||||
|
@TableField(value = "contract_temp_name" , updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@JSONField(name = "contract_temp_name")
|
||||||
|
private String contractTempName;
|
||||||
|
@TableField(value = "is_framework" , updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@JSONField(name = "is_framework")
|
||||||
|
private String isFramework;
|
||||||
|
@TableField(value = "is_detail_list" , updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@JSONField(name = "is_detail_list")
|
||||||
|
private String isDetailList;
|
||||||
|
@TableField(value = "enable_tableProductList" , updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@JSONField(name = "enable_tableProductList")
|
||||||
|
private String enableTableProductList;
|
||||||
|
@TableField(value = "enable_tableMaterialList" , updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@JSONField(name = "enable_tableMaterialList")
|
||||||
|
private String enableTableMaterialList;
|
||||||
|
@TableField(value = "enable_tableWorktypeList" , updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@JSONField(name = "enable_tableWorktypeList")
|
||||||
|
private String enableTableWorktypeList;
|
||||||
|
@TableField(value = "enable_tableAssetList" , updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@JSONField(name = "enable_tableAssetList")
|
||||||
|
private String enableTableAssetList;
|
||||||
|
@TableField(value = "enable_tableTaskList" , updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@JSONField(name = "enable_tableTaskList")
|
||||||
|
private String enableTableTaskList;
|
||||||
|
@TableField(value = "contract_type" , updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@JSONField(name = "contract_type")
|
||||||
|
private String contractType;
|
||||||
|
@TableField(value = "enable_printing" , updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@JSONField(name = "enable_printing")
|
||||||
|
private String enablePrinting;
|
||||||
|
@TableField(value = "our_company_type" , updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@JSONField(name = "our_company_type")
|
||||||
|
private String ourCompanyType;
|
||||||
|
@TableField(value = "second_party_type" , updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@JSONField(name = "second_party_type")
|
||||||
|
private String secondPartyType;
|
||||||
|
@TableField(value = "third_party_type" , updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@JSONField(name = "third_party_type")
|
||||||
|
private String thirdPartyType;
|
||||||
|
@TableField(value = "remark" , updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@JSONField(name = "remark")
|
||||||
|
private String remark;
|
||||||
|
@TableField("create_by")
|
||||||
|
@JSONField(name = "create_by")
|
||||||
|
private String createBy;
|
||||||
|
@TableField("create_time")
|
||||||
|
@JSONField(name = "create_time")
|
||||||
|
private Date createTime;
|
||||||
|
@TableField("update_by")
|
||||||
|
@JSONField(name = "update_by")
|
||||||
|
private String updateBy;
|
||||||
|
@TableField("update_time")
|
||||||
|
@JSONField(name = "update_time")
|
||||||
|
private Date updateTime;
|
||||||
|
@TableField(value = "f_tenant_id",fill = FieldFill.INSERT_UPDATE)
|
||||||
|
@JSONField(name = "f_tenant_id")
|
||||||
|
private String tenantId;
|
||||||
|
@TableField("f_flow_id")
|
||||||
|
@JSONField(name = "f_flow_id")
|
||||||
|
private String flowId;
|
||||||
|
@TableField("f_flow_task_id")
|
||||||
|
@JSONField(name = "f_flow_task_id")
|
||||||
|
private String flowTaskId;
|
||||||
|
|
||||||
|
@JSONField(name = "contractPrintingTemp")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private List<ContractPrintingTempEntity> contractPrintingTemp;
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.yunzhupaas.cm.model.contracttemp;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import java.sql.Time;
|
||||||
|
import java.util.Date;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import com.alibaba.fastjson.annotation.JSONField;
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.ExcelEntity;
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.ExcelCollection;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* 合同模版管理
|
||||||
|
* @版本: V5.2.7
|
||||||
|
* @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有
|
||||||
|
* @作者: 深圳市乐程软件有限公司
|
||||||
|
* @日期: 2026-05-21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ContractPrintingTempExcelVO{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
package com.yunzhupaas.cm.model.contracttemp;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import com.alibaba.fastjson.annotation.JSONField;
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* 合同模版管理
|
||||||
|
* 版本: V5.2.7
|
||||||
|
* 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有
|
||||||
|
* 作者: 深圳市乐程软件有限公司
|
||||||
|
* 日期: 2026-05-21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Schema(description = "ContractPrintingTemp子表参数")
|
||||||
|
public class ContractPrintingTempModel {
|
||||||
|
|
||||||
|
/** 子表:ContractPrintingTemp 主键:contract_printing_temp_id **/
|
||||||
|
@Schema(description = "主键")
|
||||||
|
@JsonProperty("contract_printing_temp_id")
|
||||||
|
private String contract_printing_temp_id;
|
||||||
|
/** 打印模版ID **/
|
||||||
|
@Schema(description = "打印模版ID")
|
||||||
|
@JsonProperty("printing_temp_id")
|
||||||
|
@JSONField(name = "printing_temp_id")
|
||||||
|
private Object printingTempId;
|
||||||
|
/** 是否启用 **/
|
||||||
|
@Schema(description = "是否启用")
|
||||||
|
@JsonProperty("is_enabled")
|
||||||
|
@JSONField(name = "is_enabled")
|
||||||
|
private String isEnabled;
|
||||||
|
}
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
|
||||||
|
package com.yunzhupaas.cm.model.contracttemp;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||||
|
import com.alibaba.fastjson.annotation.JSONField;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* 合同模版管理
|
||||||
|
* @版本: V5.2.7
|
||||||
|
* @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有
|
||||||
|
* @作者: 深圳市乐程软件有限公司
|
||||||
|
* @日期: 2026-05-21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ContractTempExcelErrorVO extends ContractTempExcelVO{
|
||||||
|
|
||||||
|
@Excel(name = "异常原因",orderNum = "-999")
|
||||||
|
@JSONField(name = "errorsInfo")
|
||||||
|
private String errorsInfo;
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.yunzhupaas.cm.model.contracttemp;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import java.sql.Time;
|
||||||
|
import java.util.Date;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import com.alibaba.fastjson.annotation.JSONField;
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.ExcelEntity;
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.ExcelCollection;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* 合同模版管理
|
||||||
|
* @版本: V5.2.7
|
||||||
|
* @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有
|
||||||
|
* @作者: 深圳市乐程软件有限公司
|
||||||
|
* @日期: 2026-05-21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ContractTempExcelVO{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
package com.yunzhupaas.cm.model.contracttemp;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import java.util.*;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import com.alibaba.fastjson.annotation.JSONField;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合同模版管理
|
||||||
|
* @版本: V5.2.7
|
||||||
|
* @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有
|
||||||
|
* @作者: 深圳市乐程软件有限公司
|
||||||
|
* @日期: 2026-05-21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Schema(description = "表单参数")
|
||||||
|
public class ContractTempForm {
|
||||||
|
/** 主键 */
|
||||||
|
@Schema(description = "主键")
|
||||||
|
@JSONField(name = "contract_temp_id")
|
||||||
|
private String contractTempId;
|
||||||
|
|
||||||
|
|
||||||
|
/** 合同模版编码 **/
|
||||||
|
@Schema(description = "合同模版编码")
|
||||||
|
@JsonProperty("contract_temp_code")
|
||||||
|
@JSONField(name = "contract_temp_code")
|
||||||
|
private String contractTempCode;
|
||||||
|
/** 合同模版名称 **/
|
||||||
|
@Schema(description = "合同模版名称")
|
||||||
|
@JsonProperty("contract_temp_name")
|
||||||
|
@JSONField(name = "contract_temp_name")
|
||||||
|
private String contractTempName;
|
||||||
|
/** 备注 **/
|
||||||
|
@Schema(description = "备注")
|
||||||
|
@JsonProperty("remark")
|
||||||
|
@JSONField(name = "remark")
|
||||||
|
private String remark;
|
||||||
|
/** 框架合同 **/
|
||||||
|
@Schema(description = "框架合同")
|
||||||
|
@JsonProperty("is_framework")
|
||||||
|
@JSONField(name = "is_framework")
|
||||||
|
private Integer isFramework;
|
||||||
|
/** 清单合同 **/
|
||||||
|
@Schema(description = "清单合同")
|
||||||
|
@JsonProperty("is_detail_list")
|
||||||
|
@JSONField(name = "is_detail_list")
|
||||||
|
private Integer isDetailList;
|
||||||
|
/** 启用产品清单 **/
|
||||||
|
@Schema(description = "启用产品清单")
|
||||||
|
@JsonProperty("enable_tableProductList")
|
||||||
|
@JSONField(name = "enable_tableProductList")
|
||||||
|
private Integer enableTableProductList;
|
||||||
|
/** 启用材料清单 **/
|
||||||
|
@Schema(description = "启用材料清单")
|
||||||
|
@JsonProperty("enable_tableMaterialList")
|
||||||
|
@JSONField(name = "enable_tableMaterialList")
|
||||||
|
private Integer enableTableMaterialList;
|
||||||
|
/** 启用人力清单 **/
|
||||||
|
@Schema(description = "启用人力清单")
|
||||||
|
@JsonProperty("enable_tableWorktypeList")
|
||||||
|
@JSONField(name = "enable_tableWorktypeList")
|
||||||
|
private Integer enableTableWorktypeList;
|
||||||
|
/** 启用资产清单 **/
|
||||||
|
@Schema(description = "启用资产清单")
|
||||||
|
@JsonProperty("enable_tableAssetList")
|
||||||
|
@JSONField(name = "enable_tableAssetList")
|
||||||
|
private Integer enableTableAssetList;
|
||||||
|
/** 启用任务清单 **/
|
||||||
|
@Schema(description = "启用任务清单")
|
||||||
|
@JsonProperty("enable_tableTaskList")
|
||||||
|
@JSONField(name = "enable_tableTaskList")
|
||||||
|
private Integer enableTableTaskList;
|
||||||
|
/** 合同类型 **/
|
||||||
|
@Schema(description = "合同类型")
|
||||||
|
@JsonProperty("contract_type")
|
||||||
|
@JSONField(name = "contract_type")
|
||||||
|
private Object contractType;
|
||||||
|
/** 启用在线打印 **/
|
||||||
|
@Schema(description = "启用在线打印")
|
||||||
|
@JsonProperty("enable_printing")
|
||||||
|
@JSONField(name = "enable_printing")
|
||||||
|
private Integer enablePrinting;
|
||||||
|
/** 我方签约类型 **/
|
||||||
|
@Schema(description = "我方签约类型")
|
||||||
|
@JsonProperty("our_company_type")
|
||||||
|
@JSONField(name = "our_company_type")
|
||||||
|
private Object ourCompanyType;
|
||||||
|
/** 乙方签约类型 **/
|
||||||
|
@Schema(description = "乙方签约类型")
|
||||||
|
@JsonProperty("second_party_type")
|
||||||
|
@JSONField(name = "second_party_type")
|
||||||
|
private Object secondPartyType;
|
||||||
|
/** 丙方签约类型 **/
|
||||||
|
@Schema(description = "丙方签约类型")
|
||||||
|
@JsonProperty("third_party_type")
|
||||||
|
@JSONField(name = "third_party_type")
|
||||||
|
private Object thirdPartyType;
|
||||||
|
|
||||||
|
/** 子表数据 **/
|
||||||
|
@Schema(description = "contractPrintingTemp子表数据")
|
||||||
|
@JsonProperty("contractPrintingTempList")
|
||||||
|
private List<ContractPrintingTempModel> contractPrintingTempList;
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
package com.yunzhupaas.cm.model.contracttemp;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.annotation.JSONField;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import com.yunzhupaas.base.Pagination;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* 合同模版管理
|
||||||
|
* @版本: V5.2.7
|
||||||
|
* @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有
|
||||||
|
* @作者: 深圳市乐程软件有限公司
|
||||||
|
* @日期: 2026-05-21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Schema(description = "列表查询参数")
|
||||||
|
public class ContractTempPagination extends Pagination {
|
||||||
|
/** 关键词搜索 */
|
||||||
|
@Schema(description = "关键词搜索")
|
||||||
|
private String yunzhupaasKeyword;
|
||||||
|
/** 查询key */
|
||||||
|
@Schema(description = "查询key")
|
||||||
|
private String[] selectKey;
|
||||||
|
/** 选中数据数组id */
|
||||||
|
@Schema(description = "选中数据数组id")
|
||||||
|
private Object[] selectIds;
|
||||||
|
/** json */
|
||||||
|
@Schema(description = "json")
|
||||||
|
private String json;
|
||||||
|
/** 数据类型 0-当前页,1-全部数据 */
|
||||||
|
@Schema(description = "数据类型 0-当前页,1-全部数据")
|
||||||
|
private String dataType;
|
||||||
|
/** 高级查询 */
|
||||||
|
@Schema(description = "高级查询")
|
||||||
|
private String superQueryJson;
|
||||||
|
/** 功能id */
|
||||||
|
@Schema(description = "功能id")
|
||||||
|
private String moduleId;
|
||||||
|
/** 菜单id */
|
||||||
|
@Schema(description = "菜单id")
|
||||||
|
private String menuId;
|
||||||
|
}
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<parent>
|
|
||||||
<artifactId>yunzhupaas-java-boot</artifactId>
|
|
||||||
<groupId>com.yunzhupaas</groupId>
|
|
||||||
<version>5.2.0-RELEASE</version>
|
|
||||||
</parent>
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
|
|
||||||
<artifactId>yunzhupaas-example</artifactId>
|
|
||||||
<packaging>pom</packaging>
|
|
||||||
<modules>
|
|
||||||
<module>yunzhupaas-example-entity</module>
|
|
||||||
<module>yunzhupaas-example-biz</module>
|
|
||||||
<module>yunzhupaas-example-controller</module>
|
|
||||||
</modules>
|
|
||||||
|
|
||||||
</project>
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<parent>
|
|
||||||
<artifactId>yunzhupaas-example</artifactId>
|
|
||||||
<groupId>com.yunzhupaas</groupId>
|
|
||||||
<version>5.2.0-RELEASE</version>
|
|
||||||
</parent>
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
|
|
||||||
<artifactId>yunzhupaas-example-biz</artifactId>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.yunzhupaas</groupId>
|
|
||||||
<artifactId>yunzhupaas-example-entity</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.yunzhupaas</groupId>
|
|
||||||
<artifactId>yunzhupaas-generater-base</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
</project>
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
package com.yunzhupaas.service.impl;
|
|
||||||
|
|
||||||
import com.yunzhupaas.base.service.SuperServiceImpl;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import com.yunzhupaas.base.Pagination;
|
|
||||||
import com.yunzhupaas.entity.ContractEntity;
|
|
||||||
import com.yunzhupaas.util.RandomUtil;
|
|
||||||
import com.yunzhupaas.util.StringUtil;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author 云筑产品开发平台组
|
|
||||||
* @version V3.1.0
|
|
||||||
* @copyright 深圳市乐程软件有限公司
|
|
||||||
* @date 2024/3/16 9:47
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
public class ContractServiceImpl extends SuperServiceImpl<ContractMapper, ContractEntity> implements ContractService {
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<ContractEntity> getlist(Pagination pagination){
|
|
||||||
//通过UserProvider获取用户信息
|
|
||||||
QueryWrapper<ContractEntity> queryWrapper = new QueryWrapper<>();
|
|
||||||
if (!StringUtil.isEmpty(pagination.getKeyword())) {
|
|
||||||
queryWrapper.lambda().and(
|
|
||||||
t -> t.like(ContractEntity::getContractName, pagination.getKeyword())
|
|
||||||
.or().like(ContractEntity::getMytelePhone, pagination.getKeyword())
|
|
||||||
);
|
|
||||||
}
|
|
||||||
//排序
|
|
||||||
if (StringUtil.isEmpty(pagination.getSidx())) {
|
|
||||||
} else {
|
|
||||||
queryWrapper = "asc".equals(pagination.getSort().toLowerCase()) ? queryWrapper.orderByAsc(pagination.getSidx()) : queryWrapper.orderByDesc(pagination.getSidx());
|
|
||||||
}
|
|
||||||
Page<ContractEntity> page = new Page<>(pagination.getCurrentPage(), pagination.getPageSize());
|
|
||||||
IPage<ContractEntity> userPage = this.page(page, queryWrapper);
|
|
||||||
return pagination.setData(userPage.getRecords(), page.getTotal());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ContractEntity getInfo(String id){
|
|
||||||
QueryWrapper<ContractEntity> queryWrapper = new QueryWrapper<>();
|
|
||||||
queryWrapper.lambda().eq(ContractEntity::getId, id);
|
|
||||||
return this.getOne(queryWrapper);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@DSTransactional
|
|
||||||
public void create(ContractEntity entity){
|
|
||||||
entity.setId(RandomUtil.uuId());
|
|
||||||
this.save(entity);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@DSTransactional
|
|
||||||
public void update(String id, ContractEntity entity){
|
|
||||||
entity.setId(id);
|
|
||||||
this.updateById(entity);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void delete(ContractEntity entity) {
|
|
||||||
if (entity != null) {
|
|
||||||
this.removeById(entity.getId());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<parent>
|
|
||||||
<artifactId>yunzhupaas-example</artifactId>
|
|
||||||
<groupId>com.yunzhupaas</groupId>
|
|
||||||
<version>5.2.0-RELEASE</version>
|
|
||||||
</parent>
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
|
|
||||||
<artifactId>yunzhupaas-example-controller</artifactId>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.yunzhupaas</groupId>
|
|
||||||
<artifactId>yunzhupaas-example-biz</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
</project>
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<parent>
|
|
||||||
<artifactId>yunzhupaas-example</artifactId>
|
|
||||||
<groupId>com.yunzhupaas</groupId>
|
|
||||||
<version>5.2.0-RELEASE</version>
|
|
||||||
</parent>
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
|
|
||||||
<artifactId>yunzhupaas-example-entity</artifactId>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.yunzhupaas</groupId>
|
|
||||||
<artifactId>yunzhupaas-common-all</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
</project>
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
package com.yunzhupaas.entity;
|
|
||||||
|
|
||||||
import com.yunzhupaas.base.entity.SuperBaseEntity;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* Contract
|
|
||||||
* 版本: V3.0.0
|
|
||||||
* 版权: 深圳市乐程软件有限公司(http://www.szlecheng.cn)
|
|
||||||
* 作者: 云筑产品开发平台组
|
|
||||||
* 日期: 2020-12-31
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@TableName("test_contract")
|
|
||||||
public class ContractEntity extends SuperBaseEntity.SuperTBaseEntity<String> implements Serializable {
|
|
||||||
|
|
||||||
@TableField("F_CONTRACTNAME")
|
|
||||||
private String contractName;
|
|
||||||
|
|
||||||
@TableField("F_MYTELEPHONE")
|
|
||||||
private String mytelePhone;
|
|
||||||
|
|
||||||
@TableField("F_FILEJSON")
|
|
||||||
private String fileJson;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
package com.yunzhupaas.model;
|
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* 版本: V3.0.0
|
|
||||||
* 版权: 深圳市乐程软件有限公司(http://www.szlecheng.cn)
|
|
||||||
* 作者: 云筑产品开发平台组
|
|
||||||
* 日期: 2020-12-31
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class ContractForm {
|
|
||||||
|
|
||||||
@Schema(description = "姓名")
|
|
||||||
private String contractName;
|
|
||||||
|
|
||||||
@Schema(description = "手机号")
|
|
||||||
private String mytelePhone;
|
|
||||||
|
|
||||||
@Schema(description = "文件")
|
|
||||||
private String fileJson;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
package com.yunzhupaas.model;
|
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* 版本: V3.0.0
|
|
||||||
* 版权: 深圳市乐程软件有限公司(http://www.szlecheng.cn)
|
|
||||||
* 作者: 云筑产品开发平台组
|
|
||||||
* 日期: 2020-12-31
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class ContractInfoVO {
|
|
||||||
@Schema(description = "主键")
|
|
||||||
private String id;
|
|
||||||
|
|
||||||
@Schema(description = "姓名")
|
|
||||||
private String contractName;
|
|
||||||
|
|
||||||
@Schema(description = "手机号")
|
|
||||||
private String mytelePhone;
|
|
||||||
|
|
||||||
@Schema(description = "文件")
|
|
||||||
private String fileJson;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
package com.yunzhupaas.model;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* 版本: V3.0.0
|
|
||||||
* 版权: 深圳市乐程软件有限公司(http://www.szlecheng.cn)
|
|
||||||
* 作者: 云筑产品开发平台组
|
|
||||||
* 日期: 2020-12-31
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class ContractListVO extends ContractInfoVO {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user