forked from luyan/epmet-cloud-lingshan
				
			
				 22 changed files with 792 additions and 4 deletions
			
			
		@ -0,0 +1,96 @@ | 
				
			|||
/** | 
				
			|||
 * Copyright 2018 人人开源 https://www.renren.io
 | 
				
			|||
 * <p> | 
				
			|||
 * This program is free software: you can redistribute it and/or modify | 
				
			|||
 * it under the terms of the GNU General Public License as published by | 
				
			|||
 * the Free Software Foundation, either version 3 of the License, or | 
				
			|||
 * (at your option) any later version. | 
				
			|||
 * <p> | 
				
			|||
 * This program is distributed in the hope that it will be useful, | 
				
			|||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			|||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			|||
 * GNU General Public License for more details. | 
				
			|||
 * <p> | 
				
			|||
 * You should have received a copy of the GNU General Public License | 
				
			|||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||
 */ | 
				
			|||
 | 
				
			|||
package com.epmet.dataaggre.dto.datastats; | 
				
			|||
 | 
				
			|||
import lombok.Data; | 
				
			|||
 | 
				
			|||
import java.io.Serializable; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 组织活动(参加人数、组织次数、平均参加人数)按天累计值分析 | 
				
			|||
 * | 
				
			|||
 * @author generator generator@elink-cn.com | 
				
			|||
 * @since v1.0.0 2021-05-13 | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class FactGroupActDailyDTO implements Serializable { | 
				
			|||
 | 
				
			|||
    private static final long serialVersionUID = 4411632223804355342L; | 
				
			|||
    /** | 
				
			|||
     * 客户ID | 
				
			|||
     */ | 
				
			|||
	private String customerId; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 数据更新至日期Id:yyyyMMdd | 
				
			|||
     */ | 
				
			|||
	private String dateId; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 网格id | 
				
			|||
     */ | 
				
			|||
	private String orgId; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 网格:grid;组织:agency | 
				
			|||
     */ | 
				
			|||
	private String orgType; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 1)orgType=grid: pid=网格所属组织id; | 
				
			|||
2)orgType=agency: pid=当前组织的上级组织 | 
				
			|||
     */ | 
				
			|||
	private String pid; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 1)orgType=grid: pids=网格所有上级组织,包括pid; | 
				
			|||
2)orgType=agency: pids=当前组织的所有上级组织,包括pid. | 
				
			|||
     */ | 
				
			|||
	private String pids; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 活动分类编码 | 
				
			|||
     */ | 
				
			|||
	private String categoryCode; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 上级分类编码 | 
				
			|||
     */ | 
				
			|||
	private String parentCode; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 分类等级 | 
				
			|||
     */ | 
				
			|||
	private Integer level; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 截止到dateId: 组织次数;包含dateId这一天的数据 | 
				
			|||
     */ | 
				
			|||
	private Integer organizeTotal; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 截止到dateId: 参加人数;包含dateId这一天的数据 | 
				
			|||
     */ | 
				
			|||
	private Integer participateUserTotal; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 截止到dateId: 平均参加人数;包含dateId这一天的数据 | 
				
			|||
     */ | 
				
			|||
	private Integer avgParticipateUserTotal; | 
				
			|||
 | 
				
			|||
} | 
				
			|||
@ -0,0 +1,76 @@ | 
				
			|||
/** | 
				
			|||
 * Copyright 2018 人人开源 https://www.renren.io
 | 
				
			|||
 * <p> | 
				
			|||
 * This program is free software: you can redistribute it and/or modify | 
				
			|||
 * it under the terms of the GNU General Public License as published by | 
				
			|||
 * the Free Software Foundation, either version 3 of the License, or | 
				
			|||
 * (at your option) any later version. | 
				
			|||
 * <p> | 
				
			|||
 * This program is distributed in the hope that it will be useful, | 
				
			|||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			|||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			|||
 * GNU General Public License for more details. | 
				
			|||
 * <p> | 
				
			|||
 * You should have received a copy of the GNU General Public License | 
				
			|||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||
 */ | 
				
			|||
 | 
				
			|||
package com.epmet.dataaggre.dto.resigroup; | 
				
			|||
 | 
				
			|||
import com.fasterxml.jackson.annotation.JsonIgnore; | 
				
			|||
import lombok.Data; | 
				
			|||
 | 
				
			|||
import java.io.Serializable; | 
				
			|||
 | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 活动类别字典 | 
				
			|||
 * | 
				
			|||
 * @author generator generator@elink-cn.com | 
				
			|||
 * @since v1.0.0 2021-04-16 | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class ActCategoryDictDTO implements Serializable { | 
				
			|||
 | 
				
			|||
    private static final long serialVersionUID = 1L; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 主键 | 
				
			|||
     */ | 
				
			|||
    @JsonIgnore | 
				
			|||
	private String id; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 客户id | 
				
			|||
     */ | 
				
			|||
    @JsonIgnore | 
				
			|||
	private String customerId; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 类别编码 | 
				
			|||
     */ | 
				
			|||
	private String categoryCode; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 活动类别名称;eg:支部建设、联建共建 | 
				
			|||
     */ | 
				
			|||
	private String categoryName; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 等级1,2...... | 
				
			|||
     */ | 
				
			|||
    @JsonIgnore | 
				
			|||
	private Integer level; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 排序 | 
				
			|||
     */ | 
				
			|||
    @JsonIgnore | 
				
			|||
	private Integer sort; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 上级类别编码 | 
				
			|||
     */ | 
				
			|||
    @JsonIgnore | 
				
			|||
	private String parentCode; | 
				
			|||
} | 
				
			|||
@ -0,0 +1,42 @@ | 
				
			|||
package com.epmet.dataaggre.dto.resigroup.form; | 
				
			|||
 | 
				
			|||
import lombok.Data; | 
				
			|||
 | 
				
			|||
import javax.validation.constraints.NotBlank; | 
				
			|||
import java.io.Serializable; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 001、【支建+联建】统计分析 入参 | 
				
			|||
 * | 
				
			|||
 * @author yinzuomei@elink-cn.com | 
				
			|||
 * @date 2021/5/18 9:16 | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class BranchConAnalysisFormDTO implements Serializable { | 
				
			|||
    public interface AddUserInternalGroup { | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 支部建设:100;联建共建:101 | 
				
			|||
     */ | 
				
			|||
    @NotBlank(message = "firstCategoryCode必传,支部建设:100;联建共建:101", groups = AddUserInternalGroup.class) | 
				
			|||
    private String firstCategoryCode; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 当前客户id | 
				
			|||
     */ | 
				
			|||
    @NotBlank(message = "客户id不能为空", groups = AddUserInternalGroup.class) | 
				
			|||
    private String customerId; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 当前组织或者网格id | 
				
			|||
     */ | 
				
			|||
    @NotBlank(message = "orgId不能为空", groups = AddUserInternalGroup.class) | 
				
			|||
    private String orgId; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 默认传组织:agency;  网格:grid | 
				
			|||
     */ | 
				
			|||
    @NotBlank(message = "orgType不能为空", groups = AddUserInternalGroup.class) | 
				
			|||
    private String orgType; | 
				
			|||
} | 
				
			|||
@ -0,0 +1,32 @@ | 
				
			|||
package com.epmet.dataaggre.dto.resigroup.form; | 
				
			|||
 | 
				
			|||
import lombok.Data; | 
				
			|||
 | 
				
			|||
import javax.validation.constraints.NotBlank; | 
				
			|||
import java.io.Serializable; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 002、【支建+联建】二级分类字典查询 入参 | 
				
			|||
 * | 
				
			|||
 * @author yinzuomei@elink-cn.com | 
				
			|||
 * @date 2021/5/18 13:42 | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class GroupActCategoryQueryFormDTO implements Serializable { | 
				
			|||
    private static final long serialVersionUID = 8373780230315448396L; | 
				
			|||
 | 
				
			|||
    public interface AddUserInternalGroup { | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 支部建设:100;联建共建:101 | 
				
			|||
     */ | 
				
			|||
    @NotBlank(message = "firstCategoryCode必传,支部建设:100;联建共建:101", groups = AddUserInternalGroup.class) | 
				
			|||
    private String firstCategoryCode; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 当前客户id | 
				
			|||
     */ | 
				
			|||
    @NotBlank(message = "客户id不能为空", groups = BranchConAnalysisFormDTO.AddUserInternalGroup.class) | 
				
			|||
    private String customerId; | 
				
			|||
} | 
				
			|||
@ -0,0 +1,44 @@ | 
				
			|||
package com.epmet.dataaggre.dto.resigroup.form; | 
				
			|||
 | 
				
			|||
import lombok.Data; | 
				
			|||
 | 
				
			|||
import javax.validation.constraints.NotBlank; | 
				
			|||
import java.io.Serializable; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 003、【支建+联建】下级组织折线图 入参 | 
				
			|||
 * | 
				
			|||
 * @author yinzuomei@elink-cn.com | 
				
			|||
 * @date 2021/5/18 13:52 | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class SubAnalysisByCodeFormDTO implements Serializable { | 
				
			|||
    private static final long serialVersionUID = -4132250208377993452L; | 
				
			|||
 | 
				
			|||
    public interface AddUserInternalGroup { | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 分类编码;002接口返回的 | 
				
			|||
     */ | 
				
			|||
    @NotBlank(message = "categoryCode不能为空", groups = AddUserInternalGroup.class) | 
				
			|||
    private String categoryCode; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 当前客户id | 
				
			|||
     */ | 
				
			|||
    @NotBlank(message = "客户id不能为空", groups = AddUserInternalGroup.class) | 
				
			|||
    private String customerId; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 当前组织或者网格id | 
				
			|||
     */ | 
				
			|||
    @NotBlank(message = "orgId不能为空", groups = AddUserInternalGroup.class) | 
				
			|||
    private String orgId; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 默认传组织:agency;  网格:grid | 
				
			|||
     */ | 
				
			|||
    @NotBlank(message = "orgType不能为空", groups = AddUserInternalGroup.class) | 
				
			|||
    private String orgType; | 
				
			|||
} | 
				
			|||
@ -0,0 +1,20 @@ | 
				
			|||
package com.epmet.dataaggre.dto.resigroup.result; | 
				
			|||
 | 
				
			|||
import lombok.Data; | 
				
			|||
 | 
				
			|||
import java.io.Serializable; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 001、【支建+联建】统计分析 返参 | 
				
			|||
 * | 
				
			|||
 * @author yinzuomei@elink-cn.com | 
				
			|||
 * @date 2021/5/18 15:12 | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class BranchConAnalysisDetailDTO implements Serializable { | 
				
			|||
    private String name; | 
				
			|||
    private String type; | 
				
			|||
    private Integer value; | 
				
			|||
    private Integer avg; | 
				
			|||
    private String categoryCode; | 
				
			|||
} | 
				
			|||
@ -0,0 +1,37 @@ | 
				
			|||
package com.epmet.dataaggre.dto.resigroup.result; | 
				
			|||
 | 
				
			|||
import com.epmet.commons.tools.constant.NumConstant; | 
				
			|||
import lombok.Data; | 
				
			|||
 | 
				
			|||
import java.io.Serializable; | 
				
			|||
import java.util.ArrayList; | 
				
			|||
import java.util.List; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 001、【支建+联建】统计分析 返参 | 
				
			|||
 * | 
				
			|||
 * @author yinzuomei@elink-cn.com | 
				
			|||
 * @date 2021/5/18 10:01 | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class BranchConAnalysisResultDTO implements Serializable { | 
				
			|||
    private static final long serialVersionUID = -4998343002705222898L; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 组织活动次数 | 
				
			|||
     */ | 
				
			|||
    private Integer organizeTotal; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 参加活动人数 | 
				
			|||
     */ | 
				
			|||
    private Integer participateUserTotal; | 
				
			|||
 | 
				
			|||
    private List<BranchConAnalysisDetailDTO> dataList; | 
				
			|||
 | 
				
			|||
    public BranchConAnalysisResultDTO() { | 
				
			|||
        this.organizeTotal = NumConstant.ZERO; | 
				
			|||
        this.participateUserTotal =  NumConstant.ZERO; | 
				
			|||
        this.dataList=new ArrayList<>(); | 
				
			|||
    } | 
				
			|||
} | 
				
			|||
@ -0,0 +1,20 @@ | 
				
			|||
package com.epmet.dataaggre.dto.resigroup.result; | 
				
			|||
 | 
				
			|||
import lombok.Data; | 
				
			|||
 | 
				
			|||
import java.io.Serializable; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 组织或者网格基本信息 | 
				
			|||
 * | 
				
			|||
 * @author yinzuomei@elink-cn.com | 
				
			|||
 * @date 2021/5/18 14:36 | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class OrgInfoCommonDTO implements Serializable { | 
				
			|||
    private static final long serialVersionUID = -2191521364070476999L; | 
				
			|||
 | 
				
			|||
    private String orgId; | 
				
			|||
    private String orgName; | 
				
			|||
    private String orgType; | 
				
			|||
} | 
				
			|||
@ -0,0 +1,30 @@ | 
				
			|||
package com.epmet.dataaggre.dto.resigroup.result; | 
				
			|||
 | 
				
			|||
import lombok.Data; | 
				
			|||
 | 
				
			|||
import java.io.Serializable; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 003、【支建+联建】下级组织折线图 返参 | 
				
			|||
 * | 
				
			|||
 * @author yinzuomei@elink-cn.com | 
				
			|||
 * @date 2021/5/18 14:09 | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class SubAnalysisByCodeResultDTO implements Serializable { | 
				
			|||
    private static final long serialVersionUID = -6025482721295705372L; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 横坐标名称:组织名或者网格名 | 
				
			|||
     */ | 
				
			|||
    private String name; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 参加人数、组织次数、平均参加人数 | 
				
			|||
     */ | 
				
			|||
    private String type; | 
				
			|||
 | 
				
			|||
    private Integer value; | 
				
			|||
 | 
				
			|||
    private String orgId; | 
				
			|||
} | 
				
			|||
@ -0,0 +1,74 @@ | 
				
			|||
package com.epmet.dataaggre.controller; | 
				
			|||
 | 
				
			|||
import com.epmet.commons.tools.utils.Result; | 
				
			|||
import com.epmet.commons.tools.validator.ValidatorUtils; | 
				
			|||
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO; | 
				
			|||
import com.epmet.dataaggre.dto.resigroup.form.BranchConAnalysisFormDTO; | 
				
			|||
import com.epmet.dataaggre.dto.resigroup.form.GroupActCategoryQueryFormDTO; | 
				
			|||
import com.epmet.dataaggre.dto.resigroup.form.SubAnalysisByCodeFormDTO; | 
				
			|||
import com.epmet.dataaggre.dto.resigroup.result.BranchConAnalysisResultDTO; | 
				
			|||
import com.epmet.dataaggre.dto.resigroup.result.SubAnalysisByCodeResultDTO; | 
				
			|||
import com.epmet.dataaggre.service.resigroup.ResiGroupService; | 
				
			|||
import org.springframework.beans.factory.annotation.Autowired; | 
				
			|||
import org.springframework.web.bind.annotation.PostMapping; | 
				
			|||
import org.springframework.web.bind.annotation.RequestBody; | 
				
			|||
import org.springframework.web.bind.annotation.RequestMapping; | 
				
			|||
import org.springframework.web.bind.annotation.RestController; | 
				
			|||
 | 
				
			|||
import java.util.List; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 专项组-组织活动相关API放这 | 
				
			|||
 * | 
				
			|||
 * @author yinzuomei@elink-cn.com | 
				
			|||
 * @date 2021/5/18 9:08 | 
				
			|||
 */ | 
				
			|||
@RestController | 
				
			|||
@RequestMapping("groupact") | 
				
			|||
public class GroupActController { | 
				
			|||
 | 
				
			|||
    @Autowired | 
				
			|||
    private ResiGroupService resiGroupService; | 
				
			|||
 | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * @return com.epmet.commons.tools.utils.Result<com.epmet.dataaggre.dto.resigroup.result.BranchConAnalysisResultDTO> | 
				
			|||
     * @param formDTO | 
				
			|||
     * @author yinzuomei | 
				
			|||
     * @description  001、【支建+联建】统计分析 | 
				
			|||
     * @Date 2021/5/18 10:17  | 
				
			|||
     **/ | 
				
			|||
    @PostMapping("branchconanalysis") | 
				
			|||
    public Result<BranchConAnalysisResultDTO> branchConAnalysis(@RequestBody BranchConAnalysisFormDTO formDTO){ | 
				
			|||
        ValidatorUtils.validateEntity(formDTO,BranchConAnalysisFormDTO.AddUserInternalGroup.class); | 
				
			|||
        return new Result<BranchConAnalysisResultDTO>().ok(resiGroupService.branchConAnalysis(formDTO)); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO>> | 
				
			|||
     * @param formDTO | 
				
			|||
     * @author yinzuomei | 
				
			|||
     * @description 002、【支建+联建】二级分类字典查询 | 
				
			|||
     * @Date 2021/5/18 13:49  | 
				
			|||
     **/ | 
				
			|||
    @PostMapping("categorydictlist") | 
				
			|||
    public Result<List<ActCategoryDictDTO>> queryCategoryDictList(@RequestBody GroupActCategoryQueryFormDTO formDTO){ | 
				
			|||
        ValidatorUtils.validateEntity(formDTO,GroupActCategoryQueryFormDTO.AddUserInternalGroup.class); | 
				
			|||
        return new Result<List<ActCategoryDictDTO>>().ok(resiGroupService.queryActCategoryDictList(formDTO.getCustomerId(),formDTO.getFirstCategoryCode())); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * @return com.epmet.commons.tools.utils.Result<com.epmet.dataaggre.dto.resigroup.result.SubAnalysisByCodeResultDTO> | 
				
			|||
     * @param formDTO | 
				
			|||
     * @author yinzuomei | 
				
			|||
     * @description 003、【支建+联建】下级组织折线图 | 
				
			|||
     * @Date 2021/5/18 14:31 | 
				
			|||
     **/ | 
				
			|||
    @PostMapping("subanalysisbycode") | 
				
			|||
    public Result<List<SubAnalysisByCodeResultDTO>> querySubAnalysisByCode(@RequestBody SubAnalysisByCodeFormDTO formDTO){ | 
				
			|||
        ValidatorUtils.validateEntity(formDTO,GroupActCategoryQueryFormDTO.AddUserInternalGroup.class); | 
				
			|||
        return new Result<List<SubAnalysisByCodeResultDTO>>().ok(resiGroupService.querySubAnalysisByCode(formDTO)); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
} | 
				
			|||
					Loading…
					
					
				
		Reference in new issue