Browse Source

update

yangzhenli
yangzhenli 1 year ago
parent
commit
cf82da3d93
  1. 6
      jnpf-tendering-biz/src/main/java/jnpf/mapper/BiddingProjectSubscribeMapper.java
  2. 6
      jnpf-tendering-biz/src/main/java/jnpf/service/BiddingProjectSubscribeService.java
  3. 9
      jnpf-tendering-biz/src/main/java/jnpf/service/IndicatorStatisticsService.java
  4. 11
      jnpf-tendering-biz/src/main/java/jnpf/service/impl/BiddingProjectSubscribeServiceImpl.java
  5. 125
      jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeMapper.xml
  6. 45
      jnpf-tendering-controller/src/main/java/jnpf/controller/IndicatorStatisticsController.java
  7. 97
      jnpf-tendering-entity/src/main/java/jnpf/model/dto/IndicatorStatisticsDto.java

6
jnpf-tendering-biz/src/main/java/jnpf/mapper/BiddingProjectSubscribeMapper.java

@ -6,8 +6,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; @@ -6,8 +6,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jnpf.entity.BiddingProjectSubscribeEntity;
import jnpf.model.bidding_project_subscribe.BiddingProjectSubscribePagination;
import jnpf.model.dto.IndicatorStatisticsDto;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
@ -22,4 +24,8 @@ public interface BiddingProjectSubscribeMapper extends BaseMapper<BiddingProject @@ -22,4 +24,8 @@ public interface BiddingProjectSubscribeMapper extends BaseMapper<BiddingProject
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);
List<IndicatorStatisticsDto.Indicator> getProjectsNumberByType(@Param("param")IndicatorStatisticsDto.ProjectsNumberParam param,@Param("ew") Map<String, Object> paramNameValuePairs, @Param("sql")String sql);
List<IndicatorStatisticsDto.MoneyAndProjectsNumberChild> moneyAndProjectsNumber(@Param("param")IndicatorStatisticsDto.MoneyAndProjectsNumberParam param,@Param("ew") Map<String, Object> paramNameValuePairs, @Param("sql")String sql);
}

6
jnpf-tendering-biz/src/main/java/jnpf/service/BiddingProjectSubscribeService.java

@ -5,10 +5,12 @@ import com.baomidou.mybatisplus.extension.service.IService; @@ -5,10 +5,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.entity.BiddingProjectSubscribeEntity;
import jnpf.model.bidding_project_subscribe.*;
import jnpf.model.dto.BiddingProjectDto;
import jnpf.model.dto.IndicatorStatisticsDto;
import jnpf.permission.entity.UserEntity;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
/**
* bidding_project_subscribe
@ -54,4 +56,8 @@ public interface BiddingProjectSubscribeService extends IService<BiddingProjectS @@ -54,4 +56,8 @@ public interface BiddingProjectSubscribeService extends IService<BiddingProjectS
MultipartFile download(String id, String type,BiddingProjectSubscribeEntity entity);
String obtainHierarchyOfCreate(String id);
List<IndicatorStatisticsDto.Indicator> getProjectsNumberByType(IndicatorStatisticsDto.ProjectsNumberParam param, Map<String, Object> paramNameValuePairs, String sql);
List<IndicatorStatisticsDto.MoneyAndProjectsNumberChild> moneyAndProjectsNumber(IndicatorStatisticsDto.MoneyAndProjectsNumberParam param, Map<String, Object> paramNameValuePairs, String replace);
}

9
jnpf-tendering-biz/src/main/java/jnpf/service/IndicatorStatisticsService.java

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
package jnpf.service;
import jnpf.model.dto.IndicatorStatisticsDto;
public interface IndicatorStatisticsService {
IndicatorStatisticsDto.ProjectsNumberResponse projectsNumber(IndicatorStatisticsDto.ProjectsNumberParam param);
IndicatorStatisticsDto.MoneyAndProjectsNumberResponse moneyAndProjectsNumber(IndicatorStatisticsDto.MoneyAndProjectsNumberParam param);
}

11
jnpf-tendering-biz/src/main/java/jnpf/service/impl/BiddingProjectSubscribeServiceImpl.java

@ -30,6 +30,7 @@ import jnpf.exception.DataException; @@ -30,6 +30,7 @@ import jnpf.exception.DataException;
import jnpf.mapper.BiddingProjectSubscribeMapper;
import jnpf.model.bidding_project_subscribe.*;
import jnpf.model.dto.BiddingProjectDto;
import jnpf.model.dto.IndicatorStatisticsDto;
import jnpf.permission.OrganizeApi;
import jnpf.permission.RoleApi;
import jnpf.permission.UserApi;
@ -1975,4 +1976,14 @@ public class BiddingProjectSubscribeServiceImpl extends ServiceImpl<BiddingProje @@ -1975,4 +1976,14 @@ public class BiddingProjectSubscribeServiceImpl extends ServiceImpl<BiddingProje
}
}
}
@Override
public List<IndicatorStatisticsDto.Indicator> getProjectsNumberByType(IndicatorStatisticsDto.ProjectsNumberParam param, Map<String, Object> paramNameValuePairs, String sql) {
return this.baseMapper.getProjectsNumberByType(param, paramNameValuePairs, sql);
}
@Override
public List<IndicatorStatisticsDto.MoneyAndProjectsNumberChild> moneyAndProjectsNumber(IndicatorStatisticsDto.MoneyAndProjectsNumberParam param, Map<String, Object> paramNameValuePairs, String sql) {
return this.baseMapper.moneyAndProjectsNumber(param, paramNameValuePairs, sql);
}
}

125
jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeMapper.xml

@ -63,15 +63,19 @@ @@ -63,15 +63,19 @@
<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"/>
<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
<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
<include refid="baseStepFields"/>
from bidding_project_subscribe_step step where step.relation_main_id = #{id}
</select>
<resultMap id="stepMap" type="jnpf.entity.BiddingProjectSubscribeStep">
@ -111,23 +115,31 @@ @@ -111,23 +115,31 @@
</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
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
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
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"/>
<select id="queryList" resultMap="BiddingProjectSubscribe"
parameterType="jnpf.model.bidding_project_subscribe.BiddingProjectSubscribePagination">
select distinct
<include refid="baseFields"/>
from bidding_project_subscribe main
left join bidding_project_subscribe_child child on child.main_id=main.id
left join 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 bidding_project_subscribe_child child where root_child_flag='0' and ${sql})
</if>
<if test="sql != null and sql !=''">
and main.id in (select child.main_id from 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
@ -138,9 +150,90 @@ @@ -138,9 +150,90 @@
order by main.create_time desc
</select>
<select id="getInfoById" resultMap="BiddingProjectSubscribe" parameterType="jnpf.model.bidding_project_subscribe.BiddingProjectSubscribePagination">
select <include refid="baseFields"/>
<select id="getInfoById" resultMap="BiddingProjectSubscribe"
parameterType="jnpf.model.bidding_project_subscribe.BiddingProjectSubscribePagination">
select
<include refid="baseFields"/>
from bidding_project_subscribe main
where main.id=#{id}
where main.id=#{id}
</select>
<select id="getProjectsNumberByType" resultType="jnpf.model.dto.IndicatorStatisticsDto$Indicator">
select
<if test="param.type=='1'.toString()">
count(1) yData,
concat(date_format(create_time,'%d'),'日') xData
</if>
<if test="param.type=='2'.toString()">
count(1) yData,
concat(date_format(create_time,'%m'),'月') xData
</if>
<if test="param.type=='3'.toString()">
count(1) yData,
concat(date_format(create_time,'%Y'),'年') xData
</if>
from bidding_project_subscribe main
where 1=1
<if test="param.type=='1'.toString()">
and date_format(create_time,'%Y-%m')=#{param.corresponding}
</if>
<if test="param.type=='2'.toString()">
and date_format(create_time,'%Y')=#{param.corresponding}
</if>
<if test="sql != null and sql !=''">
and main.id in (select child.main_id from bidding_project_subscribe_child child where root_child_flag='0'
and ${sql})
</if>
<if test="param.type=='1'.toString()">
group by date_format(create_time,'%d')
</if>
<if test="param.type=='2'.toString()">
group by date_format(create_time,'%m')
</if>
<if test="param.type=='3'.toString()">
group by date_format(create_time,'%Y')
</if>
</select>
<select id="moneyAndProjectsNumber"
resultType="jnpf.model.dto.IndicatorStatisticsDto$MoneyAndProjectsNumberChild">
select
sum(project_amount) money,
<if test="param.classificationType=='1'.toString()">
count(1) projectsNumber,
'' yName
</if>
<if test="param.classificationType=='2'.toString()">
count(organizational_form) projectsNumber,
(select f_full_name from base_dictionary_data where f_dictionary_type_id='539393647729185989' and f_en_code=main.organizational_form limit 1) yName
</if>
<if test="param.classificationType=='3'.toString()">
count(Item_classification) projectsNumber,
(select f_full_name from base_dictionary_data where f_dictionary_type_id='539390743437907141' and f_en_code=main.item_classification limit 1) yName
</if>
<if test="param.classificationType=='4'.toString()">
count(bidding_method) projectsNumber,
(select f_full_name from base_dictionary_data where f_dictionary_type_id='539394095383057605' and f_en_code=main.bidding_method limit 1) yName
</if>
from bidding_project_subscribe main
where 1=1
<if test="param.queryDateType=='1'.toString()">
and date_format(create_time,'%Y-%m')=#{param.corresponding}
</if>
<if test="param.queryDateType=='2'.toString()">
and date_format(create_time,'%Y')=#{param.corresponding}
</if>
<if test="sql != null and sql !=''">
and main.id in (select child.main_id from bidding_project_subscribe_child child where root_child_flag='0'
and ${sql})
</if>
<if test="param.classificationType=='2'.toString()">
group by organizational_form
</if>
<if test="param.classificationType=='3'.toString()">
group by Item_classification
</if>
<if test="param.classificationType=='4'.toString()">
group by bidding_method
</if>
</select>
</mapper>

45
jnpf-tendering-controller/src/main/java/jnpf/controller/IndicatorStatisticsController.java

@ -0,0 +1,45 @@ @@ -0,0 +1,45 @@
package jnpf.controller;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jnpf.base.ActionResult;
import jnpf.base.Pagination;
import jnpf.base.vo.PageListVO;
import jnpf.base.vo.PaginationVO;
import jnpf.entity.ContractEntity;
import jnpf.model.ContractListVO;
import jnpf.model.dto.IndicatorStatisticsDto;
import jnpf.service.BiddingProjectSubscribeService;
import jnpf.service.IndicatorStatisticsService;
import jnpf.util.JsonUtil;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@Tag(name = "指标统计接口", description = "indicator")
@RequestMapping("/indicator")
@AllArgsConstructor
public class IndicatorStatisticsController {
private final IndicatorStatisticsService indicatorStatisticsService;
@Operation(summary = "审批/备案项目数")
@GetMapping("/projectsNumber")
public ActionResult<IndicatorStatisticsDto.ProjectsNumberResponse> projectsNumber(IndicatorStatisticsDto.ProjectsNumberParam param) {
return ActionResult.success(indicatorStatisticsService.projectsNumber(param));
}
@Operation(summary = "项目数 金额")
@GetMapping("/moneyAndProjectsNumber")
public ActionResult<IndicatorStatisticsDto.MoneyAndProjectsNumberResponse> moneyAndProjectsNumber(IndicatorStatisticsDto.MoneyAndProjectsNumberParam param) {
return ActionResult.success(indicatorStatisticsService.moneyAndProjectsNumber(param));
}
}

97
jnpf-tendering-entity/src/main/java/jnpf/model/dto/IndicatorStatisticsDto.java

@ -0,0 +1,97 @@ @@ -0,0 +1,97 @@
package jnpf.model.dto;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@Data
public class IndicatorStatisticsDto {
@Data
public static class ProjectsNumberParam {
/**
* 查询类型 1-本月(默认本月)到日2-当年按月3-累计按年
*/
private String type="1";
/**
* 权限控制
*/
private String menuId;
/**
* 根据type 传入对应参数 eg月份查询传入某年某月 不传入默认为当年当月 返回当月当月日统计
* 月份传入 yyyy-MM
* 年份传入 yyyy
* 累计无需传入
*/
private String corresponding;
}
@Data
public static class ProjectsNumberResponse {
/**
* 返回时间类型 用于前端展示使用
*/
private LocalDateTime corresponding;
/**
* 根据type 传入对应参数 eg月份查询传入某年某月 不传入默认为当年当月 返回当月当月日统计
*/
private List<Indicator> indicatorList = new ArrayList<>();
}
@Data
public static class Indicator {
/**
* x轴数据
*/
private String xData;
/**
* y轴数据
*/
private String yData;
}
@Data
public static class MoneyAndProjectsNumberParam {
/**
* 查询类型 1-本月 默认本月2-当年3-累计
*/
private String queryDateType = "1";
/**
* 查询类型 1-所有(默认所有) 2-按组织形式分布 3-按事项分类分布 4-按招标方式分布
*/
private String classificationType = "1";
/**
* 权限控制
*/
private String menuId;
private String corresponding;
}
@Data
public static class MoneyAndProjectsNumberResponse {
/**
* 1-所有(默认所有) 2-按组织形式分布 3-按事项分类分布 4-按招标方式分布
*/
private String classificationType;
private List<MoneyAndProjectsNumberChild> dataList=new ArrayList<>();
}
@Data
public static class MoneyAndProjectsNumberChild {
/**
* 类型名称
*/
private String yName;
/**
* 项目数量
*/
private String projectsNumber;
/**
* 金额
*/
private String money;
}
}
Loading…
Cancel
Save