From d5db18152673e2657b97741ffa352376d1d81c0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E5=B7=9D=E8=99=8E?= Date: Mon, 15 Jul 2024 09:38:52 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jnpf-java-boot/jnpf-scm/jnpf-scm-biz/pom.xml | 81 +++ .../src/main/java/jnpf/mapper/ParkMapper.java | 16 + .../main/java/jnpf/service/ParkService.java | 35 ++ .../jnpf/service/impl/ParkServiceImpl.java | 289 ++++++++++ .../jnpf-scm/jnpf-scm-controller/pom.xml | 31 +- .../java/jnpf/controller/ParkController.java | 507 ++++++++++++++++++ .../jnpf-scm/jnpf-scm-entity/pom.xml | 7 + .../src/main/java/jnpf/entity/ParkEntity.java | 55 ++ .../java/jnpf/model/park/ParkConstant.java | 41 ++ .../jnpf/model/park/ParkExcelErrorVO.java | 22 + .../java/jnpf/model/park/ParkExcelVO.java | 36 ++ .../main/java/jnpf/model/park/ParkForm.java | 35 ++ .../java/jnpf/model/park/ParkPagination.java | 33 ++ 13 files changed, 1187 insertions(+), 1 deletion(-) create mode 100644 jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/mapper/ParkMapper.java create mode 100644 jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/ParkService.java create mode 100644 jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/ParkServiceImpl.java create mode 100644 jnpf-java-boot/jnpf-scm/jnpf-scm-controller/src/main/java/jnpf/controller/ParkController.java create mode 100644 jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/entity/ParkEntity.java create mode 100644 jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkConstant.java create mode 100644 jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkExcelErrorVO.java create mode 100644 jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkExcelVO.java create mode 100644 jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkForm.java create mode 100644 jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkPagination.java diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/pom.xml b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/pom.xml index d6475ee..4ef16c8 100644 --- a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/pom.xml +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/pom.xml @@ -17,4 +17,85 @@ UTF-8 + + + com.jnpf + jnpf-scm-entity + ${project.version} + + + com.jnpf + jnpf-generater-base + ${project.version} + + + com.jnpf + jnpf-common-all + ${project.version} + + + com.jnpf + jnpf-file-controller + 3.5.0-RELEASE + compile + + + com.itextpdf + itextpdf + + + + org.freemarker + freemarker + 2.3.27-incubating + + + + e-iceblue + spire.doc.free + 5.2.0 + + + + org.xhtmlrenderer + flying-saucer-pdf + 9.0.7 + + + + com.itextpdf + itextpdf + 5.5.13.3 + + + com.itextpdf + itext-asian + 5.2.0 + + + + com.jnpf + jnpf-workflow-engine-controller + 3.5.0-RELEASE + compile + + + com.jnpf + jnpf-workflow-engine-controller + 3.5.0-RELEASE + compile + + + com.jnpf + jnpf-workflow-engine-controller + 3.5.0-RELEASE + compile + + + com.jnpf + jnpf-workflow-engine-controller + 3.5.0-RELEASE + compile + + \ No newline at end of file diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/mapper/ParkMapper.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/mapper/ParkMapper.java new file mode 100644 index 0000000..11d5f82 --- /dev/null +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/mapper/ParkMapper.java @@ -0,0 +1,16 @@ +package jnpf.mapper; + + +import jnpf.entity.ParkEntity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * park + * 版本: V3.5 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2024-07-12 + */ +public interface ParkMapper extends BaseMapper { + +} diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/ParkService.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/ParkService.java new file mode 100644 index 0000000..3c0b1fd --- /dev/null +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/ParkService.java @@ -0,0 +1,35 @@ +package jnpf.service; + +import jnpf.model.park.*; +import jnpf.entity.*; +import java.util.*; +import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; + +/** + * park + * 版本: V3.5 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2024-07-12 + */ +public interface ParkService extends IService { + List getList(ParkPagination parkPagination); + + List getTypeList(ParkPagination parkPagination,String dataType); + + ParkEntity getInfo(String id); + + void delete(ParkEntity entity); + + void create(ParkEntity entity); + + boolean update(String id, ParkEntity entity); + + //子表方法 + //副表数据方法 + String checkForm(ParkForm form,int i); + + void saveOrUpdate(ParkForm parkForm,String id, boolean isSave) throws Exception; + +} diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/ParkServiceImpl.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/ParkServiceImpl.java new file mode 100644 index 0000000..b68c007 --- /dev/null +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/ParkServiceImpl.java @@ -0,0 +1,289 @@ +package jnpf.service.impl; + +import jnpf.entity.*; +import jnpf.mapper.ParkMapper; +import jnpf.service.*; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jnpf.model.park.*; +import java.math.BigDecimal; +import cn.hutool.core.util.ObjectUtil; +import jnpf.permission.model.authorize.AuthorizeConditionModel; +import jnpf.util.GeneraterSwapUtil; +import jnpf.database.model.superQuery.SuperQueryJsonModel; +import jnpf.database.model.superQuery.ConditionJsonModel; +import jnpf.database.model.superQuery.SuperQueryConditionModel; +import java.lang.reflect.Field; +import com.baomidou.mybatisplus.annotation.TableField; +import java.util.regex.Pattern; +import jnpf.model.QueryModel; +import java.util.stream.Collectors; +import jnpf.base.model.ColumnDataModel; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import jnpf.database.model.superQuery.SuperJsonModel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.text.SimpleDateFormat; +import jnpf.util.*; +import java.util.*; +import jnpf.base.UserInfo; +import jnpf.permission.entity.UserEntity; +/** + * + * park + * 版本: V3.5 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2024-07-12 + */ +@Service +public class ParkServiceImpl extends ServiceImpl implements ParkService{ + @Autowired + private GeneraterSwapUtil generaterSwapUtil; + + @Autowired + private UserProvider userProvider; + + @Override + public List getList(ParkPagination parkPagination){ + return getTypeList(parkPagination,parkPagination.getDataType()); + } + /** 列表查询 */ + @Override + public List getTypeList(ParkPagination parkPagination,String dataType){ + String userId=userProvider.get().getUserId(); + List AllIdList =new ArrayList(); + List> intersectionList =new ArrayList<>(); + boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc"); + String columnData = !isPc ? ParkConstant.getAppColumnData() : ParkConstant.getColumnData(); + ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(columnData, ColumnDataModel.class); + String ruleJson = !isPc ? JsonUtil.getObjectToString(columnDataModel.getRuleListApp()) : JsonUtil.getObjectToString(columnDataModel.getRuleList()); + + int total=0; + int parkNum =0; + QueryWrapper parkQueryWrapper=new QueryWrapper<>(); + List allSuperIDlist = new ArrayList<>(); + String superOp =""; + if (ObjectUtil.isNotEmpty(parkPagination.getSuperQueryJson())){ + List allSuperList = new ArrayList<>(); + List> intersectionSuperList = new ArrayList<>(); + String queryJson = parkPagination.getSuperQueryJson(); + SuperJsonModel superJsonModel = JsonUtil.getJsonToBean(queryJson, SuperJsonModel.class); + int superNum = 0; + QueryWrapper parkSuperWrapper = new QueryWrapper<>(); + parkSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(parkSuperWrapper,ParkEntity.class,queryJson,"0")); + int parkNum1 = parkSuperWrapper.getExpression().getNormal().size(); + if (parkNum1>0){ + List parkList =this.list(parkSuperWrapper).stream().map(ParkEntity::getId).collect(Collectors.toList()); + allSuperList.addAll(parkList); + intersectionSuperList.add(parkList); + superNum++; + } + superOp = superNum > 0 ? superJsonModel.getMatchLogic() : ""; + //and or + if(superOp.equalsIgnoreCase("and")){ + allSuperIDlist = generaterSwapUtil.getIntersection(intersectionSuperList); + }else{ + allSuperIDlist = allSuperList; + } + } + List allRuleIDlist = new ArrayList<>(); + String ruleOp =""; + if (ObjectUtil.isNotEmpty(ruleJson)){ + List allRuleList = new ArrayList<>(); + List> intersectionRuleList = new ArrayList<>(); + SuperJsonModel ruleJsonModel = JsonUtil.getJsonToBean(ruleJson, SuperJsonModel.class); + int ruleNum = 0; + QueryWrapper parkSuperWrapper = new QueryWrapper<>(); + parkSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(parkSuperWrapper,ParkEntity.class,ruleJson,"0")); + int parkNum1 = parkSuperWrapper.getExpression().getNormal().size(); + if (parkNum1>0){ + List parkList =this.list(parkSuperWrapper).stream().map(ParkEntity::getId).collect(Collectors.toList()); + allRuleList.addAll(parkList); + intersectionRuleList.add(parkList); + ruleNum++; + } + ruleOp = ruleNum > 0 ? ruleJsonModel.getMatchLogic() : ""; + //and or + if(ruleOp.equalsIgnoreCase("and")){ + allRuleIDlist = generaterSwapUtil.getIntersection(intersectionRuleList); + }else{ + allRuleIDlist = allRuleList; + } + } + boolean pcPermission = false; + boolean appPermission = false; + if(isPc && pcPermission){ + if (!userProvider.get().getIsAdministrator()){ + Object parkObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(parkQueryWrapper,ParkEntity.class,parkPagination.getMenuId(),"0")); + if (ObjectUtil.isEmpty(parkObj)){ + return new ArrayList<>(); + } else { + parkQueryWrapper = (QueryWrapper)parkObj; + if( parkQueryWrapper.getExpression().getNormal().size()>0){ + parkNum++; + } + } + } + } + if(!isPc && appPermission){ + if (!userProvider.get().getIsAdministrator()){ + Object parkObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(parkQueryWrapper,ParkEntity.class,parkPagination.getMenuId(),"0")); + if (ObjectUtil.isEmpty(parkObj)){ + return new ArrayList<>(); + } else { + parkQueryWrapper = (QueryWrapper)parkObj; + if( parkQueryWrapper.getExpression().getNormal().size()>0){ + parkNum++; + } + } + + + } + } + if(isPc){ + if(ObjectUtil.isNotEmpty(parkPagination.getParkName())){ + parkNum++; + + String value = parkPagination.getParkName() instanceof List ? + JsonUtil.getObjectToString(parkPagination.getParkName()) : + String.valueOf(parkPagination.getParkName()); + parkQueryWrapper.lambda().like(ParkEntity::getParkName,value); + + } + + } + List intersection = generaterSwapUtil.getIntersection(intersectionList); + if (total>0){ + if (intersection.size()==0){ + intersection.add("jnpfNullList"); + } + parkQueryWrapper.lambda().in(ParkEntity::getId, intersection); + } + //是否有高级查询 + if (StringUtil.isNotEmpty(superOp)){ + if (allSuperIDlist.size()==0){ + allSuperIDlist.add("jnpfNullList"); + } + List finalAllSuperIDlist = allSuperIDlist; + parkQueryWrapper.lambda().and(t->t.in(ParkEntity::getId, finalAllSuperIDlist)); + } + //是否有数据过滤查询 + if (StringUtil.isNotEmpty(ruleOp)){ + if (allRuleIDlist.size()==0){ + allRuleIDlist.add("jnpfNullList"); + } + List finalAllRuleIDlist = allRuleIDlist; + parkQueryWrapper.lambda().and(t->t.in(ParkEntity::getId, finalAllRuleIDlist)); + } + //假删除标志 + parkQueryWrapper.lambda().isNull(ParkEntity::getDeleteMark); + + //排序 + if(StringUtil.isEmpty(parkPagination.getSidx())){ + parkQueryWrapper.lambda().orderByDesc(ParkEntity::getId); + }else{ + try { + String sidx = parkPagination.getSidx(); + String[] strs= sidx.split("_name"); + ParkEntity parkEntity = new ParkEntity(); + Field declaredField = parkEntity.getClass().getDeclaredField(strs[0]); + declaredField.setAccessible(true); + String value = declaredField.getAnnotation(TableField.class).value(); + parkQueryWrapper="asc".equals(parkPagination.getSort().toLowerCase())?parkQueryWrapper.orderByAsc(value):parkQueryWrapper.orderByDesc(value); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } + } + + if("0".equals(dataType)){ + if((total>0 && AllIdList.size()>0) || total==0){ + Page page=new Page<>(parkPagination.getCurrentPage(), parkPagination.getPageSize()); + IPage userIPage=this.page(page, parkQueryWrapper); + return parkPagination.setData(userIPage.getRecords(),userIPage.getTotal()); + }else{ + List list = new ArrayList(); + return parkPagination.setData(list, list.size()); + } + }else{ + return this.list(parkQueryWrapper); + } + } + @Override + public ParkEntity getInfo(String id){ + QueryWrapper queryWrapper=new QueryWrapper<>(); + queryWrapper.lambda().eq(ParkEntity::getId,id); + return this.getOne(queryWrapper); + } + @Override + public void create(ParkEntity entity){ + this.save(entity); + } + @Override + public boolean update(String id, ParkEntity entity){ + return this.updateById(entity); + } + @Override + public void delete(ParkEntity entity){ + if(entity!=null){ + this.removeById(entity.getId()); + } + } + /** 验证表单唯一字段,正则,非空 i-0新增-1修改*/ + @Override + public String checkForm(ParkForm form,int i) { + boolean isUp =StringUtil.isNotEmpty(form.getId()) && !form.getId().equals("0"); + String id=""; + String countRecover = ""; + if (isUp){ + id = form.getId(); + } + //主表字段验证 + if(StringUtil.isEmpty(form.getParkNumber())){ + return "园区编码不能为空"; + } + if(StringUtil.isNotEmpty(form.getParkNumber())){ + form.setParkNumber(form.getParkNumber().trim()); + QueryWrapper parkNumberWrapper=new QueryWrapper<>(); + parkNumberWrapper.lambda().eq(ParkEntity::getParkNumber,form.getParkNumber()); + //假删除标志 + parkNumberWrapper.lambda().isNull(ParkEntity::getDeleteMark); + if (isUp){ + parkNumberWrapper.lambda().ne(ParkEntity::getId, id); + } + if((int) this.count(parkNumberWrapper)>0){ + countRecover = "园区编码不能重复"; + } + } + if(StringUtil.isEmpty(form.getParkName())){ + return "园区名称不能为空"; + } + return countRecover; + } + /** + * 新增修改数据(事务回滚) + * @param id + * @param parkForm + * @return + */ + @Override + @Transactional + public void saveOrUpdate(ParkForm parkForm,String id, boolean isSave) throws Exception{ + UserInfo userInfo=userProvider.get(); + UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId()); + parkForm = JsonUtil.getJsonToBean( + generaterSwapUtil.swapDatetime(ParkConstant.getFormData(),parkForm),ParkForm.class); + ParkEntity entity = JsonUtil.getJsonToBean(parkForm, ParkEntity.class); + + if(isSave){ + String mainId = RandomUtil.uuId() ; + entity.setId(mainId); + entity.setVersion(0); + }else{ + } + this.saveOrUpdate(entity); + + } +} diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/pom.xml b/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/pom.xml index 1f04cad..2c83de8 100644 --- a/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/pom.xml +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/pom.xml @@ -16,5 +16,34 @@ 8 UTF-8 - + + + com.jnpf + jnpf-scm-biz + ${project.version} + + + com.jnpf + jnpf-common-all + ${project.version} + + + com.jnpf + jnpf-file-entity + 3.5.0-RELEASE + compile + + + com.jnpf + jnpf-file-entity + 3.5.0-RELEASE + compile + + + com.jnpf + jnpf-file-biz + 3.5.0-RELEASE + compile + + \ No newline at end of file diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/src/main/java/jnpf/controller/ParkController.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/src/main/java/jnpf/controller/ParkController.java new file mode 100644 index 0000000..6547491 --- /dev/null +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/src/main/java/jnpf/controller/ParkController.java @@ -0,0 +1,507 @@ +package jnpf.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 jnpf.base.ActionResult; +import jnpf.base.UserInfo; +import jnpf.exception.DataException; +import jnpf.permission.entity.UserEntity; +import jnpf.service.*; +import jnpf.entity.*; +import jnpf.util.*; +import jnpf.model.park.*; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; +import java.util.*; +import jnpf.annotation.JnpfField; +import jnpf.base.vo.PageListVO; +import jnpf.base.vo.PaginationVO; +import jnpf.base.vo.DownloadVO; +import jnpf.config.ConfigValueUtil; +import jnpf.base.entity.ProvinceEntity; +import java.io.IOException; +import java.util.stream.Collectors; +import jnpf.engine.entity.FlowTaskEntity; +import jnpf.exception.WorkFlowException; +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 jnpf.onlinedev.model.ExcelImFieldModel; +import jnpf.onlinedev.model.OnlineImport.ImportDataModel; +import jnpf.onlinedev.model.OnlineImport.ImportFormCheckUniqueModel; +import jnpf.onlinedev.model.OnlineImport.ExcelImportModel; +import jnpf.onlinedev.model.OnlineImport.VisualImportModel; +import cn.xuyanwu.spring.file.storage.FileInfo; +import lombok.Cleanup; +import jnpf.model.visualJson.config.HeaderModel; +import jnpf.base.model.ColumnDataModel; +import jnpf.base.util.VisualUtils; +import org.springframework.transaction.annotation.Transactional; + +/** + * park + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-07-12 + */ +@Slf4j +@RestController +@Tag(name = "park" , description = "scm") +@RequestMapping("/api/scm/Park") +public class ParkController { + + @Autowired + private GeneraterSwapUtil generaterSwapUtil; + + @Autowired + private UserProvider userProvider; + + @Autowired + private ParkService parkService; + + + + @Autowired + private ConfigValueUtil configValueUtil; + + /** + * 列表 + * + * @param parkPagination + * @return + */ + @Operation(summary = "获取列表") + @PostMapping("/getList") + public ActionResult list(@RequestBody ParkPagination parkPagination)throws IOException{ + List list= parkService.getList(parkPagination); + List> realList=new ArrayList<>(); + for (ParkEntity entity : list) { + Map parkMap=JsonUtil.entityToMap(entity); + parkMap.put("id", parkMap.get("id")); + //副表数据 + //子表数据 + realList.add(parkMap); + } + //数据转换 + realList = generaterSwapUtil.swapDataList(realList, ParkConstant.getFormData(), ParkConstant.getColumnData(), parkPagination.getModuleId(),false); + + //返回对象 + PageListVO vo = new PageListVO(); + vo.setList(realList); + PaginationVO page = JsonUtil.getJsonToBean(parkPagination, PaginationVO.class); + vo.setPagination(page); + return ActionResult.success(vo); + } + /** + * 创建 + * + * @param parkForm + * @return + */ + @PostMapping() + @Operation(summary = "创建") + public ActionResult create(@RequestBody @Valid ParkForm parkForm) { + String b = parkService.checkForm(parkForm,0); + if (StringUtil.isNotEmpty(b)){ + return ActionResult.fail(b ); + } + try{ + parkService.saveOrUpdate(parkForm, null ,true); + }catch(Exception e){ + return ActionResult.fail("新增数据失败"); + } + return ActionResult.success("创建成功"); + } + /** + * 导出Excel + * + * @return + */ + @Operation(summary = "导出Excel") + @PostMapping("/Actions/Export") + public ActionResult Export(@RequestBody ParkPagination parkPagination) throws IOException { + if (StringUtil.isEmpty(parkPagination.getSelectKey())){ + return ActionResult.fail("请选择导出字段"); + } + List list= parkService.getList(parkPagination); + List> realList=new ArrayList<>(); + for (ParkEntity entity : list) { + Map parkMap=JsonUtil.entityToMap(entity); + parkMap.put("id", parkMap.get("id")); + //副表数据 + //子表数据 + realList.add(parkMap); + } + //数据转换 + realList = generaterSwapUtil.swapDataList(realList, ParkConstant.getFormData(), ParkConstant.getColumnData(), parkPagination.getModuleId(),false); + String[]keys=!StringUtil.isEmpty(parkPagination.getSelectKey())?parkPagination.getSelectKey():new String[0]; + UserInfo userInfo=userProvider.get(); + DownloadVO vo=this.creatModelExcel(configValueUtil.getTemporaryFilePath(),realList,keys,userInfo); + return ActionResult.success(vo); + } + + /** + * 导出表格方法 + */ + public DownloadVO creatModelExcel(String path,List>list,String[]keys,UserInfo userInfo){ + DownloadVO vo=DownloadVO.builder().build(); + List entitys=new ArrayList<>(); + if(keys.length>0){ + for(String key:keys){ + switch(key){ + case "parkNumber" : + entitys.add(new ExcelExportEntity("园区编码" ,"parkNumber")); + break; + case "parkName" : + entitys.add(new ExcelExportEntity("园区名称" ,"parkName")); + break; + case "parkDescribe" : + entitys.add(new ExcelExportEntity("园区描述" ,"parkDescribe")); + 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); + } + } + //复杂表头-表头和数据处理 + ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(ParkConstant.getColumnData(), ColumnDataModel.class); + List complexHeaderList = columnDataModel.getComplexHeaderList(); + if (!Objects.equals(columnDataModel.getType(), 3) && !Objects.equals(columnDataModel.getType(), 5)) { + entitys = VisualUtils.complexHeaderHandel(entitys, complexHeaderList); + dataList = VisualUtils.complexHeaderDataHandel(dataList, complexHeaderList); + } + + workbook = ExcelExportUtil.exportExcel(exportParams, entitys, dataList); + } + String fileName = "表单信息" + DateUtil.dateNow("yyyyMMdd") + "_" + RandomUtil.uuId() + ".xlsx"; + 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("选择文件不符合导入"); + } + } + + /** + * 模板下载 + * + * @return + */ + @Operation(summary = "模板下载") + @GetMapping("/TemplateDownload") + public ActionResult TemplateDownload(){ + DownloadVO vo = DownloadVO.builder().build(); + UserInfo userInfo = userProvider.get(); + Map dataMap = new HashMap<>(); + //主表对象 + List entitys = new ArrayList<>(); + //以下添加字段 + entitys.add(new ExcelExportEntity("园区编码" ,"parkNumber")); + entitys.add(new ExcelExportEntity("园区名称" ,"parkName")); + List> list = new ArrayList<>(); + list.add(dataMap); + + 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<>()); + } + //复杂表头-表头和数据处理 + ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(ParkConstant.getColumnData(), ColumnDataModel.class); + List complexHeaderList = columnDataModel.getComplexHeaderList(); + if (!Objects.equals(columnDataModel.getType(), 3) && !Objects.equals(columnDataModel.getType(), 5)) { + entitys = VisualUtils.complexHeaderHandel(entitys, complexHeaderList); + list = VisualUtils.complexHeaderDataHandel(list, complexHeaderList); + } + workbook = ExcelExportUtil.exportExcel(exportParams, entitys, list); + } + String fileName = "园区管理模板" + DateUtil.dateNow("yyyyMMddHHmmss") + ".xlsx"; + 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 { + List excelDataList = ExcelImportUtil.importExcel(temporary, ParkExcelVO.class, params); + // 导入字段 + List columns = new ArrayList<>(); + columns.add(new ExcelImFieldModel("parkNumber","园区编码")); + columns.add(new ExcelImFieldModel("parkName","园区名称")); + headAndDataMap.put("dataRow" , JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(excelDataList))); + headAndDataMap.put("headerRow" , JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(columns))); + } catch (Exception e){ + e.printStackTrace(); + return ActionResult.fail("表头名称不可更改,表头行不能删除"); + } + return ActionResult.success(headAndDataMap); + } + + /** + * 导入数据 + * + * @return + */ + @Operation(summary = "导入数据" ) + @PostMapping("/ImportData") + public ActionResult ImportData(@RequestBody VisualImportModel visualImportModel) throws Exception { + List> listData=new ArrayList<>(); + for(Map map : visualImportModel.getList()){ + listData.add(map); + } + ImportFormCheckUniqueModel uniqueModel = new ImportFormCheckUniqueModel(); + uniqueModel.setDbLinkId(ParkConstant.DBLINKID); + uniqueModel.setUpdate(Objects.equals("1", "2")); + ExcelImportModel excelImportModel = generaterSwapUtil.importData(ParkConstant.getFormData(),listData,uniqueModel, + ParkConstant.TABLEFIELDKEY,ParkConstant.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,ParkForm.class), true); + }else { + create( JsonUtil.getJsonToBean(result,ParkForm.class)); + } + } + return ActionResult.success(excelImportModel); + } + + /** + * 导出异常报告 + * + * @return + */ + @Operation(summary = "导出异常报告") + @PostMapping("/ImportExceptionData") + public ActionResult ImportExceptionData(@RequestBody VisualImportModel visualImportModel) { + DownloadVO vo=DownloadVO.builder().build(); + List parkVOList = JsonUtil.getJsonToList(visualImportModel.getList(), ParkExcelErrorVO.class); + UserInfo userInfo = userProvider.get(); + + try{ + @Cleanup Workbook workbook = new HSSFWorkbook(); + ExportParams exportParams = new ExportParams(null, "错误报告"); + exportParams.setType(ExcelType.XSSF); + workbook = ExcelExportUtil.exportExcel(exportParams, + ParkExcelErrorVO.class, parkVOList); + + String fileName = "错误报告" + DateUtil.dateNow("yyyyMMdd") + "_" + RandomUtil.uuId() + ".xlsx"; + 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 ids + * @return + */ + @DeleteMapping("/batchRemove") + @Transactional + @Operation(summary = "批量删除") + public ActionResult batchRemove(@RequestBody String ids){ + List idList = JsonUtil.getJsonToList(ids, String.class); + int i =0; + for (String allId : idList){ + this.delete(allId); + i++; + } + if (i == 0 ){ + return ActionResult.fail("删除失败"); + } + return ActionResult.success("删除成功"); + } + /** + * 编辑 + * @param id + * @param parkForm + * @return + */ + @PutMapping("/{id}") + @Operation(summary = "更新") + public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid ParkForm parkForm, + @RequestParam(value = "isImport", required = false) boolean isImport){ + parkForm.setId(id); + if (!isImport) { + String b = parkService.checkForm(parkForm,1); + if (StringUtil.isNotEmpty(b)){ + return ActionResult.fail(b ); + } + } + ParkEntity entity= parkService.getInfo(id); + if(entity!=null){ + try{ + parkService.saveOrUpdate(parkForm,id,false); + }catch(Exception e){ + return ActionResult.fail("修改数据失败"); + } + return ActionResult.success("更新成功"); + }else{ + return ActionResult.fail("更新失败,数据不存在"); + } + } + /** + * 删除 + * @param id + * @return + */ + @Operation(summary = "删除") + @DeleteMapping("/{id}") + @Transactional + public ActionResult delete(@PathVariable("id") String id){ + ParkEntity entity= parkService.getInfo(id); + if(entity!=null){ + //假删除 + entity.setDeleteMark(1); + parkService.update(id,entity); + } + return ActionResult.success("删除成功"); + } + /** + * 表单信息(详情页) + * 详情页面使用-转换数据 + * @param id + * @return + */ + @Operation(summary = "表单信息(详情页)") + @GetMapping("/detail/{id}") + public ActionResult detailInfo(@PathVariable("id") String id){ + ParkEntity entity= parkService.getInfo(id); + if(entity==null){ + return ActionResult.fail("表单数据不存在!"); + } + Map parkMap=JsonUtil.entityToMap(entity); + parkMap.put("id", parkMap.get("id")); + //副表数据 + //子表数据 + parkMap = generaterSwapUtil.swapDataDetail(parkMap,ParkConstant.getFormData(),"581462239718932549",false); + return ActionResult.success(parkMap); + } + /** + * 获取详情(编辑页) + * 编辑页面使用-不转换数据 + * @param id + * @return + */ + @Operation(summary = "信息") + @GetMapping("/{id}") + public ActionResult info(@PathVariable("id") String id){ + ParkEntity entity= parkService.getInfo(id); + if(entity==null){ + return ActionResult.fail("表单数据不存在!"); + } + Map parkMap=JsonUtil.entityToMap(entity); + parkMap.put("id", parkMap.get("id")); + //副表数据 + //子表数据 + parkMap = generaterSwapUtil.swapDataForm(parkMap,ParkConstant.getFormData(),ParkConstant.TABLEFIELDKEY,ParkConstant.TABLERENAMES); + return ActionResult.success(parkMap); + } + +} diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/pom.xml b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/pom.xml index d900a68..5c80421 100644 --- a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/pom.xml +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/pom.xml @@ -17,4 +17,11 @@ UTF-8 + + + com.jnpf + jnpf-common-all + ${project.version} + + \ No newline at end of file diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/entity/ParkEntity.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/entity/ParkEntity.java new file mode 100644 index 0000000..ce3b63a --- /dev/null +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/entity/ParkEntity.java @@ -0,0 +1,55 @@ +package jnpf.entity; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import java.util.Date; +/** + * 园区表 + * + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-07-12 + */ +@Data +@TableName("yq_park") +public class ParkEntity { + @TableId(value ="ID" ) + private String id; + @TableField(value = "PARK_NUMBER" , updateStrategy = FieldStrategy.IGNORED) + private String parkNumber; + @TableField(value = "PARK_NAME" , updateStrategy = FieldStrategy.IGNORED) + private String parkName; + @TableField(value = "PARK_DESCRIBE" , updateStrategy = FieldStrategy.IGNORED) + private String parkDescribe; + @TableField("SORT") + private Long sort; + @TableField(value = "REMARK" , updateStrategy = FieldStrategy.IGNORED) + private String remark; + @TableField("F_CREATOR_TIME") + private Date creatorTime; + @TableField("F_CREATOR_USER_ID") + private String creatorUserId; + @TableField("F_LAST_MODIFY_TIME") + private Date lastModifyTime; + @TableField("F_LAST_MODIFY_USER_ID") + private String lastModifyUserId; + @TableField("F_DELETE_TIME") + private Date deleteTime; + @TableField("F_DELETE_USER_ID") + private String deleteUserId; + @TableField("F_DELETE_MARK") + private Integer deleteMark; + @TableField("F_TENANT_ID") + private String tenantId; + @TableField("COMPANY_ID") + private String companyId; + @TableField("DEPARTMENT_ID") + private String departmentId; + @TableField("ORGANIZE_JSON_ID") + private String organizeJsonId; + @TableField("F_VERSION") + private Integer version; + @TableField("F_FLOW_ID") + private String flowId; +} diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkConstant.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkConstant.java new file mode 100644 index 0000000..055a460 --- /dev/null +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkConstant.java @@ -0,0 +1,41 @@ +package jnpf.model.park; + +import jnpf.util.JsonUtil; +import java.util.Map; + +/** + * park配置json + * + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-07-12 + */ +public class ParkConstant{ + /** 数据库链接 */ + public static final String DBLINKID = "0"; + /** 表别名 map */ + public static final Map TABLERENAMES = JsonUtil.getJsonToBean("{\"yq_park\":\"park\"}",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\",\"idGlobal\":104,\"formBtns\":false,\"labelWidth\":100,\"classNames\":[],\"className\":[],\"fullScreenWidth\":\"100%\",\"hasConfirmAndAddBtn\":true,\"labelPosition\":\"right\",\"printId\":\"\",\"disabled\":false,\"formModel\":\"dataForm\",\"cancelButtonText\":\"取 消\",\"confirmButtonText\":\"确 定\",\"hasCancelBtn\":true,\"primaryKeyPolicy\":1,\"confirmAndAddText\":\"确定并继续操作\",\"hasPrintBtn\":false,\"concurrencyLock\":true,\"classJson\":\"\",\"drawerWidth\":\"600px\",\"printButtonText\":\"打 印\",\"formRef\":\"formRef\",\"gutter\":15,\"logicalDelete\":true,\"size\":\"small\",\"formRules\":\"rules\",\"generalWidth\":\"600px\",\"hasConfirmBtn\":true,\"formStyle\":\"\",\"fields\":[{\"clearable\":true,\"suffixIcon\":\"\",\"addonAfter\":\"\",\"__config__\":{\"formId\":101,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"yq_park\",\"renderKey\":1720767684035,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"showWordLimit\":false,\"__vModel__\":\"parkNumber\",\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"suffixIcon\":\"\",\"addonAfter\":\"\",\"__config__\":{\"formId\":102,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"yq_park\",\"renderKey\":1720767686366,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"showWordLimit\":false,\"__vModel__\":\"parkName\",\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"suffixIcon\":\"\",\"addonAfter\":\"\",\"__config__\":{\"formId\":103,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区描述\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"yq_park\",\"renderKey\":1720767686553,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"showWordLimit\":false,\"__vModel__\":\"parkDescribe\",\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"suffixIcon\":\"\",\"addonAfter\":\"\",\"__config__\":{\"formId\":104,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"yq_park\",\"renderKey\":1720767686749,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"showWordLimit\":false,\"__vModel__\":\"remark\",\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"}],\"span\":24}"); return sb.toString(); + } + /** 列表字段配置json */ + public static final String getColumnData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"showSummary\":false,\"hasPage\":true,\"searchList\":[{\"clearable\":true,\"searchType\":2,\"jnpfKey\":\"input\",\"suffixIcon\":\"\",\"fullName\":\"园区名称\",\"label\":\"园区名称\",\"addonAfter\":\"\",\"__config__\":{\"formId\":102,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"yq_park\",\"renderKey\":1720767686366,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"prop\":\"parkName\",\"showWordLimit\":false,\"__vModel__\":\"parkName\",\"searchMultiple\":false,\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"parkName\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"}],\"treeInterfaceId\":\"\",\"treePropsValue\":\"id\",\"ruleList\":{\"conditionList\":[],\"matchLogic\":\"and\"},\"childTableStyle\":1,\"columnOptions\":[{\"clearable\":true,\"suffixIcon\":\"\",\"fullName\":\"园区编码\",\"addonAfter\":\"\",\"__config__\":{\"formId\":101,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"yq_park\",\"renderKey\":1720767684035,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"showWordLimit\":false,\"__vModel__\":\"parkNumber\",\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"parkNumber\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"suffixIcon\":\"\",\"fullName\":\"园区名称\",\"addonAfter\":\"\",\"__config__\":{\"formId\":102,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"yq_park\",\"renderKey\":1720767686366,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"showWordLimit\":false,\"__vModel__\":\"parkName\",\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"parkName\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"suffixIcon\":\"\",\"fullName\":\"园区描述\",\"addonAfter\":\"\",\"__config__\":{\"formId\":103,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区描述\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"yq_park\",\"renderKey\":1720767686553,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"showWordLimit\":false,\"__vModel__\":\"parkDescribe\",\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"parkDescribe\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"suffixIcon\":\"\",\"fullName\":\"备注\",\"addonAfter\":\"\",\"__config__\":{\"formId\":104,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"yq_park\",\"renderKey\":1720767686749,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"showWordLimit\":false,\"__vModel__\":\"remark\",\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"}],\"pageSize\":20,\"treePropsChildren\":\"children\",\"type\":1,\"columnBtnsList\":[{\"icon\":\"icon-ym icon-ym-btn-edit\",\"label\":\"编辑\",\"value\":\"edit\"},{\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"删除\",\"value\":\"remove\"},{\"icon\":\"icon-ym icon-ym-generator-menu\",\"label\":\"详情\",\"value\":\"detail\"}],\"thousandsField\":[],\"treeTitle\":\"左侧标题\",\"defaultColumnList\":[{\"suffixIcon\":\"\",\"align\":\"left\",\"__config__\":{\"formId\":101,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"yq_park\",\"renderKey\":1720767684035,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"prop\":\"parkNumber\",\"showWordLimit\":false,\"__vModel__\":\"parkNumber\",\"checked\":true,\"disabled\":false,\"id\":\"parkNumber\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"jnpfKey\":\"input\",\"fullName\":\"园区编码\",\"label\":\"园区编码\",\"sortable\":false,\"addonAfter\":\"\",\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\"},{\"suffixIcon\":\"\",\"align\":\"left\",\"__config__\":{\"formId\":102,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"yq_park\",\"renderKey\":1720767686366,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"prop\":\"parkName\",\"showWordLimit\":false,\"__vModel__\":\"parkName\",\"checked\":true,\"disabled\":false,\"id\":\"parkName\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"jnpfKey\":\"input\",\"fullName\":\"园区名称\",\"label\":\"园区名称\",\"sortable\":false,\"addonAfter\":\"\",\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\"},{\"suffixIcon\":\"\",\"align\":\"left\",\"__config__\":{\"formId\":103,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区描述\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"yq_park\",\"renderKey\":1720767686553,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"prop\":\"parkDescribe\",\"showWordLimit\":false,\"__vModel__\":\"parkDescribe\",\"checked\":true,\"disabled\":false,\"id\":\"parkDescribe\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"jnpfKey\":\"input\",\"fullName\":\"园区描述\",\"label\":\"园区描述\",\"sortable\":false,\"addonAfter\":\"\",\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\"},{\"suffixIcon\":\"\",\"align\":\"left\",\"__config__\":{\"formId\":104,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"yq_park\",\"renderKey\":1720767686749,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"prop\":\"remark\",\"showWordLimit\":false,\"__vModel__\":\"remark\",\"checked\":true,\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入\",\"addonBefore\":\"\",\"clearable\":true,\"jnpfKey\":\"input\",\"fullName\":\"备注\",\"label\":\"备注\",\"sortable\":false,\"addonAfter\":\"\",\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"prefixIcon\":\"\"}],\"treeTemplateJson\":[],\"treePropsName\":\"\",\"useColumnPermission\":false,\"treePropsUrl\":\"\",\"treeRelation\":\"\",\"treeSynType\":0,\"btnsList\":[{\"icon\":\"icon-ym icon-ym-btn-add\",\"label\":\"新增\",\"value\":\"add\"},{\"icon\":\"icon-ym icon-ym-btn-download\",\"label\":\"导出\",\"value\":\"download\"},{\"icon\":\"icon-ym icon-ym-btn-upload\",\"label\":\"导入\",\"value\":\"upload\"},{\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"批量删除\",\"value\":\"batchRemove\"}],\"useDataPermission\":false,\"columnList\":[{\"clearable\":true,\"jnpfKey\":\"input\",\"suffixIcon\":\"\",\"fullName\":\"园区编码\",\"label\":\"园区编码\",\"sortable\":false,\"align\":\"left\",\"addonAfter\":\"\",\"__config__\":{\"formId\":101,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"yq_park\",\"renderKey\":1720767684035,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"prop\":\"parkNumber\",\"showWordLimit\":false,\"width\":0,\"__vModel__\":\"parkNumber\",\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"parkNumber\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"jnpfKey\":\"input\",\"suffixIcon\":\"\",\"fullName\":\"园区名称\",\"label\":\"园区名称\",\"sortable\":false,\"align\":\"left\",\"addonAfter\":\"\",\"__config__\":{\"formId\":102,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"yq_park\",\"renderKey\":1720767686366,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"prop\":\"parkName\",\"showWordLimit\":false,\"width\":0,\"__vModel__\":\"parkName\",\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"parkName\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"jnpfKey\":\"input\",\"suffixIcon\":\"\",\"fullName\":\"园区描述\",\"label\":\"园区描述\",\"sortable\":false,\"align\":\"left\",\"addonAfter\":\"\",\"__config__\":{\"formId\":103,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区描述\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"yq_park\",\"renderKey\":1720767686553,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"prop\":\"parkDescribe\",\"showWordLimit\":false,\"width\":0,\"__vModel__\":\"parkDescribe\",\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"parkDescribe\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"jnpfKey\":\"input\",\"suffixIcon\":\"\",\"fullName\":\"备注\",\"label\":\"备注\",\"sortable\":false,\"align\":\"left\",\"addonAfter\":\"\",\"__config__\":{\"formId\":104,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"yq_park\",\"renderKey\":1720767686749,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"prop\":\"remark\",\"showWordLimit\":false,\"width\":0,\"__vModel__\":\"remark\",\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"}],\"sort\":\"desc\",\"thousands\":false,\"hasSuperQuery\":true,\"summaryField\":[],\"parentField\":\"\",\"treePropsLabel\":\"fullName\",\"treeDataSource\":\"dictionary\",\"groupField\":\"\",\"printIds\":[],\"uploaderTemplateJson\":{\"selectKey\":[\"parkNumber\",\"parkName\"],\"dataType\":\"1\"},\"treeDictionary\":\"\",\"hasTreeQuery\":false,\"useFormPermission\":false,\"customBtnsList\":[],\"complexHeaderList\":[],\"useBtnPermission\":false,\"treeInterfaceName\":\"\",\"defaultSidx\":\"\"}"); return sb.toString(); + } + /** app列表字段配置json */ + public static final String getAppColumnData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"hasPage\":true,\"useColumnPermission\":false,\"searchList\":[],\"btnsList\":[{\"icon\":\"icon-ym icon-ym-btn-add\",\"label\":\"新增\",\"value\":\"add\"}],\"useDataPermission\":false,\"ruleListApp\":{\"conditionList\":[],\"matchLogic\":\"and\"},\"columnList\":[{\"clearable\":true,\"jnpfKey\":\"input\",\"suffixIcon\":\"\",\"fullName\":\"园区编码\",\"label\":\"园区编码\",\"sortable\":false,\"align\":\"left\",\"addonAfter\":\"\",\"__config__\":{\"formId\":101,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"yq_park\",\"renderKey\":1720767684035,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"prop\":\"parkNumber\",\"showWordLimit\":false,\"width\":0,\"__vModel__\":\"parkNumber\",\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"parkNumber\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"jnpfKey\":\"input\",\"suffixIcon\":\"\",\"fullName\":\"园区名称\",\"label\":\"园区名称\",\"sortable\":false,\"align\":\"left\",\"addonAfter\":\"\",\"__config__\":{\"formId\":102,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"yq_park\",\"renderKey\":1720767686366,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"prop\":\"parkName\",\"showWordLimit\":false,\"width\":0,\"__vModel__\":\"parkName\",\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"parkName\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"jnpfKey\":\"input\",\"suffixIcon\":\"\",\"fullName\":\"园区描述\",\"label\":\"园区描述\",\"sortable\":false,\"align\":\"left\",\"addonAfter\":\"\",\"__config__\":{\"formId\":103,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区描述\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"yq_park\",\"renderKey\":1720767686553,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"prop\":\"parkDescribe\",\"showWordLimit\":false,\"width\":0,\"__vModel__\":\"parkDescribe\",\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"parkDescribe\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"jnpfKey\":\"input\",\"suffixIcon\":\"\",\"fullName\":\"备注\",\"label\":\"备注\",\"sortable\":false,\"align\":\"left\",\"addonAfter\":\"\",\"__config__\":{\"formId\":104,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"yq_park\",\"renderKey\":1720767686749,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"prop\":\"remark\",\"showWordLimit\":false,\"width\":0,\"__vModel__\":\"remark\",\"showPassword\":false,\"fixed\":\"none\",\"style\":{\"width\":\"100%\"},\"disabled\":false,\"id\":\"remark\",\"placeholder\":\"请输入\",\"prefixIcon\":\"\",\"addonBefore\":\"\"}],\"columnOptions\":[{\"clearable\":true,\"suffixIcon\":\"\",\"fullName\":\"园区编码\",\"addonAfter\":\"\",\"__config__\":{\"formId\":101,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"yq_park\",\"renderKey\":1720767684035,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"showWordLimit\":false,\"__vModel__\":\"parkNumber\",\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"id\":\"parkNumber\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"suffixIcon\":\"\",\"fullName\":\"园区名称\",\"addonAfter\":\"\",\"__config__\":{\"formId\":102,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"yq_park\",\"renderKey\":1720767686366,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"showWordLimit\":false,\"__vModel__\":\"parkName\",\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"id\":\"parkName\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"suffixIcon\":\"\",\"fullName\":\"园区描述\",\"addonAfter\":\"\",\"__config__\":{\"formId\":103,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区描述\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"yq_park\",\"renderKey\":1720767686553,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"showWordLimit\":false,\"__vModel__\":\"parkDescribe\",\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"id\":\"parkDescribe\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"suffixIcon\":\"\",\"fullName\":\"备注\",\"addonAfter\":\"\",\"__config__\":{\"formId\":104,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"yq_park\",\"renderKey\":1720767686749,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"showWordLimit\":false,\"__vModel__\":\"remark\",\"showPassword\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"id\":\"remark\",\"prefixIcon\":\"\",\"addonBefore\":\"\"}],\"pageSize\":20,\"sort\":\"desc\",\"thousands\":false,\"columnBtnsList\":[{\"icon\":\"icon-ym icon-ym-btn-edit\",\"label\":\"编辑\",\"value\":\"edit\"},{\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"删除\",\"value\":\"remove\"},{\"icon\":\"icon-ym icon-ym-generator-menu\",\"label\":\"详情\",\"value\":\"detail\"}],\"loading\":false,\"hasSuperQuery\":false,\"thousandsField\":[],\"defaultColumnList\":[{\"clearable\":true,\"jnpfKey\":\"input\",\"suffixIcon\":\"\",\"fullName\":\"园区编码\",\"label\":\"园区编码\",\"sortable\":false,\"align\":\"left\",\"addonAfter\":\"\",\"__config__\":{\"formId\":101,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区编码\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"yq_park\",\"renderKey\":1720767684035,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":true,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"prop\":\"parkNumber\",\"showWordLimit\":false,\"__vModel__\":\"parkNumber\",\"showPassword\":false,\"checked\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"id\":\"parkNumber\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"jnpfKey\":\"input\",\"suffixIcon\":\"\",\"fullName\":\"园区名称\",\"label\":\"园区名称\",\"sortable\":false,\"align\":\"left\",\"addonAfter\":\"\",\"__config__\":{\"formId\":102,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区名称\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":true,\"tableName\":\"yq_park\",\"renderKey\":1720767686366,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"prop\":\"parkName\",\"showWordLimit\":false,\"__vModel__\":\"parkName\",\"showPassword\":false,\"checked\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"id\":\"parkName\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"jnpfKey\":\"input\",\"suffixIcon\":\"\",\"fullName\":\"园区描述\",\"label\":\"园区描述\",\"sortable\":false,\"align\":\"left\",\"addonAfter\":\"\",\"__config__\":{\"formId\":103,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"园区描述\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"yq_park\",\"renderKey\":1720767686553,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"prop\":\"parkDescribe\",\"showWordLimit\":false,\"__vModel__\":\"parkDescribe\",\"showPassword\":false,\"checked\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"id\":\"parkDescribe\",\"prefixIcon\":\"\",\"addonBefore\":\"\"},{\"clearable\":true,\"jnpfKey\":\"input\",\"suffixIcon\":\"\",\"fullName\":\"备注\",\"label\":\"备注\",\"sortable\":false,\"align\":\"left\",\"addonAfter\":\"\",\"__config__\":{\"formId\":104,\"visibility\":[\"pc\",\"app\"],\"jnpfKey\":\"input\",\"noShow\":false,\"tipLabel\":\"\",\"dragDisabled\":false,\"className\":[],\"label\":\"备注\",\"trigger\":\"blur\",\"showLabel\":true,\"required\":false,\"tableName\":\"yq_park\",\"renderKey\":1720767686749,\"layout\":\"colFormItem\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"unique\":false,\"tag\":\"JnpfInput\",\"regList\":[],\"span\":24},\"readonly\":false,\"prop\":\"remark\",\"showWordLimit\":false,\"__vModel__\":\"remark\",\"showPassword\":false,\"checked\":false,\"style\":{\"width\":\"100%\"},\"disabled\":false,\"placeholder\":\"请输入\",\"id\":\"remark\",\"prefixIcon\":\"\",\"addonBefore\":\"\"}],\"sortList\":[],\"useFormPermission\":false,\"customBtnsList\":[],\"useBtnPermission\":false,\"defaultSidx\":\"\"}"); return sb.toString(); + } + /** 表列表 */ + public static final String getTableList(){ + StringBuilder sb = new StringBuilder(); +sb.append("[{\"relationField\":\"\",\"relationTable\":\"\",\"table\":\"yq_park\",\"tableName\":\"园区表\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\",\"tableField\":\"\",\"typeId\":\"1\",\"fields\":[{\"columnName\":\"id\",\"field\":\"id\",\"fieldName\":\"主键ID\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":1,\"allowNull\":0,\"autoIncrement\":0},{\"columnName\":\"park_number\",\"field\":\"parkNumber\",\"fieldName\":\"园区编码\",\"dataType\":\"varchar\",\"dataLength\":\"10\",\"primaryKey\":0,\"allowNull\":0,\"autoIncrement\":0},{\"columnName\":\"park_name\",\"field\":\"parkName\",\"fieldName\":\"园区名称\",\"dataType\":\"varchar\",\"dataLength\":\"32\",\"primaryKey\":0,\"allowNull\":0,\"autoIncrement\":0},{\"columnName\":\"park_describe\",\"field\":\"parkDescribe\",\"fieldName\":\"园区描述\",\"dataType\":\"varchar\",\"dataLength\":\"512\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"sort\",\"field\":\"sort\",\"fieldName\":\"排序\",\"dataType\":\"bigint\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"remark\",\"field\":\"remark\",\"fieldName\":\"备注\",\"dataType\":\"varchar\",\"dataLength\":\"512\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_creator_time\",\"field\":\"creatorTime\",\"fieldName\":\"创建时间\",\"dataType\":\"datetime\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_creator_user_id\",\"field\":\"creatorUserId\",\"fieldName\":\"创建用户\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_last_modify_time\",\"field\":\"lastModifyTime\",\"fieldName\":\"修改时间\",\"dataType\":\"datetime\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_last_modify_user_id\",\"field\":\"lastModifyUserId\",\"fieldName\":\"修改用户\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_delete_time\",\"field\":\"deleteTime\",\"fieldName\":\"删除时间\",\"dataType\":\"datetime\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_delete_user_id\",\"field\":\"deleteUserId\",\"fieldName\":\"删除用户\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_delete_mark\",\"field\":\"deleteMark\",\"fieldName\":\"删除标志\",\"dataType\":\"int\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_tenant_id\",\"field\":\"tenantId\",\"fieldName\":\"租户id\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"company_id\",\"field\":\"companyId\",\"fieldName\":\"公司id\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"department_id\",\"field\":\"departmentId\",\"fieldName\":\"部门id\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"organize_json_id\",\"field\":\"organizeJsonId\",\"fieldName\":\"组织id\",\"dataType\":\"varchar\",\"dataLength\":\"1000\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_version\",\"field\":\"version\",\"fieldName\":\"乐观锁\",\"dataType\":\"int\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_flow_id\",\"field\":\"flowId\",\"fieldName\":\"流程id\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0}]}]"); return sb.toString(); + } +} diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkExcelErrorVO.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkExcelErrorVO.java new file mode 100644 index 0000000..68e7795 --- /dev/null +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkExcelErrorVO.java @@ -0,0 +1,22 @@ + + +package jnpf.model.park; + +import lombok.Data; +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.alibaba.fastjson.annotation.JSONField; +/** + * + * park + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-07-12 + */ +@Data +public class ParkExcelErrorVO extends ParkExcelVO{ + + @Excel(name = "异常原因",orderNum = "999") + @JSONField(name = "errorsInfo") + private String errorsInfo; +} diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkExcelVO.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkExcelVO.java new file mode 100644 index 0000000..f8ed7bc --- /dev/null +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkExcelVO.java @@ -0,0 +1,36 @@ +package jnpf.model.park; + +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; +/** + * + * park + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-07-12 + */ +@Data +public class ParkExcelVO{ + + /** 园区编码 **/ + @JSONField(name = "parkNumber") + @Excel(name = "园区编码",orderNum = "1", isImportField = "true" ) + private String parkNumber; + + /** 园区名称 **/ + @JSONField(name = "parkName") + @Excel(name = "园区名称",orderNum = "1", isImportField = "true" ) + private String parkName; + + +} diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkForm.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkForm.java new file mode 100644 index 0000000..9d69fd3 --- /dev/null +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkForm.java @@ -0,0 +1,35 @@ +package jnpf.model.park; + +import lombok.Data; +import java.util.List; +import java.math.BigDecimal; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * park + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-07-12 + */ +@Data +public class ParkForm { + /** 主键 */ + private String id; + /** 乐观锁 **/ + @JsonProperty("version") + private Integer version; + + /** 园区编码 **/ + @JsonProperty("parkNumber") + private String parkNumber; + /** 园区名称 **/ + @JsonProperty("parkName") + private String parkName; + /** 园区描述 **/ + @JsonProperty("parkDescribe") + private String parkDescribe; + /** 备注 **/ + @JsonProperty("remark") + private String remark; +} diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkPagination.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkPagination.java new file mode 100644 index 0000000..effbcad --- /dev/null +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/park/ParkPagination.java @@ -0,0 +1,33 @@ +package jnpf.model.park; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import jnpf.base.Pagination; +import java.util.List; + +/** + * + * park + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-07-12 + */ +@Data +public class ParkPagination extends Pagination { + /** 查询key */ + private String[] selectKey; + /** json */ + private String json; + /** 数据类型 0-当前页,1-全部数据 */ + private String dataType; + /** 高级查询 */ + private String superQueryJson; + /** 功能id */ + private String moduleId; + /** 菜单id */ + private String menuId; + /** 园区名称 */ + @JsonProperty("parkName") + private Object parkName; +}