diff --git a/pom.xml b/pom.xml index cd9e41e..b1a63d2 100644 --- a/pom.xml +++ b/pom.xml @@ -35,8 +35,8 @@ yunzhupaas-flowable yunzhupaas-train yunzhupaas-mdm - yunzhupaas-crm - yunzhupaas-pcm + yunzhupaas-cm + yunzhupaas-bc diff --git a/yunzhupaas-admin/pom.xml b/yunzhupaas-admin/pom.xml index 3e87752..cd8f9dc 100644 --- a/yunzhupaas-admin/pom.xml +++ b/yunzhupaas-admin/pom.xml @@ -102,17 +102,16 @@ yunzhupaas-mdm-controller ${project.version} - - - - - - - - - - - + + com.yunzhupaas + yunzhupaas-cm-controller + ${project.version} + + + com.yunzhupaas + yunzhupaas-bc-controller + ${project.version} + com.yunzhupaas diff --git a/yunzhupaas-admin/src/main/resources/mapper/bsc/BillingItemMapper.xml b/yunzhupaas-admin/src/main/resources/mapper/bsc/BillingItemMapper.xml new file mode 100644 index 0000000..9dddc20 --- /dev/null +++ b/yunzhupaas-admin/src/main/resources/mapper/bsc/BillingItemMapper.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/yunzhupaas-admin/src/main/resources/mapper/bsc/ProjectExpbudgetTempMapper.xml b/yunzhupaas-admin/src/main/resources/mapper/bsc/ProjectExpbudgetTempMapper.xml new file mode 100644 index 0000000..2692cad --- /dev/null +++ b/yunzhupaas-admin/src/main/resources/mapper/bsc/ProjectExpbudgetTempMapper.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/yunzhupaas-admin/src/main/resources/mapper/bsc/ProjectTypeMapper.xml b/yunzhupaas-admin/src/main/resources/mapper/bsc/ProjectTypeMapper.xml new file mode 100644 index 0000000..ee6dc65 --- /dev/null +++ b/yunzhupaas-admin/src/main/resources/mapper/bsc/ProjectTypeMapper.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/yunzhupaas-admin/src/main/resources/mapper/crm/CrmLeadMapper.xml b/yunzhupaas-admin/src/main/resources/mapper/crm/CrmLeadMapper.xml new file mode 100644 index 0000000..92930d8 --- /dev/null +++ b/yunzhupaas-admin/src/main/resources/mapper/crm/CrmLeadMapper.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/yunzhupaas-admin/src/main/resources/mapper/mdm/AssetMapper.xml b/yunzhupaas-admin/src/main/resources/mapper/mdm/AssetMapper.xml new file mode 100644 index 0000000..578a88e --- /dev/null +++ b/yunzhupaas-admin/src/main/resources/mapper/mdm/AssetMapper.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/yunzhupaas-admin/src/main/resources/mapper/mdm/ProjectsMapper.xml b/yunzhupaas-admin/src/main/resources/mapper/mdm/ProjectsMapper.xml new file mode 100644 index 0000000..4ef628c --- /dev/null +++ b/yunzhupaas-admin/src/main/resources/mapper/mdm/ProjectsMapper.xml @@ -0,0 +1,13 @@ + + + + + + + + + diff --git a/yunzhupaas-crm/pom.xml b/yunzhupaas-bc/pom.xml similarity index 89% rename from yunzhupaas-crm/pom.xml rename to yunzhupaas-bc/pom.xml index ebe6241..bad66fd 100644 --- a/yunzhupaas-crm/pom.xml +++ b/yunzhupaas-bc/pom.xml @@ -9,12 +9,12 @@ 4.0.0 - yunzhupaas-crm + yunzhupaas-bc pom - yunzhupaas-crm-entity - yunzhupaas-crm-biz - yunzhupaas-crm-controller + yunzhupaas-bc-entity + yunzhupaas-bc-biz + yunzhupaas-bc-controller diff --git a/yunzhupaas-pcm/yunzhupaas-pcm-biz/pom.xml b/yunzhupaas-bc/yunzhupaas-bc-biz/pom.xml similarity index 83% rename from yunzhupaas-pcm/yunzhupaas-pcm-biz/pom.xml rename to yunzhupaas-bc/yunzhupaas-bc-biz/pom.xml index e566099..c68e1e7 100644 --- a/yunzhupaas-pcm/yunzhupaas-pcm-biz/pom.xml +++ b/yunzhupaas-bc/yunzhupaas-bc-biz/pom.xml @@ -3,18 +3,18 @@ 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"> - yunzhupaas-pcm + yunzhupaas-bc com.yunzhupaas 5.2.0-RELEASE 4.0.0 - yunzhupaas-pcm-biz + yunzhupaas-bc-biz com.yunzhupaas - yunzhupaas-pcm-entity + yunzhupaas-bc-entity ${project.version} diff --git a/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/mapper/BillingItemMapper.java b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/mapper/BillingItemMapper.java new file mode 100644 index 0000000..c98b60d --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/mapper/BillingItemMapper.java @@ -0,0 +1,17 @@ +package com.yunzhupaas.bsc.mapper; + + +import com.yunzhupaas.bsc.entity.BillingItemEntity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yunzhupaas.base.mapper.SuperMapper; + +/** + * 计费项目 + * 版本: V5.2.7 + * 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * 作者: 深圳市乐程软件有限公司 + * 日期: 2026-05-20 + */ +public interface BillingItemMapper extends SuperMapper { + +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/mapper/ProjectExpbudgetTempMapper.java b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/mapper/ProjectExpbudgetTempMapper.java new file mode 100644 index 0000000..0974fe7 --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/mapper/ProjectExpbudgetTempMapper.java @@ -0,0 +1,17 @@ +package com.yunzhupaas.bsc.mapper; + + +import com.yunzhupaas.bsc.entity.ProjectExpbudgetTempEntity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yunzhupaas.base.mapper.SuperMapper; + +/** + * 项目分类 + * 版本: V5.2.7 + * 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * 作者: 深圳市乐程软件有限公司 + * 日期: 2026-05-19 + */ +public interface ProjectExpbudgetTempMapper extends SuperMapper { + +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/mapper/ProjectTypeMapper.java b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/mapper/ProjectTypeMapper.java new file mode 100644 index 0000000..61971db --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/mapper/ProjectTypeMapper.java @@ -0,0 +1,17 @@ +package com.yunzhupaas.bsc.mapper; + + +import com.yunzhupaas.bsc.entity.ProjectTypeEntity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yunzhupaas.base.mapper.SuperMapper; + +/** + * 项目分类 + * 版本: V5.2.7 + * 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * 作者: 深圳市乐程软件有限公司 + * 日期: 2026-05-19 + */ +public interface ProjectTypeMapper extends SuperMapper { + +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/BillingItemService.java b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/BillingItemService.java new file mode 100644 index 0000000..fff5831 --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/BillingItemService.java @@ -0,0 +1,31 @@ +package com.yunzhupaas.bsc.service; + +import com.yunzhupaas.bsc.entity.*; +import com.yunzhupaas.base.service.SuperService; +import com.yunzhupaas.bsc.model.billingitem.*; +import java.util.*; + +/** + * 计费项目 + * 版本: V5.2.7 + * 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * 作者: 深圳市乐程软件有限公司 + * 日期: 2026-05-20 + */ +public interface BillingItemService extends SuperService { + List getList(BillingItemPagination billingItemPagination); + + List getTypeList(BillingItemPagination billingItemPagination,String dataType); + + BillingItemEntity getInfo(String billingitemid); + + void delete(BillingItemEntity entity); + + void create(BillingItemEntity entity); + + boolean update(String billingitemid, BillingItemEntity entity); + + String checkForm(BillingItemForm form,int i); + + void saveOrUpdate(BillingItemForm billingItemForm,String id, boolean isSave) throws Exception; +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/ProjectExpbudgetTempService.java b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/ProjectExpbudgetTempService.java new file mode 100644 index 0000000..ca6e5a6 --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/ProjectExpbudgetTempService.java @@ -0,0 +1,14 @@ +package com.yunzhupaas.bsc.service; + +import com.yunzhupaas.bsc.entity.*; +import com.yunzhupaas.base.service.SuperService; + +/** + * 项目分类 + * 版本: V5.2.7 + * 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * 作者: 深圳市乐程软件有限公司 + * 日期: 2026-05-19 + */ +public interface ProjectExpbudgetTempService extends SuperService { +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/ProjectTypeService.java b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/ProjectTypeService.java new file mode 100644 index 0000000..d06ba9d --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/ProjectTypeService.java @@ -0,0 +1,32 @@ +package com.yunzhupaas.bsc.service; + +import com.yunzhupaas.bsc.entity.*; +import com.yunzhupaas.base.service.SuperService; +import com.yunzhupaas.bsc.model.projecttype.*; +import java.util.*; + +/** + * 项目分类 + * 版本: V5.2.7 + * 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * 作者: 深圳市乐程软件有限公司 + * 日期: 2026-05-19 + */ +public interface ProjectTypeService extends SuperService { + List getList(ProjectTypePagination projectTypePagination); + + List getTypeList(ProjectTypePagination projectTypePagination,String dataType); + + ProjectTypeEntity getInfo(String projecttypeid); + + void delete(ProjectTypeEntity entity); + + void create(ProjectTypeEntity entity); + + boolean update(String projecttypeid, ProjectTypeEntity entity); + + String checkForm(ProjectTypeForm form,int i); + + void saveOrUpdate(ProjectTypeForm projectTypeForm,String id, boolean isSave) throws Exception; + List> getTreeList(); +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/impl/BillingItemServiceImpl.java b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/impl/BillingItemServiceImpl.java new file mode 100644 index 0000000..8383f99 --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/impl/BillingItemServiceImpl.java @@ -0,0 +1,338 @@ + +package com.yunzhupaas.bsc.service.impl; + +import com.yunzhupaas.bsc.entity.*; +import com.yunzhupaas.bsc.mapper.BillingItemMapper; +import com.yunzhupaas.bsc.service.*; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yunzhupaas.bsc.model.billingitem.*; +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-20 + */ +@Service +public class BillingItemServiceImpl extends SuperServiceImpl implements BillingItemService{ + @Autowired + private GeneraterSwapUtil generaterSwapUtil; + @Autowired + private UserProvider userProvider; + @Override + public List getList(BillingItemPagination billingItemPagination){ + return getTypeList(billingItemPagination,billingItemPagination.getDataType()); + } + /** 列表查询 */ + @Override + public List getTypeList(BillingItemPagination billingItemPagination,String dataType){ + String userId=userProvider.get().getUserId(); + Map tableClassMap=new HashMap<>(); + tableClassMap.put("bc_billing_item",BillingItemEntity.class); + + MPJLambdaWrapper wrapper = JoinWrappers + .lambda("bc_billing_item",BillingItemEntity.class) + .selectAll(BillingItemEntity.class); + MPJLambdaWrapper wrapper2 = JoinWrappers + .lambda("bc_billing_item",BillingItemEntity.class) + .distinct().select(BillingItemEntity::getBillingItemId); + + QueryAllModel queryAllModel = new QueryAllModel(); + queryAllModel.setWrapper(wrapper); + queryAllModel.setClassMap(tableClassMap); + queryAllModel.setDbLink(BillingItemConstant.DBLINKID); + //数据过滤 + boolean isPc = ServletUtil.getHeader("yunzhupaas-origin").equals("pc"); + String columnData = !isPc ? BillingItemConstant.getAppColumnData() : BillingItemConstant.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(billingItemPagination.getSuperQueryJson()); + } + //数据权限 + boolean pcPermission = true; + boolean appPermission = false; + if (isPc && pcPermission) { + queryAllModel.setModuleId(billingItemPagination.getMenuId()); + } + if (!isPc && appPermission) { + queryAllModel.setModuleId(billingItemPagination.getMenuId()); + } + //拼接复杂条件 + wrapper = generaterSwapUtil.getConditionAllTable(queryAllModel); + if(wrapper == null) return new ArrayList<>(); + queryAllModel.setWrapper(wrapper2); + wrapper2 = generaterSwapUtil.getConditionAllTable(queryAllModel); + //其他条件拼接 + otherConditions(billingItemPagination, wrapper, isPc); + otherConditions(billingItemPagination, wrapper2, isPc); + + if("0".equals(dataType)){ + com.github.pagehelper.Page objects = PageHelper.startPage((int) billingItemPagination.getCurrentPage(), (int) billingItemPagination.getPageSize(), true); + List userIPage = this.selectJoinList(BillingItemEntity.class, wrapper2); + List collect = userIPage.stream().map(t -> t.getBillingItemId()).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(collect)){ + wrapper.in(BillingItemEntity::getBillingItemId,collect); + } + List result = this.selectJoinList(BillingItemEntity.class, wrapper); + return billingItemPagination.setData(result,objects.getTotal()); + }else{ + List list = this.selectJoinList(BillingItemEntity.class, wrapper); + if("2".equals(dataType)){ + List selectIds = Arrays.asList(billingItemPagination.getSelectIds()); + return list.stream().filter(t -> selectIds.contains(t.getBillingItemId())).collect(Collectors.toList()); + }else{ + return list; + } + } + + } + + /** + * 其他条件拼接 + */ + private void otherConditions(BillingItemPagination billingItemPagination, MPJLambdaWrapper 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(BillingItemEntity::getFlowId); + //关键词 + if(ObjectUtil.isNotEmpty(billingItemPagination.getYunzhupaasKeyword())){ + } + //普通查询 + if(isPc){ + if(ObjectUtil.isNotEmpty(billingItemPagination.getBillingItemName())){ + String value = billingItemPagination.getBillingItemName() instanceof List ? + JsonUtil.getObjectToString(billingItemPagination.getBillingItemName()) : + String.valueOf(billingItemPagination.getBillingItemName()); + wrapper.like(BillingItemEntity::getBillingItemName,value); + } + + if(ObjectUtil.isNotEmpty(billingItemPagination.getBillingItemType())){ + List idList = new ArrayList<>(); + try { + String[][] billingItemType = JsonUtil.getJsonToBean(billingItemPagination.getBillingItemType(),String[][].class); + for(int i=0;i0){ + idList.add(JsonUtil.getObjectToString(Arrays.asList(billingItemType[i]))); + } + } + }catch (Exception e1){ + try { + List billingItemType = JsonUtil.getJsonToList(billingItemPagination.getBillingItemType(),String.class); + if(billingItemType.size()>0){ + idList.addAll(billingItemType); + } + }catch (Exception e2){ + idList.add(String.valueOf(billingItemPagination.getBillingItemType())); + } + } + wrapper.and(t->{ + idList.forEach(tt->{ + if(StringUtil.isNotEmpty(tt) && "Microsoft SQL Server".equalsIgnoreCase(databaseName)){ + tt = tt.replaceFirst("\\[","[[]"); + } + t.like(BillingItemEntity::getBillingItemType, tt).or(); + }); + }); + } + + } + //排序 + if(StringUtil.isEmpty(billingItemPagination.getSidx())){ + wrapper.orderByDesc(BillingItemEntity::getBillingItemId); + }else{ + try { + String[] split = billingItemPagination.getSidx().split(","); + for(String sidx:split){ + BillingItemEntity billingItemEntity = new BillingItemEntity(); + String oderTableField = billingItemEntity.getClass().getAnnotation(TableName.class).value(); + boolean descFlag = sidx.startsWith("-"); + String sidxField = descFlag ? sidx.substring(1) : sidx; + try{ + Field declaredField = billingItemEntity.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 BillingItemEntity getInfo(String billingitemid){ + MPJLambdaWrapper wrapper = JoinWrappers + .lambda("bc_billing_item",BillingItemEntity.class) + .selectAll(BillingItemEntity.class); + wrapper.and( + t->t.eq(BillingItemEntity::getBillingItemId, billingitemid ) + .or().eq(BillingItemEntity::getFlowTaskId, billingitemid) + ); + return this.selectJoinOne(BillingItemEntity.class,wrapper); + } + @Override + public void create(BillingItemEntity entity){ + this.save(entity); + } + @Override + public boolean update(String billingitemid, BillingItemEntity entity){ + return this.updateById(entity); + } + @Override + public void delete(BillingItemEntity entity){ + if(entity!=null){ + this.removeById(entity.getBillingItemId()); + } + } + /** 验证表单唯一字段,正则,非空 i-0新增-1修改*/ + @Override + public String checkForm(BillingItemForm form,int i) { + boolean isUp =StringUtil.isNotEmpty(form.getBillingItemId()) && !form.getBillingItemId().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.getBillingItemId(); + } + //验证业务主键 + String businessErr = checkBusinessKey(form, isUp ? id : null, null); + if (StringUtil.isNotEmpty(businessErr)) { + return businessErr; + } + //主表字段验证 + fieldTipName = "计费项目编码"; + if(StringUtil.isEmpty(form.getBillingItemCode())){ + return fieldTipName + canNotNull; + } + if(StringUtil.isNotEmpty(form.getBillingItemCode())){ + form.setBillingItemCode(form.getBillingItemCode().trim()); + QueryWrapper billing_item_codeWrapper=new QueryWrapper<>(); + billing_item_codeWrapper.lambda().eq(BillingItemEntity::getBillingItemCode,form.getBillingItemCode()); + billing_item_codeWrapper.lambda().isNull(BillingItemEntity::getFlowId); + if (isUp){ + billing_item_codeWrapper.lambda().ne(BillingItemEntity::getBillingItemId, id); + } + if((int) this.count(billing_item_codeWrapper)>0){ + countRecover = fieldTipName + canNotRepeated; + } + } + fieldTipName = "计费项目名称"; + if(StringUtil.isEmpty(form.getBillingItemName())){ + return fieldTipName + canNotNull; + } + fieldTipName = "费用类别"; + fieldTipName = "备注"; + return countRecover; + } + /** + * 验证业务主键 + */ + private String checkBusinessKey(BillingItemForm form, Object id, List flowIds){ + QueryWrapper wrapper = new QueryWrapper<>(); + //修改 + if (id != null){ + wrapper.lambda().ne(BillingItemEntity::getBillingItemId, id); + } + //是否流程 + if(flowIds == null){ + wrapper.lambda().isNull(BillingItemEntity::getFlowId); + }else{ + wrapper.lambda().in(BillingItemEntity::getFlowId, flowIds); + } + //计费项目编码字段判断 + if(form.getBillingItemCode() == null || form.getBillingItemCode().toString().trim().isEmpty()){ + wrapper.lambda().isNull(BillingItemEntity::getBillingItemCode); + }else{ + wrapper.lambda().eq(BillingItemEntity::getBillingItemCode, form.getBillingItemCode()); + } + if((int) this.count(wrapper)>0){ + return "计费项目编码已存在,请勿重复提交!"; + } + return ""; + } + /** + * 新增修改数据(事务回滚) + * @param id + * @param billingItemForm + * @return + */ + @Override + @Transactional + public void saveOrUpdate(BillingItemForm billingItemForm,String id, boolean isSave) throws Exception{ + UserInfo userInfo=userProvider.get(); + UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId()); + billingItemForm = JsonUtil.getJsonToBean( + generaterSwapUtil.swapDatetime(BillingItemConstant.getFormData(),billingItemForm,BillingItemConstant.TABLERENAMES),BillingItemForm.class); + BillingItemEntity entity = JsonUtil.getJsonToBean(billingItemForm, BillingItemEntity.class); + String mainUuid = StringUtil.isEmpty(id) ? RandomUtil.uuId() : id; + if(isSave){ + entity.setFlowTaskId(mainUuid); + entity.setBillingItemId(mainUuid); + } else { + } + boolean b = this.saveOrUpdate(entity); + BillingItemEntity info = this.getInfo(mainUuid); + if (info == null) throw new RuntimeException(MsgCode.FA001.get()); + + } +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/impl/ProjectExpbudgetTempServiceImpl.java b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/impl/ProjectExpbudgetTempServiceImpl.java new file mode 100644 index 0000000..88dab50 --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/impl/ProjectExpbudgetTempServiceImpl.java @@ -0,0 +1,34 @@ + +package com.yunzhupaas.bsc.service.impl; + +import com.yunzhupaas.bsc.entity.*; +import com.yunzhupaas.bsc.mapper.ProjectExpbudgetTempMapper; +import com.yunzhupaas.bsc.service.*; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yunzhupaas.bsc.model.projecttype.*; +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-19 + */ +@Service +public class ProjectExpbudgetTempServiceImpl extends SuperServiceImpl implements ProjectExpbudgetTempService{ + @Autowired + private GeneraterSwapUtil generaterSwapUtil; +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/impl/ProjectTypeServiceImpl.java b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/impl/ProjectTypeServiceImpl.java new file mode 100644 index 0000000..8b555fe --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-biz/src/main/java/com/yunzhupaas/bsc/service/impl/ProjectTypeServiceImpl.java @@ -0,0 +1,305 @@ + +package com.yunzhupaas.bsc.service.impl; + +import com.yunzhupaas.bsc.entity.*; +import com.yunzhupaas.bsc.mapper.ProjectTypeMapper; +import com.yunzhupaas.bsc.service.*; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yunzhupaas.bsc.model.projecttype.*; +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-19 + */ +@Service +public class ProjectTypeServiceImpl extends SuperServiceImpl implements ProjectTypeService{ + @Autowired + private GeneraterSwapUtil generaterSwapUtil; + @Autowired + private UserProvider userProvider; + + @Autowired + private ProjectTypeMapper projectTypeMapper; + @Override + public List getList(ProjectTypePagination projectTypePagination){ + return getTypeList(projectTypePagination,projectTypePagination.getDataType()); + } + /** 列表查询 */ + @Override + public List getTypeList(ProjectTypePagination projectTypePagination,String dataType){ + String userId=userProvider.get().getUserId(); + Map tableClassMap=new HashMap<>(); + tableClassMap.put("bc_project_type",ProjectTypeEntity.class); + tableClassMap.put("bc_project_expbudget_temp",ProjectExpbudgetTempEntity.class); + + MPJLambdaWrapper wrapper = JoinWrappers + .lambda("bc_project_type",ProjectTypeEntity.class) + .selectAssociation(ProjectExpbudgetTempEntity.class,ProjectTypeEntity::getProjectExpbudgetTemp) + .leftJoin(ProjectExpbudgetTempEntity.class,"bc_project_expbudget_temp",ProjectExpbudgetTempEntity::getProjectTypeId,ProjectTypeEntity::getProjectTypeId) + .selectAll(ProjectTypeEntity.class); + MPJLambdaWrapper wrapper2 = JoinWrappers + .lambda("bc_project_type",ProjectTypeEntity.class) + .leftJoin(ProjectExpbudgetTempEntity.class,"bc_project_expbudget_temp",ProjectExpbudgetTempEntity::getProjectTypeId,ProjectTypeEntity::getProjectTypeId) + .distinct().select(ProjectTypeEntity::getProjectTypeId); + + QueryAllModel queryAllModel = new QueryAllModel(); + queryAllModel.setWrapper(wrapper); + queryAllModel.setClassMap(tableClassMap); + queryAllModel.setDbLink(ProjectTypeConstant.DBLINKID); + //数据过滤 + boolean isPc = ServletUtil.getHeader("yunzhupaas-origin").equals("pc"); + String columnData = !isPc ? ProjectTypeConstant.getAppColumnData() : ProjectTypeConstant.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(projectTypePagination.getSuperQueryJson()); + } + //数据权限 + boolean pcPermission = true; + boolean appPermission = false; + if (isPc && pcPermission) { + queryAllModel.setModuleId(projectTypePagination.getMenuId()); + } + if (!isPc && appPermission) { + queryAllModel.setModuleId(projectTypePagination.getMenuId()); + } + //拼接复杂条件 + wrapper = generaterSwapUtil.getConditionAllTable(queryAllModel); + if(wrapper == null) return new ArrayList<>(); + queryAllModel.setWrapper(wrapper2); + wrapper2 = generaterSwapUtil.getConditionAllTable(queryAllModel); + //其他条件拼接 + otherConditions(projectTypePagination, wrapper, isPc); + otherConditions(projectTypePagination, wrapper2, isPc); + + //分组和树形生成这个代码,pc端返回全部数据 !"2".equals(dataType)导出选中数据 + if(isPc && !"2".equals(dataType)){ + dataType = "1"; + } + if("0".equals(dataType)){ + com.github.pagehelper.Page objects = PageHelper.startPage((int) projectTypePagination.getCurrentPage(), (int) projectTypePagination.getPageSize(), true); + List userIPage = this.selectJoinList(ProjectTypeEntity.class, wrapper2); + List collect = userIPage.stream().map(t -> t.getProjectTypeId()).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(collect)){ + wrapper.in(ProjectTypeEntity::getProjectTypeId,collect); + } + List result = this.selectJoinList(ProjectTypeEntity.class, wrapper); + return projectTypePagination.setData(result,objects.getTotal()); + }else{ + List list = this.selectJoinList(ProjectTypeEntity.class, wrapper); + if("2".equals(dataType)){ + List selectIds = Arrays.asList(projectTypePagination.getSelectIds()); + return list.stream().filter(t -> selectIds.contains(t.getProjectTypeId())).collect(Collectors.toList()); + }else{ + return list; + } + } + + } + + /** + * 其他条件拼接 + */ + private void otherConditions(ProjectTypePagination projectTypePagination, MPJLambdaWrapper 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(ProjectTypeEntity::getFlowId); + //关键词 + if(ObjectUtil.isNotEmpty(projectTypePagination.getYunzhupaasKeyword())){ + } + //普通查询 + if(isPc){ + if(ObjectUtil.isNotEmpty(projectTypePagination.getProjectTypeName())){ + String value = projectTypePagination.getProjectTypeName() instanceof List ? + JsonUtil.getObjectToString(projectTypePagination.getProjectTypeName()) : + String.valueOf(projectTypePagination.getProjectTypeName()); + wrapper.like(ProjectTypeEntity::getProjectTypeName,value); + } + + } + //排序 + if(StringUtil.isEmpty(projectTypePagination.getSidx())){ + wrapper.orderByDesc(ProjectTypeEntity::getProjectTypeId); + }else{ + try { + String[] split = projectTypePagination.getSidx().split(","); + for(String sidx:split){ + ProjectTypeEntity projectTypeEntity = new ProjectTypeEntity(); + String oderTableField = projectTypeEntity.getClass().getAnnotation(TableName.class).value(); + boolean descFlag = sidx.startsWith("-"); + String sidxField = descFlag ? sidx.substring(1) : sidx; + try{ + Field declaredField = projectTypeEntity.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 ProjectTypeEntity getInfo(String projecttypeid){ + MPJLambdaWrapper wrapper = JoinWrappers + .lambda("bc_project_type",ProjectTypeEntity.class) + .selectAssociation(ProjectExpbudgetTempEntity.class,ProjectTypeEntity::getProjectExpbudgetTemp) + .leftJoin(ProjectExpbudgetTempEntity.class,"bc_project_expbudget_temp",ProjectExpbudgetTempEntity::getProjectTypeId,ProjectTypeEntity::getProjectTypeId) + .selectAll(ProjectTypeEntity.class); + wrapper.and( + t->t.eq(ProjectTypeEntity::getProjectTypeId, projecttypeid ) + .or().eq(ProjectTypeEntity::getFlowTaskId, projecttypeid) + ); + return this.selectJoinOne(ProjectTypeEntity.class,wrapper); + } + @Override + public void create(ProjectTypeEntity entity){ + this.save(entity); + } + @Override + public boolean update(String projecttypeid, ProjectTypeEntity entity){ + return this.updateById(entity); + } + @Override + public void delete(ProjectTypeEntity entity){ + if(entity!=null){ + this.removeById(entity.getProjectTypeId()); + } + } + /** 验证表单唯一字段,正则,非空 i-0新增-1修改*/ + @Override + public String checkForm(ProjectTypeForm form,int i) { + boolean isUp =StringUtil.isNotEmpty(form.getProjectTypeId()) && !form.getProjectTypeId().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.getProjectTypeId(); + } + //主表字段验证 + fieldTipName = "项目分类编码"; + fieldTipName = "项目分类名称"; + fieldTipName = "上级项目分类"; + fieldTipName = "顺序号"; + fieldTipName = "备注"; + return countRecover; + } + /** + * 新增修改数据(事务回滚) + * @param id + * @param projectTypeForm + * @return + */ + @Override + @Transactional + public void saveOrUpdate(ProjectTypeForm projectTypeForm,String id, boolean isSave) throws Exception{ + UserInfo userInfo=userProvider.get(); + UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId()); + projectTypeForm = JsonUtil.getJsonToBean( + generaterSwapUtil.swapDatetime(ProjectTypeConstant.getFormData(),projectTypeForm,ProjectTypeConstant.TABLERENAMES),ProjectTypeForm.class); + ProjectTypeEntity entity = JsonUtil.getJsonToBean(projectTypeForm, ProjectTypeEntity.class); + String mainUuid = StringUtil.isEmpty(id) ? RandomUtil.uuId() : id; + if(isSave){ + entity.setFlowTaskId(mainUuid); + entity.setProjectTypeId(mainUuid); + } else { + } + boolean b = this.saveOrUpdate(entity); + ProjectTypeEntity info = this.getInfo(mainUuid); + if (info == null) throw new RuntimeException(MsgCode.FA001.get()); + + } + + @Override + public List> getTreeList() { + List> result = new ArrayList<>(); + List list = projectTypeMapper.selectList(null); + for (ProjectTypeEntity node : list) { + if (node.getPid() == null || node.getPid().isEmpty() || "0".equals(node.getPid())) { + Map map = new HashMap<>(); + map.put("projectTypeId", node.getProjectTypeId()); + map.put("projectTypeName", node.getProjectTypeName()); + map.put("children", getChildrenSimple(list, node.getProjectTypeId())); + result.add(map); + } + } + + return result; + } + private List> getChildrenSimple(List list, String parentId) { + List> children = new ArrayList<>(); + for (ProjectTypeEntity node : list) { + if (parentId.equals(node.getPid())) { + Map map = new HashMap<>(); + map.put("projectTypeId", node.getProjectTypeId()); + map.put("projectTypeName", node.getProjectTypeName()); + map.put("children", getChildrenSimple(list, node.getProjectTypeId())); + children.add(map); + } + } + return children; + } + +} diff --git a/yunzhupaas-pcm/yunzhupaas-pcm-controller/pom.xml b/yunzhupaas-bc/yunzhupaas-bc-controller/pom.xml similarity index 79% rename from yunzhupaas-pcm/yunzhupaas-pcm-controller/pom.xml rename to yunzhupaas-bc/yunzhupaas-bc-controller/pom.xml index bbdc54d..6e4608c 100644 --- a/yunzhupaas-pcm/yunzhupaas-pcm-controller/pom.xml +++ b/yunzhupaas-bc/yunzhupaas-bc-controller/pom.xml @@ -3,18 +3,18 @@ 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"> - yunzhupaas-pcm + yunzhupaas-bc com.yunzhupaas 5.2.0-RELEASE 4.0.0 - yunzhupaas-pcm-controller + yunzhupaas-bc-controller com.yunzhupaas - yunzhupaas-pcm-biz + yunzhupaas-bc-biz ${project.version} diff --git a/yunzhupaas-bc/yunzhupaas-bc-controller/src/main/java/com/yunzhupaas/bsc/controller/BillingItemController.java b/yunzhupaas-bc/yunzhupaas-bc-controller/src/main/java/com/yunzhupaas/bsc/controller/BillingItemController.java new file mode 100644 index 0000000..9d47297 --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-controller/src/main/java/com/yunzhupaas/bsc/controller/BillingItemController.java @@ -0,0 +1,381 @@ +package com.yunzhupaas.bsc.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.bsc.service.*; +import com.yunzhupaas.bsc.entity.*; +import com.yunzhupaas.util.*; +import com.yunzhupaas.bsc.model.billingitem.*; +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.web.multipart.MultipartFile; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.ExcelImportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.ImportParams; +import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; +import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Workbook; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import com.yunzhupaas.onlinedev.model.ExcelImFieldModel; +import com.yunzhupaas.base.model.OnlineImport.ImportDataModel; +import com.yunzhupaas.base.model.OnlineImport.ImportFormCheckUniqueModel; +import com.yunzhupaas.base.model.OnlineImport.ExcelImportModel; +import com.yunzhupaas.base.model.OnlineImport.VisualImportModel; +import cn.xuyanwu.spring.file.storage.FileInfo; +import lombok.Cleanup; +import com.yunzhupaas.model.visualJson.config.HeaderModel; +import com.yunzhupaas.base.model.ColumnDataModel; +import com.yunzhupaas.base.util.VisualUtils; +import org.springframework.transaction.annotation.Transactional; + +/** + * 计费项目 + * @版本: V5.2.7 + * @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * @作者: 深圳市乐程软件有限公司 + * @日期: 2026-05-20 + */ +@Slf4j +@RestController +@Tag(name = "计费项目" , description = "1") +@RequestMapping("/api/bc/BillingItem") +public class BillingItemController { + + @Autowired + private GeneraterSwapUtil generaterSwapUtil; + + @Autowired + private UserProvider userProvider; + + @Autowired + private BillingItemService billingItemService; + + + + @Autowired + private ConfigValueUtil configValueUtil; + + /** + * 列表 + * + * @param billingItemPagination + * @return + */ + @Operation(summary = "获取列表") + @PostMapping("/getList") + public ActionResult list(@RequestBody BillingItemPagination billingItemPagination)throws Exception{ + List list= billingItemService.getList(billingItemPagination); + List> realList=new ArrayList<>(); + for (BillingItemEntity entity : list) { + Map billingItemMap=JsonUtil.entityToMap(entity); + billingItemMap.put("id", billingItemMap.get("billing_item_id")); + //副表数据 + //子表数据 + realList.add(billingItemMap); + } + //数据转换 + boolean isPc = "pc".equals(ServletUtil.getHeader("yunzhupaas-origin" )); + realList = generaterSwapUtil.swapDataList(realList, BillingItemConstant.getFormData(), BillingItemConstant.getColumnData(), billingItemPagination.getModuleId(),isPc?false:false); + + //返回对象 + PageListVO vo = new PageListVO(); + vo.setList(realList); + PaginationVO page = JsonUtil.getJsonToBean(billingItemPagination, PaginationVO.class); + vo.setPagination(page); + return ActionResult.success(vo); + } + /** + * 创建 + * + * @param billingItemForm + * @return + */ + @PostMapping() + @Operation(summary = "创建") + public ActionResult create(@RequestBody @Valid BillingItemForm billingItemForm) { + String b = billingItemService.checkForm(billingItemForm,0); + if (StringUtil.isNotEmpty(b)){ + return ActionResult.fail(b ); + } + try{ + billingItemService.saveOrUpdate(billingItemForm, null ,true); + }catch(Exception e){ + return ActionResult.fail(MsgCode.FA028.get()); + } + return ActionResult.success(MsgCode.SU001.get()); + } + /** + * 导出Excel + * + * @return + */ + @Operation(summary = "导出Excel") + @PostMapping("/Actions/Export") + public ActionResult Export(@RequestBody BillingItemPagination billingItemPagination) throws IOException { + if (StringUtil.isEmpty(billingItemPagination.getSelectKey())){ + return ActionResult.fail(MsgCode.IMP011.get()); + } + List list= billingItemService.getList(billingItemPagination); + List> realList=new ArrayList<>(); + for (BillingItemEntity entity : list) { + Map billingItemMap=JsonUtil.entityToMap(entity); + billingItemMap.put("id", billingItemMap.get("billing_item_id")); + //副表数据 + //子表数据 + realList.add(billingItemMap); + } + //数据转换 + realList = generaterSwapUtil.swapDataList(realList, BillingItemConstant.getFormData(), BillingItemConstant.getColumnData(), billingItemPagination.getModuleId(),false); + String[]keys=!StringUtil.isEmpty(billingItemPagination.getSelectKey())?billingItemPagination.getSelectKey():new String[0]; + UserInfo userInfo=userProvider.get(); + String menuFullName = generaterSwapUtil.getMenuName(billingItemPagination.getMenuId()); + + DownloadVO vo=this.creatModelExcel(configValueUtil.getTemporaryFilePath(),realList,keys,userInfo,menuFullName); + return ActionResult.success(vo); + } + + /** + * 导出表格方法 + */ + public DownloadVO creatModelExcel(String path,List>list,String[]keys,UserInfo userInfo,String menuFullName){ + DownloadVO vo=DownloadVO.builder().build(); + List entitys=new ArrayList<>(); + if(keys.length>0){ + for(String key:keys){ + switch(key){ + case "billing_item_code" : + entitys.add(new ExcelExportEntity("计费项目编码" ,"billing_item_code")); + break; + case "billing_item_name" : + entitys.add(new ExcelExportEntity("计费项目名称" ,"billing_item_name")); + break; + case "billing_item_type" : + entitys.add(new ExcelExportEntity("费用类别" ,"billing_item_type")); + break; + case "remark" : + entitys.add(new ExcelExportEntity("备注" ,"remark")); + break; + default: + break; + } + } + } + + ExportParams exportParams = new ExportParams(null, "表单信息"); + exportParams.setType(ExcelType.XSSF); + try{ + @Cleanup Workbook workbook = new HSSFWorkbook(); + if (entitys.size()>0){ + if (list.size()==0){ + list.add(new HashMap<>()); + } + //去除空数据 + List> dataList = new ArrayList<>(); + for (Map map : list) { + int i = 0; + for (String key : keys) { + //子表 + if (key.toLowerCase().startsWith("tablefield")) { + String tableField = key.substring(0, key.indexOf("-" )); + String field = key.substring(key.indexOf("-" ) + 1); + Object o = map.get(tableField); + if (o != null) { + List> childList = (List>) o; + for (Map childMap : childList) { + if (childMap.get(field) != null) { + i++; + } + } + } + } else { + Object o = map.get(key); + if (o != null) { + i++; + } + } + } + if (i > 0) { + dataList.add(map); + } + } + List mergerEntitys = new ArrayList<>(entitys); + List> mergerList=new ArrayList<>(dataList); + //复杂表头-表头和数据处理 + ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(BillingItemConstant.getColumnData(), ColumnDataModel.class); + List complexHeaderList = columnDataModel.getComplexHeaderList(); + if (!Objects.equals(columnDataModel.getType(), 3) && !Objects.equals(columnDataModel.getType(), 5)) { + entitys = VisualUtils.complexHeaderHandel(entitys, complexHeaderList, Objects.equals(columnDataModel.getType(), 4)); + dataList = VisualUtils.complexHeaderDataHandel(dataList, complexHeaderList, Objects.equals(columnDataModel.getType(), 4)); + } + + exportParams.setStyle(ExcelExportStyler.class); + workbook = ExcelExportUtil.exportExcel(exportParams, entitys, dataList); + VisualUtils.mergerVertical(workbook, mergerEntitys, mergerList); + ExcelModel excelModel = generaterSwapUtil.getExcelParams(BillingItemConstant.getFormData(),Arrays.asList(keys)); + ExcelHelper helper = new ExcelHelper(); + helper.init(workbook, exportParams, entitys, excelModel); + helper.doPreHandle(); + helper.doPostHandle(); + } + String fileName = menuFullName +"_"+ DateUtil.dateNow("yyyyMMddHHmmss") + ".xls"; + MultipartFile multipartFile = ExcelUtil.workbookToCommonsMultipartFile(workbook, fileName); + String temporaryFilePath = configValueUtil.getTemporaryFilePath(); + FileInfo fileInfo = FileUploadUtils.uploadFile(multipartFile, temporaryFilePath, fileName); + vo.setName(fileInfo.getFilename()); + vo.setUrl(UploaderUtil.uploaderFile(fileInfo.getFilename() + "#" + "Temporary") + "&name=" + fileName); + } catch (Exception e) { + log.error("信息导出Excel错误:{}", e.getMessage()); + e.printStackTrace(); + } + return vo; + } + /** + * 删除 + * @param id + * @return + */ + @Operation(summary = "删除") + @DeleteMapping("/{id}") + @Transactional + public ActionResult delete(@PathVariable("id") String id,@RequestParam(name = "forceDel",defaultValue = "false") boolean forceDel) throws Exception{ + BillingItemEntity entity= billingItemService.getInfo(id); + if(entity!=null){ + //主表数据删除 + billingItemService.delete(entity); + } + return ActionResult.success(MsgCode.SU003.get()); + } + /** + * 批量删除 + * @param obj + * @return + */ + @DeleteMapping("/batchRemove") + @Transactional + @Operation(summary = "批量删除") + public ActionResult batchRemove(@RequestBody Object obj){ + Map objectMap = JsonUtil.entityToMap(obj); + List idList = JsonUtil.getJsonToList(objectMap.get("ids"), String.class); + String errInfo = ""; + List 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 billingItemForm + * @return + */ + @PutMapping("/{id}") + @Operation(summary = "更新") + public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid BillingItemForm billingItemForm, + @RequestParam(value = "isImport", required = false) boolean isImport){ + BillingItemEntity entity= billingItemService.getInfo(id); + if(entity!=null){ + billingItemForm.setBillingItemId(String.valueOf(entity.getBillingItemId())); + + if (!isImport) { + String b = billingItemService.checkForm(billingItemForm,1); + if (StringUtil.isNotEmpty(b)){ + return ActionResult.fail(b ); + } + } + + try{ + billingItemService.saveOrUpdate(billingItemForm,id,false); + }catch (DataException e1){ + return ActionResult.fail(e1.getMessage()); + }catch(Exception 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){ + BillingItemEntity entity= billingItemService.getInfo(id); + if(entity==null){ + return ActionResult.fail(MsgCode.FA001.get()); + } + Map billingItemMap=JsonUtil.entityToMap(entity); + billingItemMap.put("id", billingItemMap.get("billing_item_id")); + //副表数据 + //子表数据 + boolean isPc = "pc".equals(ServletUtil.getHeader("yunzhupaas-origin" )); + billingItemMap = generaterSwapUtil.swapDataDetail(billingItemMap,BillingItemConstant.getFormData(),"823544899306521605",isPc?false:false); + //子表数据 + return ActionResult.success(billingItemMap); + } + /** + * 获取详情(编辑页) + * 编辑页面使用-不转换数据 + * @param id + * @return + */ + @Operation(summary = "信息") + @GetMapping("/{id}") + public ActionResult info(@PathVariable("id") String id){ + BillingItemEntity entity= billingItemService.getInfo(id); + if(entity==null){ + return ActionResult.fail(MsgCode.FA001.get()); + } + Map billingItemMap=JsonUtil.entityToMap(entity); + billingItemMap.put("id", billingItemMap.get("billing_item_id")); + //副表数据 + //子表数据 + billingItemMap = generaterSwapUtil.swapDataForm(billingItemMap,BillingItemConstant.getFormData(),BillingItemConstant.TABLEFIELDKEY,BillingItemConstant.TABLERENAMES); + return ActionResult.success(billingItemMap); + } + +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-controller/src/main/java/com/yunzhupaas/bsc/controller/ProjectTypeController.java b/yunzhupaas-bc/yunzhupaas-bc-controller/src/main/java/com/yunzhupaas/bsc/controller/ProjectTypeController.java new file mode 100644 index 0000000..24ad030 --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-controller/src/main/java/com/yunzhupaas/bsc/controller/ProjectTypeController.java @@ -0,0 +1,269 @@ +package com.yunzhupaas.bsc.controller; + + +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; +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.bsc.service.*; +import com.yunzhupaas.bsc.entity.*; +import com.yunzhupaas.util.*; +import com.yunzhupaas.bsc.model.projecttype.*; +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-19 + */ +@Slf4j +@RestController +@Tag(name = "项目分类" , description = "1") +@RequestMapping("/api/bc/ProjectType") +public class ProjectTypeController { + + @Autowired + private GeneraterSwapUtil generaterSwapUtil; + + @Autowired + private UserProvider userProvider; + + @Autowired + private ProjectTypeService projectTypeService; + + + + /** + * 列表 + * + * @param projectTypePagination + * @return + */ + @Operation(summary = "获取列表") + @PostMapping("/getList") + public ActionResult list(@RequestBody ProjectTypePagination projectTypePagination)throws Exception{ + List list= projectTypeService.getList(projectTypePagination); + List> realList=new ArrayList<>(); + for (ProjectTypeEntity entity : list) { + Map projectTypeMap=JsonUtil.entityToMap(entity); + projectTypeMap.put("id", projectTypeMap.get("project_type_id")); + //副表数据 + //子表数据 + realList.add(projectTypeMap); + } + //数据转换 + boolean isPc = "pc".equals(ServletUtil.getHeader("yunzhupaas-origin" )); + realList = generaterSwapUtil.swapDataList(realList, ProjectTypeConstant.getFormData(), ProjectTypeConstant.getColumnData(), projectTypePagination.getModuleId(),isPc?false:false); + + if(isPc){ + //分组和树形的树形数据转换 + realList = generaterSwapUtil.swapDataList(realList, ProjectTypeConstant.getColumnData(), "project_type_id"); + } + for (Map map : realList) { + Object object = map.get("children"); + if (ObjectUtil.isNotNull(object) && object instanceof List) { + // ✅ 直接转换为原对象,不创建新对象 + @SuppressWarnings("unchecked") + List> children = (List>) object; + for (Map child : children) { + Object pidIdObj = child.get("pid_id"); + if (pidIdObj != null && !"".equals(pidIdObj.toString())) { + ProjectTypeEntity entity = projectTypeService.getInfo(pidIdObj.toString()); + if (entity != null) { + child.put("pid", entity.getProjectTypeName()); + } + } + } + } + } + //返回对象 + PageListVO vo = new PageListVO(); + vo.setList(realList); + PaginationVO page = JsonUtil.getJsonToBean(projectTypePagination, PaginationVO.class); + vo.setPagination(page); + return ActionResult.success(vo); + } + /** + * 创建 + * + * @param projectTypeForm + * @return + */ + @PostMapping() + @Operation(summary = "创建") + public ActionResult create(@RequestBody @Valid ProjectTypeForm projectTypeForm) throws Exception { + String b = projectTypeService.checkForm(projectTypeForm,0); + if (StringUtil.isNotEmpty(b)){ + return ActionResult.fail(b ); + } + try{ + projectTypeService.saveOrUpdate(projectTypeForm, null ,true); + }catch(Exception 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{ + ProjectTypeEntity entity= projectTypeService.getInfo(id); + if(entity!=null){ + //主表数据删除 + projectTypeService.delete(entity); + } + return ActionResult.success(MsgCode.SU003.get()); + } + /** + * 批量删除 + * @param obj + * @return + */ + @DeleteMapping("/batchRemove") + @Transactional + @Operation(summary = "批量删除") + public ActionResult batchRemove(@RequestBody Object obj){ + Map objectMap = JsonUtil.entityToMap(obj); + List idList = JsonUtil.getJsonToList(objectMap.get("ids"), String.class); + String errInfo = ""; + List 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 projectTypeForm + * @return + */ + @PutMapping("/{id}") + @Operation(summary = "更新") + public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid ProjectTypeForm projectTypeForm, + @RequestParam(value = "isImport", required = false) boolean isImport){ + ProjectTypeEntity entity= projectTypeService.getInfo(id); + if(entity!=null){ + projectTypeForm.setProjectTypeId(String.valueOf(entity.getProjectTypeId())); + + if (!isImport) { + String b = projectTypeService.checkForm(projectTypeForm,1); + if (StringUtil.isNotEmpty(b)){ + return ActionResult.fail(b ); + } + } + + try{ + projectTypeService.saveOrUpdate(projectTypeForm,id,false); + }catch (DataException e1){ + return ActionResult.fail(e1.getMessage()); + }catch(Exception 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){ + ProjectTypeEntity entity= projectTypeService.getInfo(id); + if(entity==null){ + return ActionResult.fail(MsgCode.FA001.get()); + } + Map projectTypeMap=JsonUtil.entityToMap(entity); + projectTypeMap.put("id", projectTypeMap.get("project_type_id")); + //副表数据 + //子表数据 + boolean isPc = "pc".equals(ServletUtil.getHeader("yunzhupaas-origin" )); + projectTypeMap = generaterSwapUtil.swapDataDetail(projectTypeMap,ProjectTypeConstant.getFormData(),"824397917879010373",isPc?false:false); + //子表数据 + if (StringUtil.isNotEmpty(entity.getPid())){ + ProjectTypeEntity entitys= projectTypeService.getInfo(entity.getPid()); + projectTypeMap.put("pid", entitys.getProjectTypeName()); + + } + return ActionResult.success(projectTypeMap); + } + /** + * 获取详情(编辑页) + * 编辑页面使用-不转换数据 + * @param id + * @return + */ + @Operation(summary = "信息") + @GetMapping("/{id}") + public ActionResult info(@PathVariable("id") String id){ + ProjectTypeEntity entity= projectTypeService.getInfo(id); + if(entity==null){ + return ActionResult.fail(MsgCode.FA001.get()); + } + Map projectTypeMap=JsonUtil.entityToMap(entity); + projectTypeMap.put("id", projectTypeMap.get("project_type_id")); + //副表数据 + //子表数据 + projectTypeMap = generaterSwapUtil.swapDataForm(projectTypeMap,ProjectTypeConstant.getFormData(),ProjectTypeConstant.TABLEFIELDKEY,ProjectTypeConstant.TABLERENAMES); + return ActionResult.success(projectTypeMap); + } + /** + * 树状列表查询 + * @return + */ + @Operation(summary = "树状列表查询") + @GetMapping("/getTreeList") + public ActionResult getTreeList(){ + List> treeList= projectTypeService.getTreeList(); + return ActionResult.success(treeList); + } + + +} diff --git a/yunzhupaas-pcm/yunzhupaas-pcm-entity/pom.xml b/yunzhupaas-bc/yunzhupaas-bc-entity/pom.xml similarity index 86% rename from yunzhupaas-pcm/yunzhupaas-pcm-entity/pom.xml rename to yunzhupaas-bc/yunzhupaas-bc-entity/pom.xml index 7d55402..e460911 100644 --- a/yunzhupaas-pcm/yunzhupaas-pcm-entity/pom.xml +++ b/yunzhupaas-bc/yunzhupaas-bc-entity/pom.xml @@ -3,13 +3,13 @@ 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"> - yunzhupaas-pcm + yunzhupaas-bc com.yunzhupaas 5.2.0-RELEASE 4.0.0 - yunzhupaas-pcm-entity + yunzhupaas-bc-entity diff --git a/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/entity/BillingItemEntity.java b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/entity/BillingItemEntity.java new file mode 100644 index 0000000..6068837 --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/entity/BillingItemEntity.java @@ -0,0 +1,56 @@ +package com.yunzhupaas.bsc.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-20 + */ +@Data +@TableName("bc_billing_item") +public class BillingItemEntity { + @TableId(value ="billing_item_id" ) + @JSONField(name = "billing_item_id") + private String billingItemId; + @TableField(value = "billing_item_code" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "billing_item_code") + private String billingItemCode; + @TableField(value = "billing_item_name" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "billing_item_name") + private String billingItemName; + @TableField(value = "billing_item_type" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "billing_item_type") + private String billingItemType; + @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_time") + @JSONField(name = "update_time") + private Date updateTime; + @TableField("update_by") + @JSONField(name = "update_by") + private String updateBy; + @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; + +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/entity/ProjectExpbudgetTempEntity.java b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/entity/ProjectExpbudgetTempEntity.java new file mode 100644 index 0000000..e08268c --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/entity/ProjectExpbudgetTempEntity.java @@ -0,0 +1,65 @@ +package com.yunzhupaas.bsc.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-19 + */ +@Data +@TableName("bc_project_expbudget_temp") +public class ProjectExpbudgetTempEntity { + @TableId(value ="expbudget_item_id" ) + @JSONField(name = "expbudget_item_id") + private String expbudgetItemId; + @TableField("project_type_id") + @JSONField(name = "project_type_id") + private String projectTypeId; + @TableField("budget_item_id") + @JSONField(name = "budget_item_id") + private String budgetItemId; + @TableField("expbudget_item_code") + @JSONField(name = "expbudget_item_code") + private String expbudgetItemCode; + @TableField("expbudget_item_name") + @JSONField(name = "expbudget_item_name") + private String expbudgetItemName; + @TableField("pid") + @JSONField(name = "pid") + private String pid; + @TableField("cost_item_id") + @JSONField(name = "cost_item_id") + private String costItemId; + @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_time") + @JSONField(name = "update_time") + private Date updateTime; + @TableField("update_by") + @JSONField(name = "update_by") + private String updateBy; + @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; + +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/entity/ProjectTypeEntity.java b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/entity/ProjectTypeEntity.java new file mode 100644 index 0000000..28e50f0 --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/entity/ProjectTypeEntity.java @@ -0,0 +1,62 @@ +package com.yunzhupaas.bsc.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-19 + */ +@Data +@TableName("bc_project_type") +public class ProjectTypeEntity { + @TableId(value ="project_type_id" ) + @JSONField(name = "project_type_id") + private String projectTypeId; + @TableField(value = "project_type_code" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "project_type_code") + private String projectTypeCode; + @TableField(value = "project_type_name" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "project_type_name") + private String projectTypeName; + @TableField(value = "pid" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "pid") + private String pid; + @TableField(value = "seq_num" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "seq_num") + private Integer seqNum; + @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_time") + @JSONField(name = "update_time") + private Date updateTime; + @TableField("update_by") + @JSONField(name = "update_by") + private String updateBy; + @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 = "projectExpbudgetTemp") + @TableField(exist = false) + private ProjectExpbudgetTempEntity projectExpbudgetTemp; +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/billingitem/BillingItemConstant.java b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/billingitem/BillingItemConstant.java new file mode 100644 index 0000000..5287229 --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/billingitem/BillingItemConstant.java @@ -0,0 +1,42 @@ +package com.yunzhupaas.bsc.model.billingitem; + +import com.yunzhupaas.util.JsonUtil; +import java.util.*; + +/** + * 计费项目配置json + * + * @版本: V5.2.7 + * @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * @作者: 深圳市乐程软件有限公司 + * @日期: 2026-05-20 + */ +public class BillingItemConstant{ + /** 数据库链接 */ + public static final String DBLINKID = "0"; + /** 表别名 map */ + public static final Map TABLERENAMES = JsonUtil.getJsonToBean("{\"bc_billing_item\":\"billingItem\"}",Map.class); + /** 子表model map */ + public static final Map TABLEFIELDKEY = JsonUtil.getJsonToBean("{}",Map.class); + /** 整个表单配置json */ + public static final String getFormData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"popupType\":\"drawer\",\"labelWidth\":100,\"classNames\":[],\"className\":[],\"fullScreenWidth\":\"100%\",\"hasConfirmAndAddBtn\":true,\"cancelButtonTextI18nCode\":\"common.cancelText\",\"businessKeyTip\":\"计费项目编码已存在,请勿重复提交!\",\"labelPosition\":\"right\",\"printId\":\"\",\"labelSuffix\":\"\",\"customBtns\":[],\"disabled\":false,\"formModel\":\"dataForm\",\"cancelButtonText\":\"取消\",\"confirmButtonText\":\"确定\",\"hasCancelBtn\":true,\"primaryKeyPolicy\":1,\"hasPrintBtn\":false,\"concurrencyLock\":false,\"classJson\":\"\",\"drawerWidth\":\"600px\",\"confirmButtonTextI18nCode\":\"common.okText\",\"printButtonText\":\"打印\",\"businessKeyList\":[\"billing_item_code\"],\"formRef\":\"formRef\",\"gutter\":15,\"logicalDelete\":false,\"size\":\"middle\",\"formRules\":\"rules\",\"generalWidth\":\"600px\",\"colon\":false,\"hasConfirmBtn\":true,\"useBusinessKey\":true,\"formStyle\":\"\",\"printButtonTextI18nCode\":\"common.printText\",\"fields\":[{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem6d4cd8\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"计费项目编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484553554,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"billing_item_code\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem4f4dd9\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"计费项目名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484558269,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"billing_item_name\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"filterable\":false,\"clearable\":true,\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484563169,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItema781b9\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"费用类别\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"options\":[{\"fullName\":\"周期类\",\"id\":\"Recurring\"},{\"fullName\":\"固定金额\",\"id\":\"Fixed\"},{\"fullName\":\"单价 × 约定数量\",\"id\":\"UnitQty\"},{\"fullName\":\"单价 × 实际用量\",\"id\":\"Usage\"},{\"fullName\":\"比例费用\",\"id\":\"Percentage\"},{\"fullName\":\"条件费用\",\"id\":\"Conditional\"}],\"multiple\":false,\"__vModel__\":\"billing_item_type\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请选择\",\"props\":{\"label\":\"fullName\",\"value\":\"id\"}},{\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"showCount\":false,\"__config__\":{\"formId\":\"formItem683e9d\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484793248,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"__vModel__\":\"remark\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\"}],\"detailExtraList\":[],\"span\":24,\"dataLog\":false}"); return sb.toString(); + } + /** 列表字段配置json */ + public static final String getColumnData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"showSummary\":false,\"treePropsValue\":\"id\",\"columnOptions\":[{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"计费项目编码\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem6d4cd8\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"计费项目编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484553554,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"billing_item_code\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"billing_item_code\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"计费项目名称\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem4f4dd9\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"计费项目名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484558269,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"billing_item_name\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"billing_item_name\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"filterable\":false,\"clearable\":true,\"multiple\":false,\"fullName\":\"费用类别\",\"fullNameI18nCode\":[\"\"],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484563169,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItema781b9\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"费用类别\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"options\":[{\"fullName\":\"周期类\",\"id\":\"Recurring\"},{\"fullName\":\"固定金额\",\"id\":\"Fixed\"},{\"fullName\":\"单价 × 约定数量\",\"id\":\"UnitQty\"},{\"fullName\":\"单价 × 实际用量\",\"id\":\"Usage\"},{\"fullName\":\"比例费用\",\"id\":\"Percentage\"},{\"fullName\":\"条件费用\",\"id\":\"Conditional\"}],\"__vModel__\":\"billing_item_type\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"billing_item_type\",\"placeholder\":\"请选择\"},{\"clearable\":true,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem683e9d\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484793248,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"__vModel__\":\"remark\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入\"}],\"pageSize\":20,\"type\":1,\"columnBtnsList\":[{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-edit\",\"label\":\"编辑\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"edit\",\"labelI18nCode\":\"common.editText\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"删除\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"remove\",\"labelI18nCode\":\"common.delText\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-generator-menu\",\"label\":\"详情\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"detail\",\"labelI18nCode\":\"common.detailText\"}],\"treeTitle\":\"左侧标题\",\"defaultColumnList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem6d4cd8\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"计费项目编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484553554,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"billing_item_code\",\"__vModel__\":\"billing_item_code\",\"checked\":true,\"disabled\":false,\"id\":\"billing_item_code\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"计费项目编码\",\"label\":\"计费项目编码\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem4f4dd9\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"计费项目名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484558269,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"billing_item_name\",\"__vModel__\":\"billing_item_name\",\"checked\":true,\"disabled\":false,\"id\":\"billing_item_name\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"计费项目名称\",\"label\":\"计费项目名称\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"select\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"费用类别\",\"fullNameI18nCode\":[\"\"],\"label\":\"费用类别\",\"sortable\":false,\"align\":\"left\",\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484563169,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItema781b9\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"费用类别\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"billing_item_type\",\"options\":[{\"fullName\":\"周期类\",\"id\":\"Recurring\"},{\"fullName\":\"固定金额\",\"id\":\"Fixed\"},{\"fullName\":\"单价 × 约定数量\",\"id\":\"UnitQty\"},{\"fullName\":\"单价 × 实际用量\",\"id\":\"Usage\"},{\"fullName\":\"比例费用\",\"id\":\"Percentage\"},{\"fullName\":\"条件费用\",\"id\":\"Conditional\"}],\"__vModel__\":\"billing_item_type\",\"checked\":true,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"billing_item_type\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"textarea\",\"clearable\":true,\"resizable\":true,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"label\":\"备注\",\"sortable\":false,\"align\":\"left\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem683e9d\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484793248,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"remark\",\"__vModel__\":\"remark\",\"checked\":true,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入\",\"labelI18nCode\":\"\"}],\"treeRelationFieldAbleIds\":[],\"treeSyncInterfaceName\":\"\",\"treeSyncTemplateJson\":[],\"treeRelation\":\"\",\"defaultSortConfig\":[],\"tabConfig\":{\"hasAllTab\":true,\"relationField\":\"\",\"on\":false},\"hasSuperQuery\":true,\"treePropsLabel\":\"fullName\",\"groupField\":\"\",\"printIds\":[],\"uploaderTemplateJson\":{},\"hasTreeQuery\":false,\"useFormPermission\":false,\"complexHeaderList\":[],\"useBtnPermission\":true,\"treeSyncType\":0,\"hasPage\":true,\"searchList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"showCount\":false,\"__config__\":{\"formId\":\"formItem4f4dd9\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"计费项目名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484558269,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"billing_item_name\",\"__vModel__\":\"billing_item_name\",\"searchMultiple\":false,\"disabled\":false,\"id\":\"billing_item_name\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"searchType\":2,\"fullName\":\"计费项目名称\",\"label\":\"计费项目名称\",\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"isKeyword\":false,\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"select\",\"filterable\":false,\"clearable\":true,\"searchType\":1,\"multiple\":false,\"fullName\":\"费用类别\",\"fullNameI18nCode\":[\"\"],\"label\":\"费用类别\",\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484563169,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItema781b9\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"费用类别\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"billing_item_type\",\"options\":[{\"fullName\":\"周期类\",\"id\":\"Recurring\"},{\"fullName\":\"固定金额\",\"id\":\"Fixed\"},{\"fullName\":\"单价 × 约定数量\",\"id\":\"UnitQty\"},{\"fullName\":\"单价 × 实际用量\",\"id\":\"Usage\"},{\"fullName\":\"比例费用\",\"id\":\"Percentage\"},{\"fullName\":\"条件费用\",\"id\":\"Conditional\"}],\"__vModel__\":\"billing_item_type\",\"searchMultiple\":true,\"isKeyword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"billing_item_type\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"}],\"ruleList\":{\"conditionList\":[],\"matchLogic\":\"and\"},\"childTableStyle\":1,\"treePropsChildren\":\"children\",\"treeRelationFieldSelectType\":\"all\",\"showOverflow\":true,\"treeTemplateJson\":[],\"treeTitleI18nCode\":\"\",\"treePropsName\":\"\",\"useColumnPermission\":false,\"treePropsUrl\":\"\",\"btnsList\":[{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-add\",\"label\":\"新增\",\"value\":\"add\",\"labelI18nCode\":\"common.add2Text\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-download\",\"label\":\"导出\",\"value\":\"download\",\"labelI18nCode\":\"common.exportText\"},{\"show\":false,\"icon\":\"icon-ym icon-ym-btn-upload\",\"label\":\"导入\",\"value\":\"upload\",\"labelI18nCode\":\"common.importText\"},{\"show\":false,\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"批量删除\",\"value\":\"batchRemove\",\"labelI18nCode\":\"common.batchDelText\"},{\"show\":false,\"icon\":\"icon-ym icon-ym-report-icon-preview-printPreview\",\"label\":\"批量打印\",\"value\":\"batchPrint\",\"labelI18nCode\":\"common.batchPrintText\"}],\"useDataPermission\":true,\"viewKey\":\"\",\"columnList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem6d4cd8\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"计费项目编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484553554,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"billing_item_code\",\"__vModel__\":\"billing_item_code\",\"disabled\":false,\"id\":\"billing_item_code\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"计费项目编码\",\"label\":\"计费项目编码\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem4f4dd9\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"计费项目名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484558269,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"billing_item_name\",\"__vModel__\":\"billing_item_name\",\"disabled\":false,\"id\":\"billing_item_name\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"计费项目名称\",\"label\":\"计费项目名称\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"select\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"费用类别\",\"fullNameI18nCode\":[\"\"],\"label\":\"费用类别\",\"sortable\":false,\"align\":\"left\",\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484563169,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItema781b9\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"费用类别\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"billing_item_type\",\"options\":[{\"fullName\":\"周期类\",\"id\":\"Recurring\"},{\"fullName\":\"固定金额\",\"id\":\"Fixed\"},{\"fullName\":\"单价 × 约定数量\",\"id\":\"UnitQty\"},{\"fullName\":\"单价 × 实际用量\",\"id\":\"Usage\"},{\"fullName\":\"比例费用\",\"id\":\"Percentage\"},{\"fullName\":\"条件费用\",\"id\":\"Conditional\"}],\"__vModel__\":\"billing_item_type\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"billing_item_type\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"textarea\",\"clearable\":true,\"resizable\":true,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"label\":\"备注\",\"sortable\":false,\"align\":\"left\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem683e9d\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484793248,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"remark\",\"__vModel__\":\"remark\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入\",\"labelI18nCode\":\"\"}],\"summaryField\":[],\"parentField\":\"\",\"treeDataSource\":\"dictionary\",\"treeDictionary\":\"\",\"treeSyncInterfaceId\":\"\",\"customBtnsList\":[]}"); return sb.toString(); + } + /** app列表字段配置json */ + public static final String getAppColumnData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"hasPage\":true,\"useColumnPermission\":false,\"searchList\":[],\"btnsList\":[{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-add\",\"label\":\"新增\",\"value\":\"add\",\"labelI18nCode\":\"common.add2Text\"},{\"show\":false,\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"批量删除\",\"value\":\"batchRemove\",\"labelI18nCode\":\"common.batchDelText\"}],\"useDataPermission\":false,\"viewKey\":\"\",\"ruleListApp\":{\"conditionList\":[],\"matchLogic\":\"and\"},\"columnList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem6d4cd8\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"计费项目编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484553554,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"billing_item_code\",\"__vModel__\":\"billing_item_code\",\"disabled\":false,\"id\":\"billing_item_code\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"计费项目编码\",\"label\":\"计费项目编码\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem4f4dd9\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"计费项目名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484558269,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"billing_item_name\",\"__vModel__\":\"billing_item_name\",\"disabled\":false,\"id\":\"billing_item_name\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"计费项目名称\",\"label\":\"计费项目名称\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"select\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"费用类别\",\"fullNameI18nCode\":[\"\"],\"label\":\"费用类别\",\"sortable\":false,\"align\":\"left\",\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484563169,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItema781b9\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"费用类别\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"billing_item_type\",\"options\":[{\"fullName\":\"周期类\",\"id\":\"Recurring\"},{\"fullName\":\"固定金额\",\"id\":\"Fixed\"},{\"fullName\":\"单价 × 约定数量\",\"id\":\"UnitQty\"},{\"fullName\":\"单价 × 实际用量\",\"id\":\"Usage\"},{\"fullName\":\"比例费用\",\"id\":\"Percentage\"},{\"fullName\":\"条件费用\",\"id\":\"Conditional\"}],\"__vModel__\":\"billing_item_type\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"billing_item_type\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"textarea\",\"clearable\":true,\"resizable\":true,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"label\":\"备注\",\"sortable\":false,\"align\":\"left\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem683e9d\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484793248,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"remark\",\"__vModel__\":\"remark\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入\",\"labelI18nCode\":\"\"}],\"columnOptions\":[{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"计费项目编码\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem6d4cd8\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"计费项目编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484553554,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"billing_item_code\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"billing_item_code\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"计费项目名称\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem4f4dd9\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"计费项目名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484558269,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"billing_item_name\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"billing_item_name\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"filterable\":false,\"clearable\":true,\"multiple\":false,\"fullName\":\"费用类别\",\"fullNameI18nCode\":[\"\"],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484563169,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItema781b9\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"费用类别\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"options\":[{\"fullName\":\"周期类\",\"id\":\"Recurring\"},{\"fullName\":\"固定金额\",\"id\":\"Fixed\"},{\"fullName\":\"单价 × 约定数量\",\"id\":\"UnitQty\"},{\"fullName\":\"单价 × 实际用量\",\"id\":\"Usage\"},{\"fullName\":\"比例费用\",\"id\":\"Percentage\"},{\"fullName\":\"条件费用\",\"id\":\"Conditional\"}],\"__vModel__\":\"billing_item_type\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"billing_item_type\",\"placeholder\":\"请选择\"},{\"clearable\":true,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem683e9d\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484793248,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"__vModel__\":\"remark\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入\"}],\"pageSize\":20,\"defaultSortConfig\":[],\"type\":1,\"columnBtnsList\":[{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-edit\",\"label\":\"编辑\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"edit\",\"labelI18nCode\":\"common.editText\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"删除\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"remove\",\"labelI18nCode\":\"common.delText\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-generator-menu\",\"label\":\"详情\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"detail\",\"labelI18nCode\":\"common.detailText\"}],\"tabConfig\":{\"hasAllTab\":true,\"relationField\":\"\",\"on\":false},\"hasSuperQuery\":false,\"defaultColumnList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem6d4cd8\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"计费项目编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484553554,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"billing_item_code\",\"__vModel__\":\"billing_item_code\",\"checked\":true,\"disabled\":false,\"id\":\"billing_item_code\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"计费项目编码\",\"label\":\"计费项目编码\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem4f4dd9\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"计费项目名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484558269,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"billing_item_name\",\"__vModel__\":\"billing_item_name\",\"checked\":true,\"disabled\":false,\"id\":\"billing_item_name\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"计费项目名称\",\"label\":\"计费项目名称\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"select\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"费用类别\",\"fullNameI18nCode\":[\"\"],\"label\":\"费用类别\",\"sortable\":false,\"align\":\"left\",\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":true,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484563169,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItema781b9\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"费用类别\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"billing_item_type\",\"options\":[{\"fullName\":\"周期类\",\"id\":\"Recurring\"},{\"fullName\":\"固定金额\",\"id\":\"Fixed\"},{\"fullName\":\"单价 × 约定数量\",\"id\":\"UnitQty\"},{\"fullName\":\"单价 × 实际用量\",\"id\":\"Usage\"},{\"fullName\":\"比例费用\",\"id\":\"Percentage\"},{\"fullName\":\"条件费用\",\"id\":\"Conditional\"}],\"__vModel__\":\"billing_item_type\",\"checked\":true,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"billing_item_type\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"textarea\",\"clearable\":true,\"resizable\":true,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"label\":\"备注\",\"sortable\":false,\"align\":\"left\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem683e9d\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_billing_item\",\"renderKey\":1778484793248,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"remark\",\"__vModel__\":\"remark\",\"checked\":true,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入\",\"labelI18nCode\":\"\"}],\"showOverflow\":true,\"useFormPermission\":false,\"customBtnsList\":[],\"useBtnPermission\":false}"); return sb.toString(); + } + /** 表列表 */ + public static final String getTableList(){ + StringBuilder sb = new StringBuilder(); +sb.append("[{\"relationTable\":\"\",\"tableField\":\"\",\"typeId\":\"1\",\"fields\":[{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"billing_item_id\",\"fieldName\":\"计费项目ID\",\"identity\":0,\"primaryKey\":1},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"30\",\"dataType\":\"varchar\",\"field\":\"billing_item_code\",\"fieldName\":\"计费项目编码\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"100\",\"dataType\":\"varchar\",\"field\":\"billing_item_name\",\"fieldName\":\"计费项目名称\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"20\",\"dataType\":\"varchar\",\"field\":\"billing_item_type\",\"fieldName\":\"费用类别。枚举:\\r\\nRecurring=周期类:按固定时间周期收取的固定或可变费用。(如:月租金、年订阅费)\\r\\nFixed=固定金额:合同约定的、与时间或用量无关的确定金额。(如:一次性加盟费、保证金)\\r\\nUnitQty=单价 × 约定数量:合同已明确单价和约定数量(如:采购100台设备,单价5000元)\\r\\nUsage=单价 × 实际用量:合同只约定单价,费用按实际发生量结算。(如:云存储费,单价0.1元/GB/月)\\r\\nPercentage=比例/分成费用:以某个金额基数的约定比例计算。(如:按销售额的5%支付授权费)\\r\\nConditional=或有/条件费用:是否发生及金额取决于未来条件。(如:延期交付违约金,每天合同总额的0.1%)\\r\\nComposite=混合/套餐费用:固定费用与可变费用(用量/比例)的组合体。(如:套餐月费199元,含1000分钟,超量部分0.1元/分钟)\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"500\",\"dataType\":\"varchar\",\"field\":\"remark\",\"fieldName\":\"备注\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"create_by\",\"fieldName\":\"创建人ID\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"\",\"dataType\":\"datetime\",\"field\":\"create_time\",\"fieldName\":\"创建时间\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"\",\"dataType\":\"datetime\",\"field\":\"update_time\",\"fieldName\":\"更新时间\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"0\",\"dataType\":\"varchar\",\"field\":\"update_by\",\"fieldName\":\"更新人ID\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"f_tenant_id\",\"fieldName\":\"租户id\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"f_flow_id\",\"fieldName\":\"流程id\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"f_flow_task_id\",\"fieldName\":\"流程任务主键\",\"identity\":0,\"primaryKey\":0}],\"relationField\":\"\",\"table\":\"bc_billing_item\",\"tableName\":\"计费项目\"}]"); return sb.toString(); + } + +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/billingitem/BillingItemExcelErrorVO.java b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/billingitem/BillingItemExcelErrorVO.java new file mode 100644 index 0000000..b4ac1b8 --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/billingitem/BillingItemExcelErrorVO.java @@ -0,0 +1,22 @@ + + +package com.yunzhupaas.bsc.model.billingitem; + +import lombok.Data; +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.alibaba.fastjson.annotation.JSONField; +/** + * + * 计费项目 + * @版本: V5.2.7 + * @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * @作者: 深圳市乐程软件有限公司 + * @日期: 2026-05-20 + */ +@Data +public class BillingItemExcelErrorVO extends BillingItemExcelVO{ + + @Excel(name = "异常原因",orderNum = "-999") + @JSONField(name = "errorsInfo") + private String errorsInfo; +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/billingitem/BillingItemExcelVO.java b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/billingitem/BillingItemExcelVO.java new file mode 100644 index 0000000..0dd75e6 --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/billingitem/BillingItemExcelVO.java @@ -0,0 +1,25 @@ +package com.yunzhupaas.bsc.model.billingitem; + +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-20 + */ +@Data +public class BillingItemExcelVO{ + +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/billingitem/BillingItemForm.java b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/billingitem/BillingItemForm.java new file mode 100644 index 0000000..dbb3bc8 --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/billingitem/BillingItemForm.java @@ -0,0 +1,47 @@ +package com.yunzhupaas.bsc.model.billingitem; + +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-20 + */ +@Data +@Schema(description = "表单参数") +public class BillingItemForm { + /** 主键 */ + @Schema(description = "主键") + @JSONField(name = "billing_item_id") + private String billingItemId; + + + /** 计费项目编码 **/ + @Schema(description = "计费项目编码") + @JsonProperty("billing_item_code") + @JSONField(name = "billing_item_code") + private String billingItemCode; + /** 计费项目名称 **/ + @Schema(description = "计费项目名称") + @JsonProperty("billing_item_name") + @JSONField(name = "billing_item_name") + private String billingItemName; + /** 费用类别 **/ + @Schema(description = "费用类别") + @JsonProperty("billing_item_type") + @JSONField(name = "billing_item_type") + private Object billingItemType; + /** 备注 **/ + @Schema(description = "备注") + @JsonProperty("remark") + @JSONField(name = "remark") + private String remark; + +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/billingitem/BillingItemPagination.java b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/billingitem/BillingItemPagination.java new file mode 100644 index 0000000..5fd3d7b --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/billingitem/BillingItemPagination.java @@ -0,0 +1,55 @@ +package com.yunzhupaas.bsc.model.billingitem; + +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-20 + */ +@Data +@Schema(description = "列表查询参数") +public class BillingItemPagination 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; + /** 计费项目名称 */ + @Schema(description = "计费项目名称") + @JsonProperty("billing_item_name") + @JSONField(name = "billingItemName") + private Object billingItemName; + /** 费用类别 */ + @Schema(description = "费用类别") + @JsonProperty("billing_item_type") + @JSONField(name = "billingItemType") + private Object billingItemType; +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/projecttype/ProjectTypeConstant.java b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/projecttype/ProjectTypeConstant.java new file mode 100644 index 0000000..0dc0379 --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/projecttype/ProjectTypeConstant.java @@ -0,0 +1,42 @@ +package com.yunzhupaas.bsc.model.projecttype; + +import com.yunzhupaas.util.JsonUtil; +import java.util.*; + +/** + * 项目分类配置json + * + * @版本: V5.2.7 + * @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * @作者: 深圳市乐程软件有限公司 + * @日期: 2026-05-19 + */ +public class ProjectTypeConstant{ + /** 数据库链接 */ + public static final String DBLINKID = "0"; + /** 表别名 map */ + public static final Map TABLERENAMES = JsonUtil.getJsonToBean("{\"bc_project_type\":\"projectType\",\"bc_project_expbudget_temp\":\"projectExpbudgetTemp\"}",Map.class); + /** 子表model map */ + public static final Map TABLEFIELDKEY = JsonUtil.getJsonToBean("{}",Map.class); + /** 整个表单配置json */ + public static final String getFormData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"popupType\":\"drawer\",\"labelWidth\":100,\"classNames\":[],\"className\":[],\"fullScreenWidth\":\"100%\",\"hasConfirmAndAddBtn\":true,\"cancelButtonTextI18nCode\":\"common.cancelText\",\"businessKeyTip\":\"数据已存在,请勿重复提交!\",\"labelPosition\":\"right\",\"printId\":\"\",\"labelSuffix\":\"\",\"customBtns\":[],\"disabled\":false,\"formModel\":\"dataForm\",\"cancelButtonText\":\"取消\",\"confirmButtonText\":\"确定\",\"hasCancelBtn\":true,\"primaryKeyPolicy\":1,\"hasPrintBtn\":false,\"concurrencyLock\":false,\"classJson\":\"\",\"drawerWidth\":\"600px\",\"confirmButtonTextI18nCode\":\"common.okText\",\"printButtonText\":\"打印\",\"businessKeyList\":[],\"formRef\":\"formRef\",\"gutter\":15,\"logicalDelete\":false,\"size\":\"middle\",\"formRules\":\"rules\",\"generalWidth\":\"600px\",\"colon\":false,\"hasConfirmBtn\":true,\"useBusinessKey\":false,\"formStyle\":\"\",\"printButtonTextI18nCode\":\"common.printText\",\"fields\":[{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemede56d\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目分类编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778687997809,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"project_type_code\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem98d1b5\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目分类名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778688012177,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"project_type_name\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"filterable\":false,\"clearable\":true,\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778757286660,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemb2dbd9\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"上级项目分类\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"options\":[{\"children\":[{\"fullName\":\"选项1-1\",\"id\":\"2\"}],\"fullName\":\"选项1\",\"id\":\"1\"}],\"multiple\":false,\"__vModel__\":\"pid\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请选择\",\"props\":{\"children\":\"children\",\"label\":\"fullName\",\"value\":\"id\"}},{\"__config__\":{\"formId\":\"formItemad2faf\",\"yunzhupaasKey\":\"inputNumber\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"顺序号\",\"trigger\":[\"blur\",\"change\"],\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778756981845,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"tag\":\"YunzhupaasInputNumber\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"controls\":false,\"__vModel__\":\"seq_num\",\"style\":{\"width\":\"100%\"},\"step\":1,\"disabled\":false,\"placeholder\":\"请输入\",\"thousands\":false,\"isAmountChinese\":false,\"addonBefore\":\"\",\"addonAfter\":\"\"},{\"buttonText\":\"点击上传\",\"pathType\":\"defaultPath\",\"accept\":\"\",\"__config__\":{\"formId\":\"formItem1de75c\",\"yunzhupaasKey\":\"uploadFile\",\"visibility\":[\"pc\",\"app\"],\"defaultValue\":[],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"change\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1779096055133,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-upload\",\"tag\":\"YunzhupaasUploadFile\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"folder\":\"\",\"fileSize\":10,\"sortRule\":[],\"timeFormat\":\"YYYY\",\"limit\":9,\"__vModel__\":\"remark\",\"sizeUnit\":\"MB\",\"tipText\":\"\",\"disabled\":false}],\"detailExtraList\":[],\"span\":24,\"dataLog\":false}"); return sb.toString(); + } + /** 列表字段配置json */ + public static final String getColumnData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"showSummary\":false,\"treePropsValue\":\"id\",\"columnOptions\":[{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"项目分类编码\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemede56d\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目分类编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778687997809,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"project_type_code\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"project_type_code\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"项目分类名称\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem98d1b5\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目分类名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778688012177,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"project_type_name\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"project_type_name\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"filterable\":false,\"clearable\":true,\"multiple\":false,\"fullName\":\"上级项目分类\",\"fullNameI18nCode\":[\"\"],\"props\":{\"children\":\"children\",\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778757286660,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemb2dbd9\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"上级项目分类\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"options\":[{\"children\":[{\"fullName\":\"选项1-1\",\"id\":\"2\"}],\"fullName\":\"选项1\",\"id\":\"1\"}],\"__vModel__\":\"pid\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"pid\",\"placeholder\":\"请选择\"},{\"controls\":false,\"fullName\":\"顺序号\",\"fullNameI18nCode\":[\"\"],\"thousands\":false,\"isAmountChinese\":false,\"addonAfter\":\"\",\"__config__\":{\"formId\":\"formItemad2faf\",\"yunzhupaasKey\":\"inputNumber\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"顺序号\",\"trigger\":[\"blur\",\"change\"],\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778756981845,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"tag\":\"YunzhupaasInputNumber\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"__vModel__\":\"seq_num\",\"style\":{\"width\":\"100%\"},\"step\":1,\"disabled\":false,\"id\":\"seq_num\",\"placeholder\":\"请输入\",\"addonBefore\":\"\"},{\"buttonText\":\"点击上传\",\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"pathType\":\"defaultPath\",\"accept\":\"\",\"__config__\":{\"formId\":\"formItem1de75c\",\"yunzhupaasKey\":\"uploadFile\",\"visibility\":[\"pc\",\"app\"],\"defaultValue\":[],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"change\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1779096055133,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-upload\",\"tag\":\"YunzhupaasUploadFile\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"folder\":\"\",\"fileSize\":10,\"sortRule\":[],\"timeFormat\":\"YYYY\",\"limit\":9,\"__vModel__\":\"remark\",\"sizeUnit\":\"MB\",\"tipText\":\"\",\"disabled\":false,\"id\":\"remark\"}],\"pageSize\":20,\"type\":5,\"columnBtnsList\":[{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-edit\",\"label\":\"编辑\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"edit\",\"labelI18nCode\":\"common.editText\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"删除\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"remove\",\"labelI18nCode\":\"common.delText\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-generator-menu\",\"label\":\"详情\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"detail\",\"labelI18nCode\":\"common.detailText\"}],\"treeTitle\":\"左侧标题\",\"defaultColumnList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemede56d\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目分类编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778687997809,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_type_code\",\"__vModel__\":\"project_type_code\",\"checked\":true,\"disabled\":false,\"id\":\"project_type_code\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"项目分类编码\",\"label\":\"项目分类编码\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem98d1b5\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目分类名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778688012177,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_type_name\",\"__vModel__\":\"project_type_name\",\"checked\":true,\"disabled\":false,\"id\":\"project_type_name\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"项目分类名称\",\"label\":\"项目分类名称\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"treeSelect\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"上级项目分类\",\"fullNameI18nCode\":[\"\"],\"label\":\"上级项目分类\",\"sortable\":false,\"align\":\"left\",\"props\":{\"children\":\"children\",\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778757286660,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemb2dbd9\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"上级项目分类\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"pid\",\"options\":[{\"children\":[{\"fullName\":\"选项1-1\",\"id\":\"2\"}],\"fullName\":\"选项1\",\"id\":\"1\"}],\"__vModel__\":\"pid\",\"checked\":true,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"pid\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"inputNumber\",\"controls\":false,\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"isAmountChinese\":false,\"__config__\":{\"formId\":\"formItemad2faf\",\"yunzhupaasKey\":\"inputNumber\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"顺序号\",\"trigger\":[\"blur\",\"change\"],\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778756981845,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"tag\":\"YunzhupaasInputNumber\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"seq_num\",\"__vModel__\":\"seq_num\",\"checked\":true,\"disabled\":false,\"id\":\"seq_num\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"resizable\":true,\"fullName\":\"顺序号\",\"label\":\"顺序号\",\"sortable\":false,\"thousands\":false,\"addonAfter\":\"\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"step\":1,\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"uploadFile\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"__config__\":{\"formId\":\"formItem1de75c\",\"yunzhupaasKey\":\"uploadFile\",\"visibility\":[\"pc\",\"app\"],\"defaultValue\":[],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"change\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1779096055133,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-upload\",\"tag\":\"YunzhupaasUploadFile\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"remark\",\"limit\":9,\"__vModel__\":\"remark\",\"sizeUnit\":\"MB\",\"checked\":true,\"disabled\":false,\"id\":\"remark\",\"buttonText\":\"点击上传\",\"resizable\":true,\"fullName\":\"备注\",\"label\":\"备注\",\"sortable\":false,\"pathType\":\"defaultPath\",\"accept\":\"\",\"folder\":\"\",\"fileSize\":10,\"sortRule\":[],\"timeFormat\":\"YYYY\",\"tipText\":\"\",\"fixed\":\"none\",\"labelI18nCode\":\"\"}],\"treeRelationFieldAbleIds\":[],\"treeSyncInterfaceName\":\"\",\"treeSyncTemplateJson\":[],\"treeRelation\":\"\",\"defaultSortConfig\":[{\"field\":\"seq_num\",\"sort\":\"asc\",\"id\":\"sort413263\"}],\"tabConfig\":{\"hasAllTab\":true,\"relationField\":\"\",\"on\":false},\"hasSuperQuery\":true,\"treePropsLabel\":\"fullName\",\"groupField\":\"\",\"printIds\":[],\"uploaderTemplateJson\":{},\"hasTreeQuery\":false,\"useFormPermission\":false,\"complexHeaderList\":[],\"useBtnPermission\":true,\"treeSyncType\":0,\"hasPage\":true,\"searchList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"showCount\":false,\"__config__\":{\"formId\":\"formItem98d1b5\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目分类名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778688012177,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_type_name\",\"__vModel__\":\"project_type_name\",\"searchMultiple\":false,\"disabled\":false,\"id\":\"project_type_name\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"searchType\":2,\"fullName\":\"项目分类名称\",\"label\":\"分类名称\",\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"isKeyword\":false,\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"}],\"ruleList\":{\"conditionList\":[],\"matchLogic\":\"and\"},\"childTableStyle\":1,\"treePropsChildren\":\"children\",\"treeRelationFieldSelectType\":\"all\",\"showOverflow\":true,\"treeTemplateJson\":[],\"treeTitleI18nCode\":\"\",\"treePropsName\":\"\",\"useColumnPermission\":false,\"treePropsUrl\":\"\",\"btnsList\":[{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-add\",\"label\":\"新增\",\"value\":\"add\",\"labelI18nCode\":\"common.add2Text\"},{\"show\":false,\"icon\":\"icon-ym icon-ym-btn-download\",\"label\":\"导出\",\"value\":\"download\",\"labelI18nCode\":\"common.exportText\"},{\"show\":false,\"icon\":\"icon-ym icon-ym-btn-upload\",\"label\":\"导入\",\"value\":\"upload\",\"labelI18nCode\":\"common.importText\"},{\"show\":false,\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"批量删除\",\"value\":\"batchRemove\",\"labelI18nCode\":\"common.batchDelText\"},{\"show\":false,\"icon\":\"icon-ym icon-ym-report-icon-preview-printPreview\",\"label\":\"批量打印\",\"value\":\"batchPrint\",\"labelI18nCode\":\"common.batchPrintText\"}],\"useDataPermission\":true,\"viewKey\":\"\",\"columnList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemede56d\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目分类编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778687997809,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_type_code\",\"__vModel__\":\"project_type_code\",\"disabled\":false,\"id\":\"project_type_code\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"项目分类编码\",\"label\":\"项目分类编码\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem98d1b5\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目分类名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778688012177,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_type_name\",\"__vModel__\":\"project_type_name\",\"disabled\":false,\"id\":\"project_type_name\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"项目分类名称\",\"label\":\"项目分类名称\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"treeSelect\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"上级项目分类\",\"fullNameI18nCode\":[\"\"],\"label\":\"上级项目分类\",\"sortable\":false,\"align\":\"left\",\"props\":{\"children\":\"children\",\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778757286660,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemb2dbd9\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"上级项目分类\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"pid\",\"options\":[{\"children\":[{\"fullName\":\"选项1-1\",\"id\":\"2\"}],\"fullName\":\"选项1\",\"id\":\"1\"}],\"__vModel__\":\"pid\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"pid\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"inputNumber\",\"controls\":false,\"resizable\":true,\"fullName\":\"顺序号\",\"fullNameI18nCode\":[\"\"],\"label\":\"顺序号\",\"sortable\":false,\"align\":\"left\",\"thousands\":false,\"isAmountChinese\":false,\"addonAfter\":\"\",\"__config__\":{\"formId\":\"formItemad2faf\",\"yunzhupaasKey\":\"inputNumber\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"顺序号\",\"trigger\":[\"blur\",\"change\"],\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778756981845,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"tag\":\"YunzhupaasInputNumber\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"seq_num\",\"__vModel__\":\"seq_num\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"step\":1,\"disabled\":false,\"id\":\"seq_num\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"uploadFile\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"__config__\":{\"formId\":\"formItem1de75c\",\"yunzhupaasKey\":\"uploadFile\",\"visibility\":[\"pc\",\"app\"],\"defaultValue\":[],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"change\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1779096055133,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-upload\",\"tag\":\"YunzhupaasUploadFile\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"remark\",\"limit\":9,\"__vModel__\":\"remark\",\"sizeUnit\":\"MB\",\"disabled\":false,\"id\":\"remark\",\"buttonText\":\"点击上传\",\"resizable\":true,\"fullName\":\"备注\",\"label\":\"备注\",\"sortable\":false,\"pathType\":\"defaultPath\",\"accept\":\"\",\"folder\":\"\",\"fileSize\":10,\"sortRule\":[],\"timeFormat\":\"YYYY\",\"tipText\":\"\",\"fixed\":\"none\",\"labelI18nCode\":\"\"}],\"summaryField\":[],\"parentField\":\"pid\",\"treeDataSource\":\"dictionary\",\"treeDictionary\":\"\",\"treeSyncInterfaceId\":\"\",\"customBtnsList\":[]}"); return sb.toString(); + } + /** app列表字段配置json */ + public static final String getAppColumnData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"hasPage\":true,\"useColumnPermission\":false,\"searchList\":[],\"btnsList\":[{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-add\",\"label\":\"新增\",\"value\":\"add\",\"labelI18nCode\":\"common.add2Text\"},{\"show\":false,\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"批量删除\",\"value\":\"batchRemove\",\"labelI18nCode\":\"common.batchDelText\"}],\"useDataPermission\":false,\"viewKey\":\"\",\"ruleListApp\":{\"conditionList\":[],\"matchLogic\":\"and\"},\"columnList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemede56d\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目分类编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778687997809,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_type_code\",\"__vModel__\":\"project_type_code\",\"disabled\":false,\"id\":\"project_type_code\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"项目分类编码\",\"label\":\"项目分类编码\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem98d1b5\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目分类名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778688012177,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_type_name\",\"__vModel__\":\"project_type_name\",\"disabled\":false,\"id\":\"project_type_name\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"项目分类名称\",\"label\":\"项目分类名称\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"}],\"columnOptions\":[{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"项目分类编码\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemede56d\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目分类编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778687997809,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"project_type_code\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"project_type_code\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"项目分类名称\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem98d1b5\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目分类名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778688012177,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"project_type_name\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"project_type_name\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"filterable\":false,\"clearable\":true,\"multiple\":false,\"fullName\":\"上级项目分类\",\"fullNameI18nCode\":[\"\"],\"props\":{\"children\":\"children\",\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778757286660,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemb2dbd9\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"上级项目分类\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"options\":[{\"children\":[{\"fullName\":\"选项1-1\",\"id\":\"2\"}],\"fullName\":\"选项1\",\"id\":\"1\"}],\"__vModel__\":\"pid\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"pid\",\"placeholder\":\"请选择\"},{\"controls\":false,\"fullName\":\"顺序号\",\"fullNameI18nCode\":[\"\"],\"thousands\":false,\"isAmountChinese\":false,\"addonAfter\":\"\",\"__config__\":{\"formId\":\"formItemad2faf\",\"yunzhupaasKey\":\"inputNumber\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"顺序号\",\"trigger\":[\"blur\",\"change\"],\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778756981845,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"tag\":\"YunzhupaasInputNumber\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"__vModel__\":\"seq_num\",\"style\":{\"width\":\"100%\"},\"step\":1,\"disabled\":false,\"id\":\"seq_num\",\"placeholder\":\"请输入\",\"addonBefore\":\"\"},{\"buttonText\":\"点击上传\",\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"pathType\":\"defaultPath\",\"accept\":\"\",\"__config__\":{\"formId\":\"formItem1de75c\",\"yunzhupaasKey\":\"uploadFile\",\"visibility\":[\"pc\",\"app\"],\"defaultValue\":[],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"change\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1779096055133,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-upload\",\"tag\":\"YunzhupaasUploadFile\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"folder\":\"\",\"fileSize\":10,\"sortRule\":[],\"timeFormat\":\"YYYY\",\"limit\":9,\"__vModel__\":\"remark\",\"sizeUnit\":\"MB\",\"tipText\":\"\",\"disabled\":false,\"id\":\"remark\"}],\"pageSize\":20,\"defaultSortConfig\":[],\"type\":1,\"columnBtnsList\":[{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-edit\",\"label\":\"编辑\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"edit\",\"labelI18nCode\":\"common.editText\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"删除\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"remove\",\"labelI18nCode\":\"common.delText\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-generator-menu\",\"label\":\"详情\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"detail\",\"labelI18nCode\":\"common.detailText\"}],\"tabConfig\":{\"hasAllTab\":true,\"relationField\":\"\",\"on\":false},\"hasSuperQuery\":false,\"defaultColumnList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemede56d\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目分类编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778687997809,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_type_code\",\"__vModel__\":\"project_type_code\",\"checked\":true,\"disabled\":false,\"id\":\"project_type_code\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"项目分类编码\",\"label\":\"项目分类编码\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem98d1b5\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目分类名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778688012177,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_type_name\",\"__vModel__\":\"project_type_name\",\"checked\":true,\"disabled\":false,\"id\":\"project_type_name\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"项目分类名称\",\"label\":\"项目分类名称\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"treeSelect\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"上级项目分类\",\"fullNameI18nCode\":[\"\"],\"label\":\"上级项目分类\",\"sortable\":false,\"align\":\"left\",\"props\":{\"children\":\"children\",\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778757286660,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemb2dbd9\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"上级项目分类\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"pid\",\"options\":[{\"children\":[{\"fullName\":\"选项1-1\",\"id\":\"2\"}],\"fullName\":\"选项1\",\"id\":\"1\"}],\"__vModel__\":\"pid\",\"checked\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"pid\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"inputNumber\",\"controls\":false,\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"isAmountChinese\":false,\"__config__\":{\"formId\":\"formItemad2faf\",\"yunzhupaasKey\":\"inputNumber\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"顺序号\",\"trigger\":[\"blur\",\"change\"],\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1778756981845,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"tag\":\"YunzhupaasInputNumber\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"seq_num\",\"__vModel__\":\"seq_num\",\"checked\":false,\"disabled\":false,\"id\":\"seq_num\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"resizable\":true,\"fullName\":\"顺序号\",\"label\":\"顺序号\",\"sortable\":false,\"thousands\":false,\"addonAfter\":\"\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"step\":1,\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"uploadFile\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"__config__\":{\"formId\":\"formItem1de75c\",\"yunzhupaasKey\":\"uploadFile\",\"visibility\":[\"pc\",\"app\"],\"defaultValue\":[],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"change\",\"showLabel\":true,\"required\":false,\"tableName\":\"bc_project_type\",\"renderKey\":1779096055133,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-upload\",\"tag\":\"YunzhupaasUploadFile\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"remark\",\"limit\":9,\"__vModel__\":\"remark\",\"sizeUnit\":\"MB\",\"checked\":false,\"disabled\":false,\"id\":\"remark\",\"buttonText\":\"点击上传\",\"resizable\":true,\"fullName\":\"备注\",\"label\":\"备注\",\"sortable\":false,\"pathType\":\"defaultPath\",\"accept\":\"\",\"folder\":\"\",\"fileSize\":10,\"sortRule\":[],\"timeFormat\":\"YYYY\",\"tipText\":\"\",\"fixed\":\"none\",\"labelI18nCode\":\"\"}],\"showOverflow\":true,\"useFormPermission\":false,\"customBtnsList\":[],\"useBtnPermission\":false}"); return sb.toString(); + } + /** 表列表 */ + public static final String getTableList(){ + StringBuilder sb = new StringBuilder(); +sb.append("[{\"relationTable\":\"\",\"tableField\":\"\",\"typeId\":\"1\",\"fields\":[{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"project_type_id\",\"fieldName\":\"主键ID\",\"identity\":0,\"primaryKey\":1},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"project_type_code\",\"fieldName\":\"项目分类编码,业务唯一\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"100\",\"dataType\":\"varchar\",\"field\":\"project_type_name\",\"fieldName\":\"项目分类名称\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"pid\",\"fieldName\":\"上级项目分类\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":null,\"dataType\":\"int\",\"field\":\"seq_num\",\"fieldName\":\"顺序号\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"500\",\"dataType\":\"varchar\",\"field\":\"remark\",\"fieldName\":\"备注\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"create_by\",\"fieldName\":\"创建人ID\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"\",\"dataType\":\"datetime\",\"field\":\"create_time\",\"fieldName\":\"创建时间\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"\",\"dataType\":\"datetime\",\"field\":\"update_time\",\"fieldName\":\"更新时间\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"0\",\"dataType\":\"varchar\",\"field\":\"update_by\",\"fieldName\":\"更新人ID\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"f_tenant_id\",\"fieldName\":\"租户id\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"f_flow_id\",\"fieldName\":\"流程id\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"f_flow_task_id\",\"fieldName\":\"流程任务主键\",\"identity\":0,\"primaryKey\":0}],\"relationField\":\"\",\"table\":\"bc_project_type\",\"tableName\":\"项目分类\"},{\"relationTable\":\"bc_project_type\",\"tableField\":\"project_type_id\",\"typeId\":\"0\",\"fields\":[{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"expbudget_item_id\",\"fieldName\":\"主键ID\",\"identity\":0,\"primaryKey\":1},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"project_type_id\",\"fieldName\":\"项目分类\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"budget_item_id\",\"fieldName\":\"标准预算项。关联表:bc_budget_item\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"expbudget_item_code\",\"fieldName\":\"支出预算项编码\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"100\",\"dataType\":\"varchar\",\"field\":\"expbudget_item_name\",\"fieldName\":\"支出预算项名称\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"pid\",\"fieldName\":\"上级预算项\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":null,\"dataType\":\"json\",\"field\":\"cost_item_id\",\"fieldName\":\"关联成本项。选择多个。关联表:bc_cost_item\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"500\",\"dataType\":\"varchar\",\"field\":\"remark\",\"fieldName\":\"备注\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"create_by\",\"fieldName\":\"创建人ID\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"\",\"dataType\":\"datetime\",\"field\":\"create_time\",\"fieldName\":\"创建时间\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"\",\"dataType\":\"datetime\",\"field\":\"update_time\",\"fieldName\":\"更新时间\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"0\",\"dataType\":\"varchar\",\"field\":\"update_by\",\"fieldName\":\"更新人ID\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"f_tenant_id\",\"fieldName\":\"租户id\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"f_flow_id\",\"fieldName\":\"流程id\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"f_flow_task_id\",\"fieldName\":\"流程任务主键\",\"identity\":0,\"primaryKey\":0}],\"relationField\":\"project_type_id\",\"table\":\"bc_project_expbudget_temp\",\"tableName\":\"标准预算项\"}]"); return sb.toString(); + } + +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/projecttype/ProjectTypeExcelErrorVO.java b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/projecttype/ProjectTypeExcelErrorVO.java new file mode 100644 index 0000000..0f88aa4 --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/projecttype/ProjectTypeExcelErrorVO.java @@ -0,0 +1,22 @@ + + +package com.yunzhupaas.bsc.model.projecttype; + +import lombok.Data; +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.alibaba.fastjson.annotation.JSONField; +/** + * + * 项目分类 + * @版本: V5.2.7 + * @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * @作者: 深圳市乐程软件有限公司 + * @日期: 2026-05-19 + */ +@Data +public class ProjectTypeExcelErrorVO extends ProjectTypeExcelVO{ + + @Excel(name = "异常原因",orderNum = "-999") + @JSONField(name = "errorsInfo") + private String errorsInfo; +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/projecttype/ProjectTypeExcelVO.java b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/projecttype/ProjectTypeExcelVO.java new file mode 100644 index 0000000..b6c81ad --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/projecttype/ProjectTypeExcelVO.java @@ -0,0 +1,25 @@ +package com.yunzhupaas.bsc.model.projecttype; + +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-19 + */ +@Data +public class ProjectTypeExcelVO{ + +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/projecttype/ProjectTypeForm.java b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/projecttype/ProjectTypeForm.java new file mode 100644 index 0000000..99220eb --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/projecttype/ProjectTypeForm.java @@ -0,0 +1,52 @@ +package com.yunzhupaas.bsc.model.projecttype; + +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-19 + */ +@Data +@Schema(description = "表单参数") +public class ProjectTypeForm { + /** 主键 */ + @Schema(description = "主键") + @JSONField(name = "project_type_id") + private String projectTypeId; + + + /** 项目分类编码 **/ + @Schema(description = "项目分类编码") + @JsonProperty("project_type_code") + @JSONField(name = "project_type_code") + private String projectTypeCode; + /** 项目分类名称 **/ + @Schema(description = "项目分类名称") + @JsonProperty("project_type_name") + @JSONField(name = "project_type_name") + private String projectTypeName; + /** 上级项目分类 **/ + @Schema(description = "上级项目分类") + @JsonProperty("pid") + @JSONField(name = "pid") + private Object pid; + /** 顺序号 **/ + @Schema(description = "顺序号") + @JsonProperty("seq_num") + @JSONField(name = "seq_num") + private BigDecimal seqNum; + /** 备注 **/ + @Schema(description = "备注") + @JsonProperty("remark") + @JSONField(name = "remark") + private Object remark; + +} diff --git a/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/projecttype/ProjectTypePagination.java b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/projecttype/ProjectTypePagination.java new file mode 100644 index 0000000..43cbaf4 --- /dev/null +++ b/yunzhupaas-bc/yunzhupaas-bc-entity/src/main/java/com/yunzhupaas/bsc/model/projecttype/ProjectTypePagination.java @@ -0,0 +1,58 @@ +package com.yunzhupaas.bsc.model.projecttype; + +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-19 + */ +@Data +@Schema(description = "列表查询参数") +public class ProjectTypePagination 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; + /** 分类名称 */ + @Schema(description = "分类名称") + @JsonProperty("project_type_name") + @JSONField(name = "projectTypeName") + private Object projectTypeName; + /** + * 树形异步父级字段传值 + */ + private String treeParentValue; + /** + * 是否有参数 + */ + private boolean hasParam=false; +} diff --git a/yunzhupaas-pcm/pom.xml b/yunzhupaas-cm/pom.xml similarity index 89% rename from yunzhupaas-pcm/pom.xml rename to yunzhupaas-cm/pom.xml index 03f0706..f098674 100644 --- a/yunzhupaas-pcm/pom.xml +++ b/yunzhupaas-cm/pom.xml @@ -9,12 +9,12 @@ 4.0.0 - yunzhupaas-pcm + yunzhupaas-cm pom - yunzhupaas-pcm-entity - yunzhupaas-pcm-biz - yunzhupaas-pcm-controller + yunzhupaas-cm-entity + yunzhupaas-cm-biz + yunzhupaas-cm-controller diff --git a/yunzhupaas-crm/yunzhupaas-crm-biz/pom.xml b/yunzhupaas-cm/yunzhupaas-cm-biz/pom.xml similarity index 89% rename from yunzhupaas-crm/yunzhupaas-crm-biz/pom.xml rename to yunzhupaas-cm/yunzhupaas-cm-biz/pom.xml index 7fa6361..a22eec9 100644 --- a/yunzhupaas-crm/yunzhupaas-crm-biz/pom.xml +++ b/yunzhupaas-cm/yunzhupaas-cm-biz/pom.xml @@ -3,13 +3,13 @@ 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"> - yunzhupaas-crm + yunzhupaas-cm com.yunzhupaas 5.2.0-RELEASE 4.0.0 - yunzhupaas-crm-biz + yunzhupaas-cm-biz diff --git a/yunzhupaas-crm/yunzhupaas-crm-controller/pom.xml b/yunzhupaas-cm/yunzhupaas-cm-controller/pom.xml similarity index 86% rename from yunzhupaas-crm/yunzhupaas-crm-controller/pom.xml rename to yunzhupaas-cm/yunzhupaas-cm-controller/pom.xml index c75610c..eb9a2c7 100644 --- a/yunzhupaas-crm/yunzhupaas-crm-controller/pom.xml +++ b/yunzhupaas-cm/yunzhupaas-cm-controller/pom.xml @@ -3,13 +3,13 @@ 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"> - yunzhupaas-crm + yunzhupaas-cm com.yunzhupaas 5.2.0-RELEASE 4.0.0 - yunzhupaas-crm-controller + yunzhupaas-cm-controller diff --git a/yunzhupaas-crm/yunzhupaas-crm-entity/pom.xml b/yunzhupaas-cm/yunzhupaas-cm-entity/pom.xml similarity index 86% rename from yunzhupaas-crm/yunzhupaas-crm-entity/pom.xml rename to yunzhupaas-cm/yunzhupaas-cm-entity/pom.xml index aba2bbe..2bc927d 100644 --- a/yunzhupaas-crm/yunzhupaas-crm-entity/pom.xml +++ b/yunzhupaas-cm/yunzhupaas-cm-entity/pom.xml @@ -3,13 +3,13 @@ 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"> - yunzhupaas-crm + yunzhupaas-cm com.yunzhupaas 5.2.0-RELEASE 4.0.0 - yunzhupaas-crm-entity + yunzhupaas-cm-entity diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/mapper/CrmLeadMapper.java b/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/mapper/CrmLeadMapper.java new file mode 100644 index 0000000..74ceae9 --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/mapper/CrmLeadMapper.java @@ -0,0 +1,17 @@ +package com.yunzhupaas.mdm.mapper; + + +import com.yunzhupaas.mdm.entity.CrmLeadEntity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yunzhupaas.base.mapper.SuperMapper; + +/** + * crm_lead + * 版本: V5.2.7 + * 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * 作者: 深圳市乐程软件有限公司 + * 日期: 2026-05-18 + */ +public interface CrmLeadMapper extends SuperMapper { + +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/mapper/ProjectsMapper.java b/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/mapper/ProjectsMapper.java new file mode 100644 index 0000000..bdb567f --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/mapper/ProjectsMapper.java @@ -0,0 +1,19 @@ +package com.yunzhupaas.mdm.mapper; + + +import com.yunzhupaas.mdm.entity.ProjectsEntity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yunzhupaas.base.mapper.SuperMapper; + +/** + * 项目信息 + * 版本: V5.2.7 + * 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * 作者: 深圳市乐程软件有限公司 + * 日期: 2026-05-19 + */ +public interface ProjectsMapper extends SuperMapper { + + public String getProjettype(String projectstypeId); + +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/service/CrmLeadService.java b/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/service/CrmLeadService.java new file mode 100644 index 0000000..e6a77d5 --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/service/CrmLeadService.java @@ -0,0 +1,31 @@ +package com.yunzhupaas.mdm.service; + +import com.yunzhupaas.mdm.entity.*; +import com.yunzhupaas.base.service.SuperService; +import com.yunzhupaas.mdm.model.crmlead.*; +import java.util.*; + +/** + * crm_lead + * 版本: V5.2.7 + * 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * 作者: 深圳市乐程软件有限公司 + * 日期: 2026-05-18 + */ +public interface CrmLeadService extends SuperService { + List getList(CrmLeadPagination crmLeadPagination); + + List getTypeList(CrmLeadPagination crmLeadPagination,String dataType); + + CrmLeadEntity getInfo(String leadid); + + void delete(CrmLeadEntity entity); + + void create(CrmLeadEntity entity); + + boolean update(String leadid, CrmLeadEntity entity); + + String checkForm(CrmLeadForm form,int i); + + void saveOrUpdate(CrmLeadForm crmLeadForm,String id, boolean isSave) throws Exception; +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/service/ProjectsService.java b/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/service/ProjectsService.java new file mode 100644 index 0000000..03e6422 --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/service/ProjectsService.java @@ -0,0 +1,45 @@ +package com.yunzhupaas.mdm.service; + +import com.yunzhupaas.base.ActionResult; +import com.yunzhupaas.mdm.entity.*; +import com.yunzhupaas.base.service.SuperService; +import com.yunzhupaas.mdm.model.projects.*; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.web.bind.annotation.GetMapping; + +import java.util.*; + +/** + * 项目信息 + * 版本: V5.2.7 + * 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * 作者: 深圳市乐程软件有限公司 + * 日期: 2026-05-19 + */ +public interface ProjectsService extends SuperService { + List getList(ProjectsPagination projectsPagination); + + List getTypeList(ProjectsPagination projectsPagination,String dataType); + + ProjectsEntity getInfo(String projectid); + + void delete(ProjectsEntity entity); + + void create(ProjectsEntity entity); + + boolean update(String projectid, ProjectsEntity entity); + + String checkForm(ProjectsForm form,int i); + + void saveOrUpdate(ProjectsForm projectsForm,String id, boolean isSave) throws Exception; + /** + * 树状列表查询 + * @return + */ + + public List> getTreeList(); + + String getProjettype(String projectstypeId); + + +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/service/impl/CrmLeadServiceImpl.java b/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/service/impl/CrmLeadServiceImpl.java new file mode 100644 index 0000000..8f630ad --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/service/impl/CrmLeadServiceImpl.java @@ -0,0 +1,352 @@ + +package com.yunzhupaas.mdm.service.impl; + +import com.yunzhupaas.mdm.entity.*; +import com.yunzhupaas.mdm.mapper.CrmLeadMapper; +import com.yunzhupaas.mdm.service.*; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yunzhupaas.mdm.model.crmlead.*; +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; +/** + * + * crm_lead + * 版本: V5.2.7 + * 版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * 作者: 深圳市乐程软件有限公司 + * 日期: 2026-05-18 + */ +@Service +public class CrmLeadServiceImpl extends SuperServiceImpl implements CrmLeadService{ + @Autowired + private GeneraterSwapUtil generaterSwapUtil; + @Autowired + private UserProvider userProvider; + @Override + public List getList(CrmLeadPagination crmLeadPagination){ + return getTypeList(crmLeadPagination,crmLeadPagination.getDataType()); + } + /** 列表查询 */ + @Override + public List getTypeList(CrmLeadPagination crmLeadPagination,String dataType){ + String userId=userProvider.get().getUserId(); + Map tableClassMap=new HashMap<>(); + tableClassMap.put("crm_lead",CrmLeadEntity.class); + + MPJLambdaWrapper wrapper = JoinWrappers + .lambda("crm_lead",CrmLeadEntity.class) + .selectAll(CrmLeadEntity.class); + MPJLambdaWrapper wrapper2 = JoinWrappers + .lambda("crm_lead",CrmLeadEntity.class) + .distinct().select(CrmLeadEntity::getLeadId); + + QueryAllModel queryAllModel = new QueryAllModel(); + queryAllModel.setWrapper(wrapper); + queryAllModel.setClassMap(tableClassMap); + queryAllModel.setDbLink(CrmLeadConstant.DBLINKID); + //数据过滤 + boolean isPc = ServletUtil.getHeader("yunzhupaas-origin").equals("pc"); + String columnData = !isPc ? CrmLeadConstant.getAppColumnData() : CrmLeadConstant.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(crmLeadPagination.getSuperQueryJson()); + } + //数据权限 + boolean pcPermission = true; + boolean appPermission = false; + if (isPc && pcPermission) { + queryAllModel.setModuleId(crmLeadPagination.getMenuId()); + } + if (!isPc && appPermission) { + queryAllModel.setModuleId(crmLeadPagination.getMenuId()); + } + //拼接复杂条件 + wrapper = generaterSwapUtil.getConditionAllTable(queryAllModel); + if(wrapper == null) return new ArrayList<>(); + queryAllModel.setWrapper(wrapper2); + wrapper2 = generaterSwapUtil.getConditionAllTable(queryAllModel); + //其他条件拼接 + otherConditions(crmLeadPagination, wrapper, isPc); + otherConditions(crmLeadPagination, wrapper2, isPc); + + if("0".equals(dataType)){ + com.github.pagehelper.Page objects = PageHelper.startPage((int) crmLeadPagination.getCurrentPage(), (int) crmLeadPagination.getPageSize(), true); + List userIPage = this.selectJoinList(CrmLeadEntity.class, wrapper2); + List collect = userIPage.stream().map(t -> t.getLeadId()).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(collect)){ + wrapper.in(CrmLeadEntity::getLeadId,collect); + } + List result = this.selectJoinList(CrmLeadEntity.class, wrapper); + return crmLeadPagination.setData(result,objects.getTotal()); + }else{ + List list = this.selectJoinList(CrmLeadEntity.class, wrapper); + if("2".equals(dataType)){ + List selectIds = Arrays.asList(crmLeadPagination.getSelectIds()); + return list.stream().filter(t -> selectIds.contains(t.getLeadId())).collect(Collectors.toList()); + }else{ + return list; + } + } + + } + + /** + * 其他条件拼接 + */ + private void otherConditions(CrmLeadPagination crmLeadPagination, MPJLambdaWrapper 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(CrmLeadEntity::getDeleteMark); + + //流程数据隔离 + List flowIds = generaterSwapUtil.getFlowIds(crmLeadPagination.getFlowId()); + wrapper.in(CrmLeadEntity::getFlowId,flowIds); + //关键词 + if(ObjectUtil.isNotEmpty(crmLeadPagination.getYunzhupaasKeyword())){ + if(isPc){ + wrapper.and(t -> { + t.like(CrmLeadEntity::getMobile,crmLeadPagination.getYunzhupaasKeyword()).or(); + }); + } + } + //普通查询 + if(isPc){ + if(ObjectUtil.isNotEmpty(crmLeadPagination.getMobile())){ + String value = crmLeadPagination.getMobile() instanceof List ? + JsonUtil.getObjectToString(crmLeadPagination.getMobile()) : + String.valueOf(crmLeadPagination.getMobile()); + wrapper.like(CrmLeadEntity::getMobile,value); + } + + if(ObjectUtil.isNotEmpty(crmLeadPagination.getCustomerSource())){ + List idList = new ArrayList<>(); + try { + String[][] customerSource = JsonUtil.getJsonToBean(crmLeadPagination.getCustomerSource(),String[][].class); + for(int i=0;i0){ + idList.add(JsonUtil.getObjectToString(Arrays.asList(customerSource[i]))); + } + } + }catch (Exception e1){ + try { + List customerSource = JsonUtil.getJsonToList(crmLeadPagination.getCustomerSource(),String.class); + if(customerSource.size()>0){ + idList.addAll(customerSource); + } + }catch (Exception e2){ + idList.add(String.valueOf(crmLeadPagination.getCustomerSource())); + } + } + wrapper.and(t->{ + idList.forEach(tt->{ + if(StringUtil.isNotEmpty(tt) && "Microsoft SQL Server".equalsIgnoreCase(databaseName)){ + tt = tt.replaceFirst("\\[","[[]"); + } + t.like(CrmLeadEntity::getCustomerSource, tt).or(); + }); + }); + } + + } + //排序 + if(StringUtil.isEmpty(crmLeadPagination.getSidx())){ + wrapper.orderByDesc(CrmLeadEntity::getLeadId); + }else{ + try { + String[] split = crmLeadPagination.getSidx().split(","); + for(String sidx:split){ + CrmLeadEntity crmLeadEntity = new CrmLeadEntity(); + String oderTableField = crmLeadEntity.getClass().getAnnotation(TableName.class).value(); + boolean descFlag = sidx.startsWith("-"); + String sidxField = descFlag ? sidx.substring(1) : sidx; + try{ + Field declaredField = crmLeadEntity.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 CrmLeadEntity getInfo(String leadid){ + MPJLambdaWrapper wrapper = JoinWrappers + .lambda("crm_lead",CrmLeadEntity.class) + .selectAll(CrmLeadEntity.class); + wrapper.and( + t->t.eq(CrmLeadEntity::getLeadId, leadid ) + .or().eq(CrmLeadEntity::getFlowTaskId, leadid) + ); + return this.selectJoinOne(CrmLeadEntity.class,wrapper); + } + @Override + public void create(CrmLeadEntity entity){ + this.save(entity); + } + @Override + public boolean update(String leadid, CrmLeadEntity entity){ + return this.updateById(entity); + } + @Override + public void delete(CrmLeadEntity entity){ + if(entity!=null){ + this.removeById(entity.getLeadId()); + } + } + /** 验证表单唯一字段,正则,非空 i-0新增-1修改*/ + @Override + public String checkForm(CrmLeadForm form,int i) { + List flowIds = generaterSwapUtil.getFlowIds(form.getFlowId()); + boolean isUp =StringUtil.isNotEmpty(form.getLeadId()) && !form.getLeadId().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.getLeadId(); + } + //主表字段验证 + fieldTipName = "线索名称"; + if(StringUtil.isEmpty(form.getLeadName())){ + return fieldTipName + canNotNull; + } + fieldTipName = "手机号"; + if(StringUtil.isEmpty(form.getMobile())){ + return fieldTipName + canNotNull; + } + if(StringUtil.isNotEmpty(form.getMobile())){ + form.setMobile(form.getMobile().trim()); + QueryWrapper mobileWrapper=new QueryWrapper<>(); + mobileWrapper.lambda().eq(CrmLeadEntity::getMobile,form.getMobile()); + mobileWrapper.lambda().in(CrmLeadEntity::getFlowId, flowIds); + //假删除标志 + mobileWrapper.lambda().isNull(CrmLeadEntity::getDeleteMark); + if (isUp){ + mobileWrapper.lambda().ne(CrmLeadEntity::getLeadId, id); + } + if((int) this.count(mobileWrapper)>0){ + countRecover = fieldTipName + canNotRepeated; + } + } + if(StringUtil.isNotEmpty(form.getMobile())){ + if(!Pattern.compile("^1[3456789]\\d{9}$").matcher(String.valueOf(form.getMobile())).matches()){ + return I18nUtil.getMessageStr("sys.validate.mobilePhone", "请输入正确的手机号码"); + } + } + fieldTipName = "邮箱"; + if(StringUtil.isNotEmpty(form.getEmail())){ + if(!Pattern.compile("^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$").matcher(String.valueOf(form.getEmail())).matches()){ + return I18nUtil.getMessageStr("sys.validate.email", "请输入正确的邮箱"); + } + } + fieldTipName = "状态"; + fieldTipName = "销售人员"; + fieldTipName = "来源"; + fieldTipName = "备注"; + return countRecover; + } + /** + * 新增修改数据(事务回滚) + * @param id + * @param crmLeadForm + * @return + */ + @Override + @Transactional + public void saveOrUpdate(CrmLeadForm crmLeadForm,String id, boolean isSave) throws Exception{ + List> formOperates = crmLeadForm.getFormOperates(); + List hasOperate = new ArrayList<>(); + boolean noOperate = false; + if(CollectionUtils.isNotEmpty(formOperates)){ + for (Map formOperate : formOperates) { + String formOperateId = formOperate.get("id").toString(); + boolean formOperateWrite = formOperate.get("write") ==null? false : (boolean) formOperate.get("write"); + if(formOperateWrite){ + hasOperate.add(formOperateId); + } + } + }else{ + noOperate = true; + } + UserInfo userInfo=userProvider.get(); + UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId()); + crmLeadForm = JsonUtil.getJsonToBean( + generaterSwapUtil.swapDatetime(CrmLeadConstant.getFormData(),crmLeadForm,CrmLeadConstant.TABLERENAMES),CrmLeadForm.class); + CrmLeadEntity entity = JsonUtil.getJsonToBean(crmLeadForm, CrmLeadEntity.class); + String mainUuid = StringUtil.isEmpty(id) ? RandomUtil.uuId() : id; + entity.setFlowId(crmLeadForm.getFlowId()); + if(isSave){ + entity.setFlowTaskId(mainUuid); + entity.setLeadId(mainUuid); + entity.setVersion(0); + } else { + } + boolean b = this.saveOrUpdate(entity); + if(!b){ + throw new DataException("当前表单原数据已被调整,请重新进入该页面编辑并提交数据"); + } + CrmLeadEntity info = this.getInfo(mainUuid); + if (info == null) throw new RuntimeException(MsgCode.FA001.get()); + + } +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/service/impl/ProjectsServiceImpl.java b/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/service/impl/ProjectsServiceImpl.java new file mode 100644 index 0000000..87e80b5 --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-biz/src/main/java/com/yunzhupaas/mdm/service/impl/ProjectsServiceImpl.java @@ -0,0 +1,336 @@ + +package com.yunzhupaas.mdm.service.impl; + +import com.yunzhupaas.mdm.entity.*; +import com.yunzhupaas.mdm.mapper.ProjectsMapper; +import com.yunzhupaas.mdm.service.*; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yunzhupaas.mdm.model.projects.*; +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-19 + */ +@Service +public class ProjectsServiceImpl extends SuperServiceImpl implements ProjectsService{ + @Autowired + private GeneraterSwapUtil generaterSwapUtil; + @Autowired + private UserProvider userProvider; + @Autowired + private ProjectsMapper projectsMapper; + + @Override + public List getList(ProjectsPagination projectsPagination){ + return getTypeList(projectsPagination,projectsPagination.getDataType()); + } + /** 列表查询 */ + @Override + public List getTypeList(ProjectsPagination projectsPagination,String dataType){ + String userId=userProvider.get().getUserId(); + Map tableClassMap=new HashMap<>(); + tableClassMap.put("mdm_project",ProjectsEntity.class); + + MPJLambdaWrapper wrapper = JoinWrappers + .lambda("mdm_project",ProjectsEntity.class) + .selectAll(ProjectsEntity.class); + MPJLambdaWrapper wrapper2 = JoinWrappers + .lambda("mdm_project",ProjectsEntity.class) + .distinct().select(ProjectsEntity::getProjectId); + + QueryAllModel queryAllModel = new QueryAllModel(); + queryAllModel.setWrapper(wrapper); + queryAllModel.setClassMap(tableClassMap); + queryAllModel.setDbLink(ProjectsConstant.DBLINKID); + //数据过滤 + boolean isPc = ServletUtil.getHeader("yunzhupaas-origin").equals("pc"); + String columnData = !isPc ? ProjectsConstant.getAppColumnData() : ProjectsConstant.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(projectsPagination.getSuperQueryJson()); + } + //数据权限 + boolean pcPermission = false; + boolean appPermission = false; + if (isPc && pcPermission) { + queryAllModel.setModuleId(projectsPagination.getMenuId()); + } + if (!isPc && appPermission) { + queryAllModel.setModuleId(projectsPagination.getMenuId()); + } + //拼接复杂条件 + wrapper = generaterSwapUtil.getConditionAllTable(queryAllModel); + if(wrapper == null) return new ArrayList<>(); + queryAllModel.setWrapper(wrapper2); + wrapper2 = generaterSwapUtil.getConditionAllTable(queryAllModel); + //其他条件拼接 + otherConditions(projectsPagination, wrapper, isPc); + otherConditions(projectsPagination, wrapper2, isPc); + + //分组和树形生成这个代码,pc端返回全部数据 !"2".equals(dataType)导出选中数据 + if(isPc && !"2".equals(dataType)){ + dataType = "1"; + } + if("0".equals(dataType)){ + com.github.pagehelper.Page objects = PageHelper.startPage((int) projectsPagination.getCurrentPage(), (int) projectsPagination.getPageSize(), true); + List userIPage = this.selectJoinList(ProjectsEntity.class, wrapper2); + List collect = userIPage.stream().map(t -> t.getProjectId()).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(collect)){ + wrapper.in(ProjectsEntity::getProjectId,collect); + } + List result = this.selectJoinList(ProjectsEntity.class, wrapper); + return projectsPagination.setData(result,objects.getTotal()); + }else{ + List list = this.selectJoinList(ProjectsEntity.class, wrapper); + if("2".equals(dataType)){ + List selectIds = Arrays.asList(projectsPagination.getSelectIds()); + return list.stream().filter(t -> selectIds.contains(t.getProjectId())).collect(Collectors.toList()); + }else{ + return list; + } + } + + } + + /** + * 其他条件拼接 + */ + private void otherConditions(ProjectsPagination projectsPagination, MPJLambdaWrapper 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(ProjectsEntity::getFlowId); + //关键词 + if(ObjectUtil.isNotEmpty(projectsPagination.getYunzhupaasKeyword())){ + } + //普通查询 + if(isPc){ + if(ObjectUtil.isNotEmpty(projectsPagination.getProjectName())){ + String value = projectsPagination.getProjectName() instanceof List ? + JsonUtil.getObjectToString(projectsPagination.getProjectName()) : + String.valueOf(projectsPagination.getProjectName()); + wrapper.like(ProjectsEntity::getProjectName,value); + } + + if(ObjectUtil.isNotEmpty(projectsPagination.getOrgId())){ + List idList = new ArrayList<>(); + try { + String[][] orgId = JsonUtil.getJsonToBean(projectsPagination.getOrgId(),String[][].class); + for(int i=0;i0){ + idList.add(JsonUtil.getObjectToString(Arrays.asList(orgId[i]))); + } + } + }catch (Exception e1){ + try { + List orgId = JsonUtil.getJsonToList(projectsPagination.getOrgId(),String.class); + if(orgId.size()>0){ + idList.add(JsonUtil.getObjectToString(orgId)); + } + }catch (Exception e2){ + idList.add(String.valueOf(projectsPagination.getOrgId())); + } + } + wrapper.and(t->{ + idList.forEach(tt->{ + if(StringUtil.isNotEmpty(tt) && "Microsoft SQL Server".equalsIgnoreCase(databaseName)){ + tt = tt.replaceFirst("\\[","[[]"); + } + t.like(ProjectsEntity::getOrgId, tt).or(); + }); + }); + } + + } + //排序 + if(StringUtil.isEmpty(projectsPagination.getSidx())){ + wrapper.orderByDesc(ProjectsEntity::getProjectId); + }else{ + try { + String[] split = projectsPagination.getSidx().split(","); + for(String sidx:split){ + ProjectsEntity projectsEntity = new ProjectsEntity(); + String oderTableField = projectsEntity.getClass().getAnnotation(TableName.class).value(); + boolean descFlag = sidx.startsWith("-"); + String sidxField = descFlag ? sidx.substring(1) : sidx; + try{ + Field declaredField = projectsEntity.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 ProjectsEntity getInfo(String projectid){ + MPJLambdaWrapper wrapper = JoinWrappers + .lambda("mdm_project",ProjectsEntity.class) + .selectAll(ProjectsEntity.class); + wrapper.and( + t->t.eq(ProjectsEntity::getProjectId, projectid ) + .or().eq(ProjectsEntity::getFlowTaskId, projectid) + ); + return this.selectJoinOne(ProjectsEntity.class,wrapper); + } + @Override + public void create(ProjectsEntity entity){ + this.save(entity); + } + @Override + public boolean update(String projectid, ProjectsEntity entity){ + return this.updateById(entity); + } + @Override + public void delete(ProjectsEntity entity){ + if(entity!=null){ + this.removeById(entity.getProjectId()); + } + } + /** 验证表单唯一字段,正则,非空 i-0新增-1修改*/ + @Override + public String checkForm(ProjectsForm form,int i) { + boolean isUp =StringUtil.isNotEmpty(form.getProjectId()) && !form.getProjectId().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.getProjectId(); + } + //主表字段验证 + fieldTipName = "项目编码"; + fieldTipName = "项目名称"; + fieldTipName = "项目类型"; + fieldTipName = "归属组织"; + fieldTipName = "上级项目"; + fieldTipName = "顺序号"; + fieldTipName = "备注"; + return countRecover; + } + /** + * 新增修改数据(事务回滚) + * @param id + * @param projectsForm + * @return + */ + @Override + @Transactional + public void saveOrUpdate(ProjectsForm projectsForm,String id, boolean isSave) throws Exception{ + UserInfo userInfo=userProvider.get(); + UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId()); + projectsForm = JsonUtil.getJsonToBean( + generaterSwapUtil.swapDatetime(ProjectsConstant.getFormData(),projectsForm,ProjectsConstant.TABLERENAMES),ProjectsForm.class); + ProjectsEntity entity = JsonUtil.getJsonToBean(projectsForm, ProjectsEntity.class); + String mainUuid = StringUtil.isEmpty(id) ? RandomUtil.uuId() : id; + if(isSave){ + entity.setFlowTaskId(mainUuid); + entity.setProjectId(mainUuid); + } else { + } + boolean b = this.saveOrUpdate(entity); + ProjectsEntity info = this.getInfo(mainUuid); + if (info == null) throw new RuntimeException(MsgCode.FA001.get()); + + } + + @Override + public List> getTreeList() { + List> result = new ArrayList<>(); + List list = projectsMapper.selectList(null); + for (ProjectsEntity node : list) { + if (node.getPid() == null || node.getPid().isEmpty() || "0".equals(node.getPid())) { + Map map = new HashMap<>(); + map.put("projectId", node.getProjectId()); + map.put("projectName", node.getProjectName()); + map.put("children", getChildrenSimple(list, node.getProjectId())); + result.add(map); + } + } + + return result; + } + + @Override + public String getProjettype(String projectstypeId) { + return projectsMapper.getProjettype(projectstypeId); + + } + + private List> getChildrenSimple(List list, String parentId) { + List> children = new ArrayList<>(); + for (ProjectsEntity node : list) { + if (parentId.equals(node.getPid())) { + Map map = new HashMap<>(); + map.put("projectId", node.getProjectId()); + map.put("projectName", node.getProjectName()); + map.put("children", getChildrenSimple(list, node.getProjectId())); + children.add(map); + } + } + return children; + } +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-controller/src/main/java/com/yunzhupaas/mdm/controller/CrmLeadController.java b/yunzhupaas-mdm/yunzhupaas-mdm-controller/src/main/java/com/yunzhupaas/mdm/controller/CrmLeadController.java new file mode 100644 index 0000000..1b688b4 --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-controller/src/main/java/com/yunzhupaas/mdm/controller/CrmLeadController.java @@ -0,0 +1,636 @@ +package com.yunzhupaas.mdm.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.mdm.service.*; +import com.yunzhupaas.mdm.entity.*; +import com.yunzhupaas.util.*; +import com.yunzhupaas.mdm.model.crmlead.*; +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.web.multipart.MultipartFile; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.ExcelImportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.ImportParams; +import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; +import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Workbook; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import com.yunzhupaas.onlinedev.model.ExcelImFieldModel; +import com.yunzhupaas.base.model.OnlineImport.ImportDataModel; +import com.yunzhupaas.base.model.OnlineImport.ImportFormCheckUniqueModel; +import com.yunzhupaas.base.model.OnlineImport.ExcelImportModel; +import com.yunzhupaas.base.model.OnlineImport.VisualImportModel; +import cn.xuyanwu.spring.file.storage.FileInfo; +import lombok.Cleanup; +import com.yunzhupaas.model.visualJson.config.HeaderModel; +import com.yunzhupaas.base.model.ColumnDataModel; +import com.yunzhupaas.base.util.VisualUtils; +import org.springframework.transaction.annotation.Transactional; + +/** + * crm_lead + * @版本: V5.2.7 + * @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * @作者: 深圳市乐程软件有限公司 + * @日期: 2026-05-18 + */ +@Slf4j +@RestController +@Tag(name = "crm_lead" , description = "bcm") +@RequestMapping("/api/bcm/CrmLead") +public class CrmLeadController { + + @Autowired + private GeneraterSwapUtil generaterSwapUtil; + + @Autowired + private UserProvider userProvider; + + @Autowired + private CrmLeadService crmLeadService; + + + + @Autowired + private ConfigValueUtil configValueUtil; + + /** + * 列表 + * + * @param crmLeadPagination + * @return + */ + @Operation(summary = "获取列表") + @PostMapping("/getList") + public ActionResult list(@RequestBody CrmLeadPagination crmLeadPagination)throws Exception{ + List list= crmLeadService.getList(crmLeadPagination); + List> realList=new ArrayList<>(); + for (CrmLeadEntity entity : list) { + Map crmLeadMap=JsonUtil.entityToMap(entity); + crmLeadMap.put("id", crmLeadMap.get("lead_id")); + //副表数据 + //子表数据 + realList.add(crmLeadMap); + } + //数据转换 + boolean isPc = "pc".equals(ServletUtil.getHeader("yunzhupaas-origin" )); + realList = generaterSwapUtil.swapDataList(realList, CrmLeadConstant.getFormData(), CrmLeadConstant.getColumnData(), crmLeadPagination.getModuleId(),isPc?false:false); + + //流程状态添加 + generaterSwapUtil.getFlowStatus(realList); + //返回对象 + PageListVO vo = new PageListVO(); + vo.setList(realList); + PaginationVO page = JsonUtil.getJsonToBean(crmLeadPagination, PaginationVO.class); + vo.setPagination(page); + return ActionResult.success(vo); + } + /** + * 创建 + * + * @param crmLeadForm + * @return + */ + @PostMapping("/{id}") + @Operation(summary = "创建") + public ActionResult create(@PathVariable("id") String id, @RequestBody @Valid CrmLeadForm crmLeadForm) { + String b = crmLeadService.checkForm(crmLeadForm,0); + if (StringUtil.isNotEmpty(b)){ + return ActionResult.fail(b ); + } + try{ + crmLeadService.saveOrUpdate(crmLeadForm, id ,true); + }catch(Exception e){ + return ActionResult.fail(MsgCode.FA028.get()); + } + return ActionResult.success(MsgCode.SU001.get()); + } + /** + * 导出Excel + * + * @return + */ + @Operation(summary = "导出Excel") + @PostMapping("/Actions/Export") + public ActionResult Export(@RequestBody CrmLeadPagination crmLeadPagination) throws IOException { + if (StringUtil.isEmpty(crmLeadPagination.getSelectKey())){ + return ActionResult.fail(MsgCode.IMP011.get()); + } + List list= crmLeadService.getList(crmLeadPagination); + List> realList=new ArrayList<>(); + for (CrmLeadEntity entity : list) { + Map crmLeadMap=JsonUtil.entityToMap(entity); + crmLeadMap.put("id", crmLeadMap.get("lead_id")); + //副表数据 + //子表数据 + realList.add(crmLeadMap); + } + //数据转换 + realList = generaterSwapUtil.swapDataList(realList, CrmLeadConstant.getFormData(), CrmLeadConstant.getColumnData(), crmLeadPagination.getModuleId(),false); + String[]keys=!StringUtil.isEmpty(crmLeadPagination.getSelectKey())?crmLeadPagination.getSelectKey():new String[0]; + UserInfo userInfo=userProvider.get(); + String menuFullName = generaterSwapUtil.getMenuName(crmLeadPagination.getMenuId()); + + DownloadVO vo=this.creatModelExcel(configValueUtil.getTemporaryFilePath(),realList,keys,userInfo,menuFullName); + return ActionResult.success(vo); + } + + /** + * 导出表格方法 + */ + public DownloadVO creatModelExcel(String path,List>list,String[]keys,UserInfo userInfo,String menuFullName){ + DownloadVO vo=DownloadVO.builder().build(); + List entitys=new ArrayList<>(); + if(keys.length>0){ + for(String key:keys){ + switch(key){ + case "lead_name" : + entitys.add(new ExcelExportEntity("线索名称" ,"lead_name")); + break; + case "mobile" : + entitys.add(new ExcelExportEntity("手机号" ,"mobile")); + break; + case "email" : + entitys.add(new ExcelExportEntity("邮箱" ,"email")); + break; + case "lead_status" : + entitys.add(new ExcelExportEntity("状态" ,"lead_status")); + break; + case "sales_id" : + entitys.add(new ExcelExportEntity("销售人员" ,"sales_id")); + break; + case "customer_source" : + entitys.add(new ExcelExportEntity("来源" ,"customer_source")); + break; + case "remark" : + entitys.add(new ExcelExportEntity("备注" ,"remark")); + break; + default: + break; + } + } + } + + ExportParams exportParams = new ExportParams(null, "表单信息"); + exportParams.setType(ExcelType.XSSF); + try{ + @Cleanup Workbook workbook = new HSSFWorkbook(); + if (entitys.size()>0){ + if (list.size()==0){ + list.add(new HashMap<>()); + } + //去除空数据 + List> dataList = new ArrayList<>(); + for (Map map : list) { + int i = 0; + for (String key : keys) { + //子表 + if (key.toLowerCase().startsWith("tablefield")) { + String tableField = key.substring(0, key.indexOf("-" )); + String field = key.substring(key.indexOf("-" ) + 1); + Object o = map.get(tableField); + if (o != null) { + List> childList = (List>) o; + for (Map childMap : childList) { + if (childMap.get(field) != null) { + i++; + } + } + } + } else { + Object o = map.get(key); + if (o != null) { + i++; + } + } + } + if (i > 0) { + dataList.add(map); + } + } + List mergerEntitys = new ArrayList<>(entitys); + List> mergerList=new ArrayList<>(dataList); + //复杂表头-表头和数据处理 + ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(CrmLeadConstant.getColumnData(), ColumnDataModel.class); + List complexHeaderList = columnDataModel.getComplexHeaderList(); + if (!Objects.equals(columnDataModel.getType(), 3) && !Objects.equals(columnDataModel.getType(), 5)) { + entitys = VisualUtils.complexHeaderHandel(entitys, complexHeaderList, Objects.equals(columnDataModel.getType(), 4)); + dataList = VisualUtils.complexHeaderDataHandel(dataList, complexHeaderList, Objects.equals(columnDataModel.getType(), 4)); + } + + exportParams.setStyle(ExcelExportStyler.class); + workbook = ExcelExportUtil.exportExcel(exportParams, entitys, dataList); + VisualUtils.mergerVertical(workbook, mergerEntitys, mergerList); + ExcelModel excelModel = generaterSwapUtil.getExcelParams(CrmLeadConstant.getFormData(),Arrays.asList(keys)); + ExcelHelper helper = new ExcelHelper(); + helper.init(workbook, exportParams, entitys, excelModel); + helper.doPreHandle(); + helper.doPostHandle(); + } + String fileName = menuFullName +"_"+ DateUtil.dateNow("yyyyMMddHHmmss") + ".xls"; + MultipartFile multipartFile = ExcelUtil.workbookToCommonsMultipartFile(workbook, fileName); + String temporaryFilePath = configValueUtil.getTemporaryFilePath(); + FileInfo fileInfo = FileUploadUtils.uploadFile(multipartFile, temporaryFilePath, fileName); + vo.setName(fileInfo.getFilename()); + vo.setUrl(UploaderUtil.uploaderFile(fileInfo.getFilename() + "#" + "Temporary") + "&name=" + fileName); + } catch (Exception e) { + log.error("信息导出Excel错误:{}", e.getMessage()); + e.printStackTrace(); + } + return vo; + } + @Operation(summary = "上传文件") + @PostMapping("/Uploader") + public ActionResult Uploader() { + List list = UpUtil.getFileAll(); + MultipartFile file = list.get(0); + if (file.getOriginalFilename().endsWith(".xlsx") || file.getOriginalFilename().endsWith(".xls")) { + String filePath = XSSEscape.escape(configValueUtil.getTemporaryFilePath()); + String fileName = XSSEscape.escape(RandomUtil.uuId() + "." + UpUtil.getFileType(file)); + //上传文件 + FileInfo fileInfo = FileUploadUtils.uploadFile(file, filePath, fileName); + DownloadVO vo = DownloadVO.builder().build(); + vo.setName(fileInfo.getFilename()); + return ActionResult.success(vo); + } else { + return ActionResult.fail(MsgCode.FA017.get()); + } + } + + /** + * 模板下载 + * + * @return + */ + @Operation(summary = "模板下载") + @GetMapping("/TemplateDownload") + public ActionResult TemplateDownload(@RequestParam("menuId") String menuId){ + DownloadVO vo = DownloadVO.builder().build(); + UserInfo userInfo = userProvider.get(); + String menuFullName = generaterSwapUtil.getMenuName(menuId); + //主表对象 + List entitys = new ArrayList<>(); + List selectKeys = new ArrayList<>(); + //以下添加字段 + entitys.add(new ExcelExportEntity("线索名称(lead_name)" ,"lead_name")); + selectKeys.add("lead_name"); + entitys.add(new ExcelExportEntity("手机号(mobile)" ,"mobile")); + selectKeys.add("mobile"); + entitys.add(new ExcelExportEntity("状态(lead_status)" ,"lead_status")); + selectKeys.add("lead_status"); + entitys.add(new ExcelExportEntity("销售人员(sales_id)" ,"sales_id")); + selectKeys.add("sales_id"); + entitys.add(new ExcelExportEntity("备注(remark)" ,"remark")); + selectKeys.add("remark"); + entitys.add(new ExcelExportEntity("邮箱(email)" ,"email")); + selectKeys.add("email"); + entitys.add(new ExcelExportEntity("来源(customer_source)" ,"customer_source")); + selectKeys.add("customer_source"); + ExcelModel excelModel = generaterSwapUtil.getExcelParams(CrmLeadConstant.getFormData(),selectKeys); + List> list = new ArrayList<>(); + list.add(excelModel.getDataMap()); + + ExportParams exportParams = new ExportParams(null, menuFullName + "模板"); + exportParams.setStyle(ExcelExportStyler.class); + exportParams.setType(ExcelType.XSSF); + try{ + @Cleanup Workbook workbook = new HSSFWorkbook(); + if (entitys.size()>0){ + if (list.size()==0){ + list.add(new HashMap<>()); + } + //复杂表头-表头和数据处理 + ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(CrmLeadConstant.getColumnData(), ColumnDataModel.class); + List complexHeaderList = columnDataModel.getComplexHeaderList(); + if (!Objects.equals(columnDataModel.getType(), 3) && !Objects.equals(columnDataModel.getType(), 5)) { + entitys = VisualUtils.complexHeaderHandel(entitys, complexHeaderList, false); + list = VisualUtils.complexHeaderDataHandel(list, complexHeaderList, false); + } + workbook = ExcelExportUtil.exportExcel(exportParams, entitys, list); + ExcelHelper helper = new ExcelHelper(); + helper.init(workbook, exportParams, entitys, excelModel); + helper.doPreHandle(); + helper.doPostHandle(); + } + String fileName = menuFullName + "导入模板.xls"; + MultipartFile multipartFile = ExcelUtil.workbookToCommonsMultipartFile(workbook, fileName); + String temporaryFilePath = configValueUtil.getTemporaryFilePath(); + FileInfo fileInfo = FileUploadUtils.uploadFile(multipartFile, temporaryFilePath, fileName); + vo.setName(fileInfo.getFilename()); + vo.setUrl(UploaderUtil.uploaderFile(fileInfo.getFilename() + "#" + "Temporary") + "&name=" + fileName); + } catch (Exception e) { + log.error("模板信息导出Excel错误:{}", e.getMessage()); + e.printStackTrace(); + } + return ActionResult.success(vo); + } + + /** + * 导入预览 + * + * @return + */ + @Operation(summary = "导入预览" ) + @GetMapping("/ImportPreview") + public ActionResult> ImportPreview(String fileName) throws Exception { + Map headAndDataMap = new HashMap<>(2); + String filePath = FileUploadUtils.getLocalBasePath() + configValueUtil.getTemporaryFilePath(); + FileUploadUtils.downLocal(configValueUtil.getTemporaryFilePath(), filePath, fileName); + File temporary = new File(XSSEscape.escapePath(filePath + fileName)); + int headerRowIndex = 1; + ImportParams params = new ImportParams(); + params.setTitleRows(0); + params.setHeadRows(headerRowIndex); + params.setNeedVerify(true); + try { + InputStream inputStream = ExcelUtil.solveOrginTitle(temporary, headerRowIndex); + List excelDataList = ExcelUtil.importExcelByInputStream(inputStream, 0, headerRowIndex, Map.class); + //数据超过1000条 + if(excelDataList != null && excelDataList.size() > 1000) { + return ActionResult.fail(MsgCode.ETD117.get()); + } + + ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(CrmLeadConstant.getColumnData(), ColumnDataModel.class); + UploaderTemplateModel uploaderTemplateModel = JsonUtil.getJsonToBean(columnDataModel.getUploaderTemplateJson(), UploaderTemplateModel.class); + List selectKey = uploaderTemplateModel.getSelectKey(); + //子表合并 + List> results = FormExecelUtils.dataMergeChildTable(excelDataList,selectKey); + // 导入字段 + List columns = new ArrayList<>(); + columns.add(new ExcelImFieldModel("lead_name","线索名称","input")); + columns.add(new ExcelImFieldModel("mobile","手机号","input")); + columns.add(new ExcelImFieldModel("lead_status","状态","select")); + columns.add(new ExcelImFieldModel("sales_id","销售人员","usersSelect")); + columns.add(new ExcelImFieldModel("remark","备注","textarea")); + columns.add(new ExcelImFieldModel("email","邮箱","input")); + columns.add(new ExcelImFieldModel("customer_source","来源","select")); + headAndDataMap.put("dataRow" , results); + headAndDataMap.put("headerRow" , JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(columns))); + } catch (Exception e){ + e.printStackTrace(); + return ActionResult.fail(MsgCode.VS407.get()); + } + return ActionResult.success(headAndDataMap); + } + + /** + * 导入数据 + * + * @return + */ + @Operation(summary = "导入数据" ) + @PostMapping("/ImportData") + public ActionResult ImportData(@RequestBody VisualImportModel visualImportModel) throws Exception { + List> listData = visualImportModel.getList(); + ImportFormCheckUniqueModel uniqueModel = new ImportFormCheckUniqueModel(); + uniqueModel.setDbLinkId(CrmLeadConstant.DBLINKID); + uniqueModel.setUpdate(Objects.equals("1", "2")); +uniqueModel.setFlowId(visualImportModel.getFlowId()); + Map tablefieldkey = new HashMap<>(); + for(String key:CrmLeadConstant.TABLEFIELDKEY.keySet()){ + tablefieldkey.put(key,CrmLeadConstant.TABLERENAMES.get(CrmLeadConstant.TABLEFIELDKEY.get(key))); + } + ExcelImportModel excelImportModel = generaterSwapUtil.importData(CrmLeadConstant.getFormData(),listData,uniqueModel, tablefieldkey,CrmLeadConstant.getTableList()); + List importDataModel = uniqueModel.getImportDataModel(); + for (ImportDataModel model : importDataModel) { + String id = model.getId(); + Map result = model.getResultData(); + if(StringUtil.isNotEmpty(id)){ + update(id, JsonUtil.getJsonToBean(result,CrmLeadForm.class), true); + }else { + create(RandomUtil.uuId(), JsonUtil.getJsonToBean(result,CrmLeadForm.class)); + } + } + return ActionResult.success(excelImportModel); + } + + /** + * 导出异常报告 + * + * @return + */ + @Operation(summary = "导出异常报告") + @PostMapping("/ImportExceptionData") + public ActionResult ImportExceptionData(@RequestBody VisualImportModel visualImportModel) { + DownloadVO vo = DownloadVO.builder().build(); + UserInfo userInfo = userProvider.get(); + String menuFullName = generaterSwapUtil.getMenuName(visualImportModel.getMenuId()); + //主表对象 + List entitys = new ArrayList<>(); + entitys.add(new ExcelExportEntity("异常原因", "errorsInfo",30)); + List selectKeys = new ArrayList<>(); + //以下添加字段 + entitys.add(new ExcelExportEntity("线索名称(lead_name)" ,"lead_name")); + selectKeys.add("lead_name"); + entitys.add(new ExcelExportEntity("手机号(mobile)" ,"mobile")); + selectKeys.add("mobile"); + entitys.add(new ExcelExportEntity("状态(lead_status)" ,"lead_status")); + selectKeys.add("lead_status"); + entitys.add(new ExcelExportEntity("销售人员(sales_id)" ,"sales_id")); + selectKeys.add("sales_id"); + entitys.add(new ExcelExportEntity("备注(remark)" ,"remark")); + selectKeys.add("remark"); + entitys.add(new ExcelExportEntity("邮箱(email)" ,"email")); + selectKeys.add("email"); + entitys.add(new ExcelExportEntity("来源(customer_source)" ,"customer_source")); + selectKeys.add("customer_source"); + ExcelModel excelModel = generaterSwapUtil.getExcelParams(CrmLeadConstant.getFormData(),selectKeys); + List> list = new ArrayList<>(); + list.addAll(visualImportModel.getList()); + + ExportParams exportParams = new ExportParams(null, menuFullName + "模板"); + exportParams.setStyle(ExcelExportStyler.class); + exportParams.setType(ExcelType.XSSF); + exportParams.setFreezeCol(1); + try{ + @Cleanup Workbook workbook = new HSSFWorkbook(); + if (entitys.size()>0){ + if (list.size()==0){ + list.add(new HashMap<>()); + } + //复杂表头-表头和数据处理 + ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(CrmLeadConstant.getColumnData(), ColumnDataModel.class); + List complexHeaderList = columnDataModel.getComplexHeaderList(); + if (!Objects.equals(columnDataModel.getType(), 3) && !Objects.equals(columnDataModel.getType(), 5)) { + entitys = VisualUtils.complexHeaderHandel(entitys, complexHeaderList, false); + list = VisualUtils.complexHeaderDataHandel(list, complexHeaderList, false); + } + + workbook = ExcelExportUtil.exportExcel(exportParams, entitys, list); + ExcelHelper helper = new ExcelHelper(); + helper.init(workbook, exportParams, entitys, excelModel); + helper.doPreHandle(); + helper.doPostHandle(); + } + + String fileName = menuFullName + "错误报告_" + DateUtil.dateNow("yyyyMMddHHmmss") + ".xls"; + MultipartFile multipartFile = ExcelUtil.workbookToCommonsMultipartFile(workbook, fileName); + String temporaryFilePath = configValueUtil.getTemporaryFilePath(); + FileInfo fileInfo = FileUploadUtils.uploadFile(multipartFile, temporaryFilePath, fileName); + vo.setName(fileInfo.getFilename()); + vo.setUrl(UploaderUtil.uploaderFile(fileInfo.getFilename() + "#" + "Temporary") + "&name=" + fileName); + } catch (Exception e) { + e.printStackTrace(); + } + return ActionResult.success(vo); + } + /** + * 删除 + * @param id + * @return + */ + @Operation(summary = "删除") + @DeleteMapping("/{id}") + @Transactional + public ActionResult delete(@PathVariable("id") String id,@RequestParam(name = "forceDel",defaultValue = "false") boolean forceDel) throws Exception{ + CrmLeadEntity entity= crmLeadService.getInfo(id); + if(entity!=null){ + if(!forceDel){ + String errMsg = generaterSwapUtil.deleteFlowTask(entity.getFlowTaskId()); + if (StringUtil.isNotEmpty(errMsg)) { + throw new DataException(errMsg); + } + } + //假删除 + entity.setDeleteMark(1); + entity.setDeleteUserId(userProvider.get().getUserId()); + entity.setDeleteTime(new Date()); + crmLeadService.setIgnoreLogicDelete().updateById(entity); + } + return ActionResult.success(MsgCode.SU003.get()); + } + /** + * 批量删除 + * @param obj + * @return + */ + @DeleteMapping("/batchRemove") + @Transactional + @Operation(summary = "批量删除") + public ActionResult batchRemove(@RequestBody Object obj){ + Map objectMap = JsonUtil.entityToMap(obj); + List idList = JsonUtil.getJsonToList(objectMap.get("ids"), String.class); + String errInfo = ""; + List 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 crmLeadForm + * @return + */ + @PutMapping("/{id}") + @Operation(summary = "更新") + public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid CrmLeadForm crmLeadForm, + @RequestParam(value = "isImport", required = false) boolean isImport){ + CrmLeadEntity entity= crmLeadService.getInfo(id); + if(entity!=null){ + crmLeadForm.setLeadId(String.valueOf(entity.getLeadId())); + + if (!isImport) { + String b = crmLeadService.checkForm(crmLeadForm,1); + if (StringUtil.isNotEmpty(b)){ + return ActionResult.fail(b ); + } + } + + try{ + crmLeadService.saveOrUpdate(crmLeadForm,id,false); + }catch (DataException e1){ + return ActionResult.fail(e1.getMessage()); + }catch(Exception 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){ + CrmLeadEntity entity= crmLeadService.getInfo(id); + if(entity==null){ + return ActionResult.fail(MsgCode.FA001.get()); + } + Map crmLeadMap=JsonUtil.entityToMap(entity); + crmLeadMap.put("id", crmLeadMap.get("lead_id")); + //副表数据 + //子表数据 + boolean isPc = "pc".equals(ServletUtil.getHeader("yunzhupaas-origin" )); + crmLeadMap = generaterSwapUtil.swapDataDetail(crmLeadMap,CrmLeadConstant.getFormData(),"807145376418105157",isPc?false:false); + //子表数据 + return ActionResult.success(crmLeadMap); + } + /** + * 获取详情(编辑页) + * 编辑页面使用-不转换数据 + * @param id + * @return + */ + @Operation(summary = "信息") + @GetMapping("/{id}") + public ActionResult info(@PathVariable("id") String id){ + CrmLeadEntity entity= crmLeadService.getInfo(id); + if(entity==null){ + return ActionResult.fail(MsgCode.FA001.get()); + } + Map crmLeadMap=JsonUtil.entityToMap(entity); + crmLeadMap.put("id", crmLeadMap.get("lead_id")); + //副表数据 + //子表数据 + crmLeadMap = generaterSwapUtil.swapDataForm(crmLeadMap,CrmLeadConstant.getFormData(),CrmLeadConstant.TABLEFIELDKEY,CrmLeadConstant.TABLERENAMES); + return ActionResult.success(crmLeadMap); + } + +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-controller/src/main/java/com/yunzhupaas/mdm/controller/ProjectsController.java b/yunzhupaas-mdm/yunzhupaas-mdm-controller/src/main/java/com/yunzhupaas/mdm/controller/ProjectsController.java new file mode 100644 index 0000000..fc58b61 --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-controller/src/main/java/com/yunzhupaas/mdm/controller/ProjectsController.java @@ -0,0 +1,278 @@ +package com.yunzhupaas.mdm.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.mdm.service.*; +import com.yunzhupaas.mdm.entity.*; +import com.yunzhupaas.util.*; +import com.yunzhupaas.mdm.model.projects.*; +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-19 + */ +@Slf4j +@RestController +@Tag(name = "项目信息" , description = "2") +@RequestMapping("/api/bcm/Projects") +public class ProjectsController { + + @Autowired + private GeneraterSwapUtil generaterSwapUtil; + + @Autowired + private UserProvider userProvider; + + @Autowired + private ProjectsService projectsService; + + + + /** + * 列表 + * + * @param projectsPagination + * @return + */ + @Operation(summary = "获取列表") + @PostMapping("/getList") + public ActionResult list(@RequestBody ProjectsPagination projectsPagination)throws Exception{ + List list= projectsService.getList(projectsPagination); + List> realList=new ArrayList<>(); + for (ProjectsEntity entity : list) { + Map projectsMap=JsonUtil.entityToMap(entity); + projectsMap.put("id", projectsMap.get("project_id")); + //副表数据 + //子表数据 + realList.add(projectsMap); + } + //数据转换 + boolean isPc = "pc".equals(ServletUtil.getHeader("yunzhupaas-origin" )); + realList = generaterSwapUtil.swapDataList(realList, ProjectsConstant.getFormData(), ProjectsConstant.getColumnData(), projectsPagination.getModuleId(),isPc?false:false); + + if(isPc){ + //分组和树形的树形数据转换 + realList = generaterSwapUtil.swapDataList(realList, ProjectsConstant.getColumnData(), "project_id"); + } + for (Map map : realList) { + Object object = map.get("children"); + if (ObjectUtil.isNotNull(object) && object instanceof List) { + // ✅ 直接转换为原对象,不创建新对象 + @SuppressWarnings("unchecked") + List> children = (List>) object; + for (Map child : children) { + Object pidIdObj = child.get("pid_id"); + if (pidIdObj != null && !"".equals(pidIdObj.toString())) { + ProjectsEntity entity = projectsService.getInfo(pidIdObj.toString()); + if (ObjectUtil.isNotNull(child.get("project_type_id_yunzhupaasId"))) { + String projecttypeNme=projectsService.getProjettype(child.get("project_type_id_yunzhupaasId").toString()); + child.put("project_type_id", projecttypeNme); + } + if (entity != null) { + child.put("pid", entity.getProjectName()); + } + } + } + } + } + //返回对象 + PageListVO vo = new PageListVO(); + vo.setList(realList); + PaginationVO page = JsonUtil.getJsonToBean(projectsPagination, PaginationVO.class); + vo.setPagination(page); + return ActionResult.success(vo); + } + /** + * 创建 + * + * @param projectsForm + * @return + */ + @PostMapping() + @Operation(summary = "创建") + public ActionResult create(@RequestBody @Valid ProjectsForm projectsForm) throws Exception { + String b = projectsService.checkForm(projectsForm,0); + if (StringUtil.isNotEmpty(b)){ + return ActionResult.fail(b ); + } + try{ + projectsService.saveOrUpdate(projectsForm, null ,true); + }catch(Exception 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{ + ProjectsEntity entity= projectsService.getInfo(id); + if(entity!=null){ + //主表数据删除 + projectsService.delete(entity); + } + return ActionResult.success(MsgCode.SU003.get()); + } + /** + * 批量删除 + * @param obj + * @return + */ + @DeleteMapping("/batchRemove") + @Transactional + @Operation(summary = "批量删除") + public ActionResult batchRemove(@RequestBody Object obj){ + Map objectMap = JsonUtil.entityToMap(obj); + List idList = JsonUtil.getJsonToList(objectMap.get("ids"), String.class); + String errInfo = ""; + List 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 projectsForm + * @return + */ + @PutMapping("/{id}") + @Operation(summary = "更新") + public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid ProjectsForm projectsForm, + @RequestParam(value = "isImport", required = false) boolean isImport){ + ProjectsEntity entity= projectsService.getInfo(id); + if(entity!=null){ + projectsForm.setProjectId(String.valueOf(entity.getProjectId())); + + if (!isImport) { + String b = projectsService.checkForm(projectsForm,1); + if (StringUtil.isNotEmpty(b)){ + return ActionResult.fail(b ); + } + } + + try{ + projectsService.saveOrUpdate(projectsForm,id,false); + }catch (DataException e1){ + return ActionResult.fail(e1.getMessage()); + }catch(Exception 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){ + ProjectsEntity entity= projectsService.getInfo(id); + if(entity==null){ + return ActionResult.fail(MsgCode.FA001.get()); + } + Map projectsMap=JsonUtil.entityToMap(entity); + projectsMap.put("id", projectsMap.get("project_id")); + //副表数据 + //子表数据 + boolean isPc = "pc".equals(ServletUtil.getHeader("yunzhupaas-origin" )); + projectsMap = generaterSwapUtil.swapDataDetail(projectsMap,ProjectsConstant.getFormData(),"826396413712664325",isPc?false:false); + //子表数据 + if (ObjectUtil.isNotEmpty(projectsMap.get("pid_yunzhupaasId"))){ + ProjectsEntity entitys= projectsService.getInfo(projectsMap.get("pid_yunzhupaasId").toString()); + projectsMap.put("pid", entitys.getProjectName()); + } + + if (ObjectUtil.isNotEmpty(projectsMap.get("project_type_id_yunzhupaasId"))){ + String entitys= projectsService.getProjettype(projectsMap.get("project_type_id_yunzhupaasId").toString()); + projectsMap.put("project_type_id", entitys); + } + return ActionResult.success(projectsMap); + } + /** + * 获取详情(编辑页) + * 编辑页面使用-不转换数据 + * @param id + * @return + */ + @Operation(summary = "信息") + @GetMapping("/{id}") + public ActionResult info(@PathVariable("id") String id){ + ProjectsEntity entity= projectsService.getInfo(id); + if(entity==null){ + return ActionResult.fail(MsgCode.FA001.get()); + } + Map projectsMap=JsonUtil.entityToMap(entity); + projectsMap.put("id", projectsMap.get("project_id")); + //副表数据 + //子表数据 + projectsMap = generaterSwapUtil.swapDataForm(projectsMap,ProjectsConstant.getFormData(),ProjectsConstant.TABLEFIELDKEY,ProjectsConstant.TABLERENAMES); + + return ActionResult.success(projectsMap); + } + + /** + * 树状列表查询 + * @return + */ + @Operation(summary = "树状列表查询") + @GetMapping("/getTreeList") + public ActionResult getTreeList(){ + List> treeList= projectsService.getTreeList(); + return ActionResult.success(treeList); + } + + +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-controller/src/main/java/com/yunzhupaas/mdm/controller/WorkTypeController.java b/yunzhupaas-mdm/yunzhupaas-mdm-controller/src/main/java/com/yunzhupaas/mdm/controller/WorkTypeController.java index f825420..9fa873c 100644 --- a/yunzhupaas-mdm/yunzhupaas-mdm-controller/src/main/java/com/yunzhupaas/mdm/controller/WorkTypeController.java +++ b/yunzhupaas-mdm/yunzhupaas-mdm-controller/src/main/java/com/yunzhupaas/mdm/controller/WorkTypeController.java @@ -69,7 +69,7 @@ import org.springframework.transaction.annotation.Transactional; @Slf4j @RestController @Tag(name = "工种信息" , description = "2") -@RequestMapping("/api/2/WorkType") +@RequestMapping("/api/bcm/WorkType") public class WorkTypeController { @Autowired diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/entity/CrmLeadEntity.java b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/entity/CrmLeadEntity.java new file mode 100644 index 0000000..5c19cd8 --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/entity/CrmLeadEntity.java @@ -0,0 +1,81 @@ +package com.yunzhupaas.mdm.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-18 + */ +@Data +@TableName("crm_lead") +public class CrmLeadEntity { + @TableId(value ="lead_id" ) + @JSONField(name = "lead_id") + private String leadId; + @TableField(value = "lead_name" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "lead_name") + private String leadName; + @TableField(value = "mobile" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "mobile") + private String mobile; + @TableField(value = "email" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "email") + private String email; + @TableField(value = "lead_status" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "lead_status") + private String leadStatus; + @TableField(value = "sales_id" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "sales_id") + private String salesId; + @TableField(value = "customer_source" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "customer_source") + private String customerSource; + @TableField("customer_id") + @JSONField(name = "customer_id") + private String customerId; + @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("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; + @TableField("f_delete_mark") + @JSONField(name = "f_delete_mark") + private Integer deleteMark; + @TableField("f_delete_time") + @JSONField(name = "f_delete_time") + private Date deleteTime; + @TableField("f_delete_user_id") + @JSONField(name = "f_delete_user_id") + private String deleteUserId; + @TableField("f_version") + @Version + @JSONField(name = "f_version") + private Integer version; + @TableField(value = "f_tenant_id",fill = FieldFill.INSERT_UPDATE) + @JSONField(name = "f_tenant_id") + private String tenantId; + +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/entity/ProjectsEntity.java b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/entity/ProjectsEntity.java new file mode 100644 index 0000000..8d784ff --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/entity/ProjectsEntity.java @@ -0,0 +1,65 @@ +package com.yunzhupaas.mdm.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-19 + */ +@Data +@TableName("mdm_project") +public class ProjectsEntity { + @TableId(value ="project_id" ) + @JSONField(name = "project_id") + private String projectId; + @TableField(value = "project_code" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "project_code") + private String projectCode; + @TableField(value = "project_name" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "project_name") + private String projectName; + @TableField(value = "pid" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "pid") + private String pid; + @TableField(value = "org_id" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "org_id") + private String orgId; + @TableField(value = "project_type_id" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "project_type_id") + private String projectTypeId; + @TableField(value = "seq_num" , updateStrategy = FieldStrategy.IGNORED) + @JSONField(name = "seq_num") + private Integer seqNum; + @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; + +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/crmlead/CrmLeadConstant.java b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/crmlead/CrmLeadConstant.java new file mode 100644 index 0000000..faa6c89 --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/crmlead/CrmLeadConstant.java @@ -0,0 +1,42 @@ +package com.yunzhupaas.mdm.model.crmlead; + +import com.yunzhupaas.util.JsonUtil; +import java.util.*; + +/** + * crm_lead配置json + * + * @版本: V5.2.7 + * @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * @作者: 深圳市乐程软件有限公司 + * @日期: 2026-05-18 + */ +public class CrmLeadConstant{ + /** 数据库链接 */ + public static final String DBLINKID = "0"; + /** 表别名 map */ + public static final Map TABLERENAMES = JsonUtil.getJsonToBean("{\"crm_lead\":\"crmLead\"}",Map.class); + /** 子表model map */ + public static final Map TABLEFIELDKEY = JsonUtil.getJsonToBean("{}",Map.class); + /** 整个表单配置json */ + public static final String getFormData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"popupType\":\"drawer\",\"labelWidth\":100,\"classNames\":[],\"className\":[],\"fullScreenWidth\":\"100%\",\"hasConfirmAndAddBtn\":true,\"cancelButtonTextI18nCode\":\"common.cancelText\",\"businessKeyTip\":\"数据已存在,请勿重复提交!\",\"labelPosition\":\"right\",\"printId\":\"\",\"labelSuffix\":\"\",\"customBtns\":[],\"disabled\":false,\"formModel\":\"dataForm\",\"cancelButtonText\":\"取消\",\"confirmButtonText\":\"确定\",\"hasCancelBtn\":true,\"primaryKeyPolicy\":1,\"hasPrintBtn\":false,\"concurrencyLock\":true,\"classJson\":\"\",\"drawerWidth\":\"800px\",\"confirmButtonTextI18nCode\":\"common.okText\",\"printButtonText\":\"打印\",\"businessKeyList\":[],\"formRef\":\"formRef\",\"gutter\":15,\"logicalDelete\":true,\"size\":\"middle\",\"formRules\":\"rules\",\"generalWidth\":\"600px\",\"colon\":false,\"hasConfirmBtn\":true,\"useBusinessKey\":false,\"formStyle\":\"\",\"printButtonTextI18nCode\":\"common.printText\",\"fields\":[{\"clearable\":true,\"maxlength\":50,\"useScan\":false,\"suffixIcon\":\"\",\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemcd2c2e\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"线索名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574864579,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"lead_name\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入线索名称\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"maxlength\":11,\"useScan\":false,\"suffixIcon\":\"\",\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem35dee5\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"手机号\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574898493,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"YunzhupaasInput\",\"regList\":[{\"pattern\":\"/^1[3456789]\\\\d{9}$/\",\"message\":\"请输入正确的手机号码\",\"messageI18nCode\":\"sys.validate.mobilePhone\"}],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"mobile\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入手机号\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"maxlength\":50,\"useScan\":false,\"suffixIcon\":\"\",\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem4e5a2c\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"邮箱\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774574938265,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[{\"pattern\":\"/^[a-z0-9]+([._\\\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/\",\"message\":\"请输入正确的邮箱\",\"messageI18nCode\":\"sys.validate.email\"}],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"email\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入邮箱\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"filterable\":false,\"clearable\":true,\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"Unassigned\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574965631,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItem199e0c\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"状态\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"options\":[{\"fullName\":\"待分配\",\"id\":\"Unassigned\"},{\"fullName\":\"跟进中\",\"id\":\"InProgress\"},{\"fullName\":\"已转换\",\"id\":\"Converted\"},{\"fullName\":\"无效\",\"id\":\"Invalid\"}],\"multiple\":false,\"__vModel__\":\"lead_status\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请选择状态\",\"props\":{\"label\":\"fullName\",\"value\":\"id\"}},{\"clearable\":true,\"__config__\":{\"formId\":\"formItem20008f\",\"yunzhupaasKey\":\"usersSelect\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"销售人员\",\"trigger\":\"change\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774575084782,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-founder\",\"defaultCurrent\":false,\"tag\":\"YunzhupaasUsersSelect\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"ableIds\":[],\"multiple\":false,\"__vModel__\":\"sales_id\",\"style\":{\"width\":\"100%\"},\"selectType\":\"all\",\"disabled\":false,\"placeholder\":\"请选择销售人员\"},{\"filterable\":false,\"clearable\":true,\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774575125146,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItem0800c0\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dictionary\",\"dictionaryType\":\"797256993944371205\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"来源\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"multiple\":false,\"__vModel__\":\"customer_source\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请选择来源\",\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"}},{\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"showCount\":false,\"__config__\":{\"formId\":\"formItem292367\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774575155402,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maxlength\":200,\"__vModel__\":\"remark\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入备注\"}],\"detailExtraList\":[],\"span\":24,\"dataLog\":false}"); return sb.toString(); + } + /** 列表字段配置json */ + public static final String getColumnData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"showSummary\":false,\"treePropsValue\":\"id\",\"columnOptions\":[{\"clearable\":true,\"maxlength\":50,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"线索名称\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemcd2c2e\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"线索名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574864579,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"lead_name\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"lead_name\",\"placeholder\":\"请输入线索名称\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"maxlength\":11,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"手机号\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem35dee5\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"手机号\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574898493,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"YunzhupaasInput\",\"regList\":[{\"pattern\":\"/^1[3456789]\\\\d{9}$/\",\"message\":\"请输入正确的手机号码\",\"messageI18nCode\":\"sys.validate.mobilePhone\"}],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"mobile\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"mobile\",\"placeholder\":\"请输入手机号\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"maxlength\":50,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"邮箱\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem4e5a2c\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"邮箱\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774574938265,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[{\"pattern\":\"/^[a-z0-9]+([._\\\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/\",\"message\":\"请输入正确的邮箱\",\"messageI18nCode\":\"sys.validate.email\"}],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"email\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"email\",\"placeholder\":\"请输入邮箱\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"filterable\":false,\"clearable\":true,\"multiple\":false,\"fullName\":\"状态\",\"fullNameI18nCode\":[\"\"],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"Unassigned\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574965631,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItem199e0c\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"状态\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"options\":[{\"fullName\":\"待分配\",\"id\":\"Unassigned\"},{\"fullName\":\"跟进中\",\"id\":\"InProgress\"},{\"fullName\":\"已转换\",\"id\":\"Converted\"},{\"fullName\":\"无效\",\"id\":\"Invalid\"}],\"__vModel__\":\"lead_status\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"lead_status\",\"placeholder\":\"请选择状态\"},{\"clearable\":true,\"ableIds\":[],\"multiple\":false,\"fullName\":\"销售人员\",\"fullNameI18nCode\":[\"\"],\"__config__\":{\"formId\":\"formItem20008f\",\"yunzhupaasKey\":\"usersSelect\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"销售人员\",\"trigger\":\"change\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774575084782,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-founder\",\"defaultCurrent\":false,\"tag\":\"YunzhupaasUsersSelect\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"__vModel__\":\"sales_id\",\"style\":{\"width\":\"100%\"},\"selectType\":\"all\",\"disabled\":false,\"id\":\"sales_id\",\"placeholder\":\"请选择销售人员\"},{\"filterable\":false,\"clearable\":true,\"multiple\":false,\"fullName\":\"来源\",\"fullNameI18nCode\":[\"\"],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774575125146,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItem0800c0\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dictionary\",\"dictionaryType\":\"797256993944371205\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"来源\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"__vModel__\":\"customer_source\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"customer_source\",\"placeholder\":\"请选择来源\"},{\"clearable\":true,\"maxlength\":200,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem292367\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774575155402,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"__vModel__\":\"remark\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入备注\"}],\"pageSize\":20,\"type\":1,\"columnBtnsList\":[{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-edit\",\"label\":\"编辑\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"edit\",\"labelI18nCode\":\"common.editText\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"删除\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"remove\",\"labelI18nCode\":\"common.delText\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-generator-menu\",\"label\":\"详情\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"detail\",\"labelI18nCode\":\"common.detailText\"}],\"treeTitle\":\"左侧标题\",\"defaultColumnList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemcd2c2e\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"线索名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574864579,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"lead_name\",\"__vModel__\":\"lead_name\",\"checked\":true,\"disabled\":false,\"id\":\"lead_name\",\"placeholder\":\"请输入线索名称\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"maxlength\":50,\"fullName\":\"线索名称\",\"label\":\"线索名称\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem35dee5\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"手机号\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574898493,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"YunzhupaasInput\",\"regList\":[{\"pattern\":\"/^1[3456789]\\\\d{9}$/\",\"message\":\"请输入正确的手机号码\",\"messageI18nCode\":\"sys.validate.mobilePhone\"}],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"mobile\",\"__vModel__\":\"mobile\",\"checked\":true,\"disabled\":false,\"id\":\"mobile\",\"placeholder\":\"请输入手机号\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"maxlength\":11,\"fullName\":\"手机号\",\"label\":\"手机号\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem4e5a2c\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"邮箱\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774574938265,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[{\"pattern\":\"/^[a-z0-9]+([._\\\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/\",\"message\":\"请输入正确的邮箱\",\"messageI18nCode\":\"sys.validate.email\"}],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"email\",\"__vModel__\":\"email\",\"checked\":true,\"disabled\":false,\"id\":\"email\",\"placeholder\":\"请输入邮箱\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"maxlength\":50,\"fullName\":\"邮箱\",\"label\":\"邮箱\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"select\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"状态\",\"fullNameI18nCode\":[\"\"],\"label\":\"状态\",\"sortable\":false,\"align\":\"left\",\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"Unassigned\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574965631,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItem199e0c\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"状态\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"lead_status\",\"options\":[{\"fullName\":\"待分配\",\"id\":\"Unassigned\"},{\"fullName\":\"跟进中\",\"id\":\"InProgress\"},{\"fullName\":\"已转换\",\"id\":\"Converted\"},{\"fullName\":\"无效\",\"id\":\"Invalid\"}],\"__vModel__\":\"lead_status\",\"checked\":true,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"lead_status\",\"placeholder\":\"请选择状态\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"usersSelect\",\"clearable\":true,\"resizable\":true,\"ableIds\":[],\"multiple\":false,\"fullName\":\"销售人员\",\"fullNameI18nCode\":[\"\"],\"label\":\"销售人员\",\"sortable\":false,\"align\":\"left\",\"__config__\":{\"formId\":\"formItem20008f\",\"yunzhupaasKey\":\"usersSelect\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"销售人员\",\"trigger\":\"change\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774575084782,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-founder\",\"defaultCurrent\":false,\"tag\":\"YunzhupaasUsersSelect\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"sales_id\",\"__vModel__\":\"sales_id\",\"checked\":true,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"selectType\":\"all\",\"disabled\":false,\"id\":\"sales_id\",\"placeholder\":\"请选择销售人员\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"select\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"来源\",\"fullNameI18nCode\":[\"\"],\"label\":\"来源\",\"sortable\":false,\"align\":\"left\",\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774575125146,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItem0800c0\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dictionary\",\"dictionaryType\":\"797256993944371205\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"来源\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"customer_source\",\"__vModel__\":\"customer_source\",\"checked\":true,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"customer_source\",\"placeholder\":\"请选择来源\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"textarea\",\"clearable\":true,\"resizable\":true,\"maxlength\":200,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"label\":\"备注\",\"sortable\":false,\"align\":\"left\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem292367\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774575155402,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"remark\",\"__vModel__\":\"remark\",\"checked\":true,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入备注\",\"labelI18nCode\":\"\"}],\"treeRelationFieldAbleIds\":[],\"treeSyncInterfaceName\":\"\",\"treeSyncTemplateJson\":[],\"treeRelation\":\"\",\"defaultSortConfig\":[],\"tabConfig\":{\"hasAllTab\":true,\"relationField\":\"\",\"on\":false},\"hasSuperQuery\":true,\"treePropsLabel\":\"fullName\",\"groupField\":\"\",\"printIds\":[],\"uploaderTemplateJson\":{\"selectKey\":[\"lead_name\",\"mobile\",\"lead_status\",\"sales_id\",\"remark\",\"email\",\"customer_source\"],\"dataType\":\"1\"},\"hasTreeQuery\":false,\"useFormPermission\":true,\"complexHeaderList\":[],\"useBtnPermission\":true,\"treeSyncType\":0,\"hasPage\":true,\"searchList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"showCount\":false,\"__config__\":{\"formId\":\"formItem35dee5\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"手机号\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574898493,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"YunzhupaasInput\",\"regList\":[{\"pattern\":\"/^1[3456789]\\\\d{9}$/\",\"message\":\"请输入正确的手机号码\",\"messageI18nCode\":\"sys.validate.mobilePhone\"}],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"mobile\",\"__vModel__\":\"mobile\",\"searchMultiple\":false,\"disabled\":false,\"id\":\"mobile\",\"placeholder\":\"请输入手机号\",\"addonBefore\":\"\",\"clearable\":true,\"searchType\":2,\"maxlength\":11,\"fullName\":\"手机号\",\"label\":\"手机号\",\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"isKeyword\":true,\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"select\",\"filterable\":false,\"clearable\":true,\"searchType\":1,\"multiple\":false,\"fullName\":\"来源\",\"fullNameI18nCode\":[\"\"],\"label\":\"来源\",\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774575125146,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItem0800c0\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dictionary\",\"dictionaryType\":\"797256993944371205\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"来源\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"customer_source\",\"__vModel__\":\"customer_source\",\"searchMultiple\":true,\"isKeyword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"customer_source\",\"placeholder\":\"请选择来源\",\"labelI18nCode\":\"\"}],\"ruleList\":{\"conditionList\":[],\"matchLogic\":\"and\"},\"childTableStyle\":1,\"treePropsChildren\":\"children\",\"treeRelationFieldSelectType\":\"all\",\"showOverflow\":true,\"treeTemplateJson\":[],\"treeTitleI18nCode\":\"\",\"treePropsName\":\"\",\"useColumnPermission\":true,\"treePropsUrl\":\"\",\"btnsList\":[{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-add\",\"label\":\"新增\",\"value\":\"add\",\"labelI18nCode\":\"common.add2Text\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-download\",\"label\":\"导出\",\"value\":\"download\",\"labelI18nCode\":\"common.exportText\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-upload\",\"label\":\"导入\",\"value\":\"upload\",\"labelI18nCode\":\"common.importText\"},{\"show\":false,\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"批量删除\",\"value\":\"batchRemove\",\"labelI18nCode\":\"common.batchDelText\"},{\"show\":false,\"icon\":\"icon-ym icon-ym-report-icon-preview-printPreview\",\"label\":\"批量打印\",\"value\":\"batchPrint\",\"labelI18nCode\":\"common.batchPrintText\"}],\"useDataPermission\":true,\"viewKey\":\"\",\"columnList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemcd2c2e\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"线索名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574864579,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"lead_name\",\"__vModel__\":\"lead_name\",\"disabled\":false,\"id\":\"lead_name\",\"placeholder\":\"请输入线索名称\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"maxlength\":50,\"fullName\":\"线索名称\",\"label\":\"线索名称\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem35dee5\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"手机号\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574898493,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"YunzhupaasInput\",\"regList\":[{\"pattern\":\"/^1[3456789]\\\\d{9}$/\",\"message\":\"请输入正确的手机号码\",\"messageI18nCode\":\"sys.validate.mobilePhone\"}],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"mobile\",\"__vModel__\":\"mobile\",\"disabled\":false,\"id\":\"mobile\",\"placeholder\":\"请输入手机号\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"maxlength\":11,\"fullName\":\"手机号\",\"label\":\"手机号\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem4e5a2c\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"邮箱\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774574938265,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[{\"pattern\":\"/^[a-z0-9]+([._\\\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/\",\"message\":\"请输入正确的邮箱\",\"messageI18nCode\":\"sys.validate.email\"}],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"email\",\"__vModel__\":\"email\",\"disabled\":false,\"id\":\"email\",\"placeholder\":\"请输入邮箱\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"maxlength\":50,\"fullName\":\"邮箱\",\"label\":\"邮箱\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"select\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"状态\",\"fullNameI18nCode\":[\"\"],\"label\":\"状态\",\"sortable\":false,\"align\":\"left\",\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"Unassigned\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574965631,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItem199e0c\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"状态\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"lead_status\",\"options\":[{\"fullName\":\"待分配\",\"id\":\"Unassigned\"},{\"fullName\":\"跟进中\",\"id\":\"InProgress\"},{\"fullName\":\"已转换\",\"id\":\"Converted\"},{\"fullName\":\"无效\",\"id\":\"Invalid\"}],\"__vModel__\":\"lead_status\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"lead_status\",\"placeholder\":\"请选择状态\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"usersSelect\",\"clearable\":true,\"resizable\":true,\"ableIds\":[],\"multiple\":false,\"fullName\":\"销售人员\",\"fullNameI18nCode\":[\"\"],\"label\":\"销售人员\",\"sortable\":false,\"align\":\"left\",\"__config__\":{\"formId\":\"formItem20008f\",\"yunzhupaasKey\":\"usersSelect\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"销售人员\",\"trigger\":\"change\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774575084782,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-founder\",\"defaultCurrent\":false,\"tag\":\"YunzhupaasUsersSelect\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"sales_id\",\"__vModel__\":\"sales_id\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"selectType\":\"all\",\"disabled\":false,\"id\":\"sales_id\",\"placeholder\":\"请选择销售人员\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"select\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"来源\",\"fullNameI18nCode\":[\"\"],\"label\":\"来源\",\"sortable\":false,\"align\":\"left\",\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774575125146,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItem0800c0\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dictionary\",\"dictionaryType\":\"797256993944371205\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"来源\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"customer_source\",\"__vModel__\":\"customer_source\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"customer_source\",\"placeholder\":\"请选择来源\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"textarea\",\"clearable\":true,\"resizable\":true,\"maxlength\":200,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"label\":\"备注\",\"sortable\":false,\"align\":\"left\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem292367\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774575155402,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"remark\",\"__vModel__\":\"remark\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入备注\",\"labelI18nCode\":\"\"}],\"summaryField\":[],\"parentField\":\"\",\"treeDataSource\":\"dictionary\",\"treeDictionary\":\"\",\"treeSyncInterfaceId\":\"\",\"customBtnsList\":[{\"show\":true,\"label\":\"转换\",\"event\":{},\"value\":\"btn_5a3d09\",\"labelI18nCode\":\"\"},{\"show\":true,\"label\":\"无效\",\"event\":{},\"value\":\"btn_73dcc9\",\"labelI18nCode\":\"\"}]}"); return sb.toString(); + } + /** app列表字段配置json */ + public static final String getAppColumnData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"hasPage\":true,\"useColumnPermission\":false,\"searchList\":[],\"btnsList\":[{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-add\",\"label\":\"新增\",\"value\":\"add\",\"labelI18nCode\":\"common.add2Text\"},{\"show\":false,\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"批量删除\",\"value\":\"batchRemove\",\"labelI18nCode\":\"common.batchDelText\"}],\"useDataPermission\":false,\"viewKey\":\"\",\"ruleListApp\":{\"conditionList\":[],\"matchLogic\":\"and\"},\"columnList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemcd2c2e\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"线索名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574864579,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"lead_name\",\"__vModel__\":\"lead_name\",\"disabled\":false,\"id\":\"lead_name\",\"placeholder\":\"请输入线索名称\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"maxlength\":50,\"fullName\":\"线索名称\",\"label\":\"线索名称\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem35dee5\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"手机号\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574898493,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"YunzhupaasInput\",\"regList\":[{\"pattern\":\"/^1[3456789]\\\\d{9}$/\",\"message\":\"请输入正确的手机号码\",\"messageI18nCode\":\"sys.validate.mobilePhone\"}],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"mobile\",\"__vModel__\":\"mobile\",\"disabled\":false,\"id\":\"mobile\",\"placeholder\":\"请输入手机号\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"maxlength\":11,\"fullName\":\"手机号\",\"label\":\"手机号\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem4e5a2c\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"邮箱\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774574938265,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[{\"pattern\":\"/^[a-z0-9]+([._\\\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/\",\"message\":\"请输入正确的邮箱\",\"messageI18nCode\":\"sys.validate.email\"}],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"email\",\"__vModel__\":\"email\",\"disabled\":false,\"id\":\"email\",\"placeholder\":\"请输入邮箱\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"maxlength\":50,\"fullName\":\"邮箱\",\"label\":\"邮箱\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"select\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"状态\",\"fullNameI18nCode\":[\"\"],\"label\":\"状态\",\"sortable\":false,\"align\":\"left\",\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"Unassigned\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574965631,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItem199e0c\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"状态\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"lead_status\",\"options\":[{\"fullName\":\"待分配\",\"id\":\"Unassigned\"},{\"fullName\":\"跟进中\",\"id\":\"InProgress\"},{\"fullName\":\"已转换\",\"id\":\"Converted\"},{\"fullName\":\"无效\",\"id\":\"Invalid\"}],\"__vModel__\":\"lead_status\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"lead_status\",\"placeholder\":\"请选择状态\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"usersSelect\",\"clearable\":true,\"resizable\":true,\"ableIds\":[],\"multiple\":false,\"fullName\":\"销售人员\",\"fullNameI18nCode\":[\"\"],\"label\":\"销售人员\",\"sortable\":false,\"align\":\"left\",\"__config__\":{\"formId\":\"formItem20008f\",\"yunzhupaasKey\":\"usersSelect\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"销售人员\",\"trigger\":\"change\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774575084782,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-founder\",\"defaultCurrent\":false,\"tag\":\"YunzhupaasUsersSelect\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"sales_id\",\"__vModel__\":\"sales_id\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"selectType\":\"all\",\"disabled\":false,\"id\":\"sales_id\",\"placeholder\":\"请选择销售人员\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"select\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"来源\",\"fullNameI18nCode\":[\"\"],\"label\":\"来源\",\"sortable\":false,\"align\":\"left\",\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774575125146,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItem0800c0\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dictionary\",\"dictionaryType\":\"797256993944371205\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"来源\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"customer_source\",\"__vModel__\":\"customer_source\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"customer_source\",\"placeholder\":\"请选择来源\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"textarea\",\"clearable\":true,\"resizable\":true,\"maxlength\":200,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"label\":\"备注\",\"sortable\":false,\"align\":\"left\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem292367\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774575155402,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"remark\",\"__vModel__\":\"remark\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入备注\",\"labelI18nCode\":\"\"}],\"columnOptions\":[{\"clearable\":true,\"maxlength\":50,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"线索名称\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemcd2c2e\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"线索名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574864579,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"lead_name\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"lead_name\",\"placeholder\":\"请输入线索名称\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"maxlength\":11,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"手机号\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem35dee5\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"手机号\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574898493,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"YunzhupaasInput\",\"regList\":[{\"pattern\":\"/^1[3456789]\\\\d{9}$/\",\"message\":\"请输入正确的手机号码\",\"messageI18nCode\":\"sys.validate.mobilePhone\"}],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"mobile\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"mobile\",\"placeholder\":\"请输入手机号\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"maxlength\":50,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"邮箱\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem4e5a2c\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"邮箱\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774574938265,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[{\"pattern\":\"/^[a-z0-9]+([._\\\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/\",\"message\":\"请输入正确的邮箱\",\"messageI18nCode\":\"sys.validate.email\"}],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"email\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"email\",\"placeholder\":\"请输入邮箱\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"filterable\":false,\"clearable\":true,\"multiple\":false,\"fullName\":\"状态\",\"fullNameI18nCode\":[\"\"],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"Unassigned\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574965631,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItem199e0c\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"状态\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"options\":[{\"fullName\":\"待分配\",\"id\":\"Unassigned\"},{\"fullName\":\"跟进中\",\"id\":\"InProgress\"},{\"fullName\":\"已转换\",\"id\":\"Converted\"},{\"fullName\":\"无效\",\"id\":\"Invalid\"}],\"__vModel__\":\"lead_status\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"lead_status\",\"placeholder\":\"请选择状态\"},{\"clearable\":true,\"ableIds\":[],\"multiple\":false,\"fullName\":\"销售人员\",\"fullNameI18nCode\":[\"\"],\"__config__\":{\"formId\":\"formItem20008f\",\"yunzhupaasKey\":\"usersSelect\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"销售人员\",\"trigger\":\"change\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774575084782,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-founder\",\"defaultCurrent\":false,\"tag\":\"YunzhupaasUsersSelect\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"__vModel__\":\"sales_id\",\"style\":{\"width\":\"100%\"},\"selectType\":\"all\",\"disabled\":false,\"id\":\"sales_id\",\"placeholder\":\"请选择销售人员\"},{\"filterable\":false,\"clearable\":true,\"multiple\":false,\"fullName\":\"来源\",\"fullNameI18nCode\":[\"\"],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774575125146,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItem0800c0\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dictionary\",\"dictionaryType\":\"797256993944371205\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"来源\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"__vModel__\":\"customer_source\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"customer_source\",\"placeholder\":\"请选择来源\"},{\"clearable\":true,\"maxlength\":200,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem292367\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774575155402,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"__vModel__\":\"remark\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入备注\"}],\"pageSize\":20,\"defaultSortConfig\":[],\"type\":1,\"columnBtnsList\":[{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-edit\",\"label\":\"编辑\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"edit\",\"labelI18nCode\":\"common.editText\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"删除\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"remove\",\"labelI18nCode\":\"common.delText\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-generator-menu\",\"label\":\"详情\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"detail\",\"labelI18nCode\":\"common.detailText\"}],\"tabConfig\":{\"hasAllTab\":true,\"relationField\":\"\",\"on\":false},\"hasSuperQuery\":false,\"defaultColumnList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemcd2c2e\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"线索名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574864579,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"lead_name\",\"__vModel__\":\"lead_name\",\"checked\":false,\"disabled\":false,\"id\":\"lead_name\",\"placeholder\":\"请输入线索名称\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"maxlength\":50,\"fullName\":\"线索名称\",\"label\":\"线索名称\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem35dee5\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"手机号\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574898493,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"YunzhupaasInput\",\"regList\":[{\"pattern\":\"/^1[3456789]\\\\d{9}$/\",\"message\":\"请输入正确的手机号码\",\"messageI18nCode\":\"sys.validate.mobilePhone\"}],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"mobile\",\"__vModel__\":\"mobile\",\"checked\":false,\"disabled\":false,\"id\":\"mobile\",\"placeholder\":\"请输入手机号\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"maxlength\":11,\"fullName\":\"手机号\",\"label\":\"手机号\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem4e5a2c\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"邮箱\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774574938265,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[{\"pattern\":\"/^[a-z0-9]+([._\\\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/\",\"message\":\"请输入正确的邮箱\",\"messageI18nCode\":\"sys.validate.email\"}],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"email\",\"__vModel__\":\"email\",\"checked\":false,\"disabled\":false,\"id\":\"email\",\"placeholder\":\"请输入邮箱\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"maxlength\":50,\"fullName\":\"邮箱\",\"label\":\"邮箱\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"select\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"状态\",\"fullNameI18nCode\":[\"\"],\"label\":\"状态\",\"sortable\":false,\"align\":\"left\",\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"Unassigned\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774574965631,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItem199e0c\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"static\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"状态\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"lead_status\",\"options\":[{\"fullName\":\"待分配\",\"id\":\"Unassigned\"},{\"fullName\":\"跟进中\",\"id\":\"InProgress\"},{\"fullName\":\"已转换\",\"id\":\"Converted\"},{\"fullName\":\"无效\",\"id\":\"Invalid\"}],\"__vModel__\":\"lead_status\",\"checked\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"lead_status\",\"placeholder\":\"请选择状态\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"usersSelect\",\"clearable\":true,\"resizable\":true,\"ableIds\":[],\"multiple\":false,\"fullName\":\"销售人员\",\"fullNameI18nCode\":[\"\"],\"label\":\"销售人员\",\"sortable\":false,\"align\":\"left\",\"__config__\":{\"formId\":\"formItem20008f\",\"yunzhupaasKey\":\"usersSelect\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"销售人员\",\"trigger\":\"change\",\"showLabel\":true,\"required\":true,\"tableName\":\"crm_lead\",\"renderKey\":1774575084782,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-founder\",\"defaultCurrent\":false,\"tag\":\"YunzhupaasUsersSelect\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"sales_id\",\"__vModel__\":\"sales_id\",\"checked\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"selectType\":\"all\",\"disabled\":false,\"id\":\"sales_id\",\"placeholder\":\"请选择销售人员\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"select\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"来源\",\"fullNameI18nCode\":[\"\"],\"label\":\"来源\",\"sortable\":false,\"align\":\"left\",\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"__config__\":{\"yunzhupaasKey\":\"select\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774575125146,\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"tag\":\"YunzhupaasSelect\",\"formId\":\"formItem0800c0\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dictionary\",\"dictionaryType\":\"797256993944371205\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"来源\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"customer_source\",\"__vModel__\":\"customer_source\",\"checked\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"customer_source\",\"placeholder\":\"请选择来源\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"textarea\",\"clearable\":true,\"resizable\":true,\"maxlength\":200,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"label\":\"备注\",\"sortable\":false,\"align\":\"left\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem292367\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"crm_lead\",\"renderKey\":1774575155402,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"remark\",\"__vModel__\":\"remark\",\"checked\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入备注\",\"labelI18nCode\":\"\"}],\"showOverflow\":true,\"useFormPermission\":false,\"customBtnsList\":[],\"useBtnPermission\":false}"); return sb.toString(); + } + /** 表列表 */ + public static final String getTableList(){ + StringBuilder sb = new StringBuilder(); +sb.append("[{\"relationTable\":\"\",\"tableField\":\"\",\"typeId\":\"1\",\"fields\":[{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"lead_id\",\"fieldName\":\"线索ID\",\"identity\":0,\"primaryKey\":1},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"100\",\"dataType\":\"varchar\",\"field\":\"lead_name\",\"fieldName\":\"线索名称(公司/个人名)\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"20\",\"dataType\":\"varchar\",\"field\":\"mobile\",\"fieldName\":\"手机号\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"100\",\"dataType\":\"varchar\",\"field\":\"email\",\"fieldName\":\"邮箱\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"20\",\"dataType\":\"varchar\",\"field\":\"lead_status\",\"fieldName\":\"状态: Unassigned-待分配;InProgress-跟进中;Converted-已转换;Invalid-无效\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"sales_id\",\"fieldName\":\"销售人员。关联表:base_user\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"customer_source\",\"fieldName\":\"来源。关联字典:customerSource,如:线上注册、市场活动、渠道推荐等\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"customer_id\",\"fieldName\":\"转换后的客户ID。关联表:crm_customer\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"500\",\"dataType\":\"varchar\",\"field\":\"remark\",\"fieldName\":\"备注\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"create_by\",\"fieldName\":\"创建人\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"\",\"dataType\":\"datetime\",\"field\":\"create_time\",\"fieldName\":\"创建时间\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"update_by\",\"fieldName\":\"更新人ID\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"\",\"dataType\":\"datetime\",\"field\":\"update_time\",\"fieldName\":\"更新时间\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"f_flow_id\",\"fieldName\":\"流程id\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"f_flow_task_id\",\"fieldName\":\"流程任务主键\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":null,\"dataType\":\"int\",\"field\":\"f_delete_mark\",\"fieldName\":\"删除标志\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"\",\"dataType\":\"datetime\",\"field\":\"f_delete_time\",\"fieldName\":\"删除时间\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"f_delete_user_id\",\"fieldName\":\"删除用户\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":null,\"dataType\":\"int\",\"field\":\"f_version\",\"fieldName\":\"乐观锁\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"f_tenant_id\",\"fieldName\":\"租户id\",\"identity\":0,\"primaryKey\":0}],\"relationField\":\"\",\"table\":\"crm_lead\",\"tableName\":\"\"}]"); return sb.toString(); + } + +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/crmlead/CrmLeadExcelErrorVO.java b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/crmlead/CrmLeadExcelErrorVO.java new file mode 100644 index 0000000..d7f783f --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/crmlead/CrmLeadExcelErrorVO.java @@ -0,0 +1,22 @@ + + +package com.yunzhupaas.mdm.model.crmlead; + +import lombok.Data; +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.alibaba.fastjson.annotation.JSONField; +/** + * + * crm_lead + * @版本: V5.2.7 + * @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * @作者: 深圳市乐程软件有限公司 + * @日期: 2026-05-18 + */ +@Data +public class CrmLeadExcelErrorVO extends CrmLeadExcelVO{ + + @Excel(name = "异常原因",orderNum = "-999") + @JSONField(name = "errorsInfo") + private String errorsInfo; +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/crmlead/CrmLeadExcelVO.java b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/crmlead/CrmLeadExcelVO.java new file mode 100644 index 0000000..9843adc --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/crmlead/CrmLeadExcelVO.java @@ -0,0 +1,60 @@ +package com.yunzhupaas.mdm.model.crmlead; + +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; +/** + * + * crm_lead + * @版本: V5.2.7 + * @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * @作者: 深圳市乐程软件有限公司 + * @日期: 2026-05-18 + */ +@Data +public class CrmLeadExcelVO{ + /** 线索名称 **/ + @JSONField(name = "lead_name") + @Excel(name = "线索名称(lead_name)",orderNum = "1", isImportField = "true" ) + private String lead_name; + + /** 手机号 **/ + @JSONField(name = "mobile") + @Excel(name = "手机号(mobile)",orderNum = "1", isImportField = "true" ) + private String mobile; + + /** 状态 **/ + @JSONField(name = "lead_status") + @Excel(name = "状态(lead_status)",orderNum = "1", isImportField = "true" ) + private String lead_status; + + /** 销售人员 **/ + @JSONField(name = "sales_id") + @Excel(name = "销售人员(sales_id)",orderNum = "1", isImportField = "true" ) + private String sales_id; + + /** 备注 **/ + @JSONField(name = "remark") + @Excel(name = "备注(remark)",orderNum = "1", isImportField = "true" ) + private String remark; + + /** 邮箱 **/ + @JSONField(name = "email") + @Excel(name = "邮箱(email)",orderNum = "1", isImportField = "true" ) + private String email; + + /** 来源 **/ + @JSONField(name = "customer_source") + @Excel(name = "来源(customer_source)",orderNum = "1", isImportField = "true" ) + private String customer_source; + + +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/crmlead/CrmLeadForm.java b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/crmlead/CrmLeadForm.java new file mode 100644 index 0000000..9321ffc --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/crmlead/CrmLeadForm.java @@ -0,0 +1,75 @@ +package com.yunzhupaas.mdm.model.crmlead; + +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; + +/** + * crm_lead + * @版本: V5.2.7 + * @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * @作者: 深圳市乐程软件有限公司 + * @日期: 2026-05-18 + */ +@Data +@Schema(description = "表单参数") +public class CrmLeadForm { + /** 主键 */ + @Schema(description = "主键") + @JSONField(name = "lead_id") + private String leadId; + + /** 乐观锁 **/ + @Schema(description = "乐观锁") + @JsonProperty("f_version") + @JSONField(name = "f_version") + private Integer version; + /** 流程id **/ + @Schema(description = "流程id") + @JsonProperty("flowId") + @JSONField(name = "f_flow_id") + private String flowId; + /** 流程权限列表 **/ + @JsonProperty("formOperates") + private List> formOperates = new ArrayList<>(); + + /** 线索名称 **/ + @Schema(description = "线索名称") + @JsonProperty("lead_name") + @JSONField(name = "lead_name") + private String leadName; + /** 手机号 **/ + @Schema(description = "手机号") + @JsonProperty("mobile") + @JSONField(name = "mobile") + private String mobile; + /** 邮箱 **/ + @Schema(description = "邮箱") + @JsonProperty("email") + @JSONField(name = "email") + private String email; + /** 状态 **/ + @Schema(description = "状态") + @JsonProperty("lead_status") + @JSONField(name = "lead_status") + private Object leadStatus; + /** 销售人员 **/ + @Schema(description = "销售人员") + @JsonProperty("sales_id") + @JSONField(name = "sales_id") + private Object salesId; + /** 来源 **/ + @Schema(description = "来源") + @JsonProperty("customer_source") + @JSONField(name = "customer_source") + private Object customerSource; + /** 备注 **/ + @Schema(description = "备注") + @JsonProperty("remark") + @JSONField(name = "remark") + private String remark; + +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/crmlead/CrmLeadPagination.java b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/crmlead/CrmLeadPagination.java new file mode 100644 index 0000000..912a255 --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/crmlead/CrmLeadPagination.java @@ -0,0 +1,58 @@ +package com.yunzhupaas.mdm.model.crmlead; + +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; + +/** + * + * crm_lead + * @版本: V5.2.7 + * @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * @作者: 深圳市乐程软件有限公司 + * @日期: 2026-05-18 + */ +@Data +@Schema(description = "列表查询参数") +public class CrmLeadPagination extends Pagination { + /** 流程模板id */ + @Schema(description = "流程模板id") + private String flowId; + /** 关键词搜索 */ + @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; + /** 手机号 */ + @Schema(description = "手机号") + @JsonProperty("mobile") + @JSONField(name = "mobile") + private Object mobile; + /** 来源 */ + @Schema(description = "来源") + @JsonProperty("customer_source") + @JSONField(name = "customerSource") + private Object customerSource; +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/projects/ProjectsConstant.java b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/projects/ProjectsConstant.java new file mode 100644 index 0000000..e40ae73 --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/projects/ProjectsConstant.java @@ -0,0 +1,42 @@ +package com.yunzhupaas.mdm.model.projects; + +import com.yunzhupaas.util.JsonUtil; +import java.util.*; + +/** + * 项目信息配置json + * + * @版本: V5.2.7 + * @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * @作者: 深圳市乐程软件有限公司 + * @日期: 2026-05-19 + */ +public class ProjectsConstant{ + /** 数据库链接 */ + public static final String DBLINKID = "0"; + /** 表别名 map */ + public static final Map TABLERENAMES = JsonUtil.getJsonToBean("{\"mdm_project\":\"projects\"}",Map.class); + /** 子表model map */ + public static final Map TABLEFIELDKEY = JsonUtil.getJsonToBean("{}",Map.class); + /** 整个表单配置json */ + public static final String getFormData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"popupType\":\"general\",\"labelWidth\":100,\"classNames\":[],\"className\":[],\"fullScreenWidth\":\"100%\",\"hasConfirmAndAddBtn\":true,\"cancelButtonTextI18nCode\":\"common.cancelText\",\"businessKeyTip\":\"数据已存在,请勿重复提交!\",\"labelPosition\":\"right\",\"printId\":\"\",\"labelSuffix\":\"\",\"customBtns\":[],\"disabled\":false,\"formModel\":\"dataForm\",\"cancelButtonText\":\"取消\",\"confirmButtonText\":\"确定\",\"hasCancelBtn\":true,\"primaryKeyPolicy\":1,\"hasPrintBtn\":false,\"concurrencyLock\":false,\"classJson\":\"\",\"drawerWidth\":\"600px\",\"confirmButtonTextI18nCode\":\"common.okText\",\"printButtonText\":\"打印\",\"businessKeyList\":[],\"formRef\":\"formRef\",\"gutter\":15,\"logicalDelete\":false,\"size\":\"middle\",\"formRules\":\"rules\",\"generalWidth\":\"600px\",\"colon\":false,\"hasConfirmBtn\":true,\"useBusinessKey\":false,\"formStyle\":\"\",\"printButtonTextI18nCode\":\"common.printText\",\"fields\":[{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemdcc7a4\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164507492,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"project_code\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem8ef579\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164513809,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"project_name\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"filterable\":false,\"clearable\":true,\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"824687938385216645\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779166086652,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemfc12f6\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dynamic\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"项目类型\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"获取标准项目分类树结构\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"multiple\":false,\"__vModel__\":\"project_type_id\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请选择\",\"props\":{\"children\":\"children\",\"label\":\"projectTypeName\",\"value\":\"projectTypeId\"}},{\"filterable\":false,\"clearable\":true,\"__config__\":{\"formId\":\"formItem9309db\",\"yunzhupaasKey\":\"organizeSelect\",\"visibility\":[\"pc\",\"app\"],\"defaultValue\":[],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"归属组织\",\"trigger\":\"change\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164572941,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-company\",\"defaultCurrent\":true,\"tag\":\"YunzhupaasOrganizeSelect\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"ableIds\":[],\"multiple\":false,\"__vModel__\":\"org_id\",\"style\":{\"width\":\"100%\"},\"selectType\":\"all\",\"disabled\":false,\"placeholder\":\"请选择\"},{\"filterable\":false,\"clearable\":true,\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"826399583931205381\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164602724,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemd3f1a4\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dynamic\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"上级项目\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"获取标准项目树结构\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"multiple\":false,\"__vModel__\":\"pid\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请选择\",\"props\":{\"children\":\"children\",\"label\":\"projectName\",\"value\":\"projectId\"}},{\"__config__\":{\"formId\":\"formItemf01693\",\"yunzhupaasKey\":\"inputNumber\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"顺序号\",\"trigger\":[\"blur\",\"change\"],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164640574,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"tag\":\"YunzhupaasInputNumber\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"controls\":false,\"__vModel__\":\"seq_num\",\"style\":{\"width\":\"100%\"},\"step\":1,\"disabled\":false,\"placeholder\":\"请输入\",\"thousands\":false,\"isAmountChinese\":false,\"addonBefore\":\"\",\"addonAfter\":\"\"},{\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"showCount\":false,\"__config__\":{\"formId\":\"formItem41e3bd\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164655791,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"__vModel__\":\"remark\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\"}],\"detailExtraList\":[],\"span\":24,\"dataLog\":false}"); return sb.toString(); + } + /** 列表字段配置json */ + public static final String getColumnData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"showSummary\":false,\"treePropsValue\":\"id\",\"columnOptions\":[{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"项目编码\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemdcc7a4\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164507492,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"project_code\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"project_code\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"项目名称\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem8ef579\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164513809,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"project_name\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"project_name\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"filterable\":false,\"clearable\":true,\"multiple\":false,\"fullName\":\"项目类型\",\"fullNameI18nCode\":[\"\"],\"props\":{\"children\":\"children\",\"label\":\"projectTypeName\",\"value\":\"projectTypeId\"},\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"824687938385216645\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779166086652,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemfc12f6\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dynamic\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"项目类型\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"获取标准项目分类树结构\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"__vModel__\":\"project_type_id\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"project_type_id\",\"placeholder\":\"请选择\"},{\"filterable\":false,\"clearable\":true,\"ableIds\":[],\"multiple\":false,\"fullName\":\"归属组织\",\"fullNameI18nCode\":[\"\"],\"__config__\":{\"formId\":\"formItem9309db\",\"yunzhupaasKey\":\"organizeSelect\",\"visibility\":[\"pc\",\"app\"],\"defaultValue\":[],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"归属组织\",\"trigger\":\"change\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164572941,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-company\",\"defaultCurrent\":true,\"tag\":\"YunzhupaasOrganizeSelect\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"__vModel__\":\"org_id\",\"style\":{\"width\":\"100%\"},\"selectType\":\"all\",\"disabled\":false,\"id\":\"org_id\",\"placeholder\":\"请选择\"},{\"filterable\":false,\"clearable\":true,\"multiple\":false,\"fullName\":\"上级项目\",\"fullNameI18nCode\":[\"\"],\"props\":{\"children\":\"children\",\"label\":\"projectName\",\"value\":\"projectId\"},\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"826399583931205381\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164602724,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemd3f1a4\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dynamic\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"上级项目\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"获取标准项目树结构\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"__vModel__\":\"pid\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"pid\",\"placeholder\":\"请选择\"},{\"controls\":false,\"fullName\":\"顺序号\",\"fullNameI18nCode\":[\"\"],\"thousands\":false,\"isAmountChinese\":false,\"addonAfter\":\"\",\"__config__\":{\"formId\":\"formItemf01693\",\"yunzhupaasKey\":\"inputNumber\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"顺序号\",\"trigger\":[\"blur\",\"change\"],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164640574,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"tag\":\"YunzhupaasInputNumber\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"__vModel__\":\"seq_num\",\"style\":{\"width\":\"100%\"},\"step\":1,\"disabled\":false,\"id\":\"seq_num\",\"placeholder\":\"请输入\",\"addonBefore\":\"\"},{\"clearable\":true,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem41e3bd\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164655791,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"__vModel__\":\"remark\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入\"}],\"pageSize\":20,\"type\":5,\"columnBtnsList\":[{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-edit\",\"label\":\"编辑\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"edit\",\"labelI18nCode\":\"common.editText\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"删除\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"remove\",\"labelI18nCode\":\"common.delText\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-generator-menu\",\"label\":\"详情\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"detail\",\"labelI18nCode\":\"common.detailText\"}],\"treeTitle\":\"左侧标题\",\"defaultColumnList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemdcc7a4\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164507492,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_code\",\"__vModel__\":\"project_code\",\"checked\":true,\"disabled\":false,\"id\":\"project_code\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"项目编码\",\"label\":\"项目编码\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem8ef579\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164513809,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_name\",\"__vModel__\":\"project_name\",\"checked\":true,\"disabled\":false,\"id\":\"project_name\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"项目名称\",\"label\":\"项目名称\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"treeSelect\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"项目类型\",\"fullNameI18nCode\":[\"\"],\"label\":\"项目类型\",\"sortable\":false,\"align\":\"left\",\"props\":{\"children\":\"children\",\"label\":\"projectTypeName\",\"value\":\"projectTypeId\"},\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"824687938385216645\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779166086652,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemfc12f6\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dynamic\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"项目类型\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"获取标准项目分类树结构\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"project_type_id\",\"__vModel__\":\"project_type_id\",\"checked\":true,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"project_type_id\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"organizeSelect\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"ableIds\":[],\"multiple\":false,\"fullName\":\"归属组织\",\"fullNameI18nCode\":[\"\"],\"label\":\"归属组织\",\"sortable\":false,\"align\":\"left\",\"__config__\":{\"formId\":\"formItem9309db\",\"yunzhupaasKey\":\"organizeSelect\",\"visibility\":[\"pc\",\"app\"],\"defaultValue\":[],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"归属组织\",\"trigger\":\"change\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164572941,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-company\",\"defaultCurrent\":true,\"tag\":\"YunzhupaasOrganizeSelect\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"org_id\",\"__vModel__\":\"org_id\",\"checked\":true,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"selectType\":\"all\",\"disabled\":false,\"id\":\"org_id\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"treeSelect\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"上级项目\",\"fullNameI18nCode\":[\"\"],\"label\":\"上级项目\",\"sortable\":false,\"align\":\"left\",\"props\":{\"children\":\"children\",\"label\":\"projectName\",\"value\":\"projectId\"},\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"826399583931205381\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164602724,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemd3f1a4\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dynamic\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"上级项目\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"获取标准项目树结构\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"pid\",\"__vModel__\":\"pid\",\"checked\":true,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"pid\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"inputNumber\",\"controls\":false,\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"isAmountChinese\":false,\"__config__\":{\"formId\":\"formItemf01693\",\"yunzhupaasKey\":\"inputNumber\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"顺序号\",\"trigger\":[\"blur\",\"change\"],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164640574,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"tag\":\"YunzhupaasInputNumber\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"seq_num\",\"__vModel__\":\"seq_num\",\"checked\":true,\"disabled\":false,\"id\":\"seq_num\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"resizable\":true,\"fullName\":\"顺序号\",\"label\":\"顺序号\",\"sortable\":false,\"thousands\":false,\"addonAfter\":\"\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"step\":1,\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"textarea\",\"clearable\":true,\"resizable\":true,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"label\":\"备注\",\"sortable\":false,\"align\":\"left\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem41e3bd\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164655791,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"remark\",\"__vModel__\":\"remark\",\"checked\":true,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入\",\"labelI18nCode\":\"\"}],\"treeRelationFieldAbleIds\":[],\"treeSyncInterfaceName\":\"\",\"treeSyncTemplateJson\":[],\"treeRelation\":\"\",\"defaultSortConfig\":[{\"field\":\"seq_num\",\"sort\":\"asc\",\"id\":\"sort1a71b8\"}],\"tabConfig\":{\"hasAllTab\":true,\"relationField\":\"\",\"on\":false},\"hasSuperQuery\":true,\"treePropsLabel\":\"fullName\",\"groupField\":\"\",\"printIds\":[],\"uploaderTemplateJson\":{},\"hasTreeQuery\":false,\"useFormPermission\":false,\"complexHeaderList\":[],\"useBtnPermission\":true,\"treeSyncType\":0,\"hasPage\":true,\"searchList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"showCount\":false,\"__config__\":{\"formId\":\"formItem8ef579\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164513809,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_name\",\"__vModel__\":\"project_name\",\"searchMultiple\":false,\"disabled\":false,\"id\":\"project_name\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"searchType\":2,\"fullName\":\"项目名称\",\"label\":\"项目名称\",\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"isKeyword\":false,\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"organizeSelect\",\"filterable\":false,\"clearable\":true,\"searchType\":1,\"ableIds\":[],\"multiple\":false,\"fullName\":\"归属组织\",\"fullNameI18nCode\":[\"\"],\"label\":\"归属组织\",\"__config__\":{\"formId\":\"formItem9309db\",\"yunzhupaasKey\":\"organizeSelect\",\"visibility\":[\"pc\",\"app\"],\"defaultValue\":[],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"归属组织\",\"trigger\":\"change\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164572941,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-company\",\"defaultCurrent\":true,\"tag\":\"YunzhupaasOrganizeSelect\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"org_id\",\"__vModel__\":\"org_id\",\"searchMultiple\":true,\"isKeyword\":false,\"style\":{\"width\":\"100%\"},\"selectType\":\"all\",\"disabled\":false,\"id\":\"org_id\",\"placeholder\":\"请选择\",\"value\":[],\"labelI18nCode\":\"\"}],\"ruleList\":{\"conditionList\":[],\"matchLogic\":\"and\"},\"childTableStyle\":1,\"treePropsChildren\":\"children\",\"treeRelationFieldSelectType\":\"all\",\"showOverflow\":true,\"treeTemplateJson\":[],\"treeTitleI18nCode\":\"\",\"treePropsName\":\"\",\"useColumnPermission\":false,\"treePropsUrl\":\"\",\"btnsList\":[{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-add\",\"label\":\"新增\",\"value\":\"add\",\"labelI18nCode\":\"common.add2Text\"},{\"show\":false,\"icon\":\"icon-ym icon-ym-btn-download\",\"label\":\"导出\",\"value\":\"download\",\"labelI18nCode\":\"common.exportText\"},{\"show\":false,\"icon\":\"icon-ym icon-ym-btn-upload\",\"label\":\"导入\",\"value\":\"upload\",\"labelI18nCode\":\"common.importText\"},{\"show\":false,\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"批量删除\",\"value\":\"batchRemove\",\"labelI18nCode\":\"common.batchDelText\"},{\"show\":false,\"icon\":\"icon-ym icon-ym-report-icon-preview-printPreview\",\"label\":\"批量打印\",\"value\":\"batchPrint\",\"labelI18nCode\":\"common.batchPrintText\"}],\"useDataPermission\":false,\"viewKey\":\"\",\"columnList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemdcc7a4\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164507492,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_code\",\"__vModel__\":\"project_code\",\"disabled\":false,\"id\":\"project_code\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"项目编码\",\"label\":\"项目编码\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem8ef579\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164513809,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_name\",\"__vModel__\":\"project_name\",\"disabled\":false,\"id\":\"project_name\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"项目名称\",\"label\":\"项目名称\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"treeSelect\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"项目类型\",\"fullNameI18nCode\":[\"\"],\"label\":\"项目类型\",\"sortable\":false,\"align\":\"left\",\"props\":{\"children\":\"children\",\"label\":\"projectTypeName\",\"value\":\"projectTypeId\"},\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"824687938385216645\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779166086652,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemfc12f6\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dynamic\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"项目类型\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"获取标准项目分类树结构\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"project_type_id\",\"__vModel__\":\"project_type_id\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"project_type_id\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"organizeSelect\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"ableIds\":[],\"multiple\":false,\"fullName\":\"归属组织\",\"fullNameI18nCode\":[\"\"],\"label\":\"归属组织\",\"sortable\":false,\"align\":\"left\",\"__config__\":{\"formId\":\"formItem9309db\",\"yunzhupaasKey\":\"organizeSelect\",\"visibility\":[\"pc\",\"app\"],\"defaultValue\":[],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"归属组织\",\"trigger\":\"change\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164572941,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-company\",\"defaultCurrent\":true,\"tag\":\"YunzhupaasOrganizeSelect\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"org_id\",\"__vModel__\":\"org_id\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"selectType\":\"all\",\"disabled\":false,\"id\":\"org_id\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"treeSelect\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"上级项目\",\"fullNameI18nCode\":[\"\"],\"label\":\"上级项目\",\"sortable\":false,\"align\":\"left\",\"props\":{\"children\":\"children\",\"label\":\"projectName\",\"value\":\"projectId\"},\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"826399583931205381\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164602724,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemd3f1a4\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dynamic\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"上级项目\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"获取标准项目树结构\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"pid\",\"__vModel__\":\"pid\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"pid\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"inputNumber\",\"controls\":false,\"resizable\":true,\"fullName\":\"顺序号\",\"fullNameI18nCode\":[\"\"],\"label\":\"顺序号\",\"sortable\":false,\"align\":\"left\",\"thousands\":false,\"isAmountChinese\":false,\"addonAfter\":\"\",\"__config__\":{\"formId\":\"formItemf01693\",\"yunzhupaasKey\":\"inputNumber\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"顺序号\",\"trigger\":[\"blur\",\"change\"],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164640574,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"tag\":\"YunzhupaasInputNumber\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"seq_num\",\"__vModel__\":\"seq_num\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"step\":1,\"disabled\":false,\"id\":\"seq_num\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"textarea\",\"clearable\":true,\"resizable\":true,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"label\":\"备注\",\"sortable\":false,\"align\":\"left\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem41e3bd\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164655791,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"remark\",\"__vModel__\":\"remark\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入\",\"labelI18nCode\":\"\"}],\"summaryField\":[],\"parentField\":\"pid\",\"treeDataSource\":\"dictionary\",\"treeDictionary\":\"\",\"treeSyncInterfaceId\":\"\",\"customBtnsList\":[]}"); return sb.toString(); + } + /** app列表字段配置json */ + public static final String getAppColumnData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"hasPage\":true,\"useColumnPermission\":false,\"searchList\":[],\"btnsList\":[{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-add\",\"label\":\"新增\",\"value\":\"add\",\"labelI18nCode\":\"common.add2Text\"},{\"show\":false,\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"批量删除\",\"value\":\"batchRemove\",\"labelI18nCode\":\"common.batchDelText\"}],\"useDataPermission\":false,\"viewKey\":\"\",\"ruleListApp\":{\"conditionList\":[],\"matchLogic\":\"and\"},\"columnList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemdcc7a4\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164507492,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_code\",\"__vModel__\":\"project_code\",\"disabled\":false,\"id\":\"project_code\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"项目编码\",\"label\":\"项目编码\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem8ef579\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164513809,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_name\",\"__vModel__\":\"project_name\",\"disabled\":false,\"id\":\"project_name\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"项目名称\",\"label\":\"项目名称\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"organizeSelect\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"ableIds\":[],\"multiple\":false,\"fullName\":\"归属组织\",\"fullNameI18nCode\":[\"\"],\"label\":\"归属组织\",\"sortable\":false,\"align\":\"left\",\"__config__\":{\"formId\":\"formItem9309db\",\"yunzhupaasKey\":\"organizeSelect\",\"visibility\":[\"pc\",\"app\"],\"defaultValue\":[],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"归属组织\",\"trigger\":\"change\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164572941,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-company\",\"defaultCurrent\":true,\"tag\":\"YunzhupaasOrganizeSelect\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"org_id\",\"__vModel__\":\"org_id\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"selectType\":\"all\",\"disabled\":false,\"id\":\"org_id\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"treeSelect\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"上级项目\",\"fullNameI18nCode\":[\"\"],\"label\":\"上级项目\",\"sortable\":false,\"align\":\"left\",\"props\":{\"children\":\"children\",\"label\":\"projectName\",\"value\":\"projectId\"},\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"826399583931205381\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164602724,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemd3f1a4\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dynamic\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"上级项目\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"获取标准项目树结构\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"pid\",\"__vModel__\":\"pid\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"pid\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"inputNumber\",\"controls\":false,\"resizable\":true,\"fullName\":\"顺序号\",\"fullNameI18nCode\":[\"\"],\"label\":\"顺序号\",\"sortable\":false,\"align\":\"left\",\"thousands\":false,\"isAmountChinese\":false,\"addonAfter\":\"\",\"__config__\":{\"formId\":\"formItemf01693\",\"yunzhupaasKey\":\"inputNumber\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"顺序号\",\"trigger\":[\"blur\",\"change\"],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164640574,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"tag\":\"YunzhupaasInputNumber\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"seq_num\",\"__vModel__\":\"seq_num\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"step\":1,\"disabled\":false,\"id\":\"seq_num\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"textarea\",\"clearable\":true,\"resizable\":true,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"label\":\"备注\",\"sortable\":false,\"align\":\"left\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem41e3bd\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164655791,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"remark\",\"__vModel__\":\"remark\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入\",\"labelI18nCode\":\"\"}],\"columnOptions\":[{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"项目编码\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemdcc7a4\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164507492,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"project_code\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"project_code\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"useScan\":false,\"suffixIcon\":\"\",\"fullName\":\"项目名称\",\"fullNameI18nCode\":[\"\"],\"addonAfter\":\"\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem8ef579\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164513809,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"__vModel__\":\"project_name\",\"useMask\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"project_name\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"filterable\":false,\"clearable\":true,\"multiple\":false,\"fullName\":\"项目类型\",\"fullNameI18nCode\":[\"\"],\"props\":{\"children\":\"children\",\"label\":\"projectTypeName\",\"value\":\"projectTypeId\"},\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"824687938385216645\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779166086652,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemfc12f6\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dynamic\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"项目类型\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"获取标准项目分类树结构\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"__vModel__\":\"project_type_id\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"project_type_id\",\"placeholder\":\"请选择\"},{\"filterable\":false,\"clearable\":true,\"ableIds\":[],\"multiple\":false,\"fullName\":\"归属组织\",\"fullNameI18nCode\":[\"\"],\"__config__\":{\"formId\":\"formItem9309db\",\"yunzhupaasKey\":\"organizeSelect\",\"visibility\":[\"pc\",\"app\"],\"defaultValue\":[],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"归属组织\",\"trigger\":\"change\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164572941,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-company\",\"defaultCurrent\":true,\"tag\":\"YunzhupaasOrganizeSelect\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"__vModel__\":\"org_id\",\"style\":{\"width\":\"100%\"},\"selectType\":\"all\",\"disabled\":false,\"id\":\"org_id\",\"placeholder\":\"请选择\"},{\"filterable\":false,\"clearable\":true,\"multiple\":false,\"fullName\":\"上级项目\",\"fullNameI18nCode\":[\"\"],\"props\":{\"children\":\"children\",\"label\":\"projectName\",\"value\":\"projectId\"},\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"826399583931205381\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164602724,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemd3f1a4\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dynamic\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"上级项目\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"获取标准项目树结构\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"__vModel__\":\"pid\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"pid\",\"placeholder\":\"请选择\"},{\"controls\":false,\"fullName\":\"顺序号\",\"fullNameI18nCode\":[\"\"],\"thousands\":false,\"isAmountChinese\":false,\"addonAfter\":\"\",\"__config__\":{\"formId\":\"formItemf01693\",\"yunzhupaasKey\":\"inputNumber\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"顺序号\",\"trigger\":[\"blur\",\"change\"],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164640574,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"tag\":\"YunzhupaasInputNumber\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"__vModel__\":\"seq_num\",\"style\":{\"width\":\"100%\"},\"step\":1,\"disabled\":false,\"id\":\"seq_num\",\"placeholder\":\"请输入\",\"addonBefore\":\"\"},{\"clearable\":true,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem41e3bd\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164655791,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"__vModel__\":\"remark\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入\"}],\"pageSize\":20,\"defaultSortConfig\":[],\"type\":1,\"columnBtnsList\":[{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-edit\",\"label\":\"编辑\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"edit\",\"labelI18nCode\":\"common.editText\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"删除\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"remove\",\"labelI18nCode\":\"common.delText\"},{\"show\":true,\"icon\":\"icon-ym icon-ym-generator-menu\",\"label\":\"详情\",\"event\":{\"enableFunc\":\"({ row, rowIndex, onlineUtils }) => {\\r\\n\\r\\n return true \\r\\n}\"},\"value\":\"detail\",\"labelI18nCode\":\"common.detailText\"}],\"tabConfig\":{\"hasAllTab\":true,\"relationField\":\"\",\"on\":false},\"hasSuperQuery\":false,\"defaultColumnList\":[{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItemdcc7a4\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164507492,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_code\",\"__vModel__\":\"project_code\",\"checked\":true,\"disabled\":false,\"id\":\"project_code\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"项目编码\",\"label\":\"项目编码\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"input\",\"useScan\":false,\"suffixIcon\":\"\",\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"showCount\":false,\"__config__\":{\"formId\":\"formItem8ef579\",\"yunzhupaasKey\":\"input\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"项目名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164513809,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"tag\":\"YunzhupaasInput\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"project_name\",\"__vModel__\":\"project_name\",\"checked\":true,\"disabled\":false,\"id\":\"project_name\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"resizable\":true,\"fullName\":\"项目名称\",\"label\":\"项目名称\",\"sortable\":false,\"addonAfter\":\"\",\"maskConfig\":{\"prefixType\":1,\"useUnrealMask\":false,\"maskType\":1,\"unrealMaskLength\":1,\"prefixLimit\":0,\"suffixLimit\":0,\"filler\":\"*\",\"prefixSpecifyChar\":\"\",\"suffixType\":1,\"ignoreChar\":\"\",\"suffixSpecifyChar\":\"\"},\"useMask\":false,\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"treeSelect\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"项目类型\",\"fullNameI18nCode\":[\"\"],\"label\":\"项目类型\",\"sortable\":false,\"align\":\"left\",\"props\":{\"children\":\"children\",\"label\":\"projectTypeName\",\"value\":\"projectTypeId\"},\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"824687938385216645\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779166086652,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemfc12f6\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dynamic\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"项目类型\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"获取标准项目分类树结构\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"project_type_id\",\"__vModel__\":\"project_type_id\",\"checked\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"project_type_id\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"organizeSelect\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"ableIds\":[],\"multiple\":false,\"fullName\":\"归属组织\",\"fullNameI18nCode\":[\"\"],\"label\":\"归属组织\",\"sortable\":false,\"align\":\"left\",\"__config__\":{\"formId\":\"formItem9309db\",\"yunzhupaasKey\":\"organizeSelect\",\"visibility\":[\"pc\",\"app\"],\"defaultValue\":[],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"归属组织\",\"trigger\":\"change\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164572941,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-company\",\"defaultCurrent\":true,\"tag\":\"YunzhupaasOrganizeSelect\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"org_id\",\"__vModel__\":\"org_id\",\"checked\":true,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"selectType\":\"all\",\"disabled\":false,\"id\":\"org_id\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"treeSelect\",\"filterable\":false,\"clearable\":true,\"resizable\":true,\"multiple\":false,\"fullName\":\"上级项目\",\"fullNameI18nCode\":[\"\"],\"label\":\"上级项目\",\"sortable\":false,\"align\":\"left\",\"props\":{\"children\":\"children\",\"label\":\"projectName\",\"value\":\"projectId\"},\"__config__\":{\"yunzhupaasKey\":\"treeSelect\",\"defaultValue\":\"\",\"dragDisabled\":false,\"className\":[],\"propsUrl\":\"826399583931205381\",\"templateJson\":[],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164602724,\"tagIcon\":\"icon-ym icon-ym-generator-tree\",\"tag\":\"YunzhupaasTreeSelect\",\"formId\":\"formItemd3f1a4\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"dataType\":\"dynamic\",\"dictionaryType\":\"\",\"tipLabel\":\"\",\"tableFixed\":\"none\",\"label\":\"上级项目\",\"trigger\":\"change\",\"layout\":\"colFormItem\",\"useCache\":true,\"propsName\":\"获取标准项目树结构\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"pid\",\"__vModel__\":\"pid\",\"checked\":true,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"pid\",\"placeholder\":\"请选择\",\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"inputNumber\",\"controls\":false,\"fullNameI18nCode\":[\"\"],\"align\":\"left\",\"isAmountChinese\":false,\"__config__\":{\"formId\":\"formItemf01693\",\"yunzhupaasKey\":\"inputNumber\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"顺序号\",\"trigger\":[\"blur\",\"change\"],\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164640574,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"tag\":\"YunzhupaasInputNumber\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"prop\":\"seq_num\",\"__vModel__\":\"seq_num\",\"checked\":true,\"disabled\":false,\"id\":\"seq_num\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"resizable\":true,\"fullName\":\"顺序号\",\"label\":\"顺序号\",\"sortable\":false,\"thousands\":false,\"addonAfter\":\"\",\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"step\":1,\"labelI18nCode\":\"\"},{\"yunzhupaasKey\":\"textarea\",\"clearable\":true,\"resizable\":true,\"fullName\":\"备注\",\"fullNameI18nCode\":[\"\"],\"label\":\"备注\",\"sortable\":false,\"align\":\"left\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"showCount\":false,\"__config__\":{\"formId\":\"formItem41e3bd\",\"yunzhupaasKey\":\"textarea\",\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"tipLabel\":\"\",\"tableFixed\":\"none\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"mdm_project\",\"renderKey\":1779164655791,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"tag\":\"YunzhupaasTextarea\",\"regList\":[],\"tableAlign\":\"left\",\"span\":24},\"readonly\":false,\"prop\":\"remark\",\"__vModel__\":\"remark\",\"checked\":true,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入\",\"labelI18nCode\":\"\"}],\"showOverflow\":true,\"useFormPermission\":false,\"customBtnsList\":[],\"useBtnPermission\":false}"); return sb.toString(); + } + /** 表列表 */ + public static final String getTableList(){ + StringBuilder sb = new StringBuilder(); +sb.append("[{\"relationTable\":\"\",\"tableField\":\"\",\"typeId\":\"1\",\"fields\":[{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"project_id\",\"fieldName\":\"项目ID\",\"identity\":0,\"primaryKey\":1},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"project_code\",\"fieldName\":\"项目编码\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"100\",\"dataType\":\"varchar\",\"field\":\"project_name\",\"fieldName\":\"项目名称\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"pid\",\"fieldName\":\"上级项目ID;空表示一级项目\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"org_id\",\"fieldName\":\"归属组织。关联表:base_organize\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"project_type_id\",\"fieldName\":\"项目类型表。关联表:cm_project_type\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":null,\"dataType\":\"int\",\"field\":\"seq_num\",\"fieldName\":\"顺序号\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":null,\"dataType\":\"text\",\"field\":\"remark\",\"fieldName\":\"备注\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"create_by\",\"fieldName\":\"创建人\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"\",\"dataType\":\"timestamp\",\"field\":\"create_time\",\"fieldName\":\"创建时间\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"update_by\",\"fieldName\":\"更新人\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"\",\"dataType\":\"timestamp\",\"field\":\"update_time\",\"fieldName\":\"更新时间\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":0,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"f_tenant_id\",\"fieldName\":\"租户id\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"f_flow_id\",\"fieldName\":\"流程id\",\"identity\":0,\"primaryKey\":0},{\"allowNull\":1,\"autoIncrement\":0,\"columnName\":null,\"dataLength\":\"50\",\"dataType\":\"varchar\",\"field\":\"f_flow_task_id\",\"fieldName\":\"流程任务主键\",\"identity\":0,\"primaryKey\":0}],\"relationField\":\"\",\"table\":\"mdm_project\",\"tableName\":\"项目结构\"}]"); return sb.toString(); + } + +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/projects/ProjectsExcelErrorVO.java b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/projects/ProjectsExcelErrorVO.java new file mode 100644 index 0000000..94842d5 --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/projects/ProjectsExcelErrorVO.java @@ -0,0 +1,22 @@ + + +package com.yunzhupaas.mdm.model.projects; + +import lombok.Data; +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.alibaba.fastjson.annotation.JSONField; +/** + * + * 项目信息 + * @版本: V5.2.7 + * @版权: Copyright @ 2025 深圳市乐程软件有限公司版权所有 + * @作者: 深圳市乐程软件有限公司 + * @日期: 2026-05-19 + */ +@Data +public class ProjectsExcelErrorVO extends ProjectsExcelVO{ + + @Excel(name = "异常原因",orderNum = "-999") + @JSONField(name = "errorsInfo") + private String errorsInfo; +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/projects/ProjectsExcelVO.java b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/projects/ProjectsExcelVO.java new file mode 100644 index 0000000..87e7fc9 --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/projects/ProjectsExcelVO.java @@ -0,0 +1,25 @@ +package com.yunzhupaas.mdm.model.projects; + +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-19 + */ +@Data +public class ProjectsExcelVO{ + +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/projects/ProjectsForm.java b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/projects/ProjectsForm.java new file mode 100644 index 0000000..1e1d243 --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/projects/ProjectsForm.java @@ -0,0 +1,62 @@ +package com.yunzhupaas.mdm.model.projects; + +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-19 + */ +@Data +@Schema(description = "表单参数") +public class ProjectsForm { + /** 主键 */ + @Schema(description = "主键") + @JSONField(name = "project_id") + private String projectId; + + + /** 项目编码 **/ + @Schema(description = "项目编码") + @JsonProperty("project_code") + @JSONField(name = "project_code") + private String projectCode; + /** 项目名称 **/ + @Schema(description = "项目名称") + @JsonProperty("project_name") + @JSONField(name = "project_name") + private String projectName; + /** 项目类型 **/ + @Schema(description = "项目类型") + @JsonProperty("project_type_id") + @JSONField(name = "project_type_id") + private Object projectTypeId; + /** 归属组织 **/ + @Schema(description = "归属组织") + @JsonProperty("org_id") + @JSONField(name = "org_id") + private Object orgId; + /** 上级项目 **/ + @Schema(description = "上级项目") + @JsonProperty("pid") + @JSONField(name = "pid") + private Object pid; + /** 顺序号 **/ + @Schema(description = "顺序号") + @JsonProperty("seq_num") + @JSONField(name = "seq_num") + private BigDecimal seqNum; + /** 备注 **/ + @Schema(description = "备注") + @JsonProperty("remark") + @JSONField(name = "remark") + private String remark; + +} diff --git a/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/projects/ProjectsPagination.java b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/projects/ProjectsPagination.java new file mode 100644 index 0000000..05dabdd --- /dev/null +++ b/yunzhupaas-mdm/yunzhupaas-mdm-entity/src/main/java/com/yunzhupaas/mdm/model/projects/ProjectsPagination.java @@ -0,0 +1,63 @@ +package com.yunzhupaas.mdm.model.projects; + +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-19 + */ +@Data +@Schema(description = "列表查询参数") +public class ProjectsPagination 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; + /** 项目名称 */ + @Schema(description = "项目名称") + @JsonProperty("project_name") + @JSONField(name = "projectName") + private Object projectName; + /** 归属组织 */ + @Schema(description = "归属组织") + @JsonProperty("org_id") + @JSONField(name = "orgId") + private Object orgId; + /** + * 树形异步父级字段传值 + */ + private String treeParentValue; + /** + * 是否有参数 + */ + private boolean hasParam=false; +}