Merge branch 'master' of https://code.szlecheng.cn/yunzhupaas/yunzhupass-java-boot.git
This commit is contained in:
1
pom.xml
1
pom.xml
@@ -19,7 +19,6 @@
|
||||
<module>yunzhupaas-oauth</module>
|
||||
<module>yunzhupaas-system</module>
|
||||
<module>yunzhupaas-public/yunzhupaas-common-all</module>
|
||||
<module>yunzhupaas-example</module>
|
||||
<module>yunzhupaas-extend</module>
|
||||
<module>yunzhupaas-visualdev</module>
|
||||
<!-- <module>yunzhupaas-workflow</module>-->
|
||||
|
||||
@@ -85,11 +85,6 @@
|
||||
<artifactId>yunzhupaas-oauth-controller</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.yunzhupaas</groupId>-->
|
||||
<!-- <artifactId>yunzhupaas-example-controller</artifactId>-->
|
||||
<!-- <version>${project.version}</version>-->
|
||||
<!-- </dependency>-->
|
||||
<dependency>
|
||||
<groupId>com.yunzhupaas</groupId>
|
||||
<artifactId>yunzhupaas-app-controller</artifactId>
|
||||
@@ -97,6 +92,11 @@
|
||||
</dependency>
|
||||
|
||||
<!-- 基础信息-->
|
||||
<dependency>
|
||||
<groupId>com.yunzhupaas</groupId>
|
||||
<artifactId>yunzhupaas-bc-controller</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yunzhupaas</groupId>
|
||||
<artifactId>yunzhupaas-mdm-controller</artifactId>
|
||||
@@ -107,11 +107,6 @@
|
||||
<artifactId>yunzhupaas-cm-controller</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yunzhupaas</groupId>
|
||||
<artifactId>yunzhupaas-bc-controller</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.yunzhupaas</groupId>
|
||||
|
||||
@@ -24,9 +24,9 @@ spring:
|
||||
# host: aliyun.szlecheng.cn
|
||||
host: mysql.szlecheng.cn
|
||||
port: 13306
|
||||
username: jnpfsoft
|
||||
password: ZtRmzjij4CiaXpSE
|
||||
db-name: jnpfsoft_dev
|
||||
username: oa_yunzhupaas
|
||||
password: OAYUNZHUPAAS
|
||||
db-name: oa_yunzhupass
|
||||
db-schema: #金仓达梦选填
|
||||
prepare-url: #自定义url
|
||||
|
||||
@@ -205,8 +205,8 @@ config:
|
||||
enable-storage: true #启用存储
|
||||
enable-access: true #启用访问(线上请使用 Nginx 配置,效率更高)
|
||||
domain: "" # 访问域名,例如:“http://127.0.0.1:8030/”,注意后面要和 path-patterns 保持一致,“/”结尾,本地存储建议使用相对路径,方便后期更换域名
|
||||
# base-path: /data/work-data/upload/jnpfsoft/yunzhupaas-resources/ # 基础路径
|
||||
base-path: E:/XiangMu/yunzhu/zero-resources/ # 基础路径
|
||||
# base-path: /data/work-data/upload/yunzhupaas/yunzhupaas-resources/ # 基础路径
|
||||
base-path: E:/workspace/yunzhupaas/v2.0/springboot/yunzhupaas-resources/ # 基础路径
|
||||
path-patterns: /** # 访问路径
|
||||
storage-path: # 存储路径
|
||||
aliyun-oss: # 阿里云 OSS ,不使用的情况下可以不写
|
||||
|
||||
@@ -3,7 +3,7 @@ spring:
|
||||
name: yunzhupaas-boot
|
||||
profiles:
|
||||
# 指定环境配置 dev(开发环境-默认)、test(测试环境)、preview(预生产)、prod(生产环境)
|
||||
active: prod
|
||||
active: dev
|
||||
servlet:
|
||||
multipart: #文件传输配置
|
||||
max-file-size: 100MB #单个数据大小限制
|
||||
@@ -154,7 +154,7 @@ logging:
|
||||
log:
|
||||
level:
|
||||
# 等级 TRACE,DEBUG,INFO,WARN,ERROR(不区分大小写)
|
||||
root: info
|
||||
root: INFO
|
||||
path: log/${spring.application.name}
|
||||
mybatis:
|
||||
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