From 5257ccb7742b012593458e8e13a7658f0026e1cd Mon Sep 17 00:00:00 2001 From: V26772074 Date: Thu, 10 Oct 2024 17:34:22 +0800 Subject: [PATCH] update --- .../pom.xml | 6 +- .../pom.xml | 8 +- .../jnpf/mapper/Base_datainterfaceMapper.java | 16 + .../BiddingProjectSubscribeChildMapper.java | 16 + .../mapper/BiddingProjectSubscribeMapper.java | 31 + .../BiddingProjectSubscribeStepMapper.java | 16 + .../Bidding_project_statisticsMapper.java | 33 + .../main/java/jnpf/mapper/ContractMapper.java | 17 + .../main/java/jnpf/mapper/ExpertMapper.java | 22 + .../jnpf/mapper/LotteryProjectMapper.java | 27 + .../java/jnpf/mapper/LotteryReviewMapper.java | 19 + .../service/Base_datainterfaceService.java | 33 + .../BiddingProjectSubscribeService.java | 63 + .../Bidding_project_statisticsService.java | 36 + .../java/jnpf/service/ContractService.java | 29 + .../java/jnpf/service/CustomAuthService.java | 8 + .../main/java/jnpf/service/ExpertService.java | 28 + .../IBiddingProjectSubscribeChildService.java | 16 + .../IBiddingProjectSubscribeStepService.java | 16 + .../jnpf/service/ILotteryProjectService.java | 51 + .../jnpf/service/ILotteryReviewService.java | 18 + .../service/IndicatorStatisticsService.java | 12 + .../impl/Base_datainterfaceServiceImpl.java | 209 ++ ...ddingProjectSubscribeChildServiceImpl.java | 20 + .../BiddingProjectSubscribeServiceImpl.java | 2132 +++++++++++++++ ...iddingProjectSubscribeStepServiceImpl.java | 20 + ...Bidding_project_statisticsServiceImpl.java | 297 ++ .../service/impl/ContractServiceImpl.java | 84 + .../service/impl/CustomAuthServiceImpl.java | 222 ++ .../jnpf/service/impl/ExpertServiceImpl.java | 326 +++ .../impl/IndicatorStatisticsServiceImpl.java | 296 ++ .../impl/LotteryProjectServiceImpl.java | 889 ++++++ .../impl/LotteryReviewServiceImpl.java | 51 + .../impl/RedisSerialNumberGenerator.java | 33 + .../mapper/Base_datainterfaceMapper.xml | 7 + .../BiddingProjectSubscribeChildMapper.xml | 5 + .../mapper/BiddingProjectSubscribeMapper.xml | 253 ++ .../BiddingProjectSubscribeStepMapper.xml | 5 + .../Bidding_project_statisticsMapper.xml | 126 + .../main/resources/mapper/ExpertMapper.xml | 70 + .../resources/mapper/LotteryProjectMapper.xml | 101 + .../resources/mapper/LotteryReviewMapper.xml | 23 + .../pom.xml | 6 +- .../Base_datainterfaceController.java | 169 ++ .../BiddingProjectSubscribeController.java | 339 +++ .../Bidding_project_statisticsController.java | 446 +++ .../jnpf/controller/ContractController.java | 124 + .../jnpf/controller/ExpertController.java | 93 + .../IndicatorStatisticsController.java | 51 + .../controller/LotteryProjectController.java | 138 + .../java/jnpf/controller/util/SwapUtil.java | 2435 +++++++++++++++++ .../pom.xml | 4 +- .../jnpf/entity/Base_datainterfaceEntity.java | 75 + .../entity/BiddingProjectSubscribeChild.java | 91 + .../entity/BiddingProjectSubscribeEntity.java | 187 ++ .../entity/BiddingProjectSubscribeStep.java | 97 + .../Bidding_project_statisticsEntity.java | 55 + .../main/java/jnpf/entity/ContractEntity.java | 33 + .../src/main/java/jnpf/entity/Expert.java | 129 + .../main/java/jnpf/entity/LotteryProject.java | 131 + .../main/java/jnpf/entity/LotteryReview.java | 63 + .../java/jnpf/enump/BiddingProjectEnum.java | 266 ++ .../model/ContactInformationTypeHandler.java | 62 + .../main/java/jnpf/model/ContractForm.java | 25 + .../main/java/jnpf/model/ContractInfoVO.java | 26 + .../main/java/jnpf/model/ContractListVO.java | 16 + .../model/ExpertGroupInfoTypeHandler.java | 63 + .../model/ExtractExpertsInfoTypeHandler.java | 64 + .../java/jnpf/model/JsonArrayTypeHandler.java | 0 .../main/java/jnpf/model/JsonTypeHandler.java | 0 .../Base_datainterfaceConstant.java | 42 + .../Base_datainterfaceForm.java | 33 + .../Base_datainterfacePagination.java | 28 + .../Bidding_project_statisticsConstant.java | 42 + .../Bidding_project_statisticsForm.java | 39 + .../Bidding_project_statisticsPagination.java | 39 + .../BiddingProjectSubscribeConstant.java | 46 + .../BiddingProjectSubscribeForm.java | 167 ++ .../BiddingProjectSubscribePagination.java | 68 + .../jnpf/model/dto/BiddingProjectDto.java | 96 + .../main/java/jnpf/model/dto/ExpertDto.java | 133 + .../model/dto/IndicatorStatisticsDto.java | 134 + .../jnpf/model/dto/LotteryProjectDto.java | 361 +++ .../pom.xml | 10 +- .../java/jnpf/JnpfTenderingApplication.java | 4 +- .../src/main/resources/application.yml | 2 +- .../src/main/resources/bootstrap.yml | 4 +- .../jnpf/templete/招投标公司打印.docx | Bin 0 -> 10924 bytes .../templete/招标采购方案审批表.docx | Bin 0 -> 14917 bytes ...份有限公司ERP系统建设项目.docx | Bin 0 -> 10891 bytes .../jnpf/templete/结果核准表.docx | Bin 0 -> 14140 bytes .../templete/联合集团项目备案表.docx | Bin 0 -> 16576 bytes .../src/main/resources/logback-spring.xml | 0 pom.xml | 14 +- 94 files changed, 12111 insertions(+), 29 deletions(-) rename {jnpf-library-api => jnpf-tendering-api}/pom.xml (83%) rename {jnpf-library-biz => jnpf-tendering-biz}/pom.xml (84%) create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/mapper/Base_datainterfaceMapper.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/mapper/BiddingProjectSubscribeChildMapper.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/mapper/BiddingProjectSubscribeMapper.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/mapper/BiddingProjectSubscribeStepMapper.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/mapper/Bidding_project_statisticsMapper.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/mapper/ContractMapper.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/mapper/ExpertMapper.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/mapper/LotteryProjectMapper.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/mapper/LotteryReviewMapper.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/Base_datainterfaceService.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/BiddingProjectSubscribeService.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/Bidding_project_statisticsService.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/ContractService.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/CustomAuthService.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/ExpertService.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/IBiddingProjectSubscribeChildService.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/IBiddingProjectSubscribeStepService.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/ILotteryProjectService.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/ILotteryReviewService.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/IndicatorStatisticsService.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/impl/Base_datainterfaceServiceImpl.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/impl/BiddingProjectSubscribeChildServiceImpl.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/impl/BiddingProjectSubscribeServiceImpl.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/impl/BiddingProjectSubscribeStepServiceImpl.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/impl/Bidding_project_statisticsServiceImpl.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/impl/ContractServiceImpl.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/impl/CustomAuthServiceImpl.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/impl/ExpertServiceImpl.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/impl/IndicatorStatisticsServiceImpl.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/impl/LotteryProjectServiceImpl.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/impl/LotteryReviewServiceImpl.java create mode 100644 jnpf-tendering-biz/src/main/java/jnpf/service/impl/RedisSerialNumberGenerator.java create mode 100644 jnpf-tendering-biz/src/main/resources/mapper/Base_datainterfaceMapper.xml create mode 100644 jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeChildMapper.xml create mode 100644 jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeMapper.xml create mode 100644 jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeStepMapper.xml create mode 100644 jnpf-tendering-biz/src/main/resources/mapper/Bidding_project_statisticsMapper.xml create mode 100644 jnpf-tendering-biz/src/main/resources/mapper/ExpertMapper.xml create mode 100644 jnpf-tendering-biz/src/main/resources/mapper/LotteryProjectMapper.xml create mode 100644 jnpf-tendering-biz/src/main/resources/mapper/LotteryReviewMapper.xml rename {jnpf-library-controller => jnpf-tendering-controller}/pom.xml (83%) create mode 100644 jnpf-tendering-controller/src/main/java/jnpf/controller/Base_datainterfaceController.java create mode 100644 jnpf-tendering-controller/src/main/java/jnpf/controller/BiddingProjectSubscribeController.java create mode 100644 jnpf-tendering-controller/src/main/java/jnpf/controller/Bidding_project_statisticsController.java create mode 100644 jnpf-tendering-controller/src/main/java/jnpf/controller/ContractController.java create mode 100644 jnpf-tendering-controller/src/main/java/jnpf/controller/ExpertController.java create mode 100644 jnpf-tendering-controller/src/main/java/jnpf/controller/IndicatorStatisticsController.java create mode 100644 jnpf-tendering-controller/src/main/java/jnpf/controller/LotteryProjectController.java create mode 100644 jnpf-tendering-controller/src/main/java/jnpf/controller/util/SwapUtil.java rename {jnpf-library-entity => jnpf-tendering-entity}/pom.xml (85%) create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/entity/Base_datainterfaceEntity.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/entity/BiddingProjectSubscribeChild.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/entity/BiddingProjectSubscribeEntity.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/entity/BiddingProjectSubscribeStep.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/entity/Bidding_project_statisticsEntity.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/entity/ContractEntity.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/entity/Expert.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/entity/LotteryProject.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/entity/LotteryReview.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/enump/BiddingProjectEnum.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/ContactInformationTypeHandler.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/ContractForm.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/ContractInfoVO.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/ContractListVO.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/ExpertGroupInfoTypeHandler.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/ExtractExpertsInfoTypeHandler.java rename {jnpf-library-entity => jnpf-tendering-entity}/src/main/java/jnpf/model/JsonArrayTypeHandler.java (100%) rename {jnpf-library-entity => jnpf-tendering-entity}/src/main/java/jnpf/model/JsonTypeHandler.java (100%) create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/base_datainterface/Base_datainterfaceConstant.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/base_datainterface/Base_datainterfaceForm.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/base_datainterface/Base_datainterfacePagination.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_statistics/Bidding_project_statisticsConstant.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_statistics/Bidding_project_statisticsForm.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_statistics/Bidding_project_statisticsPagination.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_subscribe/BiddingProjectSubscribeConstant.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_subscribe/BiddingProjectSubscribeForm.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_subscribe/BiddingProjectSubscribePagination.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/dto/BiddingProjectDto.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/dto/ExpertDto.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/dto/IndicatorStatisticsDto.java create mode 100644 jnpf-tendering-entity/src/main/java/jnpf/model/dto/LotteryProjectDto.java rename {jnpf-library-server => jnpf-tendering-server}/pom.xml (81%) rename jnpf-library-server/src/main/java/jnpf/JnpfLibraryApplication.java => jnpf-tendering-server/src/main/java/jnpf/JnpfTenderingApplication.java (76%) rename {jnpf-library-server => jnpf-tendering-server}/src/main/resources/application.yml (96%) rename {jnpf-library-server => jnpf-tendering-server}/src/main/resources/bootstrap.yml (90%) create mode 100644 jnpf-tendering-server/src/main/resources/jnpf/templete/招投标公司打印.docx create mode 100644 jnpf-tendering-server/src/main/resources/jnpf/templete/招标采购方案审批表.docx create mode 100644 jnpf-tendering-server/src/main/resources/jnpf/templete/浙江出版传媒股份有限公司ERP系统建设项目.docx create mode 100644 jnpf-tendering-server/src/main/resources/jnpf/templete/结果核准表.docx create mode 100644 jnpf-tendering-server/src/main/resources/jnpf/templete/联合集团项目备案表.docx rename {jnpf-library-server => jnpf-tendering-server}/src/main/resources/logback-spring.xml (100%) diff --git a/jnpf-library-api/pom.xml b/jnpf-tendering-api/pom.xml similarity index 83% rename from jnpf-library-api/pom.xml rename to jnpf-tendering-api/pom.xml index 01e6f80..3c37fbe 100644 --- a/jnpf-library-api/pom.xml +++ b/jnpf-tendering-api/pom.xml @@ -3,17 +3,17 @@ 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"> - jnpf-library + jnpf-tendering com.jnpf 3.7.0-RELEASE 4.0.0 - jnpf-library-api + jnpf-tendering-api com.jnpf - jnpf-library-entity + jnpf-tendering-entity ${project.version} compile diff --git a/jnpf-library-biz/pom.xml b/jnpf-tendering-biz/pom.xml similarity index 84% rename from jnpf-library-biz/pom.xml rename to jnpf-tendering-biz/pom.xml index 5b67f88..b17e207 100644 --- a/jnpf-library-biz/pom.xml +++ b/jnpf-tendering-biz/pom.xml @@ -3,23 +3,23 @@ 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"> - jnpf-library + jnpf-tendering com.jnpf 3.7.0-RELEASE 4.0.0 - jnpf-library-biz + jnpf-tendering-biz com.jnpf - jnpf-library-entity + jnpf-tendering-entity ${project.version} compile com.jnpf - jnpf-library-api + jnpf-tendering-api ${project.version} compile diff --git a/jnpf-tendering-biz/src/main/java/jnpf/mapper/Base_datainterfaceMapper.java b/jnpf-tendering-biz/src/main/java/jnpf/mapper/Base_datainterfaceMapper.java new file mode 100644 index 0000000..6a41466 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/mapper/Base_datainterfaceMapper.java @@ -0,0 +1,16 @@ +package jnpf.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import jnpf.entity.Base_datainterfaceEntity; + +/** + * base_datainterface + * 版本: V3.5 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2024-06-19 + */ +public interface Base_datainterfaceMapper extends BaseMapper { + +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/mapper/BiddingProjectSubscribeChildMapper.java b/jnpf-tendering-biz/src/main/java/jnpf/mapper/BiddingProjectSubscribeChildMapper.java new file mode 100644 index 0000000..2368967 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/mapper/BiddingProjectSubscribeChildMapper.java @@ -0,0 +1,16 @@ +package jnpf.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import jnpf.entity.BiddingProjectSubscribeChild; + +/** + *

+ * Mapper 接口 + *

+ * + * @author admin + * @since 2024-06-11 + */ +public interface BiddingProjectSubscribeChildMapper extends BaseMapper { + +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/mapper/BiddingProjectSubscribeMapper.java b/jnpf-tendering-biz/src/main/java/jnpf/mapper/BiddingProjectSubscribeMapper.java new file mode 100644 index 0000000..4c6d4a2 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/mapper/BiddingProjectSubscribeMapper.java @@ -0,0 +1,31 @@ +package jnpf.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import jnpf.entity.BiddingProjectSubscribeEntity; +import jnpf.model.bidding_project_subscribe.BiddingProjectSubscribePagination; +import jnpf.model.dto.IndicatorStatisticsDto; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * bidding_project_subscribe + * 版本: V3.5 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2024-06-11 + */ +public interface BiddingProjectSubscribeMapper extends BaseMapper { + + IPage queryList(@Param("page") Page objectPage, @Param("param") BiddingProjectSubscribePagination biddingProjectSubscribePagination, @Param("ew") Map ew,@Param("sql") String sql); + + BiddingProjectSubscribeEntity getInfoById(@Param("id") String id); + + List getProjectsNumberByType(@Param("param")IndicatorStatisticsDto.ProjectsNumberParam param,@Param("ew") Map paramNameValuePairs, @Param("sql")String sql); + + List moneyAndProjectsNumber(@Param("param")IndicatorStatisticsDto.MoneyAndProjectsNumberParam param,@Param("ew") Map paramNameValuePairs, @Param("sql")String sql); +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/mapper/BiddingProjectSubscribeStepMapper.java b/jnpf-tendering-biz/src/main/java/jnpf/mapper/BiddingProjectSubscribeStepMapper.java new file mode 100644 index 0000000..b9cb913 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/mapper/BiddingProjectSubscribeStepMapper.java @@ -0,0 +1,16 @@ +package jnpf.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import jnpf.entity.BiddingProjectSubscribeStep; + +/** + *

+ * Mapper 接口 + *

+ * + * @author admin + * @since 2024-06-11 + */ +public interface BiddingProjectSubscribeStepMapper extends BaseMapper { + +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/mapper/Bidding_project_statisticsMapper.java b/jnpf-tendering-biz/src/main/java/jnpf/mapper/Bidding_project_statisticsMapper.java new file mode 100644 index 0000000..d8bac0c --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/mapper/Bidding_project_statisticsMapper.java @@ -0,0 +1,33 @@ +package jnpf.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import jnpf.base.entity.DictionaryDataEntity; +import jnpf.entity.Bidding_project_statisticsEntity; +import jnpf.model.bidding_project_statistics.Bidding_project_statisticsPagination; +import jnpf.model.dto.BiddingProjectDto; +import org.apache.ibatis.annotations.MapKey; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * bidding_project_statistics + * 版本: V3.5 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2024-06-13 + */ +public interface Bidding_project_statisticsMapper extends BaseMapper { + + List queryList(@Param("param")Bidding_project_statisticsPagination bidding_project_statisticsPagination, @Param("ew")Map paramNameValuePairs, @Param("sql") String replace); + + @MapKey("id") + List> queryListDl(@Param("param")Bidding_project_statisticsPagination bidding_project_statisticsPagination, @Param("ew")Map paramNameValuePairs, @Param("sql") String replace,@Param("dataList") List dataList); + + + List queryListJe(@Param("param")Bidding_project_statisticsPagination bidding_project_statisticsPagination, @Param("ew")Map paramNameValuePairs, @Param("sql") String replace); + + List getProjectNameList(@Param("ew")Map paramNameValuePairs,@Param("param") BiddingProjectDto.GetProjectNameList param); +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/mapper/ContractMapper.java b/jnpf-tendering-biz/src/main/java/jnpf/mapper/ContractMapper.java new file mode 100644 index 0000000..19f162b --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/mapper/ContractMapper.java @@ -0,0 +1,17 @@ +package jnpf.mapper; + +import jnpf.base.mapper.SuperMapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import jnpf.entity.ContractEntity; + +/** + * + * Contract + * 版本: V3.0.0 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2020-12-31 + */ +public interface ContractMapper extends SuperMapper { + +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/mapper/ExpertMapper.java b/jnpf-tendering-biz/src/main/java/jnpf/mapper/ExpertMapper.java new file mode 100644 index 0000000..e3fbf77 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/mapper/ExpertMapper.java @@ -0,0 +1,22 @@ +package jnpf.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import jnpf.entity.Expert; +import jnpf.model.dto.ExpertDto; +import org.apache.ibatis.annotations.Param; + +/** + *

+ * Mapper 接口 + *

+ * + * @author admin + * @since 2024-08-26 + */ +public interface ExpertMapper extends BaseMapper { + + Page queryList(@Param("page") Page objectPage,@Param("param") ExpertDto.ListParam param); + + ExpertDto.ListResponse queryInfo(@Param("id") String id); +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/mapper/LotteryProjectMapper.java b/jnpf-tendering-biz/src/main/java/jnpf/mapper/LotteryProjectMapper.java new file mode 100644 index 0000000..3a8c2b6 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/mapper/LotteryProjectMapper.java @@ -0,0 +1,27 @@ +package jnpf.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import jnpf.entity.LotteryProject; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import jnpf.model.dto.IndicatorStatisticsDto; +import jnpf.model.dto.LotteryProjectDto; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 抽签项目表 Mapper 接口 + *

+ * + * @author admin + * @since 2024-08-30 + */ +public interface LotteryProjectMapper extends BaseMapper { + + Page queryList(@Param("page")Page page, @Param("query")LotteryProjectDto.QueryListParam param, @Param("ew") Map paramNameValuePairs, @Param("sql")String replace); + + LotteryProjectDto.QueryResponse queryInfo(@Param("id") String id); +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/mapper/LotteryReviewMapper.java b/jnpf-tendering-biz/src/main/java/jnpf/mapper/LotteryReviewMapper.java new file mode 100644 index 0000000..f1f601d --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/mapper/LotteryReviewMapper.java @@ -0,0 +1,19 @@ +package jnpf.mapper; + +import jnpf.entity.LotteryReview; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import jnpf.model.dto.LotteryProjectDto; +import org.apache.ibatis.annotations.Param; + +/** + *

+ * 评审次数 Mapper 接口 + *

+ * + * @author admin + * @since 2024-08-30 + */ +public interface LotteryReviewMapper extends BaseMapper { + + LotteryProjectDto.QueryReviewResponse queryReviewInfo(@Param("id") String id); +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/Base_datainterfaceService.java b/jnpf-tendering-biz/src/main/java/jnpf/service/Base_datainterfaceService.java new file mode 100644 index 0000000..857ef6b --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/Base_datainterfaceService.java @@ -0,0 +1,33 @@ +package jnpf.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import jnpf.entity.Base_datainterfaceEntity; +import jnpf.model.base_datainterface.*; + +import java.util.List; + +/** + * base_datainterface + * 版本: V3.5 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2024-06-19 + */ +public interface Base_datainterfaceService extends IService { + List getList(Base_datainterfacePagination base_datainterfacePagination); + + List getTypeList(Base_datainterfacePagination base_datainterfacePagination,String dataType); + + Base_datainterfaceEntity getInfo(String id); + + void delete(Base_datainterfaceEntity entity); + + void create(Base_datainterfaceEntity entity); + + boolean update(String id, Base_datainterfaceEntity entity); + + //子表方法 + //副表数据方法 + String checkForm(Base_datainterfaceForm form,int i); + +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/BiddingProjectSubscribeService.java b/jnpf-tendering-biz/src/main/java/jnpf/service/BiddingProjectSubscribeService.java new file mode 100644 index 0000000..1f9d75d --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/BiddingProjectSubscribeService.java @@ -0,0 +1,63 @@ +package jnpf.service; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.IService; +import jnpf.entity.BiddingProjectSubscribeEntity; +import jnpf.model.bidding_project_subscribe.*; +import jnpf.model.dto.BiddingProjectDto; +import jnpf.model.dto.IndicatorStatisticsDto; +import jnpf.permission.entity.UserEntity; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; +import java.util.Map; + +/** + * bidding_project_subscribe + * 版本: V3.5 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2024-06-11 + */ +public interface BiddingProjectSubscribeService extends IService { + List getList(BiddingProjectSubscribePagination biddingProjectSubscribePagination); + + List getTypeList(BiddingProjectSubscribePagination biddingProjectSubscribePagination, String dataType); + + BiddingProjectSubscribeEntity getInfo(String id); + + void delete(BiddingProjectSubscribeEntity entity); + + void create(BiddingProjectSubscribeEntity entity); + + boolean update(String id, BiddingProjectSubscribeEntity entity); + + //子表方法 + //副表数据方法 + String checkForm(BiddingProjectSubscribeForm form, int i); + + void updateFlow(UserEntity userEntity, BiddingProjectSubscribeEntity entity,Boolean add); + + void auditing(BiddingProjectDto.AuditingParam param); + + void updateFlowByUser(BiddingProjectSubscribeEntity entity); + + String obtainHierarchy(); + + void archivist(BiddingProjectDto.ArchivistParam param); + + void termination(String id); + + List getAllFileInfo(String id); + + void temporaryStorage(UserEntity userInfo, BiddingProjectSubscribeEntity entity); + + MultipartFile download(String id, String type); + MultipartFile download(String id, String type,BiddingProjectSubscribeEntity entity); + + String obtainHierarchyOfCreate(String id); + + List getProjectsNumberByType(IndicatorStatisticsDto.ProjectsNumberParam param, Map paramNameValuePairs, String sql); + + List moneyAndProjectsNumber(IndicatorStatisticsDto.MoneyAndProjectsNumberParam param, Map paramNameValuePairs, String replace); +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/Bidding_project_statisticsService.java b/jnpf-tendering-biz/src/main/java/jnpf/service/Bidding_project_statisticsService.java new file mode 100644 index 0000000..276b1ad --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/Bidding_project_statisticsService.java @@ -0,0 +1,36 @@ +package jnpf.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import jnpf.entity.Bidding_project_statisticsEntity; +import jnpf.model.bidding_project_statistics.*; +import jnpf.model.dto.BiddingProjectDto; + +import java.util.List; +import java.util.Map; + +/** + * bidding_project_statistics + * 版本: V3.5 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2024-06-13 + */ +public interface Bidding_project_statisticsService extends IService { + List> getList(Bidding_project_statisticsPagination bidding_project_statisticsPagination); + + List> getTypeList(Bidding_project_statisticsPagination bidding_project_statisticsPagination,String dataType); + + Bidding_project_statisticsEntity getInfo(String id); + + void delete(Bidding_project_statisticsEntity entity); + + void create(Bidding_project_statisticsEntity entity); + + boolean update(String id, Bidding_project_statisticsEntity entity); + + //子表方法 + //副表数据方法 + String checkForm(Bidding_project_statisticsForm form,int i); + + List getProjectNameList(BiddingProjectDto.GetProjectNameList param); +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/ContractService.java b/jnpf-tendering-biz/src/main/java/jnpf/service/ContractService.java new file mode 100644 index 0000000..ec95fc7 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/ContractService.java @@ -0,0 +1,29 @@ +package jnpf.service; + +import jnpf.base.service.SuperService; +import com.baomidou.mybatisplus.extension.service.IService; +import jnpf.base.Pagination; +import jnpf.entity.ContractEntity; + +import java.util.*; + +/** + * + * Contract + * 版本: V3.0.0 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2020-12-31 + */ +public interface ContractService extends SuperService { + + List getlist(Pagination pagination); + + ContractEntity getInfo(String id); + + void create(ContractEntity entity); + + void update(String id, ContractEntity entity); + + void delete(ContractEntity entity); +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/CustomAuthService.java b/jnpf-tendering-biz/src/main/java/jnpf/service/CustomAuthService.java new file mode 100644 index 0000000..60c8de0 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/CustomAuthService.java @@ -0,0 +1,8 @@ +package jnpf.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import jnpf.permission.model.authorize.AuthorizeConditionModel; + +public interface CustomAuthService { + public QueryWrapper getCondition(AuthorizeConditionModel conditionModel); +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/ExpertService.java b/jnpf-tendering-biz/src/main/java/jnpf/service/ExpertService.java new file mode 100644 index 0000000..0e85512 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/ExpertService.java @@ -0,0 +1,28 @@ +package jnpf.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import jnpf.entity.Expert; +import jnpf.model.dto.ExpertDto; +import jnpf.permission.model.organize.OrganizeListVO; +import jnpf.permission.model.organize.PaginationOrganize; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +public interface ExpertService extends IService { + + void add(ExpertDto.AddParam param); + + List getOrganizationList(PaginationOrganize pagination); + + void edit(ExpertDto.EditParam param); + + void delete(ExpertDto.DeleteParam param); + + Page queryList(ExpertDto.ListParam param); + + ExpertDto.ListResponse queryInfo(String id); + + void expertImport(MultipartFile file); +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/IBiddingProjectSubscribeChildService.java b/jnpf-tendering-biz/src/main/java/jnpf/service/IBiddingProjectSubscribeChildService.java new file mode 100644 index 0000000..47a37c5 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/IBiddingProjectSubscribeChildService.java @@ -0,0 +1,16 @@ +package jnpf.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import jnpf.entity.BiddingProjectSubscribeChild; + +/** + *

+ * 服务类 + *

+ * + * @author admin + * @since 2024-06-11 + */ +public interface IBiddingProjectSubscribeChildService extends IService { + +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/IBiddingProjectSubscribeStepService.java b/jnpf-tendering-biz/src/main/java/jnpf/service/IBiddingProjectSubscribeStepService.java new file mode 100644 index 0000000..8f757a2 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/IBiddingProjectSubscribeStepService.java @@ -0,0 +1,16 @@ +package jnpf.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import jnpf.entity.BiddingProjectSubscribeStep; + +/** + *

+ * 服务类 + *

+ * + * @author admin + * @since 2024-06-11 + */ +public interface IBiddingProjectSubscribeStepService extends IService { + +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/ILotteryProjectService.java b/jnpf-tendering-biz/src/main/java/jnpf/service/ILotteryProjectService.java new file mode 100644 index 0000000..c968917 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/ILotteryProjectService.java @@ -0,0 +1,51 @@ +package jnpf.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import jnpf.base.vo.DownloadVO; +import jnpf.entity.Expert; +import jnpf.entity.LotteryProject; +import com.baomidou.mybatisplus.extension.service.IService; +import jnpf.model.dto.LotteryProjectDto; + +import java.util.List; + +/** + *

+ * 抽签项目表 服务类 + *

+ * + * @author admin + * @since 2024-08-30 + */ +public interface ILotteryProjectService extends IService { + + void add(LotteryProjectDto.AddParam param); + + void edit(LotteryProjectDto.EditParam param); + + void delete(LotteryProjectDto.DeleteParam param); + + Page queryList(LotteryProjectDto.QueryListParam param); + + LotteryProjectDto.QueryResponse queryInfo(String id); + + void addReview(LotteryProjectDto.AddReviewParam param); + + void editReview(LotteryProjectDto.EditReviewParam param); + + void participateInConfirmation(LotteryProjectDto.ParticipateInConfirmationParam param); + + LotteryProjectDto.QueryReviewResponse queryReviewInfo(String id); + + void deleteReview(LotteryProjectDto.DeleteReviewParam param); + + void saveExtractionResults(LotteryProjectDto.SaveExtractionResultsParam param); + + List getExpertsByType(String reviewId, String expertGroup); + + DownloadVO resultPrinting(String reviewId); + + void uploadExtractionResults(LotteryProjectDto.UploadExtractionResults param); + + List getCompanyByReview(String reviewId); +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/ILotteryReviewService.java b/jnpf-tendering-biz/src/main/java/jnpf/service/ILotteryReviewService.java new file mode 100644 index 0000000..6acae3b --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/ILotteryReviewService.java @@ -0,0 +1,18 @@ +package jnpf.service; + +import jnpf.entity.LotteryReview; +import com.baomidou.mybatisplus.extension.service.IService; +import jnpf.model.dto.LotteryProjectDto; + +/** + *

+ * 评审次数 服务类 + *

+ * + * @author admin + * @since 2024-08-30 + */ +public interface ILotteryReviewService extends IService { + + LotteryProjectDto.QueryReviewResponse queryReviewInfo(String id); +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/IndicatorStatisticsService.java b/jnpf-tendering-biz/src/main/java/jnpf/service/IndicatorStatisticsService.java new file mode 100644 index 0000000..934eaa3 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/IndicatorStatisticsService.java @@ -0,0 +1,12 @@ +package jnpf.service; + +import jnpf.model.dto.IndicatorStatisticsDto; + +public interface IndicatorStatisticsService { + IndicatorStatisticsDto.ProjectsNumberResponse projectsNumber(IndicatorStatisticsDto.ProjectsNumberParam param); + + IndicatorStatisticsDto.MoneyAndProjectsNumberResponse moneyAndProjectsNumber(IndicatorStatisticsDto.MoneyAndProjectsNumberParam param); + + IndicatorStatisticsDto.MyToDoListResponse myToDoList(); + +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/impl/Base_datainterfaceServiceImpl.java b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/Base_datainterfaceServiceImpl.java new file mode 100644 index 0000000..833e95a --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/Base_datainterfaceServiceImpl.java @@ -0,0 +1,209 @@ +package jnpf.service.impl; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jnpf.database.model.superQuery.ConditionJsonModel; +import jnpf.database.model.superQuery.SuperQueryConditionModel; +import jnpf.database.model.superQuery.SuperQueryJsonModel; +import jnpf.entity.Base_datainterfaceEntity; +import jnpf.mapper.Base_datainterfaceMapper; +import jnpf.model.base_datainterface.*; +import jnpf.permission.model.authorize.AuthorizeConditionModel; +import jnpf.service.Base_datainterfaceService; +import jnpf.service.CustomAuthService; +import jnpf.util.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +/** + * + * base_datainterface + * 版本: V3.5 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2024-06-19 + */ +@Service +public class Base_datainterfaceServiceImpl extends ServiceImpl implements Base_datainterfaceService{ + @Autowired + private GeneraterSwapUtil generaterSwapUtil; + + @Autowired + private UserProvider userProvider; + + @Autowired + private CustomAuthService customAuthService; + + @Override + public List getList(Base_datainterfacePagination base_datainterfacePagination){ + return getTypeList(base_datainterfacePagination,base_datainterfacePagination.getDataType()); + } + /** 列表查询 */ + @Override + public List getTypeList(Base_datainterfacePagination base_datainterfacePagination,String dataType){ + String userId=userProvider.get().getUserId(); + List AllIdList =new ArrayList(); + List> intersectionList =new ArrayList<>(); + int total=0; + int base_datainterfaceNum =0; + QueryWrapper base_datainterfaceQueryWrapper=new QueryWrapper<>(); + List allSuperIDlist = new ArrayList<>(); + String superOp =""; + if (ObjectUtil.isNotEmpty(base_datainterfacePagination.getSuperQueryJson())){ + SuperQueryJsonModel superQueryJsonModel = JsonUtil.getJsonToBean(base_datainterfacePagination.getSuperQueryJson(), SuperQueryJsonModel.class); + String matchLogic = ""; + List superQueryList = new ArrayList<>(); + for (ConditionJsonModel conditionjson : superQueryList){ + Map map = JsonUtil.stringToMap(conditionjson.getAttr()); + Map configMap = JsonUtil.stringToMap(map.get("__config__").toString()); + String tableName = configMap.get("relationTable")!=null ? String.valueOf(configMap.get("relationTable")) : String.valueOf(configMap.get("tableName")); + if (map.get("multiple") != null) { + if (Boolean.valueOf(String.valueOf(map.get("multiple"))) && ObjectUtil.isNull(conditionjson.getFieldValue())) { + conditionjson.setFieldValue("[]"); + } + } + conditionjson.setTableName(tableName); + } + List allSuperList = new ArrayList<>(); + List> intersectionSuperList = new ArrayList<>(); + + + + int base_datainterfaceNum1 = 0; + QueryWrapper base_datainterfaceSuperWrapper = new QueryWrapper<>(); + base_datainterfaceNum1 = generaterSwapUtil.getCondition(new SuperQueryConditionModel(base_datainterfaceSuperWrapper,superQueryList,matchLogic,"base_datainterface") + ,new Base_datainterfaceEntity(),base_datainterfaceNum1); + if (base_datainterfaceNum1>0){ + List base_datainterfaceList =this.list(base_datainterfaceSuperWrapper).stream().map(Base_datainterfaceEntity::getId).collect(Collectors.toList()); + allSuperList.addAll(base_datainterfaceList); + intersectionSuperList.add(base_datainterfaceList); + } + superOp = matchLogic; + //and or + if(matchLogic.equalsIgnoreCase("and")){ + allSuperIDlist = generaterSwapUtil.getIntersection(intersectionSuperList); + }else{ + allSuperIDlist = allSuperList; + } + } + boolean pcPermission = false; + boolean appPermission = false; + boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc"); + if(isPc && pcPermission){ + if (!userProvider.get().getIsAdministrator()){ + Object base_datainterfaceObj= customAuthService.getCondition(new AuthorizeConditionModel(base_datainterfaceQueryWrapper,base_datainterfacePagination.getMenuId(),"base_datainterface")); + if (ObjectUtil.isEmpty(base_datainterfaceObj)){ + return new ArrayList<>(); + } else { + base_datainterfaceQueryWrapper = (QueryWrapper)base_datainterfaceObj; + if( base_datainterfaceQueryWrapper.getExpression().getNormal().size()>0){ + base_datainterfaceNum++; + } + } + } + } + if(!isPc && appPermission){ + if (!userProvider.get().getIsAdministrator()){ + Object base_datainterfaceObj= customAuthService.getCondition(new AuthorizeConditionModel(base_datainterfaceQueryWrapper,base_datainterfacePagination.getMenuId(),"base_datainterface")); + if (ObjectUtil.isEmpty(base_datainterfaceObj)){ + return new ArrayList<>(); + } else { + base_datainterfaceQueryWrapper = (QueryWrapper)base_datainterfaceObj; + if( base_datainterfaceQueryWrapper.getExpression().getNormal().size()>0){ + base_datainterfaceNum++; + } + } + + + } + } + + List intersection = generaterSwapUtil.getIntersection(intersectionList); + if (total>0){ + if (intersection.size()==0){ + intersection.add("jnpfNullList"); + } + base_datainterfaceQueryWrapper.lambda().in(Base_datainterfaceEntity::getId, intersection); + } + //是否有高级查询 + if (StringUtil.isNotEmpty(superOp)){ + if (allSuperIDlist.size()==0){ + allSuperIDlist.add("jnpfNullList"); + } + List finalAllSuperIDlist = allSuperIDlist; + base_datainterfaceQueryWrapper.lambda().and(t->t.in(Base_datainterfaceEntity::getId, finalAllSuperIDlist)); + } + + + //排序 + if(StringUtil.isEmpty(base_datainterfacePagination.getSidx())){ + base_datainterfaceQueryWrapper.lambda().orderByDesc(Base_datainterfaceEntity::getId); + }else{ + try { + String sidx = base_datainterfacePagination.getSidx(); + String[] strs= sidx.split("_name"); + Base_datainterfaceEntity base_datainterfaceEntity = new Base_datainterfaceEntity(); + Field declaredField = base_datainterfaceEntity.getClass().getDeclaredField(strs[0]); + declaredField.setAccessible(true); + String value = declaredField.getAnnotation(TableField.class).value(); + base_datainterfaceQueryWrapper="asc".equals(base_datainterfacePagination.getSort().toLowerCase())?base_datainterfaceQueryWrapper.orderByAsc(value):base_datainterfaceQueryWrapper.orderByDesc(value); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } + } + + if("0".equals(dataType)){ + if((total>0 && AllIdList.size()>0) || total==0){ + Page page=new Page<>(base_datainterfacePagination.getCurrentPage(), base_datainterfacePagination.getPageSize()); + IPage userIPage=this.page(page, base_datainterfaceQueryWrapper); + return base_datainterfacePagination.setData(userIPage.getRecords(),userIPage.getTotal()); + }else{ + List list = new ArrayList(); + return base_datainterfacePagination.setData(list, list.size()); + } + }else{ + return this.list(base_datainterfaceQueryWrapper); + } + } + @Override + public Base_datainterfaceEntity getInfo(String id){ + QueryWrapper queryWrapper=new QueryWrapper<>(); + queryWrapper.lambda().eq(Base_datainterfaceEntity::getId,id); + return this.getOne(queryWrapper); + } + @Override + public void create(Base_datainterfaceEntity entity){ + this.save(entity); + } + @Override + public boolean update(String id, Base_datainterfaceEntity entity){ + return this.updateById(entity); + } + @Override + public void delete(Base_datainterfaceEntity entity){ + if(entity!=null){ + this.removeById(entity.getId()); + } + } + /** 验证表单唯一字段,正则,非空 i-0新增-1修改*/ + @Override + public String checkForm(Base_datainterfaceForm form,int i) { + boolean isUp =StringUtil.isNotEmpty(form.getId()) && !form.getId().equals("0"); + String id=""; + String countRecover = ""; + if (isUp){ + id = form.getId(); + } + //主表字段验证 + return countRecover; + } +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/impl/BiddingProjectSubscribeChildServiceImpl.java b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/BiddingProjectSubscribeChildServiceImpl.java new file mode 100644 index 0000000..4cd0527 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/BiddingProjectSubscribeChildServiceImpl.java @@ -0,0 +1,20 @@ +package jnpf.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jnpf.entity.BiddingProjectSubscribeChild; +import jnpf.mapper.BiddingProjectSubscribeChildMapper; +import jnpf.service.IBiddingProjectSubscribeChildService; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author admin + * @since 2024-06-11 + */ +@Service +public class BiddingProjectSubscribeChildServiceImpl extends ServiceImpl implements IBiddingProjectSubscribeChildService { + +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/impl/BiddingProjectSubscribeServiceImpl.java b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/BiddingProjectSubscribeServiceImpl.java new file mode 100644 index 0000000..fc8e1eb --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/BiddingProjectSubscribeServiceImpl.java @@ -0,0 +1,2132 @@ +package jnpf.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.io.resource.ResourceUtil; +import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import cn.xuyanwu.spring.file.storage.MockMultipartFile; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.segments.NormalSegmentList; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jnpf.base.DictionaryDataApi; +import jnpf.base.UserInfo; +import jnpf.base.entity.DictionaryDataEntity; +import jnpf.constant.PermissionConst; +import jnpf.database.model.superQuery.ConditionJsonModel; +import jnpf.database.model.superQuery.SuperQueryConditionModel; +import jnpf.database.model.superQuery.SuperQueryJsonModel; +import jnpf.entity.BiddingProjectSubscribeChild; +import jnpf.entity.BiddingProjectSubscribeEntity; +import jnpf.entity.BiddingProjectSubscribeStep; +import jnpf.entity.LotteryProject; +import jnpf.enump.BiddingProjectEnum; +import jnpf.exception.DataException; +import jnpf.mapper.BiddingProjectSubscribeMapper; +import jnpf.model.bidding_project_subscribe.*; +import jnpf.model.dto.BiddingProjectDto; +import jnpf.model.dto.IndicatorStatisticsDto; +import jnpf.model.dto.LotteryProjectDto; +import jnpf.permission.OrganizeApi; +import jnpf.permission.RoleApi; +import jnpf.permission.UserApi; +import jnpf.permission.UserRelationApi; +import jnpf.permission.entity.OrganizeEntity; +import jnpf.permission.entity.RoleEntity; +import jnpf.permission.entity.UserEntity; +import jnpf.permission.entity.UserRelationEntity; +import jnpf.permission.model.authorize.AuthorizeConditionModel; +import jnpf.permission.service.OrganizeService; +import jnpf.permission.util.AuthorizeUtil; +import jnpf.service.*; +import jnpf.util.*; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.xwpf.usermodel.*; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.lang.reflect.Field; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; + +/** + * bidding_project_subscribe + * 版本: V3.5 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2024-06-11 + */ +@Service +@AllArgsConstructor +@Slf4j +public class BiddingProjectSubscribeServiceImpl extends ServiceImpl implements BiddingProjectSubscribeService { + private final GeneraterSwapUtil generaterSwapUtil; + private final UserProvider userProvider; + private final CustomAuthService customAuthService; + private final OrganizeApi organizeService; + private final OrganizeService organizeServiceTwo; + private final IBiddingProjectSubscribeChildService iBiddingProjectSubscribeChildService; + private final IBiddingProjectSubscribeStepService iBiddingProjectSubscribeStepService; + private final UserRelationApi userRelationService; + private final RoleApi roleService; + private final UserApi userService; + private final DictionaryDataApi dictionaryDataApi; + private final ILotteryProjectService iLotteryProjectService; + + @Override + public List getList(BiddingProjectSubscribePagination biddingProjectSubscribePagination) { + return getTypeList(biddingProjectSubscribePagination, biddingProjectSubscribePagination.getDataType()); + } + + /** + * 列表查询 + */ + @Override + public List getTypeList(BiddingProjectSubscribePagination biddingProjectSubscribePagination, String dataType) { + String userId = userProvider.get().getUserId(); + List AllIdList = new ArrayList(); + List> intersectionList = new ArrayList<>(); + int total = 0; + int bidding_project_subscribeNum = 0; + QueryWrapper bidding_project_subscribeQueryWrapper = new QueryWrapper<>(); + List allSuperIDlist = new ArrayList<>(); + String superOp = ""; + if (ObjectUtil.isNotEmpty(biddingProjectSubscribePagination.getSuperQueryJson())) { + SuperQueryJsonModel superQueryJsonModel = JsonUtil.getJsonToBean(biddingProjectSubscribePagination.getSuperQueryJson(), SuperQueryJsonModel.class); + String matchLogic = ""; + List superQueryList = new ArrayList<>(); + for (ConditionJsonModel conditionjson : superQueryList) { + Map map = JsonUtil.stringToMap(conditionjson.getAttr()); + Map configMap = JsonUtil.stringToMap(map.get("__config__").toString()); + String tableName = configMap.get("relationTable") != null ? String.valueOf(configMap.get("relationTable")) : String.valueOf(configMap.get("tableName")); + if (map.get("multiple") != null) { + if (Boolean.valueOf(String.valueOf(map.get("multiple"))) && ObjectUtil.isNull(conditionjson.getFieldValue())) { + conditionjson.setFieldValue("[]"); + } + } + conditionjson.setTableName(tableName); + } + List allSuperList = new ArrayList<>(); + List> intersectionSuperList = new ArrayList<>(); + + + int bidding_project_subscribeNum1 = 0; + QueryWrapper bidding_project_subscribeSuperWrapper = new QueryWrapper<>(); + bidding_project_subscribeNum1 = generaterSwapUtil.getCondition(new SuperQueryConditionModel(bidding_project_subscribeSuperWrapper, superQueryList, matchLogic, "bidding_project_subscribe") + , new BiddingProjectSubscribeEntity(), bidding_project_subscribeNum1); + if (bidding_project_subscribeNum1 > 0) { + List bidding_project_subscribeList = this.list(bidding_project_subscribeSuperWrapper).stream().map(BiddingProjectSubscribeEntity::getFlowtaskid).collect(Collectors.toList()); + allSuperList.addAll(bidding_project_subscribeList); + intersectionSuperList.add(bidding_project_subscribeList); + } + superOp = matchLogic; + //and or + if (matchLogic.equalsIgnoreCase("and")) { + allSuperIDlist = generaterSwapUtil.getIntersection(intersectionSuperList); + } else { + allSuperIDlist = allSuperList; + } + } + boolean pcPermission = true; + boolean appPermission = false; + boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc"); + String sqlSegment = ""; + if (isPc && pcPermission) { + if (!userProvider.get().getIsAdministrator()) { + Object bidding_project_subscribeObj = new QueryWrapper(); + if (StrUtil.equals(biddingProjectSubscribePagination.getQueryType(), "4")) { + bidding_project_subscribeObj = customAuthService.getCondition(new AuthorizeConditionModel(bidding_project_subscribeQueryWrapper, biddingProjectSubscribePagination.getMenuId(), "bidding_project_subscribe")); + } + if (ObjectUtil.isEmpty(bidding_project_subscribeObj)) { + return new ArrayList<>(); + } else { + bidding_project_subscribeQueryWrapper = (QueryWrapper) bidding_project_subscribeObj; + NormalSegmentList normal = bidding_project_subscribeQueryWrapper.getExpression().getNormal(); + sqlSegment = normal.getSqlSegment(); + if (normal.size() > 0) { + bidding_project_subscribeNum++; + } + } + } + } + if (!isPc && appPermission) { + if (!userProvider.get().getIsAdministrator()) { + Object bidding_project_subscribeObj = customAuthService.getCondition(new AuthorizeConditionModel(bidding_project_subscribeQueryWrapper, biddingProjectSubscribePagination.getMenuId(), "bidding_project_subscribe")); + if (ObjectUtil.isEmpty(bidding_project_subscribeObj)) { + return new ArrayList<>(); + } else { + bidding_project_subscribeQueryWrapper = (QueryWrapper) bidding_project_subscribeObj; + if (bidding_project_subscribeQueryWrapper.getExpression().getNormal().size() > 0) { + bidding_project_subscribeNum++; + } + } + + + } + } + + if (isPc) { +// if(ObjectUtil.isNotEmpty(biddingProjectSubscribePagination.getQueryType())){ +// bidding_project_subscribeNum++; +// +// bidding_project_subscribeQueryWrapper.lambda().eq(BiddingProjectSubscribeEntity::getQueryType,biddingProjectSubscribePagination.getQueryType()); +// +// } + + if (ObjectUtil.isNotEmpty(biddingProjectSubscribePagination.getArchiveNumber())) { + bidding_project_subscribeNum++; + + bidding_project_subscribeQueryWrapper.lambda().like(BiddingProjectSubscribeEntity::getArchiveNumber, biddingProjectSubscribePagination.getArchiveNumber()); + + } + + if (ObjectUtil.isNotEmpty(biddingProjectSubscribePagination.getManagementStyle())) { + bidding_project_subscribeNum++; + + bidding_project_subscribeQueryWrapper.lambda().eq(BiddingProjectSubscribeEntity::getManagementStyle, biddingProjectSubscribePagination.getManagementStyle()); + + } + + if (ObjectUtil.isNotEmpty(biddingProjectSubscribePagination.getArchiveNumber())) { + bidding_project_subscribeNum++; + + bidding_project_subscribeQueryWrapper.lambda().like(BiddingProjectSubscribeEntity::getArchiveNumber, biddingProjectSubscribePagination.getArchiveNumber()); + + } + + if (ObjectUtil.isNotEmpty(biddingProjectSubscribePagination.getProjectName())) { + bidding_project_subscribeNum++; + + bidding_project_subscribeQueryWrapper.lambda().like(BiddingProjectSubscribeEntity::getProjectName, biddingProjectSubscribePagination.getProjectName()); + + } + + if (ObjectUtil.isNotEmpty(biddingProjectSubscribePagination.getPlanSubmissionTime())) { + bidding_project_subscribeNum++; + + List PlanSubmissionTimeList = JsonUtil.getJsonToList(biddingProjectSubscribePagination.getPlanSubmissionTime(), String.class); + Long fir = Long.valueOf(String.valueOf(PlanSubmissionTimeList.get(0))); + Long sec = Long.valueOf(String.valueOf(PlanSubmissionTimeList.get(1))); + + bidding_project_subscribeQueryWrapper.lambda().ge(BiddingProjectSubscribeEntity::getPlanSubmissionTime, new Date(fir)) + .le(BiddingProjectSubscribeEntity::getPlanSubmissionTime, DateUtil.stringToDate(DateUtil.daFormatYmd(sec) + " 23:59:59")); + + + } + + if (ObjectUtil.isNotEmpty(biddingProjectSubscribePagination.getProjectName())) { + bidding_project_subscribeNum++; + + bidding_project_subscribeQueryWrapper.lambda().like(BiddingProjectSubscribeEntity::getProjectName, biddingProjectSubscribePagination.getProjectName()); + + } + + if (ObjectUtil.isNotEmpty(biddingProjectSubscribePagination.getApprovalTimeForResults())) { + bidding_project_subscribeNum++; + + List ApprovalTimeForResultsList = JsonUtil.getJsonToList(biddingProjectSubscribePagination.getApprovalTimeForResults(), String.class); + Long fir = Long.valueOf(String.valueOf(ApprovalTimeForResultsList.get(0))); + Long sec = Long.valueOf(String.valueOf(ApprovalTimeForResultsList.get(1))); + + bidding_project_subscribeQueryWrapper.lambda().ge(BiddingProjectSubscribeEntity::getApprovalTimeForResults, new Date(fir)) + .le(BiddingProjectSubscribeEntity::getApprovalTimeForResults, DateUtil.stringToDate(DateUtil.daFormatYmd(sec) + " 23:59:59")); + + + } + + if (ObjectUtil.isNotEmpty(biddingProjectSubscribePagination.getFinalApprovalTime())) { + bidding_project_subscribeNum++; + + List FinalApprovalTimeList = JsonUtil.getJsonToList(biddingProjectSubscribePagination.getFinalApprovalTime(), String.class); + Long fir = Long.valueOf(String.valueOf(FinalApprovalTimeList.get(0))); + Long sec = Long.valueOf(String.valueOf(FinalApprovalTimeList.get(1))); + + bidding_project_subscribeQueryWrapper.lambda().ge(BiddingProjectSubscribeEntity::getFinalApprovalTime, new Date(fir)) + .le(BiddingProjectSubscribeEntity::getFinalApprovalTime, DateUtil.stringToDate(DateUtil.daFormatYmd(sec) + " 23:59:59")); + + + } + + if (ObjectUtil.isNotEmpty(biddingProjectSubscribePagination.getTenderingEntity())) { + bidding_project_subscribeNum++; + + List idList = new ArrayList<>(); + try { + String[][] tenderingEntity = JsonUtil.getJsonToBean(biddingProjectSubscribePagination.getTenderingEntity(), String[][].class); + for (int i = 0; i < tenderingEntity.length; i++) { + if (tenderingEntity[i].length > 0) { + idList.add(JsonUtil.getObjectToString(Arrays.asList(tenderingEntity[i]))); + } + } + } catch (Exception e1) { + try { + List tenderingEntity = JsonUtil.getJsonToList(biddingProjectSubscribePagination.getTenderingEntity(), String.class); + if (tenderingEntity.size() > 0) { + idList.add(JsonUtil.getObjectToString(tenderingEntity)); + } + } catch (Exception e2) { + idList.add(String.valueOf(biddingProjectSubscribePagination.getTenderingEntity())); + } + } + bidding_project_subscribeQueryWrapper.lambda().and(t -> { + idList.forEach(tt -> { + t.like(BiddingProjectSubscribeEntity::getTenderingEntity, tt).or(); + }); + }); + + } + + } + //新建查询 + String querySql = bidding_project_subscribeQueryWrapper.getSqlSegment().replace("paramNameValuePairs.", ""); + switch (biddingProjectSubscribePagination.getQueryType()) { + //我的自建 + case "1": + //查询我的自建 + List childIdList = iBiddingProjectSubscribeChildService.lambdaQuery() + .select(BiddingProjectSubscribeChild::getMainId) + .eq(BiddingProjectSubscribeChild::getUserId, userId) + .and(query -> + query.eq(BiddingProjectSubscribeChild::getRootChildFlag, BiddingProjectEnum.RootFlagEnum.ROOT_FLAG.getCode()) + .or() + .eq(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.TO_BE_SUBMITTED.getCode()) + ) + + .list().stream().map(BiddingProjectSubscribeChild::getMainId).distinct().collect(Collectors.toList()); + if (CollectionUtil.isEmpty(childIdList)) return new ArrayList<>(); +// querySql = ""; + biddingProjectSubscribePagination.setChildIdList(childIdList); + break; + //查询待审核 + case "2": + List pendingReviewChildIdList = iBiddingProjectSubscribeChildService.lambdaQuery() + .select(BiddingProjectSubscribeChild::getMainId) + .eq(BiddingProjectSubscribeChild::getUserId, userId) + .eq(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.PENDING_REVIEW.getCode()) + .eq(BiddingProjectSubscribeChild::getRootChildFlag, BiddingProjectEnum.RootFlagEnum.NOT_ROOT_FLAG.getCode()) + .list().stream().map(BiddingProjectSubscribeChild::getMainId).distinct().collect(Collectors.toList()); + if (CollectionUtil.isEmpty(pendingReviewChildIdList)) return new ArrayList<>(); +// querySql = ""; + biddingProjectSubscribePagination.setChildIdList(pendingReviewChildIdList); + break; + case "3": + List alreadyReviewChildIdList = iBiddingProjectSubscribeChildService.lambdaQuery() + .select(BiddingProjectSubscribeChild::getMainId) + .eq(BiddingProjectSubscribeChild::getUserId, userId) + .in(BiddingProjectSubscribeChild::getChildStatus, Arrays.asList( + BiddingProjectEnum.ChildStatusEnum.RETURNED.getCode(), + BiddingProjectEnum.ChildStatusEnum.PASS.getCode(), + BiddingProjectEnum.ChildStatusEnum.TO_BE_ARCHIVED.getCode(), + BiddingProjectEnum.ChildStatusEnum.ARCHIVED.getCode() + )) + .eq(BiddingProjectSubscribeChild::getRootChildFlag, BiddingProjectEnum.RootFlagEnum.NOT_ROOT_FLAG.getCode()) + .list().stream().map(BiddingProjectSubscribeChild::getMainId).distinct().collect(Collectors.toList()); + if (CollectionUtil.isEmpty(alreadyReviewChildIdList)) return new ArrayList<>(); +// querySql = ""; +// //抛去待审核 +// List oldPendingReviewChildIdList = iBiddingProjectSubscribeChildService.lambdaQuery() +// .select(BiddingProjectSubscribeChild::getMainId) +// .eq(BiddingProjectSubscribeChild::getUserId, userId) +// .eq(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.PENDING_REVIEW.getCode()) +// .eq(BiddingProjectSubscribeChild::getRootChildFlag, BiddingProjectEnum.RootFlagEnum.NOT_ROOT_FLAG.getCode()) +// .list().stream().map(BiddingProjectSubscribeChild::getMainId).distinct().toList(); +// alreadyReviewChildIdList.removeIf(oldPendingReviewChildIdList::contains); + biddingProjectSubscribePagination.setChildIdList(alreadyReviewChildIdList); + break; + case "4": + //走默认权限 + break; + case "5": + List allReviewChildIdList = iBiddingProjectSubscribeChildService.lambdaQuery() + .select(BiddingProjectSubscribeChild::getMainId) + .eq(BiddingProjectSubscribeChild::getUserId, userId) + .in(BiddingProjectSubscribeChild::getChildStatus, Arrays.asList( + BiddingProjectEnum.ChildStatusEnum.RETURNED.getCode(), + BiddingProjectEnum.ChildStatusEnum.PASS.getCode(), + BiddingProjectEnum.ChildStatusEnum.PENDING_REVIEW.getCode(), + BiddingProjectEnum.ChildStatusEnum.ARCHIVED.getCode(), + BiddingProjectEnum.ChildStatusEnum.TO_BE_ARCHIVED.getCode() + )) + .eq(BiddingProjectSubscribeChild::getRootChildFlag, BiddingProjectEnum.RootFlagEnum.NOT_ROOT_FLAG.getCode()) + .list().stream().map(BiddingProjectSubscribeChild::getMainId).distinct().collect(Collectors.toList()); + if (CollectionUtil.isEmpty(allReviewChildIdList)) return new ArrayList<>(); +// querySql = ""; + biddingProjectSubscribePagination.setChildIdList(allReviewChildIdList); + break; + //待归档 + case "6": + List toBeArchivedChildIdList = iBiddingProjectSubscribeChildService.lambdaQuery() + .select(BiddingProjectSubscribeChild::getMainId) + .eq(BiddingProjectSubscribeChild::getUserId, userId) + .in(BiddingProjectSubscribeChild::getChildStatus, Collections.singletonList( + BiddingProjectEnum.ChildStatusEnum.TO_BE_ARCHIVED.getCode() + )) + .eq(BiddingProjectSubscribeChild::getRootChildFlag, BiddingProjectEnum.RootFlagEnum.NOT_ROOT_FLAG.getCode()) + .list().stream().map(BiddingProjectSubscribeChild::getMainId).distinct().collect(Collectors.toList()); + if (CollectionUtil.isEmpty(toBeArchivedChildIdList)) return new ArrayList<>(); +// querySql = ""; + biddingProjectSubscribePagination.setChildIdList(toBeArchivedChildIdList); + break; + //已归档 + case "7": + List archivedChildIdList = iBiddingProjectSubscribeChildService.lambdaQuery() + .select(BiddingProjectSubscribeChild::getMainId) + .eq(BiddingProjectSubscribeChild::getUserId, userId) + .in(BiddingProjectSubscribeChild::getChildStatus, Arrays.asList( + BiddingProjectEnum.ChildStatusEnum.ARCHIVED.getCode() + )) + .eq(BiddingProjectSubscribeChild::getRootChildFlag, BiddingProjectEnum.RootFlagEnum.NOT_ROOT_FLAG.getCode()) + .list().stream().map(BiddingProjectSubscribeChild::getMainId).distinct().collect(Collectors.toList()); + if (CollectionUtil.isEmpty(archivedChildIdList)) return new ArrayList<>(); +// querySql = ""; + biddingProjectSubscribePagination.setChildIdList(archivedChildIdList); + break; + + } + + IPage ipage = this.baseMapper.queryList(new Page<>(biddingProjectSubscribePagination.getCurrentPage(), biddingProjectSubscribePagination.getPageSize()), biddingProjectSubscribePagination, bidding_project_subscribeQueryWrapper.getParamNameValuePairs(), querySql); + for (BiddingProjectSubscribeEntity record : ipage.getRecords()) { + boolean edit = true; + if (StrUtil.equalsAny(biddingProjectSubscribePagination.getQueryType(), "3")) { + edit = false; + } + checkResult(record, edit); + } + if (Boolean.TRUE) { + return biddingProjectSubscribePagination.setData(ipage.getRecords(), ipage.getTotal()); + } + List intersection = generaterSwapUtil.getIntersection(intersectionList); + if (total > 0) { + if (intersection.size() == 0) { + intersection.add("jnpfNullList"); + } + bidding_project_subscribeQueryWrapper.lambda().in(BiddingProjectSubscribeEntity::getFlowtaskid, intersection); + } + //是否有高级查询 + if (StringUtil.isNotEmpty(superOp)) { + if (allSuperIDlist.size() == 0) { + allSuperIDlist.add("jnpfNullList"); + } + List finalAllSuperIDlist = allSuperIDlist; + bidding_project_subscribeQueryWrapper.lambda().and(t -> t.in(BiddingProjectSubscribeEntity::getFlowtaskid, finalAllSuperIDlist)); + } + + + //排序 + if (StringUtil.isEmpty(biddingProjectSubscribePagination.getSidx())) { + bidding_project_subscribeQueryWrapper.lambda().orderByDesc(BiddingProjectSubscribeEntity::getId); + } else { + try { + String sidx = biddingProjectSubscribePagination.getSidx(); + String[] strs = sidx.split("_name"); + BiddingProjectSubscribeEntity biddingProjectSubscribeEntity = new BiddingProjectSubscribeEntity(); + Field declaredField = biddingProjectSubscribeEntity.getClass().getDeclaredField(strs[0]); + declaredField.setAccessible(true); + String value = declaredField.getAnnotation(TableField.class).value(); + bidding_project_subscribeQueryWrapper = "asc".equals(biddingProjectSubscribePagination.getSort().toLowerCase()) ? bidding_project_subscribeQueryWrapper.orderByAsc(value) : bidding_project_subscribeQueryWrapper.orderByDesc(value); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } + } + + if ("0".equals(dataType)) { + if ((total > 0 && AllIdList.size() > 0) || total == 0) { + Page page = new Page<>(biddingProjectSubscribePagination.getCurrentPage(), biddingProjectSubscribePagination.getPageSize()); + IPage userIPage = this.page(page, bidding_project_subscribeQueryWrapper); + return biddingProjectSubscribePagination.setData(userIPage.getRecords(), userIPage.getTotal()); + } else { + List list = new ArrayList(); + return biddingProjectSubscribePagination.setData(list, list.size()); + } + } else { + return this.list(bidding_project_subscribeQueryWrapper); + } + } + + private String checkQueryType(String queryType, String querySql, BiddingProjectSubscribePagination biddingProjectSubscribePagination) { + UserInfo userInfo = userProvider.get(); + switch (queryType) { + //我的自建 + case "1": + //查询我的自建 + List childIdList = iBiddingProjectSubscribeChildService.lambdaQuery() + .select(BiddingProjectSubscribeChild::getChildId) + .eq(BiddingProjectSubscribeChild::getCreateUserId, userInfo.getUserId()) + .eq(BiddingProjectSubscribeChild::getRootChildId, BiddingProjectEnum.RootFlagEnum.ROOT_FLAG.getCode()) + .list().stream().map(BiddingProjectSubscribeChild::getChildId).distinct().collect(Collectors.toList()); + if (CollectionUtil.isEmpty(childIdList)) return ""; + biddingProjectSubscribePagination.setChildIdList(childIdList); + break; + //查询待审核 + case "2": + List pendingReviewChildIdList = iBiddingProjectSubscribeChildService.lambdaQuery() + .select(BiddingProjectSubscribeChild::getChildId) + .eq(BiddingProjectSubscribeChild::getUserId, userInfo.getUserId()) + .eq(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.PENDING_REVIEW.getCode()) + .eq(BiddingProjectSubscribeChild::getRootChildId, BiddingProjectEnum.RootFlagEnum.NOT_ROOT_FLAG.getCode()) + .list().stream().map(BiddingProjectSubscribeChild::getChildId).distinct().collect(Collectors.toList()); + if (CollectionUtil.isEmpty(pendingReviewChildIdList)) return ""; + biddingProjectSubscribePagination.setChildIdList(pendingReviewChildIdList); + break; + case "3": + List alreadyReviewChildIdList = iBiddingProjectSubscribeChildService.lambdaQuery() + .select(BiddingProjectSubscribeChild::getChildId) + .eq(BiddingProjectSubscribeChild::getUserId, userInfo.getUserId()) + .in(BiddingProjectSubscribeChild::getChildStatus, Arrays.asList( + BiddingProjectEnum.ChildStatusEnum.RETURNED.getCode(), + BiddingProjectEnum.ChildStatusEnum.PASS.getCode() + )) + .eq(BiddingProjectSubscribeChild::getRootChildId, BiddingProjectEnum.RootFlagEnum.NOT_ROOT_FLAG.getCode()) + .list().stream().map(BiddingProjectSubscribeChild::getChildId).distinct().collect(Collectors.toList()); + if (CollectionUtil.isEmpty(alreadyReviewChildIdList)) return ""; + biddingProjectSubscribePagination.setChildIdList(alreadyReviewChildIdList); + break; + case "4": + return querySql; + default: + return querySql; + } + return querySql; + } + + private void checkResult(BiddingProjectSubscribeEntity record, boolean edit) { + UserInfo userInfo = userProvider.get(); + + //赋予查卡看权限 + record.getButtonList().add(BiddingProjectEnum.Button.builder() + .buttonName(BiddingProjectEnum.ButtonEnum.CHECK.getName()) + .act(BiddingProjectEnum.ButtonEnum.CHECK.getCode()) + .build() + ); + //赋予所有文件下载权限 + record.getButtonList().add(BiddingProjectEnum.Button.builder() + .buttonName(BiddingProjectEnum.ButtonEnum.DOWNLOAD.getName()) + .act(BiddingProjectEnum.ButtonEnum.DOWNLOAD.getCode()) + .build() + ); + //校验项目是否终止 + if (StrUtil.equals(record.getMainStatus(), BiddingProjectEnum.MainStatusEnum.PROJECT_TERMINATION.getCode())) { + return; + } + //根子单添加终止按钮||编辑按钮 + Optional rootChild = record.getChildList().stream() + .filter(child -> child.getUserId().equals(userInfo.getUserId())) + .filter(child -> StrUtil.equals(child.getRootChildFlag(), BiddingProjectEnum.RootFlagEnum.ROOT_FLAG.getCode())) + .max(Comparator.comparing(BiddingProjectSubscribeChild::getCreateTime)); + if (rootChild.isPresent() && !StrUtil.equals(record.getMainStatus(), BiddingProjectEnum.MainStatusEnum.ARCHIVED.getCode())) { + record.getButtonList().add(BiddingProjectEnum.Button.builder() + .buttonName(BiddingProjectEnum.ButtonEnum.TERMINATION.getName()) + .act(BiddingProjectEnum.ButtonEnum.TERMINATION.getCode()) + .build() + ); + if (StrUtil.equals(record.getMainStatus(), BiddingProjectEnum.MainStatusEnum.TO_BE_SUBMITTED.getCode())) { + record.getButtonList().add(BiddingProjectEnum.Button.builder() + .buttonName(BiddingProjectEnum.ButtonEnum.EDIT.getName()) + .act(BiddingProjectEnum.ButtonEnum.EDIT.getCode()) + .build()); + } + } + //查询是否为自己的单子 + Optional biddingProjectSubscribeChildOp = record.getChildList().stream() + .filter(child -> child.getUserId().equals(userInfo.getUserId())) + .filter(child -> StrUtil.equals(child.getRootChildFlag(), BiddingProjectEnum.RootFlagEnum.NOT_ROOT_FLAG.getCode())) + .max(Comparator.comparing(BiddingProjectSubscribeChild::getCreateTime)); + if (!biddingProjectSubscribeChildOp.isPresent()) { + return; + } + BiddingProjectSubscribeChild biddingProjectSubscribeChild = biddingProjectSubscribeChildOp.get(); + //校验是否为主单 + if (StrUtil.equalsAny(biddingProjectSubscribeChild.getChildStatus(), + BiddingProjectEnum.ChildStatusEnum.TO_BE_EDIT.getCode(), + BiddingProjectEnum.ChildStatusEnum.TO_BE_SUBMITTED.getCode())) { + record.getButtonList().add(BiddingProjectEnum.Button.builder() + .buttonName(BiddingProjectEnum.ButtonEnum.EDIT.getName()) + .act(BiddingProjectEnum.ButtonEnum.EDIT.getCode()) + .build()); + return; + } + + //审核权限 + if (StrUtil.equalsAny(biddingProjectSubscribeChild.getChildStatus(), + BiddingProjectEnum.ChildStatusEnum.PENDING_REVIEW.getCode()) && edit) { + record.getButtonList().add(BiddingProjectEnum.Button.builder() + .buttonName(BiddingProjectEnum.ButtonEnum.AUDITING.getName()) + .act(BiddingProjectEnum.ButtonEnum.AUDITING.getCode()) + .build()); + return; + + } + + //归档权限 + if (StrUtil.equalsAny(biddingProjectSubscribeChild.getChildStatus(), + BiddingProjectEnum.ChildStatusEnum.TO_BE_ARCHIVED.getCode()) && edit) { + record.getButtonList().add(BiddingProjectEnum.Button.builder() + .buttonName(BiddingProjectEnum.ButtonEnum.ARCHIVIST.getName()) + .act(BiddingProjectEnum.ButtonEnum.ARCHIVIST.getCode()) + .build()); + return; + } + } + + @Override + public BiddingProjectSubscribeEntity getInfo(String id) { + if (Boolean.TRUE) { + BiddingProjectSubscribeEntity infoById = this.getBaseMapper().getInfoById(id); + checkResult(infoById, true); + return infoById; + } + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().and( + t -> t.eq(BiddingProjectSubscribeEntity::getId, id) + .or().eq(BiddingProjectSubscribeEntity::getFlowtaskid, id) + ); + return this.getOne(queryWrapper); + } + + @Override + public void create(BiddingProjectSubscribeEntity entity) { + this.save(entity); + } + + @Override + public boolean update(String id, BiddingProjectSubscribeEntity entity) { + return this.updateById(entity); + } + + @Override + public void delete(BiddingProjectSubscribeEntity entity) { + if (entity != null) { + this.removeById(entity.getId()); + iBiddingProjectSubscribeChildService.lambdaUpdate() + .eq(BiddingProjectSubscribeChild::getMainId, entity.getId()) + .remove(); + iBiddingProjectSubscribeStepService.lambdaUpdate() + .eq(BiddingProjectSubscribeStep::getRelationMainId, entity.getId()) + .remove(); + //抽签项目删除 + iLotteryProjectService.lambdaUpdate() + .set(LotteryProject::getDelFlag, "1") + .eq(LotteryProject::getRelationId, entity.getId()) + .update(); + } + } + + /** + * 验证表单唯一字段,正则,非空 i-0新增-1修改 + */ + @Override + public String checkForm(BiddingProjectSubscribeForm form, int i) { + boolean isUp = StringUtil.isNotEmpty(form.getId()) && !form.getId().equals("0"); + String id = ""; + String countRecover = ""; + if (isUp) { + id = this.getInfo(form.getId()).getFlowtaskid(); + } + //主表字段验证 + return countRecover; + } + + + @Override + public void temporaryStorage(UserEntity userEntity, BiddingProjectSubscribeEntity entity) { + + //校验根子单数据是否存在,存在则说明暂存过 + if (iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getMainId, entity.getId()) + .eq(BiddingProjectSubscribeChild::getRootChildFlag, BiddingProjectEnum.RootFlagEnum.ROOT_FLAG.getCode()) + .exists()) return; + //添加根子单数据 + OrganizeEntity organization = organizeService.getInfoById(userEntity.getOrganizeId()); + String fullName = organization.getFullName(); + //新增时增加根子单及数据 + BiddingProjectSubscribeChild rootChild = BiddingProjectSubscribeChild.builder() + .childId(UUID.randomUUID().toString().replace("-", "")) + .mainId(entity.getId().toString()) + .userDeptId(userEntity.getOrganizeId()) + .userDeptName(fullName) + .userId(userEntity.getId()) + .userName(userEntity.getRealName()) + .rootChildFlag(BiddingProjectEnum.RootFlagEnum.ROOT_FLAG.getCode()) + .createTime(LocalDateTime.now()) + .updateTime(LocalDateTime.now()) + .createUserName(userEntity.getRealName()) + .createUserId(userEntity.getId()) + .build(); + iBiddingProjectSubscribeChildService.saveOrUpdate(rootChild); + //添加步骤数据 + iBiddingProjectSubscribeStepService.saveOrUpdate(BiddingProjectSubscribeStep.builder() + .relationMainId(entity.getId().toString()) + .relationType(BiddingProjectEnum.StepRelationTypeEnum.BIDDING.getCode()) + .dealType(BiddingProjectEnum.StepTypeEnum.LAUNCH.getCode()) + .dealTypeName(BiddingProjectEnum.StepTypeEnum.LAUNCH.getDescribe()) + .relationChildId(rootChild.getChildId()) + .createOrganizationId(userEntity.getOrganizeId()) + .createOrganizationName(fullName) + .remake(fullName + userEntity.getRealName() + "发起流程") + .createUserId(userEntity.getId()) + .createUserName(userEntity.getRealName()) + .createTime(LocalDateTime.now()) + .build() + ); + this.lambdaUpdate() + .set(BiddingProjectSubscribeEntity::getMainStatus, BiddingProjectEnum.MainStatusEnum.TO_BE_SUBMITTED.getCode()) + .set(BiddingProjectSubscribeEntity::getMainStatusName, BiddingProjectEnum.MainStatusEnum.TO_BE_SUBMITTED.getDescribe()) + .eq(BiddingProjectSubscribeEntity::getId, entity.getId()) + .update(); + } + + @Override + public void updateFlow(UserEntity userEntity, BiddingProjectSubscribeEntity entity, Boolean add) { +// UserEntity leaderInfo = querySuperiorLeader(userEntity); + List userEntityList = querySuperiorLeader(userEntity); + //添加根子单数据 + OrganizeEntity organization = organizeService.getInfoById(userEntity.getOrganizeId()); + String hierarchy = checkOrganizationHierarchy(userEntity); + String fullName = organization.getFullName(); + //新增时增加根子单及数据 + if (add) { + + //校验根子单数据是否存在,存在则说明暂存过 + if (!iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getMainId, entity.getId()) + .eq(BiddingProjectSubscribeChild::getRootChildFlag, BiddingProjectEnum.RootFlagEnum.ROOT_FLAG.getCode()) + .exists()) { + + //不存在则新建 否则进行下面的流程 + BiddingProjectSubscribeChild rootChild = BiddingProjectSubscribeChild.builder() + .childId(UUID.randomUUID().toString().replace("-", "")) + .mainId(entity.getId().toString()) + .userDeptId(userEntity.getOrganizeId()) + .userDeptName(fullName) + .userId(userEntity.getId()) + .userName(userEntity.getRealName()) + .rootChildFlag(BiddingProjectEnum.RootFlagEnum.ROOT_FLAG.getCode()) + .createTime(LocalDateTime.now()) + .updateTime(LocalDateTime.now()) + .createUserName(userEntity.getRealName()) + .createUserId(userEntity.getId()) + .build(); + iBiddingProjectSubscribeChildService.saveOrUpdate(rootChild); + //添加步骤数据 + iBiddingProjectSubscribeStepService.saveOrUpdate(BiddingProjectSubscribeStep.builder() + .relationMainId(entity.getId().toString()) + .relationType(BiddingProjectEnum.StepRelationTypeEnum.BIDDING.getCode()) + .dealType(BiddingProjectEnum.StepTypeEnum.LAUNCH.getCode()) + .dealTypeName(BiddingProjectEnum.StepTypeEnum.LAUNCH.getDescribe()) + .relationChildId(rootChild.getChildId()) + .createOrganizationId(userEntity.getOrganizeId()) + .createOrganizationName(fullName) + .remake(fullName + userEntity.getRealName() + "发起流程") + .createUserId(userEntity.getId()) + .createUserName(userEntity.getRealName()) + .createTime(LocalDateTime.now()) + .build() + ); + } + } + + for (UserEntity leaderInfo : userEntityList) { + //添加子单数据即派单到上级领导 + BiddingProjectSubscribeChild build = BiddingProjectSubscribeChild.builder() + .childId(UUID.randomUUID().toString().replace("-", "")) + .mainId(entity.getId().toString()) + .userDeptId(leaderInfo.getOrganizeId()) + .userDeptName(organizeService.getInfoById(leaderInfo.getOrganizeId()).getFullName()) + .userId(leaderInfo.getId()) + .userName(leaderInfo.getRealName()) + .childStatus(BiddingProjectEnum.ChildStatusEnum.PENDING_REVIEW.getCode()) + .childStatusName(BiddingProjectEnum.ChildStatusEnum.PENDING_REVIEW.getDescribe()) + .rootChildFlag(BiddingProjectEnum.RootFlagEnum.NOT_ROOT_FLAG.getCode()) + .createTime(LocalDateTime.now()) + .updateTime(LocalDateTime.now()) + .createUserName(userEntity.getRealName()) + .createUserId(userEntity.getId()) + .build(); + iBiddingProjectSubscribeChildService.saveOrUpdate(build); + //添加步骤数据 + iBiddingProjectSubscribeStepService.saveOrUpdate(BiddingProjectSubscribeStep.builder() + .relationMainId(entity.getId().toString()) + .relationType(BiddingProjectEnum.StepRelationTypeEnum.BIDDING.getCode()) + .dealType(BiddingProjectEnum.StepTypeEnum.AUTOMATIC_DISPATCH.getCode()) + .dealTypeName(BiddingProjectEnum.StepTypeEnum.AUTOMATIC_DISPATCH.getDescribe()) + .relationChildId(build.getChildId()) + .remake("系统自动流转至" + leaderInfo.getRealName()) + .createOrganizationId(userEntity.getOrganizeId()) + .createOrganizationName(fullName) + .createUserId(userEntity.getId()) + .createUserName(userEntity.getRealName()) + .createTime(LocalDateTime.now()) + .build() + ); + } + + + BiddingProjectEnum.MainStatusEnum mainStatusEnum = null; + switch (hierarchy) { + case "1": + mainStatusEnum = BiddingProjectEnum.MainStatusEnum.PENDING_REVIEW_JT; + break; + case "2": + mainStatusEnum = BiddingProjectEnum.MainStatusEnum.PENDING_REVIEW_JT; + break; + case "3": + mainStatusEnum = BiddingProjectEnum.MainStatusEnum.PENDING_REVIEW; + break; + default: + mainStatusEnum = BiddingProjectEnum.MainStatusEnum.PENDING_REVIEW_XM; + break; + } + this.lambdaUpdate() + .set(BiddingProjectSubscribeEntity::getMainStatus, mainStatusEnum.getCode()) + .set(BiddingProjectSubscribeEntity::getMainStatusName, mainStatusEnum.getDescribe()) + .eq(BiddingProjectSubscribeEntity::getId, entity.getId()) + .update() + ; + + + } + + private String checkOrganizationHierarchy(UserEntity leaderInfo) { + OrganizeEntity parentOrganization = organizeService.getInfoById(leaderInfo.getOrganizeId()); + if (StrUtil.equals(parentOrganization.getCategory(), PermissionConst.DEPARTMENT)) { + parentOrganization = organizeService.getInfoById(parentOrganization.getParentId()); + } + return StrUtil.split(parentOrganization.getOrganizeIdTree(), ",").size() + ""; +// if (StrUtil.equals(parentOrganization.getParentId(), "-1")) { +// return "1"; +// } +// //二级提交 +// OrganizeEntity er = organizeService.getInfoById(parentOrganization.getParentId()); +// if (StrUtil.equals(er.getParentId(), "-1")) { +// return "2"; +// } +// return "3"; + } + + private List querySuperiorLeader(UserEntity userEntity) { + //查询上级组织 + OrganizeEntity currentOrganization = organizeService.getInfoById(userEntity.getOrganizeId()); + //校验是否为公司 + if (StrUtil.equals(currentOrganization.getCategory(), PermissionConst.DEPARTMENT)) { + currentOrganization = organizeService.getInfoById(currentOrganization.getParentId()); + } + OrganizeEntity parentOrganization = null; + if (StrUtil.equals(currentOrganization.getParentId(), "-1")) { + parentOrganization = organizeService.getInfoById(currentOrganization.getId()); + } else { + parentOrganization = organizeService.getInfoById(currentOrganization.getParentId()); + } + //查询公司下的部门 +// List underOrganizations = organizeService.getUnderOrganizations(parentOrganization.getId()); + List underOrganizations = organizeServiceTwo.lambdaQuery() + .eq(OrganizeEntity::getParentId, parentOrganization.getId()) + .list() + .stream().map(OrganizeEntity::getId) + .collect(Collectors.toList()); +// List underOrganizations = this.getBaseMapper().getUnderOrganizations(parentOrganization.getId()); + + underOrganizations.add(parentOrganization.getId()); + //查询组织下角色为审批角色的领导 + List userIdList = userRelationService.getListByObjectIdAll(underOrganizations) + .stream() + .filter(userRelationEntity -> userRelationEntity.getObjectType().equals(PermissionConst.ORGANIZE)) + .map(UserRelationEntity::getUserId).collect(Collectors.toList()); + if (CollectionUtil.isEmpty(userIdList)) { + throw new DataException("上级组织下无人员"); + } + //查询审核员角色 + Optional shyRole = roleService.getListAll() + .stream() + .filter(roleEntity -> "shy".equals(roleEntity.getEnCode())) + .findFirst(); + if (!shyRole.isPresent()) { + throw new DataException("数据错误,请联系管理员[1]"); + } + List list = userRelationService.getListByUserIdAll(userIdList) + .stream() + .filter(userRelationEntity -> userRelationEntity.getObjectType().equals(PermissionConst.ROLE)) + .filter(userRelationEntity -> shyRole.get().getId().equals(userRelationEntity.getObjectId())) + .map(UserRelationEntity::getUserId).collect(Collectors.toList()); + if (CollectionUtil.isEmpty(list)) { + throw new DataException("该人员上级无领导"); + } + List userEntityList = new ArrayList<>(); + for (String userId : list) { + userEntityList.add(userService.getInfoById(userId)); + } + //查询领导详情 + return userEntityList; + } + + @Override + @Transactional + public void auditing(BiddingProjectDto.AuditingParam param) { + if (StrUtil.isBlank(param.getAct())) { + throw new DataException("参数错误[1]"); + } + if (null == param.getId()) { + throw new DataException("参数错误[2]"); + } + BiddingProjectSubscribeEntity biddingProjectSubscribeEntity = this.getById(Integer.valueOf(param.getId())); + if (null == biddingProjectSubscribeEntity) { + throw new DataException("参数错误[3]"); + } + //校验是否具有待提交状态,有的话不能审核 + if (iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getMainId, param.getId()) + .eq(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.TO_BE_SUBMITTED.getCode()) + .exists()) { + throw new DataException("存在未提交的子项,不能审核"); + } + + + switch (param.getAct()) { + //同意 + case "1": + agree(param, biddingProjectSubscribeEntity); + break; + //不同意 + case "2": + disAgree(param, biddingProjectSubscribeEntity); + + break; + default: + throw new DataException("参数错误[4]"); + + } + } + + private void disAgree(BiddingProjectDto.AuditingParam param, BiddingProjectSubscribeEntity biddingProjectSubscribeEntity) { + //校验当前人为第几级组织 + UserInfo userInfo = userProvider.get(); + OrganizeEntity organizeEntity = organizeService.getInfoById(userInfo.getOrganizeId()); + //查询根子单 + Optional rootChild = iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getMainId, biddingProjectSubscribeEntity.getId()) + .eq(BiddingProjectSubscribeChild::getRootChildFlag, "1") + .list().stream().findFirst(); + if (!rootChild.isPresent()) throw new DataException("数据错误"); + Optional selfChildOp = iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getMainId, biddingProjectSubscribeEntity.getId()) + .eq(BiddingProjectSubscribeChild::getRootChildFlag, "0") + .eq(BiddingProjectSubscribeChild::getUserId, userInfo.getUserId()) + .list().stream().max(Comparator.comparing(BiddingProjectSubscribeChild::getCreateTime)); + if (!selfChildOp.isPresent()) { + throw new DataException("数据错误[3]"); + } + BiddingProjectSubscribeChild selfChild = selfChildOp.get(); + BiddingProjectSubscribeChild biddingProjectSubscribeChild = rootChild.get(); + String hierarchy = checkOrganizationHierarchy(userService.getInfoById(userInfo.getUserId())); + BiddingProjectSubscribeChild build = null; + //一级且为提交招标结果 + if (StrUtil.equals(hierarchy, "1") && biddingProjectSubscribeEntity.getIsApproval()) { + //退还给二级 + //首先查询二级 + List list = iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getMainId, biddingProjectSubscribeEntity.getId()) + .eq(BiddingProjectSubscribeChild::getRootChildFlag, "0") + .ne(BiddingProjectSubscribeChild::getUserId, userInfo.getUserId()) + .orderByDesc(BiddingProjectSubscribeChild::getCreateTime) + .list(); + + for (BiddingProjectSubscribeChild projectSubscribeChild : list) { + if (StrUtil.equals(checkOrganizationHierarchy(userService.getInfoById(projectSubscribeChild.getUserId())), "2")) { + build = projectSubscribeChild; + //二级 + break; + } + } + + } + + if (null == build) { + //审批类型审核不通过 添加创建用户的修改子单, 用于查询 + build = BiddingProjectSubscribeChild.builder() + .childStatus(BiddingProjectEnum.ChildStatusEnum.TO_BE_EDIT.getCode()) + .childId(UUID.randomUUID().toString().replace("-", "")) + .childStatusName(BiddingProjectEnum.ChildStatusEnum.TO_BE_EDIT.getDescribe()) + .remake(param.getRemake()) + .mainId(biddingProjectSubscribeEntity.getId().toString()) + .rootChildFlag(BiddingProjectEnum.RootFlagEnum.NOT_ROOT_FLAG.getCode()) + .userName(biddingProjectSubscribeChild.getCreateUserName()) + .userId(biddingProjectSubscribeChild.getCreateUserId()) + .userDeptId(biddingProjectSubscribeChild.getUserDeptId()) + .userDeptName(biddingProjectSubscribeChild.getUserDeptName()) + .createTime(LocalDateTime.now()) + .createUserName(userInfo.getUserName()) + .createUserId(userInfo.getUserId()) + .updateTime(LocalDateTime.now()) + .build(); + iBiddingProjectSubscribeChildService.saveOrUpdate(build); + //退还给二级 + } else { + iBiddingProjectSubscribeChildService.lambdaUpdate() + //提交人状态设为待提交 + .set(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.TO_BE_SUBMITTED.getCode()) + .set(BiddingProjectSubscribeChild::getChildStatusName, BiddingProjectEnum.ChildStatusEnum.TO_BE_SUBMITTED.getDescribe()) + .set(BiddingProjectSubscribeChild::getRemake, param.getRemake()) + .set(BiddingProjectSubscribeChild::getUpdateTime, LocalDateTime.now()) + .eq(BiddingProjectSubscribeChild::getChildId, build.getChildId()) + .update(); + } + //新增审核不通过的流程 + //审批领导状态改为已审批 + iBiddingProjectSubscribeChildService.lambdaUpdate() + //提交人状态设为待提交 + .set(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.RETURNED.getCode()) + .set(BiddingProjectSubscribeChild::getChildStatusName, BiddingProjectEnum.ChildStatusEnum.RETURNED.getDescribe()) + .set(BiddingProjectSubscribeChild::getRemake, param.getRemake()) + .set(BiddingProjectSubscribeChild::getUpdateTime, LocalDateTime.now()) + .eq(BiddingProjectSubscribeChild::getChildId, selfChild.getChildId()) + .update(); + //将其他待审批子单删除 + iBiddingProjectSubscribeChildService.lambdaUpdate() + //提交人状态设为待提交 + .eq(BiddingProjectSubscribeChild::getChildStatus, selfChild.getChildStatus()) + .eq(BiddingProjectSubscribeChild::getMainId, biddingProjectSubscribeEntity.getId()) + .ne(BiddingProjectSubscribeChild::getChildId, selfChild.getChildId()) + .remove(); + //修改主状态 + this.lambdaUpdate() + .set(BiddingProjectSubscribeEntity::getMainStatus, BiddingProjectEnum.MainStatusEnum.RETURNED.getCode()) + .set(BiddingProjectSubscribeEntity::getMainStatusName, BiddingProjectEnum.MainStatusEnum.RETURNED.getDescribe()) + .set(BiddingProjectSubscribeEntity::getMainStatusName, BiddingProjectEnum.MainStatusEnum.RETURNED.getDescribe()) + .eq(BiddingProjectSubscribeEntity::getId, biddingProjectSubscribeEntity.getId()) + .update(); + //添加步骤 + BiddingProjectSubscribeStep step = BiddingProjectSubscribeStep.builder() + .relationType(BiddingProjectEnum.StepRelationTypeEnum.BIDDING.getCode()) + .dealType(BiddingProjectEnum.StepTypeEnum.AUDITING_DISAGREE.getCode()) + .dealTypeName(BiddingProjectEnum.StepTypeEnum.AUDITING_DISAGREE.getDescribe()) + .relationMainId(biddingProjectSubscribeEntity.getId().toString()) + .createOrganizationName(organizeEntity.getFullName()) + .createOrganizationId(userInfo.getOrganizeId()) + .createUserName(userInfo.getUserName()) + .createTime(LocalDateTime.now()) + .createUserId(userInfo.getUserId()) + .remake(param.getRemake()) + .relationChildId(selfChild.getChildId()) + .build(); + iBiddingProjectSubscribeStepService.saveOrUpdate(step); + } + + @Override + public void updateFlowByUser(BiddingProjectSubscribeEntity biddingProjectSubscribeEntity) { + //提交人修改/提交招标结果流程 + UserInfo userInfo = userProvider.get(); + String hierarchy = checkOrganizationHierarchy(userService.getInfoById(userInfo.getUserId())); + OrganizeEntity organizeEntity = organizeService.getInfoById(userInfo.getOrganizeId()); + //查询根子单 + Optional rootChild = iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getMainId, biddingProjectSubscribeEntity.getId()) + .eq(BiddingProjectSubscribeChild::getRootChildFlag, "1") + .list().stream().findFirst(); + if (!rootChild.isPresent()) throw new DataException("数据错误"); + Optional selfChildOp = iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getMainId, biddingProjectSubscribeEntity.getId()) + .eq(BiddingProjectSubscribeChild::getRootChildFlag, "0") + .eq(BiddingProjectSubscribeChild::getUserId, userInfo.getUserId()) + .list().stream().max(Comparator.comparing(BiddingProjectSubscribeChild::getCreateTime)); + if (!selfChildOp.isPresent()) { + throw new DataException("数据错误[3]"); + } + BiddingProjectSubscribeChild selfChild = selfChildOp.get(); + //校验是否领导仅更新 + if (StrUtil.equals(rootChild.get().getCreateUserId(), userInfo.getUserId()) || + //二级待提交 + iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getMainId, biddingProjectSubscribeEntity.getId()) + .eq(BiddingProjectSubscribeChild::getRootChildFlag, "0") + .eq(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.TO_BE_SUBMITTED.getCode()) + .eq(BiddingProjectSubscribeChild::getUserId, userInfo.getUserId()).exists() + ) { + + iBiddingProjectSubscribeChildService.lambdaUpdate() + //提交人状态设为已提交 + .set(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.SUBMITTED.getCode()) + .set(BiddingProjectSubscribeChild::getChildStatusName, BiddingProjectEnum.ChildStatusEnum.SUBMITTED.getDescribe()) + .set(BiddingProjectSubscribeChild::getUpdateTime, LocalDateTime.now()) + .eq(BiddingProjectSubscribeChild::getChildId, selfChild.getChildId()) + .update(); + BiddingProjectEnum.MainStatusEnum mainStatusEnum = null; + switch (hierarchy) { + case "1": + mainStatusEnum = BiddingProjectEnum.MainStatusEnum.PENDING_REVIEW_JT; + break; + case "2": + mainStatusEnum = BiddingProjectEnum.MainStatusEnum.PENDING_REVIEW_JT; + break; + case "3": + mainStatusEnum = BiddingProjectEnum.MainStatusEnum.PENDING_REVIEW; + break; + default: + mainStatusEnum = BiddingProjectEnum.MainStatusEnum.PENDING_REVIEW_XM; + break; + } + //修改主状态 + this.lambdaUpdate() + .set(BiddingProjectSubscribeEntity::getMainStatus, mainStatusEnum.getCode()) + .set(BiddingProjectSubscribeEntity::getMainStatusName, mainStatusEnum.getDescribe()) + .set(BiddingProjectSubscribeEntity::getResultReportingTime, new Date()) + .eq(BiddingProjectSubscribeEntity::getId, biddingProjectSubscribeEntity.getId()) + .update(); + //添加步骤 + BiddingProjectSubscribeStep step = BiddingProjectSubscribeStep.builder() + .relationType(BiddingProjectEnum.StepRelationTypeEnum.BIDDING.getCode()) + .dealType(BiddingProjectEnum.StepTypeEnum.MATERIAL_MODIFICATION.getCode()) + .dealTypeName(BiddingProjectEnum.StepTypeEnum.MATERIAL_MODIFICATION.getDescribe()) + .relationMainId(biddingProjectSubscribeEntity.getId().toString()) + .createOrganizationName(organizeEntity.getFullName()) + .createOrganizationId(userInfo.getOrganizeId()) + .createUserName(userInfo.getUserName()) + .createTime(LocalDateTime.now()) + .createUserId(userInfo.getUserId()) + .relationChildId(selfChild.getChildId()) + .build(); + iBiddingProjectSubscribeStepService.saveOrUpdate(step); + //校验是否具有驳回的单子 有驳回直接修改那个子单状态为未审核即可 + Optional boHui = iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getMainId, biddingProjectSubscribeEntity.getId()) + .eq(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.RETURNED.getCode()) + .list().stream().max(Comparator.comparing(BiddingProjectSubscribeChild::getCreateTime)); + if (boHui.isPresent()) { + //提交给审批人 + iBiddingProjectSubscribeChildService.lambdaUpdate() + .set(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.PENDING_REVIEW.getCode()) + .set(BiddingProjectSubscribeChild::getChildStatusName, BiddingProjectEnum.ChildStatusEnum.PENDING_REVIEW.getDescribe()) + .set(BiddingProjectSubscribeChild::getUpdateTime, LocalDateTime.now()) + .eq(BiddingProjectSubscribeChild::getChildId, boHui.get().getChildId()) + .update(); + hierarchy = checkOrganizationHierarchy(userService.getInfoById(boHui.get().getUserId())); + switch (hierarchy) { + case "1": + mainStatusEnum = BiddingProjectEnum.MainStatusEnum.PENDING_REVIEW_JT; + break; + case "2": + mainStatusEnum = BiddingProjectEnum.MainStatusEnum.PENDING_REVIEW; + break; + case "3": + mainStatusEnum = BiddingProjectEnum.MainStatusEnum.PENDING_REVIEW_XM; + break; + default: + mainStatusEnum = BiddingProjectEnum.MainStatusEnum.PENDING_REVIEW_XM; + break; + } + this.lambdaUpdate() + .set(BiddingProjectSubscribeEntity::getMainStatus, mainStatusEnum.getCode()) + .set(BiddingProjectSubscribeEntity::getMainStatusName, mainStatusEnum.getDescribe()) + .eq(BiddingProjectSubscribeEntity::getId, biddingProjectSubscribeEntity.getId()) + .update(); + } else { + //提交给上级 + updateFlow(userService.getInfoById(userInfo.getUserId()), biddingProjectSubscribeEntity, false); + } + } + } + + private void agree(BiddingProjectDto.AuditingParam param, BiddingProjectSubscribeEntity biddingProjectSubscribeEntity) { + //校验当前人为第几级组织 + UserInfo userInfo = userProvider.get(); + String hierarchy = checkOrganizationHierarchy(userService.getInfoById(userInfo.getUserId())); + //校验流程类型 + String managementStyle = biddingProjectSubscribeEntity.getManagementStyle(); + OrganizeEntity organizeEntity = organizeService.getInfoById(userInfo.getOrganizeId()); + //查询根子单 + Optional rootChild = iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getMainId, biddingProjectSubscribeEntity.getId()) + .eq(BiddingProjectSubscribeChild::getRootChildFlag, "1") + .list().stream().findFirst(); + if (!rootChild.isPresent()) throw new DataException("数据错误"); + Optional selfChildOp = iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getMainId, biddingProjectSubscribeEntity.getId()) + .eq(BiddingProjectSubscribeChild::getRootChildFlag, "0") + .eq(BiddingProjectSubscribeChild::getUserId, userInfo.getUserId()) + .list().stream().max(Comparator.comparing(BiddingProjectSubscribeChild::getCreateTime)); + if (!selfChildOp.isPresent()) { + throw new DataException("数据错误[3]"); + } + BiddingProjectSubscribeChild biddingProjectSubscribeChild = rootChild.get(); + BiddingProjectSubscribeChild selfChild = selfChildOp.get(); + List decisionProcedure = JSON.parseArray(biddingProjectSubscribeEntity.getDecisionProcedure(), String.class); + if (biddingProjectSubscribeEntity.getIsApproval()) { + decisionProcedure = JSON.parseArray(biddingProjectSubscribeEntity.getFilingDecisionProcedure(), String.class); + } + switch (managementStyle) { + //流程为审批类型 + case "1": + //一级同意后 校验层级 + if (StrUtil.equals(hierarchy, "1")) { + spArchivist(param, biddingProjectSubscribeEntity, userInfo, organizeEntity, biddingProjectSubscribeChild, selfChild, false); + } else { + //不为一级 校验决策程序 是否含有集团 无集团直接归档或发起人提交结果 且为二级时 + if (!decisionProcedure.contains("1") && StrUtil.equals(hierarchy, "2")) { + spArchivist(param, biddingProjectSubscribeEntity, userInfo, organizeEntity, biddingProjectSubscribeChild, selfChild, true); + } else { +// archivist(param, biddingProjectSubscribeEntity, userInfo, organizeEntity, biddingProjectSubscribeChild, selfChild); + updateFlow(userService.getInfoById(userInfo.getUserId()), biddingProjectSubscribeEntity, false); + //审批领导状态改为已审批 + iBiddingProjectSubscribeChildService.lambdaUpdate() + .set(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.PASS.getCode()) + .set(BiddingProjectSubscribeChild::getChildStatusName, BiddingProjectEnum.ChildStatusEnum.PASS.getDescribe()) + .set(BiddingProjectSubscribeChild::getRemake, param.getRemake()) + .set(BiddingProjectSubscribeChild::getUpdateTime, LocalDateTime.now()) + .eq(BiddingProjectSubscribeChild::getChildId, selfChild.getChildId()) + .update(); + //将其他待审批子单删除 + iBiddingProjectSubscribeChildService.lambdaUpdate() + //提交人状态设为待提交 + .eq(BiddingProjectSubscribeChild::getChildStatus, selfChild.getChildStatus()) + .eq(BiddingProjectSubscribeChild::getMainId, biddingProjectSubscribeEntity.getId()) + .ne(BiddingProjectSubscribeChild::getChildId, selfChild.getChildId()) + .remove(); + } + } + break; + default: + //备案流程 一级直接归档 + if (StrUtil.equals(hierarchy, "1")) { + baArchivist(param, biddingProjectSubscribeEntity, userInfo, organizeEntity, selfChild, false); + } else { + if (!decisionProcedure.contains("1") && StrUtil.equals(hierarchy, "2")) { + baArchivist(param, biddingProjectSubscribeEntity, userInfo, organizeEntity, selfChild, true); + } else { + //非一级直接流转到下一级 + updateFlow(userService.getInfoById(userInfo.getUserId()), biddingProjectSubscribeEntity, false); + //审批领导状态改为已审批 + iBiddingProjectSubscribeChildService.lambdaUpdate() + //提交人状态设为待提交 + .set(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.PASS.getCode()) + .set(BiddingProjectSubscribeChild::getChildStatusName, BiddingProjectEnum.ChildStatusEnum.PASS.getDescribe()) + .set(BiddingProjectSubscribeChild::getRemake, param.getRemake()) + .set(BiddingProjectSubscribeChild::getUpdateTime, LocalDateTime.now()) + .eq(BiddingProjectSubscribeChild::getChildId, selfChild.getChildId()) + .update(); + //将其他待审批子单删除 + iBiddingProjectSubscribeChildService.lambdaUpdate() + //提交人状态设为待提交 + .eq(BiddingProjectSubscribeChild::getChildStatus, selfChild.getChildStatus()) + .eq(BiddingProjectSubscribeChild::getMainId, biddingProjectSubscribeEntity.getId()) + .ne(BiddingProjectSubscribeChild::getChildId, selfChild.getChildId()) + .remove(); + } + } + + } + + } + + private void baArchivist(BiddingProjectDto.AuditingParam param, BiddingProjectSubscribeEntity biddingProjectSubscribeEntity, UserInfo userInfo, OrganizeEntity organizeEntity, BiddingProjectSubscribeChild selfChild, boolean querySuperior) { + + + //修改主状态 + this.lambdaUpdate() + .set(BiddingProjectSubscribeEntity::getMainStatus, BiddingProjectEnum.MainStatusEnum.ARCHIVIST.getCode()) + .set(BiddingProjectSubscribeEntity::getMainStatusName, BiddingProjectEnum.MainStatusEnum.ARCHIVIST.getDescribe()) + .set(BiddingProjectSubscribeEntity::getUpdateTime, LocalDateTime.now()) + .set(null != biddingProjectSubscribeEntity.getIsApproval() && biddingProjectSubscribeEntity.getIsApproval() && null == biddingProjectSubscribeEntity.getApprovalTimeForResults(), + BiddingProjectSubscribeEntity::getApprovalTimeForResults, new Date()) + .set(null == biddingProjectSubscribeEntity.getFinalApprovalTime(), BiddingProjectSubscribeEntity::getFinalApprovalTime, new Date()) + .eq(BiddingProjectSubscribeEntity::getId, biddingProjectSubscribeEntity.getId()) + .update(); + if (querySuperior) { + //审批领导状态改为已审批 + iBiddingProjectSubscribeChildService.lambdaUpdate() + //提交人状态设为待提交 + .set(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.PASS.getCode()) + .set(BiddingProjectSubscribeChild::getChildStatusName, BiddingProjectEnum.ChildStatusEnum.PASS.getDescribe()) + .set(BiddingProjectSubscribeChild::getRemake, param.getRemake()) + .set(BiddingProjectSubscribeChild::getUpdateTime, LocalDateTime.now()) + .eq(BiddingProjectSubscribeChild::getChildId, selfChild.getChildId()) + .update(); +// UserEntity leader = querySuperiorLeader(userService.getInfoById(userInfo.getUserId())); + List userEntityList = querySuperiorLeader(userService.getInfoById(userInfo.getUserId())); + + for (UserEntity leader : userEntityList) { + //领导的待归档 + BiddingProjectSubscribeChild build = BiddingProjectSubscribeChild.builder() + .childStatus(BiddingProjectEnum.ChildStatusEnum.TO_BE_ARCHIVED.getCode()) + .childStatusName(BiddingProjectEnum.ChildStatusEnum.TO_BE_ARCHIVED.getDescribe()) + .childId(UUID.randomUUID().toString().replace("-", "")) + .mainId(biddingProjectSubscribeEntity.getId().toString()) + .rootChildFlag(BiddingProjectEnum.RootFlagEnum.NOT_ROOT_FLAG.getCode()) + .userName(leader.getRealName()) + .userId(leader.getId()) + .userDeptId(leader.getOrganizeId()) + .userDeptName(organizeService.getInfoById(leader.getOrganizeId()).getFullName()) + .createTime(LocalDateTime.now()) + .createUserName(userInfo.getUserName()) + .createUserId(userInfo.getUserId()) + .updateTime(LocalDateTime.now()) + .build(); + iBiddingProjectSubscribeChildService.saveOrUpdate(build); + } + + + } else { + //审批领导状态改为已审批 + iBiddingProjectSubscribeChildService.lambdaUpdate() + //提交人状态设为待提交 + .set(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.TO_BE_ARCHIVED.getCode()) + .set(BiddingProjectSubscribeChild::getChildStatusName, BiddingProjectEnum.ChildStatusEnum.TO_BE_ARCHIVED.getDescribe()) + .set(BiddingProjectSubscribeChild::getRemake, param.getRemake()) + .set(BiddingProjectSubscribeChild::getUpdateTime, LocalDateTime.now()) + .eq(BiddingProjectSubscribeChild::getChildId, selfChild.getChildId()) + .update(); + } + //添加步骤 + BiddingProjectSubscribeStep step = BiddingProjectSubscribeStep.builder() + .relationType(BiddingProjectEnum.StepRelationTypeEnum.BIDDING.getCode()) + .dealType(BiddingProjectEnum.StepTypeEnum.AUDITING_DISAGREE.getCode()) + .dealTypeName(BiddingProjectEnum.StepTypeEnum.AUDITING_DISAGREE.getDescribe()) + .relationMainId(biddingProjectSubscribeEntity.getId().toString()) + .createOrganizationName(organizeEntity.getFullName()) + .createOrganizationId(userInfo.getOrganizeId()) + .createUserName(userInfo.getUserName()) + .createTime(LocalDateTime.now()) + .createUserId(userInfo.getUserId()) + .remake(param.getRemake()) + .relationChildId(selfChild.getChildId()) + .build(); + iBiddingProjectSubscribeStepService.saveOrUpdate(step); + } + + private void spArchivist(BiddingProjectDto.AuditingParam param, BiddingProjectSubscribeEntity biddingProjectSubscribeEntity, UserInfo userInfo, OrganizeEntity organizeEntity, BiddingProjectSubscribeChild biddingProjectSubscribeChild, BiddingProjectSubscribeChild selfChild, boolean querySuperior) { + //结果审批 + if (biddingProjectSubscribeEntity.getIsApproval()) { + //修改主状态 + this.lambdaUpdate() + .set(BiddingProjectSubscribeEntity::getMainStatus, BiddingProjectEnum.MainStatusEnum.ARCHIVIST.getCode()) + .set(BiddingProjectSubscribeEntity::getMainStatusName, BiddingProjectEnum.MainStatusEnum.ARCHIVIST.getDescribe()) + .set(BiddingProjectSubscribeEntity::getUpdateTime, LocalDateTime.now()) + .set(BiddingProjectSubscribeEntity::getApprovalTimeForResults, new Date()) + .set(null == biddingProjectSubscribeEntity.getFinalApprovalTime(), BiddingProjectSubscribeEntity::getFinalApprovalTime, new Date()) + .eq(BiddingProjectSubscribeEntity::getId, biddingProjectSubscribeEntity.getId()) + .update(); + if (querySuperior) { + //审批领导状态改为已审批 + iBiddingProjectSubscribeChildService.lambdaUpdate() + //提交人状态设为待提交 + .set(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.PASS.getCode()) + .set(BiddingProjectSubscribeChild::getChildStatusName, BiddingProjectEnum.ChildStatusEnum.PASS.getDescribe()) + .set(BiddingProjectSubscribeChild::getRemake, param.getRemake()) + .set(BiddingProjectSubscribeChild::getUpdateTime, LocalDateTime.now()) + .eq(BiddingProjectSubscribeChild::getChildId, selfChild.getChildId()) + .update(); + //将其他待审批子单删除 + iBiddingProjectSubscribeChildService.lambdaUpdate() + //提交人状态设为待提交 + .eq(BiddingProjectSubscribeChild::getChildStatus, selfChild.getChildStatus()) + .eq(BiddingProjectSubscribeChild::getMainId, biddingProjectSubscribeEntity.getId()) + .ne(BiddingProjectSubscribeChild::getChildId, selfChild.getChildId()) + .remove(); +// UserEntity leader = getFirstLeader(userService.getInfoById(userInfo.getUserId())); + List userEntityList = getFirstLeader(userService.getInfoById(userInfo.getUserId())); + for (UserEntity leader : userEntityList) { + //领导的待归档 + BiddingProjectSubscribeChild build = BiddingProjectSubscribeChild.builder() + .childStatus(BiddingProjectEnum.ChildStatusEnum.TO_BE_ARCHIVED.getCode()) + .childStatusName(BiddingProjectEnum.ChildStatusEnum.TO_BE_ARCHIVED.getDescribe()) + .childId(UUID.randomUUID().toString().replace("-", "")) + .mainId(biddingProjectSubscribeEntity.getId().toString()) + .rootChildFlag(BiddingProjectEnum.RootFlagEnum.NOT_ROOT_FLAG.getCode()) + .userName(leader.getRealName()) + .userId(leader.getId()) + .userDeptId(leader.getOrganizeId()) + .userDeptName(organizeService.getInfoById(leader.getOrganizeId()).getFullName()) + .createTime(LocalDateTime.now()) + .createUserName(userInfo.getUserName()) + .createUserId(userInfo.getUserId()) + .updateTime(LocalDateTime.now()) + .build(); + iBiddingProjectSubscribeChildService.saveOrUpdate(build); + } + + + } else { + //审批领导状态改为已审批 + iBiddingProjectSubscribeChildService.lambdaUpdate() + //提交人状态设为待提交 + .set(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.TO_BE_ARCHIVED.getCode()) + .set(BiddingProjectSubscribeChild::getChildStatusName, BiddingProjectEnum.ChildStatusEnum.TO_BE_ARCHIVED.getDescribe()) + .set(BiddingProjectSubscribeChild::getRemake, param.getRemake()) + .set(BiddingProjectSubscribeChild::getUpdateTime, LocalDateTime.now()) + .eq(BiddingProjectSubscribeChild::getChildId, selfChild.getChildId()) + .update(); + //将其他待审批子单删除 + iBiddingProjectSubscribeChildService.lambdaUpdate() + //提交人状态设为待提交 + .eq(BiddingProjectSubscribeChild::getChildStatus, selfChild.getChildStatus()) + .eq(BiddingProjectSubscribeChild::getMainId, biddingProjectSubscribeEntity.getId()) + .ne(BiddingProjectSubscribeChild::getChildId, selfChild.getChildId()) + .remove(); + } + } else { + //审批类型审核通过去上传招标结果,添加子单到提交人 用于查询 + BiddingProjectSubscribeChild build = BiddingProjectSubscribeChild.builder() + .childStatus(BiddingProjectEnum.ChildStatusEnum.TO_BE_SUBMITTED.getCode()) + .childStatusName(BiddingProjectEnum.ChildStatusEnum.TO_BE_SUBMITTED.getDescribe()) + .childId(UUID.randomUUID().toString().replace("-", "")) + .remake(param.getRemake()) + .mainId(biddingProjectSubscribeEntity.getId().toString()) + .rootChildFlag(BiddingProjectEnum.RootFlagEnum.NOT_ROOT_FLAG.getCode()) + .userName(biddingProjectSubscribeChild.getCreateUserName()) + .userId(biddingProjectSubscribeChild.getCreateUserId()) + .userDeptId(biddingProjectSubscribeChild.getUserDeptId()) + .userDeptName(biddingProjectSubscribeChild.getUserDeptName()) + .createTime(LocalDateTime.now()) + .createUserName(userInfo.getUserName()) + .createUserId(userInfo.getUserId()) + .updateTime(LocalDateTime.now()) + .build(); + iBiddingProjectSubscribeChildService.saveOrUpdate(build); + //修改主状态 + this.lambdaUpdate() + .set(BiddingProjectSubscribeEntity::getMainStatus, BiddingProjectEnum.MainStatusEnum.BE_SUBMITTED.getCode()) + .set(BiddingProjectSubscribeEntity::getMainStatusName, BiddingProjectEnum.MainStatusEnum.BE_SUBMITTED.getDescribe()) + .set(BiddingProjectSubscribeEntity::getUpdateTime, LocalDateTime.now()) + //审批 前端展示结果数据 + .set(BiddingProjectSubscribeEntity::getIsApproval, true) + .set(BiddingProjectSubscribeEntity::getFinalApprovalTime, new Date()) + .eq(BiddingProjectSubscribeEntity::getId, biddingProjectSubscribeEntity.getId()) + .update(); + //审批领导状态改为已审批 + iBiddingProjectSubscribeChildService.lambdaUpdate() + //提交人状态设为待提交 + .set(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.PASS.getCode()) + .set(BiddingProjectSubscribeChild::getChildStatusName, BiddingProjectEnum.ChildStatusEnum.PASS.getDescribe()) + .set(BiddingProjectSubscribeChild::getRemake, param.getRemake()) + .set(BiddingProjectSubscribeChild::getUpdateTime, LocalDateTime.now()) + .eq(BiddingProjectSubscribeChild::getChildId, selfChild.getChildId()) + .update(); + //将其他待审批子单删除 + iBiddingProjectSubscribeChildService.lambdaUpdate() + //提交人状态设为待提交 + .eq(BiddingProjectSubscribeChild::getChildStatus, selfChild.getChildStatus()) + .eq(BiddingProjectSubscribeChild::getMainId, biddingProjectSubscribeEntity.getId()) + .ne(BiddingProjectSubscribeChild::getChildId, selfChild.getChildId()) + .remove(); + //todo 审批通过添加到抽签表中 + //查询根子单 + Optional rootChild = iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getMainId, biddingProjectSubscribeEntity.getId()) + .eq(BiddingProjectSubscribeChild::getRootChildFlag, BiddingProjectEnum.RootFlagEnum.ROOT_FLAG.getCode()) + .list().stream().findFirst(); + if (rootChild.isPresent()) { + log.info("添加到抽签表ing..."); + LotteryProject lotteryProject = BeanUtil.copyProperties(rootChild.get(), LotteryProject.class); + lotteryProject.setCreateId(rootChild.get().getCreateUserId()); + lotteryProject.setCreateName(rootChild.get().getCreateUserName()); + lotteryProject.setCreateTime(LocalDateTime.now()); + lotteryProject.setUpdateId(rootChild.get().getCreateUserId()); + lotteryProject.setUpdateName(rootChild.get().getCreateUserName()); + lotteryProject.setUpdateTime(LocalDateTime.now()); + lotteryProject.setRelationId(biddingProjectSubscribeEntity.getId().toString()); + lotteryProject.setProjectNumber(biddingProjectSubscribeEntity.getProjectNumber()); + lotteryProject.setProjectName(biddingProjectSubscribeEntity.getProjectName()); + Date bidOpeningTime = biddingProjectSubscribeEntity.getBidOpeningTime(); + if (null != bidOpeningTime) { + String format = cn.hutool.core.date.DateUtil.format(bidOpeningTime, "yyyy-MM-dd HH:mm:ss"); + lotteryProject.setBidOpeningTime(LocalDate.parse(format)); + lotteryProject.setBidEvaluationTime(LocalDateTime.parse(format)); + } + lotteryProject.setStatus(LotteryProjectDto.StatusEnum.TO_BE_EXTRACTED.getCode()); + lotteryProject.setStatusName(LotteryProjectDto.StatusEnum.TO_BE_EXTRACTED.getDescribe()); + lotteryProject.setAgency(biddingProjectSubscribeEntity.getAgencyOne()); + lotteryProject.setType(LotteryProjectDto.TypeEnum.SYSTEM.getCode()); + lotteryProject.setLotteryType("1"); + iLotteryProjectService.save(lotteryProject); + lotteryProject.setId(null); + lotteryProject.setLotteryType("2"); + iLotteryProjectService.save(lotteryProject); + } + + } + + //添加步骤 + BiddingProjectSubscribeStep step = BiddingProjectSubscribeStep.builder() + .relationType(BiddingProjectEnum.StepRelationTypeEnum.BIDDING.getCode()) + .dealType(BiddingProjectEnum.StepTypeEnum.AUDITING_AGREE.getCode()) + .dealTypeName(BiddingProjectEnum.StepTypeEnum.AUDITING_AGREE.getDescribe()) + .relationMainId(biddingProjectSubscribeEntity.getId().toString()) + .createOrganizationName(organizeEntity.getFullName()) + .createOrganizationId(userInfo.getOrganizeId()) + .createUserName(userInfo.getUserName()) + .createTime(LocalDateTime.now()) + .createUserId(userInfo.getUserId()) + .remake(param.getRemake()) + .relationChildId(selfChild.getChildId()) + .build(); + iBiddingProjectSubscribeStepService.saveOrUpdate(step); + } + + private List getFirstLeader(UserEntity userEntity) { +// UserEntity leader = querySuperiorLeader(userEntity); + List userEntityList = querySuperiorLeader(userEntity); + UserEntity leaderInfo = userEntityList.stream().findFirst().get(); + if (!StrUtil.equals("1", checkOrganizationHierarchy(leaderInfo))) { + getFirstLeader(leaderInfo); + } + + return userEntityList; + + } + + @Override + public String obtainHierarchy() { + return checkOrganizationHierarchy(userService.getInfoById(userProvider.get().getUserId())); + } + + @Override + public void archivist(BiddingProjectDto.ArchivistParam param) { + + if (StrUtil.isBlank(param.getId())) { + throw new DataException("数据错误[archivist[1]]"); + } + UserInfo userInfo = userProvider.get(); + Optional selfChildOp = iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getMainId, param.getId()) + .eq(BiddingProjectSubscribeChild::getRootChildFlag, "0") + .eq(BiddingProjectSubscribeChild::getUserId, userInfo.getUserId()) + .list().stream().max(Comparator.comparing(BiddingProjectSubscribeChild::getCreateTime)); + if (!selfChildOp.isPresent()) { + throw new DataException("数据错误[archivist[2]]"); + } + BiddingProjectSubscribeChild selfChild = selfChildOp.get(); + //修改主状态 + this.lambdaUpdate() + .set(BiddingProjectSubscribeEntity::getMainStatus, BiddingProjectEnum.MainStatusEnum.ARCHIVED.getCode()) + .set(BiddingProjectSubscribeEntity::getMainStatusName, BiddingProjectEnum.MainStatusEnum.ARCHIVED.getDescribe()) + .set(BiddingProjectSubscribeEntity::getUpdateTime, LocalDateTime.now()) + .eq(BiddingProjectSubscribeEntity::getId, param.getId()) + .update(); + //审批领导状态改为归档 + iBiddingProjectSubscribeChildService.lambdaUpdate() + //提交人状态设为待提交 + .set(BiddingProjectSubscribeChild::getChildStatus, BiddingProjectEnum.ChildStatusEnum.ARCHIVED.getCode()) + .set(BiddingProjectSubscribeChild::getChildStatusName, BiddingProjectEnum.ChildStatusEnum.ARCHIVED.getDescribe()) + .set(BiddingProjectSubscribeChild::getUpdateTime, LocalDateTime.now()) + .eq(BiddingProjectSubscribeChild::getChildId, selfChild.getChildId()) + .update(); + //添加步骤 + BiddingProjectSubscribeStep step = BiddingProjectSubscribeStep.builder() + .relationType(BiddingProjectEnum.StepRelationTypeEnum.BIDDING.getCode()) + .dealType(BiddingProjectEnum.StepTypeEnum.ARCHIVIST.getCode()) + .dealTypeName(BiddingProjectEnum.StepTypeEnum.ARCHIVIST.getDescribe()) + .relationMainId(param.getId()) +// .createOrganizationName(organize.getFullName()) + .createOrganizationId(userInfo.getOrganizeId()) + .createUserName(userInfo.getUserName()) + .createTime(LocalDateTime.now()) + //将当前状态进行保存 + .createUserId(userInfo.getUserId()) + .build(); + iBiddingProjectSubscribeStepService.saveOrUpdate(step); + //抽签项目完成抽签 + iLotteryProjectService.lambdaUpdate() + .set(LotteryProject::getStatus, LotteryProjectDto.StatusEnum.ARCHIVIST.getCode()) + .eq(LotteryProject::getStatus, LotteryProjectDto.StatusEnum.TO_BE_EXTRACTED.getCode()) + .eq(LotteryProject::getRelationId, param.getId()) + .update(); + } + + @Override + public void termination(String id) { + if (StrUtil.isBlank(id)) { + throw new DataException("数据错误[termination[1]]"); + } + BiddingProjectSubscribeEntity info = this.getInfo(id); + if (null == info) { + throw new DataException("数据错误[termination[2]]"); + } + //修改主状态即可 + this.lambdaUpdate() + .set(BiddingProjectSubscribeEntity::getMainStatus, BiddingProjectEnum.MainStatusEnum.PROJECT_TERMINATION.getCode()) + .set(BiddingProjectSubscribeEntity::getMainStatusName, BiddingProjectEnum.MainStatusEnum.PROJECT_TERMINATION.getDescribe()) + .set(BiddingProjectSubscribeEntity::getUpdateTime, LocalDateTime.now()) + .eq(BiddingProjectSubscribeEntity::getId, id) + .update(); + //抽签项目中止 + iLotteryProjectService.lambdaUpdate() + .set(LotteryProject::getStatus, LotteryProjectDto.StatusEnum.SUSPENSION.getCode()) + .set(LotteryProject::getStatusName, LotteryProjectDto.StatusEnum.SUSPENSION.getDescribe()) + .set(LotteryProject::getStatusName, LotteryProjectDto.StatusEnum.SUSPENSION.getDescribe()) + .eq(LotteryProject::getRelationId, id) + .eq(LotteryProject::getType, LotteryProjectDto.TypeEnum.SYSTEM.getCode()) + .eq(LotteryProject::getDelFlag, "0") + .update(); + UserInfo userInfo = userProvider.get(); + OrganizeEntity organize = organizeService.getInfoById(userInfo.getOrganizeId()); + //添加步骤 + BiddingProjectSubscribeStep step = BiddingProjectSubscribeStep.builder() + .relationType(BiddingProjectEnum.StepRelationTypeEnum.BIDDING.getCode()) + .dealType(BiddingProjectEnum.StepTypeEnum.PROCESS_TERMINATION.getCode()) + .dealTypeName(BiddingProjectEnum.StepTypeEnum.PROCESS_TERMINATION.getDescribe()) + .relationMainId(id) + .createOrganizationName(organize.getFullName()) + .createOrganizationId(userInfo.getOrganizeId()) + .createUserName(userInfo.getUserName()) + .createTime(LocalDateTime.now()) + //将当前状态进行保存 + .remake(JSON.toJSONString(MapUtil.builder().put("mainStatus", info.getMainStatus()).put("mainStatusName", info.getMainStatusName()).build())) + .createUserId(userInfo.getUserId()) + .build(); + iBiddingProjectSubscribeStepService.saveOrUpdate(step); + } + + @Override + public List getAllFileInfo(String id) { + + if (StrUtil.isBlank(id)) { + throw new DataException("数据错误[getAllFileInfo[1]]"); + } + BiddingProjectSubscribeEntity info = this.getInfo(id); + if (null == info) { + throw new DataException("数据错误[getAllFileInfo[2]]"); + } + List list = new ArrayList<>(); + addFile(list, info.getAnnexProgrammeDocument()); + addFile(list, info.getBiddingDocumentId()); + addFile(list, info.getApprovalDocumentsId()); + addFile(list, info.getApprovalDocumentsIdTwo()); + addFile(list, info.getAttachmentObiddingResultsOneId()); + addFile(list, info.getAttachmentObiddingResultsTwoId()); + addFile(list, info.getFilingResultsOneId()); + addFile(list, info.getFilingResultsTwoId()); + addFile(list, info.getFilingResultsThreeId()); + addFile(list, info.getApprovalDocumentsIdJt()); + addFile(list, info.getResultReportedFileName()); + if (CollUtil.isEmpty(list)) { + throw new DataException("暂无文件"); + } + return list; + } + + + private void addFile(List list, String fileJson) { + if (StrUtil.isBlank(fileJson)) { + return; + } + List fileList = JSON.parseArray(fileJson, JSONObject.class); + if (CollUtil.isEmpty(fileList)) { + return; + } + for (JSONObject jsonObject : fileList) { + jsonObject.put("fileName", jsonObject.getString("name")); + } + list.addAll(fileList); + } + + + @Override + public MultipartFile download(String id, String type) { + if (StrUtil.isBlank(id) || StrUtil.isBlank(type)) { + throw new DataException("参数错误[id:" + id + ",type:" + type + "]"); + } + BiddingProjectSubscribeEntity entity = this.getInfo(id); + return download(id, type, entity); + } + + @Override + public MultipartFile download(String id, String type, BiddingProjectSubscribeEntity entity) { + if (StrUtil.isBlank(type)) { + throw new DataException("参数错误[type:" + type + "]"); + } + if (null == entity) { + if (StrUtil.isBlank(id)) { + throw new DataException("参数错误[id:" + id + "]"); + } + entity = this.getInfo(id); + } + if (null == entity) { + throw new DataException("参数错误[download:info:null]"); + } + switch (type) { + case "1": + return createFirstFile(entity); + case "2": + return createTwoFile(entity); + case "3": + return createTwoThree(entity); + default: + throw new DataException("参数错误[download:type]"); + + } + } + + @Override + public String obtainHierarchyOfCreate(String id) { + if (StrUtil.isBlank(id)) { + throw new DataException("参数错误[id:" + id + "]"); + } + Optional first = iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getRootChildFlag, BiddingProjectEnum.RootFlagEnum.ROOT_FLAG.getCode()) + .eq(BiddingProjectSubscribeChild::getMainId, id) + .list().stream().map(BiddingProjectSubscribeChild::getCreateUserId) + .findFirst(); + if (!first.isPresent()) { + throw new DataException("数据错误[暂无该数据]"); + } + return checkOrganizationHierarchy(userService.getInfoById(first.get())); + } + + private MultipartFile createTwoThree(BiddingProjectSubscribeEntity entity) { + InputStream inputStream = null; + try { + inputStream = ResourceUtil.getStream("jnpf/templete/结果核准表.docx"); + XWPFDocument document = new XWPFDocument(inputStream); + Map param = new HashMap<>(); + + param.put("{{reportingCorp}}", getOrganizationLastName(entity.getReportingCorp())); + param.put("{{tenderingEntity}}", getOrganizationLastName(entity.getTenderingEntity())); + param.put("{{projectName}}", entity.getProjectName()); + + for (XWPFTable table : document.getTables()) { + + List rows = table.getRows(); + for (int i = 0; i < rows.size(); i++) { + for (XWPFTableCell cell : rows.get(i).getTableCells()) { + replacePlaceholderTwo(cell, i + 1, param); + } + } + } + ByteArrayOutputStream out = new ByteArrayOutputStream(); + + document.write(out); + return new MockMultipartFile("结果核准表.docx", "结果核准表.docx", "text/plain", out.toByteArray()); + } catch (Exception e) { + log.error("error", e); + throw new DataException("系统错误[download(1)]"); + + } finally { + if (null != inputStream) { + try { + inputStream.close(); + } catch (IOException e) { + log.error("关闭文件流失败"); + } + } + } + } + + private MultipartFile createTwoFile(BiddingProjectSubscribeEntity entity) { + InputStream inputStream = null; + try { + inputStream = ResourceUtil.getStream("jnpf/templete/招标采购方案审批表.docx"); + XWPFDocument document = new XWPFDocument(inputStream); + Map param = new HashMap<>(); + + param.put("{{reportingCorp}}", getOrganizationLastName(entity.getReportingCorp())); + param.put("{{tenderingEntity}}", getOrganizationLastName(entity.getTenderingEntity())); + param.put("{{projectName}}", entity.getProjectName()); + String agency = ""; + DictionaryDataEntity info = dictionaryDataApi.getInfo(entity.getAgencyOne()); + if (null == info) { + agency = dictionaryDataApi.getList("dc6b2542d94b5434fc61ec1d59592901").stream() + .filter(dict -> dict.getEnCode().equals(entity.getAgencyOne())) + .findFirst().map(DictionaryDataEntity::getFullName).orElse("无"); + } else { + agency = info.getFullName(); + } + param.put("{{agency}}", agency); + List fileNameList = new ArrayList<>(); +// getFileNameListMethod(entity.getBiddingDocumentId(), fileNameList); + getFileNameListMethod(entity.getAnnexProgrammeDocument(), fileNameList); + String value = JSON.toJSONString(fileNameList); + param.put("{{fileList}}", value); + + for (XWPFTable table : document.getTables()) { + + List rows = table.getRows(); + for (int i = 0; i < rows.size(); i++) { + for (XWPFTableCell cell : rows.get(i).getTableCells()) { + replacePlaceholderTwo(cell, i + 1, param); + } + } + } + ByteArrayOutputStream out = new ByteArrayOutputStream(); + + document.write(out); + return new MockMultipartFile("招标采购方案审批表.docx", "招标采购方案审批表.docx", "text/plain", out.toByteArray()); + } catch (Exception e) { + log.error("error", e); + throw new DataException("系统错误[download(1)]"); + + } finally { + if (null != inputStream) { + try { + inputStream.close(); + } catch (IOException e) { + log.error("关闭文件流失败"); + } + } + } + } + + private void replacePlaceholderTwo(XWPFTableCell cell, int i, Map param) { + replaceStr(cell, param); + } + + private MultipartFile createFirstFile(BiddingProjectSubscribeEntity entity) { + + + InputStream inputStream = null; + try { + inputStream = ResourceUtil.getStream("jnpf/templete/联合集团项目备案表.docx"); + XWPFDocument document = new XWPFDocument(inputStream); + Map param = new HashMap<>(); + + param.put("{{reportingCorp}}", getOrganizationLastName(entity.getReportingCorp())); + param.put("{{tenderingEntity}}", getOrganizationLastName(entity.getTenderingEntity())); + param.put("{{projectName}}", entity.getProjectName()); + Date bidOpeningTime = entity.getBidOpeningTime(); + if (null != bidOpeningTime) { + entity.setExplanationObid(DateUtil.dateFormatByPattern(bidOpeningTime, "yyyyMMdd") + entity.getExplanationObid()); + } + param.put("{{explanationOfBid}}", entity.getExplanationObid()); + String zb = ""; + if (StrUtil.isNotBlank(entity.getWinningBidderType())) { + if (StrUtil.equals("1", entity.getWinningBidderType())) { + zb = StrUtil.format("中标人:{},中标金额:{}万元", entity.getWinningBidderInfo().get(0).getPeople(), entity.getWinningBidderInfo().get(0).getAmount()); + } else { + zb = "中标结果附后"; + } + } + param.put("{{resultReporting}}", zb); + String agency = ""; + DictionaryDataEntity info = dictionaryDataApi.getInfo(entity.getAgencyOne()); + if (null == info) { + agency = dictionaryDataApi.getList("dc6b2542d94b5434fc61ec1d59592901").stream() + .filter(dict -> dict.getEnCode().equals(entity.getAgencyOne())) + .findFirst().map(DictionaryDataEntity::getFullName).orElse("无"); + } else { + agency = info.getFullName(); + } + param.put("{{agency}}", agency); + List fileNameList = new ArrayList<>(); + buildFileNameStr(entity, fileNameList); + String value = JSON.toJSONString(fileNameList); + param.put("{{fileList}}", value); + param.put("itemClassification", entity.getItemClassification()); + param.put("organizationalForm", entity.getOrganizationalForm()); + param.put("biddingMethod", entity.getBiddingMethod()); + + for (XWPFTable table : document.getTables()) { + + List rows = table.getRows(); + for (int i = 0; i < rows.size(); i++) { + for (XWPFTableCell cell : rows.get(i).getTableCells()) { + replacePlaceholder(cell, i + 1, param); + } + } + } + ByteArrayOutputStream out = new ByteArrayOutputStream(); + + document.write(out); + return new MockMultipartFile("联合集团项目备案表.docx", "联合集团项目备案表.docx", "text/plain", out.toByteArray()); + } catch (Exception e) { + log.error("error", e); + throw new DataException("系统错误[download(1)]"); + + } finally { + if (null != inputStream) { + try { + inputStream.close(); + } catch (IOException e) { + log.error("关闭文件流失败"); + } + } + } + + } + + private String getOrganizationLastName(String str) { + return str; +// if (StrUtil.isBlank(str)) return ""; +// List strings = JSON.parseArray(str, String.class); +// if (CollectionUtil.isEmpty(strings)) return ""; +// return organizeService.getInfoById(strings.get(strings.size() - 1)).getFullName(); + } + + private void buildFileNameStr(BiddingProjectSubscribeEntity entity, List fileNameList) { + getFileNameListMethod(entity.getAnnexProgrammeDocument(), fileNameList); + getFileNameListMethod(entity.getBiddingDocumentId(), fileNameList); + getFileNameListMethod(entity.getResultReportedFileName(), fileNameList); + getFileNameListMethod(entity.getAttachmentObiddingResultsOneId(), fileNameList); + getFileNameListMethod(entity.getApprovalDocumentsId(), fileNameList); + getFileNameListMethod(entity.getApprovalDocumentsIdTwo(), fileNameList); + getFileNameListMethod(entity.getAttachmentObiddingResultsTwoId(), fileNameList); + getFileNameListMethod(entity.getFilingResultsOneId(), fileNameList); + getFileNameListMethod(entity.getFilingResultsTwoId(), fileNameList); + getFileNameListMethod(entity.getFilingResultsThreeId(), fileNameList); + getFileNameListMethod(entity.getApprovalDocumentsIdJt(), fileNameList); + } + + private void getFileNameListMethod(String annexProgrammeDocument, List fileNameList) { + List annexProgrammeDocumentList = JSON.parseArray(annexProgrammeDocument, JSONObject.class); + if (CollectionUtil.isNotEmpty(annexProgrammeDocumentList)) { + for (JSONObject jsonObject : annexProgrammeDocumentList) { + String name = jsonObject.getString("name"); + if (StrUtil.isNotBlank(name) && name.contains(".")) { + //去除后缀 + fileNameList.add(name.substring(0, name.lastIndexOf("."))); + } else { + fileNameList.add(name); + } + } + } + } + + private void replacePlaceholder(XWPFTableCell cell, Integer lineNumber, Map param) { + switch (lineNumber) { + case 1: + case 2: + case 4: + case 6: + case 8: + case 9: + case 10: + replaceStr(cell, param); + break; + case 3: + replaceOne(cell, param); + break; + case 5: + replaceTwo(cell, param); + break; + case 7: + replaceThree(cell, param); + break; + } + + } + + private void replaceThree(XWPFTableCell cell, Map param) { + Object itemClassification = param.get("biddingMethod"); + if (ObjectUtil.isEmpty(itemClassification)) return; + //查询招标类型 + List dicList = dictionaryDataApi.getDicList("539394095383057605"); + Optional first = dicList.stream().filter(dict -> dict.getEnCode().equals(itemClassification.toString())).findFirst(); + if (!first.isPresent()) return; + DictionaryDataEntity dictionaryDataEntity = first.get(); + boolean delete = false; + String text = cell.getText(); + if (dictionaryDataEntity.getFullName().contains(text.replace("□", ""))) { + text = text.replace("□", "☑"); + delete = true; + } + if (dictionaryDataEntity.getFullName().contains("询(比)价")) { + text = text.replace("□", "☑"); + delete = true; + } + // 获取单元格中的所有段落 + List paragraphs = cell.getParagraphs(); + if (delete) { + // 遍历并清除每个段落的内容 + for (XWPFParagraph paragraph : paragraphs) { + List runs = paragraph.getRuns(); + for (XWPFRun run : runs) { + run.setText("", 0); // 清除文本内容 + } + } + addTextWithNewline(cell, text); + setFontSize(cell, 11); + } + } + + private void replaceTwo(XWPFTableCell cell, Map param) { + Object itemClassification = param.get("organizationalForm"); + if (ObjectUtil.isEmpty(itemClassification)) return; + //查询招标类型 + List dicList = dictionaryDataApi.getDicList("539393647729185989"); + Optional first = dicList.stream().filter(dict -> dict.getEnCode().equals(itemClassification.toString())).findFirst(); + if (!first.isPresent()) return; + DictionaryDataEntity dictionaryDataEntity = first.get(); + boolean delete = false; + String text = cell.getText(); + if (dictionaryDataEntity.getFullName().contains(text.replace("□", ""))) { + text = text.replace("□", "☑"); + delete = true; + } + // 获取单元格中的所有段落 + List paragraphs = cell.getParagraphs(); + if (delete) { + // 遍历并清除每个段落的内容 + for (XWPFParagraph paragraph : paragraphs) { + List runs = paragraph.getRuns(); + for (XWPFRun run : runs) { + run.setText("", 0); // 清除文本内容 + } + } + addTextWithNewline(cell, text); + setFontSize(cell, 11); + } + } + + private void replaceOne(XWPFTableCell cell, Map param) { + Object itemClassification = param.get("itemClassification"); + if (ObjectUtil.isEmpty(itemClassification)) return; + //查询招标类型 + List dicList = dictionaryDataApi.getDicList("539390743437907141"); + Optional first = dicList.stream().filter(dict -> dict.getEnCode().equals(itemClassification.toString())).findFirst(); + if (!first.isPresent()) return; + DictionaryDataEntity dictionaryDataEntity = first.get(); + boolean delete = false; + String text = cell.getText(); + if (dictionaryDataEntity.getFullName().contains(text.replace("□", ""))) { + text = text.replace("□", "☑"); + delete = true; + } + // 获取单元格中的所有段落 + List paragraphs = cell.getParagraphs(); + if (delete) { + // 遍历并清除每个段落的内容 + for (XWPFParagraph paragraph : paragraphs) { + List runs = paragraph.getRuns(); + for (XWPFRun run : runs) { + run.setText("", 0); // 清除文本内容 + } + } + addTextWithNewline(cell, text); + setFontSize(cell, 11); + } + } + + private void replaceStr(XWPFTableCell cell, Map param) { + boolean delete = false; + String text = cell.getText(); + if (text.contains("{{fileList}}")) { + buildFileNameList(cell, param); + return; + } + // 获取单元格中的所有段落 + List paragraphs = cell.getParagraphs(); + for (String key : param.keySet()) { + if (text.contains(key)) { + Object o = param.get(key); + if (ObjectUtil.isEmpty(o)) { + delete = true; + text = text.replace(key, " "); + continue; + } + text = text.replace(key, o.toString()); + delete = true; + } + } + + if (delete) { + // 遍历并清除每个段落的内容 + for (XWPFParagraph paragraph : paragraphs) { + List runs = paragraph.getRuns(); + for (XWPFRun run : runs) { + run.setText("", 0); // 清除文本内容 + } + } + addTextWithNewline(cell, text); + setFontSize(cell, 11); +// cell.setText(text); + + } + } + + private void buildFileNameList(XWPFTableCell cell, Map param) { + Object o = param.get("{{fileList}}"); + if (ObjectUtil.isEmpty(o)) return; + List paragraphs = cell.getParagraphs(); + // 遍历并清除每个段落的内容 + for (XWPFParagraph paragraph2 : paragraphs) { + List runs = paragraph2.getRuns(); + for (XWPFRun run2 : runs) { + run2.setText("", 0); // 清除文本内容 + } + + } + XWPFParagraph paragraph = cell.addParagraph(); + XWPFRun run = paragraph.createRun(); + for (String fileName : JSON.parseArray(o.toString(), String.class)) { + run.setText(fileName); // 设置剩余文本 + run.addBreak(); // 添加换行符 + } + setFontSize(cell, 11); + +// cell.setText(text); + + } + + public void addTextWithNewline(XWPFTableCell cell, String text) { + // 如果单元格为空,则创建一个新的段落 + if (cell.getParagraphs().isEmpty()) { + XWPFParagraph paragraph = cell.addParagraph(); + XWPFRun run = paragraph.createRun(); + // 在需要的地方添加换行符 + int newlineIndex = text.indexOf("\n"); + if (newlineIndex != -1) { + run.setText(text.substring(0, newlineIndex)); // 设置剩余文本 + } else { + run.setText(text); + + } + while (newlineIndex != -1) { + run.addBreak(); // 添加换行符 + run.setText(text.substring(newlineIndex + 1)); // 设置剩余文本 + newlineIndex = text.indexOf("\n", newlineIndex + 1); // 查找下一个换行符的位置 + } + } else { + // 如果单元格已有段落,则可以选择在现有段落中添加文本或创建新段落 + // 此处示例为在第一个段落中添加文本 + XWPFParagraph paragraph = cell.getParagraphs().get(0); + XWPFRun run = paragraph.createRun(); // 或者可以遍历现有的runs来找到合适的位置插入文本和换行符 + // 同上,添加换行符 + int newlineIndex = text.indexOf("\n"); + if (newlineIndex != -1) { + run.setText(text.substring(0, newlineIndex)); // 设置剩余文本 + } else { + run.setText(text); + + } + while (newlineIndex != -1) { + run.addBreak(); + run.setText(text.substring(newlineIndex + 1)); + newlineIndex = text.indexOf("\n", newlineIndex + 1); + } + } + } + + + public void setFontSize(XWPFTableCell cell, int fontSizeInPoints) { + // 转换字体大小,因为 Apache POI 使用的是磅,而 Word 使用的是点 + int fontSizeInHalfPoints = (int) (fontSizeInPoints); // 1 pt = 2 half-points + + // 获取单元格中的所有段落 + for (XWPFParagraph paragraph : cell.getParagraphs()) { + // 创建或获取 XWPFRun 对象来设置字体大小 + for (XWPFRun run : paragraph.getRuns()) { + run.setFontSize(fontSizeInHalfPoints); // 设置字体大小,参数是半点单位 + run.setFontFamily("宋体"); + } + } + } + + @Override + public List getProjectsNumberByType(IndicatorStatisticsDto.ProjectsNumberParam param, Map paramNameValuePairs, String sql) { + return this.baseMapper.getProjectsNumberByType(param, paramNameValuePairs, sql); + } + + @Override + public List moneyAndProjectsNumber(IndicatorStatisticsDto.MoneyAndProjectsNumberParam param, Map paramNameValuePairs, String sql) { + return this.baseMapper.moneyAndProjectsNumber(param, paramNameValuePairs, sql); + } +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/impl/BiddingProjectSubscribeStepServiceImpl.java b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/BiddingProjectSubscribeStepServiceImpl.java new file mode 100644 index 0000000..9213dd6 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/BiddingProjectSubscribeStepServiceImpl.java @@ -0,0 +1,20 @@ +package jnpf.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jnpf.entity.BiddingProjectSubscribeStep; +import jnpf.mapper.BiddingProjectSubscribeStepMapper; +import jnpf.service.IBiddingProjectSubscribeStepService; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author admin + * @since 2024-06-11 + */ +@Service +public class BiddingProjectSubscribeStepServiceImpl extends ServiceImpl implements IBiddingProjectSubscribeStepService { + +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/impl/Bidding_project_statisticsServiceImpl.java b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/Bidding_project_statisticsServiceImpl.java new file mode 100644 index 0000000..e0b0967 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/Bidding_project_statisticsServiceImpl.java @@ -0,0 +1,297 @@ +package jnpf.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jnpf.base.DictionaryDataApi; +import jnpf.base.entity.DictionaryDataEntity; +import jnpf.entity.Bidding_project_statisticsEntity; +import jnpf.exception.DataException; +import jnpf.mapper.Bidding_project_statisticsMapper; +import jnpf.model.bidding_project_statistics.*; +import jnpf.model.dto.BiddingProjectDto; +import jnpf.permission.OrganizeApi; +import jnpf.permission.model.authorize.AuthorizeConditionModel; +import jnpf.permission.util.AuthorizeUtil; +import jnpf.service.BiddingProjectSubscribeService; +import jnpf.service.Bidding_project_statisticsService; +import jnpf.service.CustomAuthService; +import jnpf.util.*; +import lombok.AllArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Optional; + +/** + * bidding_project_statistics + * 版本: V3.5 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2024-06-13 + */ +@Service +@AllArgsConstructor +public class Bidding_project_statisticsServiceImpl extends ServiceImpl implements Bidding_project_statisticsService { +// @Autowired +// private GeneraterSwapUtil generaterSwapUtil; + private final DictionaryDataApi dictionaryDataApi; + private final UserProvider userProvider; + private final OrganizeApi organizeApi; + private final CustomAuthService customAuthService; + private final BiddingProjectSubscribeService biddingProjectSubscribeService; + + @Override + public List> getList(Bidding_project_statisticsPagination bidding_project_statisticsPagination) { + return getTypeList(bidding_project_statisticsPagination, bidding_project_statisticsPagination.getDataType()); + } + + /** + * 列表查询 + */ + @Override + public List> getTypeList(Bidding_project_statisticsPagination bidding_project_statisticsPagination, String dataType) { + String userId = userProvider.get().getUserId(); + List AllIdList = new ArrayList(); + List> intersectionList = new ArrayList<>(); + int total = 0; + int bidding_project_statisticsNum = 0; + QueryWrapper bidding_project_statisticsQueryWrapper = new QueryWrapper<>(); + boolean pcPermission = true; + boolean appPermission = false; + boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc"); + if (isPc) { + if (!userProvider.get().getIsAdministrator()) { + Object bidding_project_statisticsObj = customAuthService.getCondition(new AuthorizeConditionModel(bidding_project_statisticsQueryWrapper, bidding_project_statisticsPagination.getMenuId(), "bidding_project_subscribe")); + System.out.println("---------------" + JSON.toJSONString(bidding_project_statisticsObj)); + if (ObjectUtil.isEmpty(bidding_project_statisticsObj)) { + return new ArrayList<>(); + } else { + bidding_project_statisticsQueryWrapper = (QueryWrapper) bidding_project_statisticsObj; + if (bidding_project_statisticsQueryWrapper.getExpression().getNormal().size() > 0) { + bidding_project_statisticsNum++; + } + } + } + } + + + if (Boolean.TRUE) { + + switch (bidding_project_statisticsPagination.getQueryType()) { + case "1": + List bidding_project_statisticsEntities = this.baseMapper.queryList(bidding_project_statisticsPagination, bidding_project_statisticsQueryWrapper.getParamNameValuePairs(), bidding_project_statisticsQueryWrapper.getSqlSegment().replace("paramNameValuePairs.", "")); +// checkResult(bidding_project_statisticsEntities); + + return JsonUtil.getJsonToList(JSON.parseArray(JSON.toJSONString(bidding_project_statisticsEntities))); + case "2": + List dataList = dictionaryDataApi.getList("dc6b2542d94b5434fc61ec1d59592901"); + dataList.forEach(data -> data.setEnCode("'" + data.getEnCode() + "'")); + List> maps = this.baseMapper.queryListDl(bidding_project_statisticsPagination, bidding_project_statisticsQueryWrapper.getParamNameValuePairs(), bidding_project_statisticsQueryWrapper.getSqlSegment().replace("paramNameValuePairs.", ""), dataList); +// for (Map map : maps) { +// String reportingUnit = map.get("reportingUnit").toString(); +// if (StrUtil.isBlank(reportingUnit))continue; +// List strings = JSON.parseArray(reportingUnit, String.class); +//// List organizeName = organizeApi.getOrganizeName(strings); +// if (CollectionUtil.isEmpty(strings))continue; +// map.put("reportingUnit",organizeApi.getInfoById(strings.get(strings.size()-1)).getFullName()); +//// map.put("reportingUnit",StrUtil.join("/",organizeName.stream().map(OrganizeEntity::getFullName).toList())); +// } + return maps; + case "3": + bidding_project_statisticsEntities = this.baseMapper.queryListJe(bidding_project_statisticsPagination, bidding_project_statisticsQueryWrapper.getParamNameValuePairs(), bidding_project_statisticsQueryWrapper.getSqlSegment().replace("paramNameValuePairs.", "")); +// checkResult(bidding_project_statisticsEntities); + + return JsonUtil.getJsonToList(JSON.parseArray(JSON.toJSONString(bidding_project_statisticsEntities))); + } + } + +// if (!isPc && appPermission) { +// if (!userProvider.get().getIsAdministrator()) { +// Object bidding_project_statisticsObj = authorizeUtil.getCondition(new AuthorizeConditionModel(bidding_project_statisticsQueryWrapper, bidding_project_statisticsPagination.getMenuId(), "bidding_project_statistics")); +// if (ObjectUtil.isEmpty(bidding_project_statisticsObj)) { +// return new ArrayList<>(); +// } else { +// bidding_project_statisticsQueryWrapper = (QueryWrapper) bidding_project_statisticsObj; +// if (bidding_project_statisticsQueryWrapper.getExpression().getNormal().size() > 0) { +// bidding_project_statisticsNum++; +// } +// } +// +// +// } +// } + +// List intersection = generaterSwapUtil.getIntersection(intersectionList); +// if (total > 0) { +// if (intersection.size() == 0) { +// intersection.add("jnpfNullList"); +// } +// bidding_project_statisticsQueryWrapper.lambda().in(Bidding_project_statisticsEntity::getId, intersection); +// } +// //是否有高级查询 +// +// +// //排序 +// if (StringUtil.isEmpty(bidding_project_statisticsPagination.getSidx())) { +// bidding_project_statisticsQueryWrapper.lambda().orderByDesc(Bidding_project_statisticsEntity::getProjectsNums); +// } else { +// try { +// String sidx = bidding_project_statisticsPagination.getSidx(); +// String[] strs = sidx.split("_name"); +// Bidding_project_statisticsEntity bidding_project_statisticsEntity = new Bidding_project_statisticsEntity(); +// Field declaredField = bidding_project_statisticsEntity.getClass().getDeclaredField(strs[0]); +// declaredField.setAccessible(true); +// String value = declaredField.getAnnotation(TableField.class).value(); +// bidding_project_statisticsQueryWrapper = "asc".equals(bidding_project_statisticsPagination.getSort().toLowerCase()) ? bidding_project_statisticsQueryWrapper.orderByAsc(value) : bidding_project_statisticsQueryWrapper.orderByDesc(value); +// } catch (NoSuchFieldException e) { +// e.printStackTrace(); +// } +// } + return new ArrayList<>(); + +// if ("0".equals(dataType)) { +// if ((total > 0 && AllIdList.size() > 0) || total == 0) { +// Page page = new Page<>(bidding_project_statisticsPagination.getCurrentPage(), bidding_project_statisticsPagination.getPageSize()); +// IPage userIPage = this.page(page, bidding_project_statisticsQueryWrapper); +// return bidding_project_statisticsPagination.setData(userIPage.getRecords(), userIPage.getTotal()); +// } else { +// List list = new ArrayList(); +// return bidding_project_statisticsPagination.setData(list, list.size()); +// } +// } else { +// return this.list(bidding_project_statisticsQueryWrapper); +// } + } + + private void checkResult(List bidding_project_statisticsEntities) { + + for (Bidding_project_statisticsEntity bidding_project_statisticsEntity : bidding_project_statisticsEntities) { + String reportingUnit = bidding_project_statisticsEntity.getReportingUnit(); + if (StrUtil.isBlank(reportingUnit)) continue; + List strings = JSON.parseArray(reportingUnit, String.class); +// List organizeName = organizeApi.getOrganizeName(strings); + if (CollectionUtil.isEmpty(strings)) continue; + bidding_project_statisticsEntity.setReportingUnit(organizeApi.getInfoById(strings.get(strings.size() - 1)).getFullName()); +// bidding_project_statisticsEntity.setReportingUnit(StrUtil.join("/",organizeName.stream().map(OrganizeEntity::getFullName).toList())); + } + } + + @Override + public Bidding_project_statisticsEntity getInfo(String id) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(Bidding_project_statisticsEntity::getId, id); + return this.getOne(queryWrapper); + } + + @Override + public void create(Bidding_project_statisticsEntity entity) { + this.save(entity); + } + + @Override + public boolean update(String id, Bidding_project_statisticsEntity entity) { + return this.updateById(entity); + } + + @Override + public void delete(Bidding_project_statisticsEntity entity) { + if (entity != null) { + this.removeById(entity.getId()); + } + } + + /** + * 验证表单唯一字段,正则,非空 i-0新增-1修改 + */ + @Override + public String checkForm(Bidding_project_statisticsForm form, int i) { + boolean isUp = StringUtil.isNotEmpty(form.getId()) && !form.getId().equals("0"); + String id = ""; + String countRecover = ""; + if (isUp) { + id = form.getId(); + } + //主表字段验证 + return countRecover; + } + + + @Override + public List getProjectNameList(BiddingProjectDto.GetProjectNameList param) { + checkParam(param); + QueryWrapper bidding_project_statisticsQueryWrapper = new QueryWrapper<>(); + boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc"); + if (isPc) { + if (!userProvider.get().getIsAdministrator()) { + Object bidding_project_statisticsObj = customAuthService.getCondition(new AuthorizeConditionModel(bidding_project_statisticsQueryWrapper, param.getMenuId(), "bidding_project_subscribe")); + System.out.println("---------------" + JSON.toJSONString(bidding_project_statisticsObj)); + if (ObjectUtil.isEmpty(bidding_project_statisticsObj)) { + return new ArrayList<>(); + } else { + bidding_project_statisticsQueryWrapper = (QueryWrapper) bidding_project_statisticsObj; + } + } + } + String replace = bidding_project_statisticsQueryWrapper.getSqlSegment().replace("paramNameValuePairs.", ""); + param.setSql(replace); + //* 1-项目 * 2-代理 * 3-金额 + switch (param.getStatisticalType()) { + case "1": + case "3": + String projectTypeCode=getProjectTypeCode(param.getFieldName()); + param.setCode(projectTypeCode); + return this.baseMapper.getProjectNameList(bidding_project_statisticsQueryWrapper.getParamNameValuePairs(),param); + case "2": + List dataList = dictionaryDataApi.getList("dc6b2542d94b5434fc61ec1d59592901"); + Optional first = dataList.stream().filter(data -> data.getFullName().equals(param.getFieldName())).findFirst(); + if (!first.isPresent())return new ArrayList<>(); + param.setCode(first.get().getEnCode()); + return this.baseMapper.getProjectNameList(bidding_project_statisticsQueryWrapper.getParamNameValuePairs(),param); + default: + return new ArrayList<>(); + } + } + + private String getProjectTypeCode(String fieldName) { + switch (fieldName) { + case "engineering": + return "1"; + case "goods": + return "2"; + case "service": + return "3"; + case "rentOut": + return "4"; + case "agency1": + return "5"; + case "other": + return "6"; + default: + return ""; + } + } + + private void checkParam(BiddingProjectDto.GetProjectNameList param) { + if (StrUtil.isBlank(param.getProjectName())) { + throw new DataException("参数为空[项目名称]"); + } + if (StrUtil.isBlank(param.getStatisticalType())) { + throw new DataException("参数为空[统计类型]"); + } + if (StrUtil.isBlank(param.getFieldName())) { + throw new DataException("参数为空[字段名称]"); + } + + } + +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/impl/ContractServiceImpl.java b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/ContractServiceImpl.java new file mode 100644 index 0000000..df05b6e --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/ContractServiceImpl.java @@ -0,0 +1,84 @@ +package jnpf.service.impl; + +import jnpf.base.service.SuperServiceImpl; +import com.baomidou.dynamic.datasource.annotation.DSTransactional; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jnpf.base.Pagination; +import jnpf.base.UserInfo; +import jnpf.util.RandomUtil; +import jnpf.util.UserProvider; +import jnpf.entity.ContractEntity; +import jnpf.mapper.ContractMapper; +import jnpf.service.ContractService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +/** + * + * Contract + * 版本: V3.0.0 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2020-12-31 + */ +@Service +public class ContractServiceImpl extends SuperServiceImpl implements ContractService { + + @Autowired + private UserProvider userProvider; + + @Override + public List getlist(Pagination pagination){ + //通过UserProvider获取用户信息 + UserInfo UserProvider = userProvider.get(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (!StringUtils.isEmpty(pagination.getKeyword())) { + queryWrapper.lambda().and( + t -> t.like(ContractEntity::getContractName, pagination.getKeyword()) + .or().like(ContractEntity::getMytelePhone, pagination.getKeyword()) + ); + } + //排序 + if (StringUtils.isEmpty(pagination.getSidx())) { + } else { + queryWrapper = "asc".equals(pagination.getSort().toLowerCase()) ? queryWrapper.orderByAsc(pagination.getSidx()) : queryWrapper.orderByDesc(pagination.getSidx()); + } + Page page = new Page<>(pagination.getCurrentPage(), pagination.getPageSize()); + IPage userIPage = this.page(page, queryWrapper); + return pagination.setData(userIPage.getRecords(), page.getTotal()); + } + + @Override + public ContractEntity getInfo(String id){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(ContractEntity::getId, id); + return this.getOne(queryWrapper); + } + + @Override + @DSTransactional + public void create(ContractEntity entity){ + entity.setId(RandomUtil.uuId()); + this.save(entity); + } + + @Override + @Transactional + public void update(String id, ContractEntity entity){ + entity.setId(id); + this.updateById(entity); + } + + @Override + public void delete(ContractEntity entity) { + if (entity != null) { + this.removeById(entity.getId()); + } + } +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/impl/CustomAuthServiceImpl.java b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/CustomAuthServiceImpl.java new file mode 100644 index 0000000..01c2919 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/CustomAuthServiceImpl.java @@ -0,0 +1,222 @@ +package jnpf.service.impl; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import jnpf.base.UserInfo; +import jnpf.base.model.resource.ResourceModel; +import jnpf.constant.PermissionConst; +import jnpf.emnus.SearchMethodEnum; +import jnpf.permission.OrganizeAdminTratorApi; +import jnpf.permission.OrganizeApi; +import jnpf.permission.UserSettingApi; +import jnpf.permission.entity.OrganizeEntity; +import jnpf.permission.model.authorize.AuthorizeConditionEnum; +import jnpf.permission.model.authorize.AuthorizeConditionModel; +import jnpf.permission.model.authorize.AuthorizeVO; +import jnpf.permission.model.authorize.ConditionModel; +import jnpf.service.CustomAuthService; +import jnpf.util.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + + +@Service +public class CustomAuthServiceImpl implements CustomAuthService { + + @Autowired + public OrganizeApi organizeApi; + @Autowired + private UserProvider userProvider; + @Autowired + private OrganizeAdminTratorApi organizeAdminIsTratorApi; + @Autowired + private UserSettingApi userSettingApi; + @Autowired + private RedisUtil redisUtil; + @Autowired + private CacheKeyUtil cacheKeyUtil; + + public AuthorizeVO getAuthorize() { + return userSettingApi.getAuthorize(); + } + @Override + public QueryWrapper getCondition(AuthorizeConditionModel conditionModel) { + QueryWrapper queryWhere =(QueryWrapper) conditionModel.getObj(); + String moduleId = conditionModel.getModuleId(); + String tableName = conditionModel.getTableName(); + UserInfo userInfo = userProvider.get(); + AuthorizeVO model = this.getAuthorize(); + List resourceList = model.getResourceList().stream().filter(m -> m.getModuleId().equals(moduleId)).collect(Collectors.toList()); + if (resourceList.size() == 0) { + return null; + } + List resourceList1 = new ArrayList<>(); + //拼接计数 + int t = 1; + long count = resourceList.stream().filter(item -> "jnpf_alldata".equals(item.getEnCode())).count(); + if (count > 0) { + return queryWhere; + } + for (ResourceModel item : resourceList) { + if (item.getAllData() != null && item.getAllData() == 1) { + t = 0; + break; + } + List conditionModelList = JsonUtil.getJsonToList(item.getConditionJson(), ConditionModel.class); + for (int i = 0; i < conditionModelList.size(); i++) { + ConditionModel conditionItem = conditionModelList.get(i); + for (int k = 0; k < conditionItem.getGroups().size(); k++) { + ConditionModel.ConditionItemModel fieldItem = conditionItem.getGroups().get(k); + String itemTable = fieldItem.getBindTable(); + if (StringUtil.isNotEmpty(itemTable) && itemTable.equalsIgnoreCase(tableName)) { + resourceList1.add(item); + } + } + } + } + if (t == 1) { + if (resourceList1.size() > 0) { + queryWhere.and(tw -> { + for (ResourceModel item : resourceList1) { + List conditionModelList = JsonUtil.getJsonToList(item.getConditionJson(), ConditionModel.class); + for (int i = 0; i < conditionModelList.size(); i++) { + ConditionModel conditionItem = conditionModelList.get(i); + for (int k = 0; k < conditionItem.getGroups().size(); k++) { + ConditionModel.ConditionItemModel fieldItem = conditionItem.getGroups().get(k); + String itemField = fieldItem.getField(); + String itemValue = fieldItem.getValue(); + String itemMethod = fieldItem.getOp(); + Object value; + if (AuthorizeConditionEnum.USER.getCondition().equals(itemValue)) { //当前用户 + value = userInfo.getUserId(); + //任意文本 当前用户 当前组织 包含为模糊查询 + if (itemMethod.equals(SearchMethodEnum.Included.getMessage())) { + itemMethod = SearchMethodEnum.Like.getMessage(); + } + if (itemMethod.equals(SearchMethodEnum.NotIncluded.getMessage())) { + itemMethod = SearchMethodEnum.NotLike.getMessage(); + } + } else if (AuthorizeConditionEnum.ORGANIZE.getCondition().equals(itemValue)) { //当前组织 + String orgId = userInfo.getOrganizeId(); + if (StringUtil.isNotEmpty(userInfo.getDepartmentId())) { + orgId = userInfo.getDepartmentId(); + } + if (itemMethod.equals(SearchMethodEnum.Included.getMessage())) { + itemMethod = SearchMethodEnum.Like.getMessage(); + } + if (itemMethod.equals(SearchMethodEnum.NotIncluded.getMessage())) { + itemMethod = SearchMethodEnum.NotLike.getMessage(); + } + value = orgId; + } else if (AuthorizeConditionEnum.ORGANIZEANDUNDER.getCondition().equals(itemValue)) { //组织及子组织 + String orgId = userInfo.getOrganizeId(); + if (StringUtil.isNotEmpty(userInfo.getDepartmentId())) { + orgId = userInfo.getDepartmentId(); + } + List underOrganizations = organizeApi.getUnderOrganizations(orgId); + underOrganizations.add(orgId); + value = underOrganizations; + } else if (AuthorizeConditionEnum.USERANDUNDER.getCondition().equals(itemValue)) { //用户及用户下属 + List idsList = new ArrayList<>(); + if (userInfo.getSubordinateIds().size() > 0) { + idsList = userInfo.getSubordinateIds(); + } + idsList.add(userInfo.getUserId()); + value = idsList; + } else if ("@userAraSubordinatesAll".equals(itemValue)) { //用户及用户下属 + List idsList = new ArrayList<>(); + String organizeId = userInfo.getOrganizeId(); + OrganizeEntity organize = organizeApi.getInfoById(organizeId); + if (StrUtil.equals(organize.getCategory(), PermissionConst.DEPARTMENT)){ + organize = organizeApi.getInfoById(organize.getParentId()); + } + List underOrganizations = organizeApi.getUnderOrganizations(organize.getId()); + underOrganizations.add(organizeId); + value = underOrganizations; + } else {//任意文本 + value = itemValue; + if (itemMethod.equals(SearchMethodEnum.Included.getMessage())) { + itemMethod = SearchMethodEnum.Like.getMessage(); + } + if (itemMethod.equals(SearchMethodEnum.NotIncluded.getMessage())) { + itemMethod = SearchMethodEnum.NotLike.getMessage(); + } + } + if ("and".equalsIgnoreCase(conditionItem.getLogic())) { + if (itemMethod.equals(SearchMethodEnum.Equal.getSymbol())) { + tw.eq(itemField, value); + } else if (itemMethod.equals(SearchMethodEnum.NotEqual.getSymbol())) { + tw.ne(itemField, value); + } else if (itemMethod.equals(SearchMethodEnum.LessThan.getSymbol())) { + tw.lt(itemField, value); + } else if (itemMethod.equals(SearchMethodEnum.LessThanOrEqual.getSymbol())) { + tw.le(itemField, value); + } else if (itemMethod.equals(SearchMethodEnum.GreaterThan.getSymbol())) { + tw.gt(itemField, value); + } else if (itemMethod.equals(SearchMethodEnum.GreaterThanOrEqual.getSymbol())) { + tw.ge(itemField, value); + } else if (itemMethod.equals(SearchMethodEnum.Included.getSymbol())) { + tw.in(itemField, (List)value); + } else if (itemMethod.equals(SearchMethodEnum.NotIncluded.getSymbol())) { + tw.notIn(itemField, (List)value); + } else if (itemMethod.equals(SearchMethodEnum.Like.getSymbol())) { + tw.like(itemField, value); + } else if (itemMethod.equals(SearchMethodEnum.NotLike.getMessage())) { + tw.notLike(itemField, value); + } + } else { + if (itemMethod.equals(SearchMethodEnum.Equal.getMessage())) { + tw.or( + qw -> qw.eq(itemField, value) + ); + } else if (itemMethod.equals(SearchMethodEnum.NotEqual.getMessage())) { + tw.or( + qw -> qw.ne(itemField, value) + ); + } else if (itemMethod.equals(SearchMethodEnum.LessThan.getMessage())) { + tw.or( + qw -> qw.lt(itemField, value) + ); + } else if (itemMethod.equals(SearchMethodEnum.LessThanOrEqual.getMessage())) { + tw.or( + qw -> qw.le(itemField, value) + ); + } else if (itemMethod.equals(SearchMethodEnum.GreaterThan.getMessage())) { + tw.or( + qw -> qw.gt(itemField, value) + ); + } else if (itemMethod.equals(SearchMethodEnum.GreaterThanOrEqual.getMessage())) { + tw.or( + qw -> qw.ge(itemField, value) + ); + } else if (itemMethod.equals(SearchMethodEnum.Included.getMessage())) { + tw.or( + qw -> qw.in(itemField, (List)value) + ); + } else if (itemMethod.equals(SearchMethodEnum.NotIncluded.getMessage())) { + tw.or( + qw -> qw.notIn(itemField, (List)value) + ); + } else if (itemMethod.equals(SearchMethodEnum.Like.getMessage())) { + tw.or( + qw -> qw.like(itemField, value) + ); + } else if (itemMethod.equals(SearchMethodEnum.NotLike.getMessage())) { + tw.or( + qw -> qw.notLike(itemField, value) + ); + } + } + } + } + } + }); + } + } + return queryWhere; + } +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/impl/ExpertServiceImpl.java b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/ExpertServiceImpl.java new file mode 100644 index 0000000..87ed1e9 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/ExpertServiceImpl.java @@ -0,0 +1,326 @@ +package jnpf.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.date.LocalDateTimeUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; +import com.alibaba.fastjson.parser.Feature; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jnpf.base.DictionaryDataApi; +import jnpf.base.UserInfo; +import jnpf.base.entity.DictionaryDataEntity; +import jnpf.constant.PermissionConst; +import jnpf.entity.Expert; +import jnpf.exception.DataException; +import jnpf.mapper.ExpertMapper; +import jnpf.model.dto.ExpertDto; +import jnpf.permission.entity.OrganizeEntity; +import jnpf.permission.model.organize.OrganizeListVO; +import jnpf.permission.model.organize.OrganizeModel; +import jnpf.permission.model.organize.PaginationOrganize; +import jnpf.permission.service.OrganizeService; +import jnpf.service.ExpertService; +import jnpf.util.JsonUtil; +import jnpf.util.StringUtil; +import jnpf.util.UserProvider; +import jnpf.util.treeutil.SumTree; +import jnpf.util.treeutil.newtreeutil.TreeDotUtils; +import lombok.AllArgsConstructor; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.usermodel.WorkbookFactory; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; + +@Service +@AllArgsConstructor +public class ExpertServiceImpl extends ServiceImpl implements ExpertService { + private final OrganizeService organizeService; + private final UserProvider userProvider; + private final DictionaryDataApi dictionaryDataApi; + private final RedisSerialNumberGenerator redisSerialNumberGenerator; + private static final String EXPERTS_KEY = "experts:"; + private static final String PREFIX = "EXPERT"; + + private static final String COMPANY_KEY = "company:"; + private static final String COM_PREFIX = "COMPANY"; + + @Override + public List getOrganizationList(PaginationOrganize pagination) { + // 获取所有组织 + Map orgMaps = organizeService.getOrgMaps(pagination.getKeyword(), Objects.equals(pagination.getEnabledMark(), 1), pagination.getType()); + Map orgMapsModel = JSONObject.parseObject(JSONObject.toJSONString(orgMaps), new TypeReference>() { + }, new Feature[0]); + ; + + Map orgIdNameMaps = organizeService.getInfoList(); + orgMapsModel.values().forEach(t -> { + if (PermissionConst.COMPANY.equals(t.getType())) { + t.setIcon("icon-ym icon-ym-tree-organization3"); + } else { + t.setIcon("icon-ym icon-ym-tree-department1"); + } + // 处理断层 + if (StringUtil.isNotEmpty(t.getOrganizeIdTree())) { + String[] split = t.getOrganizeIdTree().split(","); + List list1 = Arrays.asList(split); + Collections.reverse(list1); + for (String orgId : list1) { + if (!orgId.equals(t.getId())) { + OrganizeModel organizeEntity1 = orgMapsModel.get(orgId); + if (organizeEntity1 != null) { + t.setParentId(organizeEntity1.getId()); + String[] split1 = t.getOrganizeIdTree().split(organizeEntity1.getId()); + if (split1.length > 1) { + t.setFullName(organizeService.getFullNameByOrgIdTree(orgIdNameMaps, split1[1], "/")); + } + break; + } + } + } + } + }); + List> trees = TreeDotUtils.convertMapsToTreeDot(orgMapsModel); + List listVO = JsonUtil.getJsonToList(trees, OrganizeListVO.class); + listVO.forEach(t -> { + t.setFullName(organizeService.getFullNameByOrgIdTree(orgIdNameMaps, t.getOrganizeIdTree(), "/")); + }); + return listVO; + } + + @Override + public void add(ExpertDto.AddParam param) { + UserInfo userInfo = userProvider.get(); + checkAddParam(param); + Expert expert = BeanUtil.copyProperties(param, Expert.class); + expert.setDelFlag("0"); + expert.setCreateTime(LocalDateTime.now()); + expert.setUpdateTime(LocalDateTime.now()); + expert.setCreateId(userInfo.getUserId()); + expert.setCreateName(userInfo.getUserName()); + expert.setUpdateName(userInfo.getUserName()); + expert.setUpdateId(userInfo.getUserId()); + long number = 0; + switch (param.getDataType()) { + case "2": + number = redisSerialNumberGenerator.generateSerialNumber(COMPANY_KEY); + expert.setId(String.format("%s%05d", COM_PREFIX, number)); + break; + case "1": + default: + number = redisSerialNumberGenerator.generateSerialNumber(EXPERTS_KEY); + expert.setId(String.format("%s%05d", PREFIX, number)); + } + + if (this.lambdaQuery().eq(Expert::getId, expert.getId()).exists()) { + throw new DataException("编号生成异常,请稍后再试!"); + } + this.save(expert); + } + + + public static void main(String[] args) throws Exception { + String path = "/Users/yangzhenli/Documents/项目/jnpf/专家导入.xlsx"; + + try (InputStream inputStream = new FileInputStream(path); + Workbook workbook = WorkbookFactory.create(inputStream)) { + + Sheet sheet = workbook.getSheetAt(0); + + for (Row row : sheet) { + if (row.getRowNum() <= 1) { + // 跳过表头 + continue; + } + + String name = row.getCell(0).getStringCellValue(); + Integer age = (int) row.getCell(1).getNumericCellValue(); + + } + } + } + + @Override + public void edit(ExpertDto.EditParam param) { + if (StrUtil.isBlank(param.getId())) { + throw new DataException("id不能为空"); + } + Expert expert = this.lambdaQuery() + .eq(Expert::getId, param.getId()) + .eq(Expert::getDelFlag, "0") + .one(); + if (null == expert) { + throw new DataException("请重新选择数据"); + } + checkAddParam(param); + BeanUtil.copyProperties(param, expert); + UserInfo userInfo = userProvider.get(); + expert.setDelFlag("0"); + expert.setUpdateTime(LocalDateTime.now()); + expert.setUpdateName(userInfo.getUserName()); + expert.setUpdateId(userInfo.getId()); + this.saveOrUpdate(expert); + } + + private void checkAddParam(ExpertDto.BaseParam param) { + //1-专家 2-公司 + switch (param.getDataType()) { + case "1": +// if (StrUtil.isNotBlank(param.getBirthdayString())) { +// try { +// param.setBirthday(LocalDateTimeUtil.parse(param.getBirthdayString(), "yyyy-MM-dd HH:mm:ss")); +// } catch (Exception e) { +// throw new DataException("出生日期格式不正确 yyyy-MM-dd HH:mm:ss"); +// } +// } + if (StrUtil.isBlank(param.getExpertName())) { + throw new DataException("专家名称不能为空"); + } +// if (StrUtil.isBlank(param.getExpertGroup())) { +// throw new DataException("专家组别不能为空"); +// } +// if (StrUtil.isBlank(param.getSex())) { +// throw new DataException("专家性别不能为空"); +// } +// if (StrUtil.isBlank(param.getPhoneNumber())) { +// throw new DataException("专家电话不能为空"); +// } +// if (StrUtil.isBlank(param.getExpertSources())) { +// throw new DataException("专家来源不能为空"); +// } +// if (StrUtil.isBlank(param.getWorkUnit())) { +// throw new DataException("工作单位不能为空"); +// } +// if (StrUtil.isBlank(param.getPost())) { +// throw new DataException("职务不能为空"); +// } +// if (StrUtil.isBlank(param.getTechnicalPosition())) { +// throw new DataException("专业技术职称不能为空"); +// } +// if (StrUtil.isBlank(param.getProfessionalExpertise())) { +// throw new DataException("专业特长不能为空"); +// } +// if (StrUtil.isBlank(param.getStatus())) { +// throw new DataException("专家状态不能为空"); +// } + break; + case "2": + if (CollectionUtil.isEmpty(param.getContactInformation())) { + throw new DataException("联系人信息不能为空"); + } + if (StrUtil.isBlank(param.getCompanyName())) { + throw new DataException("公司名称不能为空"); + } + param.setStatus("0"); + break; + default: + throw new DataException("新增类型错误"); + } + + } + + @Override + public void delete(ExpertDto.DeleteParam param) { + if (StrUtil.isBlank(param.getId())) { + throw new DataException("id不能为空"); + } + UserInfo userInfo = userProvider.get(); + this.lambdaUpdate() + .set(Expert::getDelFlag, "1") + .set(Expert::getUpdateTime, LocalDateTime.now()) + .set(Expert::getUpdateId, userInfo.getUserId()) + .set(Expert::getUpdateName, userInfo.getUserName()) + .eq(Expert::getId, param.getId()) + .update(); + } + + @Override + public Page queryList(ExpertDto.ListParam param) { + checkParam(param); + return this.getBaseMapper().queryList(new Page<>(param.getPageNum(), param.getPageSize()), param); + } + + private void checkParam(ExpertDto.ListParam param) { + if (param.getPageNum() == null) { + param.setPageNum(1); + } + if (param.getPageSize() == null) { + param.setPageSize(10); + } + } + + @Override + public ExpertDto.ListResponse queryInfo(String id) { + if (StrUtil.isBlank(id)) { + throw new DataException("id不能为空"); + } + return this.getBaseMapper().queryInfo(id); + } + + @Override + public void expertImport(MultipartFile file) { + List addParamList=new ArrayList<>(); + + try (InputStream inputStream = file.getInputStream(); + Workbook workbook = WorkbookFactory.create(inputStream)) { + + Sheet sheet = workbook.getSheetAt(0); + + List groupNameList = dictionaryDataApi.getDicList("539395626211742999"); + for (Row row : sheet) { + if (row.getRowNum() <= 1) { + // 跳过表头 + continue; + } + ExpertDto.AddParam addParam=new ExpertDto.AddParam(); + addParam.setDataType("1"); + String stringCellValue = row.getCell(0).getStringCellValue(); + if (StrUtil.equals(stringCellValue,"姓名示例")){ + throw new DataException("请删除示例数据行"); + } + addParam.setExpertName(stringCellValue); + String groupName = row.getCell(1).getStringCellValue(); + Optional first = groupNameList.stream().filter(d -> d.getFullName().contains(groupName)).findFirst(); + if (!first.isPresent()){ + throw new DataException("第"+(row.getRowNum()+1)+"行数据,专家组别信息不正确,请检查"); + } + first.ifPresent(dictionaryDataEntity -> addParam.setExpertGroup(dictionaryDataEntity.getId())); + addParam.setPhoneNumber(row.getCell(2).getStringCellValue()); + String birthday = row.getCell(3).getStringCellValue(); + if (StrUtil.isNotBlank(birthday)){ + addParam.setBirthday(LocalDateTimeUtil.format(LocalDateTimeUtil.parse(birthday,"yyyyMMdd"),"yyyy-MM-dd")); + } + addParam.setExpertSources(row.getCell(4).getStringCellValue()); + addParam.setWorkUnit(row.getCell(5).getStringCellValue()); + addParam.setPost(row.getCell(6).getStringCellValue()); + addParam.setTechnicalPosition(row.getCell(7).getStringCellValue()); + addParam.setProfessionalExpertise(row.getCell(8).getStringCellValue()); + addParam.setSex(StrUtil.equals(row.getCell(9).getStringCellValue(),"男")?"1" : "2"); + if (StrUtil.isNotBlank(row.getCell(10).getStringCellValue())){ + addParam.setWorkingYears(row.getCell(10).getStringCellValue()); + } + addParam.setStatus("0"); + addParamList.add(addParam); + } + for (ExpertDto.AddParam addParam : addParamList) { + this.add(addParam); + } + }catch (Exception e){ + e.printStackTrace(); + throw new DataException(e.getMessage()); + } + } +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/impl/IndicatorStatisticsServiceImpl.java b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/IndicatorStatisticsServiceImpl.java new file mode 100644 index 0000000..127ed02 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/IndicatorStatisticsServiceImpl.java @@ -0,0 +1,296 @@ +package jnpf.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.LocalDateTimeUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import jnpf.base.DictionaryDataApi; +import jnpf.base.UserInfo; +import jnpf.base.entity.DictionaryDataEntity; +import jnpf.entity.BiddingProjectSubscribeChild; +import jnpf.entity.Bidding_project_statisticsEntity; +import jnpf.enump.BiddingProjectEnum; +import jnpf.exception.DataException; +import jnpf.model.dto.IndicatorStatisticsDto; +import jnpf.permission.model.authorize.AuthorizeConditionModel; +import jnpf.service.BiddingProjectSubscribeService; +import jnpf.service.CustomAuthService; +import jnpf.service.IBiddingProjectSubscribeChildService; +import jnpf.service.IndicatorStatisticsService; +import jnpf.util.ServletUtil; +import jnpf.util.UserProvider; +import lombok.AllArgsConstructor; +import org.apache.poi.ss.formula.functions.T; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.YearMonth; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.stream.Collectors; + +@Service +@AllArgsConstructor +public class IndicatorStatisticsServiceImpl implements IndicatorStatisticsService { + + private final BiddingProjectSubscribeService biddingProjectSubscribeService; + private final IBiddingProjectSubscribeChildService iBiddingProjectSubscribeChildService; + private final CustomAuthService customAuthService; + private final UserProvider userProvider; + private final DictionaryDataApi dictionaryDataApi; + + + @Override + public IndicatorStatisticsDto.ProjectsNumberResponse projectsNumber(IndicatorStatisticsDto.ProjectsNumberParam param) { + //校验参数 + IndicatorStatisticsDto.ProjectsNumberResponse response = checkProjectsNumber(param); + QueryWrapper queryWhere = getAuthWrapper(param.getMenuId()); + if (ObjectUtil.isEmpty(queryWhere)) { + return response; + } + assert queryWhere != null; + List indicatorList = biddingProjectSubscribeService.getProjectsNumberByType(param, queryWhere.getParamNameValuePairs(), queryWhere.getSqlSegment().replace("paramNameValuePairs.", "")); + checkResult(response, indicatorList); + + return response; + } + + private void checkResult(IndicatorStatisticsDto.ProjectsNumberResponse response, List indicatorList) { + List responseIndicatorList = response.getIndicatorList(); + if (CollectionUtil.isEmpty(responseIndicatorList)) { + response.setIndicatorList(indicatorList); + return; + } + for (IndicatorStatisticsDto.Indicator indicator : responseIndicatorList) { + Optional first = indicatorList.stream().filter(item -> item.getXData().equals(indicator.getXData())).findFirst(); + first.ifPresent(value -> BeanUtil.copyProperties(value, indicator)); + } + } + + private QueryWrapper getAuthWrapper(String menuId) { + if (!userProvider.get().getIsAdministrator()) { + QueryWrapper queryWhere = new QueryWrapper<>(); + Object bidding_project_statisticsObj = customAuthService.getCondition(new AuthorizeConditionModel(queryWhere, menuId, "bidding_project_subscribe")); + System.out.println("---------------" + JSON.toJSONString(bidding_project_statisticsObj)); + return (QueryWrapper) bidding_project_statisticsObj; + } + return null; + } + + private IndicatorStatisticsDto.ProjectsNumberResponse checkProjectsNumber(IndicatorStatisticsDto.ProjectsNumberParam param) { + IndicatorStatisticsDto.ProjectsNumberResponse response = new IndicatorStatisticsDto.ProjectsNumberResponse(); + if (StrUtil.isBlank(param.getMenuId())) { + throw new DataException("请传入menuId"); + } + if (StrUtil.isBlank(param.getType())) { + throw new DataException("请选择查询类型"); + } + //查询类型 1-本月:到日。2-当年:按月。3-累计:按年 + //赋予默认值 查询每月天数/查询每年月数 + switch (param.getType()) { + case "1": + if (StrUtil.isBlank(param.getCorresponding())) { + String format = LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy-MM"); + param.setCorresponding(format); + response.setCorresponding(LocalDateTimeUtil.parse(format, "yyyy-MM")); + } else { + //校验时间格式 + try { + response.setCorresponding(LocalDateTimeUtil.parse(param.getCorresponding(), "yyyy-MM")); + } catch (Exception e) { + throw new DataException("dataTime parse error, must be yyyy-MM"); + } + } + LocalDateTime month = LocalDateTimeUtil.parse(param.getCorresponding(), "yyyy-MM"); + YearMonth yearMonth = YearMonth.from(month); + int i = yearMonth.lengthOfMonth(); + if (LocalDateTimeUtil.parse(LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy-MM"), "yyyy-MM").isEqual(LocalDateTimeUtil.parse(param.getCorresponding(), "yyyy-MM"))) { + i = LocalDateTime.now().getDayOfMonth(); + } + for (int day = 1; day <= i; day++) { + IndicatorStatisticsDto.Indicator indicator = new IndicatorStatisticsDto.Indicator(); + indicator.setYData("0"); + // 创建代表该日期的LocalDate对象 + LocalDate date = yearMonth.atDay(day); + // 使用DateTimeFormatter来格式化日期为字符串 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd日"); + indicator.setXData(date.format(formatter)); + response.getIndicatorList().add(indicator); + } + break; + case "2": + int value = LocalDateTime.now().getMonth().getValue(); + if (StrUtil.isBlank(param.getCorresponding())) { + String yyyy = LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy"); + param.setCorresponding(yyyy); + response.setCorresponding(LocalDateTimeUtil.parse(yyyy, "yyyy")); + } else { + //校验时间格式 + try { + response.setCorresponding(LocalDateTimeUtil.parse(param.getCorresponding(), "yyyy")); + if (LocalDateTime.now().getYear() > LocalDateTimeUtil.parse(param.getCorresponding(), "yyyy").getYear()) { + value = 12; + } + } catch (Exception e) { + throw new DataException("dataTime parse error, must be yyyy"); + } + } + for (int monthCount = 1; monthCount <= value; monthCount++) { + IndicatorStatisticsDto.Indicator indicator = new IndicatorStatisticsDto.Indicator(); + indicator.setYData("0"); + String monthString = String.format("%02d", monthCount); + indicator.setXData(monthString + "月"); + response.getIndicatorList().add(indicator); + } + break; + case "3": + break; + default: + throw new DataException("查询类型错误: " + param.getType()); + } + return response; + } + + @Override + public IndicatorStatisticsDto.MoneyAndProjectsNumberResponse moneyAndProjectsNumber(IndicatorStatisticsDto.MoneyAndProjectsNumberParam param) { + IndicatorStatisticsDto.MoneyAndProjectsNumberResponse response = checkMoneyAndProjectsNumberParam(param); + QueryWrapper queryWhere = getAuthWrapper(param.getMenuId()); + if (ObjectUtil.isEmpty(queryWhere)) { + return response; + } + assert queryWhere != null; + List dataList = biddingProjectSubscribeService.moneyAndProjectsNumber(param, queryWhere.getParamNameValuePairs(), queryWhere.getSqlSegment().replace("paramNameValuePairs.", "")); + checkMoneyAndProjectsNumberResult(param, dataList); + response.setDataList(dataList); + return response; + } + + private void checkMoneyAndProjectsNumberResult(IndicatorStatisticsDto.MoneyAndProjectsNumberParam param, List dataList) { +// +// count(organizational_form) projectsNumber, +// (select f_full_name from base_dictionary_data where f_dictionary_type_id='539393647729185989' and f_en_code=main.organizational_form limit 1) yName +// +// +// count(Item_classification) projectsNumber, +// (select f_full_name from base_dictionary_data where f_dictionary_type_id='539390743437907141' and f_en_code=main.item_classification limit 1) yName +// +// +// count(bidding_method) projectsNumber, +// (select f_full_name from base_dictionary_data where f_dictionary_type_id='539394095383057605' and f_en_code=main.bidding_method limit 1) yName +// + String classificationType = param.getClassificationType(); + List oldNameList = dataList.stream().map(IndicatorStatisticsDto.MoneyAndProjectsNumberChild::getYName).collect(Collectors.toList()); + List newNameList = new ArrayList<>(); + switch (classificationType) { + case "1": + break; + + case "2": + newNameList = dictionaryDataApi.getList("539393647729185989") + .stream() + .map(DictionaryDataEntity::getFullName) + .filter(fullName -> !oldNameList.contains(fullName)) + .collect(Collectors.toList()); + break; + case "3": + newNameList = dictionaryDataApi.getList("539390743437907141") + .stream() + .map(DictionaryDataEntity::getFullName) + .filter(fullName -> !oldNameList.contains(fullName)) + .collect(Collectors.toList()); + break; + case "4": + newNameList = dictionaryDataApi.getList("539394095383057605") + .stream() + .map(DictionaryDataEntity::getFullName) + .filter(fullName -> !oldNameList.contains(fullName)) + .collect(Collectors.toList()); + break; + case "5": + newNameList = dictionaryDataApi.getList("dc6b2542d94b5434fc61ec1d59592901") + .stream() + .map(DictionaryDataEntity::getFullName) + .filter(fullName -> !oldNameList.contains(fullName)) + .collect(Collectors.toList()); + break; + + } + if (CollectionUtil.isEmpty(newNameList)) { + return; + } + for (String name : newNameList) { + IndicatorStatisticsDto.MoneyAndProjectsNumberChild data = new IndicatorStatisticsDto.MoneyAndProjectsNumberChild(); + data.setYName(name); + data.setProjectsNumber("0"); + data.setMoney("0.0"); + dataList.add(data); + } + } + + private IndicatorStatisticsDto.MoneyAndProjectsNumberResponse checkMoneyAndProjectsNumberParam(IndicatorStatisticsDto.MoneyAndProjectsNumberParam param) { + IndicatorStatisticsDto.MoneyAndProjectsNumberResponse response = new IndicatorStatisticsDto.MoneyAndProjectsNumberResponse(); + if (StrUtil.isBlank(param.getMenuId())) { + throw new DataException("请传入menuId"); + } + switch (param.getQueryDateType()) { + case "1": + String format = LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy-MM"); + param.setCorresponding(format); + break; + case "2": + String yyyy = LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy"); + param.setCorresponding(yyyy); + case "3": + break; + case "4": + if (StrUtil.isBlank(param.getStartTime()) || StrUtil.isBlank(param.getEndTime())) { + throw new DataException("请传入开始及结束时间"); + } + try { + LocalDateTimeUtil.parse(param.getStartTime(), "yyyy-MM-dd HH:mm:ss"); + LocalDateTimeUtil.parse(param.getEndTime(), "yyyy-MM-dd HH:mm:ss"); + } catch (Exception e) { + throw new DataException("时间格式错误,应为yyyy-MM-dd HH:mm:ss"); + } + break; + default: + throw new DataException("查询类型错误: " + param.getQueryDateType()); + } + response.setClassificationType(param.getClassificationType()); + return response; + + } + + @Override + public IndicatorStatisticsDto.MyToDoListResponse myToDoList() { + IndicatorStatisticsDto.MyToDoListResponse response = new IndicatorStatisticsDto.MyToDoListResponse(); + //查询用户信息 + UserInfo userInfo = userProvider.get(); + //待填报 + response.setToBeFilledCount(iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getUserId, userInfo.getUserId()) + .in(BiddingProjectSubscribeChild::getChildStatus, Arrays.asList(BiddingProjectEnum.ChildStatusEnum.TO_BE_SUBMITTED.getCode(), BiddingProjectEnum.ChildStatusEnum.TO_BE_EDIT.getCode())) + .count() + ""); + //待归档 + response.setToBeArchivedApprovalCount(iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getUserId, userInfo.getUserId()) + .in(BiddingProjectSubscribeChild::getChildStatus, Collections.singletonList(BiddingProjectEnum.ChildStatusEnum.TO_BE_ARCHIVED.getCode())) + .count() + ""); + //待审核 + response.setPendingApprovalCount(iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getUserId, userInfo.getUserId()) + .in(BiddingProjectSubscribeChild::getChildStatus, Collections.singletonList(BiddingProjectEnum.ChildStatusEnum.PENDING_REVIEW.getCode())) + .count() + ""); + + //已办数量 + response.setAlreadyCount(iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getUserId, userInfo.getUserId()) + .in(BiddingProjectSubscribeChild::getChildStatus, Arrays.asList(BiddingProjectEnum.ChildStatusEnum.RETURNED.getCode(), BiddingProjectEnum.ChildStatusEnum.ARCHIVED.getCode(), BiddingProjectEnum.ChildStatusEnum.PASS.getCode())) + .count() + ""); + return response; + } +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/impl/LotteryProjectServiceImpl.java b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/LotteryProjectServiceImpl.java new file mode 100644 index 0000000..4a14512 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/LotteryProjectServiceImpl.java @@ -0,0 +1,889 @@ +package jnpf.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.LocalDateTimeUtil; +import cn.hutool.core.io.resource.ResourceUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import cn.xuyanwu.spring.file.storage.FileInfo; +import cn.xuyanwu.spring.file.storage.MockMultipartFile; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.google.protobuf.ServiceException; +import jnpf.base.UserInfo; +import jnpf.base.vo.DownloadVO; +import jnpf.constant.FileTypeConstant; +import jnpf.entity.Expert; +import jnpf.entity.LotteryProject; +import jnpf.entity.LotteryReview; +import jnpf.exception.DataException; +import jnpf.file.FileApi; +import jnpf.file.FileUploadApi; +import jnpf.mapper.LotteryProjectMapper; +import jnpf.model.dto.ExpertDto; +import jnpf.model.dto.IndicatorStatisticsDto; +import jnpf.model.dto.LotteryProjectDto; +import jnpf.permission.OrganizeApi; +import jnpf.permission.entity.OrganizeEntity; +import jnpf.permission.model.authorize.AuthorizeConditionModel; +import jnpf.permission.service.OrganizeService; +import jnpf.service.CustomAuthService; +import jnpf.service.ExpertService; +import jnpf.service.ILotteryProjectService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jnpf.service.ILotteryReviewService; +import jnpf.util.UploaderUtil; +import jnpf.util.UserProvider; +import lombok.AllArgsConstructor; +import org.apache.poi.ss.formula.functions.T; +import org.apache.poi.xwpf.usermodel.*; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.STMerge; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.*; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + *

+ * 抽签项目表 服务实现类 + *

+ * + * @author admin + * @since 2024-08-30 + */ +@Service +@AllArgsConstructor +public class LotteryProjectServiceImpl extends ServiceImpl implements ILotteryProjectService { + + + private final UserProvider userProvider; + private final OrganizeApi organizeService; + private final ILotteryReviewService iLotteryReviewService; + private final RedisSerialNumberGenerator redisSerialNumberGenerator; + private final ExpertService expertService; + private static final String ROUND_KEY = "roundKey:"; + private final FileUploadApi fileUploadApi; + private final FileApi fileApi; + + @Override + public void add(LotteryProjectDto.AddParam param) { + LotteryProject lotteryProject = BeanUtil.copyProperties(param, LotteryProject.class); + lotteryProject.setType(LotteryProjectDto.TypeEnum.ONESELF.getCode()); + lotteryProject.setStatus(LotteryProjectDto.StatusEnum.TO_BE_EXTRACTED.getCode()); + lotteryProject.setStatusName(LotteryProjectDto.StatusEnum.TO_BE_EXTRACTED.getDescribe()); + if (null != param.getBidEvaluationTime()) { + lotteryProject.setBidOpeningTime(LocalDate.parse(LocalDateTimeUtil.format(param.getBidEvaluationTime(), "yyyy-MM-dd"))); + } + UserInfo userInfo = userProvider.get(); + lotteryProject.setUserDeptId(userInfo.getOrganizeId()); + //添加根子单数据 + OrganizeEntity organization = organizeService.getInfoById(userInfo.getOrganizeId()); + lotteryProject.setUserDeptName(organization.getFullName()); + lotteryProject.setCreateId(userInfo.getUserId()); + lotteryProject.setCreateName(userInfo.getUserName()); + lotteryProject.setCreateTime(LocalDateTime.now()); + lotteryProject.setUpdateId(userInfo.getUserId()); + lotteryProject.setUpdateName(userInfo.getUserName()); + lotteryProject.setUpdateTime(LocalDateTime.now()); + this.save(lotteryProject); + } + + @Override + public void edit(LotteryProjectDto.EditParam param) { + if (null == param.getId()) { + throw new DataException("id不能为空"); + } + LotteryProject lotteryProject = BeanUtil.copyProperties(param, LotteryProject.class); + if (null != param.getBidEvaluationTime()) { + lotteryProject.setBidOpeningTime(LocalDate.parse(LocalDateTimeUtil.format(param.getBidEvaluationTime(), "yyyy-MM-dd"))); + } + UserInfo userInfo = userProvider.get(); + ; + lotteryProject.setUpdateId(userInfo.getUserId()); + lotteryProject.setUpdateName(userInfo.getUserName()); + lotteryProject.setUpdateTime(LocalDateTime.now()); + lotteryProject.setId(param.getId()); + this.saveOrUpdate(lotteryProject); + } + + + @Override + public void delete(LotteryProjectDto.DeleteParam param) { + if (null == param.getId()) { + throw new DataException("id不能为空"); + } + this.lambdaUpdate() + .set(LotteryProject::getDelFlag, "1") + .eq(LotteryProject::getId, param.getId()) + .update(); + } + + + private final CustomAuthService customAuthService; + + private QueryWrapper getAuthWrapper(String menuId) { + if (!userProvider.get().getIsAdministrator()) { + QueryWrapper queryWhere = new QueryWrapper<>(); + Object bidding_project_statisticsObj = customAuthService.getCondition(new AuthorizeConditionModel(queryWhere, menuId, "bidding_project_subscribe")); + System.out.println("---------------" + JSON.toJSONString(bidding_project_statisticsObj)); + return (QueryWrapper) bidding_project_statisticsObj; + } + return null; + } + + @Override + public Page queryList(LotteryProjectDto.QueryListParam param) { + if (param.getPageNum() == null) { + param.setPageNum(1); + } + if (param.getPageSize() == null) { + param.setPageSize(10); + } + //查询权限 + QueryWrapper queryWhere = getAuthWrapper(param.getMenuId()); + if (ObjectUtil.isEmpty(queryWhere)) { + return new Page<>(); + } + assert queryWhere != null; + return this.getBaseMapper().queryList(new Page<>(param.getPageNum(), param.getPageSize()), param, queryWhere.getParamNameValuePairs(), queryWhere.getSqlSegment().replace("paramNameValuePairs.", "")); + } + + @Override + public LotteryProjectDto.QueryResponse queryInfo(String id) { + if (StrUtil.isBlank(id)) { + throw new DataException("id不能为空"); + } + return this.getBaseMapper().queryInfo(id); + } + + @Override + public void addReview(LotteryProjectDto.AddReviewParam param) { + if (StrUtil.isBlank(param.getId())) { + throw new DataException("抽签项目不能为空"); + } + if (!this.lambdaQuery() + .eq(LotteryProject::getId, param.getId()) + .exists()) { + throw new DataException("抽签项目不存在"); + } + LotteryReview lotteryReview = new LotteryReview(); + lotteryReview.setExpertGroupInfo(param.getExpertGroupInfo()); + lotteryReview.setCreateTime(LocalDateTime.now()); + lotteryReview.setRelationId(param.getId()); + lotteryReview.setDelFlag("0"); + //查询评审次数 + Long count = iLotteryReviewService.lambdaQuery() + .eq(LotteryReview::getRelationId, param.getId()) + .eq(LotteryReview::getDelFlag, "0") + .count(); + lotteryReview.setCount((count + 1) + ""); + iLotteryReviewService.save(lotteryReview); + } + + @Override + public void editReview(LotteryProjectDto.EditReviewParam param) { + if (StrUtil.isBlank(param.getId())) { + throw new DataException("评审id不能为空"); + } + LotteryReview lotteryReview = iLotteryReviewService.getById(param.getId()); + lotteryReview.setExpertGroupInfo(param.getExpertGroupInfo()); + iLotteryReviewService.saveOrUpdate(lotteryReview); + } + + + @Override + public void participateInConfirmation(LotteryProjectDto.ParticipateInConfirmationParam param) { + if (StrUtil.isBlank(param.getStatus())) { + throw new DataException("状态不能为空"); + } + if (StrUtil.isBlank(param.getId())) { + throw new DataException("评审id不能为空"); + } + LotteryReview lotteryReview = iLotteryReviewService.getById(param.getId()); + if (null == lotteryReview) { + throw new DataException("评审不存在"); + } + if (StrUtil.isBlank(param.getExpertId())) { + throw new DataException("评审专家id不能为空"); + } + List extractExpertsInfo = lotteryReview.getExtractExpertsInfo(); + if (null == extractExpertsInfo) { + throw new DataException("请先保存评审信息"); + } + Optional expertsInfo = extractExpertsInfo.stream().filter(e -> e.getId().equals(param.getExpertId())).findFirst(); + if (!expertsInfo.isPresent()) { + throw new DataException("评审专家未被抽取"); + } + UserInfo userInfo = userProvider.get(); + LotteryProjectDto.ExtractExpertsInfo extractExpertsInfoComfirm = expertsInfo.get(); + String status = param.getStatus(); + //确认参加修改组别确认人数 + if (StrUtil.equals(status, "1") && null != lotteryReview.getExpertGroupInfo()) { + List expertGroupInfo = lotteryReview.getExpertGroupInfo(); + for (LotteryProjectDto.ExpertGroupInfo groupInfo : expertGroupInfo) { + if (!groupInfo.getGroupCode().equals(extractExpertsInfoComfirm.getExpertGroup())) { + continue; + } + groupInfo.setNumberOfParticipants((Integer.parseInt(groupInfo.getNumberOfParticipants()) + 1) + ""); + } + } + extractExpertsInfoComfirm.setStatus(status); + extractExpertsInfoComfirm.setRemark(param.getRemark()); + extractExpertsInfoComfirm.setConfirmTime(LocalDateTime.now()); + extractExpertsInfoComfirm.setConfirmId(userInfo.getUserId()); + extractExpertsInfoComfirm.setConfirmName(userInfo.getUserName()); + extractExpertsInfoComfirm.setShowJoinButton(false); + iLotteryReviewService.updateById(lotteryReview); + + } + + @Override + public LotteryProjectDto.QueryReviewResponse queryReviewInfo(String id) { + if (StrUtil.isBlank(id)) { + throw new DataException("评审信息id不能为空"); + } + return iLotteryReviewService.queryReviewInfo(id); + } + + @Override + public void deleteReview(LotteryProjectDto.DeleteReviewParam param) { + if (StrUtil.isBlank(param.getId())) { + throw new DataException("评审信息id不能为空"); + } + iLotteryReviewService.lambdaUpdate() + .set(LotteryReview::getDelFlag, "1") + .eq(LotteryReview::getId, param.getId()) + .update(); + } + + @Override + public void saveExtractionResults(LotteryProjectDto.SaveExtractionResultsParam param) { + if (StrUtil.isBlank(param.getId())) { + throw new DataException("评审信息id不能为空"); + } + LotteryReview lotteryReview = iLotteryReviewService.getById(param.getId()); + //获取抽取轮次 + long round = redisSerialNumberGenerator.generateSerialNumber(ROUND_KEY + lotteryReview.getId(), 1L); + //组别删除按钮不再展示 + if (round >= 1L && null != lotteryReview.getExpertGroupInfo()) { + + for (LotteryProjectDto.ExpertGroupInfo expertGroupInfo : lotteryReview.getExpertGroupInfo()) { + expertGroupInfo.setShowDelButton(false); + } + } + List oldExpertIdList = null; + if (null != lotteryReview.getExtractExpertsInfo()) { + oldExpertIdList = lotteryReview.getExtractExpertsInfo().stream().map(LotteryProjectDto.ExtractExpertsInfo::getId).collect(Collectors.toList()); + } + //配置抽取轮次 + for (LotteryProjectDto.ExtractExpertsInfo extractExpertsInfo : param.getExtractExpertsInfo()) { + if (CollectionUtil.isNotEmpty(oldExpertIdList)) { + if (oldExpertIdList.contains(extractExpertsInfo.getId())) { + continue; + } + } + if (StrUtil.isBlank(extractExpertsInfo.getExtractionRounds())) { + extractExpertsInfo.setExtractionRounds(round + ""); + } + if (null == lotteryReview.getExtractExpertsInfo()) { + lotteryReview.setExtractExpertsInfo(new ArrayList<>()); + } + lotteryReview.getExtractExpertsInfo().add(extractExpertsInfo); + } + iLotteryReviewService.updateById(lotteryReview); + } + + @Override + public List getExpertsByType(String reviewId, String expertGroup) { + if (StrUtil.isBlank(reviewId) || StrUtil.isBlank(expertGroup)) { + throw new DataException("评审信息id和抽取类型不能为空"); + } + //获取评审信息 + LotteryReview lotteryReview = iLotteryReviewService.getById(reviewId); + + //获取已专家编号列表抽取 + List expertIdList = null; + if (null != lotteryReview.getExtractExpertsInfo()) { + expertIdList = lotteryReview.getExtractExpertsInfo().stream().map(LotteryProjectDto.ExtractExpertsInfo::getId).collect(Collectors.toList()); + } + return expertService.lambdaQuery() + .eq(Expert::getStatus, "0") + .eq(Expert::getDelFlag, "0") + .eq(Expert::getDataType, "1") + .eq(Expert::getExpertGroup, expertGroup) + .notIn(CollectionUtil.isNotEmpty(expertIdList), Expert::getId, expertIdList) + .list(); + } + + @Override + public DownloadVO resultPrinting(String reviewId) { + if (StrUtil.isBlank(reviewId)) { + throw new DataException("评审信息id不能为空"); + } + LotteryReview lotteryReview = iLotteryReviewService.getById(reviewId); + if (null == lotteryReview.getExtractExpertsInfo()) { + throw new DataException("未抽取专家,无法打印"); + } + //校验打印类型 + LotteryProject lotteryProject = this.getById(lotteryReview.getRelationId()); + if (null == lotteryReview.getExtractExpertsInfo()) { + throw new DataException("未抽取专家,无法打印[2]"); + } + List extractExpertsInfo = lotteryReview.getExtractExpertsInfo().stream().filter(e -> e.getStatus().equals(LotteryProjectDto.ConfirmEnum.JOIN.getCode())).collect(Collectors.toList()); + DownloadVO vo = DownloadVO.builder().build(); + switch (lotteryProject.getLotteryType()) { + case "1": + if (CollectionUtil.isEmpty(extractExpertsInfo)) { + throw new DataException("暂未有确认专家,无法打印"); + } + try { + MockMultipartFile mockMultipartFile = expertPrinting("专家抽取结果打印.docx", extractExpertsInfo, lotteryProject.getProjectName()); + String temporaryFilePath = fileApi.getPath(FileTypeConstant.TEMPORARY); + FileInfo fileInfo = fileUploadApi.uploadFile(mockMultipartFile, temporaryFilePath, "专家抽取结果打印.docx"); + vo.setName(fileInfo.getFilename()); + vo.setUrl(UploaderUtil.uploaderFile(fileInfo.getFilename() + "#" + "Temporary") + "&name=" + "专家抽取结果打印.docx"); + } catch (Exception e) { + log.error("专家抽取结果打印异常", e); + } + break; + case "2": + try { + if (CollectionUtil.isEmpty(extractExpertsInfo)) { + throw new DataException("暂未有确认公司,无法打印"); + } + MockMultipartFile mockMultipartFile = companyPrinting("招投标公司抽取结果打印.docx", extractExpertsInfo,lotteryProject.getProjectName()); + String temporaryFilePath = fileApi.getPath(FileTypeConstant.TEMPORARY); + FileInfo fileInfo = fileUploadApi.uploadFile(mockMultipartFile, temporaryFilePath, "招投标公司抽取结果打印.docx"); + vo.setName(fileInfo.getFilename()); + vo.setUrl(UploaderUtil.uploaderFile(fileInfo.getFilename() + "#" + "Temporary") + "&name=" + "招投标公司抽取结果打印.docx"); + } catch (Exception e) { + log.error("公司抽取结果打印异常", e); + } + break; + } + + + return vo; + } + + private MockMultipartFile expertPrinting(String fileName, List data, String projectName) throws Exception { + + try (InputStream inputStream = ResourceUtil.getStream("jnpf/templete/浙江出版传媒股份有限公司ERP系统建设项目.docx"); + XWPFDocument doc = new XWPFDocument(inputStream)) { + + // 找到标记位置的段落 + XWPFParagraph placeholderParagraph = null; + XWPFParagraph textParagraph = null; + for (XWPFParagraph paragraph : doc.getParagraphs()) { + if (paragraph.getText().contains("{{table_here}}")) { + placeholderParagraph = paragraph; + break; + } + if (paragraph.getText().contains("{{projectName}}")) { + textParagraph = paragraph; + } + } + + if (placeholderParagraph == null) { + throw new IllegalStateException("Cannot find placeholder in the document."); + } + + + // 删除包含占位符的段落 + XWPFRun run = placeholderParagraph.getRuns().get(0); + run.setText(run.getText(0).replace("{{table_here}}", ""), 0); + //替换项目名称 + if (textParagraph != null) { + String join = StrUtil.join("", textParagraph.getRuns().stream().map(te -> te.getText(0)).collect(Collectors.toList())); + XWPFRun xwpfRun = textParagraph.getRuns().get(0); + for (XWPFRun textParagraphRun : textParagraph.getRuns()) { + textParagraphRun.setText(""); + } + xwpfRun.setText(join.replace("{{projectName}}",projectName), 0); + } + + + // 在占位符位置插入表格 + // 插入表格到占位符位置后 +// XWPFTable table = doc.createTable(); + XWPFTable table = doc.insertNewTbl(placeholderParagraph.getCTP().newCursor()); + table.setWidth("100%"); + + // 创建表头 + XWPFTableRow headerRow = table.getRow(0); + headerRow.getCell(0).setText("专家编号"); + headerRow.addNewTableCell().setText("专家姓名"); + headerRow.addNewTableCell().setText("出版集团"); + headerRow.addNewTableCell().setText("联系方式"); + headerRow.addNewTableCell().setText("备注"); + + // 填充表格数据 + for (LotteryProjectDto.ExtractExpertsInfo datum : data) { + + XWPFTableRow row = table.createRow(); + row.getCell(0).setText(datum.getId()); + row.getCell(1).setText(datum.getExpertName()); + row.getCell(2).setText(datum.getWorkUnit()); + row.getCell(3).setText(datum.getPhoneNumber()); + row.getCell(4).setText(datum.getRemark()); + } + XWPFTableRow rowEnd = table.createRow(); + rowEnd.getCell(3).setText("总人数:" + data.size()); + + + for (XWPFTableRow row : table.getRows()) { + for (XWPFTableCell tableCell : row.getTableCells()) { + List paragraphs = tableCell.getParagraphs(); + for (XWPFParagraph paragraph : paragraphs) { + List runs = paragraph.getRuns(); + for (XWPFRun xwpfRun : runs) { + xwpfRun.setFontFamily("仿宋"); + xwpfRun.setFontSize(10); + } + } + } + } + // 保存Word文档 +// try (FileOutputStream fos = new FileOutputStream("/Users/yangzhenli/Documents/项目/jnpf/结果打印_out.docx")) { +// doc.write(fos); +// } + + // 将XWPFDocument写入ByteArrayOutputStream + + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + MockMultipartFile mockMultipartFile = null; + try { + doc.write(byteArrayOutputStream); + // 将ByteArrayOutputStream转换为MockMultipartFile + mockMultipartFile = new MockMultipartFile( + fileName, // 文件名 + fileName, // 原始文件名 + "application/vnd.openxmlformats-officedocument.wordprocessingml.document", // ContentType + byteArrayOutputStream.toByteArray() // 文件内容 + ); + } finally { + if (null != byteArrayOutputStream) { + byteArrayOutputStream.close(); + } + } + + + return mockMultipartFile; + } + } + + private MockMultipartFile companyPrinting(String fileName, List data, String projectName) throws Exception { + + try (InputStream inputStream = ResourceUtil.getStream("jnpf/templete/招投标公司打印.docx"); + XWPFDocument doc = new XWPFDocument(inputStream)) { + + // 找到标记位置的段落 + XWPFParagraph placeholderParagraph = null; + XWPFParagraph textParagraph = null; + for (XWPFParagraph paragraph : doc.getParagraphs()) { + if (paragraph.getText().contains("{{table_here}}")) { + placeholderParagraph = paragraph; + break; + } + if (paragraph.getText().contains("{{projectName}}")) { + textParagraph = paragraph; + } + } + + if (placeholderParagraph == null) { + throw new IllegalStateException("Cannot find placeholder in the document."); + } + + // 删除包含占位符的段落 + XWPFRun run = placeholderParagraph.getRuns().get(0); + run.setText(run.getText(0).replace("{{table_here}}", ""), 0); + + //替换项目名称 + if (textParagraph != null) { + String join = StrUtil.join("", textParagraph.getRuns().stream().map(te -> te.getText(0)).collect(Collectors.toList())); + XWPFRun xwpfRun = textParagraph.getRuns().get(0); + for (XWPFRun textParagraphRun : textParagraph.getRuns()) { + textParagraphRun.setText(""); + } + xwpfRun.setText(join.replace("{{projectName}}",projectName), 0); + } + + // 在占位符位置插入表格 + // 插入表格到占位符位置后 +// XWPFTable table = doc.createTable(); + XWPFTable table = doc.insertNewTbl(placeholderParagraph.getCTP().newCursor()); + table.setWidth("100%"); + + XWPFTableRow headerRow = table.getRow(0); + headerRow.getCell(0).setText("公司编号"); + headerRow.addNewTableCell().setText("招投标公司"); + headerRow.addNewTableCell().setText("联系人"); + headerRow.addNewTableCell().setText("联系方式"); + headerRow.addNewTableCell().setText("备注"); + + + // // 填充表格数据 + for (LotteryProjectDto.ExtractExpertsInfo datum : data) { + int i = 0; + int startRowNum = 1; + for (ExpertDto.ContactInformation contactInformation : datum.getContactInformation()) { + XWPFTableRow row = table.createRow(); + row.getCell(0).setText(datum.getId()); + row.getCell(1).setText(datum.getCompanyName()); + + row.getCell(2).setText(contactInformation.getContactName()); + row.getCell(3).setText(contactInformation.getContactPhone()); + row.getCell(4).setText(datum.getRemark()); + if (i == 0) { + startRowNum = table.getRows().indexOf(row); + datum.setId(""); + datum.setCompanyName(""); + } + i++; + } + mergeCellsVertically(table, 0, startRowNum, (datum.getContactInformation().size() - 1) + startRowNum); + mergeCellsVertically(table, 1, startRowNum, (datum.getContactInformation().size() - 1) + startRowNum); + mergeCellsVertically(table, 4, startRowNum, (datum.getContactInformation().size() - 1) + startRowNum); + + } + // 保存Word文档 +// try (FileOutputStream fos = new FileOutputStream("/Users/yangzhenli/Documents/项目/jnpf/结果打印_out.docx")) { +// doc.write(fos); +// } + + // 将XWPFDocument写入ByteArrayOutputStream + + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + MockMultipartFile mockMultipartFile = null; + try { + doc.write(byteArrayOutputStream); + // 将ByteArrayOutputStream转换为MockMultipartFile + mockMultipartFile = new MockMultipartFile( + fileName, // 文件名 + fileName, // 原始文件名 + "application/vnd.openxmlformats-officedocument.wordprocessingml.document", // ContentType + byteArrayOutputStream.toByteArray() // 文件内容 + ); + } finally { + byteArrayOutputStream.close(); + } + + + return mockMultipartFile; + } + } + + + @Override + public void uploadExtractionResults(LotteryProjectDto.UploadExtractionResults param) { + if (StrUtil.isBlank(param.getId())) { + throw new DataException("id不能为空"); + } + LotteryProject lotteryProject = this.getById(param.getId()); + lotteryProject.setUploadResultsInfo(param.getUploaderVO()); + lotteryProject.setStatus(LotteryProjectDto.StatusEnum.ALREADY_EXTRACTED.getCode()); + lotteryProject.setStatusName(LotteryProjectDto.StatusEnum.ALREADY_EXTRACTED.getDescribe()); + this.saveOrUpdate(lotteryProject); + + } + + @Override + public List getCompanyByReview(String reviewId) { + if (StrUtil.isBlank(reviewId)) { + throw new DataException("评审ID不能为空"); + } + //获取评审信息 + LotteryReview lotteryReview = iLotteryReviewService.getById(reviewId); + //获取已专家编号列表抽取 + List expertIdList = null; + if (null != lotteryReview.getExtractExpertsInfo()) { + expertIdList = lotteryReview.getExtractExpertsInfo().stream().map(LotteryProjectDto.ExtractExpertsInfo::getId).collect(Collectors.toList()); + } + return expertService.lambdaQuery() + .eq(Expert::getStatus, "0") + .eq(Expert::getDelFlag, "0") + .eq(Expert::getDataType, "2") + .notIn(CollectionUtil.isNotEmpty(expertIdList), Expert::getId, expertIdList) + .list(); + } + + public static void main(String[] args) throws IOException { + + + String s = "[\n" + + " {\n" + + " \"id\": \"EXPERT00010\",\n" + + " \"expertName\": \"测试专家\",\n" + + " \"expertGroup\": \"\",\n" + + " \"phoneNumber\": \"13467167538\",\n" + + " \"workUnit\": \"工作单位\",\n" + + " \"confirmTime\": \"2024-09-03 15:09:50\",\n" + + " \"confirmName\": \"一级\",\n" + + " \"confirmId\": \"568797187002084037\",\n" + + " \"status\": \"1\",\n" + + " \"remark\": \"同意\",\n" + + " \"showJoinButton\": false,\n" + + " \"extractionRounds\": \"4\"\n" + + " },\n" + + " {\n" + + " \"id\": \"EXPERT00011\",\n" + + " \"expertName\": \"测试专家2\",\n" + + " \"expertGroup\": \"\",\n" + + " \"phoneNumber\": \"13467167539\",\n" + + " \"workUnit\": \"工作单位2\",\n" + + " \"confirmTime\": \"2024-09-03 15:10:38\",\n" + + " \"confirmName\": \"一级\",\n" + + " \"confirmId\": \"568797187002084037\",\n" + + " \"status\": \"1\",\n" + + " \"remark\": \"同意\",\n" + + " \"showJoinButton\": false,\n" + + " \"extractionRounds\": \"5\"\n" + + " }\n" + + " ]"; + String s2 = "[\n" + + " {\n" + + " \"id\": \"COMPANY00002\",\n" + + " \"expertName\": null,\n" + + " \"expertGroup\": null,\n" + + " \"phoneNumber\": null,\n" + + " \"workUnit\": null,\n" + + " \"confirmTime\": \"2024-09-04 11:08:31\",\n" + + " \"confirmName\": \"一级\",\n" + + " \"confirmId\": \"568797187002084037\",\n" + + " \"status\": \"1\",\n" + + " \"remark\": \"通过\",\n" + + " \"showJoinButton\": false,\n" + + " \"contactInformation\":\n" + + " [\n" + + " {\n" + + " \"contactName\": \"杨振立\",\n" + + " \"contactPhone\": \"18177857446\"\n" + + " }\n" + + + " ],\n" + + " \"companyName\": \"测试公司名称\",\n" + + " \"extractionRounds\": \"1\"\n" + + " },\n" + + " {\n" + + " \"id\": \"COMPANY00002\",\n" + + " \"expertName\": null,\n" + + " \"expertGroup\": null,\n" + + " \"phoneNumber\": null,\n" + + " \"workUnit\": null,\n" + + " \"confirmTime\": \"2024-09-04 11:08:31\",\n" + + " \"confirmName\": \"一级\",\n" + + " \"confirmId\": \"568797187002084037\",\n" + + " \"status\": \"1\",\n" + + " \"remark\": \"通过\",\n" + + " \"showJoinButton\": false,\n" + + " \"contactInformation\":\n" + + " [\n" + + " {\n" + + " \"contactName\": \"杨振立\",\n" + + " \"contactPhone\": \"18177857446\"\n" + + " },\n" + + " {\n" + + " \"contactName\": \"联系姓名1\",\n" + + " \"contactPhone\": \"18104627731\"\n" + + " }\n" + + " ],\n" + + " \"companyName\": \"测试公司名称\",\n" + + " \"extractionRounds\": \"1\"\n" + + " }\n" + + "]"; +// List data = JSON.parseArray(s, LotteryProjectDto.ExtractExpertsInfo.class); + List data = JSON.parseArray(s2, LotteryProjectDto.ExtractExpertsInfo.class); + try (InputStream inputStream = new FileInputStream(new File("/Users/yangzhenli/code/jnpfsoft-jnpf-jnpf-java-cloud-/jnpf-tendering/jnpf-tendering-server/src/main/resources/jnpf/templete/浙江出版传媒股份有限公司ERP系统建设项目.docx")); + XWPFDocument doc = new XWPFDocument(inputStream)) { + + // 找到标记位置的段落 + XWPFParagraph placeholderParagraph = null; + XWPFParagraph textParagraph = null; + for (XWPFParagraph paragraph : doc.getParagraphs()) { + if (paragraph.getText().contains("{{table_here}}")) { + placeholderParagraph = paragraph; + break; + } + if (paragraph.getText().contains("{{projectName}}")) { + textParagraph = paragraph; + } + } + + if (placeholderParagraph == null) { + throw new IllegalStateException("Cannot find placeholder in the document."); + } + + // 删除包含占位符的段落 + XWPFRun run = placeholderParagraph.getRuns().get(0); + run.setText(run.getText(0).replace("{{table_here}}", ""), 0); + //替换项目名称 + if (textParagraph != null) { + String join = StrUtil.join("", textParagraph.getRuns().stream().map(te -> te.getText(0)).collect(Collectors.toList())); + XWPFRun xwpfRun = textParagraph.getRuns().get(0); + for (XWPFRun textParagraphRun : textParagraph.getRuns()) { + textParagraphRun.setText(""); + } + xwpfRun.setText(join.replace("{{projectName}}","测试2"), 0); + } + + // 在占位符位置插入表格 + // 插入表格到占位符位置后 +// XWPFTable table = doc.createTable(); + XWPFTable table = doc.insertNewTbl(placeholderParagraph.getCTP().newCursor()); + table.setWidth("100%"); + XWPFTableRow headerRow = table.getRow(0); + headerRow.getCell(0).setText("公司编号"); + headerRow.addNewTableCell().setText("招投标公司"); + headerRow.addNewTableCell().setText("联系人"); + headerRow.addNewTableCell().setText("联系方式"); + headerRow.addNewTableCell().setText("备注"); + + + // // 填充表格数据 + for (LotteryProjectDto.ExtractExpertsInfo datum : data) { + int i = 0; + int startRowNum = 1; + for (ExpertDto.ContactInformation contactInformation : datum.getContactInformation()) { + XWPFTableRow row = table.createRow(); + row.getCell(0).setText(datum.getId()); + row.getCell(1).setText(datum.getCompanyName()); + + row.getCell(2).setText(contactInformation.getContactName()); + row.getCell(3).setText(contactInformation.getContactPhone()); + row.getCell(4).setText(datum.getRemark()); + if (i == 0) { + startRowNum = table.getRows().indexOf(row); + datum.setId(""); + datum.setCompanyName(""); + } + i++; + } + mergeCellsVertically(table, 0, startRowNum, (datum.getContactInformation().size() - 1) + startRowNum); + mergeCellsVertically(table, 1, startRowNum, (datum.getContactInformation().size() - 1) + startRowNum); + mergeCellsVertically(table, 4, startRowNum, (datum.getContactInformation().size() - 1) + startRowNum); + + } +// // 在该行中添加三个单元格 +// row.createCell(); +// row.createCell(); +// +// // 假设我们要拆分第一个单元格 +// int cellIndexToSplit = 0; +// +// // 获取要拆分的单元格 +// XWPFTableCell cellToSplit = row.getCell(cellIndexToSplit); +// +// // 获取原始单元格的内容 +// String originalText = cellToSplit.getText(); +// +// // 移除第一个单元格 +// row.removeCell(cellIndexToSplit); +// +// // 创建两个新单元格 +// XWPFTableCell newCell1 = row.createCell(); +// XWPFTableCell newCell2 = row.createCell(); +// +// // 设置新单元格的内容 +// newCell1.setText("First part of split"); +// newCell2.setText("Second part of split"); +// +// // 将新的单元格移到正确的位置 +// // POI中不能直接在特定位置插入新单元格,只能依次添加。 +// // 因此,我们需要重新调整所有单元格的顺序。 +// +// // 调整现有单元格的顺序,确保表格结构正确 +// XWPFTableCell thirdCell = row.getCell(2); // 获取原始的第三个单元格 +// row.removeCell(2); // 移除第三个单元格 +// row.addNewTableCell(); // 重新创建第二个单元格(此时是新创建的空单元格) +// row.addNewTableCell(); // 创建第三个单元格(空) + + // 将原始第三个单元格的内容移动到最后 +// row.getCell(2).setText(thirdCell.getText()); + +// // 创建表头 +// XWPFTableRow headerRow = table.getRow(0); +// headerRow.getCell(0).setText("专家编号"); +// headerRow.addNewTableCell().setText("专家姓名"); +// headerRow.addNewTableCell().setText("出版集团"); +// headerRow.addNewTableCell().setText("联系方式"); +// headerRow.addNewTableCell().setText("备注"); +// +// // 填充表格数据 +// for (LotteryProjectDto.ExtractExpertsInfo datum : data) { +// +// XWPFTableRow row = table.createRow(); +// row.getCell(0).setText(datum.getId()); +// row.getCell(1).setText(datum.getExpertName()); +// row.getCell(2).setText(datum.getWorkUnit()); +// row.getCell(3).setText(datum.getPhoneNumber()); +// row.getCell(4).setText(datum.getRemark()); +// } +// XWPFTableRow rowEnd = table.createRow(); +// XWPFTableCell cell = rowEnd.getCell(0); +// // 设置单元格的文本 +// // 获取或创建 TcPr(单元格属性) +// if (cell.getCTTc().getTcPr() == null) { +// cell.getCTTc().addNewTcPr(); +// } +// cell.setText("总人数: "+data.size()+" "); +// // 合并第一行的单元格,从第一个单元格到第5个单元格 +// for (int colIndex = 0; colIndex <= 4; colIndex++) { +// XWPFTableCell cell1 = rowEnd.getCell(colIndex); +// if (cell1.getCTTc().getTcPr() == null) { +// cell1.getCTTc().addNewTcPr(); +// } +// if (colIndex == 0) { +// // 设置起始单元格跨越的列数 +// cell1.getCTTc().getTcPr().addNewHMerge().setVal(STMerge.RESTART); +// } else { +// // 其他单元格设为继续合并 +// cell1.getCTTc().getTcPr().addNewHMerge().setVal(STMerge.CONTINUE); +// } +// } +// +// // 设置单元格文本向右对齐 +// cell.getParagraphs().get(0).setAlignment(ParagraphAlignment.RIGHT); +// +// for (XWPFTableRow row : table.getRows()) { +// for (XWPFTableCell tableCell : row.getTableCells()) { +// List paragraphs = tableCell.getParagraphs(); +// for (XWPFParagraph paragraph : paragraphs) { +// List runs = paragraph.getRuns(); +// for (XWPFRun xwpfRun : runs) { +// xwpfRun.setFontFamily("仿宋"); +// xwpfRun.setFontSize(10); +// } +// } +// } +// } + // 保存Word文档 + try (FileOutputStream fos = new FileOutputStream("/Users/yangzhenli/Documents/项目/jnpf/结果打印_out.docx")) { + doc.write(fos); + } + } + } + + private static void mergeCellsVertically(XWPFTable table, int col, int fromRow, int toRow) { + for (int rowIndex = fromRow; rowIndex <= toRow; rowIndex++) { + XWPFTableCell cell = table.getRow(rowIndex).getCell(col); + if (rowIndex == fromRow) { + // 设置合并的起始单元格的属性 + cell.getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.Enum.forString("restart")); + } else { + // 设置被合并的单元格的属性 + cell.getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.Enum.forString("continue")); + } + } + } +} + diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/impl/LotteryReviewServiceImpl.java b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/LotteryReviewServiceImpl.java new file mode 100644 index 0000000..b5a81cc --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/LotteryReviewServiceImpl.java @@ -0,0 +1,51 @@ +package jnpf.service.impl; + +import cn.hutool.core.util.StrUtil; +import jnpf.entity.LotteryReview; +import jnpf.exception.DataException; +import jnpf.mapper.LotteryReviewMapper; +import jnpf.model.dto.LotteryProjectDto; +import jnpf.service.ILotteryReviewService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + *

+ * 评审次数 服务实现类 + *

+ * + * @author admin + * @since 2024-08-30 + */ +@Service +public class LotteryReviewServiceImpl extends ServiceImpl implements ILotteryReviewService { + @Override + public LotteryProjectDto.QueryReviewResponse queryReviewInfo(String id) { + LotteryProjectDto.QueryReviewResponse queryReviewResponse = this.getBaseMapper().queryReviewInfo(id); + if (null==queryReviewResponse){ + throw new DataException("未找到评审次数信息"); + } + int extractExperts = 0; + if (null != queryReviewResponse.getExpertGroupInfo()) { + //抽取专家计算 + List expertGroupInfo = queryReviewResponse.getExpertGroupInfo(); + for (LotteryProjectDto.ExpertGroupInfo groupInfo : expertGroupInfo) { + String numberOfExtract = groupInfo.getNumberOfExtract(); + if (StrUtil.isBlank(numberOfExtract)) { + continue; + } + extractExperts += Integer.parseInt(numberOfExtract); + } + queryReviewResponse.setExtractExperts(extractExperts); + } + + //确认参加计算 + if (null != queryReviewResponse.getExtractExpertsInfo()) { +// queryReviewResponse.setExtractExperts(queryReviewResponse.getExtractExpertsInfo().size()); + queryReviewResponse.setConfirmParticipation(Integer.parseInt(queryReviewResponse.getExtractExpertsInfo().stream().filter(item -> StrUtil.equals(item.getStatus(), LotteryProjectDto.ConfirmEnum.JOIN.getCode())).count()+"")); + } + return queryReviewResponse; + } +} diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/impl/RedisSerialNumberGenerator.java b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/RedisSerialNumberGenerator.java new file mode 100644 index 0000000..8949323 --- /dev/null +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/RedisSerialNumberGenerator.java @@ -0,0 +1,33 @@ +package jnpf.service.impl; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Component; + +@Component +public class RedisSerialNumberGenerator { + + @Autowired + private RedisTemplate redisTemplate; + + private static final String SERIAL_KEY_PREFIX = "serial_number:"; + + /** + * 生成分布式流水号 + * + * @param key 业务相关的唯一标识符,用于区分不同业务的流水号 + * @return 生成的流水号 + */ + public long generateSerialNumber(String key) { + String redisKey = SERIAL_KEY_PREFIX + key; + // 使用Redis的INCR命令原子递增 + return redisTemplate.opsForValue().increment(redisKey); + } + + public long generateSerialNumber(String key,long defaultValue){ + String redisKey = SERIAL_KEY_PREFIX + key; + // 使用Redis的INCR命令原子递增 + return redisTemplate.opsForValue().increment(redisKey,defaultValue); + } +} \ No newline at end of file diff --git a/jnpf-tendering-biz/src/main/resources/mapper/Base_datainterfaceMapper.xml b/jnpf-tendering-biz/src/main/resources/mapper/Base_datainterfaceMapper.xml new file mode 100644 index 0000000..66c73f8 --- /dev/null +++ b/jnpf-tendering-biz/src/main/resources/mapper/Base_datainterfaceMapper.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeChildMapper.xml b/jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeChildMapper.xml new file mode 100644 index 0000000..66b04ab --- /dev/null +++ b/jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeChildMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeMapper.xml b/jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeMapper.xml new file mode 100644 index 0000000..9df8fad --- /dev/null +++ b/jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeMapper.xml @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + main + . + id + ,main.management_style ,main.project_number ,main.plan_submission_time ,main.reporting_corp ,main.tendering_entity ,main.project_name ,main.Item_classification ,main.organizational_form ,main.bidding_method ,main.reported_file_name ,main.bidding_document_id ,main.decision_procedure ,main.approval_documents_id ,main.final_approval_time ,main.setting_of_winning_bidder_one ,main.setting_of_winning_bidder_two ,main.scoring_indicator_settings_one ,main.scoring_indicator_settings_two ,main.scoring_indicator_settings_three ,main.scoring_indicator_settings_four ,main.agency_one ,main.agency_two ,main.scoring_method_one ,main.scoring_method_two ,main.approval_documents_id_two ,main.result_reporting_time ,main.result_reported_file_name ,main.bid_opening_time ,main.explanation_of_bid ,main.winning_bidder_and_winning_amount ,main.bid_evaluation_committee ,main.tender_agency_fee ,main.attachment_of_bidding_results_one_id ,main.attachment_of_bidding_results_two_id ,main.winning_bidder ,main.winning_bidder_candidate ,main.filing_decision_procedure ,main.filing_results_one_id ,main.filing_results_two_id ,main.approval_time_for_results ,main.f_flowid ,main.f_flowtaskid ,main.annex_programme_document ,main.main_status ,main.main_status_name,bid_winning_amount,is_approval,query_type,approval_documents_id_jt,archive_number,main.create_time,main.update_time,main.winning_bidder_type,main.winning_bidder_info,main.control_price,main.filing_results_three_id,main.project_amount,main.eval_setting,main.contract_period + + + id + ,relation_main_id ,relation_type ,relation_child_id ,deal_type ,deal_type_name ,other_relation_id ,remake ,create_time ,create_user_id ,create_user_name ,create_organization_id ,create_organization_name + + + + child_id + ,main_id ,child_status ,child_status_name ,user_dept_id ,user_dept_name ,user_id ,user_name ,remake ,create_time ,update_time ,root_child_flag ,root_child_id ,create_user_id ,create_user_name + + + + + + + diff --git a/jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeStepMapper.xml b/jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeStepMapper.xml new file mode 100644 index 0000000..ce0a859 --- /dev/null +++ b/jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeStepMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jnpf-tendering-biz/src/main/resources/mapper/Bidding_project_statisticsMapper.xml b/jnpf-tendering-biz/src/main/resources/mapper/Bidding_project_statisticsMapper.xml new file mode 100644 index 0000000..c6008a6 --- /dev/null +++ b/jnpf-tendering-biz/src/main/resources/mapper/Bidding_project_statisticsMapper.xml @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jnpf-tendering-biz/src/main/resources/mapper/ExpertMapper.xml b/jnpf-tendering-biz/src/main/resources/mapper/ExpertMapper.xml new file mode 100644 index 0000000..a276696 --- /dev/null +++ b/jnpf-tendering-biz/src/main/resources/mapper/ExpertMapper.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + ,expert_name ,expert_group ,company_name ,phone_number ,birthday ,expert_sources ,work_unit ,post ,technical_position ,professional_expertise ,sex ,working_years ,del_flag ,status ,data_type ,create_time ,create_id ,create_name ,update_time ,update_id ,update_name,contact_information + + + + diff --git a/jnpf-tendering-biz/src/main/resources/mapper/LotteryProjectMapper.xml b/jnpf-tendering-biz/src/main/resources/mapper/LotteryProjectMapper.xml new file mode 100644 index 0000000..e84d6fd --- /dev/null +++ b/jnpf-tendering-biz/src/main/resources/mapper/LotteryProjectMapper.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id ,status ,relation_id ,project_number ,project_name ,bid_opening_time ,bid_evaluation_time ,bid_evaluation_location ,agency ,status_name ,remake ,user_dept_name ,user_dept_id ,create_id ,create_time ,create_name ,update_id ,update_time ,update_name ,type ,del_flag,upload_results_info,lottery_type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id ,count ,relation_id ,expert_group_info ,extract_experts_info ,create_time ,del_flag + + + + + diff --git a/jnpf-tendering-biz/src/main/resources/mapper/LotteryReviewMapper.xml b/jnpf-tendering-biz/src/main/resources/mapper/LotteryReviewMapper.xml new file mode 100644 index 0000000..6276259 --- /dev/null +++ b/jnpf-tendering-biz/src/main/resources/mapper/LotteryReviewMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + id ,count ,relation_id ,expert_group_info ,extract_experts_info ,create_time ,del_flag + + + diff --git a/jnpf-library-controller/pom.xml b/jnpf-tendering-controller/pom.xml similarity index 83% rename from jnpf-library-controller/pom.xml rename to jnpf-tendering-controller/pom.xml index 5fa8e0d..1eea8ef 100644 --- a/jnpf-library-controller/pom.xml +++ b/jnpf-tendering-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"> - jnpf-library + jnpf-tendering com.jnpf 3.7.0-RELEASE 4.0.0 - jnpf-library-controller + jnpf-tendering-controller com.jnpf @@ -18,7 +18,7 @@ com.jnpf - jnpf-library-biz + jnpf-tendering-biz ${project.version} compile diff --git a/jnpf-tendering-controller/src/main/java/jnpf/controller/Base_datainterfaceController.java b/jnpf-tendering-controller/src/main/java/jnpf/controller/Base_datainterfaceController.java new file mode 100644 index 0000000..54e9760 --- /dev/null +++ b/jnpf-tendering-controller/src/main/java/jnpf/controller/Base_datainterfaceController.java @@ -0,0 +1,169 @@ +package jnpf.controller; + +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.base.vo.PageListVO; +import jnpf.base.vo.PaginationVO; +import jnpf.controller.util.SwapUtil; +import jnpf.entity.Base_datainterfaceEntity; +import jnpf.exception.DataException; +import jnpf.model.base_datainterface.*; +import jnpf.permission.entity.UserEntity; +import jnpf.service.Base_datainterfaceService; +import jnpf.util.*; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * base_datainterface + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-06-19 + */ +@Slf4j +@RestController +@Tag(name = "base_datainterface" , description = "example") +@RequestMapping("/Base_datainterface") +public class Base_datainterfaceController { + + @Autowired + private SwapUtil generaterSwapUtil; + + @Autowired + private UserProvider userProvider; + + @Autowired + private Base_datainterfaceService base_datainterfaceService; + + + + /** + * 列表 + * + * @param base_datainterfacePagination + * @return + */ + @Operation(summary = "获取列表") + @PostMapping("/getList") + public ActionResult list(@RequestBody Base_datainterfacePagination base_datainterfacePagination)throws IOException{ + List list= base_datainterfaceService.getList(base_datainterfacePagination); + List> realList=new ArrayList<>(); + for (Base_datainterfaceEntity entity : list) { + Map base_datainterfaceMap=JsonUtil.entityToMap(entity); + base_datainterfaceMap.put("id", base_datainterfaceMap.get("id")); + //副表数据 + //子表数据 + realList.add(base_datainterfaceMap); + } + //数据转换 + realList = generaterSwapUtil.swapDataList(realList, Base_datainterfaceConstant.getFormData(), Base_datainterfaceConstant.getColumnData(), base_datainterfacePagination.getModuleId(),false); + + //返回对象 + PageListVO vo = new PageListVO(); + vo.setList(realList); + PaginationVO page = JsonUtil.getJsonToBean(base_datainterfacePagination, PaginationVO.class); + vo.setPagination(page); + return ActionResult.success(vo); + } + /** + * 创建 + * + * @param base_datainterfaceForm + * @return + */ + @PostMapping() + @Transactional + @Operation(summary = "创建") + public ActionResult create(@RequestBody @Valid Base_datainterfaceForm base_datainterfaceForm) throws DataException { + String b = base_datainterfaceService.checkForm(base_datainterfaceForm,0); + if (StringUtil.isNotEmpty(b)){ + return ActionResult.fail(b ); + } + String mainId = RandomUtil.uuId() ; + UserInfo userInfo=userProvider.get(); + UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId()); + base_datainterfaceForm = JsonUtil.getJsonToBean( + SwapUtil.swapDatetime(Base_datainterfaceConstant.getFormData(),base_datainterfaceForm),Base_datainterfaceForm.class); + Base_datainterfaceEntity entity = JsonUtil.getJsonToBean(base_datainterfaceForm, Base_datainterfaceEntity.class); + entity.setId(mainId); + base_datainterfaceService.save(entity); + return ActionResult.success("创建成功"); + } + /** + * 编辑 + * @param id + * @param base_datainterfaceForm + * @return + */ + @PutMapping("/{id}") + @Transactional + @Operation(summary = "更新") + public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid Base_datainterfaceForm base_datainterfaceForm) throws DataException { + String b = base_datainterfaceService.checkForm(base_datainterfaceForm,1); + if (StringUtil.isNotEmpty(b)){ + return ActionResult.fail(b ); + } + UserInfo userInfo=userProvider.get(); + Base_datainterfaceEntity entity= base_datainterfaceService.getInfo(id); + if(entity!=null){ + base_datainterfaceForm = JsonUtil.getJsonToBean( + SwapUtil.swapDatetime(Base_datainterfaceConstant.getFormData(),base_datainterfaceForm),Base_datainterfaceForm.class); + Base_datainterfaceEntity subentity=JsonUtil.getJsonToBean(base_datainterfaceForm, Base_datainterfaceEntity.class); + boolean b1 = base_datainterfaceService.updateById(subentity); + if (!b1){ + 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){ + Base_datainterfaceEntity entity= base_datainterfaceService.getInfo(id); + if(entity!=null){ + //主表数据删除 + base_datainterfaceService.delete(entity); + } + return ActionResult.success("删除成功"); + } + /** + * 获取详情(编辑页) + * 编辑页面使用-不转换数据 + * @param id + * @return + */ + @Operation(summary = "信息") + @GetMapping("/{id}") + public ActionResult info(@PathVariable("id") String id){ + Base_datainterfaceEntity entity= base_datainterfaceService.getInfo(id); + if(entity==null){ + return ActionResult.fail("表单数据不存在!"); + } + Map base_datainterfaceMap=JsonUtil.entityToMap(entity); + base_datainterfaceMap.put("id", base_datainterfaceMap.get("id")); + //副表数据 + //子表数据 + base_datainterfaceMap = generaterSwapUtil.swapDataForm(base_datainterfaceMap,Base_datainterfaceConstant.getFormData(),Base_datainterfaceConstant.TABLEFIELDKEY,Base_datainterfaceConstant.TABLERENAMES); + return ActionResult.success(base_datainterfaceMap); + } + +} diff --git a/jnpf-tendering-controller/src/main/java/jnpf/controller/BiddingProjectSubscribeController.java b/jnpf-tendering-controller/src/main/java/jnpf/controller/BiddingProjectSubscribeController.java new file mode 100644 index 0000000..9b62ee5 --- /dev/null +++ b/jnpf-tendering-controller/src/main/java/jnpf/controller/BiddingProjectSubscribeController.java @@ -0,0 +1,339 @@ +package jnpf.controller; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import cn.xuyanwu.spring.file.storage.FileInfo; +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.base.vo.DownloadVO; +import jnpf.base.vo.PageListVO; +import jnpf.base.vo.PaginationVO; +import jnpf.constant.FileTypeConstant; +import jnpf.controller.util.SwapUtil; +import jnpf.entity.BiddingProjectSubscribeEntity; +import jnpf.exception.DataException; +import jnpf.file.FileApi; +import jnpf.file.FileUploadApi; +import jnpf.model.bidding_project_subscribe.*; +import jnpf.model.dto.BiddingProjectDto; +import jnpf.permission.entity.UserEntity; +import jnpf.service.BiddingProjectSubscribeService; +import jnpf.util.*; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.Valid; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * bidding_project_subscribe + * + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-06-11 + */ +@Slf4j +@RestController +@Tag(name = "bidding_project_subscribe", description = "example") +@RequestMapping("/Bidding_project_subscribe") +@AllArgsConstructor +public class BiddingProjectSubscribeController { + + private final SwapUtil generaterSwapUtil; + private final FileApi fileApi; + private final FileUploadApi fileUploadApi; + + + private final UserProvider userProvider; + + + private final BiddingProjectSubscribeService biddingProjectSubscribeService; + + + /** + * 列表 + * + * @param biddingProjectSubscribePagination + * @return + */ + @Operation(summary = "获取列表") + @PostMapping("/getList") + public ActionResult list(@RequestBody BiddingProjectSubscribePagination biddingProjectSubscribePagination) throws IOException { + List list = biddingProjectSubscribeService.getList(biddingProjectSubscribePagination); + List> realList = new ArrayList<>(); +// // 方式一:使用fastjson +// SerializeConfig config = new SerializeConfig(); +// config.propertyNamingStrategy = PropertyNamingStrategy.SnakeCase; + for (BiddingProjectSubscribeEntity entity : list) { + + + Map bidding_project_subscribeMap = JsonUtil.entityToMap(entity); + +// Map bidding_project_subscribeMap= JSON.parseObject(text,Map.class); + bidding_project_subscribeMap.put("id", bidding_project_subscribeMap.get("id")); + //副表数据 + //子表数据 + realList.add(bidding_project_subscribeMap); + } + //数据转换 + realList = generaterSwapUtil.swapDataList(realList, BiddingProjectSubscribeConstant.getFormData(), BiddingProjectSubscribeConstant.getColumnData(), biddingProjectSubscribePagination.getModuleId(), false); + +// // 创建ObjectMapper实例 +// ObjectMapper objectMapper = new ObjectMapper(); +// +// // 配置ObjectMapper将驼峰转换为下划线 +// objectMapper.setPropertyNamingStrategy(Pro pertyNamingStrategies.SNAKE_CASE); +// +// // 禁用默认的换行输出 +// objectMapper.configure(SerializationFeature.INDENT_OUTPUT, false); +// for (Map map : realList) { +// String json = objectMapper.writeValueAsString(map); +// System.out.println(json); +// } + //返回对象 + PageListVO vo = new PageListVO(); + vo.setList(realList); + PaginationVO page = JsonUtil.getJsonToBean(biddingProjectSubscribePagination, PaginationVO.class); + vo.setPagination(page); + return ActionResult.success(vo); + } + + /** + * 创建 + * + * @param bidding_project_subscribeForm + * @return + */ + @PostMapping() + @Transactional + @Operation(summary = "创建") + public ActionResult create(@RequestBody @Valid BiddingProjectSubscribeForm bidding_project_subscribeForm) throws DataException { + String b = biddingProjectSubscribeService.checkForm(bidding_project_subscribeForm, 0); + if (StringUtil.isNotEmpty(b)) { + return ActionResult.fail(b); + } + String oldBidOpeningTime = bidding_project_subscribeForm.getBidOpeningTime(); + String mainId = RandomUtil.uuId(); + UserInfo userInfo = userProvider.get(); + UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId()); + bidding_project_subscribeForm = JsonUtil.getJsonToBean( + SwapUtil.swapDatetime(BiddingProjectSubscribeConstant.getFormData(), bidding_project_subscribeForm), BiddingProjectSubscribeForm.class); + BiddingProjectSubscribeEntity entity = JsonUtil.getJsonToBean(bidding_project_subscribeForm, BiddingProjectSubscribeEntity.class); + entity.setPlanSubmissionTime(new Date()); + if (bidding_project_subscribeForm.getManagementStyle().equals("2")) { + entity.setResultReportingTime(new Date()); + entity.setIsApproval(true); + } + entity.setFlowtaskid(mainId); + if (StrUtil.isNotBlank(oldBidOpeningTime)) { + entity.setBidOpeningTime(new Date(Long.parseLong(oldBidOpeningTime))); + } + entity.setCreateTime(LocalDateTime.now()); + entity.setUpdateTime(LocalDateTime.now()); + checkProjectAmount(entity); + biddingProjectSubscribeService.saveOrUpdate(entity); + if (StringUtil.equals(bidding_project_subscribeForm.getSaveType(), "1")) { + //修改流程 查询领导 新增子单数据 记录流程 + biddingProjectSubscribeService.updateFlow(userEntity, entity, true); + } else { + biddingProjectSubscribeService.temporaryStorage(userEntity, entity); + } + return ActionResult.success("创建成功"); + } + + private void checkProjectAmount(BiddingProjectSubscribeEntity entity) { + if (null==entity.getWinningBidderInfo())return; + if (StrUtil.isBlank(entity.getWinningBidderType()))return; + switch (entity.getWinningBidderType()){ + case "1": + entity.setProjectAmount(entity.getWinningBidderInfo().stream() + .map(BiddingProjectDto.WinningBidderParam::getAmount) + .mapToDouble(Double::parseDouble) + .sum()); + break; + case "2": + Double top = entity.getWinningBidderInfo().stream() + .map(BiddingProjectDto.WinningBidderParam::getAmount) + .mapToDouble(Double::parseDouble) + .sum(); + for (BiddingProjectDto.WinningBidderParam winningBidderParam : entity.getWinningBidderInfo()) { + if (CollectionUtil.isEmpty(winningBidderParam.getChildren()))continue; + top+=winningBidderParam.getChildren().stream() + .map(BiddingProjectDto.BaseWinningBidderParam::getAmount) + .mapToDouble(Double::parseDouble) + .sum(); + } + entity.setProjectAmount(top); + break; + default: + return; + } + } + + + @Operation(summary = "审核") + @PostMapping("/auditing") + public ActionResult auditing(@RequestBody BiddingProjectDto.AuditingParam param) throws IOException { + biddingProjectSubscribeService.auditing(param); + return ActionResult.success("审核成功"); + } + + @Operation(summary = "归档") + @PostMapping("/archivist") + public ActionResult archivist(@RequestBody BiddingProjectDto.ArchivistParam param) throws IOException { + biddingProjectSubscribeService.archivist(param); + return ActionResult.success("归档完成"); + } + + + @Operation(summary = "获取当前人层级层级") + @GetMapping("/obtainHierarchy") + public ActionResult obtainHierarchy() throws IOException { + String hierarchy = biddingProjectSubscribeService.obtainHierarchy(); + return ActionResult.success(hierarchy); + } + + @Operation(summary = "获取招标填报人员层级") + @GetMapping("/obtainHierarchyOfCreate") + public ActionResult obtainHierarchyOfCreate(@RequestParam String id) throws IOException { + String hierarchy = biddingProjectSubscribeService.obtainHierarchyOfCreate(id); + return ActionResult.success(hierarchy); + } + + @Operation(summary = "终止项目") + @PostMapping("/termination") + public ActionResult termination(@RequestParam String id) throws IOException { + biddingProjectSubscribeService.termination(id); + return ActionResult.success("操作成功"); + } + + @Operation(summary = "获取全部文件") + @GetMapping("/getAllFileInfo") + public ActionResult getAllFileInfo(@RequestParam String id) throws IOException { + return ActionResult.success(biddingProjectSubscribeService.getAllFileInfo(id)); + } + + /** + * 编辑 + * + * @param id + * @param bidding_project_subscribeForm + * @return + */ + @PutMapping("/{id}") + @Transactional + @Operation(summary = "更新") + public ActionResult update(@PathVariable("id") String id, @RequestBody @Valid BiddingProjectSubscribeForm bidding_project_subscribeForm) throws DataException { + String b = biddingProjectSubscribeService.checkForm(bidding_project_subscribeForm, 1); + if (StringUtil.isNotEmpty(b)) { + return ActionResult.fail(b); + } + String oldBidOpeningTime = bidding_project_subscribeForm.getBidOpeningTime(); + UserInfo userInfo = userProvider.get(); + BiddingProjectSubscribeEntity entity = biddingProjectSubscribeService.getInfo(id); + if (entity != null) { + bidding_project_subscribeForm = JsonUtil.getJsonToBean( + generaterSwapUtil.swapDatetime(BiddingProjectSubscribeConstant.getFormData(), bidding_project_subscribeForm), BiddingProjectSubscribeForm.class); + BiddingProjectSubscribeEntity subentity = JsonUtil.getJsonToBean(bidding_project_subscribeForm, BiddingProjectSubscribeEntity.class); + if (StrUtil.isNotBlank(oldBidOpeningTime)) { + entity.setBidOpeningTime(new Date(Long.parseLong(oldBidOpeningTime))); + } + subentity.setUpdateTime(LocalDateTime.now()); + subentity.setCreateTime(entity.getCreateTime()); + checkProjectAmount(subentity); +// subentity.setWinningBidderInfo(entity.getWinningBidderInfo()); +// subentity.setWinningBidderType(entity.getWinningBidderType()); + boolean b1 = biddingProjectSubscribeService.updateById(subentity); + if (!b1) { + return ActionResult.fail("当前表单原数据已被调整,请重新进入该页面编辑并提交数据"); + } + biddingProjectSubscribeService.updateFlowByUser(entity); + return ActionResult.success("更新成功"); + } else { + return ActionResult.fail("更新失败,数据不存在"); + } + } + + /** + * 删除 + * + * @param id + * @return + */ + @Operation(summary = "删除") + @DeleteMapping("/{id}") + @Transactional + public ActionResult delete(@PathVariable("id") String id) { + BiddingProjectSubscribeEntity entity = biddingProjectSubscribeService.getInfo(id); + if (entity != null) { + //主表数据删除 + biddingProjectSubscribeService.delete(entity); + + } + return ActionResult.success("删除成功"); + } + + /** + * 获取详情(编辑页) + * 编辑页面使用-不转换数据 + * + * @param id + * @return + */ + @Operation(summary = "信息") + @GetMapping("/{id}") + public ActionResult info(@PathVariable("id") String id) { + BiddingProjectSubscribeEntity entity = biddingProjectSubscribeService.getInfo(id); + if (entity == null) { + return ActionResult.fail("表单数据不存在!"); + } + Map bidding_project_subscribeMap = JsonUtil.entityToMap(entity); + bidding_project_subscribeMap.put("id", bidding_project_subscribeMap.get("id")); + //副表数据 + //子表数据 + bidding_project_subscribeMap = generaterSwapUtil.swapDataForm(bidding_project_subscribeMap, BiddingProjectSubscribeConstant.getFormData(), BiddingProjectSubscribeConstant.TABLEFIELDKEY, BiddingProjectSubscribeConstant.TABLERENAMES); + return ActionResult.success(bidding_project_subscribeMap); + } + + /** + * @param type 1-备案表 2-审批 3-结果 + * @return + */ + @Operation(summary = "下载文件") + @GetMapping("/download/{id}/{type}") + public ActionResult download(@PathVariable("id") String id, @PathVariable("type") String type) { + DownloadVO vo = DownloadVO.builder().build(); + MultipartFile multipartFile = biddingProjectSubscribeService.download(id, type); + String temporaryFilePath = fileApi.getPath(FileTypeConstant.TEMPORARY); + FileInfo fileInfo = fileUploadApi.uploadFile(multipartFile, temporaryFilePath, multipartFile.getOriginalFilename()); + vo.setName(fileInfo.getFilename()); + vo.setUrl(UploaderUtil.uploaderFile(fileInfo.getFilename() + "#" + "Temporary") + "&name=" + multipartFile.getOriginalFilename()); + return ActionResult.success(vo); + } + + @Operation(summary = "下载文件") + @PostMapping("/download/{id}/{type}") + public ActionResult download2(@PathVariable("id") String id, @PathVariable("type") String type,@RequestBody BiddingProjectSubscribeForm form) { + DownloadVO vo = DownloadVO.builder().build(); + BiddingProjectSubscribeEntity entity = JsonUtil.getJsonToBean(form, BiddingProjectSubscribeEntity.class); + MultipartFile multipartFile = biddingProjectSubscribeService.download(id, type,entity); + String temporaryFilePath = fileApi.getPath(FileTypeConstant.TEMPORARY); + FileInfo fileInfo = fileUploadApi.uploadFile(multipartFile, temporaryFilePath, multipartFile.getOriginalFilename()); + vo.setName(fileInfo.getFilename()); + vo.setUrl(UploaderUtil.uploaderFile(fileInfo.getFilename() + "#" + "Temporary") + "&name=" + multipartFile.getOriginalFilename()); + return ActionResult.success(vo); + } + +} diff --git a/jnpf-tendering-controller/src/main/java/jnpf/controller/Bidding_project_statisticsController.java b/jnpf-tendering-controller/src/main/java/jnpf/controller/Bidding_project_statisticsController.java new file mode 100644 index 0000000..657b91b --- /dev/null +++ b/jnpf-tendering-controller/src/main/java/jnpf/controller/Bidding_project_statisticsController.java @@ -0,0 +1,446 @@ +package jnpf.controller; + +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; +import cn.hutool.core.util.StrUtil; +import cn.xuyanwu.spring.file.storage.FileInfo; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jnpf.base.ActionResult; +import jnpf.base.DictionaryDataApi; +import jnpf.base.UserInfo; +import jnpf.base.entity.DictionaryDataEntity; +import jnpf.base.vo.DownloadVO; +import jnpf.base.vo.PageListVO; +import jnpf.base.vo.PaginationVO; +import jnpf.config.ConfigValueUtil; +import jnpf.constant.FileTypeConstant; +import jnpf.controller.util.SwapUtil; +import jnpf.entity.Bidding_project_statisticsEntity; +import jnpf.exception.DataException; +import jnpf.file.FileApi; +import jnpf.file.FileUploadApi; +import jnpf.model.bidding_project_statistics.*; +import jnpf.model.dto.BiddingProjectDto; +import jnpf.permission.entity.UserEntity; +import jnpf.service.Bidding_project_statisticsService; +import jnpf.util.*; +import lombok.Cleanup; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Workbook; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.io.IOException; +import java.util.*; +import java.util.stream.Collectors; + +/** + * bidding_project_statistics + * + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-06-13 + */ +@Slf4j +@RestController +@Tag(name = "bidding_project_statistics", description = "example") +@RequestMapping("/Bidding_project_statistics") +public class Bidding_project_statisticsController { + + @Autowired + private SwapUtil generaterSwapUtil; + + @Autowired + private UserProvider userProvider; + + @Autowired + private Bidding_project_statisticsService bidding_project_statisticsService; + @Resource + private DictionaryDataApi dictionaryDataApi; + + + @Autowired + private ConfigValueUtil configValueUtil; + + @Autowired + private FileUploadApi fileUploadApi; + + @Autowired + private FileApi fileApi; + + /** + * 列表 + * + * @param bidding_project_statisticsPagination + * @return + */ + @Operation(summary = "获取列表") + @PostMapping("/getList") + public ActionResult list(@RequestBody Bidding_project_statisticsPagination bidding_project_statisticsPagination) throws IOException { + List> list = bidding_project_statisticsService.getList(bidding_project_statisticsPagination); + List> realList = new ArrayList<>(); + if (StrUtil.equalsAny(bidding_project_statisticsPagination.getQueryType(), "1","3")) { + for (Map entity : list) { + Map bidding_project_statisticsMap = JsonUtil.entityToMap(entity); + bidding_project_statisticsMap.put("id", bidding_project_statisticsMap.get("id")); + //副表数据 + //子表数据 + realList.add(bidding_project_statisticsMap); + } + } else { + List dataList = dictionaryDataApi.getList("dc6b2542d94b5434fc61ec1d59592901"); + for (Map entity : list) { + Map bidding_project_statisticsMap = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + // 检查o1是否为"上报单位",如果是,则将其排在所有其他字符串之前 + if (StrUtil.equals(o1, "上报单位")) { + return -1; // 返回-1,表示o1应该排在o2之前 + } + if (StrUtil.equals(o1, "机构数量")) { + // 如果o2是"上报单位",则o1(即"机构数量")应该排在o2之后 + if (StrUtil.equals(o2, "上报单位")) { + return 1; // 返回1,表示o1应该排在o2之后 + } + return -1; // 返回-1,表示o1应该排在o2之前 + } + // 如果o1既不是"上报单位"也不是"机构数量",则检查o2是否为这两个特殊字符串之一 + if (StrUtil.equals(o2, "上报单位") || StrUtil.equals(o2, "机构数量")) { + return 1; // 返回1,表示o1应该排在o2之后 + } + if (StrUtil.equals(o1, "无")) { + return 1; + } + return o1.compareTo(o2); + } + }); + for (String key : entity.keySet()) { + if (StrUtil.equals(key, "reportingUnit")) { + bidding_project_statisticsMap.put("上报单位", entity.get(key)); + continue; + } + if (StrUtil.equals(key, "projectsNums")) { + bidding_project_statisticsMap.put("机构数量", entity.get(key)); + continue; + } + Optional first = dataList.stream().filter(data -> data.getSimpleSpelling().equals(key)).findFirst(); + if (!first.isPresent()) { + continue; + } + bidding_project_statisticsMap.put(first.get().getFullName(), entity.get(key)); + } + realList.add(bidding_project_statisticsMap); + } + } + //数据转换 +// realList = generaterSwapUtil.swapDataList(realList, Bidding_project_statisticsConstant.getFormData(), Bidding_project_statisticsConstant.getColumnData(), bidding_project_statisticsPagination.getModuleId(),false); + + //返回对象 + PageListVO vo = new PageListVO(); + vo.setList(realList); + PaginationVO page = JsonUtil.getJsonToBean(bidding_project_statisticsPagination, PaginationVO.class); + vo.setPagination(page); + return ActionResult.success(realList); + } + + /** + * 导出Excel + * + * @return + */ + @Operation(summary = "导出Excel") + @PostMapping("/Actions/Export") + public ActionResult Export(@RequestBody Bidding_project_statisticsPagination bidding_project_statisticsPagination) throws IOException { + List> list = bidding_project_statisticsService.getList(bidding_project_statisticsPagination); + List> realList = new ArrayList<>(); + for (Map entity : list) { + Map bidding_project_statisticsMap = JsonUtil.entityToMap(entity); + bidding_project_statisticsMap.put("id", bidding_project_statisticsMap.get("id")); + //副表数据 + //子表数据 + realList.add(bidding_project_statisticsMap); + } + //数据转换 +// realList = generaterSwapUtil.swapDataList(realList, Bidding_project_statisticsConstant.getFormData(), Bidding_project_statisticsConstant.getColumnData(), bidding_project_statisticsPagination.getModuleId(), false); + UserInfo userInfo = userProvider.get(); + DownloadVO vo = null; + if (StrUtil.equalsAny(bidding_project_statisticsPagination.getQueryType(), "1")) { + String[] keys = {"reportingUnit", + "projectsNums", + "engineering", + "goods", + "service", + "rentOut", + "agency1", + "other" + }; + vo = this.creatModelExcel(fileApi.getPath(FileTypeConstant.TEMPORARY), realList, Arrays.asList(keys), userInfo, bidding_project_statisticsPagination.getQueryType()); + + }else if (StrUtil.equalsAny(bidding_project_statisticsPagination.getQueryType(), "3")){ + String[] keys = {"reportingUnit", + "projectsAmount", + "engineering", + "goods", + "service", + "rentOut", + "agency1", + "other" + }; + vo = this.creatModelExcel(fileApi.getPath(FileTypeConstant.TEMPORARY), realList, Arrays.asList(keys), userInfo, bidding_project_statisticsPagination.getQueryType()); + }else { + //查询字典表 + List dataList = dictionaryDataApi.getList("dc6b2542d94b5434fc61ec1d59592901"); + vo = this.creatModelExcel(fileApi.getPath(FileTypeConstant.TEMPORARY), realList, dataList.stream().map(DictionaryDataEntity::getSimpleSpelling).collect(Collectors.toList()), userInfo, bidding_project_statisticsPagination.getQueryType()); + + } + return ActionResult.success(vo); + } + + /** + * 导出表格方法 + */ + public DownloadVO creatModelExcel(String path, List> list, List keys, UserInfo userInfo, String queryType) { + DownloadVO vo = DownloadVO.builder().build(); + List entitys = new ArrayList<>(); + if (StrUtil.equals(queryType, "1")) { + if (keys.size() > 0) { + for (String key : keys) { + switch (key) { + case "reportingUnit": + entitys.add(new ExcelExportEntity("上报单位", "reportingUnit",21)); + break; + case "projectsNums": + entitys.add(new ExcelExportEntity("项目数量", "projectsNums",20)); + break; + case "engineering": + entitys.add(new ExcelExportEntity("工程", "engineering",10)); + break; + case "goods": + entitys.add(new ExcelExportEntity("货物", "goods",10)); + break; + case "service": + entitys.add(new ExcelExportEntity("服务", "service",10)); + break; + case "rentOut": + entitys.add(new ExcelExportEntity("不动产出租", "rentOut",14)); + break; + case "agency1": + entitys.add(new ExcelExportEntity("资产处置", "agency1",11)); + break; + case "other": + entitys.add(new ExcelExportEntity("其他", "other",10)); + break; + default: + break; + } + } + List keylist = keys; + } + } else if (StrUtil.equals(queryType, "3")) { + if (keys.size() > 0) { + for (String key : keys) { + switch (key) { + case "reportingUnit": + entitys.add(new ExcelExportEntity("上报单位", "reportingUnit",21)); + break; + case "projectsAmount": + entitys.add(new ExcelExportEntity("项目总金额", "projectsAmount",21)); + break; + case "engineering": + entitys.add(new ExcelExportEntity("工程", "engineering",10)); + break; + case "goods": + entitys.add(new ExcelExportEntity("货物", "goods",10)); + break; + case "service": + entitys.add(new ExcelExportEntity("服务", "service",10)); + break; + case "rentOut": + entitys.add(new ExcelExportEntity("不动产出租", "rentOut",14)); + break; + case "agency1": + entitys.add(new ExcelExportEntity("资产处置", "agency1",11)); + break; + case "other": + entitys.add(new ExcelExportEntity("其他", "other",10)); + break; + default: + break; + } + } + List keylist = keys; + } + } else { + List dataList = dictionaryDataApi.getList("dc6b2542d94b5434fc61ec1d59592901"); + entitys.add(new ExcelExportEntity("上报单位", "reportingUnit",21)); + entitys.add(new ExcelExportEntity("机构数量", "projectsNums",20)); + for (DictionaryDataEntity dictionaryDataEntity : dataList) { + entitys.add(new ExcelExportEntity(dictionaryDataEntity.getFullName(), dictionaryDataEntity.getSimpleSpelling(),21)); + } + + } + String excelName = StrUtil.equals(queryType, "1") ? "项目数量统计" : "机构数量统计"; + ExportParams exportParams = new ExportParams(null, excelName); + 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); + } + } + workbook = ExcelExportUtil.exportExcel(exportParams, entitys, dataList); + } + String fileName = excelName + DateUtil.dateNow("yyyyMMdd") + "_" + RandomUtil.uuId() + ".xlsx"; + MultipartFile multipartFile = ExcelUtil.workbookToCommonsMultipartFile(workbook, fileName); + String temporaryFilePath = fileApi.getPath(FileTypeConstant.TEMPORARY); + FileInfo fileInfo = fileUploadApi.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("/getProjectNameList") + public ActionResult getProjectNameList(@RequestBody BiddingProjectDto.GetProjectNameList param) { + return ActionResult.success(bidding_project_statisticsService.getProjectNameList(param)); + } + + /** + * 创建 + * + * @param bidding_project_statisticsForm + * @return + */ + @PostMapping() + @Transactional + @Operation(summary = "创建") + public ActionResult create(@RequestBody @Valid Bidding_project_statisticsForm bidding_project_statisticsForm) throws DataException { + String b = bidding_project_statisticsService.checkForm(bidding_project_statisticsForm, 0); + if (StringUtil.isNotEmpty(b)) { + return ActionResult.fail(b); + } + String mainId = RandomUtil.uuId(); + UserInfo userInfo = userProvider.get(); + UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId()); + bidding_project_statisticsForm = JsonUtil.getJsonToBean( + SwapUtil.swapDatetime(Bidding_project_statisticsConstant.getFormData(), bidding_project_statisticsForm), Bidding_project_statisticsForm.class); + Bidding_project_statisticsEntity entity = JsonUtil.getJsonToBean(bidding_project_statisticsForm, Bidding_project_statisticsEntity.class); + entity.setId(mainId); + bidding_project_statisticsService.save(entity); + return ActionResult.success("创建成功"); + } + + /** + * 编辑 + * + * @param id + * @param bidding_project_statisticsForm + * @return + */ + @PutMapping("/{id}") + @Transactional + @Operation(summary = "更新") + public ActionResult update(@PathVariable("id") String id, @RequestBody @Valid Bidding_project_statisticsForm bidding_project_statisticsForm) throws DataException { + String b = bidding_project_statisticsService.checkForm(bidding_project_statisticsForm, 1); + if (StringUtil.isNotEmpty(b)) { + return ActionResult.fail(b); + } + UserInfo userInfo = userProvider.get(); + Bidding_project_statisticsEntity entity = bidding_project_statisticsService.getInfo(id); + if (entity != null) { + bidding_project_statisticsForm = JsonUtil.getJsonToBean( + SwapUtil.swapDatetime(Bidding_project_statisticsConstant.getFormData(), bidding_project_statisticsForm), Bidding_project_statisticsForm.class); + Bidding_project_statisticsEntity subentity = JsonUtil.getJsonToBean(bidding_project_statisticsForm, Bidding_project_statisticsEntity.class); + boolean b1 = bidding_project_statisticsService.updateById(subentity); + if (!b1) { + 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) { + Bidding_project_statisticsEntity entity = bidding_project_statisticsService.getInfo(id); + if (entity != null) { + //主表数据删除 + bidding_project_statisticsService.delete(entity); + } + return ActionResult.success("删除成功"); + } + + /** + * 获取详情(编辑页) + * 编辑页面使用-不转换数据 + * + * @param id + * @return + */ + @Operation(summary = "信息") + @GetMapping("/{id}") + public ActionResult info(@PathVariable("id") String id) { + Bidding_project_statisticsEntity entity = bidding_project_statisticsService.getInfo(id); + if (entity == null) { + return ActionResult.fail("表单数据不存在!"); + } + Map bidding_project_statisticsMap = JsonUtil.entityToMap(entity); + bidding_project_statisticsMap.put("id", bidding_project_statisticsMap.get("id")); + //副表数据 + //子表数据 + bidding_project_statisticsMap = generaterSwapUtil.swapDataForm(bidding_project_statisticsMap, Bidding_project_statisticsConstant.getFormData(), Bidding_project_statisticsConstant.TABLEFIELDKEY, Bidding_project_statisticsConstant.TABLERENAMES); + return ActionResult.success(bidding_project_statisticsMap); + } + +} diff --git a/jnpf-tendering-controller/src/main/java/jnpf/controller/ContractController.java b/jnpf-tendering-controller/src/main/java/jnpf/controller/ContractController.java new file mode 100644 index 0000000..86b987d --- /dev/null +++ b/jnpf-tendering-controller/src/main/java/jnpf/controller/ContractController.java @@ -0,0 +1,124 @@ +package jnpf.controller; + + +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import jnpf.base.controller.SuperController; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import jnpf.base.ActionResult; +import jnpf.base.Pagination; +import jnpf.base.vo.PageListVO; +import jnpf.base.vo.PaginationVO; +import jnpf.constant.MsgCode; +import jnpf.entity.ContractEntity; +import jnpf.model.ContractForm; +import jnpf.model.ContractInfoVO; +import jnpf.model.ContractListVO; +import jnpf.service.ContractService; +import jnpf.util.JsonUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * Contract + * 版本: V3.0.0 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2020-12-31 + */ +@RestController +@Tag(name = "示例接口", description = "Contract") +@RequestMapping("/Contract") +public class ContractController extends SuperController { + + @Autowired + private ContractService contractService; + + /** + * 获取列表 + * + * @param pagination 分页模型 + * @return + */ + @Operation(summary = "获取列表") + @GetMapping("/List") + public ActionResult> list(Pagination pagination) { + List entity = contractService.getlist(pagination); + List listVo = JsonUtil.getJsonToList(JsonUtil.getObjectToStringDateFormat(entity, "yyyy-MM-dd HH:mm:ss"), ContractListVO.class); + PaginationVO vo = JsonUtil.getJsonToBean(pagination, PaginationVO.class); + return ActionResult.page(listVo, vo); + } + + /** + * 获取详情 + * + * @param id 主键 + * @return + */ + @Operation(summary = "获取详情") + @GetMapping("/{id}") + @Parameters({ + @Parameter(name = "id", description = "主键", required = true), + }) + public ActionResult info(@PathVariable("id") String id) { + ContractEntity entity = contractService.getInfo(id); + ContractInfoVO vo = JsonUtil.getJsonToBean(entity, ContractInfoVO.class); + return ActionResult.success(vo); + } + + /** + * 新建 + * + * @param contractForm 新建模型 + * @return + */ + @Operation(summary = "新建") + @PostMapping + @Parameters({ + @Parameter(name = "contractForm", description = "示例模型",required = true), + }) + public ActionResult create(@RequestBody @Valid ContractForm contractForm) { + ContractEntity entity = JsonUtil.getJsonToBean(contractForm, ContractEntity.class); + contractService.create(entity); + return ActionResult.success(MsgCode.SU002.get()); + } + + /** + * @param id 主键 + * @param contractForm 修改模型 + * @return + */ + @Operation(summary = "修改") + @PutMapping("/{id}") + @Parameters({ + @Parameter(name = "contractForm", description = "示例模型",required = true), + @Parameter(name = "id", description = "主键", required = true), + }) + public ActionResult update(@PathVariable("id") String id, @RequestBody @Valid ContractForm contractForm) { + ContractEntity entity = JsonUtil.getJsonToBean(contractForm, ContractEntity.class); + contractService.update(id, entity); + return ActionResult.success(MsgCode.SU002.get()); + } + + /** + * 删除 + * + * @param id 主键 + * @return + */ + @Operation(summary = "删除") + @DeleteMapping("/{id}") + @Parameters({ + @Parameter(name = "id", description = "主键", required = true), + }) + public ActionResult delete(@PathVariable("id") String id) { + ContractEntity entity = contractService.getInfo(id); + contractService.delete(entity); + return ActionResult.success(MsgCode.SU003.get()); + } + +} diff --git a/jnpf-tendering-controller/src/main/java/jnpf/controller/ExpertController.java b/jnpf-tendering-controller/src/main/java/jnpf/controller/ExpertController.java new file mode 100644 index 0000000..08cdffa --- /dev/null +++ b/jnpf-tendering-controller/src/main/java/jnpf/controller/ExpertController.java @@ -0,0 +1,93 @@ +package jnpf.controller; + + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.dev33.satoken.annotation.SaMode; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; +import com.alibaba.fastjson.parser.Feature; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jnpf.base.ActionResult; +import jnpf.base.vo.ListVO; +import jnpf.constant.PermissionConst; +import jnpf.model.dto.ExpertDto; +import jnpf.model.dto.IndicatorStatisticsDto; +import jnpf.permission.entity.OrganizeAdministratorEntity; +import jnpf.permission.entity.OrganizeEntity; +import jnpf.permission.model.organize.OrganizeListVO; +import jnpf.permission.model.organize.OrganizeModel; +import jnpf.permission.model.organize.PaginationOrganize; +import jnpf.service.ExpertService; +import jnpf.service.IndicatorStatisticsService; +import jnpf.util.JsonUtil; +import jnpf.util.StringUtil; +import jnpf.util.treeutil.SumTree; +import jnpf.util.treeutil.newtreeutil.TreeDotUtils; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.*; + +@RestController +@Api("专家管理相关接口") +@RequestMapping("/expert") +@AllArgsConstructor +public class ExpertController { + private final ExpertService expertService; + + + @Operation(summary = "获取组织列表") + @GetMapping("getOrganizationList") + public ActionResult> getOrganizationList(PaginationOrganize pagination) { + List listVO = expertService.getOrganizationList(pagination); + ListVO vo = new ListVO<>(); + vo.setList(listVO); + return ActionResult.success(vo); + } + + @Operation(summary = "新增专家/公司") + @PostMapping("/add") + public ActionResult add(@RequestBody ExpertDto.AddParam param) { + expertService.add(param); + return ActionResult.success(); + } + + @Operation(summary = "专家导入") + @PostMapping("/expertImport") + public ActionResult expertImport(@RequestParam(name = "file") MultipartFile file) { + expertService.expertImport(file); + return ActionResult.success(); + } + + @Operation(summary = "修改专家/公司") + @PostMapping("/edit") + public ActionResult update(@RequestBody ExpertDto.EditParam param) { + expertService.edit(param); + return ActionResult.success(); + } + + @Operation(summary = "删除专家/公司") + @PostMapping("/delete") + public ActionResult delete(@RequestBody ExpertDto.DeleteParam param) { + expertService.delete(param); + return ActionResult.success(); + } + + @Operation(summary = "查询专家/公司列表") + @PostMapping("/list") + public ActionResult> List(@RequestBody ExpertDto.ListParam param) { + return ActionResult.success(expertService.queryList(param)); + } + + + @Operation(summary = "查询详情") + @GetMapping("/queryInfo") + public ActionResult queryInfo(@RequestParam String id) { + return ActionResult.success(expertService.queryInfo(id)); + } + +} diff --git a/jnpf-tendering-controller/src/main/java/jnpf/controller/IndicatorStatisticsController.java b/jnpf-tendering-controller/src/main/java/jnpf/controller/IndicatorStatisticsController.java new file mode 100644 index 0000000..d876cfe --- /dev/null +++ b/jnpf-tendering-controller/src/main/java/jnpf/controller/IndicatorStatisticsController.java @@ -0,0 +1,51 @@ +package jnpf.controller; + + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jnpf.base.ActionResult; +import jnpf.base.Pagination; +import jnpf.base.vo.PageListVO; +import jnpf.base.vo.PaginationVO; +import jnpf.entity.ContractEntity; +import jnpf.model.ContractListVO; +import jnpf.model.dto.IndicatorStatisticsDto; +import jnpf.service.BiddingProjectSubscribeService; +import jnpf.service.IndicatorStatisticsService; +import jnpf.util.JsonUtil; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@Tag(name = "指标统计接口", description = "indicator") +@RequestMapping("/indicator") +@AllArgsConstructor +public class IndicatorStatisticsController { + private final IndicatorStatisticsService indicatorStatisticsService; + + + @Operation(summary = "审批/备案项目数") + @GetMapping("/projectsNumber") + public ActionResult projectsNumber(IndicatorStatisticsDto.ProjectsNumberParam param) { + return ActionResult.success(indicatorStatisticsService.projectsNumber(param)); + } + + + @Operation(summary = "项目数 金额") + @GetMapping("/moneyAndProjectsNumber") + public ActionResult moneyAndProjectsNumber(IndicatorStatisticsDto.MoneyAndProjectsNumberParam param) { + return ActionResult.success(indicatorStatisticsService.moneyAndProjectsNumber(param)); + } + + @Operation(summary = "我的待办") + @GetMapping("/myToDoList") + public ActionResult myToDoList() { + return ActionResult.success(indicatorStatisticsService.myToDoList()); + } + + +} diff --git a/jnpf-tendering-controller/src/main/java/jnpf/controller/LotteryProjectController.java b/jnpf-tendering-controller/src/main/java/jnpf/controller/LotteryProjectController.java new file mode 100644 index 0000000..b0253ad --- /dev/null +++ b/jnpf-tendering-controller/src/main/java/jnpf/controller/LotteryProjectController.java @@ -0,0 +1,138 @@ +package jnpf.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jnpf.base.ActionResult; +import jnpf.base.vo.DownloadVO; +import jnpf.entity.Expert; +import jnpf.entity.LotteryProject; +import jnpf.model.dto.ExpertDto; +import jnpf.model.dto.LotteryProjectDto; +import jnpf.service.ILotteryProjectService; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import org.springframework.stereotype.Controller; + +import java.util.List; + + +@RestController +@Api("项目抽签相关接口") +@RequestMapping("/lottery-project") +@AllArgsConstructor +public class LotteryProjectController { + + private final ILotteryProjectService iLotteryProjectService; + + @Operation(summary = "新增抽签项目") + @PostMapping("/add") + public ActionResult add(@RequestBody LotteryProjectDto.AddParam param) { + iLotteryProjectService.add(param); + return ActionResult.success(); + } + + @Operation(summary = "修改抽签项目信息") + @PostMapping("/edit") + public ActionResult edit(@RequestBody LotteryProjectDto.EditParam param) { + iLotteryProjectService.edit(param); + return ActionResult.success(); + } + + + @Operation(summary = "删除抽签项目信息") + @PostMapping("/delete") + public ActionResult delete(@RequestBody LotteryProjectDto.DeleteParam param) { + iLotteryProjectService.delete(param); + return ActionResult.success(); + } + + @Operation(summary = "查询抽签项目信息") + @PostMapping("/queryList") + public ActionResult> queryList(@RequestBody LotteryProjectDto.QueryListParam param) { + return ActionResult.success(iLotteryProjectService.queryList(param)); + } + + + @Operation(summary = "详情查询") + @GetMapping("/queryInfo") + public ActionResult queryInfo(@RequestParam String id) { + return ActionResult.success(iLotteryProjectService.queryInfo(id)); + } + + + @Operation(summary = "添加评审") + @PostMapping("/addReview") + public ActionResult addReview(@RequestBody LotteryProjectDto.AddReviewParam param) { + iLotteryProjectService.addReview(param); + return ActionResult.success(); + } + + + @Operation(summary = "修改专家组别评审") + @PostMapping("/editReview") + public ActionResult editReview(@RequestBody LotteryProjectDto.EditReviewParam param) { + iLotteryProjectService.editReview(param); + return ActionResult.success(); + } + + @Operation(summary = "删除评审") + @PostMapping("/deleteReview") + public ActionResult deleteReview(@RequestBody LotteryProjectDto.DeleteReviewParam param) { + iLotteryProjectService.deleteReview(param); + return ActionResult.success(); + } + + @Operation(summary = "评审详情查询") + @GetMapping("/queryReviewInfo") + public ActionResult queryReviewInfo(@RequestParam String id) { + return ActionResult.success(iLotteryProjectService.queryReviewInfo(id)); + } + + + @Operation(summary = "抽取结果保存") + @PostMapping("/saveExtractionResults") + public ActionResult saveExtractionResults(@RequestBody LotteryProjectDto.SaveExtractionResultsParam param) { + iLotteryProjectService.saveExtractionResults(param); + return ActionResult.success(); + } + + + @Operation(summary = "抽取结果参加确认") + @PostMapping("/participateInConfirmation") + public ActionResult participateInConfirmation(@RequestBody LotteryProjectDto.ParticipateInConfirmationParam param) { + iLotteryProjectService.participateInConfirmation(param); + return ActionResult.success(); + } + + + @Operation(summary = "根据类型获取某评审下专家列表") + @GetMapping("/getExpertsByExpertGroup") + public ActionResult> getExpertsByType(@RequestParam String reviewId, @RequestParam String expertGroup){ + return ActionResult.success(iLotteryProjectService.getExpertsByType(reviewId,expertGroup)); + } + + + @Operation(summary = "根据评审查询招标公司列表") + @GetMapping("/getCompanyByReview") + public ActionResult> getCompanyByReview(@RequestParam String reviewId){ + return ActionResult.success(iLotteryProjectService.getCompanyByReview(reviewId)); + } + + + @Operation(summary = "结果打印") + @GetMapping("/resultPrinting") + public ActionResult resultPrinting(@RequestParam String reviewId){ + return ActionResult.success(iLotteryProjectService.resultPrinting(reviewId)); + } + + @Operation(summary = "上传抽取结果") + @PostMapping("/uploadExtractionResults") + public ActionResult uploadExtractionResults(@RequestBody LotteryProjectDto.UploadExtractionResults param){ + iLotteryProjectService.uploadExtractionResults(param); + return ActionResult.success(); + } +} diff --git a/jnpf-tendering-controller/src/main/java/jnpf/controller/util/SwapUtil.java b/jnpf-tendering-controller/src/main/java/jnpf/controller/util/SwapUtil.java new file mode 100644 index 0000000..e72afa2 --- /dev/null +++ b/jnpf-tendering-controller/src/main/java/jnpf/controller/util/SwapUtil.java @@ -0,0 +1,2435 @@ +package jnpf.controller.util; + +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.support.SFunction; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import jnpf.annotation.JnpfField; +import jnpf.base.*; +import jnpf.base.entity.DictionaryDataEntity; +import jnpf.base.entity.ModuleEntity; +import jnpf.base.entity.ProvinceEntity; +import jnpf.base.entity.VisualdevEntity; +import jnpf.base.model.ColumnDataModel; +import jnpf.base.model.datainterface.DataInterfaceActionVo; +import jnpf.base.model.datainterface.DataInterfaceModel; +import jnpf.base.model.datainterface.DataInterfacePage; +import jnpf.base.model.filter.RuleInfo; +import jnpf.base.service.FilterService; +import jnpf.base.util.VisualUtils; +import jnpf.base.util.common.DataControlUtils; +import jnpf.constant.PermissionConst; +import jnpf.database.model.entity.DbLinkEntity; +import jnpf.database.model.superQuery.ConditionJsonModel; +import jnpf.database.model.superQuery.SuperJsonModel; +import jnpf.database.model.superQuery.SuperQueryConditionModel; +import jnpf.database.util.ConnUtil; +import jnpf.database.util.DynamicDataSourceUtil; +import jnpf.engine.FlowTaskApi; +import jnpf.engine.entity.FlowTaskEntity; +import jnpf.engine.entity.FlowTemplateJsonEntity; +import jnpf.engine.model.flowtemplate.FlowTemplateInfoVO; +import jnpf.engine.model.flowtemplatejson.FlowJsonModel; +import jnpf.entity.FlowFormEntity; +import jnpf.exception.DataException; +import jnpf.exception.WorkFlowException; +import jnpf.form.FlowFormDataApi; +import jnpf.mapper.FlowFormDataMapper; +import jnpf.model.ExcelModel; +import jnpf.model.QueryAllModel; +import jnpf.model.visualJson.FieLdsModel; +import jnpf.model.visualJson.FormDataModel; +import jnpf.model.visualJson.TableModel; +import jnpf.model.visualJson.TemplateJsonModel; +import jnpf.onlinedev.OnlineDevApi; +import jnpf.onlinedev.model.OnlineDevData; +import jnpf.onlinedev.model.OnlineDevEnum.CacheKeyEnum; +import jnpf.onlinedev.model.OnlineDevEnum.OnlineDataTypeEnum; +import jnpf.onlinedev.model.OnlineImport.ExcelImportModel; +import jnpf.onlinedev.model.OnlineImport.ImportDataModel; +import jnpf.onlinedev.model.OnlineImport.ImportFormCheckUniqueModel; +import jnpf.onlinedev.model.VisualdevModelDataInfoVO; +import jnpf.onlinedev.util.onlineDevUtil.OnlineDevListUtils; +import jnpf.onlinedev.util.onlineDevUtil.OnlinePublicUtils; +import jnpf.onlinedev.util.onlineDevUtil.OnlineSwapDataUtils; +import jnpf.permission.*; +import jnpf.permission.entity.*; +import jnpf.permission.util.AuthorizeUtil; +import jnpf.util.*; +import jnpf.util.context.RequestContext; +import jnpf.util.visiual.JnpfKeyConsts; +import lombok.Cleanup; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.io.IOException; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; +import java.math.BigDecimal; +import java.sql.Connection; +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.stream.Collectors; + +import static jnpf.util.Constants.ADMIN_KEY; + +/** + * 数据转换(代码生成器用) + * + * @author JNPF开发平台组 + * @version V3.1.0 + * @copyright 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @date 2021/3/16 + */ +@Component +public class SwapUtil { + + @Autowired + private OrganizeApi organizeApi; + @Autowired + private OrganizeRelationApi organizeRelationApi; + @Autowired + private PositionApi positionApi; + @Autowired + private FilterService filterService; + @Autowired + private UserApi userApi; + @Autowired + private VisualdevApi visualdevApi; + @Autowired + private OnlineDevApi onlineDevApi; + @Autowired + private AreaApi areaApi; + @Autowired + private DictionaryDataApi dictionaryDataApi; + @Autowired + private DataInterFaceApi dataInterfaceApi; + @Autowired + private BillRuleApi billRuleApi; + @Autowired + private RoleApi roleApi; + @Autowired + private GroupApi groupApi; + @Autowired + private FlowTaskApi flowTaskApi; + @Autowired + private UserRelationApi userRelationApi; + @Autowired + private DataSourceApi dataSourceApi; + @Autowired + private AuthorizeUtil authorizeService; + @Autowired + private FlowFormDataApi flowFormService; + @Autowired + private OnlineSwapDataUtils swapDataUtils; + @Autowired + private FlowFormDataMapper flowFormDataMapper; + @Autowired + private FlowFormDataUtil flowFormDataUtil; + @Autowired + private UserProvider userProvider; + @Autowired + private ModuleApi moduleApi; + + public final String regEx = "[\\[\\]\"]"; + + @Autowired + private RedisUtil redisUtil; + + private static long DEFAULT_CACHE_TIME = 60 * 5; + + /** + * 日期时间戳字符串转换 + * + * @param date + * @param format + * @return + */ + public String dateSwap(String date, String format) { + if (StringUtil.isNotEmpty(date)) { + DateTimeFormatter ftf = DateTimeFormatter.ofPattern(format); + if (date.contains(",")) { + String[] dates = date.split(","); + long time1 = Long.parseLong(dates[0]); + long time2 = Long.parseLong(dates[1]); + String value1 = ftf.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(time1), ZoneId.systemDefault())); + String value2 = ftf.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(time2), ZoneId.systemDefault())); + return value1 + "至" + value2; + } + long time = Long.parseLong(date); + String value = ftf.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(time), ZoneId.systemDefault())); + return value; + } + return date; + } + + /** + * 行政区划转换 + * + * @param data + * @return + */ + public String provinceData(String data, Map localCache) { + Map proMap = new HashMap<>(); + if (localCache != null && localCache.containsKey("__pro_map")) { + proMap = (Map) localCache.get("__pro_map"); + } + if (StringUtil.isNotEmpty(data)) { + try { + if (data.contains("[[")) { + List addList = new ArrayList<>(); + String[][] provinceDataS = JsonUtil.getJsonToBean(data, String[][].class); + for (String[] AddressData : provinceDataS) { + List provList = new ArrayList(Arrays.asList(AddressData)); + List nameList = new ArrayList<>(); + if (localCache != null) { + for (String info : provList) { + nameList.add(proMap.get(info)); + } + }else{ + List proList = areaApi.getByIdList(provList); + for(ProvinceEntity info : proList){ + nameList.add(info.getFullName()); + } + } + addList.add(String.join("/", nameList)); + } + return String.join(";", addList); + } else if (data.contains("[")) { + List provList = JsonUtil.getJsonToList(data, String.class); + List nameList = new ArrayList<>(); + if (localCache != null) { + for (String info : provList) { + nameList.add(proMap.get(info)); + } + }else{ + List proList = areaApi.getByIdList(provList); + for(ProvinceEntity info : proList){ + nameList.add(info.getFullName()); + } + } + return String.join("/", nameList); + } else { + String[] strs = data.split(","); + List provList = new ArrayList(Arrays.asList(strs)); + List proNameList = new ArrayList<>(); + if (localCache != null) { + for (String info : provList) { + proNameList.add(proMap.get(info)); + } + }else{ + List proList = areaApi.getByIdList(provList); + for(ProvinceEntity info : proList){ + proNameList.add(info.getFullName()); + } + } + return String.join("/", proNameList); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + return ""; + } + + public Map localCache() { + //公共数据 + String dsName = Optional.ofNullable(TenantHolder.getDatasourceId()).orElse(""); + Map localCache = new HashMap<>(); + if (!localCache.containsKey("__pro_map")) { + //省市区 + Map proMap = redisUtil.getMap(String.format("%s-%s-%d", dsName, "province", 1)); + List> proMapList = new ArrayList<>(); + if (proMap.size() == 0) { + //分级存储 + for (int i = 1; i <= 4; i++) { + String redisKey = String.format("%s-%s-%d", dsName, "province", i); + if (!redisUtil.exists(redisKey)) { + List provinceEntityList = areaApi.getProListBytype(String.valueOf(i)); + Map provinceMap = new HashMap<>(16); + if (provinceEntityList != null) { + provinceEntityList.stream().forEach(p -> provinceMap.put(p.getId(), p.getFullName())); + } + proMapList.add(provinceMap); + //区划基本不修改 不做是否缓存判断 + redisUtil.insert(redisKey, provinceMap, RedisUtil.CAHCEWEEK); + } + } + } else { + for (int i = 1; i <= 4; i++) { + proMapList.add(redisUtil.getMap(String.format("%s-%s-%d", dsName, "province", i))); + } + } + + Map proMapr = new HashMap<>(); + proMapList.forEach(item -> proMapr.putAll(item)); + localCache.put("__pro_map", proMapr); + } + return localCache; + } + + /** + * 公司部门id转名称 + * + * @param value + * @return + */ + public String comSelectValue(String value, String showLevel) { + if (StringUtil.isNotEmpty(String.valueOf(value))) { + OrganizeEntity organizeEntity = organizeApi.getInfoById(String.valueOf(value)); + if ("all".equals(showLevel)) { + List organizeListAll = organizeApi.getList(); + String[] organizeTreeId = StringUtil.isNotEmpty(organizeEntity.getOrganizeIdTree()) ? organizeEntity.getOrganizeIdTree().split(",") : new String[]{}; + List organizeTreeList = Arrays.asList(organizeTreeId).stream().filter(t -> !t.isEmpty()).collect(Collectors.toList()); + StringJoiner joiner = new StringJoiner("/"); + for (int i = 0; i < organizeTreeList.size(); i++) { + String id = organizeTreeList.get(i); + OrganizeEntity entity = organizeListAll.stream().filter(t -> t.getId().equals(id)).findFirst().orElse(null); + if (entity != null) { + joiner.add(entity.getFullName()); + } + } + value = joiner.toString(); + } else { + if (organizeEntity != null) { + if (organizeEntity.getCategory().equals("company")) { + return " "; + } + value = organizeEntity.getFullName(); + } + } + } else { + value = " "; + } + return value; + } + + /** + * 公司部门id转名称(多选) + * + * @param ids + * @return + */ + public String comSelectValues(String ids, Boolean mul) { + List comValueList = new ArrayList<>(); + if (StringUtil.isEmpty(ids)) { + return null; + } + String Separator = mul ? "," : "/"; + if (ids.contains("[[")) { + String[][] idArrays = JsonUtil.getJsonToBean(ids, String[][].class); + for (String[] array : idArrays) { + List idList = new ArrayList<>(); + for (String s : array) { + OrganizeEntity info = organizeApi.getInfoById(s); + idList.add(Objects.nonNull(info) ? info.getFullName() : s); + } + String orgCom = idList.stream().collect(Collectors.joining("/")); + comValueList.add(orgCom); + } + return comValueList.stream().collect(Collectors.joining(";")); + } else if (ids.contains("[")) { + List idList = JsonUtil.getJsonToList(ids, String.class); + List nameList = new ArrayList<>(); + for (String orgId : idList) { + OrganizeEntity info = organizeApi.getInfoById(orgId); + nameList.add(Objects.nonNull(info) ? info.getFullName() : orgId); + } + return nameList.stream().collect(Collectors.joining(Separator)); + } else { + ids = ids.replaceAll("\"", ""); + String[] idList = ids.split(","); + if (idList.length > 0) { + List comSelectList = new ArrayList<>(); + for (String id : idList) { + OrganizeEntity organizeEntity = organizeApi.getInfoById(id); + if (organizeEntity != null) { + comSelectList.add(organizeEntity.getFullName()); + } + } + return String.join(",", comSelectList); + } + } + return null; + } + + + /** + * 岗位id转名称 + * + * @param id + * @return + */ + public String posSelectValue(String id) { + if (StringUtil.isNotEmpty(id)) { + PositionEntity positionApiInfo = positionApi.queryInfoById(id); + if (ObjectUtil.isNotEmpty(positionApiInfo)) { + return positionApiInfo.getFullName(); + } + return id; + } + return " "; + } + + /** + * 岗位id转名称(多选) + * + * @param ids + * @return + */ + public String posSelectValues(String ids) { + if (StringUtil.isEmpty(ids)) { + return ""; + } + List posList = new ArrayList<>(); + if (ids.contains("[")) { + List idList = JsonUtil.getJsonToList(ids, String.class); + List nameList = new ArrayList<>(); + for (String orgId : idList) { + PositionEntity info = positionApi.queryInfoById(orgId); + nameList.add(Objects.nonNull(info) ? info.getFullName() : orgId); + } + posList = nameList; + } else { + String[] idList = ids.split(","); + if (idList.length > 0) { + for (String id : idList) { + PositionEntity positionEntity = positionApi.queryInfoById(id); + if (ObjectUtil.isNotEmpty(positionEntity)) { + posList.add(positionEntity.getFullName()); + } + } + } + } + return String.join(",", posList); + } + + /** + * 用户id转名称 + * + * @param id + * @return + */ + public String userSelectValue(String id) { + if (StringUtil.isNotEmpty(id)) { + UserEntity userEntity = userApi.getInfoById(id); + if (ObjectUtil.isNotEmpty(userEntity)) { + return userEntity.getRealName() + "/" + userEntity.getAccount(); + } + return id; + } + return ""; + } + + /** + * 用户id转名称(多选) + * + * @param ids + * @return + */ + public String userSelectValues(String ids) { + //公共数据 + String dsName = Optional.ofNullable(TenantHolder.getDatasourceId()).orElse(""); + //人员 + String redisKey = dsName + CacheKeyEnum.USER.getName(); + Map userMap; + if (redisUtil.exists(redisKey)) { + userMap = redisUtil.getMap(redisKey); + userMap = Optional.ofNullable(userMap).orElse(new HashMap<>(20)); + }else{ + userMap = userApi.getUserMap("id-fullName"); + redisUtil.insert(redisKey, userMap, DEFAULT_CACHE_TIME); + } + + if (StringUtil.isEmpty(ids)) { + return ids; + } + if (ids.contains("[")) { + List nameList = new ArrayList<>(); + List jsonToList = JsonUtil.getJsonToList(ids, String.class); + for (String userId : jsonToList) { + nameList.add(Objects.nonNull(userMap.get(userId)) ? userMap.get(userId).toString() : userId); + } + return String.join(";", nameList); + } else { + List userInfoList = new ArrayList<>(); + String[] idList = ids.split(","); + if (idList.length > 0) { + for (String userId : idList) { + userInfoList.add(Objects.nonNull(userMap.get(userId)) ? userMap.get(userId).toString() : userId); + } + } + return String.join("-", userInfoList); + } + } + + /** + * 用户组件id转名称(多选) + * + * @param ids + * @return + */ + public String usersSelectValues(String ids) { + if (StringUtil.isEmpty(ids)) { + return ids; + } + List dataNoSwapInMethod = OnlinePublicUtils.getDataNoSwapInMethod(ids); + StringJoiner valueJoin = new StringJoiner(","); + for (String data : dataNoSwapInMethod) { + String id = data.contains("--") ? data.substring(0, data.lastIndexOf("--")) : data; + String type = data.contains("--") ? data.substring(data.lastIndexOf("--") + 2) : ""; + switch (type) { + case "role": + RoleEntity roleEntity = roleApi.getInfoById(id); + if (roleEntity != null) { + valueJoin.add(roleEntity.getFullName()); + } else { + valueJoin.add(data); + } + break; + case "position": + PositionEntity positionEntity = positionApi.queryInfoById(id); + if (positionEntity != null) { + valueJoin.add(positionEntity.getFullName()); + } else { + valueJoin.add(data); + } + break; + case "company": + case "department": + OrganizeEntity organizeEntity = organizeApi.getInfoById(id); + if (organizeEntity != null) { + valueJoin.add(organizeEntity.getFullName()); + } else { + valueJoin.add(data); + } + break; + case "group": + GroupEntity groupEntity = groupApi.getInfoById(id); + if (groupEntity != null) { + valueJoin.add(groupEntity.getFullName()); + } else { + valueJoin.add(data); + } + break; + case "user": + default: + UserEntity userEntity = userApi.getInfoById(id); + if (userEntity != null) { + valueJoin.add(userEntity.getRealName() + "/" + userEntity.getAccount()); + } else { + valueJoin.add(data); + } + break; + } + } + return valueJoin.toString(); + } + + + /** + * 开关 + * + * @param data + * @return + */ + public String switchSelectValue(String data, String activeTxt, String inactiveTxt) { + if (StringUtil.isNotEmpty(data)) { + if (data.equals("0") || data.equals("false")) { + return inactiveTxt; + } else if (data.equals("1") || data.equals("true")) { + return activeTxt; + } else { + return data; + } + } + return null; + } + + public VisualdevEntity visualdevEntity(String id) { + return visualdevApi.getInfo(id); + } + + /** + * 关联表单数据转换 + * + * @param vmodel + * @param value + * @param modelId + * @return + */ + public String swapRelationFormValue(String vmodel, String value, String modelId, Map formDataMaps) { + if (StringUtil.isEmpty(value)) { + return ""; + } + try { + VisualdevModelDataInfoVO infoVO = null; + VisualdevEntity entity = visualdevApi.getInfo(modelId); + if (!StringUtil.isEmpty(entity.getVisualTables()) && !OnlineDevData.TABLE_CONST.equals(entity.getVisualTables())) { + infoVO = onlineDevApi.getDetailsDataInfo(value, modelId); + } else { + infoVO = onlineDevApi.infoDataChange(value, modelId); + } + if (infoVO != null) { + Map formDataMap = infoVO.getData() != null ? JsonUtil.stringToMap(infoVO.getData()) : new HashMap<>(); + if (formDataMap.size() > 0) { + formDataMaps.putAll(formDataMap); + formDataMap = OnlinePublicUtils.mapKeyToLower(formDataMap); + value = String.valueOf(formDataMap.get(vmodel.toLowerCase())); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return value; + } + + + /** + * 弹窗 + * + * @param interfaceId + * @param propsValue + * @param relationField + * @param dataValue + * @return + */ + public String getPopupSelectValue(String interfaceId, String propsValue, String relationField, String dataValue, Map dataMaps, String json, int num, Map dataAll) { + if (StringUtil.isEmpty(interfaceId)) { + return null; + } + List list = JsonUtil.getJsonToList(json, TemplateJsonModel.class); + Map infoMap = new HashMap<>(); + List listParam = new ArrayList<>(); + for (TemplateJsonModel templateJsonModel : list) { + DataInterfaceModel dataInterfaceModel = JsonUtil.getJsonToBean(templateJsonModel, DataInterfaceModel.class); + String defaultV = ""; + if (StringUtil.isNotEmpty(templateJsonModel.getRelationField())) { + String[] mastTable = templateJsonModel.getRelationField().split("_jnpf_"); + String[] child = templateJsonModel.getRelationField().split("-"); + if (mastTable.length > 1) { + if (dataAll.get(mastTable[0]) instanceof Map) { + Map mastTableData = (Map) dataAll.get(mastTable[0]); + infoMap.put(templateJsonModel.getField(), String.valueOf(mastTableData.get(mastTable[1]))); + defaultV = String.valueOf(mastTableData.get(mastTable[1])); + } + } else if (child.length > 1) { + if (dataAll.get(child[0]) instanceof List) { + List> chidList = (List>) dataAll.get(child[0]); + for (int i = 0; i < chidList.size(); i++) { + Map objectMap = chidList.get(i); + if (i == num) { + infoMap.put(templateJsonModel.getField(), String.valueOf(objectMap.get(child[1]))); + defaultV = String.valueOf(objectMap.get(child[1])); + } + } + } + } else { + infoMap.put(templateJsonModel.getField(), String.valueOf(dataAll.get(templateJsonModel.getRelationField()))); + defaultV = String.valueOf(String.valueOf(dataAll.get(templateJsonModel.getRelationField()))); + } + } + dataInterfaceModel.setDefaultValue(defaultV); + listParam.add(dataInterfaceModel); + } + if (StringUtil.isNotEmpty(dataValue)) { +// Object data = dataInterfaceService.infoToId(interfaceId, null, infoMap).getData(); +// List> dataInterfaceDataList; +// if (data instanceof ActionResult) { +// ActionResult actionVo = (ActionResult) data; +// dataInterfaceDataList = (List>) actionVo.getData(); +// } else { +// dataInterfaceDataList = (List>) data; +// } + DataInterfacePage dataInterfacePage = new DataInterfacePage(); + dataInterfacePage.setParamList(listParam); + dataInterfacePage.setInterfaceId(interfaceId); + List ids = new ArrayList<>(); + if (dataValue.startsWith("[")) { + ids = JsonUtil.getJsonToList(dataValue, String.class); + } else { + ids.add(dataValue); + } + dataInterfacePage.setIds(ids); + dataInterfacePage.setPropsValue(propsValue); + dataInterfacePage.setRelationField(relationField); + List> dataInterfaceDataList = dataInterfaceApi.infoByIds(interfaceId, dataInterfacePage).getData(); + if (dataValue.contains("[")) { + List valueList = JsonUtil.getJsonToList(dataValue, String.class); + List swapValue = new ArrayList<>(); + for (String va : valueList) { + dataInterfaceDataList.stream().filter(map -> + map.get(propsValue).equals(va) + ).forEach( + modelMap -> swapValue.add(String.valueOf(modelMap.get(relationField))) + ); + } + return swapValue.stream().collect(Collectors.joining(",")); + } + if (dataInterfaceDataList != null) { + Map dataMap = dataInterfaceDataList.stream().filter(d -> d.get(propsValue).equals(dataValue)).findFirst().orElse(null); + if (dataMap != null) { + dataMaps.putAll(dataMap); + return String.valueOf(dataMap.get(relationField)); + } + } + return null; + } else { + return null; + } + } + + /** + * 弹窗 + * + * @param interfaceId + * @param propsValue + * @param relationField + * @param dataValue + * @return + */ + public String getPopupSelectValue(String interfaceId, String propsValue, String relationField, String dataValue, Map dataMaps) { + if (StringUtil.isEmpty(interfaceId)) { + return null; + } + if (StringUtil.isNotEmpty(dataValue)) { + Object data = dataInterfaceApi.infoToId(interfaceId).getData(); + List> dataInterfaceDataList; + if (data instanceof ActionResult) { + ActionResult actionVo = (ActionResult) data; + dataInterfaceDataList = (List>) actionVo.getData(); + } else { + dataInterfaceDataList = (List>) data; + } + if (dataValue.contains("[")) { + List valueList = JsonUtil.getJsonToList(dataValue, String.class); + List swapValue = new ArrayList<>(); + for (String va : valueList) { + dataInterfaceDataList.stream().filter(map -> + map.get(propsValue).equals(va) + ).forEach( + modelMap -> swapValue.add(String.valueOf(modelMap.get(relationField))) + ); + } + return swapValue.stream().collect(Collectors.joining(",")); + } + Map dataMap = dataInterfaceDataList.stream().filter(d -> d.get(propsValue).equals(dataValue)).findFirst().orElse(null); + if (dataMap != null) { + dataMaps.putAll(dataMap); + return String.valueOf(dataMap.get(relationField)); + } + return null; + } else { + return null; + } + } + + + public String getFileNameInJson(String fileJson) { + if (StringUtil.isNotEmpty(fileJson) && !"null".equals(fileJson)) { + return fileJson; + } + return ""; + } + + + /** + * 获取数据字典数据 + * + * @param feild + * @return + */ + public String getDicName(String feild, String dictionaryTypeId) { + if (StringUtil.isNotEmpty(feild)) { + //去除中括号以及双引号 + feild = feild.replaceAll(regEx, ""); + //判断多选框 + String[] feilds = feild.split(","); + if (feilds.length > 1) { + StringBuilder feildsValue = new StringBuilder(); + DictionaryDataEntity dictionaryDataEntity; + for (String feil : feilds) { + dictionaryDataEntity = dictionaryDataApi.getSwapInfo(feil, dictionaryTypeId); + if (dictionaryDataEntity != null) { + feildsValue.append(dictionaryDataEntity.getFullName() + ","); + } else { + feildsValue.append(feil + ","); + } + } + String finalValue; + if (StringUtil.isEmpty(feildsValue) || feildsValue.equals("")) { + finalValue = feildsValue.toString(); + } else { + finalValue = feildsValue.substring(0, feildsValue.length() - 1); + } + return finalValue; + } + DictionaryDataEntity dictionaryDataentity = dictionaryDataApi.getSwapInfo(feild, dictionaryTypeId); + if (dictionaryDataentity != null) { + return dictionaryDataentity.getFullName(); + } + return feild; + } + if (StringUtil.isNotEmpty(feild)) { + List dicList = dictionaryDataApi.getDicList(dictionaryTypeId); + } + return feild; + } + + /** + * 获取数据字典数据- + * + * @param feild + * @param keyName id或encode + * @return + */ + public String getDicName(String feild, String dictionaryTypeId, String keyName, boolean isMultiple, String separator) { + Object dataConversion = ""; + String redisKey = dictionaryTypeId + "-" + feild + "-" + keyName; + if (StringUtil.isNotEmpty(feild)) { + List dicList; + if (redisUtil.exists(redisKey)) { + List tmpList = redisUtil.get(redisKey, 0, -1); + dicList = JsonUtil.getJsonToList(tmpList, DictionaryDataEntity.class); + } else { + dicList = dictionaryDataApi.getDicList(dictionaryTypeId); + redisUtil.insert(redisKey, dicList, DEFAULT_CACHE_TIME); + } + Map idMap = new HashMap<>(dicList.size()); + Map enCodeMap = new HashMap<>(dicList.size()); + for (DictionaryDataEntity dd : dicList) { + idMap.put(dd.getId(), dd.getFullName()); + enCodeMap.put(dd.getEnCode(), dd.getFullName()); + } + if (StringUtil.isNotEmpty(separator)) { + separator = "/"; + } + if ("enCode".equals(keyName)) { + dataConversion = FormPublicUtils.getDataConversion(enCodeMap, feild, isMultiple, separator); + } else { + dataConversion = FormPublicUtils.getDataConversion(idMap, feild, isMultiple, separator); + } + } + return dataConversion.toString(); + } + + /** + * 获取远端数据 + * + * @param urlId + * @param label + * @param value + * @param feildValue + * @return + * @throws IOException + */ + public String getDynName(String urlId, String label, String value, String feildValue, String json, int num, Map dataAll) { + List list = JsonUtil.getJsonToList(json, TemplateJsonModel.class); + Map infoMap = list.size() > 0 ? new HashMap<>() : null; + for (TemplateJsonModel templateJsonModel : list) { + if (StringUtil.isNotEmpty(templateJsonModel.getRelationField())) { + String[] mastTable = templateJsonModel.getRelationField().split("_jnpf_"); + String[] child = templateJsonModel.getRelationField().split("-"); + if (mastTable.length > 1) { + if (dataAll.get(mastTable[0]) instanceof Map) { + Map mastTableData = (Map) dataAll.get(mastTable[0]); + infoMap.put(templateJsonModel.getField(), String.valueOf(mastTableData.get(mastTable[1]))); + } + } else if (child.length > 1) { + if (dataAll.get(child[0]) instanceof List) { + List> chidList = (List>) dataAll.get(child[0]); + for (int i = 0; i < chidList.size(); i++) { + Map objectMap = chidList.get(i); + if (i == num) { + infoMap.put(templateJsonModel.getField(), String.valueOf(objectMap.get(child[1]))); + } + } + } + } else { + infoMap.put(templateJsonModel.getField(), String.valueOf(dataAll.get(templateJsonModel.getRelationField()))); + } + } + } + if (StringUtil.isNotEmpty(feildValue)) { + //去除中括号以及双引号 + feildValue = feildValue.replaceAll(regEx, ""); + //获取远端数据 + Map a = new HashMap<>(); + ActionResult object = dataInterfaceApi.infoToIdById(urlId, infoMap); + if (object.getData() != null && object.getData() instanceof DataInterfaceActionVo) { + DataInterfaceActionVo vo = (DataInterfaceActionVo) object.getData(); + List> dataList = (List>) vo.getData(); + //判断是否多选 + String[] feildValues = feildValue.split(","); + if (feildValues.length > 0) { + //转换的真实值 + StringBuilder feildVa = new StringBuilder(); + for (String feild : feildValues) { + for (Map data : dataList) { + if (String.valueOf(data.get(value)).equals(feild)) { + feildVa.append(data.get(label) + ","); + } + } + } + String finalValue; + if (StringUtil.isEmpty(feildVa) || feildVa.equals("")) { + finalValue = feildVa.toString(); + } else { + finalValue = feildVa.substring(0, feildVa.length() - 1); + } + return finalValue; + } + for (Map data : dataList) { + if (feildValue.equals(String.valueOf(data.get(value)))) { + return data.get(label).toString(); + } + return feildValue; + } + } + return feildValue; + } + return feildValue; + } + + /** + * 获取远端数据 + * + * @param urlId + * @param name + * @param id + * @param children + * @param feildValue + * @return + */ + public String getDynName(String urlId, String name, String id, String children, String feildValue, boolean mul) { + List result = new ArrayList<>(); + String sep = ","; + if (mul) { + sep = "/"; + } + if (StringUtil.isNotEmpty(feildValue)) { + Map a = new HashMap<>(); + ActionResult data = dataInterfaceApi.infoToId(urlId); + List> dataList = (List>) data.getData(); +// if (actionVo.getData() instanceof List) { +// dataList = (List>) actionVo.getData(); +// } + JSONArray dataAll = JsonUtil.getListToJsonArray(dataList); + List> list = new ArrayList<>(); + treeToList(id, name, children, dataAll, list); + String value = feildValue.replaceAll("\\[", "").replaceAll("\\]", ""); + Map resultMap = new HashMap<>(); + list.stream().forEach(t -> { + resultMap.put(String.valueOf(t.get(id)), String.valueOf(t.get(name))); + }); + + if (feildValue.startsWith("[[")) { + String[][] fv = JsonUtil.getJsonToBean(feildValue, String[][].class); + StringJoiner f1 = new StringJoiner(","); + for (String[] f : fv) { + StringJoiner v1 = new StringJoiner("/"); + for (String v : f) { + v1.add(resultMap.get(v)); + } + f1.add(v1.toString()); + } + return f1.toString(); + } else if (feildValue.startsWith("[")) { + List fvs = JsonUtil.getJsonToList(feildValue, String.class); + return fvs.stream().map(m -> resultMap.get(m)).collect(Collectors.joining(sep)); + } else { + return resultMap.get(feildValue); + } + } + return feildValue; + } + + + /** + * 获取远端数据 + * + * @param urlId + * @param name + * @param id + * @param children + * @param feildValue + * @param mul 是否多选 + * @param isFullPath 全路径 + * @return + */ + public String getDynName(String urlId, String name, String id, String children, String feildValue, boolean mul, boolean isFullPath, String json, int num, Map dataAll1) { + List list = JsonUtil.getJsonToList(json, TemplateJsonModel.class); + Map infoMap = list.size() > 0 ? new HashMap<>() : null; + for (TemplateJsonModel templateJsonModel : list) { + if (StringUtil.isNotEmpty(templateJsonModel.getRelationField())) { + String[] mastTable = templateJsonModel.getRelationField().split("_jnpf_"); + String[] child = templateJsonModel.getRelationField().split("-"); + if (mastTable.length > 1) { + if (dataAll1.get(mastTable[0]) instanceof Map) { + Map mastTableData = (Map) dataAll1.get(mastTable[0]); + infoMap.put(templateJsonModel.getField(), String.valueOf(mastTableData.get(mastTable[1]))); + } + } else if (child.length > 1) { + if (dataAll1.get(child[0]) instanceof List) { + List> chidList = (List>) dataAll1.get(child[0]); + for (int i = 0; i < chidList.size(); i++) { + Map objectMap = chidList.get(i); + if (i == num) { + infoMap.put(templateJsonModel.getField(), String.valueOf(objectMap.get(child[1]))); + } + } + } + } else { + infoMap.put(templateJsonModel.getField(), String.valueOf(dataAll1.get(templateJsonModel.getRelationField()))); + } + } + } + + if (StringUtil.isNotEmpty(feildValue)) { + Map a = new HashMap<>(); + ActionResult data = dataInterfaceApi.infoToIdById(urlId, Optional.ofNullable(infoMap).orElse(new HashMap<>())); + List> dataList = (List>) data.getData(); + JSONArray dataAll = JsonUtil.getListToJsonArray(dataList); + List> datalist = new ArrayList<>(); + treeToList(id, name, children, dataAll, datalist); + String value = feildValue.replaceAll("\\[", "").replaceAll("\\]", ""); + Map resultMap = new HashMap<>(); + datalist.stream().forEach(t -> { + resultMap.put(String.valueOf(t.get(id)), String.valueOf(t.get(name))); + }); + Object dataConversion = FormPublicUtils.getDataConversion(resultMap, feildValue, mul, "/"); + feildValue = String.valueOf(dataConversion); + } + return feildValue; + } + + /** + * 树转成list + **/ + private void treeToList(String id, String fullName, String children, JSONArray data, List> result) { + if (data != null) { + for (int i = 0; i < data.size(); i++) { + JSONObject ob = data.getJSONObject(i); + Map tree = new HashMap<>(16); + tree.put(id, String.valueOf(ob.get(id))); + tree.put(fullName, String.valueOf(ob.get(fullName))); + result.add(tree); + if (ob.get(children) != null) { + JSONArray childArray = ob.getJSONArray(children); + treeToList(id, fullName, children, childArray, result); + } + } + } + } + + /** + * 生成单据规则 + * + * @param encode + * @param isCache + * @return + * @throws DataException + */ + @DS("") + public String getBillNumber(String encode, Boolean isCache) throws DataException { + return billRuleApi.getBillNumber(encode).getData(); + } + + /** + * 功能流程 获取可视化实体 + * + * @param visualId + * @return + */ + public VisualdevEntity getVisualEntity(String visualId) { + VisualdevEntity info = visualdevApi.getInfo(visualId); + if (info != null) { + return info; + } + return new VisualdevEntity(); + } + + @DS("") + public UserEntity getUser(String userId) { + return userApi.getInfoById(userId); + } + + /** + * 获取流程任务 + * + * @param id + * @param columns + * @return + */ + public FlowTaskEntity getInfoSubmit(String id, SFunction... columns) { + return flowTaskApi.getInfoSubmit(id).getData(); + } + + public void deleteFlowTask(FlowTaskEntity flowTaskEntity) throws WorkFlowException { + flowTaskApi.deleteFlowTask(flowTaskEntity); + } + + public void hasFlowTemplate(String flowId) throws WorkFlowException { + boolean hasFlow = StringUtil.isEmpty(flowId); + if (hasFlow) { + throw new WorkFlowException("该功能未配置流程不可用"); + } + FlowTemplateJsonEntity info = flowTaskApi.getFlowTemplateJsonEntity(flowId); + } + + public String getGroupSelect(String groupIds) { + if (StringUtil.isEmpty(groupIds)) { + return groupIds; + } + List swapList = new ArrayList<>(); + if (groupIds.contains("[")) { + List groups = JsonUtil.getJsonToList(groupIds, String.class); + for (String g : groups) { + GroupEntity info = groupApi.getInfoById(g); + String s = info != null ? info.getFullName() : ""; + swapList.add(s); + } + } else { + GroupEntity info = groupApi.getInfoById(groupIds); + swapList.add(info != null ? info.getFullName() : ""); + } + return swapList.stream().collect(Collectors.joining(",")); + } + + public String getRoleSelect(String roleIds) { + if (StringUtil.isEmpty(roleIds)) { + return roleIds; + } + List swapList = new ArrayList<>(); + if (roleIds.contains("[")) { + List groups = JsonUtil.getJsonToList(roleIds, String.class); + for (String g : groups) { + RoleEntity info = roleApi.getInfoById(g); + String s = info != null ? info.getFullName() : ""; + swapList.add(s); + } + } else { + RoleEntity info = roleApi.getInfoById(roleIds); + swapList.add(info != null ? info.getFullName() : ""); + } + return swapList.stream().collect(Collectors.joining(",")); + } + + + /** + * 高级查询 + * + * @param conditionModel + * @param entity + * @param num + * @return + */ + public Integer getCondition(SuperQueryConditionModel conditionModel, Object entity, int num) { + QueryWrapper queryWrapper = conditionModel.getObj(); + List queryConditionModels = conditionModel.getConditionList(); + String op = conditionModel.getMatchLogic(); + String tableName = conditionModel.getTableName(); + List useCondition = new ArrayList<>(); + for (ConditionJsonModel queryConditionModel : queryConditionModels) { + if (queryConditionModel.getTableName().equalsIgnoreCase(tableName)) { + if (queryConditionModel.getField().contains("jnpf")) { + String child = queryConditionModel.getField(); + String s1 = child.substring(child.lastIndexOf("jnpf_")).replace("jnpf_", ""); + queryConditionModel.setField(s1); + } + if (queryConditionModel.getField().startsWith("tableField")) { + String child = queryConditionModel.getField(); + String s1 = child.substring(child.indexOf("-") + 1); + queryConditionModel.setField(s1); + } + useCondition.add(queryConditionModel); + } + } + + if (queryConditionModels.size() < 1 || useCondition.size() < 1) { + return num; + } + if (useCondition.size() > 0) { + num += 1; + } + //处理控件 转换为有效值 + for (ConditionJsonModel queryConditionModel : useCondition) { + String jnpfKey = queryConditionModel.getJnpfKey(); + String fieldValue = queryConditionModel.getFieldValue(); + if (StringUtil.isEmpty(fieldValue)) { + if (jnpfKey.equals(JnpfKeyConsts.CASCADER) || jnpfKey.equals(JnpfKeyConsts.CHECKBOX) || jnpfKey.equals(JnpfKeyConsts.COMSELECT) || jnpfKey.equals(JnpfKeyConsts.ADDRESS)) { + queryConditionModel.setFieldValue("[]"); + } else { + queryConditionModel.setFieldValue(""); + } + if (queryConditionModel.getSymbol().equals("like")) { + queryConditionModel.setSymbol("=="); + } else if (queryConditionModel.getSymbol().equals("notLike")) { + queryConditionModel.setSymbol("<>"); + } + } + if (jnpfKey.equals(JnpfKeyConsts.DATE)) { + String startTime = ""; + if (StringUtil.isNotEmpty(fieldValue)) { + Long o1 = Long.valueOf(fieldValue); + startTime = DateUtil.daFormatHHMMSS(o1); + } + queryConditionModel.setFieldValue(startTime); + } else if (jnpfKey.equals(JnpfKeyConsts.CREATETIME) || jnpfKey.equals(JnpfKeyConsts.MODIFYTIME)) { + String startTime = ""; + if (StringUtil.isNotEmpty(fieldValue)) { + Long o1 = Long.valueOf(fieldValue); + startTime = DateUtil.daFormatHHMMSS(o1); + } + queryConditionModel.setFieldValue(startTime); + } + } + //反射获取数据库实际字段 + Class aClass = entity.getClass(); + + queryWrapper.and(tw -> { + for (ConditionJsonModel conditionJsonModel : useCondition) { + String conditionField = conditionJsonModel.getField(); + String jnpfKey = conditionJsonModel.getJnpfKey(); + Field declaredField = null; + try { + declaredField = aClass.getDeclaredField(conditionField); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } + declaredField.setAccessible(true); + String field = declaredField.getAnnotation(TableField.class).value(); + String fieldValue = conditionJsonModel.getFieldValue(); + String symbol = conditionJsonModel.getSymbol(); + if ("AND".equalsIgnoreCase(op)) { + if (symbol.equals("==")) { + tw.and(qw -> { + List multJnpf = new ArrayList() {{ + add(JnpfKeyConsts.CASCADER); + add(JnpfKeyConsts.COMSELECT); + add(JnpfKeyConsts.ADDRESS); + add(JnpfKeyConsts.SELECT); + add(JnpfKeyConsts.TREESELECT); + }}; + if (JnpfKeyConsts.CHECKBOX.equals(jnpfKey) || (multJnpf.contains(jnpfKey) && conditionJsonModel.isFormMultiple())) { + //todo 多选,高级查询只选一个,需要拼成数组查询,其他控件目前没发现,后续添加至此 + String eavalue = ""; + if (fieldValue.contains("[")) { + eavalue = "[" + fieldValue + "]"; + } else { + JSONArray jarr = new JSONArray(); + jarr.add(fieldValue); + eavalue = jarr.toJSONString(); + } + qw.eq(field, eavalue); + } else if (!jnpfKey.equals(JnpfKeyConsts.NUM_INPUT) && !jnpfKey.equals(JnpfKeyConsts.CALCULATE)) { + qw.eq(field, fieldValue); + } else { + if (StringUtil.isNotEmpty(fieldValue)) { + qw.eq(field, fieldValue); + } + } + if (StringUtil.isEmpty(fieldValue)) { + qw.or( + ew -> ew.isNull(field) + ); + } + } + ); + } else if (symbol.equals(">=")) { + tw.ge(field, fieldValue); + } else if (symbol.equals("<=")) { + tw.and(ew -> { + ew.le(field, fieldValue); + ew.and( + qw -> qw.ne(field, "") + ); + }); + } else if (symbol.equals(">")) { + tw.gt(field, fieldValue); + } else if (symbol.equals("<")) { + tw.and(ew -> { + ew.lt(field, fieldValue); + ew.and( + qw -> qw.ne(field, "") + ); + }); + } else if (symbol.equals("<>")) { + tw.and(ew -> { + ew.ne(field, fieldValue); + if (StringUtil.isNotEmpty(fieldValue)) { + ew.or( + qw -> qw.isNull(field) + ); + } else { + ew.and( + qw -> qw.isNotNull(field) + ); + } + }); + } else if (symbol.equals("like")) { + tw.and(ew -> { + if (StringUtil.isNotEmpty(fieldValue)) { + ew.like(field, fieldValue); + } else { + ew.isNull(field); + } + }); + } else if (symbol.equals("notLike")) { + tw.and(ew -> { + if (StringUtil.isNotEmpty(fieldValue)) { + ew.notLike(field, fieldValue); + ew.or( + qw -> qw.isNull(field) + ); + } else { + ew.isNotNull(field); + } + }); + } + } else { + if (symbol.equals("==")) { + tw.or( + qw -> qw.eq(field, fieldValue) + ); + } else if (symbol.equals(">=")) { + tw.or( + qw -> qw.ge(field, fieldValue) + ); + } else if (symbol.equals("<=")) { + tw.or( + qw -> qw.le(field, fieldValue) + ); + } else if (symbol.equals(">")) { + tw.or( + qw -> qw.gt(field, fieldValue) + ); + } else if (symbol.equals("<")) { + tw.or( + qw -> qw.lt(field, fieldValue) + ); + } else if (symbol.equals("<>")) { + tw.or( + qw -> qw.ne(field, fieldValue) + ); + if (StringUtil.isNotEmpty(fieldValue)) { + tw.or( + qw -> qw.isNull(field) + ); + } + } else if (symbol.equals("like")) { + if (StringUtil.isNotEmpty(fieldValue)) { + tw.or( + qw -> qw.like(field, fieldValue) + ); + } else { + tw.or( + qw -> qw.isNull(field) + ); + } + } else if (symbol.equals("notLike")) { + if (StringUtil.isNotEmpty(fieldValue)) { + tw.or( + qw -> qw.notLike(field, fieldValue) + ); + tw.or( + qw -> qw.isNull(field) + ); + } else { + tw.or( + qw -> qw.isNotNull(field) + ); + } + } + } + } + }); + return num; + } + + /** + * 取主表交集 + * + * @param lists + * @return + */ + public List getIntersection(List> lists) { + if (lists == null || lists.size() == 0) { + return new ArrayList<>(); + } + ArrayList> arrayList = new ArrayList<>(lists); + for (int i = 0; i < arrayList.size(); i++) { + List list = arrayList.get(i); + if (list == null || list.size() == 0) { + return new ArrayList<>(); + } + } + List intersection = arrayList.get(0); + for (int i = 0; i < arrayList.size(); i++) { + List list = arrayList.get(i); + intersection.retainAll(arrayList.get(i)); + } + return intersection; + } + + public Map putCache(Map localCache) { + //读取系统控件 所需编码 id + Map depMap = organizeApi.getOrgMap("encode-name-id", "department"); + localCache.put("_dep_map", depMap); + Map comMap = organizeApi.getOrgMap("fullName-id", ""); + localCache.put("_com_map", comMap); + Map posMap = positionApi.getPosMap("fullName-id"); + localCache.put("_pos_map", posMap); + Map userMap = userApi.getUserMap("fullName-id"); + localCache.put("_user_map", userMap); + Map roleMap = roleApi.getRoleMap("fullName-id"); + localCache.put("_role_map", roleMap); + Map groupMap = groupApi.getGroupMap("fullName-id"); + localCache.put("_group_map", groupMap); + return localCache; + } + + + /** + * 时间是否在范围内 + * + * @param jnpfField + * @param parse + * @return + */ + private boolean timeInRange(JnpfField jnpfField, Date parse) { + boolean flag = true; + if (StringUtil.isNotEmpty(jnpfField.startTime())) { + Long startTime = Long.parseLong(jnpfField.startTime()); + flag = parse.after(new Date(startTime)); + } + if (flag && StringUtil.isNotEmpty(jnpfField.endTime())) { + Long endTime = Long.parseLong(jnpfField.endTime()); + flag = parse.before(new Date(endTime)); + } + return flag; + } + + public String excelCheckForm(JnpfField jnpfField, String value, Map insMap, Map localCache, StringJoiner errorInfo) throws Exception { + String jnpfKey = jnpfField.jnpfKey(); + String label = jnpfField.label(); + String vModel = jnpfField.vModel(); + if (value == null || "null".equals(value) || StringUtil.isEmpty(value)) { + return null; + } + + boolean multiple = jnpfField.multiple(); + if (JnpfKeyConsts.CHECKBOX.equals(jnpfKey)) { + multiple = true; + } + + boolean isCascaer = JnpfKeyConsts.CASCADER.equals(jnpfKey); + /** + * 数据接口 + */ + if (StringUtil.isNotEmpty(jnpfField.dataType())) { + List> options = new ArrayList<>(); + String dataLabel = jnpfField.dataLabel(); + String dataValue = jnpfField.dataValue(); + String children = jnpfField.dataChildren(); + String localCacheKey; + Map dataInterfaceMap = new HashMap<>(); + List dicSplict = Arrays.asList(value.split(",")); + if (!multiple) { + if (dicSplict.size() > 1) { + errorInfo.add(label + "非多选"); + } + } + //静态数据 + if (jnpfField.dataType().equals(OnlineDataTypeEnum.STATIC.getType())) { + localCacheKey = String.format("%s-%s", jnpfField.vModel(), OnlineDataTypeEnum.STATIC.getType()); + if (!localCache.containsKey(localCacheKey)) { + if (StringUtil.isNotEmpty(jnpfField.options())) { + options = JsonUtil.getJsonToListMap(jnpfField.options()); + String Children = jnpfField.dataChildren(); + JSONArray staticData = JsonUtil.getListToJsonArray(options); + getOptions(dataLabel, dataValue, Children, staticData, options); + } else { + options = JsonUtil.getJsonToListMap(jnpfField.options()); + } + Map finalDataInterfaceMap = new HashMap<>(16); + String finalDataLabel = dataLabel; + String finalDataValue = dataValue; + options.stream().forEach(o -> { + finalDataInterfaceMap.put(String.valueOf(o.get(finalDataLabel)), o.get(finalDataValue)); + }); + localCache.put(localCacheKey, finalDataInterfaceMap); + dataInterfaceMap = finalDataInterfaceMap; + } else { + dataInterfaceMap = (Map) localCache.get(localCacheKey); + } + swapDataUtils.checkFormDataInteface(multiple, insMap, vModel, label, dataInterfaceMap, dicSplict, errorInfo, isCascaer); + //远端数据 + } else if (jnpfField.dataType().equals(OnlineDataTypeEnum.DYNAMIC.getType())) { + localCacheKey = String.format("%s-%s-%s-%s", OnlineDataTypeEnum.DYNAMIC.getType(), jnpfField.propsUrl(), dataValue, dataLabel); + if (!localCache.containsKey(localCacheKey)) { + ActionResult actionResult = dataInterfaceApi.infoToId(jnpfField.propsUrl()); + if (actionResult != null && actionResult.getData() != null) { + List> dycDataList = new ArrayList<>(); + if (actionResult.getData() instanceof List) { + dycDataList = (List>) actionResult.getData(); + } + JSONArray dataAll = JsonUtil.getListToJsonArray(dycDataList); + String finalDataLabel2 = dataLabel; + String finalDataValue1 = dataValue; + treeToList(finalDataLabel2, finalDataValue1, children, dataAll, options); + Map finalDataInterfaceMap1 = new HashMap<>(16); + + options.stream().forEach(o -> { + finalDataInterfaceMap1.put(String.valueOf(o.get(finalDataLabel2)), o.get(finalDataValue1)); + }); + dataInterfaceMap = finalDataInterfaceMap1; + localCache.put(localCacheKey, dataInterfaceMap); + } + } else { + dataInterfaceMap = (Map) localCache.get(localCacheKey); + } + swapDataUtils.checkFormDataInteface(multiple, insMap, vModel, label, dataInterfaceMap, dicSplict, errorInfo, isCascaer); + //数据字典 + } else if (jnpfField.dataType().equals(OnlineDataTypeEnum.DICTIONARY.getType())) { + localCacheKey = String.format("%s-%s", OnlineDataTypeEnum.DICTIONARY.getType(), jnpfField.dictionaryType()); + dataLabel = jnpfField.dataLabel(); + dataValue = jnpfField.dataValue(); + if (!localCache.containsKey(localCacheKey)) { + List list = dictionaryDataApi.getDicList(jnpfField.dictionaryType()); + options = list.stream().map(dic -> { + Map dictionaryMap = new HashMap<>(16); + dictionaryMap.put("id", dic.getId()); + dictionaryMap.put("enCode", dic.getEnCode()); + dictionaryMap.put("fullName", dic.getFullName()); + return dictionaryMap; + }).collect(Collectors.toList()); + localCache.put(localCacheKey, options); + } else { + options = (List>) localCache.get(localCacheKey); + } + Map finalDataInterfaceMap1 = new HashMap<>(16); + String finalDataLabel3 = dataLabel; + String finalDataValue3 = dataValue; + options.stream().forEach(o -> finalDataInterfaceMap1.put(String.valueOf(o.get(finalDataLabel3)), o.get(finalDataValue3))); + swapDataUtils.checkFormDataInteface(multiple, insMap, vModel, label, finalDataInterfaceMap1, dicSplict, errorInfo, isCascaer); + } + } + return errorInfo != null ? errorInfo.toString() : null; + } + + private List checkOptionsControl(boolean multiple, Map insMap, String vModel, String label, Map cacheMap, List valueList, StringJoiner errInfo) { + boolean error = false; + if (!multiple) { + //非多选填入多选值 + if (valueList.size() > 1) { + error = true; + errInfo.add(label + "非多选"); + } + } + List dataList = new ArrayList<>(); + if (!error) { + boolean errorHapen = false; + for (String va : valueList) { + Object vo = cacheMap.get(va); + if (vo == null) { + errorHapen = true; + } else { + dataList.add(vo.toString()); + } + + } + if (errorHapen) { + errInfo.add(label + "值不正确"); + } else { + insMap.put(vModel, !multiple ? dataList.get(0) : JsonUtil.getObjectToString(dataList)); + } + } + return dataList; + } + + /** + * 递归查询 + * + * @param label + * @param value + * @param Children + * @param data + * @param options + */ + public static void getOptions(String label, String value, String Children, JSONArray data, List> options) { + for (int i = 0; i < data.size(); i++) { + JSONObject ob = data.getJSONObject(i); + Map tree = new HashMap<>(16); + tree.put(value, String.valueOf(ob.get(value))); + tree.put(label, String.valueOf(ob.get(label))); + options.add(tree); + if (ob.get(Children) != null) { + JSONArray childrenArray = ob.getJSONArray(Children); + getOptions(label, value, Children, childrenArray, options); + } + } + } + + /** + * 获取用户主件查询条件 + * + * @param value + * @return + */ + public List usersSelectQuery(String value) { + List userSList = new ArrayList<>(); + String userValue = value.substring(0, value.indexOf("--")); + UserEntity userEntity = userApi.getInfoById(userValue); + if (userEntity != null) { + //在用户关系表中取出 + List groupRel = Optional.ofNullable(userRelationApi.getList(userValue, PermissionConst.GROUP)).orElse(new ArrayList<>()); + List orgRel = Optional.ofNullable(userRelationApi.getList(userValue, PermissionConst.ORGANIZE)).orElse(new ArrayList<>()); + List posRel = Optional.ofNullable(userRelationApi.getList(userValue, PermissionConst.POSITION)).orElse(new ArrayList<>()); + List roleRel = Optional.ofNullable(userRelationApi.getList(userValue, PermissionConst.ROLE)).orElse(new ArrayList<>()); + + if (groupRel.size() > 0) { + for (UserRelationEntity split : groupRel) { + userSList.add(split.getObjectId()); + } + } + if (StringUtil.isNotEmpty(userEntity.getOrganizeId())) { + //向上递归 查出所有上级组织 + List allUpOrgIDs = new ArrayList<>(); + allUpOrgIDs = organizeApi.upWardRecursion(userEntity.getOrganizeId()); + for (String orgID : allUpOrgIDs) { + userSList.add(orgID); + } + } + if (posRel.size() > 0) { + for (UserRelationEntity split : posRel) { + userSList.add(split.getObjectId()); + } + } + if (roleRel.size() > 0) { + for (UserRelationEntity split : roleRel) { + userSList.add(split.getObjectId()); + } + } + return userSList; + } else { + return null; + } + } + + /** + * 获取用户主件查询条件(多选) + * + * @param values + * @return + */ + public List usersSelectQuery(List values) { + List userSList = new ArrayList<>(); + for (String value : values) { + String userValue = value.substring(0, value.indexOf("--")); + UserEntity userEntity = userApi.getInfoById(userValue); + if (userEntity != null) { + //在用户关系表中取出 + List groupRel = Optional.ofNullable(userRelationApi.getList(userValue, PermissionConst.GROUP)).orElse(new ArrayList<>()); + List orgRel = Optional.ofNullable(userRelationApi.getList(userValue, PermissionConst.ORGANIZE)).orElse(new ArrayList<>()); + List posRel = Optional.ofNullable(userRelationApi.getList(userValue, PermissionConst.POSITION)).orElse(new ArrayList<>()); + List roleRel = Optional.ofNullable(userRelationApi.getList(userValue, PermissionConst.ROLE)).orElse(new ArrayList<>()); + + if (groupRel.size() > 0) { + for (UserRelationEntity split : groupRel) { + userSList.add(split.getObjectId()); + } + } + if (StringUtil.isNotEmpty(userEntity.getOrganizeId())) { + //向上递归 查出所有上级组织 + List allUpOrgIDs = new ArrayList<>(); + allUpOrgIDs = organizeApi.upWardRecursion(userEntity.getOrganizeId()); + for (String orgID : allUpOrgIDs) { + userSList.add(orgID); + } + } + if (posRel.size() > 0) { + for (UserRelationEntity split : posRel) { + userSList.add(split.getObjectId()); + } + } + if (roleRel.size() > 0) { + for (UserRelationEntity split : roleRel) { + userSList.add(split.getObjectId()); + } + } + } + } + return userSList; + } + + @DS("") + public List getFilterCondition(String id) { + return filterService.getCondition(id); + } + + public static List convertToList(Object obj) { + return OnlineSwapDataUtils.convertToList(obj); + } + + public static String convertValueToString(String obj, boolean mult, boolean isOrg) { + return OnlineSwapDataUtils.convertValueToString(obj, mult, isOrg); + } + + /** + * 获取数据连接 + * + * @param dbLink + * @return + */ + public DbLinkEntity getDataSource(String dbLink) { + return dataSourceApi.getInfoByFullName(dbLink); + } + + + /** + * 静态数据转换 + * + * @param param 需要转换的值 + * @param options 静态数据模型 + * @param key label key-value编码对应 + * @param multiple 是否多选 + * @return 转换后的值 + */ + public static String selectStaitcSwap(String param, String options, String key, String label, boolean multiple) { + List textList = new ArrayList<>(); + List optionsList = JsonUtil.getJsonToList(options, Map.class); + if (multiple) { + List jsonToList = JsonUtil.getJsonToList(param, String.class); + for (String list1 : jsonToList) { + if (list1.contains("[")) { + List textList2 = new ArrayList<>(); + List jsonToList2 = JsonUtil.getJsonToList(list1, String.class); + for (String str : jsonToList2) { + textList2.add(loop(optionsList, str, key, label)); + } + textList.add(String.join("/", textList2)); + } else { + textList.add(loop(optionsList, list1, key, label)); + } + } + } else { + if (param.contains("[")) { + List textList2 = new ArrayList<>(); + List jsonToList = JsonUtil.getJsonToList(param, String.class); + for (String str : jsonToList) { + textList2.add(loop(optionsList, str, key, label)); + } + textList.add(String.join("/", textList2)); + } else { + textList.add(loop(optionsList, param, key, label)); + } + } + return String.join(",", textList); + } + + public static String loop(List options, String oneData, String key, String label) { + for (int i = 0; i < options.size(); i++) { + if (options.get(i).get(key).equals(oneData)) { + return options.get(i).get(label).toString(); + } else if (options.get(i).get("children") != null) { + List children = JsonUtil.getJsonToList(options.get(i).get("children"), Map.class); + String loop = loop(children, oneData, key, label); + if (loop != null) { + return loop; + } + } + } + return null; + } + + /** + * 功能表单获取流程信息-导入绑定多流程的第一个 + * + * @param formId + * @return + * @throws WorkFlowException + */ + public String getFlowTempJsonId(String formId) throws WorkFlowException { + String flowTemjsonId = ""; + FlowFormEntity form = flowFormService.getById(formId); + if (form == null || StringUtil.isEmpty(form.getFlowId())) { + throw new WorkFlowException("该功能未配置流程不可用"); + } + FlowTemplateInfoVO vo = flowTaskApi.getTemplateInfo(form.getFlowId()); + if (vo == null || StringUtil.isEmpty(vo.getFlowTemplateJson()) || "[]".equals(vo.getFlowTemplateJson())) { + throw new WorkFlowException("流程未设计!"); + } + List collect = JsonUtil.getJsonToList(vo.getFlowTemplateJson(), FlowJsonModel.class); + flowTemjsonId = collect.get(0).getId(); + return flowTemjsonId; + } + + + /** + * 输入时表单时间字段根据格式转换去尾巴 + * + * @param form + */ + public static void swapDatetime(Object form) { + Field[] declaredFields = form.getClass().getDeclaredFields(); + for (Field f : declaredFields) { + try { + //副表处理 + if (f.getType().getName().startsWith("jnpf.model")) { + if (!f.isAccessible()) { + f.setAccessible(true); + } + Object o = f.get(form); + if (o == null) { + continue; + } + swapDatetime(o); + f.set(form, o); + continue; + } + //子表处理 + if (List.class.isAssignableFrom(f.getType())) { + Type type = f.getGenericType(); + if (type instanceof ParameterizedType) { + if (!f.isAccessible()) { + f.setAccessible(true); + } + List list = getList(f, f.get(form)); + for (Object o : list) { + swapDatetime(o); + } + if (list.size() > 0) { + f.set(form, list); + } + } + continue; + } + //主表处理 + if (f.getAnnotation(JnpfField.class) == null) continue; + JnpfField annotation = f.getAnnotation(JnpfField.class); + if (!"date".equals(annotation.jnpfKey()) || StringUtil.isEmpty(annotation.format())) continue; + String format = annotation.format(); + f.setAccessible(true); + if (f.get(form) != null && Long.parseLong(String.valueOf(f.get(form))) > 0) { + Date date = new Date(Long.parseLong(String.valueOf(f.get(form)))); + String completionStr = ""; + switch (format) { + case "yyyy": + completionStr = "-01-01 00:00:00"; + break; + case "yyyy-MM": + completionStr = "-01 00:00:00"; + break; + case "yyyy-MM-dd": + completionStr = " 00:00:00"; + break; + case "yyyy-MM-dd HH": + completionStr = ":00:00"; + break; + case "yyyy-MM-dd HH:mm": + completionStr = ":00"; + break; + default: + break; + } + String datestr = DateUtil.dateToString(date, format); + long time = DateUtil.stringToDate(datestr + completionStr).getTime(); + f.set(form, String.valueOf(time)); + } + + } catch (Exception e) { + e.printStackTrace(); + } + } + + } + + public static List getList(Field field, Object object) { + List resultList = new ArrayList<>(); + if (object != null) { + try { + Class clzz = object.getClass(); + //反射调用获取到list的size方法来获取到集合的大小 + Method sizeMethod = clzz.getDeclaredMethod("size"); + if (!sizeMethod.isAccessible()) { + sizeMethod.setAccessible(true); + } + //集合长度 + int size = (int) sizeMethod.invoke(object); + //循环遍历获取到数据 + for (int i = 0; i < size; i++) { + //反射获取到list的get方法 + Method getMethod = clzz.getDeclaredMethod("get", int.class); + //调用get方法获取数据 + if (!getMethod.isAccessible()) { + getMethod.setAccessible(true); + } + Object invoke = getMethod.invoke(object, i); + resultList.add(invoke); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + return resultList; + + } + + /** + * 小数转换带上0 + * + * @param decimalValue + */ + public static String getDecimalStr(Object decimalValue){ + if(Objects.isNull(decimalValue)){ + return ""; + } + if (decimalValue instanceof BigDecimal) { + BigDecimal bd = (BigDecimal) decimalValue; + return bd.toPlainString(); + } + return String.valueOf(decimalValue); + } + + /** + * 获取当前组织完整路径 + * + * @param orgId + * @return + */ + public String getCurrentOrgIds(String orgId, String showLevel) { + return flowFormDataUtil.getCurrentOrgIds(orgId, showLevel); + } + + /** + * 获取当前组织名称(all-显示组织名,else 显示部门名) + * + * @param value + * @param showLevel + * @return + */ + public String getCurrentOrganizeName(Object value, String showLevel) { + return flowFormDataUtil.getCurrentOrganizeName(value, showLevel); + } + + /* ****************以下vue3转换信息****************** */ + + /** + * 通过副表名取副表数据map + * + * @param data + * @param tableName + */ + public static Map getMastTabelData(Object data, String tableName) { + Map map = JsonUtil.entityToMap(data); + Map mapRes = new HashMap<>(); + for (String key : map.keySet()) { + String[] jnpf_s = key.split("_jnpf_"); + if (jnpf_s.length == 2 && jnpf_s[0].contains(tableName)) { + mapRes.put(jnpf_s[1], map.get(key)); + } + } + return mapRes; + } + + + /** + * List数据转换 + * + * @param realList + * @param formDataStr + * @return + */ + public List> swapDataList(List> realList, String formDataStr, String columnDataStr, String moduleId, boolean inlineEdit) { + FormDataModel formDataModel = JsonUtil.getJsonToBean(formDataStr, FormDataModel.class); + ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(columnDataStr, ColumnDataModel.class); + List fieLdsModels = JsonUtil.getJsonToList(formDataModel.getFields(), FieLdsModel.class); + List fields = new ArrayList<>(); + VisualUtils.recursionFields(fieLdsModels, fields); + //树形-添加父级字段+_id + if (OnlineDevData.TYPE_FIVE_COLUMNDATA.equals(columnDataModel.getType())) { + realList.forEach(item -> { + item.put(columnDataModel.getParentField() + "_id", item.get(columnDataModel.getParentField())); + }); + } + //数据转换 + realList = swapDataUtils.getSwapList(realList, fields, moduleId, inlineEdit, new ArrayList<>()); + return realList; + } + + /** + * List数据转树形和分组 + * + * @param realList + * @param columnDataStr + * @return + */ + public List> swapDataList(List> realList, String columnDataStr, String subField) { + ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(columnDataStr, ColumnDataModel.class); + //判断数据是否分组 + if (OnlineDevData.TYPE_THREE_COLUMNDATA.equals(columnDataModel.getType())) { + realList = OnlineDevListUtils.groupData(realList, columnDataModel); + } + //树形列表 + if (OnlineDevData.TYPE_FIVE_COLUMNDATA.equals(columnDataModel.getType())) { + columnDataModel.setSubField(subField); + realList = OnlineDevListUtils.treeListData(realList, columnDataModel); + } + return realList; + } + + /** + * 编辑form数据转换 + * + * @param dataMap + * @param formDataStr + * @return + */ + public Map swapDataForm(Map dataMap, String formDataStr, Map tableField, Map tableRename) { + FormDataModel formDataModel = JsonUtil.getJsonToBean(formDataStr, FormDataModel.class); + List fieLdsModels = JsonUtil.getJsonToList(formDataModel.getFields(), FieLdsModel.class); + List fields = new ArrayList<>(); + VisualUtils.recursionFields(fieLdsModels, fields); + //数据转换 + return this.swapDataForm(dataMap, fields, null, tableField, tableRename); + } + + private Map swapDataForm(Map dataMap, List fields, Map mainMap + , Map tableField, Map tableRename) { + if (dataMap == null || dataMap.isEmpty()) return new HashMap<>(); + for (FieLdsModel item : fields) { + String jnpfKey = item.getConfig().getJnpfKey(); + String vModel = item.getVModel(); + String dataType = item.getConfig().getDataType(); + Boolean isMultiple = Objects.nonNull(item.getMultiple()) ? item.getMultiple() : false; + List systemConditions = new ArrayList() {{ + add(JnpfKeyConsts.CURRORGANIZE); + add(JnpfKeyConsts.CURRDEPT); + add(JnpfKeyConsts.CURRPOSITION); + }}; + //多选二维数组 + List multTow = new ArrayList() {{ + add(JnpfKeyConsts.CASCADER); + add(JnpfKeyConsts.CHECKBOX); + add(JnpfKeyConsts.ADDRESS); + add(JnpfKeyConsts.COMSELECT); + }}; + //一维维数组 + List multOne = new ArrayList() {{ + add(JnpfKeyConsts.CHECKBOX); + }}; + List nullIsList=new ArrayList(){{ + add(JnpfKeyConsts.UPLOADFZ); + add(JnpfKeyConsts.UPLOADIMG); + }}; + if (Objects.nonNull(dataMap.get(vModel))) { + if (multTow.contains(jnpfKey) && isMultiple) { + //二维数据转换 + dataMap.replace(vModel, JSONObject.parseArray(dataMap.get(vModel).toString(), List.class)); + } else if (multTow.contains(jnpfKey) || isMultiple || multOne.contains(jnpfKey)) { + //一维数据转换 + dataMap.replace(vModel, JSONObject.parseArray(dataMap.get(vModel).toString(), String.class)); + } + } else if (!JnpfKeyConsts.CHILD_TABLE.equals(jnpfKey)) { + if (systemConditions.contains(jnpfKey)) { + dataMap.put(vModel, " "); + } + if (nullIsList.contains(jnpfKey)) { + dataMap.put(vModel, Collections.emptyList()); + } + continue; + } + switch (jnpfKey) { + case JnpfKeyConsts.RATE: + case JnpfKeyConsts.SLIDER: + BigDecimal value = new BigDecimal(0); + if (dataMap.get(vModel) != null) { + value = new BigDecimal(dataMap.get(vModel).toString()); + } + dataMap.put(vModel, value); + break; + case JnpfKeyConsts.SWITCH: + dataMap.put(vModel, dataMap.get(vModel) != null ? Integer.parseInt(String.valueOf(dataMap.get(vModel))) : null); + break; + case JnpfKeyConsts.DATE: + Long dateTime = DateTimeFormatConstant.getDateObjToLong(dataMap.get(vModel)); + dataMap.put(vModel, dateTime != null ? dateTime : dataMap.get(vModel)); + break; + //编辑是的系统控件转换 + case JnpfKeyConsts.CURRORGANIZE: + case JnpfKeyConsts.CURRDEPT: + dataMap.put(vModel, this.getCurrentOrganizeName(dataMap.get(vModel), item.getShowLevel())); + break; + case JnpfKeyConsts.CREATEUSER: + case JnpfKeyConsts.MODIFYUSER: + UserEntity userEntity = userApi.getInfoById(String.valueOf(dataMap.get(vModel))); + String userValue = Objects.nonNull(userEntity) ? userEntity.getAccount().equalsIgnoreCase(ADMIN_KEY) + ? "管理员/"+ADMIN_KEY : userEntity.getRealName() + "/" + userEntity.getAccount() : String.valueOf(dataMap.get(vModel)); + dataMap.put(vModel, userValue); + break; + case JnpfKeyConsts.CURRPOSITION: + PositionEntity positionEntity = positionApi.queryInfoById(String.valueOf(dataMap.get(vModel))); + dataMap.put(vModel, Objects.nonNull(positionEntity) ? positionEntity.getFullName() : dataMap.get(vModel)); + break; + case JnpfKeyConsts.CREATETIME: + case JnpfKeyConsts.MODIFYTIME: + if (ObjectUtil.isNotEmpty(dataMap.get(vModel))) { + Long dateLong = Long.parseLong(String.valueOf(dataMap.get(vModel))); + String dateStr = DateUtil.dateFormat(new Date(dateLong)); + dataMap.put(vModel, dateStr); + } + break; + case JnpfKeyConsts.UPLOADFZ: + case JnpfKeyConsts.UPLOADIMG: + if (ObjectUtil.isNotEmpty(dataMap.get(vModel))) { + dataMap.put(vModel, JsonUtil.getJsonToListMap(dataMap.get(vModel).toString())); + } + break; + case JnpfKeyConsts.CHILD_TABLE: + List childrens = item.getConfig().getChildren(); + String childTableRename = ""; + try { + childTableRename = tableRename.get(tableField.get(vModel)); + } catch (Exception e) { + } + if (StringUtil.isNotEmpty(childTableRename)) { + vModel = childTableRename + "List"; + } + List> childList = (List>) dataMap.get(vModel); + if (CollectionUtils.isEmpty(childList)) break; + for (int i = 0; i < childList.size(); i++) { + Map childMap = childList.get(i); + childList.set(i, this.swapDataForm(childMap, childrens, dataMap, tableField, tableRename)); + } + dataMap.put(vModel, childList); + break; + default: + dataMap.put(vModel, dataMap.get(vModel)); + break; + } + } + return dataMap; + } + + + /** + * 详情Detail数据转换 + * + * @param map + * @param formDataStr + * @return + */ + public Map swapDataDetail(Map map, String formDataStr, String moduleId, boolean inlineEdit) { + FormDataModel formDataModel = JsonUtil.getJsonToBean(formDataStr, FormDataModel.class); + List fieLdsModels = JsonUtil.getJsonToList(formDataModel.getFields(), FieLdsModel.class); + List fields = new ArrayList<>(); + VisualUtils.recursionFields(fieLdsModels, fields); + //数据转换 + if (map != null) { + Map finalMap = map; + List> realList = new ArrayList() {{ + add(finalMap); + }}; + realList = swapDataUtils.getSwapInfo(realList, fields, moduleId, inlineEdit, new ArrayList<>(), null); + map = realList.get(0); + } + return map; + } + + /** + * 导入数据 + */ + public ExcelImportModel importData(String formData, List> dataList, ImportFormCheckUniqueModel uniqueModel, Map table, String tableListStr) throws WorkFlowException { + ExcelImportModel importModel = new ExcelImportModel(); + Map localCache = swapDataUtils.getlocalCache(); + List> failResult = new ArrayList<>(); + FormDataModel formDataModel = JsonUtil.getJsonToBean(formData, FormDataModel.class); + List fieLdsModels = JsonUtil.getJsonToList(formDataModel.getFields(), FieLdsModel.class); + List fields = new ArrayList<>(); + VisualUtils.recursionFields(fieLdsModels, fields); + uniqueModel.setMain(true); + uniqueModel.setPrimaryKeyPolicy(formDataModel.getPrimaryKeyPolicy()); + uniqueModel.setLogicalDelete(formDataModel.getLogicalDelete()); + uniqueModel.setMain(true); + uniqueModel.setTableModelList(JsonUtil.getJsonToList(tableListStr, TableModel.class)); + try { + for (int i = 0, len = dataList.size(); i < len; i++) { + Map data = dataList.get(i); + Map resultMap = new HashMap<>(data); + StringJoiner errInfo = new StringJoiner(","); + Map errorMap = new HashMap<>(data); + boolean hasError = swapDataUtils.checkExcelData(dataList, i, fields, data, localCache, resultMap, errInfo, errorMap, uniqueModel); + if (hasError) { + failResult.add(errorMap); + } else { + List importDataModel = uniqueModel.getImportDataModel(); + ImportDataModel model = new ImportDataModel(); + model.setId(uniqueModel.getId()); + Map> map = new HashMap<>(16); + Map tableMap = new HashMap<>(16); + for (Object key : resultMap.keySet().toArray()) { + if (table.get(key) != null) { + tableMap.put(table.get(key) + "List", resultMap.remove(key)); + } + } + resultMap.putAll(map); + resultMap.putAll(tableMap); + resultMap.put(FlowFormConstant.FLOWID, uniqueModel.getFlowId()); + model.setResultData(resultMap); + importDataModel.add(model); + } + } + } catch (Exception e) { + e.printStackTrace(); + throw new WorkFlowException("导入异常!"); + } + importModel.setFnum(failResult.size()); + importModel.setSnum(dataList.size() - failResult.size()); + importModel.setResultType(failResult.size() > 0 ? 1 : 0); + importModel.setFailResult(failResult); + return importModel; + } + + public boolean checkExcelData(List> allData, int dataIndex, String formData, Map data, Map localCache, Map insMap, StringJoiner errInfo, + Map errorMap, String importType, String unionId, String dbLinkId, String tableListStr) throws Exception { + boolean hasError = false; + try { + FormDataModel formDataModel = JsonUtil.getJsonToBean(formData, FormDataModel.class); + List fieLdsModels = JsonUtil.getJsonToList(formDataModel.getFields(), FieLdsModel.class); + List fields = new ArrayList<>(); + VisualUtils.recursionFields(fieLdsModels, fields); + ImportFormCheckUniqueModel uniqueModel = new ImportFormCheckUniqueModel(); + uniqueModel.setMain(true); + uniqueModel.setUpdate(Objects.equals(importType, "2"));//1、仅新增数据-2、更新和新增数据 + uniqueModel.setPrimaryKeyPolicy(formDataModel.getPrimaryKeyPolicy()); + uniqueModel.setLogicalDelete(formDataModel.getLogicalDelete()); + DbLinkEntity linkEntity = dataSourceApi.getInfo(dbLinkId); + DynamicDataSourceUtil.switchToDataSource(linkEntity); + @Cleanup Connection connection = DynamicDataSourceUtil.getCurrentConnection(); + uniqueModel.setConnection(connection); + hasError = swapDataUtils.checkExcelData(allData, dataIndex, fields, data, localCache, insMap, errInfo, errorMap, uniqueModel); + if (StringUtil.isNotEmpty(uniqueModel.getId())) { + unionId = uniqueModel.getId(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + DynamicDataSourceUtil.clearSwitchDataSource(); + } + return hasError; + } + + /** + * vue3获取数据过滤方案列表 + * + * @param columnStr + * @param appColumnStr + * @return + */ + public List getFilterRules(String columnStr, String appColumnStr) { + ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(columnStr, ColumnDataModel.class); + ColumnDataModel appColumnDataModel = JsonUtil.getJsonToBean(appColumnStr, ColumnDataModel.class); + List ruleList = JsonUtil.getJsonToList(columnDataModel.getRuleList().getConditionList(), Map.class); + List appRuleList = JsonUtil.getJsonToList(appColumnDataModel.getRuleList().getConditionList(), Map.class); + boolean isPc = RequestContext.isOrignPc(); + List res = JsonUtil.getJsonToList(ruleList, RuleInfo.class); + if (!isPc) { + res = JsonUtil.getJsonToList(appRuleList, RuleInfo.class); + } + return res; + } + + public QueryWrapper wrapperHandle(String columnStr, String appColumnStr, QueryWrapper wrapper, Class aClass, String type, String tableName) { + try { + // 避免空and + wrapper.apply(" 1=1 "); + List ruleInfos = getFilterRules(columnStr, appColumnStr); + for (RuleInfo info : ruleInfos) { + String field = info.getField(); + if ("main".equals(type) && field.contains("-")) { + continue; + } + if ("main".equals(type) && field.contains("_jnpf_")) { + continue; + } + if ("sub".equals(type) && !field.contains("-")) { + continue; + } + if ("sub-jnpf".equals(type) && !field.contains("_jnpf_")) { + continue; + } + String fieldName = field; + String table = ""; + if (field.contains("-")) { + fieldName = field.split("-")[1]; + if (!tableName.equals(field.split("-")[0])) { + continue; + } + } + if (field.contains("_jnpf_")) { + fieldName = field.split("_jnpf_")[1]; + table = field.split("_jnpf_")[0]; + table = table.replace("jnpf_", ""); + } + if ("sub-jnpf".equals(type) && !tableName.equals(table)) { + continue; + } + Field declaredField = aClass.getDeclaredField(fieldName); + declaredField.setAccessible(true); + String fieldDb = declaredField.getAnnotation(TableField.class).value(); + GenUtil genUtil = JsonUtil.getJsonToBean(info, GenUtil.class); + genUtil.setOperator(info.getOperator()); + genUtil.solveValue(wrapper, fieldDb); + } + return wrapper; + } catch (Exception e) { + return wrapper; + } + } + + /** + * 是否只有主表过滤 + * + * @param columnStr + * @param appColumnStr + * @return + */ + public boolean onlyMainFilter(String columnStr, String appColumnStr) { + List ruleInfos = getFilterRules(columnStr, appColumnStr); + for (RuleInfo info : ruleInfos) { + if (info.getField().contains("_jnpf_") || info.getField().contains("-")) { + return false; + } + } + return true; + } + + /** + * 输入时表单时间字段根据格式转换去尾巴 + * + * @param formDataStr 表单属性json + * @param obj 数据 + */ + public static String swapDatetime(String formDataStr, Object obj, Map tableRename) { + FormDataModel formDataModel = JsonUtil.getJsonToBean(formDataStr, FormDataModel.class); + List fieLdsModels = JsonUtil.getJsonToList(formDataModel.getFields(), FieLdsModel.class); + Map map = JsonUtil.entityToMap(obj); + for (String tabelRealName : tableRename.keySet()) { + String reName = DataControlUtils.initialLowercase(tableRename.get(tabelRealName)); + map.put(tabelRealName + "List", map.get(reName + "List")); + } + OnlineSwapDataUtils.swapDatetime(fieLdsModels, map); + for (String tabelRealName : tableRename.keySet()) { + if (map.get(tabelRealName + "List") != null) { + String reName = DataControlUtils.initialLowercase(tableRename.get(tabelRealName)); + JSONArray listToJsonArray = JsonUtil.getListToJsonArray((List) map.get(tabelRealName + "List")); + map.replace(reName + "List", listToJsonArray); + } + } + return JsonUtil.getObjectToString(map); + } + + /** + * 三种搜索条件组合查询 + * + * @param queryAllModel + * @return + */ + @DS("") + public MPJLambdaWrapper getConditionAllTable(QueryAllModel queryAllModel) { + if (StringUtil.isNotEmpty(queryAllModel.getDbLink()) && !"0".equals(queryAllModel.getDbLink())) { + try { + DbLinkEntity linkEntity = getDataSource(queryAllModel.getDbLink()); + DynamicDataSourceUtil.switchToDataSource(linkEntity); + @Cleanup Connection connection = ConnUtil.getConnOrDefault(linkEntity); + queryAllModel.setDbType(connection.getMetaData().getDatabaseProductName().trim()); + } catch (Exception e) { + } finally { + DynamicDataSourceUtil.clearSwitchDataSource(); + } + } + + MPJLambdaWrapper wrapper = queryAllModel.getWrapper(); + List> superList = new ArrayList<>(); + + //高级查询 + String superQuery = queryAllModel.getSuperJson(); + if (StringUtil.isNotEmpty(superQuery)) { + List list = new ArrayList<>(); + SuperJsonModel jsonToBean = JsonUtil.getJsonToBean(queryAllModel.getSuperJson(), SuperJsonModel.class); + list.add(jsonToBean); + superList.add(list); + } + //数据过滤 + String ruleQuery = queryAllModel.getRuleJson(); + if (StringUtil.isNotEmpty(ruleQuery)) { + List list = new ArrayList<>(); + SuperJsonModel jsonToBean = JsonUtil.getJsonToBean(queryAllModel.getRuleJson(), SuperJsonModel.class); + list.add(jsonToBean); + superList.add(list); + } + //数据权限 不为空有开启权限(存在多权限--权限方案之间用or,和其他条件之间用and) + if (queryAllModel.getModuleId() != null) { + List authorizeListAll = authorizeService.getConditionSql(queryAllModel.getModuleId()); + if (authorizeListAll.size() > 0) { + superList.add(authorizeListAll); + } + } + QueryUtil queryUtil = new QueryUtil(); + queryAllModel.setQueryList(superList); + queryUtil.queryList(queryAllModel); + return wrapper; + } + + /** + * 根据菜单ID获取菜单名称 + * + * @param menuId + * @return + */ + public String getMenuName(String menuId) { + String name = ""; + if (StringUtil.isNotEmpty(menuId)) { + ModuleEntity menuInfo = moduleApi.getModuleByList(menuId); + if (menuInfo != null && StringUtil.isNotEmpty(menuInfo.getFullName())) { + name = menuInfo.getFullName(); + } + } + return name; + } + + /** + * 根据表单获取所有字段 + * + * @param formJson + * @return + */ + public ExcelModel getExcelParams(String formJson, List selectKey) { + return swapDataUtils.getDefaultValue(formJson, selectKey); + } + + /** + * 输入时表单时间字段根据格式转换去尾巴 + * + * @param formDataStr 表单属性json + * @param obj 数据 + */ + public static String swapDatetime(String formDataStr, Object obj) { + FormDataModel formDataModel = JsonUtil.getJsonToBean(formDataStr, FormDataModel.class); + List fieLdsModels = JsonUtil.getJsonToList(formDataModel.getFields(), FieLdsModel.class); + Map map = JsonUtil.entityToMap(obj); + OnlineSwapDataUtils.swapDatetime(fieLdsModels, map); + return JsonUtil.getObjectToString(map); + } +} diff --git a/jnpf-library-entity/pom.xml b/jnpf-tendering-entity/pom.xml similarity index 85% rename from jnpf-library-entity/pom.xml rename to jnpf-tendering-entity/pom.xml index 96476e4..dd041cd 100644 --- a/jnpf-library-entity/pom.xml +++ b/jnpf-tendering-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"> - jnpf-library + jnpf-tendering com.jnpf 3.7.0-RELEASE 4.0.0 - jnpf-library-entity + jnpf-tendering-entity diff --git a/jnpf-tendering-entity/src/main/java/jnpf/entity/Base_datainterfaceEntity.java b/jnpf-tendering-entity/src/main/java/jnpf/entity/Base_datainterfaceEntity.java new file mode 100644 index 0000000..26d55e6 --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/entity/Base_datainterfaceEntity.java @@ -0,0 +1,75 @@ +package jnpf.entity; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; +/** + * 数据接口 + * + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-06-19 + */ +@Data +@TableName("base_datainterface") +public class Base_datainterfaceEntity { + @TableId(value ="F_ID" ) + private String id; + @TableField(value = "F_CATEGORYID" , updateStrategy = FieldStrategy.IGNORED) + private String categoryid; + @TableField(value = "F_FULLNAME" , updateStrategy = FieldStrategy.IGNORED) + private String fullname; + @TableField("F_PATH") + private String path; + @TableField(value = "F_REQUESTMETHOD" , updateStrategy = FieldStrategy.IGNORED) + private String requestmethod; + @TableField(value = "F_RESPONSETYPE" , updateStrategy = FieldStrategy.IGNORED) + private String responsetype; + @TableField("F_QUERY") + private String query; + @TableField("F_REQUESTPARAMETERS") + private String requestparameters; + @TableField("F_IPADDRESS") + private String ipaddress; + @TableField("F_ENCODE") + private String encode; + @TableField("F_SORTCODE") + private Long sortcode; + @TableField("F_ENABLEDMARK") + private Integer enabledmark; + @TableField("F_DESCRIPTION") + private String description; + @TableField("F_CREATORTIME") + private Date creatortime; + @TableField("F_CREATORUSERID") + private String creatoruserid; + @TableField("F_LASTMODIFYTIME") + private Date lastmodifytime; + @TableField("F_LASTMODIFYUSERID") + private String lastmodifyuserid; + @TableField(value = "F_DELETEMARK" , updateStrategy = FieldStrategy.IGNORED) + private Integer deletemark; + @TableField("F_DELETETIME") + private Date deletetime; + @TableField("F_DELETEUSERID") + private String deleteuserid; + @TableField("F_DBLINKID") + private String dblinkid; + @TableField("F_DATATYPE") + private Integer datatype; + @TableField("F_CHECKTYPE") + private Integer checktype; + @TableField("F_REQUESTHEADERS") + private String requestheaders; + @TableField("F_DATAPROCESSING") + private String dataprocessing; + @TableField("F_TENANTID") + private String tenantid; + @TableField("F_FLOWID") + private String flowid; +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/entity/BiddingProjectSubscribeChild.java b/jnpf-tendering-entity/src/main/java/jnpf/entity/BiddingProjectSubscribeChild.java new file mode 100644 index 0000000..be4acb1 --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/entity/BiddingProjectSubscribeChild.java @@ -0,0 +1,91 @@ +package jnpf.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * + *

+ * + * @author admin + * @since 2024-06-11 + */ +@Data +@TableName("bidding_project_subscribe_child") +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class BiddingProjectSubscribeChild implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "child_id", type = IdType.INPUT) + private String childId; + + @TableField(value = "main_id") + private String mainId; + + // @ApiModelProperty("状态") + @TableField(value = "child_status") + private String childStatus; + + // @ApiModelProperty("状态名称") + @TableField(value = "child_status_name") + private String childStatusName; + + // @ApiModelProperty("人员所属部门") + @TableField(value = "user_dept_id") + private String userDeptId; + + // @ApiModelProperty("人员所属部门名称") + @TableField(value = "user_dept_name") + private String userDeptName; + + // @ApiModelProperty("操作人员id") + @TableField(value = "user_id") + private String userId; + + // @ApiModelProperty("操作人员名称") + @TableField(value = "user_name") + private String userName; + + // @ApiModelProperty("描述") + @TableField(value = "remake") + private String remake; + + // @ApiModelProperty("创建时间") + @TableField(value = "create_time") + private LocalDateTime createTime; + + // @ApiModelProperty("更新时间") + @TableField(value = "update_time") + private LocalDateTime updateTime; + //根子单标记 "1" 非根子单 "0" + @TableField(value = "root_child_flag") + private String rootChildFlag; + + + //非根子单时根子单的id + @TableField(value = "root_child_id") + private String rootChildId; + + //创建人id + @TableField(value = "create_user_id") + private String createUserId; + + //创建人姓名 + @TableField(value = "create_user_name") + private String createUserName; + + +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/entity/BiddingProjectSubscribeEntity.java b/jnpf-tendering-entity/src/main/java/jnpf/entity/BiddingProjectSubscribeEntity.java new file mode 100644 index 0000000..9de984f --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/entity/BiddingProjectSubscribeEntity.java @@ -0,0 +1,187 @@ +package jnpf.entity; + +import com.baomidou.mybatisplus.annotation.*; +import jnpf.enump.BiddingProjectEnum; +import jnpf.model.JsonTypeHandler; +import jnpf.model.dto.BiddingProjectDto; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 招标项目表申请表 + * + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-06-11 + */ +@Data +@TableName(value = "bidding_project_subscribe",autoResultMap = true) +public class BiddingProjectSubscribeEntity { + @TableId(value ="ID" ,type = IdType.AUTO ) + private Integer id; + @TableField(value = "MANAGEMENT_STYLE" , updateStrategy = FieldStrategy.IGNORED) + private String managementStyle; + @TableField(value = "PROJECT_NUMBER" , updateStrategy = FieldStrategy.IGNORED) + private String projectNumber; + @TableField(value = "PLAN_SUBMISSION_TIME" , updateStrategy = FieldStrategy.IGNORED) + private Date planSubmissionTime; + @TableField(value = "REPORTING_CORP" , updateStrategy = FieldStrategy.IGNORED) + private String reportingCorp; + @TableField(value = "TENDERING_ENTITY" , updateStrategy = FieldStrategy.IGNORED) + private String tenderingEntity; + @TableField(value = "PROJECT_NAME" , updateStrategy = FieldStrategy.IGNORED) + private String projectName; + @TableField(value = "ITEM_CLASSIFICATION" , updateStrategy = FieldStrategy.IGNORED) + private String itemClassification; + @TableField(value = "ORGANIZATIONAL_FORM" , updateStrategy = FieldStrategy.IGNORED) + private String organizationalForm; + @TableField(value = "BIDDING_METHOD" , updateStrategy = FieldStrategy.IGNORED) + private String biddingMethod; + @TableField("REPORTED_FILE_NAME") + private String reportedFileName; + @TableField(value = "BIDDING_DOCUMENT_ID" , updateStrategy = FieldStrategy.IGNORED) + private String biddingDocumentId; + @TableField(value = "DECISION_PROCEDURE" , updateStrategy = FieldStrategy.IGNORED) + private String decisionProcedure; + @TableField(value = "APPROVAL_DOCUMENTS_ID" , updateStrategy = FieldStrategy.IGNORED) + private String approvalDocumentsId; + @TableField(value = "FINAL_APPROVAL_TIME" , updateStrategy = FieldStrategy.IGNORED) + private Date finalApprovalTime; + @TableField(value = "SETTING_OF_WINNING_BIDDER_ONE" , updateStrategy = FieldStrategy.IGNORED) + private String settingOwinningBidderOne; + @TableField(value = "SETTING_OF_WINNING_BIDDER_TWO" , updateStrategy = FieldStrategy.IGNORED) + private String settingOwinningBidderTwo; + @TableField(value = "SCORING_INDICATOR_SETTINGS_ONE" , updateStrategy = FieldStrategy.IGNORED) + private String scoringIndicatorSettingsOne; + @TableField("SCORING_INDICATOR_SETTINGS_TWO") + private String scoringIndicatorSettingsTwo; + @TableField("SCORING_INDICATOR_SETTINGS_THREE") + private String scoringIndicatorSettingsThree; + @TableField("SCORING_INDICATOR_SETTINGS_FOUR") + private String scoringIndicatorSettingsFour; + @TableField(value = "AGENCY_ONE" , updateStrategy = FieldStrategy.IGNORED) + private String agencyOne; + @TableField("AGENCY_TWO") + private String agencyTwo; + @TableField(value = "SCORING_METHOD_ONE" , updateStrategy = FieldStrategy.IGNORED) + private String scoringMethodOne; + @TableField(value = "SCORING_METHOD_TWO" , updateStrategy = FieldStrategy.IGNORED) + private String scoringMethodTwo; + @TableField("APPROVAL_DOCUMENTS_ID_TWO") + private String approvalDocumentsIdTwo; + @TableField(value = "RESULT_REPORTING_TIME" , updateStrategy = FieldStrategy.IGNORED) + private Date resultReportingTime; + @TableField(value = "RESULT_REPORTED_FILE_NAME" , updateStrategy = FieldStrategy.IGNORED) + private String resultReportedFileName; + @TableField(value = "BID_OPENING_TIME" , updateStrategy = FieldStrategy.IGNORED) + private Date bidOpeningTime; + @TableField(value = "EXPLANATION_OF_BID" , updateStrategy = FieldStrategy.IGNORED) + private String explanationObid; + @TableField(value = "WINNING_BIDDER_AND_WINNING_AMOUNT" , updateStrategy = FieldStrategy.IGNORED) + private String winningBidderAndWinningAmount; + @TableField(value = "BID_EVALUATION_COMMITTEE" , updateStrategy = FieldStrategy.IGNORED) + private String bidEvaluationCommittee; + @TableField(value = "TENDER_AGENCY_FEE" , updateStrategy = FieldStrategy.IGNORED) + private String tenderAgencyFee; + @TableField(value = "ATTACHMENT_OF_BIDDING_RESULTS_ONE_ID" , updateStrategy = FieldStrategy.IGNORED) + private String attachmentObiddingResultsOneId; + @TableField("ATTACHMENT_OF_BIDDING_RESULTS_TWO_ID") + private String attachmentObiddingResultsTwoId; + @TableField("WINNING_BIDDER") + private String winningBidder; + @TableField(value = "WINNING_BIDDER_CANDIDATE" , updateStrategy = FieldStrategy.IGNORED) + private String winningBidderCandidate; + @TableField(value = "FILING_DECISION_PROCEDURE" , updateStrategy = FieldStrategy.IGNORED) + private String filingDecisionProcedure; + @TableField(value = "FILING_RESULTS_ONE_ID" , updateStrategy = FieldStrategy.IGNORED) + private String filingResultsOneId; + @TableField("FILING_RESULTS_TWO_ID") + private String filingResultsTwoId; + @TableField(value = "APPROVAL_TIME_FOR_RESULTS" , updateStrategy = FieldStrategy.IGNORED) + private Date approvalTimeForResults; + @TableField("F_FLOWID") + private String flowid; + @TableField("F_FLOWTASKID") + private String flowtaskid; + @TableField(value = "ANNEX_PROGRAMME_DOCUMENT" , updateStrategy = FieldStrategy.IGNORED) + private String annexProgrammeDocument; + @TableField("MAIN_STATUS") + private String mainStatus; + @TableField("MAIN_STATUS_NAME") + private String mainStatusName; + @TableField("BID_WINNING_AMOUNT") + private String bidWinningAmount; + @TableField("IS_APPROVAL") + private Boolean isApproval; + @TableField(value = "QUERY_TYPE" , updateStrategy = FieldStrategy.IGNORED) + private String queryType; + @TableField(value = "APPROVAL_DOCUMENTS_ID_JT" , updateStrategy = FieldStrategy.IGNORED) + private String approvalDocumentsIdJt; + @TableField(value = "ARCHIVE_NUMBER" , updateStrategy = FieldStrategy.IGNORED) + private String archiveNumber; + @TableField(value = "CONTROL_PRICE" , updateStrategy = FieldStrategy.IGNORED) + private Double controlPrice; + @TableField(value = "FILING_RESULTS_THREE_ID" , updateStrategy = FieldStrategy.IGNORED) + private String filingResultsThreeId; + + + + + + + + + + + + + + + @TableField(value = "WINNING_BIDDER_INFO",typeHandler = JsonTypeHandler.class) + private List winningBidderInfo; + /** + *1-单一 2-多标段 3-入围机制 + */ + @TableField("project_amount") + private Double projectAmount; + @TableField("WINNING_BIDDER_TYPE") + private String winningBidderType; + @TableField(value = "CREATE_TIME" , updateStrategy = FieldStrategy.IGNORED) + private LocalDateTime createTime; + @TableField(value = "UPDATE_TIME" , updateStrategy = FieldStrategy.IGNORED) + private LocalDateTime updateTime; + + + /** + * 评标专家设置 + */ + @TableField("eval_setting") + private String evalSetting; + /** + *合同期 + */ + @TableField("contract_period") + private String contractPeriod; + + + @TableField(exist = false) + private List childList; + @TableField(exist = false) + private List stepList; + + + @TableField(exist = false) + private List buttonList=new ArrayList<>(); + + + + + + + +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/entity/BiddingProjectSubscribeStep.java b/jnpf-tendering-entity/src/main/java/jnpf/entity/BiddingProjectSubscribeStep.java new file mode 100644 index 0000000..45677a7 --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/entity/BiddingProjectSubscribeStep.java @@ -0,0 +1,97 @@ +package jnpf.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * + *

+ * + * @author admin + * @since 2024-06-11 + */ +@TableName("bidding_project_subscribe_step") +@Builder +@Data +@AllArgsConstructor +@NoArgsConstructor +//@apiModel(value = "BiddingProjectSubscribeStep对象", description = "") +public class BiddingProjectSubscribeStep implements Serializable { + + private static final long serialVersionUID = 1L; + + //@apiModelProperty("主键") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + //@apiModelProperty("关联id") + @TableField(value = "relation_main_id") + private String relationMainId; + + //@apiModelProperty("关联类型") + @TableField(value = "relation_type") + + private String relationType; + + //@apiModelProperty("子单关联id") + @TableField(value = "relation_child_id") + + private String relationChildId; + + //@apiModelProperty("处理类型") + @TableField(value = "deal_type") + + private String dealType; + + //@apiModelProperty("处理类型名称") + @TableField(value = "deal_type_name") + + private String dealTypeName; + + //@apiModelProperty("第三方关联id") + @TableField(value = "other_relation_id") + + private String otherRelationId; + + //@apiModelProperty("描述") + @TableField(value = "remake") + + private String remake; + + //@apiModelProperty("创建时间") + @TableField(value = "create_time") + + private LocalDateTime createTime; + + //@apiModelProperty("创建人id") + @TableField(value = "create_user_id") + + private String createUserId; + + //@apiModelProperty("创建人姓名") + @TableField(value = "create_user_name") + + private String createUserName; + + //@apiModelProperty("创建者组织id") + @TableField(value = "create_organization_id") + + private String createOrganizationId; + + //@apiModelProperty("创建人组织名称") + @TableField(value = "create_organization_name") + + private String createOrganizationName; + + +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/entity/Bidding_project_statisticsEntity.java b/jnpf-tendering-entity/src/main/java/jnpf/entity/Bidding_project_statisticsEntity.java new file mode 100644 index 0000000..9b10b11 --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/entity/Bidding_project_statisticsEntity.java @@ -0,0 +1,55 @@ +package jnpf.entity; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * 招标情况统计表 + * + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-06-13 + */ +@Data +@TableName("bidding_project_statistics") +public class Bidding_project_statisticsEntity { + @TableId(value ="ID" ) + private String id; + @TableField("F_FLOWID") + private String flowid; + @TableField("REPORTING_UNIT") + private String reportingUnit; + @TableField("PROJECTS_NUMS") + private String projectsNums; + + @TableField(exist = false) + private String projectsAmount; + @TableField(value = "F_ENGINEERING" , updateStrategy = FieldStrategy.IGNORED) + private String engineering; + @TableField(value = "F_GOODS" , updateStrategy = FieldStrategy.IGNORED) + private String goods; + @TableField(value = "F_SERVICE" , updateStrategy = FieldStrategy.IGNORED) + private String service; + @TableField(value = "RENT_OUT" , updateStrategy = FieldStrategy.IGNORED) + private String rentOut; + @TableField(value = "F_OTHER" , updateStrategy = FieldStrategy.IGNORED) + private String other; + @TableField("REPORTING_UNIT_2") + private String reportingUnit2; + @TableField("PROJECTS_NUMS_2") + private String projectsNums2; + @TableField("F_AGENCY_1") + private String agency1; + @TableField("F_AGENCY_2") + private String agency2; + @TableField("F_AGENCY_3") + private String agency3; + @TableField("F_AGENCY_4") + private String agency4; + @TableField("F_OTHER_2") + private String other2; +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/entity/ContractEntity.java b/jnpf-tendering-entity/src/main/java/jnpf/entity/ContractEntity.java new file mode 100644 index 0000000..c930d0f --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/entity/ContractEntity.java @@ -0,0 +1,33 @@ +package jnpf.entity; + +import jnpf.base.entity.SuperBaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; + +/** + * + * Contract + * 版本: V3.0.0 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2020-12-31 + */ +@Data +@TableName("test_contract") +public class ContractEntity extends SuperBaseEntity.SuperTBaseEntity implements Serializable { + + @TableField("F_CONTRACTNAME") + private String contractName; + + @TableField("F_MYTELEPHONE") + private String mytelePhone; + + @TableField("F_FILEJSON") + private String fileJson; + +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/entity/Expert.java b/jnpf-tendering-entity/src/main/java/jnpf/entity/Expert.java new file mode 100644 index 0000000..a6c58a8 --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/entity/Expert.java @@ -0,0 +1,129 @@ +package jnpf.entity; + +import com.baomidou.mybatisplus.annotation.*; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonFormat; +import jnpf.model.ContactInformationTypeHandler; +import jnpf.model.dto.ExpertDto; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * + *

+ * + * @author admin + * @since 2024-08-26 + */ +@Getter +@Setter +@TableName(value = "t_expert",autoResultMap = true) +//@ApiModel(value = "Expert对象", description = "") +public class Expert implements Serializable { + + private static final long serialVersionUID = 1L; + + // @ApiModelProperty("主键id") + @TableId(value = "id", type = IdType.INPUT) + private String id; + + // @ApiModelProperty("专家姓名") + @TableField(value = "expert_name") + private String expertName; + + // @ApiModelProperty("专家组别(字典表id)") + @TableField(value = "expert_group") + private String expertGroup; + + // @ApiModelProperty("公司名称(招投标类型)") + @TableField(value = "company_name") + private String companyName; + + // @ApiModelProperty("联系方式") + @TableField(value = "phone_number") + private String phoneNumber; + + + // @ApiModelProperty("联系人信息(json)") + @TableField(value = "contact_information",typeHandler = ContactInformationTypeHandler.class) + private List contactInformation; + + // @ApiModelProperty("出生日期") + @TableField(value = "birthday") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime birthday; + + // @ApiModelProperty("专家来源 1-内部专家 2-外部专家") + @TableField(value = "expert_sources") + private String expertSources; + + // @ApiModelProperty("工作单位名称") + @TableField(value = "work_unit") + private String workUnit; + + // @ApiModelProperty("职务") + @TableField(value = "post") + private String post; + + // @ApiModelProperty("专业技术职称") + @TableField(value = "technical_position") + private String technicalPosition; + + // @ApiModelProperty("专业专长") + @TableField(value = "professional_expertise") + private String professionalExpertise; + + // @ApiModelProperty("性别 1-男 2-女") + @TableField(value = "sex") + private String sex; + + // @ApiModelProperty("工龄") + @TableField(value = "working_years") + private String workingYears; + + // @ApiModelProperty("删除标记 0-正常 1-删除") + @TableField(value = "del_flag") + private String delFlag; + + // @ApiModelProperty("状态0-有效 1-无效") + @TableField(value = "status") + private String status; + + // @ApiModelProperty("数据类型 1-专家 2-公司") + @TableField(value = "data_type") + private String dataType; + + + // @ApiModelProperty("创建时间") + @TableField(value = "create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + // @ApiModelProperty("创建人id") + @TableField(value = "create_id") + private String createId; + + // @ApiModelProperty("创建人名称") + @TableField(value = "create_name") + private String createName; + + // @ApiModelProperty("更新时间") + @TableField(value = "update_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + // @ApiModelProperty("更新人id") + @TableField(value = "update_id") + private String updateId; + + // @ApiModelProperty("更新人名称") + @TableField(value = "update_name") + private String updateName; + + +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/entity/LotteryProject.java b/jnpf-tendering-entity/src/main/java/jnpf/entity/LotteryProject.java new file mode 100644 index 0000000..4115271 --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/entity/LotteryProject.java @@ -0,0 +1,131 @@ +package jnpf.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jnpf.model.JsonTypeHandler; +import jnpf.model.dto.LotteryProjectDto; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 抽签项目表 + *

+ * + * @author admin + * @since 2024-08-30 + */ +@Getter +@Setter +@TableName(value = "t_lottery_project",autoResultMap = true) +@ApiModel(value = "LotteryProject对象", description = "抽签项目表") +public class LotteryProject implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("唯一id") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("状态") + @TableField(value = "status") + private String status; + + @ApiModelProperty("关联id") + @TableField(value = "relation_id") + private String relationId; + + @ApiModelProperty("抽签类型 1-专家(默认) 2-公司") + @TableField(value = "lottery_type") + private String lotteryType; + + @ApiModelProperty("项目编号") + @TableField(value = "project_number") + private String projectNumber; + + @ApiModelProperty("项目名称") + @TableField(value = "project_name") + private String projectName; + + @ApiModelProperty("开标时间") + @TableField(value = "bid_opening_time") + private LocalDate bidOpeningTime; + + @ApiModelProperty("评标时间") + @TableField(value = "bid_evaluation_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime bidEvaluationTime; + + @ApiModelProperty("评标地点") + @TableField(value ="bid_evaluation_location") + private String bidEvaluationLocation; + + @ApiModelProperty("代理机构") + @TableField(value = "agency") + private String agency; + + @ApiModelProperty("状态名称") + @TableField(value = "status_name") + private String statusName; + + @ApiModelProperty("描述") + @TableField(value = "remake") + private String remake; + + @ApiModelProperty("人员所属部门名称") + @TableField(value = "user_dept_name") + private String userDeptName; + + @ApiModelProperty("人员所属部门") + @TableField(value = "user_dept_id") + private String userDeptId; + + @ApiModelProperty("创建人id") + @TableField(value = "create_id") + private String createId; + + @ApiModelProperty("创建时间") + @TableField(value = "create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty("创建人姓名") + @TableField(value = "create_name") + private String createName; + + @ApiModelProperty("更新人id") + @TableField(value = "update_id") + private String updateId; + + @ApiModelProperty("更新时间") + @TableField(value = "update_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + @ApiModelProperty("更新人名称") + @TableField(value = "update_name") + private String updateName; + + @ApiModelProperty("类型 1-系统2-自建") + @TableField(value = "type") + private String type; + + @ApiModelProperty("删除标记 0-正常 1-删除") + @TableField(value = "del_flag") + private String delFlag; + + @ApiModelProperty("结果信息") + @TableField(value ="upload_results_info",typeHandler = JsonTypeHandler.class) + private LotteryProjectDto.FileInfo uploadResultsInfo; + + +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/entity/LotteryReview.java b/jnpf-tendering-entity/src/main/java/jnpf/entity/LotteryReview.java new file mode 100644 index 0000000..d391033 --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/entity/LotteryReview.java @@ -0,0 +1,63 @@ +package jnpf.entity; + +import com.baomidou.mybatisplus.annotation.*; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jnpf.model.*; +import jnpf.model.dto.LotteryProjectDto; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 评审次数 + *

+ * + * @author admin + * @since 2024-08-30 + */ +@Getter +@Setter +@TableName(value = "t_lottery_review",autoResultMap = true) +@ApiModel(value = "LotteryReview对象", description = "评审次数") +public class LotteryReview implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("第几次评审数") + @TableField(value = "count") + private String count; + + @ApiModelProperty("抽签项目ID") + @TableField(value = "relation_id") + private String relationId; + + @ApiModelProperty("专家组别信息json") + @TableField(value = "expert_group_info",typeHandler = ExpertGroupInfoTypeHandler.class) + private List expertGroupInfo; + + @ApiModelProperty("抽取专家信息json") + @TableField(value = "extract_experts_info",typeHandler = ExtractExpertsInfoTypeHandler.class) + private List extractExpertsInfo; + + + + @TableField(value ="create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @TableField(value ="del_flag") + private String delFlag; + + +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/enump/BiddingProjectEnum.java b/jnpf-tendering-entity/src/main/java/jnpf/enump/BiddingProjectEnum.java new file mode 100644 index 0000000..d257c4d --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/enump/BiddingProjectEnum.java @@ -0,0 +1,266 @@ +package jnpf.enump; + +import lombok.Builder; +import lombok.Data; + +public class BiddingProjectEnum { + + public enum ChildStatusEnum { + TO_BE_EDIT("0", "待修改"), + //待审核 + PENDING_REVIEW("1", "待审核"), + //已退回 + RETURNED("2", "已驳回"), + //已通过 + PASS("3", "已通过"), + TO_BE_SUBMITTED("4", "待提交"), + SUBMITTED("5", "已提交/修改"), + TO_BE_ARCHIVED("6", "待归档"), + ARCHIVED("7", "已归档"), + ; + + private String code; + private String describe; + + ChildStatusEnum(String code, String describe) { + this.code = code; + this.describe = describe; + + } + + //根据roleKey返回 enum +// public static CoordinationEnum.RoleEnum getNameByRoleKey(String roleKey) { +// for (CoordinationEnum.RoleEnum enm : CoordinationEnum.RoleEnum.values()) { +// if (enm.getRoleKey().equals(roleKey)) { +// return enm; +// } +// } +// return null; +// } + + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getDescribe() { + return describe; + } + + public void setDescribe(String describe) { + this.describe = describe; + } + } + + + public enum MainStatusEnum { + //待审核 + PENDING_REVIEW("1", "待审核(子集团)"), + PENDING_REVIEW_JT("2", "待审核(集团)"), + PENDING_REVIEW_XM("8", "待审核(项目单位)"), + //已退回 + RETURNED("3", "已驳回"), + //已通过 + PASS("4", "审核通过"), + BE_SUBMITTED("6", "待提交(招标结果)"), + //已归档 + ARCHIVIST("5", "待归档"), + ARCHIVED("7", "已归档"), + PROJECT_TERMINATION("9", "已终止"), + TO_BE_SUBMITTED("10", "待提交"), + ; + + private String code; + private String describe; + + MainStatusEnum(String code, String describe) { + this.code = code; + this.describe = describe; + + } + + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getDescribe() { + return describe; + } + + public void setDescribe(String describe) { + this.describe = describe; + } + } + + + //部分角色枚举 用用到就加进来 + public enum RootFlagEnum { + //发布类型 + ROOT_FLAG("1", "根子单"), + NOT_ROOT_FLAG("0", "非根子单"), + ; + + private String code; + private String describe; + + RootFlagEnum(String code, String describe) { + this.code = code; + this.describe = describe; + + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getDescribe() { + return describe; + } + + public void setDescribe(String describe) { + this.describe = describe; + } + } + + //关联类型枚举 + public enum StepRelationTypeEnum { + //发布类型 + BIDDING("1", "招标"), + ; + + private String code; + private String describe; + + StepRelationTypeEnum(String code, String describe) { + this.code = code; + this.describe = describe; + + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getDescribe() { + return describe; + } + + public void setDescribe(String describe) { + this.describe = describe; + } + } + + //步骤状态枚举 + public enum StepTypeEnum { + LAUNCH("1", "流程发起"), + //三级发起/二级审核后/一级发起 + AUTOMATIC_DISPATCH("2", "系统自动流转"), + AUDITING_AGREE("3", "上级审核同意"), + AUDITING_DISAGREE("4", "上级审核不同意"), + ARCHIVIST("5", "归档"), + MATERIAL_MODIFICATION("6", "材料修改/上传"), + ARCHIVE_UPLOAD("7", "归档材料上传"), + PROCESS_TERMINATION("8", "流程终止"), + ; + + private String code; + private String describe; + + StepTypeEnum(String code, String describe) { + this.code = code; + this.describe = describe; + + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getDescribe() { + return describe; + } + + public void setDescribe(String describe) { + this.describe = describe; + } + } + + @Data + @Builder + public static class Button { +// @ApiModelProperty("按钮动作") + private String act; +// @ApiModelProperty("按钮名称") + private String buttonName; + + } + + //业务部门管理状态 + public enum ButtonEnum { + CHECK("1", "查看"), + AUDITING("2", "审核"), + EDIT("3", "编辑"), + ARCHIVIST("4", "归档"), + TERMINATION("5", "终止"), + DOWNLOAD("6", "下载"), + + ; + + + private String code; + private String name; + + ButtonEnum(String action, String name) { + this.code = action; + this.name = name; + + } + + + public static ButtonEnum getEnumByCode(String code) { + for (ButtonEnum enm : ButtonEnum.values()) { + if (enm.getCode().equals(code)) { + return enm; + } + } + return null; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + } +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/ContactInformationTypeHandler.java b/jnpf-tendering-entity/src/main/java/jnpf/model/ContactInformationTypeHandler.java new file mode 100644 index 0000000..5c33741 --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/ContactInformationTypeHandler.java @@ -0,0 +1,62 @@ +package jnpf.model; + +import com.alibaba.fastjson.JSON; +import jnpf.model.dto.ExpertDto; +import org.apache.ibatis.type.BaseTypeHandler; +import org.apache.ibatis.type.JdbcType; + +import java.sql.CallableStatement; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; + +public class ContactInformationTypeHandler extends BaseTypeHandler> { + + private final Class type; + + public ContactInformationTypeHandler(Class type) { + if (type == null) throw new IllegalArgumentException("Type argument cannot be null"); + this.type = type; + } + + @Override + public void setNonNullParameter(PreparedStatement ps, int i, List parameter, JdbcType jdbcType) throws SQLException { + ps.setString(i, toJson(parameter)); + } + + @Override + public List getNullableResult(ResultSet rs, String columnName) throws SQLException { + return toObject(rs.getString(columnName)); + } + + @Override + public List getNullableResult(ResultSet rs, int columnIndex) throws SQLException { + return toObject(rs.getString(columnIndex)); + } + + @Override + public List getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { + return toObject(cs.getString(columnIndex)); + } + + private String toJson(List object) { + try { + return JSON.toJSONString(object); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + private List toObject(String content) { + if (content == null || content.isEmpty()) { + return null; + } + try { + return JSON.parseArray(content,ExpertDto.ContactInformation.class); +// return objectMapper.readValue(content, new TypeReference>() {}); + } catch (Exception e) { + throw new RuntimeException(e); + } + } +} \ No newline at end of file diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/ContractForm.java b/jnpf-tendering-entity/src/main/java/jnpf/model/ContractForm.java new file mode 100644 index 0000000..6828fb0 --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/ContractForm.java @@ -0,0 +1,25 @@ +package jnpf.model; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * + * + * 版本: V3.0.0 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2020-12-31 + */ +@Data +public class ContractForm { + + @Schema(description ="姓名") + private String contractName; + + @Schema(description ="手机号") + private String mytelePhone; + + @Schema(description ="文件") + private String fileJson; + +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/ContractInfoVO.java b/jnpf-tendering-entity/src/main/java/jnpf/model/ContractInfoVO.java new file mode 100644 index 0000000..b7e7056 --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/ContractInfoVO.java @@ -0,0 +1,26 @@ +package jnpf.model; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * + * + * 版本: V3.0.0 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2020-12-31 + */ +@Data +public class ContractInfoVO { + @Schema(description ="主键") + private String id; + + @Schema(description ="姓名") + private String contractName; + + @Schema(description ="手机号") + private String mytelePhone; + + @Schema(description ="文件") + private String fileJson; +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/ContractListVO.java b/jnpf-tendering-entity/src/main/java/jnpf/model/ContractListVO.java new file mode 100644 index 0000000..5a4bb8d --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/ContractListVO.java @@ -0,0 +1,16 @@ +package jnpf.model; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * + * + * 版本: V3.0.0 + * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * 作者: JNPF开发平台组 + * 日期: 2020-12-31 + */ +@Data +public class ContractListVO extends ContractInfoVO { + +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/ExpertGroupInfoTypeHandler.java b/jnpf-tendering-entity/src/main/java/jnpf/model/ExpertGroupInfoTypeHandler.java new file mode 100644 index 0000000..30c7b6f --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/ExpertGroupInfoTypeHandler.java @@ -0,0 +1,63 @@ +package jnpf.model; + +import com.alibaba.fastjson.JSON; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import jnpf.model.dto.LotteryProjectDto; +import org.apache.ibatis.type.BaseTypeHandler; +import org.apache.ibatis.type.JdbcType; +import org.apache.poi.ss.formula.functions.T; + +import java.sql.CallableStatement; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; + +public class ExpertGroupInfoTypeHandler extends BaseTypeHandler> { + private final Class type; + + public ExpertGroupInfoTypeHandler(Class type) { + if (type == null) throw new IllegalArgumentException("Type argument cannot be null"); + this.type = type; + } + + @Override + public void setNonNullParameter(PreparedStatement ps, int i, List parameter, JdbcType jdbcType) throws SQLException { + ps.setString(i, toJson(parameter)); + } + + @Override + public List getNullableResult(ResultSet rs, String columnName) throws SQLException { + return toObject(rs.getString(columnName)); + } + + @Override + public List getNullableResult(ResultSet rs, int columnIndex) throws SQLException { + return toObject(rs.getString(columnIndex)); + } + + @Override + public List getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { + return toObject(cs.getString(columnIndex)); + } + + private String toJson(List object) { + try { + return JSON.toJSONString(object); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + private List toObject(String content) { + if (content == null || content.isEmpty()) { + return null; + } + try { + return JSON.parseArray(content,LotteryProjectDto.ExpertGroupInfo.class); + } catch (Exception e) { + throw new RuntimeException(e); + } + } +} \ No newline at end of file diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/ExtractExpertsInfoTypeHandler.java b/jnpf-tendering-entity/src/main/java/jnpf/model/ExtractExpertsInfoTypeHandler.java new file mode 100644 index 0000000..cfdd46e --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/ExtractExpertsInfoTypeHandler.java @@ -0,0 +1,64 @@ +package jnpf.model; + +import com.alibaba.fastjson.JSON; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import jnpf.model.dto.LotteryProjectDto; +import org.apache.ibatis.type.BaseTypeHandler; +import org.apache.ibatis.type.JdbcType; + +import java.sql.CallableStatement; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; + +public class ExtractExpertsInfoTypeHandler extends BaseTypeHandler> { + + private final Class type; + + public ExtractExpertsInfoTypeHandler(Class type) { + if (type == null) throw new IllegalArgumentException("Type argument cannot be null"); + this.type = type; + } + + @Override + public void setNonNullParameter(PreparedStatement ps, int i, List parameter, JdbcType jdbcType) throws SQLException { + ps.setString(i, toJson(parameter)); + } + + @Override + public List getNullableResult(ResultSet rs, String columnName) throws SQLException { + return toObject(rs.getString(columnName)); + } + + @Override + public List getNullableResult(ResultSet rs, int columnIndex) throws SQLException { + return toObject(rs.getString(columnIndex)); + } + + @Override + public List getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { + return toObject(cs.getString(columnIndex)); + } + + private String toJson(List object) { + try { + return JSON.toJSONString(object); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + private List toObject(String content) { + if (content == null || content.isEmpty()) { + return null; + } + try { + return JSON.parseArray(content,LotteryProjectDto.ExtractExpertsInfo.class); +// return objectMapper.readValue(content, new TypeReference>() {}); + } catch (Exception e) { + throw new RuntimeException(e); + } + } +} \ No newline at end of file diff --git a/jnpf-library-entity/src/main/java/jnpf/model/JsonArrayTypeHandler.java b/jnpf-tendering-entity/src/main/java/jnpf/model/JsonArrayTypeHandler.java similarity index 100% rename from jnpf-library-entity/src/main/java/jnpf/model/JsonArrayTypeHandler.java rename to jnpf-tendering-entity/src/main/java/jnpf/model/JsonArrayTypeHandler.java diff --git a/jnpf-library-entity/src/main/java/jnpf/model/JsonTypeHandler.java b/jnpf-tendering-entity/src/main/java/jnpf/model/JsonTypeHandler.java similarity index 100% rename from jnpf-library-entity/src/main/java/jnpf/model/JsonTypeHandler.java rename to jnpf-tendering-entity/src/main/java/jnpf/model/JsonTypeHandler.java diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/base_datainterface/Base_datainterfaceConstant.java b/jnpf-tendering-entity/src/main/java/jnpf/model/base_datainterface/Base_datainterfaceConstant.java new file mode 100644 index 0000000..546365a --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/base_datainterface/Base_datainterfaceConstant.java @@ -0,0 +1,42 @@ +package jnpf.model.base_datainterface; + +import jnpf.util.JsonUtil; + +import java.util.Map; + +/** + * base_datainterface配置json + * + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-06-19 + */ +public class Base_datainterfaceConstant{ + /** 数据库链接 */ + public static final String DBLINKID = "0"; + /** 表别名 map */ + public static final Map TABLERENAMES = JsonUtil.getJsonToBean("{\"base_datainterface\":\"base_datainterface\"}",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("{\"formRef\":\"formRef\",\"formModel\":\"dataForm\",\"size\":\"default\",\"labelPosition\":\"right\",\"labelWidth\":100,\"formRules\":\"rules\",\"popupType\":\"general\",\"generalWidth\":\"600px\",\"fullScreenWidth\":\"100%\",\"drawerWidth\":\"600px\",\"gutter\":15,\"disabled\":false,\"span\":24,\"colon\":false,\"hasCancelBtn\":true,\"cancelButtonText\":\"取消\",\"hasConfirmBtn\":true,\"confirmButtonText\":\"确定\",\"hasPrintBtn\":false,\"printButtonText\":\"打印\",\"primaryKeyPolicy\":1,\"concurrencyLock\":false,\"logicalDelete\":false,\"printId\":\"\",\"formStyle\":\"\",\"classNames\":[],\"className\":[],\"classJson\":\"\",\"funcs\":{\"onLoad\":\"({ formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"beforeSubmit\":\"({ formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n return new Promise((resolve, reject) => {\\n // 在此编写代码\\n \\n // 继续执行\\n resolve()\\n })\\n}\",\"afterSubmit\":\"({ formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"idGlobal\":105,\"fields\":[{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"分组ID\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":101,\"renderKey\":1718778562868},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"categoryid\"},{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"接口名称\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1718778564581},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"fullname\"},{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"请求方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":105,\"renderKey\":1718778568199},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"requestmethod\"},{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"返回类型\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":104,\"renderKey\":1718778566772},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"responsetype\"},{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"删除标志(默认0)\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":103,\"renderKey\":1718778565522},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"deletemark\"}]}"); return sb.toString(); + } + /** 列表字段配置json */ + public static final String getColumnData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"ruleList\":[],\"searchList\":[],\"hasSuperQuery\":true,\"childTableStyle\":1,\"showSummary\":true,\"summaryField\":[\"categoryid\",\"fullname\",\"responsetype\",\"requestmethod\",\"deletemark\"],\"columnList\":[{\"label\":\"分组ID\",\"prop\":\"categoryid\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"categoryid\",\"fullName\":\"分组ID\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"分组ID\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":101,\"renderKey\":1718778562868},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"categoryid\"},{\"label\":\"接口名称\",\"prop\":\"fullname\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"fullname\",\"fullName\":\"接口名称\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"接口名称\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1718778564581},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"fullname\"},{\"label\":\"请求方式\",\"prop\":\"requestmethod\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"requestmethod\",\"fullName\":\"请求方式\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"请求方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":105,\"renderKey\":1718778568199},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"requestmethod\"},{\"label\":\"返回类型\",\"prop\":\"responsetype\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"responsetype\",\"fullName\":\"返回类型\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"返回类型\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":104,\"renderKey\":1718778566772},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"responsetype\"},{\"label\":\"删除标志(默认0)\",\"prop\":\"deletemark\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"deletemark\",\"fullName\":\"删除标志(默认0)\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"删除标志(默认0)\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":103,\"renderKey\":1718778565522},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"deletemark\"}],\"columnOptions\":[{\"id\":\"categoryid\",\"fullName\":\"分组ID\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"分组ID\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":101,\"renderKey\":1718778562868},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"categoryid\"},{\"id\":\"fullname\",\"fullName\":\"接口名称\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"接口名称\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1718778564581},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"fullname\"},{\"id\":\"requestmethod\",\"fullName\":\"请求方式\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"请求方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":105,\"renderKey\":1718778568199},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"requestmethod\"},{\"id\":\"responsetype\",\"fullName\":\"返回类型\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"返回类型\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":104,\"renderKey\":1718778566772},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"responsetype\"},{\"id\":\"deletemark\",\"fullName\":\"删除标志(默认0)\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"删除标志(默认0)\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":103,\"renderKey\":1718778565522},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"deletemark\"}],\"defaultColumnList\":[{\"label\":\"分组ID\",\"prop\":\"categoryid\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"categoryid\",\"fullName\":\"分组ID\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"分组ID\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":101,\"renderKey\":1718778562868},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"categoryid\",\"checked\":true},{\"label\":\"接口名称\",\"prop\":\"fullname\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"fullname\",\"fullName\":\"接口名称\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"接口名称\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1718778564581},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"fullname\",\"checked\":true},{\"label\":\"请求方式\",\"prop\":\"requestmethod\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"requestmethod\",\"fullName\":\"请求方式\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"请求方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":105,\"renderKey\":1718778568199},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"requestmethod\",\"checked\":true},{\"label\":\"返回类型\",\"prop\":\"responsetype\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"responsetype\",\"fullName\":\"返回类型\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"返回类型\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":104,\"renderKey\":1718778566772},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"responsetype\",\"checked\":true},{\"label\":\"删除标志(默认0)\",\"prop\":\"deletemark\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"deletemark\",\"fullName\":\"删除标志(默认0)\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"删除标志(默认0)\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":103,\"renderKey\":1718778565522},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"deletemark\",\"checked\":true}],\"type\":1,\"defaultSidx\":\"\",\"sort\":\"desc\",\"hasPage\":true,\"pageSize\":20,\"hasTreeQuery\":false,\"treeTitle\":\"左侧标题\",\"treeDataSource\":\"dictionary\",\"treeDictionary\":\"\",\"treeRelation\":\"\",\"treeSynType\":0,\"treeInterfaceId\":\"\",\"treeInterfaceName\":\"\",\"treeTemplateJson\":[],\"treePropsUrl\":\"\",\"treePropsName\":\"\",\"treePropsValue\":\"id\",\"treePropsChildren\":\"children\",\"treePropsLabel\":\"fullName\",\"groupField\":\"\",\"parentField\":\"\",\"printIds\":[],\"useColumnPermission\":false,\"useFormPermission\":false,\"useBtnPermission\":false,\"useDataPermission\":false,\"customBtnsList\":[],\"btnsList\":[{\"value\":\"add\",\"icon\":\"icon-ym icon-ym-btn-add\",\"label\":\"新增\"}],\"columnBtnsList\":[{\"value\":\"edit\",\"icon\":\"icon-ym icon-ym-btn-edit\",\"label\":\"编辑\"},{\"value\":\"remove\",\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"删除\"}],\"funcs\":{\"afterOnload\":\"({ data, tableRef, onlineUtils }) => {\\r\\n \\r\\n}\",\"rowStyle\":\"({ row, rowIndex }) => {\\r\\n \\r\\n}\",\"cellStyle\":\"({ row, column, rowIndex, columnIndex }) => {\\r\\n \\r\\n}\"},\"uploaderTemplateJson\":{}}"); return sb.toString(); + } + /** app列表字段配置json */ + public static final String getAppColumnData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"ruleListApp\":[],\"searchList\":[],\"hasSuperQuery\":false,\"columnList\":[{\"label\":\"分组ID\",\"prop\":\"categoryid\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"categoryid\",\"fullName\":\"分组ID\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"分组ID\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":101,\"renderKey\":1718778562868},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"categoryid\"},{\"label\":\"接口名称\",\"prop\":\"fullname\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"fullname\",\"fullName\":\"接口名称\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"接口名称\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1718778564581},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"fullname\"},{\"label\":\"请求方式\",\"prop\":\"requestmethod\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"requestmethod\",\"fullName\":\"请求方式\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"请求方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":105,\"renderKey\":1718778568199},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"requestmethod\"},{\"label\":\"返回类型\",\"prop\":\"responsetype\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"responsetype\",\"fullName\":\"返回类型\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"返回类型\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":104,\"renderKey\":1718778566772},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"responsetype\"},{\"label\":\"删除标志(默认0)\",\"prop\":\"deletemark\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"deletemark\",\"fullName\":\"删除标志(默认0)\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"删除标志(默认0)\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":103,\"renderKey\":1718778565522},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"deletemark\"}],\"columnOptions\":[{\"id\":\"categoryid\",\"fullName\":\"分组ID\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"分组ID\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":101,\"renderKey\":1718778562868},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"categoryid\"},{\"id\":\"fullname\",\"fullName\":\"接口名称\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"接口名称\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1718778564581},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"fullname\"},{\"id\":\"requestmethod\",\"fullName\":\"请求方式\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"请求方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":105,\"renderKey\":1718778568199},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"requestmethod\"},{\"id\":\"responsetype\",\"fullName\":\"返回类型\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"返回类型\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":104,\"renderKey\":1718778566772},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"responsetype\"},{\"id\":\"deletemark\",\"fullName\":\"删除标志(默认0)\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"删除标志(默认0)\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":103,\"renderKey\":1718778565522},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"deletemark\"}],\"defaultColumnList\":[{\"label\":\"分组ID\",\"prop\":\"categoryid\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"categoryid\",\"fullName\":\"分组ID\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"分组ID\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":101,\"renderKey\":1718778562868},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"categoryid\",\"checked\":false},{\"label\":\"接口名称\",\"prop\":\"fullname\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"fullname\",\"fullName\":\"接口名称\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"接口名称\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1718778564581},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"fullname\",\"checked\":false},{\"label\":\"请求方式\",\"prop\":\"requestmethod\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"requestmethod\",\"fullName\":\"请求方式\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"请求方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":105,\"renderKey\":1718778568199},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"requestmethod\",\"checked\":false},{\"label\":\"返回类型\",\"prop\":\"responsetype\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"responsetype\",\"fullName\":\"返回类型\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"返回类型\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":104,\"renderKey\":1718778566772},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"responsetype\",\"checked\":false},{\"label\":\"删除标志(默认0)\",\"prop\":\"deletemark\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"deletemark\",\"fullName\":\"删除标志(默认0)\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"删除标志(默认0)\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"base_datainterface\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":103,\"renderKey\":1718778565522},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"deletemark\",\"checked\":false}],\"sortList\":[],\"defaultSidx\":\"\",\"sort\":\"desc\",\"hasPage\":true,\"pageSize\":20,\"useColumnPermission\":false,\"useFormPermission\":false,\"useBtnPermission\":false,\"useDataPermission\":false,\"customBtnsList\":[],\"btnsList\":[{\"value\":\"add\",\"icon\":\"icon-ym icon-ym-btn-add\",\"label\":\"新增\"}],\"columnBtnsList\":[{\"value\":\"edit\",\"icon\":\"icon-ym icon-ym-btn-edit\",\"label\":\"编辑\"},{\"value\":\"remove\",\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"删除\"}],\"funcs\":{\"afterOnload\":\"({ data, tableRef, onlineUtils }) => {\\r\\n \\r\\n}\"}}"); return sb.toString(); + } + /** 表列表 */ + public static final String getTableList(){ + StringBuilder sb = new StringBuilder(); +sb.append("[{\"relationField\":\"\",\"relationTable\":\"\",\"table\":\"base_datainterface\",\"tableName\":\"数据接口\",\"tableField\":\"\",\"typeId\":\"1\",\"fields\":[{\"columnName\":\"F_Id\",\"field\":\"id\",\"fieldName\":\"主键ID\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":1,\"allowNull\":0,\"autoIncrement\":0},{\"columnName\":\"F_CategoryId\",\"field\":\"categoryid\",\"fieldName\":\"分组ID\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":0,\"autoIncrement\":0},{\"columnName\":\"F_FullName\",\"field\":\"fullname\",\"fieldName\":\"接口名称\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":0,\"autoIncrement\":0},{\"columnName\":\"F_Path\",\"field\":\"path\",\"fieldName\":\"\",\"dataType\":\"varchar\",\"dataLength\":\"200\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"F_RequestMethod\",\"field\":\"requestmethod\",\"fieldName\":\"请求方式\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":0,\"autoIncrement\":0},{\"columnName\":\"F_ResponseType\",\"field\":\"responsetype\",\"fieldName\":\"返回类型\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":0,\"autoIncrement\":0},{\"columnName\":\"F_Query\",\"field\":\"query\",\"fieldName\":\"查询语句\",\"dataType\":\"longtext\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":0,\"autoIncrement\":0},{\"columnName\":\"F_RequestParameters\",\"field\":\"requestparameters\",\"fieldName\":\"请求参数JSON\",\"dataType\":\"longtext\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"F_IpAddress\",\"field\":\"ipaddress\",\"fieldName\":\"\",\"dataType\":\"longtext\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"F_EnCode\",\"field\":\"encode\",\"fieldName\":\"接口编码\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"F_SortCode\",\"field\":\"sortcode\",\"fieldName\":\"排序码(默认0)\",\"dataType\":\"bigint\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":0,\"autoIncrement\":0},{\"columnName\":\"F_EnabledMark\",\"field\":\"enabledmark\",\"fieldName\":\"状态(0-默认,禁用,1-启用)\",\"dataType\":\"int\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":0,\"autoIncrement\":0},{\"columnName\":\"F_Description\",\"field\":\"description\",\"fieldName\":\"描述或说明\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"F_CreatorTime\",\"field\":\"creatortime\",\"fieldName\":\"创建时间\",\"dataType\":\"datetime\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"F_CreatorUserId\",\"field\":\"creatoruserid\",\"fieldName\":\"创建用户id\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":0,\"autoIncrement\":0},{\"columnName\":\"F_LastModifyTime\",\"field\":\"lastmodifytime\",\"fieldName\":\"修改时间\",\"dataType\":\"datetime\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"F_LastModifyUserId\",\"field\":\"lastmodifyuserid\",\"fieldName\":\"修改用户id\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"F_DeleteMark\",\"field\":\"deletemark\",\"fieldName\":\"删除标志(默认0)\",\"dataType\":\"int\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"F_DeleteTime\",\"field\":\"deletetime\",\"fieldName\":\"删除时间\",\"dataType\":\"datetime\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"F_DeleteUserId\",\"field\":\"deleteuserid\",\"fieldName\":\"删除用户id\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"F_DbLinkId\",\"field\":\"dblinkid\",\"fieldName\":\"数据源id\",\"dataType\":\"varchar\",\"dataLength\":\"100\",\"primaryKey\":0,\"allowNull\":0,\"autoIncrement\":0},{\"columnName\":\"F_DataType\",\"field\":\"datatype\",\"fieldName\":\"数据类型(1-动态数据SQL查询,2-静态数据)\",\"dataType\":\"int\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"F_CheckType\",\"field\":\"checktype\",\"fieldName\":\"验证类型\",\"dataType\":\"int\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"F_RequestHeaders\",\"field\":\"requestheaders\",\"fieldName\":\"\",\"dataType\":\"longtext\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"F_DataProcessing\",\"field\":\"dataprocessing\",\"fieldName\":\"数据处理\",\"dataType\":\"longtext\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"F_TenantId\",\"field\":\"tenantid\",\"fieldName\":\"租户id\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0}]}]"); return sb.toString(); + } +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/base_datainterface/Base_datainterfaceForm.java b/jnpf-tendering-entity/src/main/java/jnpf/model/base_datainterface/Base_datainterfaceForm.java new file mode 100644 index 0000000..45c7d99 --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/base_datainterface/Base_datainterfaceForm.java @@ -0,0 +1,33 @@ +package jnpf.model.base_datainterface; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +/** + * base_datainterface + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-06-19 + */ +@Data +public class Base_datainterfaceForm { + /** 主键 */ + private String id; + + /** 分组ID **/ + @JsonProperty("categoryid") + private String categoryid; + /** 接口名称 **/ + @JsonProperty("fullname") + private String fullname; + /** 请求方式 **/ + @JsonProperty("requestmethod") + private String requestmethod; + /** 返回类型 **/ + @JsonProperty("responsetype") + private String responsetype; + /** 删除标志(默认0) **/ + @JsonProperty("deletemark") + private String deletemark; +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/base_datainterface/Base_datainterfacePagination.java b/jnpf-tendering-entity/src/main/java/jnpf/model/base_datainterface/Base_datainterfacePagination.java new file mode 100644 index 0000000..8ec55e0 --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/base_datainterface/Base_datainterfacePagination.java @@ -0,0 +1,28 @@ +package jnpf.model.base_datainterface; + +import jnpf.base.Pagination; +import lombok.Data; + +/** + * + * base_datainterface + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-06-19 + */ +@Data +public class Base_datainterfacePagination 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; +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_statistics/Bidding_project_statisticsConstant.java b/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_statistics/Bidding_project_statisticsConstant.java new file mode 100644 index 0000000..cb32017 --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_statistics/Bidding_project_statisticsConstant.java @@ -0,0 +1,42 @@ +package jnpf.model.bidding_project_statistics; + +import jnpf.util.JsonUtil; + +import java.util.Map; + +/** + * bidding_project_statistics配置json + * + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-06-13 + */ +public class Bidding_project_statisticsConstant{ + /** 数据库链接 */ + public static final String DBLINKID = "0"; + /** 表别名 map */ + public static final Map TABLERENAMES = JsonUtil.getJsonToBean("{\"bidding_project_statistics\":\"bidding_project_statistics\"}",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("{\"formRef\":\"formRef\",\"formModel\":\"dataForm\",\"size\":\"default\",\"labelPosition\":\"right\",\"labelWidth\":100,\"formRules\":\"rules\",\"popupType\":\"general\",\"generalWidth\":\"600px\",\"fullScreenWidth\":\"100%\",\"drawerWidth\":\"600px\",\"gutter\":15,\"disabled\":false,\"span\":24,\"colon\":false,\"hasCancelBtn\":true,\"cancelButtonText\":\"取消\",\"hasConfirmBtn\":true,\"confirmButtonText\":\"确定\",\"hasPrintBtn\":false,\"printButtonText\":\"打印\",\"primaryKeyPolicy\":1,\"concurrencyLock\":false,\"logicalDelete\":false,\"printId\":\"\",\"formStyle\":\"\",\"classNames\":[],\"className\":[],\"classJson\":\"\",\"funcs\":{\"onLoad\":\"({ formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"beforeSubmit\":\"({ formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n return new Promise((resolve, reject) => {\\n // 在此编写代码\\n \\n // 继续执行\\n resolve()\\n })\\n}\",\"afterSubmit\":\"({ formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"idGlobal\":115,\"fields\":[{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"上报单位\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":101,\"renderKey\":1717743926414},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"reporting_unit\"},{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目数量\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1717743935263},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"projects_nums\"},{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"工程\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":110,\"renderKey\":1718266722619},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"engineering\"},{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"货物\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":111,\"renderKey\":1718266722811},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"goods\"},{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"服务\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":112,\"renderKey\":1718266723020},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"service\"},{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"租赁\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":113,\"renderKey\":1718266723212},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"rentOut\"},{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"其他\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":114,\"renderKey\":1718266723389},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"other\"}]}"); return sb.toString(); + } + /** 列表字段配置json */ + public static final String getColumnData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"ruleList\":[],\"searchList\":[],\"hasSuperQuery\":false,\"childTableStyle\":1,\"showSummary\":true,\"summaryField\":[\"reporting_unit\"],\"columnList\":[{\"label\":\"上报单位\",\"prop\":\"reporting_unit\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"reporting_unit\",\"fullName\":\"上报单位\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"上报单位\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":101,\"renderKey\":1717743926414},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"reporting_unit\"},{\"label\":\"项目数量\",\"prop\":\"projects_nums\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"projects_nums\",\"fullName\":\"项目数量\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目数量\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1717743935263},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"projects_nums\"},{\"label\":\"工程\",\"prop\":\"engineering\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"engineering\",\"fullName\":\"工程\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"工程\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":110,\"renderKey\":1718266722619},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"engineering\"},{\"label\":\"货物\",\"prop\":\"goods\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"goods\",\"fullName\":\"货物\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"货物\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":111,\"renderKey\":1718266722811},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"goods\"},{\"label\":\"服务\",\"prop\":\"service\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"service\",\"fullName\":\"服务\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"服务\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":112,\"renderKey\":1718266723020},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"service\"},{\"label\":\"租赁\",\"prop\":\"rentOut\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"rentOut\",\"fullName\":\"租赁\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"租赁\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":113,\"renderKey\":1718266723212},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"rentOut\"},{\"label\":\"其他\",\"prop\":\"other\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"other\",\"fullName\":\"其他\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"其他\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":114,\"renderKey\":1718266723389},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"other\"}],\"columnOptions\":[{\"id\":\"reporting_unit\",\"fullName\":\"上报单位\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"上报单位\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":101,\"renderKey\":1717743926414},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"reporting_unit\"},{\"id\":\"projects_nums\",\"fullName\":\"项目数量\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目数量\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1717743935263},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"projects_nums\"},{\"id\":\"engineering\",\"fullName\":\"工程\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"工程\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":110,\"renderKey\":1718266722619},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"engineering\"},{\"id\":\"goods\",\"fullName\":\"货物\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"货物\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":111,\"renderKey\":1718266722811},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"goods\"},{\"id\":\"service\",\"fullName\":\"服务\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"服务\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":112,\"renderKey\":1718266723020},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"service\"},{\"id\":\"rentOut\",\"fullName\":\"租赁\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"租赁\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":113,\"renderKey\":1718266723212},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"rentOut\"},{\"id\":\"other\",\"fullName\":\"其他\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"其他\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":114,\"renderKey\":1718266723389},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"other\"}],\"defaultColumnList\":[{\"label\":\"上报单位\",\"prop\":\"reporting_unit\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"reporting_unit\",\"fullName\":\"上报单位\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"上报单位\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":101,\"renderKey\":1717743926414},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"reporting_unit\",\"checked\":true},{\"label\":\"项目数量\",\"prop\":\"projects_nums\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"projects_nums\",\"fullName\":\"项目数量\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目数量\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1717743935263},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"projects_nums\",\"checked\":true},{\"label\":\"工程\",\"prop\":\"engineering\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"engineering\",\"fullName\":\"工程\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"工程\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":110,\"renderKey\":1718266722619},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"engineering\",\"checked\":true},{\"label\":\"货物\",\"prop\":\"goods\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"goods\",\"fullName\":\"货物\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"货物\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":111,\"renderKey\":1718266722811},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"goods\",\"checked\":true},{\"label\":\"服务\",\"prop\":\"service\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"service\",\"fullName\":\"服务\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"服务\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":112,\"renderKey\":1718266723020},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"service\",\"checked\":true},{\"label\":\"租赁\",\"prop\":\"rentOut\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"rentOut\",\"fullName\":\"租赁\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"租赁\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":113,\"renderKey\":1718266723212},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"rentOut\",\"checked\":true},{\"label\":\"其他\",\"prop\":\"other\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"other\",\"fullName\":\"其他\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"其他\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":114,\"renderKey\":1718266723389},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"other\",\"checked\":true}],\"type\":1,\"defaultSidx\":\"projects_nums\",\"sort\":\"desc\",\"hasPage\":true,\"pageSize\":20,\"hasTreeQuery\":false,\"treeTitle\":\"左侧标题\",\"treeDataSource\":\"dictionary\",\"treeDictionary\":\"\",\"treeRelation\":\"\",\"treeSynType\":0,\"treeInterfaceId\":\"\",\"treeInterfaceName\":\"\",\"treeTemplateJson\":[],\"treePropsUrl\":\"\",\"treePropsName\":\"\",\"treePropsValue\":\"id\",\"treePropsChildren\":\"children\",\"treePropsLabel\":\"fullName\",\"groupField\":\"reporting_unit\",\"parentField\":\"\",\"printIds\":[],\"useColumnPermission\":false,\"useFormPermission\":false,\"useBtnPermission\":false,\"useDataPermission\":false,\"customBtnsList\":[],\"btnsList\":[{\"value\":\"download\",\"icon\":\"icon-ym icon-ym-btn-download\",\"label\":\"导出\"}],\"columnBtnsList\":[],\"funcs\":{\"afterOnload\":\"({ data, tableRef, onlineUtils }) => {\\r\\n \\r\\n}\",\"rowStyle\":\"({ row, rowIndex }) => {\\r\\n \\r\\n}\",\"cellStyle\":\"({ row, column, rowIndex, columnIndex }) => {\\r\\n \\r\\n}\"},\"uploaderTemplateJson\":{}}"); return sb.toString(); + } + /** app列表字段配置json */ + public static final String getAppColumnData(){ + StringBuilder sb = new StringBuilder(); +sb.append("{\"ruleListApp\":[],\"searchList\":[],\"hasSuperQuery\":false,\"columnList\":[{\"label\":\"上报单位\",\"prop\":\"reporting_unit\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"reporting_unit\",\"fullName\":\"上报单位\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"上报单位\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":101,\"renderKey\":1717743926414},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"reporting_unit\"},{\"label\":\"项目数量\",\"prop\":\"projects_nums\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"projects_nums\",\"fullName\":\"项目数量\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目数量\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1717743935263},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"projects_nums\"}],\"columnOptions\":[{\"id\":\"reporting_unit\",\"fullName\":\"上报单位\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"上报单位\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":101,\"renderKey\":1717743926414},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"reporting_unit\"},{\"id\":\"projects_nums\",\"fullName\":\"项目数量\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目数量\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1717743935263},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"projects_nums\"},{\"id\":\"engineering\",\"fullName\":\"工程\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"工程\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":110,\"renderKey\":1718266722619},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"engineering\"},{\"id\":\"goods\",\"fullName\":\"货物\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"货物\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":111,\"renderKey\":1718266722811},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"goods\"},{\"id\":\"service\",\"fullName\":\"服务\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"服务\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":112,\"renderKey\":1718266723020},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"service\"},{\"id\":\"rentOut\",\"fullName\":\"租赁\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"租赁\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":113,\"renderKey\":1718266723212},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"rentOut\"},{\"id\":\"other\",\"fullName\":\"其他\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"其他\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":114,\"renderKey\":1718266723389},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"other\"}],\"defaultColumnList\":[{\"label\":\"上报单位\",\"prop\":\"reporting_unit\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"reporting_unit\",\"fullName\":\"上报单位\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"上报单位\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":101,\"renderKey\":1717743926414},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"reporting_unit\",\"checked\":true},{\"label\":\"项目数量\",\"prop\":\"projects_nums\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"projects_nums\",\"fullName\":\"项目数量\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目数量\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1717743935263},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"projects_nums\",\"checked\":true},{\"label\":\"工程\",\"prop\":\"engineering\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"engineering\",\"fullName\":\"工程\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"工程\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":110,\"renderKey\":1718266722619},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"engineering\",\"checked\":false},{\"label\":\"货物\",\"prop\":\"goods\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"goods\",\"fullName\":\"货物\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"货物\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":111,\"renderKey\":1718266722811},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"goods\",\"checked\":false},{\"label\":\"服务\",\"prop\":\"service\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"service\",\"fullName\":\"服务\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"服务\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":112,\"renderKey\":1718266723020},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"service\",\"checked\":false},{\"label\":\"租赁\",\"prop\":\"rentOut\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"rentOut\",\"fullName\":\"租赁\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"租赁\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":113,\"renderKey\":1718266723212},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"rentOut\",\"checked\":false},{\"label\":\"其他\",\"prop\":\"other\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"other\",\"fullName\":\"其他\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"其他\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_statistics\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":114,\"renderKey\":1718266723389},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"other\",\"checked\":false}],\"sortList\":[],\"defaultSidx\":\"\",\"sort\":\"desc\",\"hasPage\":true,\"pageSize\":20,\"useColumnPermission\":false,\"useFormPermission\":false,\"useBtnPermission\":false,\"useDataPermission\":false,\"customBtnsList\":[],\"btnsList\":[{\"value\":\"add\",\"icon\":\"icon-ym icon-ym-btn-add\",\"label\":\"新增\"}],\"columnBtnsList\":[{\"value\":\"edit\",\"icon\":\"icon-ym icon-ym-btn-edit\",\"label\":\"编辑\"},{\"value\":\"remove\",\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"删除\"}],\"funcs\":{\"afterOnload\":\"({ data, tableRef, onlineUtils }) => {\\r\\n \\r\\n}\"}}"); return sb.toString(); + } + /** 表列表 */ + public static final String getTableList(){ + StringBuilder sb = new StringBuilder(); +sb.append("[{\"relationField\":\"\",\"relationTable\":\"\",\"table\":\"bidding_project_statistics\",\"tableName\":\"招标情况统计表\",\"tableField\":\"\",\"typeId\":\"1\",\"fields\":[{\"columnName\":\"id\",\"field\":\"id\",\"fieldName\":\"主键\",\"dataType\":\"varchar\",\"dataLength\":\"64\",\"primaryKey\":1,\"allowNull\":0,\"autoIncrement\":0},{\"columnName\":\"f_flowid\",\"field\":\"flowid\",\"fieldName\":\"流程id\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"reporting_unit\",\"field\":\"reportingUnit\",\"fieldName\":\"上报单位\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"projects_nums\",\"field\":\"projectsNums\",\"fieldName\":\"项目数量\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_engineering\",\"field\":\"engineering\",\"fieldName\":\"工程\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_goods\",\"field\":\"goods\",\"fieldName\":\"货物\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_service\",\"field\":\"service\",\"fieldName\":\"服务\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"rent_out\",\"field\":\"rentOut\",\"fieldName\":\"租赁\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_other\",\"field\":\"other\",\"fieldName\":\"其他\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"reporting_unit_2\",\"field\":\"reportingUnit2\",\"fieldName\":\"上报单位_表2\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"projects_nums_2\",\"field\":\"projectsNums2\",\"fieldName\":\"项目数量_表2\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_agency_1\",\"field\":\"agency1\",\"fieldName\":\"机构1\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_agency_2\",\"field\":\"agency2\",\"fieldName\":\"机构2\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_agency_3\",\"field\":\"agency3\",\"fieldName\":\"机构3\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_agency_4\",\"field\":\"agency4\",\"fieldName\":\"机构4\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_other_2\",\"field\":\"other2\",\"fieldName\":\"其他_表2\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0}]}]"); return sb.toString(); + } +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_statistics/Bidding_project_statisticsForm.java b/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_statistics/Bidding_project_statisticsForm.java new file mode 100644 index 0000000..9177910 --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_statistics/Bidding_project_statisticsForm.java @@ -0,0 +1,39 @@ +package jnpf.model.bidding_project_statistics; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +/** + * bidding_project_statistics + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-06-13 + */ +@Data +public class Bidding_project_statisticsForm { + /** 主键 */ + private String id; + + /** 上报单位 **/ + @JsonProperty("reporting_unit") + private String reporting_unit; + /** 项目数量 **/ + @JsonProperty("projects_nums") + private String projects_nums; + /** 工程 **/ + @JsonProperty("engineering") + private String engineering; + /** 货物 **/ + @JsonProperty("goods") + private String goods; + /** 服务 **/ + @JsonProperty("service") + private String service; + /** 租赁 **/ + @JsonProperty("rentOut") + private String rentOut; + /** 其他 **/ + @JsonProperty("other") + private String other; +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_statistics/Bidding_project_statisticsPagination.java b/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_statistics/Bidding_project_statisticsPagination.java new file mode 100644 index 0000000..601d17d --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_statistics/Bidding_project_statisticsPagination.java @@ -0,0 +1,39 @@ +package jnpf.model.bidding_project_statistics; + +import jnpf.base.Pagination; +import lombok.Data; + +/** + * + * bidding_project_statistics + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-06-13 + */ +@Data +public class Bidding_project_statisticsPagination 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; + /** + * 结果最终评审时间 + */ + private String startTime; + private String endTime; + /** + * 1-项目 + * 2-代理 + * 3-金额 + */ + private String queryType="1"; +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_subscribe/BiddingProjectSubscribeConstant.java b/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_subscribe/BiddingProjectSubscribeConstant.java new file mode 100644 index 0000000..40677db --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_subscribe/BiddingProjectSubscribeConstant.java @@ -0,0 +1,46 @@ +package jnpf.model.bidding_project_subscribe; + +import jnpf.util.JsonUtil; + +import java.util.Map; + +/** + * bidding_project_subscribe配置json + * + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-06-11 + */ +public class BiddingProjectSubscribeConstant { + /** 数据库链接 */ + public static final String DBLINKID = "0"; + /** 表别名 map */ + public static final Map TABLERENAMES = JsonUtil.getJsonToBean("{\"bidding_project_subscribe\":\"bidding_project_subscribe\"}",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("{\"formRef\":\"formRef\",\"formModel\":\"dataForm\",\"size\":\"default\",\"labelPosition\":\"right\",\"labelWidth\":100,\"formRules\":\"rules\",\"popupType\":\"general\",\"generalWidth\":\"80%\",\"fullScreenWidth\":\"100%\",\"drawerWidth\":\"600px\",\"gutter\":15,\"disabled\":false,\"span\":24,\"colon\":false,\"hasCancelBtn\":true,\"cancelButtonText\":\"取消\",\"hasConfirmBtn\":true,\"confirmButtonText\":\"确定\",\"hasPrintBtn\":false,\"printButtonText\":\"打印\",\"primaryKeyPolicy\":2,\"concurrencyLock\":false,\"logicalDelete\":false,\"printId\":\"\",\"formStyle\":\"\",\"classNames\":[],\"className\":[],\"classJson\":\"\",\"funcs\":{\"onLoad\":\"({ formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"beforeSubmit\":\"({ formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n return new Promise((resolve, reject) => {\\n // 在此编写代码\\n\\n // 继续执行\\n resolve()\\n })\\n}\",\"afterSubmit\":\"({ formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n\\n}\"},\"idGlobal\":160,\"fields\":[{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目编号\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":151,\"renderKey\":1718607542234},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"archiveNumber\"},{\"__config__\":{\"jnpfKey\":\"groupTitle\",\"label\":\"分组标题\",\"showLabel\":false,\"tag\":\"JnpfGroupTitle\",\"tagIcon\":\"icon-ym icon-ym-generator-group\",\"className\":[],\"defaultValue\":null,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"formId\":126,\"renderKey\":1718185292260,\"tableName\":\"bidding_project_subscribe\"},\"helpMessage\":\"\",\"content\":\"招标方案内容\",\"contentPosition\":\"left\"},{\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"审批状态\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"3\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"static\",\"dictionaryType\":\"\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":152,\"renderKey\":1718611737642},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"fullName\":\"全部\",\"id\":\"5\"},{\"fullName\":\"自建\",\"id\":\"1\"},{\"fullName\":\"审批\",\"id\":\"2\"},{\"fullName\":\"已审批\",\"id\":\"3\"},{\"fullName\":\"待归档\",\"id\":\"6\"},{\"fullName\":\"已归档\",\"id\":\"7\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"queryType\"},{\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"管理方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"ba\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539396086083622085\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":108,\"renderKey\":1715938226328,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539396138348844229\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"审批\",\"enCode\":\"sp\"},{\"id\":\"539396176340849861\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"备案\",\"enCode\":\"ba\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"managementStyle\"},{\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"方案上报时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":121,\"renderKey\":1716179574375,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"planSubmissionTime\"},{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"上报单位(部门)\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":160,\"renderKey\":1720149171900},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"reportingCorp\"},{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"招标主体\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":159,\"renderKey\":1720149133686},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"tenderingEntity\"},{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目名称\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1715938207071,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"projectName\"},{\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标事项分类\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539390743437907141\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":106,\"renderKey\":1715938212855,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539390925835605189\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"建设工程\",\"enCode\":\"gongchen\"},{\"id\":\"539390970546885829\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"货物采购\",\"enCode\":\"huowu\"},{\"id\":\"539391011567178949\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"服务采购\",\"enCode\":\"fuwu\"},{\"id\":\"539391051736028357\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"不动产出租\",\"enCode\":\"chuzhu\"},{\"id\":\"539393233403253957\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"资产处置\",\"enCode\":\"zhicancz\"},{\"id\":\"539393277388920005\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"itemClassification\"},{\"__config__\":{\"jnpfKey\":\"inputNumber\",\"label\":\"招标控制价\",\"tipLabel\":\"\",\"showLabel\":true,\"labelWidth\":150,\"tag\":\"JnpfInputNumber\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":[\"blur\",\"change\"],\"formId\":155,\"renderKey\":1719305177186},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"controls\":false,\"addonBefore\":\"\",\"addonAfter\":\"元\",\"thousands\":false,\"isAmountChinese\":false,\"step\":1,\"disabled\":false,\"__vModel__\":\"controlPrice\"},{\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标组织形式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"zxzz\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539393647729185989\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":107,\"renderKey\":1715938225864,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539393738422621381\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"自行组织\",\"enCode\":\"zxzz\"},{\"id\":\"539393781598786757\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"委托代理\",\"enCode\":\"wtdl\"},{\"id\":\"539393832001737925\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"产交机构\",\"enCode\":\"cjjg\"},{\"id\":\"539393872002815173\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"organizationalForm\"},{\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"xj\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394095383057605\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":105,\"renderKey\":1715938210831,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394150773036229\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"公开招标\",\"enCode\":\"gkzb\"},{\"id\":\"539394210319570117\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"邀请招标\",\"enCode\":\"yqzb\"},{\"id\":\"539394308273345733\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"竞争性谈判\",\"enCode\":\"jzxtp\"},{\"id\":\"539394424271017157\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"询(比)价\",\"enCode\":\"xj\"},{\"id\":\"539394475068232901\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"单一来源采购\",\"enCode\":\"dyly\"},{\"id\":\"539394512649196741\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"biddingMethod\"},{\"__config__\":{\"jnpfKey\":\"select\",\"label\":\"代理机构\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfSelect\",\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"className\":[],\"defaultValue\":\"\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"dc6b2542d94b5434fc61ec1d59592901\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":153,\"renderKey\":1718846892510},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"53939529624dasdsa789\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"无\",\"enCode\":\"wu\"},{\"id\":\"539395047366b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江同欣工程管理有限公司\",\"enCode\":\"tx\"},{\"id\":\"539395093126b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江省成套招标代理有限公司\",\"enCode\":\"ct\"},{\"id\":\"539395145746b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江省成套工程有限公司\",\"enCode\":\"ctgc\"},{\"id\":\"539395202176b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江国际招投标有限公司\",\"enCode\":\"zjgj\"},{\"id\":\"539395244426b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"欧邦工程管理集团有限公司\",\"enCode\":\"ob\"},{\"id\":\"539395296246b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"国信国际工程咨询集团股份有限公司\",\"enCode\":\"gxgj\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"placeholder\":\"请选择\",\"clearable\":true,\"disabled\":false,\"filterable\":false,\"multiple\":false,\"__vModel__\":\"agencyOne\"},{\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"评分方法\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"1\",\"required\":false,\"layout\":\"colFormItem\",\"span\":10,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"static\",\"dictionaryType\":\"\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":147,\"renderKey\":1718604323279,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"fullName\":\"综合评分法\",\"id\":\"1\"},{\"fullName\":\"其他\",\"id\":\"2\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"scoringMethodOne\"},{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"其他(评分说明)\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":14,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":115,\"renderKey\":1716173710757},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"scoringMethodTwo\"},{\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"评分指标设置\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"defaultValue\":\"商务/价格标 %、资信标 %、技术标 %(或资信、技术标 %)\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":148,\"renderKey\":1718604461068,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"scoringIndicatorSettingsOne\"},{\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"中标人设置\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"defaultValue\":\"如单一项目:中标人 名;如单一项目入围招标:入围单位 名; 分标项:每个标项中标人数量;分标项入围招标:分别填写每个标项中标人数量\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":146,\"renderKey\":1718604208107,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"settingOwinningBidderOne\"},{\"__config__\":{\"jnpfKey\":\"uploadFile\",\"label\":\"方案上报文件名称\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfUploadFile\",\"tagIcon\":\"icon-ym icon-ym-generator-upload\",\"className\":[],\"defaultValue\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"formId\":109,\"renderKey\":1715938229023,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"disabled\":false,\"accept\":\"\",\"fileSize\":10,\"sizeUnit\":\"MB\",\"buttonText\":\"点击上传\",\"limit\":9,\"pathType\":\"defaultPath\",\"isAccount\":0,\"folder\":\"\",\"tipText\":\"上报文件PDF(文件名+文号);单文件上传大小最大10MB\",\"__vModel__\":\"annexProgrammeDocument\"},{\"__config__\":{\"jnpfKey\":\"uploadFile\",\"label\":\"招标文件及附件\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfUploadFile\",\"tagIcon\":\"icon-ym icon-ym-generator-upload\",\"className\":[],\"defaultValue\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"formId\":110,\"renderKey\":1715938233953,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"disabled\":false,\"accept\":\"\",\"fileSize\":10,\"sizeUnit\":\"MB\",\"buttonText\":\"点击上传\",\"limit\":9,\"pathType\":\"defaultPath\",\"isAccount\":0,\"folder\":\"\",\"tipText\":\"招标主体招标文件及相关附件(上传PDF版);单文件上传大小最大10MB\",\"__vModel__\":\"biddingDocumentId\"},{\"__config__\":{\"jnpfKey\":\"checkbox\",\"label\":\"审批/备案决策程序\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfCheckbox\",\"tagIcon\":\"icon-ym icon-ym-generator-checkbox\",\"className\":[],\"defaultValue\":[\"539394745084941509\",\"539394798767838405\"],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394681591567557\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":141,\"renderKey\":1718328469479,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394745084941509\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"集团审批\",\"enCode\":\"1\"},{\"id\":\"539394798767838405\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"子集团审批\",\"enCode\":\"2\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"disabled\":false,\"__vModel__\":\"decisionProcedure\"},{\"__config__\":{\"jnpfKey\":\"uploadFile\",\"label\":\"子公司审批/备案文件\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfUploadFile\",\"tagIcon\":\"icon-ym icon-ym-generator-upload\",\"className\":[],\"defaultValue\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"formId\":111,\"renderKey\":1715938234535,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"disabled\":false,\"accept\":\"\",\"fileSize\":10,\"sizeUnit\":\"MB\",\"buttonText\":\"点击上传\",\"limit\":9,\"pathType\":\"defaultPath\",\"isAccount\":0,\"folder\":\"\",\"tipText\":\"最终审批/备案单位核准文件(上传PDF版);\\n最终审批决策会议纪要(上传PDF版);单文件上传大小最大10MB\",\"__vModel__\":\"approvalDocumentsId\"},{\"__config__\":{\"jnpfKey\":\"uploadFile\",\"label\":\"集团审批/备案批准文件\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfUploadFile\",\"tagIcon\":\"icon-ym icon-ym-generator-upload\",\"className\":[],\"defaultValue\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"formId\":149,\"renderKey\":1718605196580},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"disabled\":false,\"accept\":\"\",\"fileSize\":10,\"sizeUnit\":\"MB\",\"buttonText\":\"点击上传\",\"limit\":9,\"pathType\":\"defaultPath\",\"isAccount\":0,\"folder\":\"\",\"tipText\":\"最终审批/备案单位核准文件(上传PDF版);\\n最终审批决策会议纪要(上传PDF版);单文件上传大小最大10MB\",\"__vModel__\":\"approvalDocumentsIdJt\"},{\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"方案最终审批时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":122,\"renderKey\":1716179582380,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"finalApprovalTime\"},{\"__config__\":{\"jnpfKey\":\"divider\",\"label\":\"分割线\",\"showLabel\":false,\"tag\":\"JnpfDivider\",\"tagIcon\":\"icon-ym icon-ym-generator-divider\",\"className\":[],\"defaultValue\":null,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"formId\":120,\"renderKey\":1716174045780,\"tableName\":\"prj_bidding\"},\"content\":\"\",\"contentPosition\":\"center\"},{\"__config__\":{\"jnpfKey\":\"groupTitle\",\"label\":\"分组标题\",\"showLabel\":false,\"tag\":\"JnpfGroupTitle\",\"tagIcon\":\"icon-ym icon-ym-generator-group\",\"className\":[],\"defaultValue\":null,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"noShow\":false,\"formId\":127,\"renderKey\":1718185335508,\"tableName\":\"bidding_project_subscribe\"},\"helpMessage\":\"\",\"content\":\"招标结果内容\",\"contentPosition\":\"left\"},{\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"招标结果上报时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":128,\"renderKey\":1718185366220,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"resultReportingTime\"},{\"__config__\":{\"jnpfKey\":\"uploadFile\",\"label\":\"结果上报文件名称\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfUploadFile\",\"tagIcon\":\"icon-ym icon-ym-generator-upload\",\"className\":[],\"defaultValue\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"formId\":129,\"renderKey\":1718185368832,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"disabled\":false,\"accept\":\"\",\"fileSize\":10,\"sizeUnit\":\"MB\",\"buttonText\":\"点击上传\",\"limit\":9,\"pathType\":\"defaultPath\",\"isAccount\":0,\"folder\":\"\",\"tipText\":\"上报文件PDF(文件名+文号);单文件上传大小最大10MB\",\"__vModel__\":\"resultReportedFileName\"},{\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"开标时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":130,\"renderKey\":1718185374325,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"bidOpeningTime\"},{\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"开标情况说明\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":131,\"renderKey\":1718185433697,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"explanationObid\"},{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"中标人及中标金额\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":132,\"renderKey\":1718185456487,\"defaultValue\":\"中标人: ,中标金额: 万元\"},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"中标人: ,中标金额: 万元\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"winningBidderAndWinningAmount\"},{\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"评标委员会设置\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":133,\"renderKey\":1718185559488,\"defaultValue\":\"共 人。业主代表 人,姓名: \"},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"共 人。业主代表 人,姓名: \",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"bidEvaluationCommittee\"},{\"__config__\":{\"jnpfKey\":\"inputNumber\",\"label\":\"招标代理费\",\"tipLabel\":\"\",\"showLabel\":true,\"labelWidth\":150,\"tag\":\"JnpfInputNumber\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":[\"blur\",\"change\"],\"formId\":156,\"renderKey\":1718848042919},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"元\",\"min\":0,\"controls\":false,\"addonBefore\":\"\",\"addonAfter\":\"\",\"thousands\":false,\"isAmountChinese\":false,\"step\":1,\"disabled\":false,\"__vModel__\":\"tenderAgencyFee\"},{\"__config__\":{\"jnpfKey\":\"uploadFile\",\"label\":\"招标结果附件\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfUploadFile\",\"tagIcon\":\"icon-ym icon-ym-generator-upload\",\"className\":[],\"defaultValue\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"formId\":135,\"renderKey\":1718185619670,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"disabled\":false,\"accept\":\"\",\"fileSize\":10,\"sizeUnit\":\"MB\",\"buttonText\":\"点击上传\",\"limit\":9,\"pathType\":\"defaultPath\",\"isAccount\":0,\"folder\":\"\",\"tipText\":\"招标结果(评标报告)及相关附件(上传PDF版);\\n中标候选人投标书(上传PDF版);单文件上传大小最大10MB\",\"__vModel__\":\"attachmentObiddingResultsOneId\"},{\"__config__\":{\"jnpfKey\":\"uploadFile\",\"label\":\"一级审批/备案结果\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfUploadFile\",\"tagIcon\":\"icon-ym icon-ym-generator-upload\",\"className\":[],\"defaultValue\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"formId\":139,\"renderKey\":1718185750630,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"disabled\":false,\"accept\":\"\",\"fileSize\":10,\"sizeUnit\":\"MB\",\"buttonText\":\"点击上传\",\"limit\":9,\"pathType\":\"defaultPath\",\"isAccount\":0,\"folder\":\"\",\"tipText\":\"最终审批/备案单位核准文件(上传PDF版);\\n最终审批决策会议纪要(上传PDF版);单文件上传大小最大10MB\",\"__vModel__\":\"filingResultsOneId\"},{\"__config__\":{\"jnpfKey\":\"uploadFile\",\"label\":\"二级审批/备案结果\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfUploadFile\",\"tagIcon\":\"icon-ym icon-ym-generator-upload\",\"className\":[],\"defaultValue\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"formId\":157,\"renderKey\":1719220031109,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"disabled\":false,\"accept\":\"\",\"fileSize\":10,\"sizeUnit\":\"MB\",\"buttonText\":\"点击上传\",\"limit\":9,\"pathType\":\"defaultPath\",\"isAccount\":0,\"folder\":\"\",\"tipText\":\"最终审批/备案单位核准文件(上传PDF版);\\n最终审批决策会议纪要(上传PDF版);单文件上传大小最大10MB\",\"__vModel__\":\"filingResultsTwoId\"},{\"__config__\":{\"jnpfKey\":\"uploadFile\",\"label\":\"三级审批备案结果\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfUploadFile\",\"tagIcon\":\"icon-ym icon-ym-generator-upload\",\"className\":[],\"defaultValue\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"formId\":158,\"renderKey\":1719220038882,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"disabled\":false,\"accept\":\"\",\"fileSize\":10,\"sizeUnit\":\"MB\",\"buttonText\":\"点击上传\",\"limit\":9,\"pathType\":\"defaultPath\",\"isAccount\":0,\"folder\":\"\",\"tipText\":\"包含三级及以下;最终审批/备案单位核准文件(上传PDF版);\\n最终审批决策会议纪要(上传PDF版);单文件上传大小最大10MB\",\"__vModel__\":\"filingResultsThreeId\"},{\"__config__\":{\"jnpfKey\":\"checkbox\",\"label\":\"审批/备案决策程序\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfCheckbox\",\"tagIcon\":\"icon-ym icon-ym-generator-checkbox\",\"className\":[],\"defaultValue\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394681591567557\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":154,\"renderKey\":1718846948140},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394745084941509\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"集团审批\",\"enCode\":\"1\"},{\"id\":\"539394798767838405\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"子集团审批\",\"enCode\":\"2\"},{\"id\":\"539394843823051973\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"项目单位审批\",\"enCode\":\"3\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"disabled\":false,\"__vModel__\":\"filingDecisionProcedure\"},{\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"结果最终审批时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":140,\"renderKey\":1718185753510,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"approvalTimeForResults\"}]}"); return sb.toString(); + } + /** 列表字段配置json */ + public static final String getColumnData(){ + StringBuilder sb = new StringBuilder(); + sb.append("{\"ruleList\":[],\"searchList\":[{\"label\":\"审批状态\",\"prop\":\"queryType\",\"jnpfKey\":\"radio\",\"value\":\"\",\"searchType\":1,\"searchMultiple\":false,\"id\":\"queryType\",\"fullName\":\"审批状态\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"审批状态\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"3\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"static\",\"dictionaryType\":\"\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":152,\"renderKey\":1718611737642},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"fullName\":\"全部\",\"id\":\"5\"},{\"fullName\":\"自建\",\"id\":\"1\"},{\"fullName\":\"审批\",\"id\":\"2\"},{\"fullName\":\"已审批\",\"id\":\"3\"},{\"fullName\":\"待归档\",\"id\":\"6\"},{\"fullName\":\"已归档\",\"id\":\"7\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"queryType\"},{\"label\":\"项目编号\",\"prop\":\"archiveNumber\",\"jnpfKey\":\"input\",\"value\":\"\",\"searchType\":2,\"searchMultiple\":false,\"id\":\"archiveNumber\",\"fullName\":\"项目编号\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目编号\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":151,\"renderKey\":1718607542234},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"archiveNumber\"},{\"label\":\"管理方式\",\"prop\":\"managementStyle\",\"jnpfKey\":\"radio\",\"value\":\"\",\"searchType\":1,\"searchMultiple\":false,\"id\":\"managementStyle\",\"fullName\":\"管理方式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"管理方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"ba\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539396086083622085\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":108,\"renderKey\":1715938226328,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539396138348844229\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"审批\",\"enCode\":\"sp\"},{\"id\":\"539396176340849861\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"备案\",\"enCode\":\"ba\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"managementStyle\"},{\"label\":\"方案上报时间\",\"prop\":\"planSubmissionTime\",\"jnpfKey\":\"datePicker\",\"value\":\"\",\"searchType\":3,\"searchMultiple\":false,\"id\":\"planSubmissionTime\",\"fullName\":\"方案上报时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"方案上报时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":121,\"renderKey\":1716179574375,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"planSubmissionTime\"},{\"label\":\"项目名称\",\"prop\":\"projectName\",\"jnpfKey\":\"input\",\"value\":\"\",\"searchType\":2,\"searchMultiple\":false,\"id\":\"projectName\",\"fullName\":\"项目名称\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目名称\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1715938207071,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"projectName\"},{\"label\":\"结果最终审批时间\",\"prop\":\"approvalTimeForResults\",\"jnpfKey\":\"datePicker\",\"value\":\"\",\"searchType\":3,\"searchMultiple\":false,\"id\":\"approvalTimeForResults\",\"fullName\":\"结果最终审批时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"结果最终审批时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":140,\"renderKey\":1718185753510,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"approvalTimeForResults\"},{\"label\":\"方案最终审批时间\",\"prop\":\"finalApprovalTime\",\"jnpfKey\":\"datePicker\",\"value\":\"\",\"searchType\":3,\"searchMultiple\":false,\"id\":\"finalApprovalTime\",\"fullName\":\"方案最终审批时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"方案最终审批时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":122,\"renderKey\":1716179582380,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"finalApprovalTime\"},{\"label\":\"招标主体\",\"prop\":\"tenderingEntity\",\"jnpfKey\":\"input\",\"value\":\"\",\"searchType\":2,\"searchMultiple\":false,\"id\":\"tenderingEntity\",\"fullName\":\"招标主体\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"招标主体\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":159,\"renderKey\":1720149133686},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"tenderingEntity\"},{\"label\":\"上报单位(部门)\",\"prop\":\"reportingCorp\",\"jnpfKey\":\"input\",\"value\":\"\",\"searchType\":2,\"searchMultiple\":false,\"id\":\"reportingCorp\",\"fullName\":\"上报单位(部门)\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"上报单位(部门)\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":160,\"renderKey\":1720149171900},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"reportingCorp\"}],\"hasSuperQuery\":true,\"childTableStyle\":1,\"showSummary\":false,\"summaryField\":[],\"columnList\":[{\"label\":\"项目编号\",\"prop\":\"archiveNumber\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":200,\"id\":\"archiveNumber\",\"fullName\":\"项目编号\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目编号\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":151,\"renderKey\":1718607542234},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"archiveNumber\"},{\"label\":\"项目名称\",\"prop\":\"projectName\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":200,\"id\":\"projectName\",\"fullName\":\"项目名称\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目名称\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1715938207071,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"projectName\"},{\"label\":\"管理方式\",\"prop\":\"managementStyle\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":200,\"id\":\"managementStyle\",\"fullName\":\"管理方式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"管理方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"ba\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539396086083622085\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":108,\"renderKey\":1715938226328,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539396138348844229\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"审批\",\"enCode\":\"sp\"},{\"id\":\"539396176340849861\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"备案\",\"enCode\":\"ba\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"managementStyle\"},{\"label\":\"审批/备案决策程序\",\"prop\":\"decisionProcedure\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"checkbox\",\"sortable\":false,\"width\":200,\"id\":\"decisionProcedure\",\"fullName\":\"审批/备案决策程序\",\"__config__\":{\"jnpfKey\":\"checkbox\",\"label\":\"审批/备案决策程序\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfCheckbox\",\"tagIcon\":\"icon-ym icon-ym-generator-checkbox\",\"className\":[],\"defaultValue\":[\"539394745084941509\",\"539394798767838405\"],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394681591567557\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":141,\"renderKey\":1718328469479,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394745084941509\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"集团审批\",\"enCode\":\"1\"},{\"id\":\"539394798767838405\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"子集团审批\",\"enCode\":\"2\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"disabled\":false,\"__vModel__\":\"decisionProcedure\"},{\"label\":\"招标主体\",\"prop\":\"tenderingEntity\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":200,\"id\":\"tenderingEntity\",\"fullName\":\"招标主体\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"招标主体\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":159,\"renderKey\":1720149133686},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"tenderingEntity\"},{\"label\":\"上报单位(部门)\",\"prop\":\"reportingCorp\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":200,\"id\":\"reportingCorp\",\"fullName\":\"上报单位(部门)\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"上报单位(部门)\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":160,\"renderKey\":1720149171900},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"reportingCorp\"},{\"label\":\"招标组织形式\",\"prop\":\"organizationalForm\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":200,\"id\":\"organizationalForm\",\"fullName\":\"招标组织形式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标组织形式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"zxzz\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539393647729185989\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":107,\"renderKey\":1715938225864,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539393738422621381\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"自行组织\",\"enCode\":\"zxzz\"},{\"id\":\"539393781598786757\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"委托代理\",\"enCode\":\"wtdl\"},{\"id\":\"539393832001737925\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"产交机构\",\"enCode\":\"cjjg\"},{\"id\":\"539393872002815173\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"organizationalForm\"},{\"label\":\"招标事项分类\",\"prop\":\"itemClassification\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":200,\"id\":\"itemClassification\",\"fullName\":\"招标事项分类\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标事项分类\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539390743437907141\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":106,\"renderKey\":1715938212855,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539390925835605189\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"建设工程\",\"enCode\":\"gongchen\"},{\"id\":\"539390970546885829\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"货物采购\",\"enCode\":\"huowu\"},{\"id\":\"539391011567178949\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"服务采购\",\"enCode\":\"fuwu\"},{\"id\":\"539391051736028357\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"不动产出租\",\"enCode\":\"chuzhu\"},{\"id\":\"539393233403253957\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"资产处置\",\"enCode\":\"zhicancz\"},{\"id\":\"539393277388920005\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"itemClassification\"},{\"label\":\"招标方式\",\"prop\":\"biddingMethod\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":200,\"id\":\"biddingMethod\",\"fullName\":\"招标方式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"xj\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394095383057605\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":105,\"renderKey\":1715938210831,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394150773036229\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"公开招标\",\"enCode\":\"gkzb\"},{\"id\":\"539394210319570117\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"邀请招标\",\"enCode\":\"yqzb\"},{\"id\":\"539394308273345733\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"竞争性谈判\",\"enCode\":\"jzxtp\"},{\"id\":\"539394424271017157\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"询(比)价\",\"enCode\":\"xj\"},{\"id\":\"539394475068232901\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"单一来源采购\",\"enCode\":\"dyly\"},{\"id\":\"539394512649196741\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"biddingMethod\"},{\"label\":\"代理机构\",\"prop\":\"agencyOne\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"select\",\"sortable\":false,\"width\":200,\"id\":\"agencyOne\",\"fullName\":\"代理机构\",\"__config__\":{\"jnpfKey\":\"select\",\"label\":\"代理机构\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfSelect\",\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"className\":[],\"defaultValue\":\"\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"dc6b2542d94b5434fc61ec1d59592901\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":153,\"renderKey\":1718846892510},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"53939529624dasdsa789\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"无\",\"enCode\":\"wu\"},{\"id\":\"539395047366b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江同欣工程管理有限公司\",\"enCode\":\"tx\"},{\"id\":\"539395093126b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江省成套招标代理有限公司\",\"enCode\":\"ct\"},{\"id\":\"539395145746b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江省成套工程有限公司\",\"enCode\":\"ctgc\"},{\"id\":\"539395202176b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江国际招投标有限公司\",\"enCode\":\"zjgj\"},{\"id\":\"539395244426b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"欧邦工程管理集团有限公司\",\"enCode\":\"ob\"},{\"id\":\"539395296246b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"国信国际工程咨询集团股份有限公司\",\"enCode\":\"gxgj\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"placeholder\":\"请选择\",\"clearable\":true,\"disabled\":false,\"filterable\":false,\"multiple\":false,\"__vModel__\":\"agencyOne\"},{\"label\":\"中标人设置\",\"prop\":\"settingOwinningBidderOne\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"textarea\",\"sortable\":false,\"width\":200,\"id\":\"settingOwinningBidderOne\",\"fullName\":\"中标人设置\",\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"中标人设置\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"defaultValue\":\"如单一项目:中标人 名;如单一项目入围招标:入围单位 名; 分标项:每个标项中标人数量;分标项入围招标:分别填写每个标项中标人数量\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":146,\"renderKey\":1718604208107,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"settingOwinningBidderOne\"},{\"label\":\"评分方法\",\"prop\":\"scoringMethodOne\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":200,\"id\":\"scoringMethodOne\",\"fullName\":\"评分方法\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"评分方法\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"1\",\"required\":false,\"layout\":\"colFormItem\",\"span\":10,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"static\",\"dictionaryType\":\"\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":147,\"renderKey\":1718604323279,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"fullName\":\"综合评分法\",\"id\":\"1\"},{\"fullName\":\"其他\",\"id\":\"2\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"scoringMethodOne\"},{\"label\":\"方案最终审批时间\",\"prop\":\"finalApprovalTime\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":200,\"id\":\"finalApprovalTime\",\"fullName\":\"方案最终审批时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"方案最终审批时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":122,\"renderKey\":1716179582380,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"finalApprovalTime\"},{\"label\":\"方案上报时间\",\"prop\":\"planSubmissionTime\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":200,\"id\":\"planSubmissionTime\",\"fullName\":\"方案上报时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"方案上报时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":121,\"renderKey\":1716179574375,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"planSubmissionTime\"},{\"label\":\"招标结果上报时间\",\"prop\":\"resultReportingTime\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":200,\"id\":\"resultReportingTime\",\"fullName\":\"招标结果上报时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"招标结果上报时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":128,\"renderKey\":1718185366220,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"resultReportingTime\"},{\"label\":\"开标时间\",\"prop\":\"bidOpeningTime\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":200,\"id\":\"bidOpeningTime\",\"fullName\":\"开标时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"开标时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":130,\"renderKey\":1718185374325,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"bidOpeningTime\"},{\"label\":\"开标情况说明\",\"prop\":\"explanationObid\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"textarea\",\"sortable\":false,\"width\":200,\"id\":\"explanationObid\",\"fullName\":\"开标情况说明\",\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"开标情况说明\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":131,\"renderKey\":1718185433697,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"explanationObid\"},{\"label\":\"中标人及中标金额\",\"prop\":\"winningBidderAndWinningAmount\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":200,\"id\":\"winningBidderAndWinningAmount\",\"fullName\":\"中标人及中标金额\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"中标人及中标金额\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":132,\"renderKey\":1718185456487,\"defaultValue\":\"中标人: ,中标金额: 万元\"},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"中标人: ,中标金额: 万元\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"winningBidderAndWinningAmount\"},{\"label\":\"评标委员会设置\",\"prop\":\"bidEvaluationCommittee\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":200,\"id\":\"bidEvaluationCommittee\",\"fullName\":\"评标委员会设置\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"评标委员会设置\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":133,\"renderKey\":1718185559488,\"defaultValue\":\"共 人。业主代表 人,姓名: \"},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"共 人。业主代表 人,姓名: \",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"bidEvaluationCommittee\"},{\"label\":\"招标代理费\",\"prop\":\"tenderAgencyFee\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"inputNumber\",\"sortable\":false,\"width\":200,\"id\":\"tenderAgencyFee\",\"fullName\":\"招标代理费\",\"__config__\":{\"jnpfKey\":\"inputNumber\",\"label\":\"招标代理费\",\"tipLabel\":\"\",\"showLabel\":true,\"labelWidth\":150,\"tag\":\"JnpfInputNumber\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":[\"blur\",\"change\"],\"formId\":156,\"renderKey\":1718848042919},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"元\",\"min\":0,\"controls\":false,\"addonBefore\":\"\",\"addonAfter\":\"\",\"thousands\":false,\"isAmountChinese\":false,\"step\":1,\"disabled\":false,\"__vModel__\":\"tenderAgencyFee\"},{\"label\":\"结果最终审批时间\",\"prop\":\"approvalTimeForResults\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":200,\"id\":\"approvalTimeForResults\",\"fullName\":\"结果最终审批时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"结果最终审批时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":140,\"renderKey\":1718185753510,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"approvalTimeForResults\"},{\"label\":\"审批/备案决策程序\",\"prop\":\"filingDecisionProcedure\",\"fixed\":\"none\",\"align\":\"center\",\"jnpfKey\":\"checkbox\",\"sortable\":false,\"width\":200,\"id\":\"filingDecisionProcedure\",\"fullName\":\"审批/备案决策程序\",\"__config__\":{\"jnpfKey\":\"checkbox\",\"label\":\"审批/备案决策程序\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfCheckbox\",\"tagIcon\":\"icon-ym icon-ym-generator-checkbox\",\"className\":[],\"defaultValue\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394681591567557\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":154,\"renderKey\":1718846948140},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394745084941509\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"集团审批\",\"enCode\":\"1\"},{\"id\":\"539394798767838405\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"子集团审批\",\"enCode\":\"2\"},{\"id\":\"539394843823051973\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"项目单位审批\",\"enCode\":\"3\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"disabled\":false,\"__vModel__\":\"filingDecisionProcedure\"}],\"columnOptions\":[{\"id\":\"archiveNumber\",\"fullName\":\"项目编号\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目编号\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":151,\"renderKey\":1718607542234},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"archiveNumber\"},{\"id\":\"queryType\",\"fullName\":\"审批状态\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"审批状态\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"3\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"static\",\"dictionaryType\":\"\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":152,\"renderKey\":1718611737642},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"fullName\":\"全部\",\"id\":\"5\"},{\"fullName\":\"自建\",\"id\":\"1\"},{\"fullName\":\"审批\",\"id\":\"2\"},{\"fullName\":\"已审批\",\"id\":\"3\"},{\"fullName\":\"待归档\",\"id\":\"6\"},{\"fullName\":\"已归档\",\"id\":\"7\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"queryType\"},{\"id\":\"managementStyle\",\"fullName\":\"管理方式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"管理方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"ba\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539396086083622085\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":108,\"renderKey\":1715938226328,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539396138348844229\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"审批\",\"enCode\":\"sp\"},{\"id\":\"539396176340849861\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"备案\",\"enCode\":\"ba\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"managementStyle\"},{\"id\":\"planSubmissionTime\",\"fullName\":\"方案上报时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"方案上报时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":121,\"renderKey\":1716179574375,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"planSubmissionTime\"},{\"id\":\"reportingCorp\",\"fullName\":\"上报单位(部门)\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"上报单位(部门)\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":160,\"renderKey\":1720149171900},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"reportingCorp\"},{\"id\":\"tenderingEntity\",\"fullName\":\"招标主体\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"招标主体\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":159,\"renderKey\":1720149133686},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"tenderingEntity\"},{\"id\":\"projectName\",\"fullName\":\"项目名称\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目名称\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1715938207071,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"projectName\"},{\"id\":\"itemClassification\",\"fullName\":\"招标事项分类\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标事项分类\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539390743437907141\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":106,\"renderKey\":1715938212855,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539390925835605189\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"建设工程\",\"enCode\":\"gongchen\"},{\"id\":\"539390970546885829\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"货物采购\",\"enCode\":\"huowu\"},{\"id\":\"539391011567178949\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"服务采购\",\"enCode\":\"fuwu\"},{\"id\":\"539391051736028357\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"不动产出租\",\"enCode\":\"chuzhu\"},{\"id\":\"539393233403253957\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"资产处置\",\"enCode\":\"zhicancz\"},{\"id\":\"539393277388920005\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"itemClassification\"},{\"id\":\"controlPrice\",\"fullName\":\"招标控制价\",\"__config__\":{\"jnpfKey\":\"inputNumber\",\"label\":\"招标控制价\",\"tipLabel\":\"\",\"showLabel\":true,\"labelWidth\":150,\"tag\":\"JnpfInputNumber\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":[\"blur\",\"change\"],\"formId\":155,\"renderKey\":1719305177186},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"controls\":false,\"addonBefore\":\"\",\"addonAfter\":\"元\",\"thousands\":false,\"isAmountChinese\":false,\"step\":1,\"disabled\":false,\"__vModel__\":\"controlPrice\"},{\"id\":\"organizationalForm\",\"fullName\":\"招标组织形式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标组织形式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"zxzz\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539393647729185989\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":107,\"renderKey\":1715938225864,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539393738422621381\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"自行组织\",\"enCode\":\"zxzz\"},{\"id\":\"539393781598786757\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"委托代理\",\"enCode\":\"wtdl\"},{\"id\":\"539393832001737925\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"产交机构\",\"enCode\":\"cjjg\"},{\"id\":\"539393872002815173\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"organizationalForm\"},{\"id\":\"biddingMethod\",\"fullName\":\"招标方式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"xj\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394095383057605\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":105,\"renderKey\":1715938210831,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394150773036229\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"公开招标\",\"enCode\":\"gkzb\"},{\"id\":\"539394210319570117\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"邀请招标\",\"enCode\":\"yqzb\"},{\"id\":\"539394308273345733\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"竞争性谈判\",\"enCode\":\"jzxtp\"},{\"id\":\"539394424271017157\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"询(比)价\",\"enCode\":\"xj\"},{\"id\":\"539394475068232901\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"单一来源采购\",\"enCode\":\"dyly\"},{\"id\":\"539394512649196741\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"biddingMethod\"},{\"id\":\"agencyOne\",\"fullName\":\"代理机构\",\"__config__\":{\"jnpfKey\":\"select\",\"label\":\"代理机构\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfSelect\",\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"className\":[],\"defaultValue\":\"\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"dc6b2542d94b5434fc61ec1d59592901\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":153,\"renderKey\":1718846892510},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"53939529624dasdsa789\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"无\",\"enCode\":\"wu\"},{\"id\":\"539395047366b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江同欣工程管理有限公司\",\"enCode\":\"tx\"},{\"id\":\"539395093126b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江省成套招标代理有限公司\",\"enCode\":\"ct\"},{\"id\":\"539395145746b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江省成套工程有限公司\",\"enCode\":\"ctgc\"},{\"id\":\"539395202176b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江国际招投标有限公司\",\"enCode\":\"zjgj\"},{\"id\":\"539395244426b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"欧邦工程管理集团有限公司\",\"enCode\":\"ob\"},{\"id\":\"539395296246b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"国信国际工程咨询集团股份有限公司\",\"enCode\":\"gxgj\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"placeholder\":\"请选择\",\"clearable\":true,\"disabled\":false,\"filterable\":false,\"multiple\":false,\"__vModel__\":\"agencyOne\"},{\"id\":\"scoringMethodOne\",\"fullName\":\"评分方法\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"评分方法\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"1\",\"required\":false,\"layout\":\"colFormItem\",\"span\":10,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"static\",\"dictionaryType\":\"\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":147,\"renderKey\":1718604323279,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"fullName\":\"综合评分法\",\"id\":\"1\"},{\"fullName\":\"其他\",\"id\":\"2\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"scoringMethodOne\"},{\"id\":\"scoringMethodTwo\",\"fullName\":\"其他(评分说明)\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"其他(评分说明)\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":14,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":115,\"renderKey\":1716173710757},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"scoringMethodTwo\"},{\"id\":\"scoringIndicatorSettingsOne\",\"fullName\":\"评分指标设置\",\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"评分指标设置\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"defaultValue\":\"商务/价格标 %、资信标 %、技术标 %(或资信、技术标 %)\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":148,\"renderKey\":1718604461068,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"scoringIndicatorSettingsOne\"},{\"id\":\"settingOwinningBidderOne\",\"fullName\":\"中标人设置\",\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"中标人设置\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"defaultValue\":\"如单一项目:中标人 名;如单一项目入围招标:入围单位 名; 分标项:每个标项中标人数量;分标项入围招标:分别填写每个标项中标人数量\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":146,\"renderKey\":1718604208107,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"settingOwinningBidderOne\"},{\"id\":\"decisionProcedure\",\"fullName\":\"审批/备案决策程序\",\"__config__\":{\"jnpfKey\":\"checkbox\",\"label\":\"审批/备案决策程序\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfCheckbox\",\"tagIcon\":\"icon-ym icon-ym-generator-checkbox\",\"className\":[],\"defaultValue\":[\"539394745084941509\",\"539394798767838405\"],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"tri"); + sb.append("gger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394681591567557\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":141,\"renderKey\":1718328469479,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394745084941509\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"集团审批\",\"enCode\":\"1\"},{\"id\":\"539394798767838405\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"子集团审批\",\"enCode\":\"2\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"disabled\":false,\"__vModel__\":\"decisionProcedure\"},{\"id\":\"finalApprovalTime\",\"fullName\":\"方案最终审批时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"方案最终审批时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":122,\"renderKey\":1716179582380,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"finalApprovalTime\"},{\"id\":\"resultReportingTime\",\"fullName\":\"招标结果上报时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"招标结果上报时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":128,\"renderKey\":1718185366220,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"resultReportingTime\"},{\"id\":\"bidOpeningTime\",\"fullName\":\"开标时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"开标时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":130,\"renderKey\":1718185374325,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"bidOpeningTime\"},{\"id\":\"explanationObid\",\"fullName\":\"开标情况说明\",\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"开标情况说明\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":131,\"renderKey\":1718185433697,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"explanationObid\"},{\"id\":\"winningBidderAndWinningAmount\",\"fullName\":\"中标人及中标金额\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"中标人及中标金额\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":132,\"renderKey\":1718185456487,\"defaultValue\":\"中标人: ,中标金额: 万元\"},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"中标人: ,中标金额: 万元\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"winningBidderAndWinningAmount\"},{\"id\":\"bidEvaluationCommittee\",\"fullName\":\"评标委员会设置\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"评标委员会设置\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":133,\"renderKey\":1718185559488,\"defaultValue\":\"共 人。业主代表 人,姓名: \"},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"共 人。业主代表 人,姓名: \",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"bidEvaluationCommittee\"},{\"id\":\"tenderAgencyFee\",\"fullName\":\"招标代理费\",\"__config__\":{\"jnpfKey\":\"inputNumber\",\"label\":\"招标代理费\",\"tipLabel\":\"\",\"showLabel\":true,\"labelWidth\":150,\"tag\":\"JnpfInputNumber\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":[\"blur\",\"change\"],\"formId\":156,\"renderKey\":1718848042919},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"元\",\"min\":0,\"controls\":false,\"addonBefore\":\"\",\"addonAfter\":\"\",\"thousands\":false,\"isAmountChinese\":false,\"step\":1,\"disabled\":false,\"__vModel__\":\"tenderAgencyFee\"},{\"id\":\"filingDecisionProcedure\",\"fullName\":\"审批/备案决策程序\",\"__config__\":{\"jnpfKey\":\"checkbox\",\"label\":\"审批/备案决策程序\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfCheckbox\",\"tagIcon\":\"icon-ym icon-ym-generator-checkbox\",\"className\":[],\"defaultValue\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394681591567557\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":154,\"renderKey\":1718846948140},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394745084941509\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"集团审批\",\"enCode\":\"1\"},{\"id\":\"539394798767838405\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"子集团审批\",\"enCode\":\"2\"},{\"id\":\"539394843823051973\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"项目单位审批\",\"enCode\":\"3\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"disabled\":false,\"__vModel__\":\"filingDecisionProcedure\"},{\"id\":\"approvalTimeForResults\",\"fullName\":\"结果最终审批时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"结果最终审批时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":140,\"renderKey\":1718185753510,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"approvalTimeForResults\"}],\"defaultColumnList\":[{\"label\":\"项目编号\",\"prop\":\"archiveNumber\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"archiveNumber\",\"fullName\":\"项目编号\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目编号\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":151,\"renderKey\":1718607542234},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"archiveNumber\",\"checked\":true},{\"label\":\"审批状态\",\"prop\":\"queryType\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":null,\"id\":\"queryType\",\"fullName\":\"审批状态\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"审批状态\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"3\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"static\",\"dictionaryType\":\"\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":152,\"renderKey\":1718611737642},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"fullName\":\"全部\",\"id\":\"5\"},{\"fullName\":\"自建\",\"id\":\"1\"},{\"fullName\":\"审批\",\"id\":\"2\"},{\"fullName\":\"已审批\",\"id\":\"3\"},{\"fullName\":\"待归档\",\"id\":\"6\"},{\"fullName\":\"已归档\",\"id\":\"7\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"queryType\",\"checked\":false},{\"label\":\"管理方式\",\"prop\":\"managementStyle\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":null,\"id\":\"managementStyle\",\"fullName\":\"管理方式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"管理方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"ba\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539396086083622085\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":108,\"renderKey\":1715938226328,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539396138348844229\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"审批\",\"enCode\":\"sp\"},{\"id\":\"539396176340849861\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"备案\",\"enCode\":\"ba\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"managementStyle\",\"checked\":true},{\"label\":\"方案上报时间\",\"prop\":\"planSubmissionTime\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":null,\"id\":\"planSubmissionTime\",\"fullName\":\"方案上报时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"方案上报时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":121,\"renderKey\":1716179574375,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"planSubmissionTime\",\"checked\":true},{\"label\":\"上报单位(部门)\",\"prop\":\"reportingCorp\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"reportingCorp\",\"fullName\":\"上报单位(部门)\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"上报单位(部门)\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":160,\"renderKey\":1720149171900},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"reportingCorp\",\"checked\":true},{\"label\":\"招标主体\",\"prop\":\"tenderingEntity\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"tenderingEntity\",\"fullName\":\"招标主体\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"招标主体\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":159,\"renderKey\":1720149133686},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"tenderingEntity\",\"checked\":true},{\"label\":\"项目名称\",\"prop\":\"projectName\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"projectName\",\"fullName\":\"项目名称\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目名称\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1715938207071,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"projectName\",\"checked\":true},{\"label\":\"招标事项分类\",\"prop\":\"itemClassification\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":null,\"id\":\"itemClassification\",\"fullName\":\"招标事项分类\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标事项分类\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539390743437907141\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":106,\"renderKey\":1715938212855,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539390925835605189\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"建设工程\",\"enCode\":\"gongchen\"},{\"id\":\"539390970546885829\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"货物采购\",\"enCode\":\"huowu\"},{\"id\":\"539391011567178949\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"服务采购\",\"enCode\":\"fuwu\"},{\"id\":\"539391051736028357\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"不动产出租\",\"enCode\":\"chuzhu\"},{\"id\":\"539393233403253957\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"资产处置\",\"enCode\":\"zhicancz\"},{\"id\":\"539393277388920005\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"itemClassification\",\"checked\":true},{\"label\":\"招标控制价\",\"prop\":\"controlPrice\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"inputNumber\",\"sortable\":false,\"width\":null,\"id\":\"controlPrice\",\"fullName\":\"招标控制价\",\"__config__\":{\"jnpfKey\":\"inputNumber\",\"label\":\"招标控制价\",\"tipLabel\":\"\",\"showLabel\":true,\"labelWidth\":150,\"tag\":\"JnpfInputNumber\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":[\"blur\",\"change\"],\"formId\":155,\"renderKey\":1719305177186},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"controls\":false,\"addonBefore\":\"\",\"addonAfter\":\"元\",\"thousands\":false,\"isAmountChinese\":false,\"step\":1,\"disabled\":false,\"__vModel__\":\"controlPrice\",\"checked\":false},{\"label\":\"招标组织形式\",\"prop\":\"organizationalForm\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":null,\"id\":\"organizationalForm\",\"fullName\":\"招标组织形式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标组织形式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"zxzz\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539393647729185989\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":107,\"renderKey\":1715938225864,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539393738422621381\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"自行组织\",\"enCode\":\"zxzz\"},{\"id\":\"539393781598786757\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"委托代理\",\"enCode\":\"wtdl\"},{\"id\":\"539393832001737925\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"产交机构\",\"enCode\":\"cjjg\"},{\"id\":\"539393872002815173\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"organizationalForm\",\"checked\":true},{\"label\":\"招标方式\",\"prop\":\"biddingMethod\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":null,\"id\":\"biddingMethod\",\"fullName\":\"招标方式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"xj\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394095383057605\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":105,\"renderKey\":1715938210831,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394150773036229\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"公开招标\",\"enCode\":\"gkzb\"},{\"id\":\"539394210319570117\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"邀请招标\",\"enCode\":\"yqzb\"},{\"id\":\"539394308273345733\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"竞争性谈判\",\"enCode\":\"jzxtp\"},{\"id\":\"539394424271017157\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"询(比)价\",\"enCode\":\"xj\"},{\"id\":\"539394475068232901\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"单一来源采购\",\"enCode\":\"dyly\"},{\"id\":\"539394512649196741\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"biddingMethod\",\"checked\":true},{\"label\":\"代理机构\",\"prop\":\"agencyOne\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"select\",\"sortable\":false,\"width\":null,\"id\":\"agencyOne\",\"fullName\":\"代理机构\",\"__config__\":{\"jnpfKey\":\"select\",\"label\":\"代理机构\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfSelect\",\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"className\":[],\"defaultValue\":\"\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"dc6b2542d94b5434fc61ec1d59592901\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":153,\"renderKey\":1718846892510},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"53939529624dasdsa789\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"无\",\"enCode\":\"wu\"},{\"id\":\"539395047366b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江同欣工程管理有限公司\",\"enCode\":\"tx\"},{\"id\":\"539395093126b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江省成套招标代理有限公司\",\"enCode\":\"ct\"},{\"id\":\"539395145746b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江省成套工程有限公司\",\"enCode\":\"ctgc\"},{\"id\":\"539395202176b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江国际招投标有限公司\",\"enCode\":\"zjgj\"},{\"id\":\"539395244426b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"欧邦工程管理集团有限公司\",\"enCode\":\"ob\"},{\"id\":\"539395296246b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"国信国际工程咨询集团股份有限公司\",\"enCode\":\"gxgj\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"placeholder\":\"请选择\",\"clearable\":true,\"disabled\":false,\"filterable\":false,\"multiple\":false,\"__vModel__\":\"agencyOne\",\"checked\":true},{\"label\":\"评分方法\",\"prop\":\"scoringMethodOne\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":null,\"id\":\"scoringMethodOne\",\"fullName\":\"评分方法\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"评分方法\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"1\",\"required\":false,\"layout\":\"colFormItem\",\"span\":10,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"static\",\"dictionaryType\":\"\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":147,\"renderKey\":1718604323279,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"fullName\":\"综合评分法\",\"id\":\"1\"},{\"fullName\":\"其他\",\"id\":\"2\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"scoringMethodOne\",\"checked\":true},{\"label\":\"其他(评分说明)\",\"prop\":\"scoringMethodTwo\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"scoringMethodTwo\",\"fullName\":\"其他(评分说明)\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"其他(评分说明)\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":14,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":115,\"renderKey\":1716173710757},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"scoringMethodTwo\",\"checked\":false},{\"label\":\"评分指标设置\",\"prop\":\"scoringIndicatorSettingsOne\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"textarea\",\"sortable\":false,\"width\":null,\"id\":\"scoringIndicatorSettingsOne\",\"fullName\":\"评分指标设置\",\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"评分指标设置\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"defaultValue\":\"商务/价格标 %、资信标 %、技术标 %(或资信、技术标 %)\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":148,\"renderKey\":1718604461068,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"scoringIndicatorSettingsOne\",\"checked\":false},{\"label\":\"中标人设置\",\"prop\":\"settingOwinningBidderOne\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"textarea\",\"sortable\":false,\"width\":null,\"id\":\"settingOwinningBidderOne\",\"fullName\":\"中标人设置\",\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"中标人设置\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"defaultValue\":\"如单一项目:中标人 名;如单一项目入围招标:入围单位 名; 分标项:每个标项中标人数量;分标项入围招标:分别填写每个标项中标人数量\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":146,\"renderKey\":1718604208107,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"settingOwinningBidderOne\",\"checked\":true},{\"label\":\"审批/备案决策程序\",\"prop\":\"decisionProcedure\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"checkbox\",\"sortable\":false,\"width\":null,\"id\":\"decisionProcedure\",\"fullName\":\"审批/备案决策程序\",\"__config__\":{\"jnpfKey\":\"checkbox\",\"label\":\"审批/备案决策程序\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfCheckbox\",\"tagIcon\":\"icon-ym icon-ym-generator-checkbox\",\"className\":[],\"defaultValue\":[\"539394745084941509\",\"539394798767838405\"],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394681591567557\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":141,\"renderKey\":1718328469479,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394745084941509\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"集团审批\",\"enCode\":\"1\"},{\"id\":\"539394798767838405\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"子集团审批\",\"enCode\":\"2\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"disabled\":false,\"__vModel__\":\"decisionProcedure\",\"checked\":true},{\"label\":\"方案最终审批时间\",\"prop\":\"finalApprovalTime\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":null,\"id\":\"finalApprovalTime\",\"fullName\":\"方案最终审批时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"方案最终审批时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":122,\"renderKey\":1716179582380,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"finalApprovalTime\",\"checked\":true},{\"label\":\"招标结果上报时间\",\"prop\":\"resultReportingTime\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":null,\"id\":\"resultReportingTime\",\"fullName\":\"招标结果上报时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"招标结果上报时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":128,\"renderKey\":1718185366220,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"resultReportingTime\",\"checked\":true},{\"label\":\"开标时间\",\"prop\":\"bidOpeningTime\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":null,\"id\":\"bidOpeningTime\",\"fullName\":\"开标时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"开标时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":130,\"renderKey\":1718185374325,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"bidOpeningTime\",\"checked\":true},{\"label\":\"开标情况说明\",\"prop\":\"explanationObid\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"textarea\",\"sortable\":false,\"width\":null,\"id\":\"explanationObid\",\"fullName\":\"开标情况说明\",\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"开标情况说明\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":131,\"renderKey\":1718185433697,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"explanationObid\",\"checked\":true},{\"label\":\"中标人及中标金额\",\"prop\":\"winningBidderAndWinningAmount\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"winningBidderAndWinningAmount\",\"fullName\":\"中标人及中标金额\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"中标人及中标金额\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":132,\"renderKey\":1718185456487,\"defaultValue\":\"中标人: ,中标金额: 万元\"},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"中标人: ,中标金额: 万元\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"winningBidderAndWinningAmount\",\"checked\":true},{\"label\":\"评标委员会设置\",\"prop\":\"bidEvaluationCommittee\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"bidEvaluationCommittee\",\"fullName\":\"评标委员会设置\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"评标委员会设置\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":133,\"renderKey\":1718185559488,\"defaultValue\":\"共 人。业主代表 人,姓名: \"},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"共 人。业主代表 人,姓名: \",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"bidEvaluationCommittee\",\"checked\":true},{\"label\":\"招标代理费\",\"prop\":\"tenderAgencyFee\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"inputNumber\",\"sortable\":false,\"width\":null,\"id\":\"tenderAgencyFee\",\"fullName\":\"招标代理费\",\"__config__\":{\"jnpfKey\":\"inputNumber\",\"label\":\"招标代理费\",\"tipLabel\":\"\",\"showLabel\":true,\"labelWidth\":150,\"tag\":\"JnpfInputNumber\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":[\"blur\",\"change\"],\"formId\":156,\"renderKey\":1718848042919},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"元\",\"min\":0,\"controls\":false,\"addonBefore\":\"\",\"addonAfter\":\"\",\"thousands\":false,\"isAmountChinese\":false,\"step\":1,\"disabled\":false,\"__vModel__\":\"tenderAgencyFee\",\"checked\":true},{\"label\":\"审批/备案决策程序\",\"prop\":\"filingDecisionProcedure\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"checkbox\",\"sortable\":false,\"width\":null,\"id\":\"filingDecisionProcedure\",\"fullName\":\"审批/备案决策程序\",\"__config__\":{\"jnpfKey\":\"checkbox\",\"label\":\"审批/备案决策程序\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfCheckbox\",\"tagIcon\":\"icon-ym icon-ym-generator-checkbox\",\"className\":[],\"defaultValue\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394681591567557\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":154,\"renderKey\":1718846948140},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394745084941509\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"集团审批\",\"enCode\":\"1\"},{\"id\":\"539394798767838405\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"子集团审批\",\"enCode\":\"2\"},{\"id\":\"539394843823051973\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"项目单位审批\",\"enCode\":\"3\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"disabled\":false,\"__vModel__\":\"filingDecisionProcedure\",\"checked\":true},{\"label\":\"结果最终审批时间\",\"prop\":\"approvalTimeForResults\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":null,\"id\":\"approvalTimeForResults\",\"fullName\":\"结果最终审批时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"结果最终审批时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":140,\"renderKey\":1718185753510,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"approvalTimeForResults\",\"checked\":true}],\"type\":1,\"defaultSidx\":\"result_reporting_time\",\"sort\":\"desc\",\"hasPage\":true,\"pageSize\":20,\"hasTreeQuery\":false,\"treeTitle\":\"左侧标题\",\"treeDataSource\":\"dictionary\",\"treeDictionary\":\"\",\"treeRelation\":\"\",\"treeSynType\":0,\"treeInterfaceId\":\"\",\"treeInterfaceName\":\"\",\"treeTemplateJson\":[],\"treePropsUrl\":\"\",\"treePropsName\":\"\",\"treePropsValue\":\"id\",\"treePropsChildren\":\"children\",\"treePropsLabel\":\"fullName\",\"groupField\":\"\",\"parentField\":\"\",\"printIds\":[],\"useColumnPermission\":false,\"useFormPermission\":false,\"useBtnPermission\":true,\"useDataPermission\":false,\"customBtnsList\":[],\"btnsList\":[{\"value\":\"add\",\"icon\":\"icon-ym icon-ym-btn-add\",\"label\":\"新增\"}],\"columnBtnsList\":[{\"value\":\"edit\",\"icon\":\"icon-ym icon-ym-btn-edit\",\"label\":\"编辑\"},{\"value\":\"remove\",\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"删除\"},{\"value\":\"detail\",\"icon\":\"icon-ym icon-ym-generator-menu\",\"label\":\"详情\"}],\"funcs\":{\"afterOnload\":\"({ data, tableRef, onlineUtils }) => {\\r\\n \\r\\n}\",\"rowStyle\":\"({ row, rowIndex }) => {\\r\\n \\r\\n}\",\"cellStyle\":\"({ row, column, rowIndex, columnIndex }) => {\\r\\n \\r\\n}\"},\"uploaderTemplateJson\":{}}"); + return sb.toString(); + } + /** app列表字段配置json */ + public static final String getAppColumnData(){ + StringBuilder sb = new StringBuilder(); + sb.append("{\"ruleListApp\":[],\"searchList\":[],\"hasSuperQuery\":false,\"columnList\":[{\"label\":\"管理方式\",\"prop\":\"managementStyle\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":null,\"id\":\"managementStyle\",\"fullName\":\"管理方式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"管理方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"ba\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539396086083622085\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":108,\"renderKey\":1715938226328,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539396138348844229\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"审批\",\"enCode\":\"sp\"},{\"id\":\"539396176340849861\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"备案\",\"enCode\":\"ba\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"managementStyle\"},{\"label\":\"审批/备案决策程序\",\"prop\":\"decisionProcedure\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"checkbox\",\"sortable\":false,\"width\":null,\"id\":\"decisionProcedure\",\"fullName\":\"审批/备案决策程序\",\"__config__\":{\"jnpfKey\":\"checkbox\",\"label\":\"审批/备案决策程序\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfCheckbox\",\"tagIcon\":\"icon-ym icon-ym-generator-checkbox\",\"className\":[],\"defaultValue\":[\"539394745084941509\",\"539394798767838405\"],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394681591567557\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":141,\"renderKey\":1718328469479,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394745084941509\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"集团审批\",\"enCode\":\"1\"},{\"id\":\"539394798767838405\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"子集团审批\",\"enCode\":\"2\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"disabled\":false,\"__vModel__\":\"decisionProcedure\"},{\"label\":\"项目名称\",\"prop\":\"projectName\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"projectName\",\"fullName\":\"项目名称\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目名称\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1715938207071,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"projectName\"},{\"label\":\"招标主体\",\"prop\":\"tenderingEntity\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"tenderingEntity\",\"fullName\":\"招标主体\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"招标主体\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":159,\"renderKey\":1720149133686},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"tenderingEntity\"},{\"label\":\"上报单位(部门)\",\"prop\":\"reportingCorp\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"reportingCorp\",\"fullName\":\"上报单位(部门)\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"上报单位(部门)\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":160,\"renderKey\":1720149171900},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"reportingCorp\"},{\"label\":\"招标组织形式\",\"prop\":\"organizationalForm\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":null,\"id\":\"organizationalForm\",\"fullName\":\"招标组织形式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标组织形式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"zxzz\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539393647729185989\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":107,\"renderKey\":1715938225864,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539393738422621381\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"自行组织\",\"enCode\":\"zxzz\"},{\"id\":\"539393781598786757\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"委托代理\",\"enCode\":\"wtdl\"},{\"id\":\"539393832001737925\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"产交机构\",\"enCode\":\"cjjg\"},{\"id\":\"539393872002815173\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"organizationalForm\"},{\"label\":\"招标事项分类\",\"prop\":\"itemClassification\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":null,\"id\":\"itemClassification\",\"fullName\":\"招标事项分类\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标事项分类\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539390743437907141\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":106,\"renderKey\":1715938212855,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539390925835605189\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"建设工程\",\"enCode\":\"gongchen\"},{\"id\":\"539390970546885829\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"货物采购\",\"enCode\":\"huowu\"},{\"id\":\"539391011567178949\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"服务采购\",\"enCode\":\"fuwu\"},{\"id\":\"539391051736028357\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"不动产出租\",\"enCode\":\"chuzhu\"},{\"id\":\"539393233403253957\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"资产处置\",\"enCode\":\"zhicancz\"},{\"id\":\"539393277388920005\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"itemClassification\"},{\"label\":\"招标方式\",\"prop\":\"biddingMethod\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":null,\"id\":\"biddingMethod\",\"fullName\":\"招标方式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"xj\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394095383057605\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":105,\"renderKey\":1715938210831,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394150773036229\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"公开招标\",\"enCode\":\"gkzb\"},{\"id\":\"539394210319570117\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"邀请招标\",\"enCode\":\"yqzb\"},{\"id\":\"539394308273345733\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"竞争性谈判\",\"enCode\":\"jzxtp\"},{\"id\":\"539394424271017157\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"询(比)价\",\"enCode\":\"xj\"},{\"id\":\"539394475068232901\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"单一来源采购\",\"enCode\":\"dyly\"},{\"id\":\"539394512649196741\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"biddingMethod\"},{\"label\":\"代理机构\",\"prop\":\"agencyOne\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"select\",\"sortable\":false,\"width\":null,\"id\":\"agencyOne\",\"fullName\":\"代理机构\",\"__config__\":{\"jnpfKey\":\"select\",\"label\":\"代理机构\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfSelect\",\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"className\":[],\"defaultValue\":\"\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"dc6b2542d94b5434fc61ec1d59592901\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":153,\"renderKey\":1718846892510},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"53939529624dasdsa789\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"无\",\"enCode\":\"wu\"},{\"id\":\"539395047366b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江同欣工程管理有限公司\",\"enCode\":\"tx\"},{\"id\":\"539395093126b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江省成套招标代理有限公司\",\"enCode\":\"ct\"},{\"id\":\"539395145746b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江省成套工程有限公司\",\"enCode\":\"ctgc\"},{\"id\":\"539395202176b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江国际招投标有限公司\",\"enCode\":\"zjgj\"},{\"id\":\"539395244426b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"欧邦工程管理集团有限公司\",\"enCode\":\"ob\"},{\"id\":\"539395296246b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"国信国际工程咨询集团股份有限公司\",\"enCode\":\"gxgj\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"placeholder\":\"请选择\",\"clearable\":true,\"disabled\":false,\"filterable\":false,\"multiple\":false,\"__vModel__\":\"agencyOne\"},{\"label\":\"中标人设置\",\"prop\":\"settingOwinningBidderOne\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"textarea\",\"sortable\":false,\"width\":null,\"id\":\"settingOwinningBidderOne\",\"fullName\":\"中标人设置\",\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"中标人设置\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"defaultValue\":\"如单一项目:中标人 名;如单一项目入围招标:入围单位 名; 分标项:每个标项中标人数量;分标项入围招标:分别填写每个标项中标人数量\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":146,\"renderKey\":1718604208107,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"settingOwinningBidderOne\"},{\"label\":\"评分方法\",\"prop\":\"scoringMethodOne\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":null,\"id\":\"scoringMethodOne\",\"fullName\":\"评分方法\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"评分方法\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"1\",\"required\":false,\"layout\":\"colFormItem\",\"span\":10,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"static\",\"dictionaryType\":\"\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":147,\"renderKey\":1718604323279,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"fullName\":\"综合评分法\",\"id\":\"1\"},{\"fullName\":\"其他\",\"id\":\"2\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"scoringMethodOne\"},{\"label\":\"方案最终审批时间\",\"prop\":\"finalApprovalTime\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":null,\"id\":\"finalApprovalTime\",\"fullName\":\"方案最终审批时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"方案最终审批时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":122,\"renderKey\":1716179582380,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"finalApprovalTime\"},{\"label\":\"方案上报时间\",\"prop\":\"planSubmissionTime\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":null,\"id\":\"planSubmissionTime\",\"fullName\":\"方案上报时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"方案上报时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":121,\"renderKey\":1716179574375,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"planSubmissionTime\"},{\"label\":\"招标结果上报时间\",\"prop\":\"resultReportingTime\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":null,\"id\":\"resultReportingTime\",\"fullName\":\"招标结果上报时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"招标结果上报时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":128,\"renderKey\":1718185366220,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"resultReportingTime\"},{\"label\":\"开标时间\",\"prop\":\"bidOpeningTime\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":null,\"id\":\"bidOpeningTime\",\"fullName\":\"开标时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"开标时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":130,\"renderKey\":1718185374325,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"bidOpeningTime\"},{\"label\":\"开标情况说明\",\"prop\":\"explanationObid\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"textarea\",\"sortable\":false,\"width\":null,\"id\":\"explanationObid\",\"fullName\":\"开标情况说明\",\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"开标情况说明\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":131,\"renderKey\":1718185433697,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"explanationObid\"},{\"label\":\"中标人及中标金额\",\"prop\":\"winningBidderAndWinningAmount\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"winningBidderAndWinningAmount\",\"fullName\":\"中标人及中标金额\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"中标人及中标金额\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":132,\"renderKey\":1718185456487,\"defaultValue\":\"中标人: ,中标金额: 万元\"},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"中标人: ,中标金额: 万元\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"winningBidderAndWinningAmount\"},{\"label\":\"评标委员会设置\",\"prop\":\"bidEvaluationCommittee\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"bidEvaluationCommittee\",\"fullName\":\"评标委员会设置\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"评标委员会设置\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":133,\"renderKey\":1718185559488,\"defaultValue\":\"共 人。业主代表 人,姓名: \"},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"共 人。业主代表 人,姓名: \",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"bidEvaluationCommittee\"},{\"label\":\"招标代理费\",\"prop\":\"tenderAgencyFee\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"inputNumber\",\"sortable\":false,\"width\":null,\"id\":\"tenderAgencyFee\",\"fullName\":\"招标代理费\",\"__config__\":{\"jnpfKey\":\"inputNumber\",\"label\":\"招标代理费\",\"tipLabel\":\"\",\"showLabel\":true,\"labelWidth\":150,\"tag\":\"JnpfInputNumber\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":[\"blur\",\"change\"],\"formId\":156,\"renderKey\":1718848042919},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"元\",\"min\":0,\"controls\":false,\"addonBefore\":\"\",\"addonAfter\":\"\",\"thousands\":false,\"isAmountChinese\":false,\"step\":1,\"disabled\":false,\"__vModel__\":\"tenderAgencyFee\"},{\"label\":\"结果最终审批时间\",\"prop\":\"approvalTimeForResults\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":null,\"id\":\"approvalTimeForResults\",\"fullName\":\"结果最终审批时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"结果最终审批时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":140,\"renderKey\":1718185753510,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"approvalTimeForResults\"},{\"label\":\"审批/备案决策程序\",\"prop\":\"filingDecisionProcedure\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"checkbox\",\"sortable\":false,\"width\":null,\"id\":\"filingDecisionProcedure\",\"fullName\":\"审批/备案决策程序\",\"__config__\":{\"jnpfKey\":\"checkbox\",\"label\":\"审批/备案决策程序\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfCheckbox\",\"tagIcon\":\"icon-ym icon-ym-generator-checkbox\",\"className\":[],\"defaultValue\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394681591567557\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":154,\"renderKey\":1718846948140},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394745084941509\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"集团审批\",\"enCode\":\"1\"},{\"id\":\"539394798767838405\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"子集团审批\",\"enCode\":\"2\"},{\"id\":\"539394843823051973\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"项目单位审批\",\"enCode\":\"3\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"disabled\":false,\"__vModel__\":\"filingDecisionProcedure\"}],\"columnOptions\":[{\"id\":\"archiveNumber\",\"fullName\":\"项目编号\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目编号\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":151,\"renderKey\":1718607542234},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"archiveNumber\"},{\"id\":\"queryType\",\"fullName\":\"审批状态\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"审批状态\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"3\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"static\",\"dictionaryType\":\"\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":152,\"renderKey\":1718611737642},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"fullName\":\"全部\",\"id\":\"5\"},{\"fullName\":\"自建\",\"id\":\"1\"},{\"fullName\":\"审批\",\"id\":\"2\"},{\"fullName\":\"已审批\",\"id\":\"3\"},{\"fullName\":\"待归档\",\"id\":\"6\"},{\"fullName\":\"已归档\",\"id\":\"7\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"queryType\"},{\"id\":\"managementStyle\",\"fullName\":\"管理方式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"管理方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"ba\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539396086083622085\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":108,\"renderKey\":1715938226328,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539396138348844229\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"审批\",\"enCode\":\"sp\"},{\"id\":\"539396176340849861\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"备案\",\"enCode\":\"ba\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"managementStyle\"},{\"id\":\"planSubmissionTime\",\"fullName\":\"方案上报时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"方案上报时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":121,\"renderKey\":1716179574375,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"planSubmissionTime\"},{\"id\":\"reportingCorp\",\"fullName\":\"上报单位(部门)\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"上报单位(部门)\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":160,\"renderKey\":1720149171900},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"reportingCorp\"},{\"id\":\"tenderingEntity\",\"fullName\":\"招标主体\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"招标主体\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":159,\"renderKey\":1720149133686},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"tenderingEntity\"},{\"id\":\"projectName\",\"fullName\":\"项目名称\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目名称\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1715938207071,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"projectName\"},{\"id\":\"itemClassification\",\"fullName\":\"招标事项分类\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标事项分类\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539390743437907141\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":106,\"renderKey\":1715938212855,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539390925835605189\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"建设工程\",\"enCode\":\"gongchen\"},{\"id\":\"539390970546885829\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"货物采购\",\"enCode\":\"huowu\"},{\"id\":\"539391011567178949\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"服务采购\",\"enCode\":\"fuwu\"},{\"id\":\"539391051736028357\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"不动产出租\",\"enCode\":\"chuzhu\"},{\"id\":\"539393233403253957\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"资产处置\",\"enCode\":\"zhicancz\"},{\"id\":\"539393277388920005\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"itemClassification\"},{\"id\":\"controlPrice\",\"fullName\":\"招标控制价\",\"__config__\":{\"jnpfKey\":\"inputNumber\",\"label\":\"招标控制价\",\"tipLabel\":\"\",\"showLabel\":true,\"labelWidth\":150,\"tag\":\"JnpfInputNumber\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":[\"blur\",\"change\"],\"formId\":155,\"renderKey\":1719305177186},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"controls\":false,\"addonBefore\":\"\",\"addonAfter\":\"元\",\"thousands\":false,\"isAmountChinese\":false,\"step\":1,\"disabled\":false,\"__vModel__\":\"controlPrice\"},{\"id\":\"organizationalForm\",\"fullName\":\"招标组织形式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标组织形式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"zxzz\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539393647729185989\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":107,\"renderKey\":1715938225864,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539393738422621381\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"自行组织\",\"enCode\":\"zxzz\"},{\"id\":\"539393781598786757\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"委托代理\",\"enCode\":\"wtdl\"},{\"id\":\"539393832001737925\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"产交机构\",\"enCode\":\"cjjg\"},{\"id\":\"539393872002815173\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"organizationalForm\"},{\"id\":\"biddingMethod\",\"fullName\":\"招标方式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"xj\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394095383057605\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":105,\"renderKey\":1715938210831,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394150773036229\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"公开招标\",\"enCode\":\"gkzb\"},{\"id\":\"539394210319570117\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"邀请招标\",\"enCode\":\"yqzb\"},{\"id\":\"539394308273345733\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"竞争性谈判\",\"enCode\":\"jzxtp\"},{\"id\":\"539394424271017157\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"询(比)价\",\"enCode\":\"xj\"},{\"id\":\"539394475068232901\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"单一来源采购\",\"enCode\":\"dyly\"},{\"id\":\"539394512649196741\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"biddingMethod\"},{\"id\":\"agencyOne\",\"fullName\":\"代理机构\",\"__config__\":{\"jnpfKey\":\"select\",\"label\":\"代理机构\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfSelect\",\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"className\":[],\"defaultValue\":\"\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"dc6b2542d94b5434fc61ec1d59592901\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":153,\"renderKey\":1718846892510},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"53939529624dasdsa789\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"无\",\"enCode\":\"wu\"},{\"id\":\"539395047366b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江同欣工程管理有限公司\",\"enCode\":\"tx\"},{\"id\":\"539395093126b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江省成套招标代理有限公司\",\"enCode\":\"ct\"},{\"id\":\"539395145746b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江省成套工程有限公司\",\"enCode\":\"ctgc\"},{\"id\":\"539395202176b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江国际招投标有限公司\",\"enCode\":\"zjgj\"},{\"id\":\"539395244426b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"欧邦工程管理集团有限公司\",\"enCode\":\"ob\"},{\"id\":\"539395296246b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"国信国际工程咨询集团股份有限公司\",\"enCode\":\"gxgj\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"placeholder\":\"请选择\",\"clearable\":true,\"disabled\":false,\"filterable\":false,\"multiple\":false,\"__vModel__\":\"agencyOne\"},{\"id\":\"scoringMethodOne\",\"fullName\":\"评分方法\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"评分方法\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"1\",\"required\":false,\"layout\":\"colFormItem\",\"span\":10,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"static\",\"dictionaryType\":\"\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":147,\"renderKey\":1718604323279,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"fullName\":\"综合评分法\",\"id\":\"1\"},{\"fullName\":\"其他\",\"id\":\"2\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"scoringMethodOne\"},{\"id\":\"scoringMethodTwo\",\"fullName\":\"其他(评分说明)\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"其他(评分说明)\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":14,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":115,\"renderKey\":1716173710757},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"scoringMethodTwo\"},{\"id\":\"scoringIndicatorSettingsOne\",\"fullName\":\"评分指标设置\",\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"评分指标设置\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"defaultValue\":\"商务/价格标 %、资信标 %、技术标 %(或资信、技术标 %)\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":148,\"renderKey\":1718604461068,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"scoringIndicatorSettingsOne\"},{\"id\":\"settingOwinningBidderOne\",\"fullName\":\"中标人设置\",\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"中标人设置\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"defaultValue\":\"如单一项目:中标人 名;如单一项目入围招标:入围单位 名; 分标项:每个标项中标人数量;分标项入围招标:分别填写每个标项中标人数量\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":146,\"renderKey\":1718604208107,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"settingOwinningBidderOne\"},{\"id\":\"decisionProcedure\",\"fullName\":\"审批/备案决策程序\",\"__config__\":{\"jnpfKey\":\"checkbox\",\"label\":\"审批/备案决策程序\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfCheckbox\",\"tagIcon\":\"icon-ym icon-ym-generator-checkbox\",\"className\":[],\"defaultValue\":[\"539394745084941509\",\"539394798767838405\"],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394681591567557\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":141,\"renderKey\":1718328469479,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394745084941509\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"集团审批\",\"enCode\":\"1\"},{\"id\":\"539394798767838405\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"子集团审批\",\"enCode\":\"2\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"disabled\":false,\"__vModel__\":\"decisionProcedure\"},{\"id\":\"finalApprovalTime\",\"fullName\":\"方案最终审批时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"方案最终审批时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":122,\"renderKey\":1716179582380,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"finalApprovalTime\"},{\"id\":\"resultReportingTime\",\"fullName\":\"招标结果上报时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"招标结果上报时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":128,\"renderKey\":1718185366220,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"resultReportingTime\"},{\"id\":\"bidOpeningTime\",\"fullName\":\"开标时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"开标时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":130,\"renderKey\":1718185374325,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"bidOpeningTime\"},{\"id\":\"explanationObid\",\"fullName\":\"开标情况说明\",\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"开标情况说明\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":131,\"renderKey\":1718185433697,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"explanationObid\"},{\"id\":\"winningBidderAndWinningAmount\",\"fullName\":\"中标人及中标金额\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"中标人及中标金额\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":132,\"renderKey\":1718185456487,\"defaultValue\":\"中标人: ,中标金额: 万元\"},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"中标人: ,中标金额: 万元\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"winningBidderAndWinningAmount\"},{\"id\":\"bidEvaluationCommittee\",\"fullName\":\"评标委员会设置\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"评标委员会设置\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":133,\"renderKey\":1718185559488,\"defaultValue\":\"共 人。业主代表 人,姓名: \"},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"共 人。业主代表 人,姓名: \",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"bidEvaluationCommittee\"},{\"id\":\"tenderAgencyFee\",\"fullName\":\"招标代理费\",\"__config__\":{\"jnpfKey\":\"inputNumber\",\"label\":\"招标代理费\",\"tipLabel\":\"\",\"showLabel\":true,\"labelWidth\":150,\"tag\":\"JnpfInputNumber\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":[\"blur\",\"change\"],\"formId\":156,\"renderKey\":1718848042919},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"元\",\"min\":0,\"controls\":false,\"addonBefore\":\"\",\"addonAfter\":\"\",\"thousands\":false,\"isAmountChinese\":false,\"step\":1,\"disabled\":false,\"__vModel__\":\"tenderAgencyFee\"},{\"id\":\"filingDecisionProcedure\",\"fullName\":\"审批/备案决策程序\",\"__config__\":{\"jnpfKey\":\"checkbox\",\"label\":\"审批/备案决策程序\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfCheckbox\",\"tagIcon\":\"icon-ym icon-ym-generator-checkbox\",\"className\":[],\"defaultValue\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394681591567557\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":154,\"renderKey\":1718846948140},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394745084941509\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"集团审批\",\"enCode\":\"1\"},{\"id\":\"539394798767838405\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"子集团审批\",\"enCode\":\"2\"},{\"id\":\"539394843823051973\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"项目单位审批\",\"enCode\":\"3\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"disabled\":false,\"__vModel__\":\"filingDecisionProcedure\"},{\"id\":\"approvalTimeForResults\",\"fullName\":\"结果最终审批时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"结果最终审批时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":140,\"renderKey\":1718185753510,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"approvalTimeForResults\"}],\"defaultColumnList\":[{\"label\":\"项目编号\",\"prop\":\"archiveNumber\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"archiveNumber\",\"fullName\":\"项目编号\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目编号\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":151,\"renderKey\":1718607542234},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"archiveNumber\",\"checked\":false},{\"label\":\"审批状态\",\"prop\":\""); + sb.append("queryType\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":null,\"id\":\"queryType\",\"fullName\":\"审批状态\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"审批状态\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"3\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"static\",\"dictionaryType\":\"\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":152,\"renderKey\":1718611737642},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"fullName\":\"全部\",\"id\":\"5\"},{\"fullName\":\"自建\",\"id\":\"1\"},{\"fullName\":\"审批\",\"id\":\"2\"},{\"fullName\":\"已审批\",\"id\":\"3\"},{\"fullName\":\"待归档\",\"id\":\"6\"},{\"fullName\":\"已归档\",\"id\":\"7\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"queryType\",\"checked\":false},{\"label\":\"管理方式\",\"prop\":\"managementStyle\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":null,\"id\":\"managementStyle\",\"fullName\":\"管理方式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"管理方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"ba\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539396086083622085\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":108,\"renderKey\":1715938226328,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539396138348844229\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"审批\",\"enCode\":\"sp\"},{\"id\":\"539396176340849861\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"备案\",\"enCode\":\"ba\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"managementStyle\",\"checked\":true},{\"label\":\"方案上报时间\",\"prop\":\"planSubmissionTime\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":null,\"id\":\"planSubmissionTime\",\"fullName\":\"方案上报时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"方案上报时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":121,\"renderKey\":1716179574375,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"planSubmissionTime\",\"checked\":true},{\"label\":\"上报单位(部门)\",\"prop\":\"reportingCorp\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"reportingCorp\",\"fullName\":\"上报单位(部门)\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"上报单位(部门)\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":160,\"renderKey\":1720149171900},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"reportingCorp\",\"checked\":true},{\"label\":\"招标主体\",\"prop\":\"tenderingEntity\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"tenderingEntity\",\"fullName\":\"招标主体\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"招标主体\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":159,\"renderKey\":1720149133686},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"tenderingEntity\",\"checked\":true},{\"label\":\"项目名称\",\"prop\":\"projectName\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"projectName\",\"fullName\":\"项目名称\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"项目名称\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":102,\"renderKey\":1715938207071,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"projectName\",\"checked\":true},{\"label\":\"招标事项分类\",\"prop\":\"itemClassification\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":null,\"id\":\"itemClassification\",\"fullName\":\"招标事项分类\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标事项分类\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539390743437907141\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":106,\"renderKey\":1715938212855,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539390925835605189\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"建设工程\",\"enCode\":\"gongchen\"},{\"id\":\"539390970546885829\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"货物采购\",\"enCode\":\"huowu\"},{\"id\":\"539391011567178949\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"服务采购\",\"enCode\":\"fuwu\"},{\"id\":\"539391051736028357\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"不动产出租\",\"enCode\":\"chuzhu\"},{\"id\":\"539393233403253957\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"资产处置\",\"enCode\":\"zhicancz\"},{\"id\":\"539393277388920005\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"itemClassification\",\"checked\":true},{\"label\":\"招标控制价\",\"prop\":\"controlPrice\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"inputNumber\",\"sortable\":false,\"width\":null,\"id\":\"controlPrice\",\"fullName\":\"招标控制价\",\"__config__\":{\"jnpfKey\":\"inputNumber\",\"label\":\"招标控制价\",\"tipLabel\":\"\",\"showLabel\":true,\"labelWidth\":150,\"tag\":\"JnpfInputNumber\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":[\"blur\",\"change\"],\"formId\":155,\"renderKey\":1719305177186},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"controls\":false,\"addonBefore\":\"\",\"addonAfter\":\"元\",\"thousands\":false,\"isAmountChinese\":false,\"step\":1,\"disabled\":false,\"__vModel__\":\"controlPrice\",\"checked\":false},{\"label\":\"招标组织形式\",\"prop\":\"organizationalForm\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":null,\"id\":\"organizationalForm\",\"fullName\":\"招标组织形式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标组织形式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"zxzz\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539393647729185989\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":107,\"renderKey\":1715938225864,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539393738422621381\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"自行组织\",\"enCode\":\"zxzz\"},{\"id\":\"539393781598786757\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"委托代理\",\"enCode\":\"wtdl\"},{\"id\":\"539393832001737925\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"产交机构\",\"enCode\":\"cjjg\"},{\"id\":\"539393872002815173\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"organizationalForm\",\"checked\":true},{\"label\":\"招标方式\",\"prop\":\"biddingMethod\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":null,\"id\":\"biddingMethod\",\"fullName\":\"招标方式\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"招标方式\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"xj\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394095383057605\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":105,\"renderKey\":1715938210831,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394150773036229\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"公开招标\",\"enCode\":\"gkzb\"},{\"id\":\"539394210319570117\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"邀请招标\",\"enCode\":\"yqzb\"},{\"id\":\"539394308273345733\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"竞争性谈判\",\"enCode\":\"jzxtp\"},{\"id\":\"539394424271017157\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"询(比)价\",\"enCode\":\"xj\"},{\"id\":\"539394475068232901\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"单一来源采购\",\"enCode\":\"dyly\"},{\"id\":\"539394512649196741\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"其他\",\"enCode\":\"qt\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"biddingMethod\",\"checked\":true},{\"label\":\"代理机构\",\"prop\":\"agencyOne\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"select\",\"sortable\":false,\"width\":null,\"id\":\"agencyOne\",\"fullName\":\"代理机构\",\"__config__\":{\"jnpfKey\":\"select\",\"label\":\"代理机构\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfSelect\",\"tagIcon\":\"icon-ym icon-ym-generator-select\",\"className\":[],\"defaultValue\":\"\",\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"dc6b2542d94b5434fc61ec1d59592901\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":153,\"renderKey\":1718846892510},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"53939529624dasdsa789\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"无\",\"enCode\":\"wu\"},{\"id\":\"539395047366b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江同欣工程管理有限公司\",\"enCode\":\"tx\"},{\"id\":\"539395093126b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江省成套招标代理有限公司\",\"enCode\":\"ct\"},{\"id\":\"539395145746b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江省成套工程有限公司\",\"enCode\":\"ctgc\"},{\"id\":\"539395202176b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"浙江国际招投标有限公司\",\"enCode\":\"zjgj\"},{\"id\":\"539395244426b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"欧邦工程管理集团有限公司\",\"enCode\":\"ob\"},{\"id\":\"539395296246b4hg44de\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"国信国际工程咨询集团股份有限公司\",\"enCode\":\"gxgj\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"placeholder\":\"请选择\",\"clearable\":true,\"disabled\":false,\"filterable\":false,\"multiple\":false,\"__vModel__\":\"agencyOne\",\"checked\":true},{\"label\":\"评分方法\",\"prop\":\"scoringMethodOne\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"radio\",\"sortable\":false,\"width\":null,\"id\":\"scoringMethodOne\",\"fullName\":\"评分方法\",\"__config__\":{\"jnpfKey\":\"radio\",\"label\":\"评分方法\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfRadio\",\"tagIcon\":\"icon-ym icon-ym-generator-radio\",\"className\":[],\"defaultValue\":\"1\",\"required\":false,\"layout\":\"colFormItem\",\"span\":10,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"static\",\"dictionaryType\":\"\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":147,\"renderKey\":1718604323279,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"fullName\":\"综合评分法\",\"id\":\"1\"},{\"fullName\":\"其他\",\"id\":\"2\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"optionType\":\"default\",\"buttonStyle\":\"solid\",\"size\":\"default\",\"disabled\":false,\"__vModel__\":\"scoringMethodOne\",\"checked\":true},{\"label\":\"其他(评分说明)\",\"prop\":\"scoringMethodTwo\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"scoringMethodTwo\",\"fullName\":\"其他(评分说明)\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"其他(评分说明)\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":14,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":115,\"renderKey\":1716173710757},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"scoringMethodTwo\",\"checked\":false},{\"label\":\"评分指标设置\",\"prop\":\"scoringIndicatorSettingsOne\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"textarea\",\"sortable\":false,\"width\":null,\"id\":\"scoringIndicatorSettingsOne\",\"fullName\":\"评分指标设置\",\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"评分指标设置\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"defaultValue\":\"商务/价格标 %、资信标 %、技术标 %(或资信、技术标 %)\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":148,\"renderKey\":1718604461068,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"scoringIndicatorSettingsOne\",\"checked\":false},{\"label\":\"中标人设置\",\"prop\":\"settingOwinningBidderOne\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"textarea\",\"sortable\":false,\"width\":null,\"id\":\"settingOwinningBidderOne\",\"fullName\":\"中标人设置\",\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"中标人设置\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"defaultValue\":\"如单一项目:中标人 名;如单一项目入围招标:入围单位 名; 分标项:每个标项中标人数量;分标项入围招标:分别填写每个标项中标人数量\",\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":146,\"renderKey\":1718604208107,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"settingOwinningBidderOne\",\"checked\":true},{\"label\":\"审批/备案决策程序\",\"prop\":\"decisionProcedure\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"checkbox\",\"sortable\":false,\"width\":null,\"id\":\"decisionProcedure\",\"fullName\":\"审批/备案决策程序\",\"__config__\":{\"jnpfKey\":\"checkbox\",\"label\":\"审批/备案决策程序\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfCheckbox\",\"tagIcon\":\"icon-ym icon-ym-generator-checkbox\",\"className\":[],\"defaultValue\":[\"539394745084941509\",\"539394798767838405\"],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394681591567557\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":141,\"renderKey\":1718328469479,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394745084941509\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"集团审批\",\"enCode\":\"1\"},{\"id\":\"539394798767838405\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"子集团审批\",\"enCode\":\"2\"}],\"props\":{\"label\":\"fullName\",\"value\":\"id\"},\"direction\":\"horizontal\",\"disabled\":false,\"__vModel__\":\"decisionProcedure\",\"checked\":true},{\"label\":\"方案最终审批时间\",\"prop\":\"finalApprovalTime\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":null,\"id\":\"finalApprovalTime\",\"fullName\":\"方案最终审批时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"方案最终审批时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":122,\"renderKey\":1716179582380,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"finalApprovalTime\",\"checked\":true},{\"label\":\"招标结果上报时间\",\"prop\":\"resultReportingTime\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":null,\"id\":\"resultReportingTime\",\"fullName\":\"招标结果上报时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"招标结果上报时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":128,\"renderKey\":1718185366220,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"resultReportingTime\",\"checked\":true},{\"label\":\"开标时间\",\"prop\":\"bidOpeningTime\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":null,\"id\":\"bidOpeningTime\",\"fullName\":\"开标时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"开标时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":130,\"renderKey\":1718185374325,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"bidOpeningTime\",\"checked\":true},{\"label\":\"开标情况说明\",\"prop\":\"explanationObid\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"textarea\",\"sortable\":false,\"width\":null,\"id\":\"explanationObid\",\"fullName\":\"开标情况说明\",\"__config__\":{\"jnpfKey\":\"textarea\",\"label\":\"开标情况说明\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfTextarea\",\"tagIcon\":\"icon-ym icon-ym-generator-textarea\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":131,\"renderKey\":1718185433697,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请输入\",\"autoSize\":{\"minRows\":4,\"maxRows\":4},\"clearable\":true,\"maxlength\":null,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"explanationObid\",\"checked\":true},{\"label\":\"中标人及中标金额\",\"prop\":\"winningBidderAndWinningAmount\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"winningBidderAndWinningAmount\",\"fullName\":\"中标人及中标金额\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"中标人及中标金额\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":132,\"renderKey\":1718185456487,\"defaultValue\":\"中标人: ,中标金额: 万元\"},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"中标人: ,中标金额: 万元\",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"winningBidderAndWinningAmount\",\"checked\":true},{\"label\":\"评标委员会设置\",\"prop\":\"bidEvaluationCommittee\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"input\",\"sortable\":false,\"width\":null,\"id\":\"bidEvaluationCommittee\",\"fullName\":\"评标委员会设置\",\"__config__\":{\"jnpfKey\":\"input\",\"label\":\"评标委员会设置\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfInput\",\"tagIcon\":\"icon-ym icon-ym-generator-input\",\"className\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"blur\",\"formId\":133,\"renderKey\":1718185559488,\"defaultValue\":\"共 人。业主代表 人,姓名: \"},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"共 人。业主代表 人,姓名: \",\"clearable\":true,\"addonBefore\":\"\",\"addonAfter\":\"\",\"prefixIcon\":\"\",\"suffixIcon\":\"\",\"maxlength\":null,\"showPassword\":false,\"readonly\":false,\"disabled\":false,\"__vModel__\":\"bidEvaluationCommittee\",\"checked\":true},{\"label\":\"招标代理费\",\"prop\":\"tenderAgencyFee\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"inputNumber\",\"sortable\":false,\"width\":null,\"id\":\"tenderAgencyFee\",\"fullName\":\"招标代理费\",\"__config__\":{\"jnpfKey\":\"inputNumber\",\"label\":\"招标代理费\",\"tipLabel\":\"\",\"showLabel\":true,\"labelWidth\":150,\"tag\":\"JnpfInputNumber\",\"tagIcon\":\"icon-ym icon-ym-generator-number\",\"className\":[],\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":[\"blur\",\"change\"],\"formId\":156,\"renderKey\":1718848042919},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"元\",\"min\":0,\"controls\":false,\"addonBefore\":\"\",\"addonAfter\":\"\",\"thousands\":false,\"isAmountChinese\":false,\"step\":1,\"disabled\":false,\"__vModel__\":\"tenderAgencyFee\",\"checked\":true},{\"label\":\"审批/备案决策程序\",\"prop\":\"filingDecisionProcedure\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"checkbox\",\"sortable\":false,\"width\":null,\"id\":\"filingDecisionProcedure\",\"fullName\":\"审批/备案决策程序\",\"__config__\":{\"jnpfKey\":\"checkbox\",\"label\":\"审批/备案决策程序\",\"tipLabel\":\"\",\"labelWidth\":150,\"showLabel\":true,\"tag\":\"JnpfCheckbox\",\"tagIcon\":\"icon-ym icon-ym-generator-checkbox\",\"className\":[],\"defaultValue\":[],\"required\":true,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"dataType\":\"dictionary\",\"dictionaryType\":\"539394681591567557\",\"propsUrl\":\"\",\"propsName\":\"\",\"templateJson\":[],\"formId\":154,\"renderKey\":1718846948140},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"options\":[{\"id\":\"539394745084941509\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"集团审批\",\"enCode\":\"1\"},{\"id\":\"539394798767838405\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"子集团审批\",\"enCode\":\"2\"},{\"id\":\"539394843823051973\",\"parentId\":\"0\",\"hasChildren\":false,\"children\":null,\"fullName\":\"项目单位审批\",\"enCode\":\"3\"}],\"props\":{\"label\":\"fullName\",\"value\":\"enCode\"},\"direction\":\"horizontal\",\"disabled\":false,\"__vModel__\":\"filingDecisionProcedure\",\"checked\":true},{\"label\":\"结果最终审批时间\",\"prop\":\"approvalTimeForResults\",\"fixed\":\"none\",\"align\":\"left\",\"jnpfKey\":\"datePicker\",\"sortable\":false,\"width\":null,\"id\":\"approvalTimeForResults\",\"fullName\":\"结果最终审批时间\",\"__config__\":{\"jnpfKey\":\"datePicker\",\"label\":\"结果最终审批时间\",\"tipLabel\":\"\",\"showLabel\":true,\"tag\":\"JnpfDatePicker\",\"tagIcon\":\"icon-ym icon-ym-generator-date\",\"className\":[],\"defaultValue\":null,\"defaultCurrent\":false,\"required\":false,\"layout\":\"colFormItem\",\"span\":24,\"dragDisabled\":false,\"visibility\":[\"pc\",\"app\"],\"tableName\":\"bidding_project_subscribe\",\"noShow\":false,\"regList\":[],\"trigger\":\"change\",\"startTimeRule\":false,\"startTimeType\":1,\"startTimeTarget\":1,\"startTimeValue\":null,\"startRelationField\":\"\",\"endTimeRule\":false,\"endTimeType\":1,\"endTimeTarget\":1,\"endTimeValue\":null,\"endRelationField\":\"\",\"formId\":140,\"renderKey\":1718185753510,\"labelWidth\":150},\"on\":{\"change\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\",\"blur\":\"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\\n // 在此编写代码\\n \\n}\"},\"style\":{\"width\":\"100%\"},\"placeholder\":\"请选择\",\"format\":\"YYYY-MM-DD\",\"startTime\":null,\"endTime\":null,\"disabled\":false,\"clearable\":true,\"__vModel__\":\"approvalTimeForResults\",\"checked\":true}],\"sortList\":[],\"defaultSidx\":\"\",\"sort\":\"desc\",\"hasPage\":true,\"pageSize\":20,\"useColumnPermission\":false,\"useFormPermission\":false,\"useBtnPermission\":false,\"useDataPermission\":false,\"customBtnsList\":[],\"btnsList\":[{\"value\":\"add\",\"icon\":\"icon-ym icon-ym-btn-add\",\"label\":\"新增\"}],\"columnBtnsList\":[{\"value\":\"edit\",\"icon\":\"icon-ym icon-ym-btn-edit\",\"label\":\"编辑\"},{\"value\":\"remove\",\"icon\":\"icon-ym icon-ym-btn-clearn\",\"label\":\"删除\"}],\"funcs\":{\"afterOnload\":\"({ data, tableRef, onlineUtils }) => {\\r\\n \\r\\n}\"}}"); + return sb.toString(); + } + /** 表列表 */ + public static final String getTableList(){ + StringBuilder sb = new StringBuilder(); + sb.append("[{\"relationField\":\"\",\"relationTable\":\"\",\"table\":\"bidding_project_subscribe\",\"tableName\":\"招标项目表申请表\",\"tableField\":\"\",\"typeId\":\"1\",\"fields\":[{\"columnName\":\"id\",\"field\":\"id\",\"fieldName\":\"id\",\"dataType\":\"int\",\"dataLength\":\"默认\",\"primaryKey\":1,\"allowNull\":0,\"autoIncrement\":1},{\"columnName\":\"management_style\",\"field\":\"managementStyle\",\"fieldName\":\"管理方式\",\"dataType\":\"varchar\",\"dataLength\":\"10\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"project_number\",\"field\":\"projectNumber\",\"fieldName\":\"项目编号\",\"dataType\":\"varchar\",\"dataLength\":\"100\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"plan_submission_time\",\"field\":\"planSubmissionTime\",\"fieldName\":\"方案上报时间\",\"dataType\":\"datetime\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"reporting_corp\",\"field\":\"reportingCorp\",\"fieldName\":\"上报单位\",\"dataType\":\"varchar\",\"dataLength\":\"200\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"tendering_entity\",\"field\":\"tenderingEntity\",\"fieldName\":\"招标主体\",\"dataType\":\"varchar\",\"dataLength\":\"200\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"project_name\",\"field\":\"projectName\",\"fieldName\":\"项目名称\",\"dataType\":\"varchar\",\"dataLength\":\"200\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"Item_classification\",\"field\":\"itemClassification\",\"fieldName\":\"招标事项分类\",\"dataType\":\"varchar\",\"dataLength\":\"100\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"organizational_form\",\"field\":\"organizationalForm\",\"fieldName\":\"招标组织形式\",\"dataType\":\"varchar\",\"dataLength\":\"100\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"bidding_method\",\"field\":\"biddingMethod\",\"fieldName\":\"招标方式\",\"dataType\":\"varchar\",\"dataLength\":\"100\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"reported_file_name\",\"field\":\"reportedFileName\",\"fieldName\":\"方案上报文件名称\",\"dataType\":\"varchar\",\"dataLength\":\"100\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"bidding_document_id\",\"field\":\"biddingDocumentId\",\"fieldName\":\"招标文件及附件\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"decision_procedure\",\"field\":\"decisionProcedure\",\"fieldName\":\"审批/备案决策程序\",\"dataType\":\"varchar\",\"dataLength\":\"100\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"approval_documents_id\",\"field\":\"approvalDocumentsId\",\"fieldName\":\"审批/备案批准文件\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"final_approval_time\",\"field\":\"finalApprovalTime\",\"fieldName\":\"方案最终审批时间\",\"dataType\":\"datetime\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"setting_of_winning_bidder_one\",\"field\":\"settingOwinningBidderOne\",\"fieldName\":\"中标人设置1\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"setting_of_winning_bidder_two\",\"field\":\"settingOwinningBidderTwo\",\"fieldName\":\"中标人设置2\",\"dataType\":\"varchar\",\"dataLength\":\"200\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"scoring_indicator_settings_one\",\"field\":\"scoringIndicatorSettingsOne\",\"fieldName\":\"评分指标设置1\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"scoring_indicator_settings_two\",\"field\":\"scoringIndicatorSettingsTwo\",\"fieldName\":\"评分指标设置2\",\"dataType\":\"varchar\",\"dataLength\":\"100\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"scoring_indicator_settings_three\",\"field\":\"scoringIndicatorSettingsThree\",\"fieldName\":\"评分指标设置3\",\"dataType\":\"varchar\",\"dataLength\":\"100\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"scoring_indicator_settings_four\",\"field\":\"scoringIndicatorSettingsFour\",\"fieldName\":\"评分指标设置4\",\"dataType\":\"varchar\",\"dataLength\":\"100\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"agency_one\",\"field\":\"agencyOne\",\"fieldName\":\"代理机构1\",\"dataType\":\"varchar\",\"dataLength\":\"100\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"agency_two\",\"field\":\"agencyTwo\",\"fieldName\":\"代理机构2(机构名称)\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"scoring_method_one\",\"field\":\"scoringMethodOne\",\"fieldName\":\"评分方法1\",\"dataType\":\"varchar\",\"dataLength\":\"100\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"scoring_method_two\",\"field\":\"scoringMethodTwo\",\"fieldName\":\"评分方法2(说明)\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"approval_documents_id_two\",\"field\":\"approvalDocumentsIdTwo\",\"fieldName\":\"审批/备案批准文件2\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"result_reporting_time\",\"field\":\"resultReportingTime\",\"fieldName\":\"招标结果上报时间\",\"dataType\":\"datetime\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"result_reported_file_name\",\"field\":\"resultReportedFileName\",\"fieldName\":\"结果上报文件名称\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"bid_opening_time\",\"field\":\"bidOpeningTime\",\"fieldName\":\"开标时间\",\"dataType\":\"datetime\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"explanation_of_bid\",\"field\":\"explanationObid\",\"fieldName\":\"开标情况说明\",\"dataType\":\"varchar\",\"dataLength\":\"200\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"winning_bidder_and_winning_amount\",\"field\":\"winningBidderAndWinningAmount\",\"fieldName\":\"中标人及中标金额\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"bid_evaluation_committee\",\"field\":\"bidEvaluationCommittee\",\"fieldName\":\"评标委员会设置\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"tender_agency_fee\",\"field\":\"tenderAgencyFee\",\"fieldName\":\"招标代理费\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"attachment_of_bidding_results_one_id\",\"field\":\"attachmentObiddingResultsOneId\",\"fieldName\":\"招标结果附件1\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"attachment_of_bidding_results_two_id\",\"field\":\"attachmentObiddingResultsTwoId\",\"fieldName\":\"招标结果附件2\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"winning_bidder\",\"field\":\"winningBidder\",\"fieldName\":\"中标人\",\"dataType\":\"varchar\",\"dataLength\":\"64\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"winning_bidder_candidate\",\"field\":\"winningBidderCandidate\",\"fieldName\":\"中标候选人\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"filing_decision_procedure\",\"field\":\"filingDecisionProcedure\",\"fieldName\":\"审批/备案决策程序\",\"dataType\":\"varchar\",\"dataLength\":\"100\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"filing_results_one_id\",\"field\":\"filingResultsOneId\",\"fieldName\":\"审批/备案结果1\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"filing_results_two_id\",\"field\":\"filingResultsTwoId\",\"fieldName\":\"审批/备案结果2\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"approval_time_for_results\",\"field\":\"approvalTimeForResults\",\"fieldName\":\"结果最终审批时间\",\"dataType\":\"datetime\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_flowid\",\"field\":\"flowid\",\"fieldName\":\"流程id\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"f_flowtaskid\",\"field\":\"flowtaskid\",\"fieldName\":\"流程任务主键\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"annex_programme_document\",\"field\":\"annexProgrammeDocument\",\"fieldName\":\"方案文件附件\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"main_status\",\"field\":\"mainStatus\",\"fieldName\":\"主状态\",\"dataType\":\"varchar\",\"dataLength\":\"10\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"main_status_name\",\"field\":\"mainStatusName\",\"fieldName\":\"状态名称\",\"dataType\":\"varchar\",\"dataLength\":\"64\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"bid_winning_amount\",\"field\":\"bidWinningAmount\",\"fieldName\":\"中标金额\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"is_approval\",\"field\":\"isApproval\",\"fieldName\":\"是否为审批\",\"dataType\":\"tinyint\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"query_type\",\"field\":\"queryType\",\"fieldName\":\"审批状态\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"approval_documents_id_jt\",\"field\":\"approvalDocumentsIdJt\",\"fieldName\":\"集团审批/备案批准文件\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"archive_number\",\"field\":\"archiveNumber\",\"fieldName\":\"归档编号\",\"dataType\":\"varchar\",\"dataLength\":\"50\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"control_price\",\"field\":\"controlPrice\",\"fieldName\":\"招标控制价\",\"dataType\":\"double\",\"dataLength\":\"22,0\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"create_time\",\"field\":\"createTime\",\"fieldName\":\"创建时间\",\"dataType\":\"datetime\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"update_time\",\"field\":\"updateTime\",\"fieldName\":\"更新时间\",\"dataType\":\"datetime\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"winning_bidder_info\",\"field\":\"winningBidderInfo\",\"fieldName\":\"中标人及金额信息\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"winning_bidder_type\",\"field\":\"winningBidderType\",\"fieldName\":\"中标类型\",\"dataType\":\"varchar\",\"dataLength\":\"10\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"filing_results_three_id\",\"field\":\"filingResultsThreeId\",\"fieldName\":\"审批备案结果3\",\"dataType\":\"text\",\"dataLength\":\"默认\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0},{\"columnName\":\"project_amount\",\"field\":\"projectAmount\",\"fieldName\":\"项目金额\",\"dataType\":\"double\",\"dataLength\":\"22,0\",\"primaryKey\":0,\"allowNull\":1,\"autoIncrement\":0}]}]"); return sb.toString(); + } +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_subscribe/BiddingProjectSubscribeForm.java b/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_subscribe/BiddingProjectSubscribeForm.java new file mode 100644 index 0000000..d101eee --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_subscribe/BiddingProjectSubscribeForm.java @@ -0,0 +1,167 @@ +package jnpf.model.bidding_project_subscribe; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jnpf.model.dto.BiddingProjectDto; +import lombok.Data; + +import java.util.List; + +/** + * bidding_project_subscribe + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-06-11 + */ +@Data +public class BiddingProjectSubscribeForm { + /** 主键 */ + private String id; + + /** 备案编号 **/ + @JsonProperty("archiveNumber") + private String archiveNumber; + /** 审批状态 **/ + @JsonProperty("queryType") + private String queryType; + /** 管理方式 **/ + @JsonProperty("managementStyle") + private String managementStyle; + /** 项目编号 **/ + @JsonProperty("projectNumber") + private String projectNumber; + /** 方案上报时间 **/ + @JsonProperty("planSubmissionTime") + private String planSubmissionTime; + /** 上报单位(部门) **/ + @JsonProperty("reportingCorp") + private String reportingCorp; + /** 招标主体 **/ + @JsonProperty("tenderingEntity") + private String tenderingEntity; + /** 项目名称 **/ + @JsonProperty("projectName") + private String projectName; + /** 招标事项分类 **/ + @JsonProperty("itemClassification") + private String itemClassification; + /** 招标组织形式 **/ + @JsonProperty("organizationalForm") + private String organizationalForm; + /** 招标方式 **/ + @JsonProperty("biddingMethod") + private String biddingMethod; + /** 代理机构 **/ + @JsonProperty("agencyOne") + private String agencyOne; + /** 评分方法 **/ + @JsonProperty("scoringMethodOne") + private String scoringMethodOne; + /** 其他(评分说明) **/ + @JsonProperty("scoringMethodTwo") + private String scoringMethodTwo; + /** 评分指标设置 **/ + @JsonProperty("scoringIndicatorSettingsOne") + private String scoringIndicatorSettingsOne; + /** 中标人设置 **/ + @JsonProperty("settingOwinningBidderOne") + private String settingOwinningBidderOne; + /** 方案上报文件名称 **/ + @JsonProperty("annexProgrammeDocument") + private Object annexProgrammeDocument; + /** 招标文件及附件 **/ + @JsonProperty("biddingDocumentId") + private Object biddingDocumentId; + /** 审批/备案决策程序 **/ + @JsonProperty("decisionProcedure") + private Object decisionProcedure; + /** 子公司审批/备案文件 **/ + @JsonProperty("approvalDocumentsId") + private Object approvalDocumentsId; + /** 集团审批/备案批准文件 **/ + @JsonProperty("approvalDocumentsIdJt") + private Object approvalDocumentsIdJt; + /** 方案最终审批时间 **/ + @JsonProperty("finalApprovalTime") + private String finalApprovalTime; + /** 招标结果上报时间 **/ + @JsonProperty("resultReportingTime") + private String resultReportingTime; + /** 结果上报文件名称 **/ + @JsonProperty("resultReportedFileName") + private Object resultReportedFileName; + /** 开标时间 **/ + @JsonProperty("bidOpeningTime") + private String bidOpeningTime; + /** 开标情况说明 **/ + @JsonProperty("explanationObid") + private String explanationObid; + /** 中标人及中标金额 **/ + @JsonProperty("winningBidderAndWinningAmount") + private String winningBidderAndWinningAmount; + /** 评标委员会设置 **/ + @JsonProperty("bidEvaluationCommittee") + private String bidEvaluationCommittee; + /** 招标代理费 **/ + @JsonProperty("tenderAgencyFee") + private String tenderAgencyFee; + /** 招标结果附件 **/ + @JsonProperty("attachmentObiddingResultsOneId") + private Object attachmentObiddingResultsOneId; + /** 中标人 **/ + @JsonProperty("settingOwinningBidderTwo") + private String settingOwinningBidderTwo; + /** 中标候选人 **/ + @JsonProperty("winningBidderCandidate") + private String winningBidderCandidate; + /** 审批/备案决策程序 **/ + @JsonProperty("filingDecisionProcedure") + private Object filingDecisionProcedure; + /** 审批/备案结果 **/ + @JsonProperty("filingResultsOneId") + private Object filingResultsOneId; + /** 二级审批/备案结果 **/ + @JsonProperty("filingResultsTwoId") + private Object filingResultsTwoId; + /** 三级审批备案结果 **/ + @JsonProperty("filingResultsThreeId") + private Object filingResultsThreeId; + /** 结果最终审批时间 **/ + @JsonProperty("approvalTimeForResults") + private String approvalTimeForResults; + /** 招标控制价 **/ + @JsonProperty("controlPrice") + private Double controlPrice; + + + + + + + + + + @JsonProperty("winningBidderInfo") + private List winningBidderInfo; + /** + *1-单一 2-多标段 3-入围机制 + */ + @JsonProperty("winningBidderType") + private String winningBidderType; + + + /** + * 保存类型 1-提交 2-暂存 + * */ + private String saveType="1"; + + + /** + * 评标专家设置 + */ + private String evalSetting; + /** + *合同期 + */ + private String contractPeriod; +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_subscribe/BiddingProjectSubscribePagination.java b/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_subscribe/BiddingProjectSubscribePagination.java new file mode 100644 index 0000000..92caef1 --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/bidding_project_subscribe/BiddingProjectSubscribePagination.java @@ -0,0 +1,68 @@ +package jnpf.model.bidding_project_subscribe; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jnpf.base.Pagination; +import lombok.Data; + +import java.util.List; + +/** + * + * bidding_project_subscribe + * @版本: V3.5 + * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) + * @作者: JNPF开发平台组 + * @日期: 2024-06-11 + */ +@Data +public class BiddingProjectSubscribePagination extends Pagination { + /** 查询key */ + private String[] selectKey; + /** + * 查询类型 + * 1-我的自建 + * 2-我的待审批 + * 3-我的已审批 + * 4-查询所有(根据数据权限) + * 5-查询全部(待审核,已审核) + * 6-待归档 + * 7-已归档 + */ + private String queryType="5"; + private List childIdList; + + /** json */ + private String json; + /** 数据类型 0-当前页,1-全部数据 */ + private String dataType; + /** 高级查询 */ + private String superQueryJson; + /** 功能id */ + private String moduleId; + /** 菜单id */ + private String menuId; + /** 项目编号 */ + @JsonProperty("archiveNumber") + private Object archiveNumber; + /** 管理方式 */ + @JsonProperty("managementStyle") + private Object managementStyle; + /** 方案上报时间 */ + @JsonProperty("planSubmissionTime") + private Object planSubmissionTime; + /** 项目名称 */ + @JsonProperty("projectName") + private Object projectName; + /** 结果最终审批时间 */ + @JsonProperty("approvalTimeForResults") + private Object approvalTimeForResults; + /** 方案最终审批时间 */ + @JsonProperty("finalApprovalTime") + private Object finalApprovalTime; + /** 招标主体 */ + @JsonProperty("tenderingEntity") + private Object tenderingEntity; + /** 上报单位(部门) */ + @JsonProperty("reportingCorp") + private Object reportingCorp; +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/dto/BiddingProjectDto.java b/jnpf-tendering-entity/src/main/java/jnpf/model/dto/BiddingProjectDto.java new file mode 100644 index 0000000..f23f4b1 --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/dto/BiddingProjectDto.java @@ -0,0 +1,96 @@ +package jnpf.model.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class BiddingProjectDto { + + + + @Data + public static class AuditingParam { + /** + * 是否同意 1-同意 2-不同意 + */ + private String act; + /** + * 描述 + */ + private String remake; + /** + * 招标单id + */ + private String id; + + + } + @Data + public static class ArchivistParam { + /** + * 招标单id + */ + private String id; + } + + + @Data + public static class BaseWinningBidderParam { + /** + * 标段 + */ + private String bidSection; + /** + * 中标人 + */ + private String people; + /** + * 金额 + */ + private String amount; + } + + @Data + public static class WinningBidderParam extends BaseWinningBidderParam { + + /** + * 多标段中标结果字段 + */ + private List children; + } + + @Data + public static class GetProjectNameList{ + /** + * 单位名称 + */ + private String projectName; + /** + * 统计类型 + */ + private String statisticalType; + /** + * 字段名称 + */ + private String fieldName; + + private String moduleId; + /** 菜单id */ + private String menuId; + /** + * 结果最终评审时间 + */ + private String startTime; + private String endTime; + + + /** + * mapperCode + */ + private String code; + private String sql; + + + } +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/dto/ExpertDto.java b/jnpf-tendering-entity/src/main/java/jnpf/model/dto/ExpertDto.java new file mode 100644 index 0000000..905e76a --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/dto/ExpertDto.java @@ -0,0 +1,133 @@ +package jnpf.model.dto; + +import cn.hutool.core.date.LocalDateTimeUtil; +import com.github.pagehelper.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import jnpf.entity.Expert; +import jnpf.exception.DataException; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +@Data +public class ExpertDto { + @Data + public static class BaseParam { + @Schema(description = "新增类型 1-专家 2-公司 默认专家") + private String dataType = "1"; + @Schema(description = "专家姓名") + private String expertName; + @Schema(description = "专家组别(字典表id)") + private String expertGroup; + + @Schema(description = "公司名称(招投标类型)") + private String companyName; + + @Schema(description = "联系信息(招投标类型)") + private List contactInformation; + + + @Schema(description = "联系方式") + private String phoneNumber; + + + +// @Schema(description = "出生日期") +// private String birthdayString; + + @Schema(description = "出生日期") + private LocalDateTime birthday; + + + @Schema(description = "专家来源 1-内部专家 2-外部专家") + private String expertSources; + + @Schema(description = "工作单位名称") + private String workUnit; + + + @Schema(description = "职务") + private String post; + + @Schema(description = "专业技术职称") + private String technicalPosition; + + @Schema(description = "专业专长") + private String professionalExpertise; + + @Schema(description = "性别 1-男 2-女") + private String sex; + + @Schema(description = "工龄") + private String workingYears; + + @Schema(description = "状态0-有效 1-无效") + private String status; + + public void setBirthday(String birthdayString) { + try { + this.birthday = LocalDateTimeUtil.parse(birthdayString, "yyyy-MM-dd"); + } catch (Exception e) { + throw new DataException("日期格式错误,请使用yyyy-MM-dd格式"); + } + } + } + + @Data + public static class AddParam extends BaseParam { + } + + @Data + public static class EditParam extends BaseParam { + //主键ID + private String id; + } + + + @Data + public static class ContactInformation { + //联系人姓名 + private String contactName; + //联系人手机号 + private String contactPhone; + } + + + @Data + public static class DeleteParam { + //主键ID + private String id; + } + + @Data + public static class ListParam extends PageParam { + /** + * 专家姓名 + */ + private String expertName; + + + // @ApiModelProperty("公司名称(招投标类型)") + private String companyName; + + // @ApiModelProperty("工作单位名称") + private String workUnit; + + // @ApiModelProperty("联系方式") + private String phoneNumber; + + private String concatPerson; + private String expertGroup; + + @Schema(description = "新增类型 1-专家 2-公司 默认专家") + private String dataType = "1"; + + } + + @Data + public static class ListResponse extends Expert implements Serializable { + } +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/dto/IndicatorStatisticsDto.java b/jnpf-tendering-entity/src/main/java/jnpf/model/dto/IndicatorStatisticsDto.java new file mode 100644 index 0000000..81d6d8d --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/dto/IndicatorStatisticsDto.java @@ -0,0 +1,134 @@ +package jnpf.model.dto; + +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +@Data +public class IndicatorStatisticsDto { + @Data + public static class ProjectsNumberParam { + /** + * 查询类型 1-本月(默认本月):到日。2-当年:按月。3-累计:按年 + */ + private String type = "1"; + /** + * 权限控制 + */ + private String menuId; + /** + * 根据type 传入对应参数 eg:月份查询传入某年某月 不传入默认为当年当月 返回当月当月日统计 + * 月份传入 yyyy-MM + * 年份传入 yyyy + * 累计无需传入 + */ + private String corresponding; + + } + + @Data + public static class ProjectsNumberResponse { + /** + * 返回时间类型 用于前端展示使用 + */ + private LocalDateTime corresponding; + /** + * 根据type 传入对应参数 eg:月份查询传入某年某月 不传入默认为当年当月 返回当月当月日统计 + */ + private List indicatorList = new ArrayList<>(); + } + + @Data + public static class Indicator { + /** + * x轴数据 + */ + private String xData; + /** + * y轴数据 + */ + private String yData; + /** + * 审批数量 + */ + private String spCount = "0"; + /** + * 备案数量 + */ + private String baCount = "0"; + } + + + @Data + public static class MoneyAndProjectsNumberParam { + /** + * 查询类型 1-本月 默认本月。2-当年。3-累计 4-自定义日期 + */ + private String queryDateType = "1"; + /** + * 查询类型 1-所有(默认所有) 2-按组织形式分布 3-按事项分类分布 4-按招标方式分布 5-招标代理统计 + */ + private String classificationType = "1"; + /** + * 权限控制 + */ + private String menuId; + //mapper查询使用 日期 + private String corresponding; + + + /** + * 自定义日期查询使用 -开始时间 yyyy-MM-dd HH:mm:ss + */ + private String startTime; + private String endTime; + } + + @Data + public static class MoneyAndProjectsNumberResponse { + /** + * 1-所有(默认所有) 2-按组织形式分布 3-按事项分类分布 4-按招标方式分布 + */ + private String classificationType; + private List dataList = new ArrayList<>(); + } + + @Data + public static class MoneyAndProjectsNumberChild { + /** + * 类型名称 + */ + private String yName; + /** + * 项目数量 + */ + private String projectsNumber; + /** + * 金额 + */ + private String money; + } + + + @Data + public static class MyToDoListResponse { + /** + * 待填报 + */ + private String toBeFilledCount; + /** + * 待审批 + */ + private String pendingApprovalCount; + /** + * 待归档 + */ + private String toBeArchivedApprovalCount; + /** + * 已办 + */ + private String alreadyCount; + } +} diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/dto/LotteryProjectDto.java b/jnpf-tendering-entity/src/main/java/jnpf/model/dto/LotteryProjectDto.java new file mode 100644 index 0000000..9a09e26 --- /dev/null +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/dto/LotteryProjectDto.java @@ -0,0 +1,361 @@ +package jnpf.model.dto; + + +import cn.hutool.core.date.LocalDateTimeUtil; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.github.pagehelper.PageParam; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jnpf.entity.Expert; +import jnpf.entity.LotteryProject; +import jnpf.entity.LotteryReview; +import jnpf.exception.DataException; +import lombok.Data; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; + +@Data +public class LotteryProjectDto { + public enum StatusEnum { + //发布类型 + TO_BE_EXTRACTED("0", "待抽取"), + ALREADY_EXTRACTED("1", "已抽取"), + SUSPENSION("2", "中止"), + ARCHIVIST("3", "已归档"), + ; + + private String code; + private String describe; + + StatusEnum(String code, String describe) { + this.code = code; + this.describe = describe; + + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getDescribe() { + return describe; + } + + public void setDescribe(String describe) { + this.describe = describe; + } + } + + public enum TypeEnum { + //发布类型 + SYSTEM("0", "系统"), + ONESELF("1", "自建"), + ; + + private String code; + private String describe; + + TypeEnum(String code, String describe) { + this.code = code; + this.describe = describe; + + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getDescribe() { + return describe; + } + + public void setDescribe(String describe) { + this.describe = describe; + } + } + + + @Data + public static class BaseParam { + @ApiModelProperty("项目编号") + private String projectNumber; + + @ApiModelProperty("项目名称") + private String projectName; + + @ApiModelProperty("评标时间") + private LocalDateTime bidEvaluationTime; + + @ApiModelProperty("评标地点") + private String bidEvaluationLocation; + + @ApiModelProperty("代理机构") + private String agency; + @ApiModelProperty("抽签类型 1-专家 2-公司(默认专家)") + private String lotteryType = "1"; + + + public void setBidEvaluationTime(String bidEvaluationTime) { + try { + this.bidEvaluationTime = LocalDateTimeUtil.parse(bidEvaluationTime, "yyyy-MM-dd HH:mm:ss"); + } catch (Exception e) { + throw new DataException("日期格式错误,请使用yyyy-MM-dd HH:mm:ss格式"); + } + } + + } + + @Data + public static class AddParam extends BaseParam { + + } + + @Data + public static class EditParam extends BaseParam { + @ApiModelProperty("id") + private Integer id; + } + + @Data + public static class DeleteParam { + @ApiModelProperty("id") + private Integer id; + } + + @Data + public static class QueryListParam extends PageParam { + @ApiModelProperty("项目编号") + private String projectNumber; + + @ApiModelProperty("项目名称") + private String projectName; + + @ApiModelProperty("抽签类型 1-专家 2-公司(默认专家)") + private String lotteryType = "1"; + + /** + * 权限控制 + */ + private String menuId = "572406059134626629"; + } + + + @Data + public static class QueryResponse extends LotteryProject { + @ApiModelProperty("评审列表") + private List lotteryReviewList; + } + + + @Data + public static class AddReviewParam { + @ApiModelProperty("抽签项目id") + private String id; + + @ApiModelProperty("专家组别信息Json,该字段仅用于专家抽签") + private List expertGroupInfo; + +// @ApiModelProperty("抽取专家信息json") +// private List extractExpertsInfo; + + } + + @Data + public static class QueryReviewResponse extends LotteryReview { + + @ApiModelProperty("抽取专家数") + private Integer extractExperts; + @ApiModelProperty("确认参加数") + private Integer confirmParticipation; + } + + @Data + public static class EditReviewParam { + @ApiModelProperty("评审id") + private String id; + + @ApiModelProperty("专家组别信息Json") + private List expertGroupInfo; + +// @ApiModelProperty("抽取专家信息json") +// private List extractExpertsInfo; + + } + + @Data + public static class DeleteReviewParam { + @ApiModelProperty("评审id") + private String id; + + } + + + public enum ConfirmEnum { + //发布类型 + JOIN("1", "参加"), + NOT_JOIN("2", "不参加"), + TO_BE_CONFIRMED("0", "待确认"), + ; + + private String code; + private String describe; + + ConfirmEnum(String code, String describe) { + this.code = code; + this.describe = describe; + + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getDescribe() { + return describe; + } + + public void setDescribe(String describe) { + this.describe = describe; + } + } + + @Data + public static class ExtractExpertsInfo { + + @ApiModelProperty("专家编号/公司编号") + private String id; + + + + @ApiModelProperty("专家姓名") + private String expertName; + @ApiModelProperty("专家组别") + private String expertGroup; + @ApiModelProperty("联系方式") + private String phoneNumber; + @ApiModelProperty("工作单位名称") + private String workUnit; + + + + //公共字段 + @ApiModelProperty("确认时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime confirmTime; + @ApiModelProperty("确认人姓名") + private String confirmName; + @ApiModelProperty("确认人id") + private String confirmId; + @ApiModelProperty("抽取轮次") + private String ExtractionRounds; + @ApiModelProperty("确认状态") + private String status = ConfirmEnum.TO_BE_CONFIRMED.getCode(); + @ApiModelProperty("备注") + private String remark; + @ApiModelProperty("参加确认按钮展示") + private Boolean showJoinButton = true; + + + //招标公司相关字段 + @ApiModelProperty("联系人信息") + private List contactInformation; + + @ApiModelProperty("公司名称") + private String companyName; + + } + + + @Data + public static class ExpertGroupInfo { + @ApiModelProperty("组别code") + private String groupCode; + @ApiModelProperty("组别名称") + private String groupName; + + @ApiModelProperty("专家库人数") + private String numberOfExpert; + + @ApiModelProperty("抽取人数") + private String numberOfExtract; + + @ApiModelProperty("确认参加人数") + private String numberOfParticipants = "0"; + @ApiModelProperty("删除按钮展示") + private Boolean showDelButton = true; + + } + + + @Data + public static class ParticipateInConfirmationParam { + @ApiModelProperty("评审id") + private String id; + + @ApiModelProperty("专家编码") + private String expertId; + + @ApiModelProperty("确认状态 1-参加 2-不参加") + private String status; + + @ApiModelProperty("备注") + private String remark; + + + } + + @Data + public static class SaveExtractionResultsParam { + @ApiModelProperty("评审id") + private String id; + + @ApiModelProperty("抽取专家信息json") + private List extractExpertsInfo; + + + } + + @Data + public static class UploadExtractionResults { + @ApiModelProperty("抽签项目id") + private String id; + + @ApiModelProperty("抽取结果") + private FileInfo uploaderVO; + + + } + + @Data + public static class FileInfo { + @Schema(description = "名称") + private String name; + @Schema(description = "请求接口") + private String url; + @Schema(description = "预览文件id") + private String fileVersionId; + @Schema(description = "文件大小") + private Long fileSize; + @Schema(description = "文件后缀") + private String fileExtension; + @Schema(description = "缩略图") + private String thumbUrl; + } +} diff --git a/jnpf-library-server/pom.xml b/jnpf-tendering-server/pom.xml similarity index 81% rename from jnpf-library-server/pom.xml rename to jnpf-tendering-server/pom.xml index b89783d..6d1dfb4 100644 --- a/jnpf-library-server/pom.xml +++ b/jnpf-tendering-server/pom.xml @@ -3,32 +3,32 @@ 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"> - jnpf-library + jnpf-tendering com.jnpf 3.7.0-RELEASE 4.0.0 - jnpf-library-server + jnpf-tendering-server com.jnpf - jnpf-library-controller + jnpf-tendering-controller ${project.version} - jnpf-library-${project.version} + jnpf-tendering-${project.version} org.springframework.boot spring-boot-maven-plugin - jnpf.JnpfLibraryApplication + jnpf.JnpfTenderingApplication ZIP diff --git a/jnpf-library-server/src/main/java/jnpf/JnpfLibraryApplication.java b/jnpf-tendering-server/src/main/java/jnpf/JnpfTenderingApplication.java similarity index 76% rename from jnpf-library-server/src/main/java/jnpf/JnpfLibraryApplication.java rename to jnpf-tendering-server/src/main/java/jnpf/JnpfTenderingApplication.java index 296468b..45c2382 100644 --- a/jnpf-library-server/src/main/java/jnpf/JnpfLibraryApplication.java +++ b/jnpf-tendering-server/src/main/java/jnpf/JnpfTenderingApplication.java @@ -6,10 +6,10 @@ import org.springframework.cloud.openfeign.EnableFeignClients; @SpringBootApplication @EnableFeignClients -public class JnpfLibraryApplication { +public class JnpfTenderingApplication { public static void main(String[] args) { - SpringApplication.run(JnpfLibraryApplication.class, args); + SpringApplication.run(JnpfTenderingApplication.class, args); System.out.println("tendering启动成功"); } diff --git a/jnpf-library-server/src/main/resources/application.yml b/jnpf-tendering-server/src/main/resources/application.yml similarity index 96% rename from jnpf-library-server/src/main/resources/application.yml rename to jnpf-tendering-server/src/main/resources/application.yml index 6ef1595..bfce1a5 100644 --- a/jnpf-library-server/src/main/resources/application.yml +++ b/jnpf-tendering-server/src/main/resources/application.yml @@ -2,7 +2,7 @@ server: tomcat: uri-encoding: UTF-8 - port: 30400 + port: 30300 management: endpoints: diff --git a/jnpf-library-server/src/main/resources/bootstrap.yml b/jnpf-tendering-server/src/main/resources/bootstrap.yml similarity index 90% rename from jnpf-library-server/src/main/resources/bootstrap.yml rename to jnpf-tendering-server/src/main/resources/bootstrap.yml index e77f9f4..7b074c4 100644 --- a/jnpf-library-server/src/main/resources/bootstrap.yml +++ b/jnpf-tendering-server/src/main/resources/bootstrap.yml @@ -1,7 +1,7 @@ spring: application: # 应用名称 - name: jnpf-library + name: jnpf-tendering main: allow-bean-definition-overriding: true allow-circular-references: true @@ -11,7 +11,7 @@ spring: password: nacos discovery: # 服务注册地址 - server-addr: ${nacos.hostname:47.96.162.218}:${nacos.port:8848} + server-addr: ${nacos.hostname:172.30.42.97}:${nacos.port:30099} namespace: 69c4eecb-05bd-4041-81fe-1473f95f578c config: server-addr: ${spring.cloud.nacos.discovery.server-addr} diff --git a/jnpf-tendering-server/src/main/resources/jnpf/templete/招投标公司打印.docx b/jnpf-tendering-server/src/main/resources/jnpf/templete/招投标公司打印.docx new file mode 100644 index 0000000000000000000000000000000000000000..492f8552c94203e6a1fd71e791d0920aba91a2ca GIT binary patch literal 10924 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 WlZ5=^TZi%@FCBY%pL!@>LH`f>U^yKC literal 0 HcmV?d00001 diff --git a/jnpf-tendering-server/src/main/resources/jnpf/templete/招标采购方案审批表.docx b/jnpf-tendering-server/src/main/resources/jnpf/templete/招标采购方案审批表.docx new file mode 100644 index 0000000000000000000000000000000000000000..05d251511b52ebbefd77eb24e61e768ee351f88b GIT binary patch literal 14917 zcmb_@byQu+(l74r?(PITxVyVUa0o8JCAho0ySo$IB?Nbe;1Jv&nYs7QOuqZQ_5OIh z);asEed^cM-Br7GcZq^DC>RXTuNEw~E%595?*{$;!`RkH!NJzfkx}8D4DI~})E{Ii zwLQ0bz(7EDAV5G!eMjTsjw(;L$O-9N1X`B#199?k8 zP+@PG-h^_0=PYFR_+y3lu0dbUJ*^5&O881iBR97=;PaphXWFRVK1;U!R@$0-$> z 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

mOa%UFx{Rv70+Vo@HSPF~k0)rUT~w)g>gLUJ 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 literal 0 HcmV?d00001 diff --git a/jnpf-tendering-server/src/main/resources/jnpf/templete/浙江出版传媒股份有限公司ERP系统建设项目.docx b/jnpf-tendering-server/src/main/resources/jnpf/templete/浙江出版传媒股份有限公司ERP系统建设项目.docx new file mode 100644 index 0000000000000000000000000000000000000000..fab938f0b9abc5f85422450ac390b85c0b3fd8b3 GIT binary patch literal 10891 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 literal 0 HcmV?d00001 diff --git a/jnpf-tendering-server/src/main/resources/jnpf/templete/结果核准表.docx b/jnpf-tendering-server/src/main/resources/jnpf/templete/结果核准表.docx new file mode 100644 index 0000000000000000000000000000000000000000..4dccc165946e34da8ccb9b7405be1bb5f3751c85 GIT binary patch literal 14140 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 4.0.0 - jnpf-library + jnpf-tendering pom - jnpf-library-controller - jnpf-library-biz - jnpf-library-entity - jnpf-library-api - jnpf-library-server - + jnpf-tendering-controller + jnpf-tendering-biz + jnpf-tendering-entity + jnpf-tendering-api + jnpf-tendering-server + dsadas