commit
24be41e402
64 changed files with 6684 additions and 0 deletions
@ -0,0 +1,74 @@ |
|||||||
|
# For Java |
||||||
|
*.lck |
||||||
|
target/ |
||||||
|
*.json |
||||||
|
log/ |
||||||
|
logback-test.xml |
||||||
|
|
||||||
|
|
||||||
|
# Compiled class file |
||||||
|
*.class |
||||||
|
|
||||||
|
# Log file |
||||||
|
*.log |
||||||
|
|
||||||
|
# BlueJ files |
||||||
|
*.ctxt |
||||||
|
|
||||||
|
# Mobile Tools for Java (J2ME) |
||||||
|
.mtj.tmp/ |
||||||
|
|
||||||
|
# Package Files # |
||||||
|
|
||||||
|
*.war |
||||||
|
*.nar |
||||||
|
*.ear |
||||||
|
*.zip |
||||||
|
*.tar.gz |
||||||
|
*.rar |
||||||
|
|
||||||
|
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml |
||||||
|
hs_err_pid* |
||||||
|
|
||||||
|
# Image snapshot diff |
||||||
|
__diff_output__/ |
||||||
|
/jest-stare |
||||||
|
|
||||||
|
*.iml |
||||||
|
.idea/ |
||||||
|
.ipr |
||||||
|
.iws |
||||||
|
*~ |
||||||
|
~* |
||||||
|
*.diff |
||||||
|
*.patch |
||||||
|
*.bak |
||||||
|
.DS_Store |
||||||
|
Thumbs.db |
||||||
|
.project |
||||||
|
.*proj |
||||||
|
.svn/ |
||||||
|
*.swp |
||||||
|
*.swo |
||||||
|
*.log.* |
||||||
|
*.json.gzip |
||||||
|
node_modules/ |
||||||
|
.buildpath |
||||||
|
.settings |
||||||
|
!**/resources/dist |
||||||
|
npm-debug.log |
||||||
|
nohup.out |
||||||
|
_site |
||||||
|
_data |
||||||
|
report.html |
||||||
|
/lib |
||||||
|
/es |
||||||
|
#elasticsearch-* |
||||||
|
config/base.yaml |
||||||
|
/.vscode/ |
||||||
|
/coverage |
||||||
|
/.history |
||||||
|
*.tmp |
||||||
|
!**/nacos-server/target/** |
||||||
|
!**/seata-server/lib/** |
||||||
|
**/nacos-server/data/* |
||||||
@ -0,0 +1,27 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" |
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||||
|
<parent> |
||||||
|
<artifactId>jnpf-tendering</artifactId> |
||||||
|
<groupId>com.jnpf</groupId> |
||||||
|
<version>3.7.0-RELEASE</version> |
||||||
|
</parent> |
||||||
|
<modelVersion>4.0.0</modelVersion> |
||||||
|
|
||||||
|
<artifactId>jnpf-tendering-api</artifactId> |
||||||
|
<dependencies> |
||||||
|
<dependency> |
||||||
|
<groupId>com.jnpf</groupId> |
||||||
|
<artifactId>jnpf-tendering-entity</artifactId> |
||||||
|
<version>${project.version}</version> |
||||||
|
<scope>compile</scope> |
||||||
|
</dependency> |
||||||
|
<dependency> |
||||||
|
<groupId>com.jnpf</groupId> |
||||||
|
<artifactId>jnpf-common-feign</artifactId> |
||||||
|
</dependency> |
||||||
|
</dependencies> |
||||||
|
|
||||||
|
|
||||||
|
</project> |
||||||
@ -0,0 +1,34 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" |
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||||
|
<parent> |
||||||
|
<artifactId>jnpf-tendering</artifactId> |
||||||
|
<groupId>com.jnpf</groupId> |
||||||
|
<version>3.7.0-RELEASE</version> |
||||||
|
</parent> |
||||||
|
<modelVersion>4.0.0</modelVersion> |
||||||
|
|
||||||
|
<artifactId>jnpf-tendering-biz</artifactId> |
||||||
|
<dependencies> |
||||||
|
<dependency> |
||||||
|
<groupId>com.jnpf</groupId> |
||||||
|
<artifactId>jnpf-tendering-entity</artifactId> |
||||||
|
<version>${project.version}</version> |
||||||
|
<scope>compile</scope> |
||||||
|
</dependency> |
||||||
|
<dependency> |
||||||
|
<groupId>com.jnpf</groupId> |
||||||
|
<artifactId>jnpf-tendering-api</artifactId> |
||||||
|
<version>${project.version}</version> |
||||||
|
<scope>compile</scope> |
||||||
|
</dependency> |
||||||
|
<dependency> |
||||||
|
<groupId>com.jnpf</groupId> |
||||||
|
<artifactId>jnpf-generater-base</artifactId> |
||||||
|
<version>${project.version}</version> |
||||||
|
</dependency> |
||||||
|
</dependencies> |
||||||
|
|
||||||
|
|
||||||
|
</project> |
||||||
@ -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<Base_datainterfaceEntity> { |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,16 @@ |
|||||||
|
package jnpf.mapper; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import jnpf.entity.BiddingProjectSubscribeChild; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author admin |
||||||
|
* @since 2024-06-11 |
||||||
|
*/ |
||||||
|
public interface BiddingProjectSubscribeChildMapper extends BaseMapper<BiddingProjectSubscribeChild> { |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,25 @@ |
|||||||
|
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 org.apache.ibatis.annotations.Param; |
||||||
|
|
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* bidding_project_subscribe |
||||||
|
* 版本: V3.5 |
||||||
|
* 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
|
||||||
|
* 作者: JNPF开发平台组 |
||||||
|
* 日期: 2024-06-11 |
||||||
|
*/ |
||||||
|
public interface BiddingProjectSubscribeMapper extends BaseMapper<BiddingProjectSubscribeEntity> { |
||||||
|
|
||||||
|
IPage<BiddingProjectSubscribeEntity> queryList(@Param("page") Page<Object> objectPage, @Param("param") BiddingProjectSubscribePagination biddingProjectSubscribePagination, @Param("ew") Map<String, Object> ew,@Param("sql") String sql); |
||||||
|
|
||||||
|
BiddingProjectSubscribeEntity getInfoById(@Param("id") String id); |
||||||
|
} |
||||||
@ -0,0 +1,16 @@ |
|||||||
|
package jnpf.mapper; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import jnpf.entity.BiddingProjectSubscribeStep; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author admin |
||||||
|
* @since 2024-06-11 |
||||||
|
*/ |
||||||
|
public interface BiddingProjectSubscribeStepMapper extends BaseMapper<BiddingProjectSubscribeStep> { |
||||||
|
|
||||||
|
} |
||||||
@ -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<Bidding_project_statisticsEntity> { |
||||||
|
|
||||||
|
List<Bidding_project_statisticsEntity> queryList(@Param("param")Bidding_project_statisticsPagination bidding_project_statisticsPagination, @Param("ew")Map<String, Object> paramNameValuePairs, @Param("sql") String replace); |
||||||
|
|
||||||
|
@MapKey("id") |
||||||
|
List<Map<String,Object>> queryListDl(@Param("param")Bidding_project_statisticsPagination bidding_project_statisticsPagination, @Param("ew")Map<String, Object> paramNameValuePairs, @Param("sql") String replace,@Param("dataList") List<DictionaryDataEntity> dataList); |
||||||
|
|
||||||
|
|
||||||
|
List<Bidding_project_statisticsEntity> queryListJe(@Param("param")Bidding_project_statisticsPagination bidding_project_statisticsPagination, @Param("ew")Map<String, Object> paramNameValuePairs, @Param("sql") String replace); |
||||||
|
|
||||||
|
List<String> getProjectNameList(@Param("ew")Map<String, Object> paramNameValuePairs,@Param("param") BiddingProjectDto.GetProjectNameList param); |
||||||
|
} |
||||||
@ -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<ContractEntity> { |
||||||
|
|
||||||
|
} |
||||||
@ -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<Base_datainterfaceEntity> { |
||||||
|
List<Base_datainterfaceEntity> getList(Base_datainterfacePagination base_datainterfacePagination); |
||||||
|
|
||||||
|
List<Base_datainterfaceEntity> 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); |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,57 @@ |
|||||||
|
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.permission.entity.UserEntity; |
||||||
|
import org.springframework.web.multipart.MultipartFile; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* bidding_project_subscribe |
||||||
|
* 版本: V3.5 |
||||||
|
* 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
|
||||||
|
* 作者: JNPF开发平台组 |
||||||
|
* 日期: 2024-06-11 |
||||||
|
*/ |
||||||
|
public interface BiddingProjectSubscribeService extends IService<BiddingProjectSubscribeEntity> { |
||||||
|
List<BiddingProjectSubscribeEntity> getList(BiddingProjectSubscribePagination biddingProjectSubscribePagination); |
||||||
|
|
||||||
|
List<BiddingProjectSubscribeEntity> 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<JSONObject> 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); |
||||||
|
} |
||||||
@ -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<Bidding_project_statisticsEntity> { |
||||||
|
List<Map<String, Object>> getList(Bidding_project_statisticsPagination bidding_project_statisticsPagination); |
||||||
|
|
||||||
|
List<Map<String, Object>> 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<String> getProjectNameList(BiddingProjectDto.GetProjectNameList param); |
||||||
|
} |
||||||
@ -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<ContractEntity> { |
||||||
|
|
||||||
|
List<ContractEntity> getlist(Pagination pagination); |
||||||
|
|
||||||
|
ContractEntity getInfo(String id); |
||||||
|
|
||||||
|
void create(ContractEntity entity); |
||||||
|
|
||||||
|
void update(String id, ContractEntity entity); |
||||||
|
|
||||||
|
void delete(ContractEntity entity); |
||||||
|
} |
||||||
@ -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 <T> QueryWrapper<T> getCondition(AuthorizeConditionModel conditionModel); |
||||||
|
} |
||||||
@ -0,0 +1,16 @@ |
|||||||
|
package jnpf.service; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService; |
||||||
|
import jnpf.entity.BiddingProjectSubscribeChild; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 服务类 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author admin |
||||||
|
* @since 2024-06-11 |
||||||
|
*/ |
||||||
|
public interface IBiddingProjectSubscribeChildService extends IService<BiddingProjectSubscribeChild> { |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,16 @@ |
|||||||
|
package jnpf.service; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService; |
||||||
|
import jnpf.entity.BiddingProjectSubscribeStep; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 服务类 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author admin |
||||||
|
* @since 2024-06-11 |
||||||
|
*/ |
||||||
|
public interface IBiddingProjectSubscribeStepService extends IService<BiddingProjectSubscribeStep> { |
||||||
|
|
||||||
|
} |
||||||
@ -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.permission.util.AuthorizeUtil; |
||||||
|
import jnpf.service.Base_datainterfaceService; |
||||||
|
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<Base_datainterfaceMapper, Base_datainterfaceEntity> implements Base_datainterfaceService{ |
||||||
|
@Autowired |
||||||
|
private GeneraterSwapUtil generaterSwapUtil; |
||||||
|
|
||||||
|
@Autowired |
||||||
|
private UserProvider userProvider; |
||||||
|
|
||||||
|
@Autowired |
||||||
|
private AuthorizeUtil authorizeUtil; |
||||||
|
|
||||||
|
@Override |
||||||
|
public List<Base_datainterfaceEntity> getList(Base_datainterfacePagination base_datainterfacePagination){ |
||||||
|
return getTypeList(base_datainterfacePagination,base_datainterfacePagination.getDataType()); |
||||||
|
} |
||||||
|
/** 列表查询 */ |
||||||
|
@Override |
||||||
|
public List<Base_datainterfaceEntity> getTypeList(Base_datainterfacePagination base_datainterfacePagination,String dataType){ |
||||||
|
String userId=userProvider.get().getUserId(); |
||||||
|
List<String> AllIdList =new ArrayList(); |
||||||
|
List<List<String>> intersectionList =new ArrayList<>(); |
||||||
|
int total=0; |
||||||
|
int base_datainterfaceNum =0; |
||||||
|
QueryWrapper<Base_datainterfaceEntity> base_datainterfaceQueryWrapper=new QueryWrapper<>(); |
||||||
|
List<String> allSuperIDlist = new ArrayList<>(); |
||||||
|
String superOp =""; |
||||||
|
if (ObjectUtil.isNotEmpty(base_datainterfacePagination.getSuperQueryJson())){ |
||||||
|
SuperQueryJsonModel superQueryJsonModel = JsonUtil.getJsonToBean(base_datainterfacePagination.getSuperQueryJson(), SuperQueryJsonModel.class); |
||||||
|
String matchLogic = ""; |
||||||
|
List<ConditionJsonModel> superQueryList = new ArrayList<>(); |
||||||
|
for (ConditionJsonModel conditionjson : superQueryList){ |
||||||
|
Map<String, Object> map = JsonUtil.stringToMap(conditionjson.getAttr()); |
||||||
|
Map<String, Object> 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<String> allSuperList = new ArrayList<>(); |
||||||
|
List<List<String>> intersectionSuperList = new ArrayList<>(); |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int base_datainterfaceNum1 = 0; |
||||||
|
QueryWrapper<Base_datainterfaceEntity> 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<String> 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=authorizeUtil.getCondition(new AuthorizeConditionModel(base_datainterfaceQueryWrapper,base_datainterfacePagination.getMenuId(),"base_datainterface")); |
||||||
|
if (ObjectUtil.isEmpty(base_datainterfaceObj)){ |
||||||
|
return new ArrayList<>(); |
||||||
|
} else { |
||||||
|
base_datainterfaceQueryWrapper = (QueryWrapper<Base_datainterfaceEntity>)base_datainterfaceObj; |
||||||
|
if( base_datainterfaceQueryWrapper.getExpression().getNormal().size()>0){ |
||||||
|
base_datainterfaceNum++; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
if(!isPc && appPermission){ |
||||||
|
if (!userProvider.get().getIsAdministrator()){ |
||||||
|
Object base_datainterfaceObj=authorizeUtil.getCondition(new AuthorizeConditionModel(base_datainterfaceQueryWrapper,base_datainterfacePagination.getMenuId(),"base_datainterface")); |
||||||
|
if (ObjectUtil.isEmpty(base_datainterfaceObj)){ |
||||||
|
return new ArrayList<>(); |
||||||
|
} else { |
||||||
|
base_datainterfaceQueryWrapper = (QueryWrapper<Base_datainterfaceEntity>)base_datainterfaceObj; |
||||||
|
if( base_datainterfaceQueryWrapper.getExpression().getNormal().size()>0){ |
||||||
|
base_datainterfaceNum++; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
List<String> 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<String> 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<Base_datainterfaceEntity> page=new Page<>(base_datainterfacePagination.getCurrentPage(), base_datainterfacePagination.getPageSize()); |
||||||
|
IPage<Base_datainterfaceEntity> userIPage=this.page(page, base_datainterfaceQueryWrapper); |
||||||
|
return base_datainterfacePagination.setData(userIPage.getRecords(),userIPage.getTotal()); |
||||||
|
}else{ |
||||||
|
List<Base_datainterfaceEntity> list = new ArrayList(); |
||||||
|
return base_datainterfacePagination.setData(list, list.size()); |
||||||
|
} |
||||||
|
}else{ |
||||||
|
return this.list(base_datainterfaceQueryWrapper); |
||||||
|
} |
||||||
|
} |
||||||
|
@Override |
||||||
|
public Base_datainterfaceEntity getInfo(String id){ |
||||||
|
QueryWrapper<Base_datainterfaceEntity> 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; |
||||||
|
} |
||||||
|
} |
||||||
@ -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; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 服务实现类 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author admin |
||||||
|
* @since 2024-06-11 |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
public class BiddingProjectSubscribeChildServiceImpl extends ServiceImpl<BiddingProjectSubscribeChildMapper, BiddingProjectSubscribeChild> implements IBiddingProjectSubscribeChildService { |
||||||
|
|
||||||
|
} |
||||||
File diff suppressed because it is too large
Load Diff
@ -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; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 服务实现类 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author admin |
||||||
|
* @since 2024-06-11 |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
public class BiddingProjectSubscribeStepServiceImpl extends ServiceImpl<BiddingProjectSubscribeStepMapper, BiddingProjectSubscribeStep> implements IBiddingProjectSubscribeStepService { |
||||||
|
|
||||||
|
} |
||||||
@ -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<Bidding_project_statisticsMapper, Bidding_project_statisticsEntity> 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<Map<String, Object>> getList(Bidding_project_statisticsPagination bidding_project_statisticsPagination) { |
||||||
|
return getTypeList(bidding_project_statisticsPagination, bidding_project_statisticsPagination.getDataType()); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 列表查询 |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public List<Map<String, Object>> getTypeList(Bidding_project_statisticsPagination bidding_project_statisticsPagination, String dataType) { |
||||||
|
String userId = userProvider.get().getUserId(); |
||||||
|
List<String> AllIdList = new ArrayList(); |
||||||
|
List<List<String>> intersectionList = new ArrayList<>(); |
||||||
|
int total = 0; |
||||||
|
int bidding_project_statisticsNum = 0; |
||||||
|
QueryWrapper<Bidding_project_statisticsEntity> 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_statisticsEntity>) 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_statisticsEntity> 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<DictionaryDataEntity> dataList = dictionaryDataApi.getList("dc6b2542d94b5434fc61ec1d59592901"); |
||||||
|
dataList.forEach(data -> data.setEnCode("'" + data.getEnCode() + "'")); |
||||||
|
List<Map<String, Object>> maps = this.baseMapper.queryListDl(bidding_project_statisticsPagination, bidding_project_statisticsQueryWrapper.getParamNameValuePairs(), bidding_project_statisticsQueryWrapper.getSqlSegment().replace("paramNameValuePairs.", ""), dataList); |
||||||
|
// for (Map<String, Object> map : maps) {
|
||||||
|
// String reportingUnit = map.get("reportingUnit").toString();
|
||||||
|
// if (StrUtil.isBlank(reportingUnit))continue;
|
||||||
|
// List<String> strings = JSON.parseArray(reportingUnit, String.class);
|
||||||
|
//// List<OrganizeEntity> 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_statisticsEntity>) bidding_project_statisticsObj;
|
||||||
|
// if (bidding_project_statisticsQueryWrapper.getExpression().getNormal().size() > 0) {
|
||||||
|
// bidding_project_statisticsNum++;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// List<String> 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<Bidding_project_statisticsEntity> page = new Page<>(bidding_project_statisticsPagination.getCurrentPage(), bidding_project_statisticsPagination.getPageSize());
|
||||||
|
// IPage<Bidding_project_statisticsEntity> userIPage = this.page(page, bidding_project_statisticsQueryWrapper);
|
||||||
|
// return bidding_project_statisticsPagination.setData(userIPage.getRecords(), userIPage.getTotal());
|
||||||
|
// } else {
|
||||||
|
// List<Bidding_project_statisticsEntity> list = new ArrayList();
|
||||||
|
// return bidding_project_statisticsPagination.setData(list, list.size());
|
||||||
|
// }
|
||||||
|
// } else {
|
||||||
|
// return this.list(bidding_project_statisticsQueryWrapper);
|
||||||
|
// }
|
||||||
|
} |
||||||
|
|
||||||
|
private void checkResult(List<Bidding_project_statisticsEntity> 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<String> strings = JSON.parseArray(reportingUnit, String.class); |
||||||
|
// List<OrganizeEntity> 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<Bidding_project_statisticsEntity> 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<String> getProjectNameList(BiddingProjectDto.GetProjectNameList param) { |
||||||
|
checkParam(param); |
||||||
|
QueryWrapper<Bidding_project_statisticsEntity> 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_statisticsEntity>) 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<DictionaryDataEntity> dataList = dictionaryDataApi.getList("dc6b2542d94b5434fc61ec1d59592901"); |
||||||
|
Optional<DictionaryDataEntity> 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("参数为空[字段名称]"); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
@ -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<ContractMapper, ContractEntity> implements ContractService { |
||||||
|
|
||||||
|
@Autowired |
||||||
|
private UserProvider userProvider; |
||||||
|
|
||||||
|
@Override |
||||||
|
public List<ContractEntity> getlist(Pagination pagination){ |
||||||
|
//通过UserProvider获取用户信息
|
||||||
|
UserInfo UserProvider = userProvider.get(); |
||||||
|
QueryWrapper<ContractEntity> 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<ContractEntity> page = new Page<>(pagination.getCurrentPage(), pagination.getPageSize()); |
||||||
|
IPage<ContractEntity> userIPage = this.page(page, queryWrapper); |
||||||
|
return pagination.setData(userIPage.getRecords(), page.getTotal()); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public ContractEntity getInfo(String id){ |
||||||
|
QueryWrapper<ContractEntity> queryWrapper = new QueryWrapper<>(); |
||||||
|
queryWrapper.lambda().eq(ContractEntity::getId, id); |
||||||
|
return this.getOne(queryWrapper); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
@DSTransactional |
||||||
|
public void create(ContractEntity entity){ |
||||||
|
entity.setId(RandomUtil.uuId()); |
||||||
|
this.save(entity); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
@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()); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -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 <T> QueryWrapper<T> getCondition(AuthorizeConditionModel conditionModel) { |
||||||
|
QueryWrapper<T> queryWhere =(QueryWrapper<T>) conditionModel.getObj(); |
||||||
|
String moduleId = conditionModel.getModuleId(); |
||||||
|
String tableName = conditionModel.getTableName(); |
||||||
|
UserInfo userInfo = userProvider.get(); |
||||||
|
AuthorizeVO model = this.getAuthorize(); |
||||||
|
List<ResourceModel> resourceList = model.getResourceList().stream().filter(m -> m.getModuleId().equals(moduleId)).collect(Collectors.toList()); |
||||||
|
if (resourceList.size() == 0) { |
||||||
|
return null; |
||||||
|
} |
||||||
|
List<ResourceModel> 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<ConditionModel> 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<ConditionModel> 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<String> underOrganizations = organizeApi.getUnderOrganizations(orgId); |
||||||
|
underOrganizations.add(orgId); |
||||||
|
value = underOrganizations; |
||||||
|
} else if (AuthorizeConditionEnum.USERANDUNDER.getCondition().equals(itemValue)) { //用户及用户下属
|
||||||
|
List<String> idsList = new ArrayList<>(); |
||||||
|
if (userInfo.getSubordinateIds().size() > 0) { |
||||||
|
idsList = userInfo.getSubordinateIds(); |
||||||
|
} |
||||||
|
idsList.add(userInfo.getUserId()); |
||||||
|
value = idsList; |
||||||
|
} else if (AuthorizeConditionEnum.USERANDUNDERALl.getCondition().equals(itemValue)) { //用户及用户下属
|
||||||
|
List<String> 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<String> 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; |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,7 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||||
|
<mapper namespace="jnpf.mapper.Base_datainterfaceMapper"> |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mapper> |
||||||
@ -0,0 +1,5 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||||
|
<mapper namespace="jnpf.mapper.BiddingProjectSubscribeChildMapper"> |
||||||
|
|
||||||
|
</mapper> |
||||||
@ -0,0 +1,146 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||||
|
<mapper namespace="jnpf.mapper.BiddingProjectSubscribeMapper"> |
||||||
|
|
||||||
|
|
||||||
|
<resultMap id="BiddingProjectSubscribe" type="jnpf.entity.BiddingProjectSubscribeEntity"> |
||||||
|
<id property="id" column="id"/> |
||||||
|
<result property="managementStyle" column="management_style"/> |
||||||
|
<result property="projectNumber" column="project_number"/> |
||||||
|
<result property="planSubmissionTime" column="plan_submission_time"/> |
||||||
|
<result property="reportingCorp" column="reporting_corp"/> |
||||||
|
<result property="tenderingEntity" column="tendering_entity"/> |
||||||
|
<result property="projectName" column="project_name"/> |
||||||
|
<result property="itemClassification" column="Item_classification"/> |
||||||
|
<result property="organizationalForm" column="organizational_form"/> |
||||||
|
<result property="biddingMethod" column="bidding_method"/> |
||||||
|
<result property="reportedFileName" column="reported_file_name"/> |
||||||
|
<result property="biddingDocumentId" column="bidding_document_id"/> |
||||||
|
<result property="decisionProcedure" column="decision_procedure"/> |
||||||
|
<result property="approvalDocumentsId" column="approval_documents_id"/> |
||||||
|
<result property="finalApprovalTime" column="final_approval_time"/> |
||||||
|
<result property="settingOwinningBidderOne" column="setting_of_winning_bidder_one"/> |
||||||
|
<result property="settingOwinningBidderTwo" column="setting_of_winning_bidder_two"/> |
||||||
|
<result property="scoringIndicatorSettingsOne" column="scoring_indicator_settings_one"/> |
||||||
|
<result property="scoringIndicatorSettingsTwo" column="scoring_indicator_settings_two"/> |
||||||
|
<result property="scoringIndicatorSettingsThree" column="scoring_indicator_settings_three"/> |
||||||
|
<result property="scoringIndicatorSettingsFour" column="scoring_indicator_settings_four"/> |
||||||
|
<result property="agencyOne" column="agency_one"/> |
||||||
|
<result property="agencyTwo" column="agency_two"/> |
||||||
|
<result property="scoringMethodOne" column="scoring_method_one"/> |
||||||
|
<result property="scoringMethodTwo" column="scoring_method_two"/> |
||||||
|
<result property="approvalDocumentsIdTwo" column="approval_documents_id_two"/> |
||||||
|
<result property="resultReportingTime" column="result_reporting_time"/> |
||||||
|
<result property="resultReportedFileName" column="result_reported_file_name"/> |
||||||
|
<result property="bidOpeningTime" column="bid_opening_time"/> |
||||||
|
<result property="explanationObid" column="explanation_of_bid"/> |
||||||
|
<result property="winningBidderAndWinningAmount" column="winning_bidder_and_winning_amount"/> |
||||||
|
<result property="bidEvaluationCommittee" column="bid_evaluation_committee"/> |
||||||
|
<result property="tenderAgencyFee" column="tender_agency_fee"/> |
||||||
|
<result property="attachmentObiddingResultsOneId" column="attachment_of_bidding_results_one_id"/> |
||||||
|
<result property="attachmentObiddingResultsTwoId" column="attachment_of_bidding_results_two_id"/> |
||||||
|
<result property="winningBidder" column="winning_bidder"/> |
||||||
|
<result property="winningBidderCandidate" column="winning_bidder_candidate"/> |
||||||
|
<result property="filingDecisionProcedure" column="filing_decision_procedure"/> |
||||||
|
<result property="filingResultsOneId" column="filing_results_one_id"/> |
||||||
|
<result property="filingResultsTwoId" column="filing_results_two_id"/> |
||||||
|
<result property="filingResultsThreeId" column="filing_results_three_id"/> |
||||||
|
<result property="approvalTimeForResults" column="approval_time_for_results"/> |
||||||
|
<result property="flowid" column="f_flowid"/> |
||||||
|
<result property="flowtaskid" column="f_flowtaskid"/> |
||||||
|
<result property="annexProgrammeDocument" column="annex_programme_document"/> |
||||||
|
<result property="mainStatus" column="main_status"/> |
||||||
|
<result property="mainStatusName" column="main_status_name"/> |
||||||
|
<result property="bidWinningAmount" column="bid_winning_amount"/> |
||||||
|
<result property="isApproval" column="is_approval"/> |
||||||
|
<result property="queryType" column="query_type"/> |
||||||
|
<result property="approvalDocumentsIdJt" column="approval_documents_id_jt"/> |
||||||
|
<result property="archiveNumber" column="archive_number"/> |
||||||
|
<result property="createTime" column="create_time"/> |
||||||
|
<result property="updateTime" column="update_time"/> |
||||||
|
<result property="projectAmount" column="project_amount"/> |
||||||
|
<result property="winningBidderType" column="winning_bidder_type"/> |
||||||
|
<result property="winningBidderInfo" column="winning_bidder_info" typeHandler="jnpf.model.JsonTypeHandler"/> |
||||||
|
<result property="controlPrice" column="control_price"/> |
||||||
|
|
||||||
|
<collection property="childList" column="id" javaType="list" select="selectChildMap"/> |
||||||
|
<collection property="stepList" column="id" javaType="list" select="selectStepMap"/> |
||||||
|
|
||||||
|
</resultMap> |
||||||
|
<select id="selectChildMap" resultMap="childMap"> |
||||||
|
select <include refid="baseChildFields"/> from bidding_project_subscribe_child child where child.main_id = #{id} |
||||||
|
</select> |
||||||
|
<select id="selectStepMap" resultMap="stepMap"> |
||||||
|
select <include refid="baseStepFields"/> from bidding_project_subscribe_step step where step.relation_main_id = #{id} |
||||||
|
</select> |
||||||
|
|
||||||
|
<resultMap id="stepMap" type="jnpf.entity.BiddingProjectSubscribeStep"> |
||||||
|
<id property="id" column="child_id"/> |
||||||
|
<result property="relationMainId" column="relation_main_id"/> |
||||||
|
<result property="relationType" column="relation_type"/> |
||||||
|
<result property="relationChildId" column="relation_child_id"/> |
||||||
|
<result property="dealType" column="deal_type"/> |
||||||
|
<result property="dealTypeName" column="deal_type_name"/> |
||||||
|
<result property="otherRelationId" column="other_relation_id"/> |
||||||
|
<result property="remake" column="remake"/> |
||||||
|
<result property="createTime" column="create_time"/> |
||||||
|
<result property="createUserId" column="create_user_id"/> |
||||||
|
<result property="createUserName" column="create_user_name"/> |
||||||
|
<result property="createOrganizationId" column="create_organization_id"/> |
||||||
|
<result property="createOrganizationName" column="create_organization_name"/> |
||||||
|
|
||||||
|
</resultMap> |
||||||
|
|
||||||
|
<resultMap id="childMap" type="jnpf.entity.BiddingProjectSubscribeChild"> |
||||||
|
<id property="childId" column="child_id"/> |
||||||
|
<result property="mainId" column="main_id"/> |
||||||
|
<result property="childStatus" column="child_status"/> |
||||||
|
<result property="childStatusName" column="child_status_name"/> |
||||||
|
<result property="userDeptId" column="user_dept_id"/> |
||||||
|
<result property="userDeptName" column="user_dept_name"/> |
||||||
|
<result property="userId" column="user_id"/> |
||||||
|
<result property="userName" column="user_name"/> |
||||||
|
<result property="remake" column="remake"/> |
||||||
|
<result property="createTime" column="create_time"/> |
||||||
|
<result property="updateTime" column="update_time"/> |
||||||
|
<result property="rootChildFlag" column="root_child_flag"/> |
||||||
|
<result property="rootChildId" column="root_child_id"/> |
||||||
|
<result property="createUserId" column="create_user_id"/> |
||||||
|
<result property="createUserName" column="create_user_name"/> |
||||||
|
|
||||||
|
</resultMap> |
||||||
|
|
||||||
|
<sql id="baseFields"> |
||||||
|
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 |
||||||
|
</sql> |
||||||
|
<sql id="baseStepFields"> |
||||||
|
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 |
||||||
|
</sql> |
||||||
|
|
||||||
|
<sql id="baseChildFields"> |
||||||
|
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 |
||||||
|
</sql> |
||||||
|
<select id="queryList" resultMap="BiddingProjectSubscribe" parameterType="jnpf.model.bidding_project_subscribe.BiddingProjectSubscribePagination"> |
||||||
|
select distinct <include refid="baseFields"/> |
||||||
|
from jnpf_cloud.bidding_project_subscribe main |
||||||
|
left join jnpf_cloud.bidding_project_subscribe_child child on child.main_id=main.id |
||||||
|
where 1=1 |
||||||
|
<if test="sql != null and sql !=''"> |
||||||
|
and main.id in (select child.main_id from jnpf_cloud.bidding_project_subscribe_child child where root_child_flag='0' and ${sql}) |
||||||
|
</if> |
||||||
|
|
||||||
|
<if test="param.childIdList != null and param.childIdList.size()>0"> |
||||||
|
and main.id in |
||||||
|
<foreach collection="param.childIdList" item="item" open="(" separator="," close=")"> |
||||||
|
#{item} |
||||||
|
</foreach> |
||||||
|
</if> |
||||||
|
order by main.create_time desc |
||||||
|
</select> |
||||||
|
|
||||||
|
<select id="getInfoById" resultMap="BiddingProjectSubscribe" parameterType="jnpf.model.bidding_project_subscribe.BiddingProjectSubscribePagination"> |
||||||
|
select <include refid="baseFields"/> |
||||||
|
from jnpf_cloud.bidding_project_subscribe main |
||||||
|
where main.id=#{id} |
||||||
|
</select> |
||||||
|
</mapper> |
||||||
@ -0,0 +1,5 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||||
|
<mapper namespace="jnpf.mapper.BiddingProjectSubscribeStepMapper"> |
||||||
|
|
||||||
|
</mapper> |
||||||
@ -0,0 +1,126 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||||
|
<mapper namespace="jnpf.mapper.Bidding_project_statisticsMapper"> |
||||||
|
|
||||||
|
|
||||||
|
<resultMap id="staticDataResultMap" type="jnpf.entity.Bidding_project_statisticsEntity"> |
||||||
|
<id property="id" column="child_id"/> |
||||||
|
<result property="reportingUnit" column="zero"/> |
||||||
|
<result property="projectsAmount" column="one"/> |
||||||
|
<result property="projectsNums" column="one"/> |
||||||
|
<result property="engineering" column="two"/> |
||||||
|
<result property="goods" column="tree"/> |
||||||
|
<result property="service" column="four"/> |
||||||
|
<result property="rentOut" column="five"/> |
||||||
|
<result property="agency1" column="six"/> |
||||||
|
<result property="other" column="seven"/> |
||||||
|
|
||||||
|
</resultMap> |
||||||
|
<select id="queryList" resultMap="staticDataResultMap"> |
||||||
|
SELECT |
||||||
|
reporting_corp AS zero, |
||||||
|
SUM(CASE WHEN Item_classification BETWEEN '1' AND '6' THEN 1 ELSE 0 END) AS one, |
||||||
|
SUM(CASE WHEN Item_classification = '1' THEN 1 ELSE 0 END) AS two, |
||||||
|
SUM(CASE WHEN Item_classification = '2' THEN 1 ELSE 0 END) AS tree, |
||||||
|
SUM(CASE WHEN Item_classification = '3' THEN 1 ELSE 0 END) AS four, |
||||||
|
SUM(CASE WHEN Item_classification = '4' THEN 1 ELSE 0 END) AS five, |
||||||
|
SUM(CASE WHEN Item_classification = '5' THEN 1 ELSE 0 END) AS six, |
||||||
|
SUM(CASE WHEN Item_classification = '6' THEN 1 ELSE 0 END) AS seven |
||||||
|
FROM |
||||||
|
jnpf_cloud.bidding_project_subscribe main |
||||||
|
where main.id in ( |
||||||
|
select main_id from jnpf_cloud.bidding_project_subscribe_child child where 1=1 and root_child_flag='0'and main.main_status='7' |
||||||
|
<if test="sql != null and sql !=''"> |
||||||
|
and ${sql} |
||||||
|
</if> |
||||||
|
<if test="param.startTime != null and param.startTime !='' and param.endTime != null and param.endTime !=''"> |
||||||
|
and child.create_time between #{param.startTime} and #{param.endTime} |
||||||
|
</if> |
||||||
|
) |
||||||
|
|
||||||
|
GROUP BY reporting_corp; |
||||||
|
</select> |
||||||
|
|
||||||
|
<select id="queryListDl" resultType="com.alibaba.fastjson.JSONObject"> |
||||||
|
SELECT |
||||||
|
reporting_corp AS reportingUnit, |
||||||
|
SUM(CASE ifnull(agency_one, agency_two) WHEN null THEN 0 ELSE 1 END) projectsNums, |
||||||
|
<if test="dataList != null and dataList.size()>0"> |
||||||
|
<foreach collection="dataList" item="item" open="" separator="," close=""> |
||||||
|
SUM(CASE ifnull(agency_one, agency_two) WHEN ${item.enCode} THEN 1 ELSE 0 END) ${item.simpleSpelling} |
||||||
|
</foreach> |
||||||
|
</if> |
||||||
|
from |
||||||
|
jnpf_cloud.bidding_project_subscribe main |
||||||
|
where main.id in ( |
||||||
|
select main_id from jnpf_cloud.bidding_project_subscribe_child child where 1=1 and root_child_flag='0'and main.main_status='7' |
||||||
|
<if test="sql != null and sql !=''"> |
||||||
|
and ${sql} |
||||||
|
</if> |
||||||
|
<if test="param.startTime != null and param.startTime !='' and param.endTime != null and param.endTime !=''"> |
||||||
|
and child.create_time between #{param.startTime} and #{param.endTime} |
||||||
|
</if> |
||||||
|
) |
||||||
|
GROUP BY reporting_corp |
||||||
|
</select> |
||||||
|
|
||||||
|
<select id="queryListJe" resultMap="staticDataResultMap"> |
||||||
|
SELECT |
||||||
|
reporting_corp AS zero, |
||||||
|
SUM(CASE WHEN Item_classification BETWEEN '1' AND '6' THEN project_amount ELSE 0 END) AS one, |
||||||
|
SUM(CASE WHEN Item_classification = '1' THEN project_amount ELSE 0 END) AS two, |
||||||
|
SUM(CASE WHEN Item_classification = '2' THEN project_amount ELSE 0 END) AS tree, |
||||||
|
SUM(CASE WHEN Item_classification = '3' THEN project_amount ELSE 0 END) AS four, |
||||||
|
SUM(CASE WHEN Item_classification = '4' THEN project_amount ELSE 0 END) AS five, |
||||||
|
SUM(CASE WHEN Item_classification = '5' THEN project_amount ELSE 0 END) AS six, |
||||||
|
SUM(CASE WHEN Item_classification = '6' THEN project_amount ELSE 0 END) AS seven |
||||||
|
FROM |
||||||
|
jnpf_cloud.bidding_project_subscribe main |
||||||
|
where main.id in ( |
||||||
|
select main_id from jnpf_cloud.bidding_project_subscribe_child child where 1=1 and root_child_flag='0'and main.main_status='7' |
||||||
|
<if test="sql != null and sql !=''"> |
||||||
|
and ${sql} |
||||||
|
</if> |
||||||
|
<if test="param.startTime != null and param.startTime !='' and param.endTime != null and param.endTime !=''"> |
||||||
|
and child.create_time between #{param.startTime} and #{param.endTime} |
||||||
|
</if> |
||||||
|
) |
||||||
|
GROUP BY reporting_corp; |
||||||
|
</select> |
||||||
|
<select id="getProjectNameList" resultType="java.lang.String"> |
||||||
|
SELECT |
||||||
|
<if test="param.statisticalType != null and param.statisticalType =='1'.toString()"> |
||||||
|
main.project_name |
||||||
|
</if> |
||||||
|
<if test="param.statisticalType != null and param.statisticalType =='3'.toString()"> |
||||||
|
concat(main.project_name,': ',main.project_amount,'万元') |
||||||
|
</if> |
||||||
|
<if test="param.statisticalType != null and param.statisticalType =='2'.toString()"> |
||||||
|
main.project_name |
||||||
|
</if> |
||||||
|
FROM |
||||||
|
jnpf_cloud.bidding_project_subscribe main |
||||||
|
<where> |
||||||
|
main.reporting_corp=#{param.projectName} |
||||||
|
<if test="param.statisticalType != null and (param.statisticalType =='1'.toString() or param.statisticalType =='3'.toString())"> |
||||||
|
and main.item_classification=#{param.code} |
||||||
|
</if> |
||||||
|
<if test="param.statisticalType != null and (param.statisticalType =='2'.toString())"> |
||||||
|
and ifnull(main.agency_one, main.agency_two)=#{param.code} |
||||||
|
</if> |
||||||
|
|
||||||
|
and main.id in ( |
||||||
|
select main_id from jnpf_cloud.bidding_project_subscribe_child child |
||||||
|
where |
||||||
|
root_child_flag='0' |
||||||
|
and main.main_status='7' |
||||||
|
<if test="param.sql != null and param.sql !=''"> |
||||||
|
and ${param.sql} |
||||||
|
</if> |
||||||
|
<if test="param.startTime != null and param.startTime !='' and param.endTime != null and param.endTime !=''"> |
||||||
|
and child.create_time between #{param.startTime} and #{param.endTime} |
||||||
|
</if> |
||||||
|
) |
||||||
|
</where> |
||||||
|
</select> |
||||||
|
</mapper> |
||||||
@ -0,0 +1,28 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" |
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||||
|
<parent> |
||||||
|
<artifactId>jnpf-tendering</artifactId> |
||||||
|
<groupId>com.jnpf</groupId> |
||||||
|
<version>3.7.0-RELEASE</version> |
||||||
|
</parent> |
||||||
|
<modelVersion>4.0.0</modelVersion> |
||||||
|
|
||||||
|
<artifactId>jnpf-tendering-controller</artifactId> |
||||||
|
<dependencies> |
||||||
|
<dependency> |
||||||
|
<groupId>com.jnpf</groupId> |
||||||
|
<artifactId>jnpf-common-springaop</artifactId> |
||||||
|
<version>${project.version}</version> |
||||||
|
</dependency> |
||||||
|
<dependency> |
||||||
|
<groupId>com.jnpf</groupId> |
||||||
|
<artifactId>jnpf-tendering-biz</artifactId> |
||||||
|
<version>${project.version}</version> |
||||||
|
<scope>compile</scope> |
||||||
|
</dependency> |
||||||
|
</dependencies> |
||||||
|
|
||||||
|
|
||||||
|
</project> |
||||||
@ -0,0 +1,168 @@ |
|||||||
|
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.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 GeneraterSwapUtil 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<Base_datainterfaceEntity> list= base_datainterfaceService.getList(base_datainterfacePagination); |
||||||
|
List<Map<String, Object>> realList=new ArrayList<>(); |
||||||
|
for (Base_datainterfaceEntity entity : list) { |
||||||
|
Map<String, Object> 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( |
||||||
|
generaterSwapUtil.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( |
||||||
|
generaterSwapUtil.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<String, Object> 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); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,329 @@ |
|||||||
|
package jnpf.controller; |
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil; |
||||||
|
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.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 GeneraterSwapUtil 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<BiddingProjectSubscribeEntity> list = biddingProjectSubscribeService.getList(biddingProjectSubscribePagination); |
||||||
|
List<Map<String, Object>> realList = new ArrayList<>(); |
||||||
|
// // 方式一:使用fastjson
|
||||||
|
// SerializeConfig config = new SerializeConfig();
|
||||||
|
// config.propertyNamingStrategy = PropertyNamingStrategy.SnakeCase;
|
||||||
|
for (BiddingProjectSubscribeEntity entity : list) { |
||||||
|
|
||||||
|
|
||||||
|
Map<String, Object> bidding_project_subscribeMap = JsonUtil.entityToMap(entity); |
||||||
|
|
||||||
|
// Map<String, Object> 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<String, Object> 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 mainId = RandomUtil.uuId(); |
||||||
|
UserInfo userInfo = userProvider.get(); |
||||||
|
UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId()); |
||||||
|
bidding_project_subscribeForm = JsonUtil.getJsonToBean( |
||||||
|
generaterSwapUtil.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); |
||||||
|
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); |
||||||
|
} |
||||||
|
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); |
||||||
|
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<String, Object> 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); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,445 @@ |
|||||||
|
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.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 GeneraterSwapUtil 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<Map<String, Object>> list = bidding_project_statisticsService.getList(bidding_project_statisticsPagination); |
||||||
|
List<Map<String, Object>> realList = new ArrayList<>(); |
||||||
|
if (StrUtil.equalsAny(bidding_project_statisticsPagination.getQueryType(), "1","3")) { |
||||||
|
for (Map<String, Object> entity : list) { |
||||||
|
Map<String, Object> bidding_project_statisticsMap = JsonUtil.entityToMap(entity); |
||||||
|
bidding_project_statisticsMap.put("id", bidding_project_statisticsMap.get("id")); |
||||||
|
//副表数据
|
||||||
|
//子表数据
|
||||||
|
realList.add(bidding_project_statisticsMap); |
||||||
|
} |
||||||
|
} else { |
||||||
|
List<DictionaryDataEntity> dataList = dictionaryDataApi.getList("dc6b2542d94b5434fc61ec1d59592901"); |
||||||
|
for (Map<String, Object> entity : list) { |
||||||
|
Map<String, Object> bidding_project_statisticsMap = new TreeMap<>(new Comparator<String>() { |
||||||
|
@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<DictionaryDataEntity> 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<Map<String, Object>> list = bidding_project_statisticsService.getList(bidding_project_statisticsPagination); |
||||||
|
List<Map<String, Object>> realList = new ArrayList<>(); |
||||||
|
for (Map<String, Object> entity : list) { |
||||||
|
Map<String, Object> 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<DictionaryDataEntity> 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<Map<String, Object>> list, List<String> keys, UserInfo userInfo, String queryType) { |
||||||
|
DownloadVO vo = DownloadVO.builder().build(); |
||||||
|
List<ExcelExportEntity> 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<String> 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<String> keylist = keys; |
||||||
|
} |
||||||
|
} else { |
||||||
|
List<DictionaryDataEntity> 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<Map<String, Object>> dataList = new ArrayList<>(); |
||||||
|
for (Map<String, Object> 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<Map<String, Object>> childList = (List<Map<String, Object>>) o; |
||||||
|
for (Map<String, Object> 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( |
||||||
|
generaterSwapUtil.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( |
||||||
|
generaterSwapUtil.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<String, Object> 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); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
@ -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<ContractService, ContractEntity> { |
||||||
|
|
||||||
|
@Autowired |
||||||
|
private ContractService contractService; |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取列表 |
||||||
|
* |
||||||
|
* @param pagination 分页模型 |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@Operation(summary = "获取列表") |
||||||
|
@GetMapping("/List") |
||||||
|
public ActionResult<PageListVO<ContractListVO>> list(Pagination pagination) { |
||||||
|
List<ContractEntity> entity = contractService.getlist(pagination); |
||||||
|
List<ContractListVO> 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<ContractInfoVO> 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()); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,21 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" |
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||||
|
<parent> |
||||||
|
<artifactId>jnpf-tendering</artifactId> |
||||||
|
<groupId>com.jnpf</groupId> |
||||||
|
<version>3.7.0-RELEASE</version> |
||||||
|
</parent> |
||||||
|
<modelVersion>4.0.0</modelVersion> |
||||||
|
|
||||||
|
<artifactId>jnpf-tendering-entity</artifactId> |
||||||
|
|
||||||
|
<dependencies> |
||||||
|
<dependency> |
||||||
|
<groupId>com.jnpf</groupId> |
||||||
|
<artifactId>jnpf-common-database</artifactId> |
||||||
|
</dependency> |
||||||
|
</dependencies> |
||||||
|
|
||||||
|
</project> |
||||||
@ -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; |
||||||
|
} |
||||||
@ -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; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @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; |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,173 @@ |
|||||||
|
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<BiddingProjectDto.WinningBidderParam> 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(exist = false) |
||||||
|
private List<BiddingProjectSubscribeChild> childList; |
||||||
|
@TableField(exist = false) |
||||||
|
private List<BiddingProjectSubscribeStep> stepList; |
||||||
|
|
||||||
|
|
||||||
|
@TableField(exist = false) |
||||||
|
private List<BiddingProjectEnum.Button> buttonList=new ArrayList<>(); |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
@ -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; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @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; |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
@ -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; |
||||||
|
} |
||||||
@ -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<String> implements Serializable { |
||||||
|
|
||||||
|
@TableField("F_CONTRACTNAME") |
||||||
|
private String contractName; |
||||||
|
|
||||||
|
@TableField("F_MYTELEPHONE") |
||||||
|
private String mytelePhone; |
||||||
|
|
||||||
|
@TableField("F_FILEJSON") |
||||||
|
private String fileJson; |
||||||
|
|
||||||
|
} |
||||||
@ -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; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -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; |
||||||
|
|
||||||
|
} |
||||||
@ -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; |
||||||
|
} |
||||||
@ -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 { |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,56 @@ |
|||||||
|
package jnpf.model; |
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON; |
||||||
|
import org.apache.ibatis.type.BaseTypeHandler; |
||||||
|
import org.apache.ibatis.type.JdbcType; |
||||||
|
import org.apache.ibatis.type.MappedJdbcTypes; |
||||||
|
import org.apache.ibatis.type.MappedTypes; |
||||||
|
|
||||||
|
import java.sql.CallableStatement; |
||||||
|
import java.sql.PreparedStatement; |
||||||
|
import java.sql.ResultSet; |
||||||
|
import java.sql.SQLException; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
|
||||||
|
@MappedTypes({List.class}) |
||||||
|
@MappedJdbcTypes(JdbcType.VARCHAR) |
||||||
|
public class JsonTypeHandler<T> extends BaseTypeHandler<T> { |
||||||
|
|
||||||
|
private final Class<T> type; |
||||||
|
|
||||||
|
public JsonTypeHandler(Class<T> type) { |
||||||
|
if (type == null) { |
||||||
|
throw new IllegalArgumentException("Type argument cannot be null"); |
||||||
|
} |
||||||
|
this.type = type; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void setNonNullParameter(PreparedStatement ps, int i, T parameter, JdbcType jdbcType) throws SQLException { |
||||||
|
// 将对象转换为JSON字符串并设置到PreparedStatement中
|
||||||
|
ps.setString(i, JSON.toJSONString(parameter)); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public T getNullableResult(ResultSet rs, String columnName) throws SQLException { |
||||||
|
// 从ResultSet中获取JSON字符串并转换为指定类型的对象
|
||||||
|
String jsonString = rs.getString(columnName); |
||||||
|
return JSON.parseObject(jsonString, type); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public T getNullableResult(ResultSet rs, int columnIndex) throws SQLException { |
||||||
|
// 从ResultSet中获取JSON字符串并转换为指定类型的对象
|
||||||
|
String jsonString = rs.getString(columnIndex); |
||||||
|
return JSON.parseObject(jsonString, type); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public T getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { |
||||||
|
// 从CallableStatement中获取JSON字符串并转换为指定类型的对象
|
||||||
|
String jsonString = cs.getString(columnIndex); |
||||||
|
return JSON.parseObject(jsonString, type); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
File diff suppressed because one or more lines are too long
@ -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; |
||||||
|
} |
||||||
@ -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; |
||||||
|
} |
||||||
File diff suppressed because one or more lines are too long
@ -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; |
||||||
|
} |
||||||
@ -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"; |
||||||
|
} |
||||||
File diff suppressed because one or more lines are too long
@ -0,0 +1,157 @@ |
|||||||
|
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<BiddingProjectDto.WinningBidderParam> winningBidderInfo; |
||||||
|
/** |
||||||
|
*1-单一 2-多标段 3-入围机制 |
||||||
|
*/ |
||||||
|
@JsonProperty("winningBidderType") |
||||||
|
private String winningBidderType; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 保存类型 1-提交 2-暂存 |
||||||
|
* */ |
||||||
|
private String saveType="1"; |
||||||
|
} |
||||||
@ -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<String> 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; |
||||||
|
} |
||||||
@ -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<BaseWinningBidderParam> 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; |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,45 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" |
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||||
|
<parent> |
||||||
|
<artifactId>jnpf-tendering</artifactId> |
||||||
|
<groupId>com.jnpf</groupId> |
||||||
|
<version>3.7.0-RELEASE</version> |
||||||
|
</parent> |
||||||
|
<modelVersion>4.0.0</modelVersion> |
||||||
|
|
||||||
|
<artifactId>jnpf-tendering-server</artifactId> |
||||||
|
|
||||||
|
<dependencies> |
||||||
|
<dependency> |
||||||
|
<groupId>com.jnpf</groupId> |
||||||
|
<artifactId>jnpf-tendering-controller</artifactId> |
||||||
|
<version>${project.version}</version> |
||||||
|
</dependency> |
||||||
|
|
||||||
|
</dependencies> |
||||||
|
|
||||||
|
<build> |
||||||
|
<finalName>jnpf-tendering-${project.version}</finalName> |
||||||
|
<plugins> |
||||||
|
<plugin> |
||||||
|
<groupId>org.springframework.boot</groupId> |
||||||
|
<artifactId>spring-boot-maven-plugin</artifactId> |
||||||
|
<configuration> |
||||||
|
<!-- 指定该Main Class为全局的唯一入口 --> |
||||||
|
<mainClass>jnpf.JnpfTenderingApplication</mainClass> |
||||||
|
<layout>ZIP</layout> |
||||||
|
</configuration> |
||||||
|
<executions> |
||||||
|
<execution> |
||||||
|
<goals> |
||||||
|
<goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中--> |
||||||
|
</goals> |
||||||
|
</execution> |
||||||
|
</executions> |
||||||
|
</plugin> |
||||||
|
</plugins> |
||||||
|
</build> |
||||||
|
|
||||||
|
</project> |
||||||
@ -0,0 +1,16 @@ |
|||||||
|
package jnpf; |
||||||
|
|
||||||
|
import org.springframework.boot.SpringApplication; |
||||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication; |
||||||
|
import org.springframework.cloud.openfeign.EnableFeignClients; |
||||||
|
|
||||||
|
@SpringBootApplication |
||||||
|
@EnableFeignClients |
||||||
|
public class JnpfTenderingApplication { |
||||||
|
|
||||||
|
public static void main(String[] args) { |
||||||
|
SpringApplication.run(JnpfTenderingApplication.class, args); |
||||||
|
System.out.println("tendering启动成功"); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,17 @@ |
|||||||
|
# 应用服务器 |
||||||
|
server: |
||||||
|
tomcat: |
||||||
|
uri-encoding: UTF-8 |
||||||
|
port: 30300 |
||||||
|
|
||||||
|
management: |
||||||
|
endpoints: |
||||||
|
web: |
||||||
|
exposure: |
||||||
|
include: '*' |
||||||
|
endpoint: |
||||||
|
health: |
||||||
|
show-details: always |
||||||
|
# 开启在线日志查看功能 |
||||||
|
logfile: |
||||||
|
enabled: true |
||||||
@ -0,0 +1,41 @@ |
|||||||
|
spring: |
||||||
|
application: |
||||||
|
# 应用名称 |
||||||
|
name: jnpf-tendering |
||||||
|
main: |
||||||
|
allow-bean-definition-overriding: true |
||||||
|
allow-circular-references: true |
||||||
|
cloud: |
||||||
|
nacos: |
||||||
|
username: nacos |
||||||
|
password: nacos |
||||||
|
discovery: |
||||||
|
# 服务注册地址 |
||||||
|
server-addr: ${nacos.hostname:47.96.162.218}:${nacos.port:8848} |
||||||
|
namespace: 69c4eecb-05bd-4041-81fe-1473f95f578c |
||||||
|
config: |
||||||
|
server-addr: ${spring.cloud.nacos.discovery.server-addr} |
||||||
|
file-extension: yaml |
||||||
|
group: DEFAULT_GROUP |
||||||
|
namespace: ${spring.cloud.nacos.discovery.namespace} |
||||||
|
extension-configs: |
||||||
|
- # 数据源及Redis配置 |
||||||
|
data-id: datasource.yaml |
||||||
|
group: DEFAULT_GROUP |
||||||
|
refresh: true |
||||||
|
- # 静态资源配置 |
||||||
|
data-id: resources.yaml |
||||||
|
group: DEFAULT_GROUP |
||||||
|
refresh: true |
||||||
|
- # 系统配置 |
||||||
|
data-id: system-config.yaml |
||||||
|
group: DEFAULT_GROUP |
||||||
|
refresh: true |
||||||
|
- # 框架中间件配置 |
||||||
|
data-id: frame-config.yaml |
||||||
|
group: DEFAULT_GROUP |
||||||
|
refresh: true |
||||||
|
- # 日志配置 |
||||||
|
data-id: logger.yaml |
||||||
|
group: DEFAULT_GROUP |
||||||
|
refresh: true |
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,347 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<configuration> |
||||||
|
|
||||||
|
<!--日志格式应用spring boot默认的格式,也可以自己更改--> |
||||||
|
<include resource="org/springframework/boot/logging/logback/defaults.xml"/> |
||||||
|
<property name="FILE_LOG_PATTERN" value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%thread] [%logger{50}] [%M] [%line] - %msg%n" /> |
||||||
|
<springProperty scope="context" name="SERVICE_NAME" source="spring.application.name" defaultValue="jnpf"/> |
||||||
|
|
||||||
|
<!--定义日志存放的位置,默认存放在项目启动的相对路径的目录--> |
||||||
|
<springProperty scope="context" name="LOG_PATH" source="log.path" defaultValue="log/${SERVICE_NAME}"/> |
||||||
|
<!-- 全局日志等级 --> |
||||||
|
<springProperty scope="context" name="LOG_LEVEL_ROOT" source="log.level.root" defaultValue="INFO"/> |
||||||
|
<!-- 服务自定义等级 如需自定义服务日志等级 修改下方的【自定义服务名】与nacos上的log.level.自定义服务名=等级 --> |
||||||
|
<springProperty scope="context" name="LOG_LEVEL" source="log.level.jnpf-example" defaultValue="${LOG_LEVEL_ROOT}"/> |
||||||
|
|
||||||
|
<!-- 日志记录器,日期滚动记录,level为 ERROR 日志 --> |
||||||
|
<appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
||||||
|
|
||||||
|
<!-- 正在记录的日志文件的路径及文件名 --> |
||||||
|
<file>${LOG_PATH}/log_error.log</file> |
||||||
|
|
||||||
|
<!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
||||||
|
|
||||||
|
<!-- 归档的日志文件的路径,%d{yyyy-MM-dd}指定日期格式,%i指定索引 --> |
||||||
|
<fileNamePattern>${LOG_PATH}/error/%d{yyyy-MM-dd,aux}/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
||||||
|
<!--日志最大的历史7天--> |
||||||
|
<maxHistory>7</maxHistory> |
||||||
|
|
||||||
|
<!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, |
||||||
|
命名日志文件,例如log-error-2013-12-21.0.log --> |
||||||
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
||||||
|
<maxFileSize>10MB</maxFileSize> |
||||||
|
</timeBasedFileNamingAndTriggeringPolicy> |
||||||
|
</rollingPolicy> |
||||||
|
|
||||||
|
<!-- 追加方式记录日志 --> |
||||||
|
<append>true</append> |
||||||
|
|
||||||
|
<!-- 日志文件的格式 --> |
||||||
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> |
||||||
|
<pattern>${FILE_LOG_PATTERN}</pattern> |
||||||
|
<charset>utf-8</charset> |
||||||
|
</encoder> |
||||||
|
|
||||||
|
<!-- 此日志文件只记录error级别的 --> |
||||||
|
<filter class="ch.qos.logback.classic.filter.LevelFilter"> |
||||||
|
<level>error</level> |
||||||
|
<onMatch>ACCEPT</onMatch> |
||||||
|
<onMismatch>DENY</onMismatch> |
||||||
|
</filter> |
||||||
|
</appender> |
||||||
|
|
||||||
|
|
||||||
|
<!-- 日志记录器,日期滚动记录,level为 INFO 日志 --> |
||||||
|
<appender name="FILE_INFO" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
||||||
|
|
||||||
|
<!-- 正在记录的日志文件的路径及文件名 --> |
||||||
|
<file>${LOG_PATH}/log_info.log</file> |
||||||
|
|
||||||
|
<!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
||||||
|
|
||||||
|
<!-- 归档的日志文件的路径,%d{yyyy-MM-dd}指定日期格式,%i指定索引 --> |
||||||
|
<fileNamePattern>${LOG_PATH}/info/%d{yyyy-MM-dd,aux}/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
||||||
|
<!--日志最大的历史7天--> |
||||||
|
<maxHistory>7</maxHistory> |
||||||
|
|
||||||
|
<!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, |
||||||
|
命名日志文件,例如log-error-2013-12-21.0.log --> |
||||||
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
||||||
|
<maxFileSize>10MB</maxFileSize> |
||||||
|
</timeBasedFileNamingAndTriggeringPolicy> |
||||||
|
</rollingPolicy> |
||||||
|
|
||||||
|
<!-- 追加方式记录日志 --> |
||||||
|
<append>true</append> |
||||||
|
|
||||||
|
<!-- 日志文件的格式 --> |
||||||
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> |
||||||
|
<pattern>${FILE_LOG_PATTERN}</pattern> |
||||||
|
<charset>utf-8</charset> |
||||||
|
</encoder> |
||||||
|
|
||||||
|
<!-- 此日志文件只记录info级别的 --> |
||||||
|
<filter class="ch.qos.logback.classic.filter.LevelFilter"> |
||||||
|
<level>info</level> |
||||||
|
<onMatch>ACCEPT</onMatch> |
||||||
|
<onMismatch>DENY</onMismatch> |
||||||
|
</filter> |
||||||
|
</appender> |
||||||
|
|
||||||
|
|
||||||
|
<!-- 日志记录器,日期滚动记录,level为 WARN 日志 --> |
||||||
|
<appender name="FILE_WARN" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
||||||
|
|
||||||
|
<!-- 正在记录的日志文件的路径及文件名 --> |
||||||
|
<file>${LOG_PATH}/log_warn.log</file> |
||||||
|
|
||||||
|
<!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
||||||
|
|
||||||
|
<!-- 归档的日志文件的路径,%d{yyyy-MM-dd}指定日期格式,%i指定索引 --> |
||||||
|
<fileNamePattern>${LOG_PATH}/warn/%d{yyyy-MM-dd,aux}/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
||||||
|
<!--日志最大的历史7天--> |
||||||
|
<maxHistory>7</maxHistory> |
||||||
|
|
||||||
|
<!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, |
||||||
|
命名日志文件,例如log-error-2013-12-21.0.log --> |
||||||
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
||||||
|
<maxFileSize>10MB</maxFileSize> |
||||||
|
</timeBasedFileNamingAndTriggeringPolicy> |
||||||
|
</rollingPolicy> |
||||||
|
|
||||||
|
<!-- 追加方式记录日志 --> |
||||||
|
<append>true</append> |
||||||
|
|
||||||
|
<!-- 日志文件的格式 --> |
||||||
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> |
||||||
|
<pattern>${FILE_LOG_PATTERN}</pattern> |
||||||
|
<charset>utf-8</charset> |
||||||
|
</encoder> |
||||||
|
|
||||||
|
<!-- 此日志文件只记录warn级别的 --> |
||||||
|
<filter class="ch.qos.logback.classic.filter.LevelFilter"> |
||||||
|
<level>warn</level> |
||||||
|
<onMatch>ACCEPT</onMatch> |
||||||
|
<onMismatch>DENY</onMismatch> |
||||||
|
</filter> |
||||||
|
</appender> |
||||||
|
|
||||||
|
<!-- 日志记录器,日期滚动记录,level为 DEBUG 日志 --> |
||||||
|
<appender name="FILE_DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
||||||
|
|
||||||
|
<!-- 正在记录的日志文件的路径及文件名 --> |
||||||
|
<file>${LOG_PATH}/log_debug.log</file> |
||||||
|
|
||||||
|
<!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
||||||
|
|
||||||
|
<!-- 归档的日志文件的路径,%d{yyyy-MM-dd}指定日期格式,%i指定索引 --> |
||||||
|
<fileNamePattern>${LOG_PATH}/debug/%d{yyyy-MM-dd,aux}/log-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
||||||
|
<!--日志最大的历史7天--> |
||||||
|
<maxHistory>7</maxHistory> |
||||||
|
|
||||||
|
<!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, |
||||||
|
命名日志文件,例如log-error-2013-12-21.0.log --> |
||||||
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
||||||
|
<maxFileSize>10MB</maxFileSize> |
||||||
|
</timeBasedFileNamingAndTriggeringPolicy> |
||||||
|
</rollingPolicy> |
||||||
|
|
||||||
|
<!-- 追加方式记录日志 --> |
||||||
|
<append>true</append> |
||||||
|
|
||||||
|
<!-- 日志文件的格式 --> |
||||||
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> |
||||||
|
<pattern>${FILE_LOG_PATTERN}</pattern> |
||||||
|
<charset>utf-8</charset> |
||||||
|
</encoder> |
||||||
|
|
||||||
|
<!-- 此日志文件只记录debug级别的 --> |
||||||
|
<filter class="ch.qos.logback.classic.filter.LevelFilter"> |
||||||
|
<level>debug</level> |
||||||
|
<onMatch>ACCEPT</onMatch> |
||||||
|
<onMismatch>DENY</onMismatch> |
||||||
|
</filter> |
||||||
|
</appender> |
||||||
|
|
||||||
|
|
||||||
|
<!-- 日志记录器,日期滚动记录,所有日志 --> |
||||||
|
<appender name="FILE_ALL" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
||||||
|
|
||||||
|
<!-- 正在记录的日志文件的路径及文件名 --> |
||||||
|
<file>${LOG_PATH}/log_total.log</file> |
||||||
|
|
||||||
|
<!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
||||||
|
|
||||||
|
<!-- 归档的日志文件的路径,%d{yyyy-MM-dd}指定日期格式,%i指定索引 --> |
||||||
|
<fileNamePattern>${LOG_PATH}/total/%d{yyyy-MM-dd,aux}/log-total-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
||||||
|
<!--日志最大的历史7天--> |
||||||
|
<maxHistory>7</maxHistory> |
||||||
|
|
||||||
|
<!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, |
||||||
|
命名日志文件,例如log-error-2013-12-21.0.log --> |
||||||
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
||||||
|
<maxFileSize>10MB</maxFileSize> |
||||||
|
</timeBasedFileNamingAndTriggeringPolicy> |
||||||
|
</rollingPolicy> |
||||||
|
|
||||||
|
<!-- 追加方式记录日志 --> |
||||||
|
<append>true</append> |
||||||
|
|
||||||
|
<!-- 日志文件的格式 --> |
||||||
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> |
||||||
|
<pattern>${FILE_LOG_PATTERN}</pattern> |
||||||
|
<charset>utf-8</charset> |
||||||
|
</encoder> |
||||||
|
</appender> |
||||||
|
|
||||||
|
|
||||||
|
<!-- 日志记录器,日期滚动记录,level 根据配置动态输出日志 --> |
||||||
|
<appender name="FILE_RELEASE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
||||||
|
|
||||||
|
<!-- 正在记录的日志文件的路径及文件名 --> |
||||||
|
<file>${LOG_PATH}/log_release.log</file> |
||||||
|
|
||||||
|
<!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
||||||
|
|
||||||
|
<!-- 归档的日志文件的路径,%d{yyyy-MM-dd}指定日期格式,%i指定索引 --> |
||||||
|
<fileNamePattern>${LOG_PATH}/release/%d{yyyy-MM-dd,aux}/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
||||||
|
<!--日志最大的历史7天--> |
||||||
|
<maxHistory>7</maxHistory> |
||||||
|
|
||||||
|
<!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, |
||||||
|
命名日志文件,例如log-error-2013-12-21.0.log --> |
||||||
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
||||||
|
<maxFileSize>10MB</maxFileSize> |
||||||
|
</timeBasedFileNamingAndTriggeringPolicy> |
||||||
|
</rollingPolicy> |
||||||
|
|
||||||
|
<!-- 追加方式记录日志 --> |
||||||
|
<append>true</append> |
||||||
|
|
||||||
|
<!-- 日志文件的格式 --> |
||||||
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> |
||||||
|
<pattern>${FILE_LOG_PATTERN}</pattern> |
||||||
|
<charset>utf-8</charset> |
||||||
|
</encoder> |
||||||
|
|
||||||
|
<!-- 此日志文件只记录warn级别的 --> |
||||||
|
<filter class="ch.qos.logback.classic.filter.LevelFilter"> |
||||||
|
<level>${LOG_LEVEL}</level> |
||||||
|
<onMatch>ACCEPT</onMatch> |
||||||
|
<onMismatch>DENY</onMismatch> |
||||||
|
</filter> |
||||||
|
</appender> |
||||||
|
<!-- 异步输出 DEBUG --> |
||||||
|
<appender name="ASYNC_FILE_DEBUG" class="ch.qos.logback.classic.AsyncAppender"> |
||||||
|
<discardingThreshold>0</discardingThreshold> |
||||||
|
<queueSize>256</queueSize> |
||||||
|
<appender-ref ref="FILE_DEBUG"/> |
||||||
|
</appender> |
||||||
|
<!-- 异步输出 INFO --> |
||||||
|
<appender name="ASYNC_FILE_INFO" class="ch.qos.logback.classic.AsyncAppender"> |
||||||
|
<discardingThreshold>0</discardingThreshold> |
||||||
|
<queueSize>256</queueSize> |
||||||
|
<appender-ref ref="FILE_INFO"/> |
||||||
|
</appender> |
||||||
|
<!-- 异步输出 WARN --> |
||||||
|
<appender name="ASYNC_FILE_WARN" class="ch.qos.logback.classic.AsyncAppender"> |
||||||
|
<discardingThreshold>0</discardingThreshold> |
||||||
|
<queueSize>256</queueSize> |
||||||
|
<appender-ref ref="FILE_WARN"/> |
||||||
|
</appender> |
||||||
|
<!-- 异步输出 ERROR --> |
||||||
|
<appender name="ASYNC_FILE_ERROR" class="ch.qos.logback.classic.AsyncAppender"> |
||||||
|
<discardingThreshold>0</discardingThreshold> |
||||||
|
<queueSize>256</queueSize> |
||||||
|
<appender-ref ref="FILE_ERROR"/> |
||||||
|
</appender> |
||||||
|
<!-- 异步输出 ALL --> |
||||||
|
<appender name="ASYNC_FILE_ALL" class="ch.qos.logback.classic.AsyncAppender"> |
||||||
|
<discardingThreshold>0</discardingThreshold> |
||||||
|
<queueSize>256</queueSize> |
||||||
|
<appender-ref ref="FILE_ALL"/> |
||||||
|
</appender> |
||||||
|
|
||||||
|
|
||||||
|
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> |
||||||
|
<encoder> |
||||||
|
<pattern>${CONSOLE_LOG_PATTERN}</pattern> |
||||||
|
<charset>utf-8</charset> |
||||||
|
</encoder> |
||||||
|
</appender> |
||||||
|
|
||||||
|
|
||||||
|
<!-- 异步输出 控制台 --> |
||||||
|
<appender name="ASYNC_STDOUT" class="ch.qos.logback.classic.AsyncAppender"> |
||||||
|
<discardingThreshold>0</discardingThreshold> |
||||||
|
<queueSize>256</queueSize> |
||||||
|
<appender-ref ref="STDOUT"/> |
||||||
|
</appender> |
||||||
|
|
||||||
|
|
||||||
|
<!--<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> |
||||||
|
<!– 必填:目标:LogStash的 IP:Port –> |
||||||
|
<destination>192.168.0.50:50000</destination> |
||||||
|
<!– 可选:保持程序存活时间 –> |
||||||
|
<keepAliveDuration>5 minutes</keepAliveDuration> |
||||||
|
<!– 可选:重连延迟时长 –> |
||||||
|
<reconnectionDelay>10 second</reconnectionDelay> |
||||||
|
<!– 可选:等待策略 –> |
||||||
|
<waitStrategyType>sleeping</waitStrategyType> |
||||||
|
<!– ============ encoder必须配置,有多种可选 ============= –> |
||||||
|
<!– 编码器二:LoggingEventCompositeJsonEncoder –> |
||||||
|
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder"> |
||||||
|
<providers> |
||||||
|
<!– 时间戳:时区 –> |
||||||
|
<timestamp> |
||||||
|
<timeZone>UTC</timeZone> |
||||||
|
</timestamp> |
||||||
|
<!– 模式 –> |
||||||
|
<pattern> |
||||||
|
<pattern> |
||||||
|
{ |
||||||
|
"severity": "%level", |
||||||
|
"service": "${SERVICE_NAME:-}", |
||||||
|
"trace": "%X{X-B3-TraceId:-}", |
||||||
|
"span": "%X{X-B3-SpanId:-}", |
||||||
|
"exportable": "%X{X-Span-Export:-}", |
||||||
|
"pid": "${PID:-}", |
||||||
|
"thread": "%thread", |
||||||
|
"class": "%logger{40}", |
||||||
|
"msg": "%message" |
||||||
|
<!–"idx_pre": "elk-original-third-access",–> |
||||||
|
<!–"json": "#asJson{%message}" 这个asJson可以把对应的字符串作为json对象取出来,这样es可以对json里面的字段索引了–> |
||||||
|
} |
||||||
|
</pattern> |
||||||
|
</pattern> |
||||||
|
</providers> |
||||||
|
</encoder> |
||||||
|
</appender>--> |
||||||
|
<!--<appender name="skywalking-log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender"> |
||||||
|
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"> |
||||||
|
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout"> |
||||||
|
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n</Pattern> |
||||||
|
</layout> |
||||||
|
</encoder> |
||||||
|
</appender>--> |
||||||
|
|
||||||
|
|
||||||
|
<root level="${LOG_LEVEL}"> |
||||||
|
<appender-ref ref="ASYNC_STDOUT"/> |
||||||
|
<appender-ref ref="ASYNC_FILE_ERROR"/> |
||||||
|
<appender-ref ref="ASYNC_FILE_INFO"/> |
||||||
|
<appender-ref ref="ASYNC_FILE_WARN"/> |
||||||
|
<appender-ref ref="ASYNC_FILE_DEBUG"/> |
||||||
|
<appender-ref ref="ASYNC_FILE_ALL"/> |
||||||
|
<!--<appender-ref ref="LOGSTASH"/>--> |
||||||
|
<!--<appender-ref ref="skywalking-log"/>--> |
||||||
|
</root> |
||||||
|
|
||||||
|
|
||||||
|
</configuration> |
||||||
@ -0,0 +1,28 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" |
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||||
|
<parent> |
||||||
|
<artifactId>jnpf-java-cloud</artifactId> |
||||||
|
<groupId>com.jnpf</groupId> |
||||||
|
<version>3.7.0-RELEASE</version> |
||||||
|
</parent> |
||||||
|
<modelVersion>4.0.0</modelVersion> |
||||||
|
|
||||||
|
<artifactId>jnpf-tendering</artifactId> |
||||||
|
<packaging>pom</packaging> |
||||||
|
<modules> |
||||||
|
<module>jnpf-tendering-controller</module> |
||||||
|
<module>jnpf-tendering-biz</module> |
||||||
|
<module>jnpf-tendering-entity</module> |
||||||
|
<module>jnpf-tendering-api</module> |
||||||
|
<module>jnpf-tendering-server</module> |
||||||
|
<!-- <module>jnpf-tendering-dubboservice</module>--> |
||||||
|
</modules> |
||||||
|
<description> |
||||||
|
dsadas |
||||||
|
</description> |
||||||
|
|
||||||
|
<dependencies> |
||||||
|
</dependencies> |
||||||
|
</project> |
||||||
Loading…
Reference in new issue