fwq
2023-04-18 7f4cb3e4c005ed5dba7645254fb76a4dd65c078e
Merge branch 'master-prod-new-报表工具' into master-prod-new
1个文件已修改
26个文件已添加
1161 ■■■■■ 已修改文件
phis-feign/src/main/java/com/hz/his/dto/report/AppointmentVisitVo.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/dto/report/BaseQueryVo.java 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/dto/report/ClinicPerfReqDto.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/dto/report/CoreProjectReportDto.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/dto/report/CxjReportReqDto.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/dto/report/MemberVisitReqDto.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/dto/report/OperationalStatementsVo.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/dto/report/PerformanceReqParamsDto.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/dto/report/ReportReqVo.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/dto/report/ShopCashReportDto.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/dto/report/TmkOrderPerfReqDto.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/dto/report/UserMoneyReportReqDto.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiAppReportService.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiClinicPerfService.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiConsultantDayService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiConsultantPerfService.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiCoreProjectService.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiCxjService.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiDoctorPerfService.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiEmpUserService.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiMemberService.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiNursePerfService.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiOpeStaService.java 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiOrderReportService.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiShopCashService.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiTmkPerfService.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiTransferService.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
phis-feign/src/main/java/com/hz/his/dto/report/AppointmentVisitVo.java
New file
@@ -0,0 +1,21 @@
package com.hz.his.dto.report;
import lombok.Data;
@Data
public class AppointmentVisitVo {
    private String shopName;
    private String shopId;
    private String startTime;
    private String endTime;
    //是否只查询上海门店  1是 0否
    private Integer isShanghai;
    //状态-取消
    public static final Integer STATUS_CANCEL = 2;
}
phis-feign/src/main/java/com/hz/his/dto/report/BaseQueryVo.java
New file
@@ -0,0 +1,121 @@
package com.hz.his.dto.report;
/**
 * 基础查询参数拓展类
 * @author wzh
 */
public class BaseQueryVo {
    /** 页数 */
    private Integer pageNum = 1;
    /** 条数 */
    private Integer pageSize = 20;
    /** 搜索内容 */
    private String keyWord;
    /** 标识 */
    private String id;
    /** 名称 */
    private String name;
    /** 用户标识 */
    private String userId;
    /** RK 入库,CK出库 */
    private String header;
    /** 是否按未填写顺序排序 */
    private Integer isOrderBy;
    /** 是否必打标签顺序排序 */
    private Integer isMustTag;
    /** 标签类型编号 */
    private String tagTypeNo;
    public BaseQueryVo() {
    }
    public Integer getPageNum() {
        return pageNum == null || pageNum < 1 ? 1 : pageNum;
    }
    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }
    public Integer getPageSize() {
        return pageSize == null || pageSize < 1 ? 20 : pageSize;
    }
    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }
    public String getKeyWord() {
        return keyWord;
    }
    public void setKeyWord(String keyWord) {
        this.keyWord = keyWord;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
    public String getHeader() {
        return header;
    }
    public void setHeader(String header) {
        this.header = header;
    }
    public Integer getIsOrderBy() {
        return isOrderBy;
    }
    public void setIsOrderBy(Integer isOrderBy) {
        this.isOrderBy = isOrderBy;
    }
    public Integer getIsMustTag() {
        return isMustTag;
    }
    public void setIsMustTag(Integer isMustTag) {
        this.isMustTag = isMustTag;
    }
    public String getTagTypeNo() {
        return tagTypeNo;
    }
    public void setTagTypeNo(String tagTypeNo) {
        this.tagTypeNo = tagTypeNo;
    }
}
phis-feign/src/main/java/com/hz/his/dto/report/ClinicPerfReqDto.java
New file
@@ -0,0 +1,24 @@
package com.hz.his.dto.report;
import lombok.Data;
/**
 * 诊所现金业绩VO
 * @USER: fhx
 * @DATE: 2022/12/29
 **/
@Data
public class ClinicPerfReqDto extends BaseQueryVo{
    //门店id
    private String shopId;
    //开始时间
    private String startTime;
    //结束时间
    private String endTime;
    //关键词(用户名/CIQ)
    private String keyWord;
    //订单号
    private String orderNo;
}
phis-feign/src/main/java/com/hz/his/dto/report/CoreProjectReportDto.java
New file
@@ -0,0 +1,35 @@
package com.hz.his.dto.report;
import com.hz.his.dto.PageDto;
import lombok.Data;
import java.util.List;
/**
 * 核心项目报表扩展
 * @author fwq
 * */
@Data
public class CoreProjectReportDto extends PageDto {
    /**核心项目分类编号*/
    private String typeNumberNo;
    /**核心项目分类父级标识*/
    private String parentId;
    /**核心项目分类标识*/
    private String typeId;
    /**核心项目类型*/
    private Integer type;
    /**门店列表*/
    private List<String> shopIdList;
    /**开始时间*/
    private String startTime;
    /**结束时间*/
    private String endTime;
    /**登录员工标识*/
    private String loginEmpId;
    /**登录员工名称*/
    private String loginCnName;
    /**登录员工唯一字符串*/
    private String loginEmpStr;
}
phis-feign/src/main/java/com/hz/his/dto/report/CxjReportReqDto.java
New file
@@ -0,0 +1,23 @@
package com.hz.his.dto.report;
import com.alibaba.fastjson.JSONArray;
import lombok.Data;
/**
 * CXJ报表请求vo
 * @USER: fhx
 * @DATE: 2023/2/8
 **/
@Data
public class CxjReportReqDto extends BaseQueryVo {
    /** 开始时间 */
    private String startTime;
    /** 结束时间 */
    private String endTime;
    /** 员工id */
    private String employeeId;
    /** 门店id */
    private String shopId;
    /** 多门店id,格式:[id, id] */
    private JSONArray shopIdArr;
}
phis-feign/src/main/java/com/hz/his/dto/report/MemberVisitReqDto.java
New file
@@ -0,0 +1,39 @@
package com.hz.his.dto.report;
import lombok.Data;
/**
 * 会员来访请求vo
 * @USER: fhx
 * @DATE: 2022/12/28
 **/
@Data
public class MemberVisitReqDto extends BaseQueryVo{
    //到访开始时间
    private String startTime;
    //到访结束时间
    private String endTime;
    //门店id
    private String shopId;
    //科室id
//    private String departmentId;
    //就诊类型
    private String treatTypeName;
    //到访类别
    private String preTypeName;
    //客服id
    private String chatCorpUserId;
    //医生id
    private String doctorId;
    //所属咨询师id
    private String hisCorpUserId;
    //电网咨询师id
    private String internetCorpUserId;
    //接待咨询师id
    private String receptionConsultantId;
    //渠道
//    private String channel;
    //到访创建人Id
    private String createPersonnelId;
}
phis-feign/src/main/java/com/hz/his/dto/report/OperationalStatementsVo.java
New file
@@ -0,0 +1,47 @@
package com.hz.his.dto.report;
import com.hx.util.StringUtils;
import lombok.Data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Data
public class OperationalStatementsVo {
    /**年份:yyyy*/
    private String year;
    /**月份:yyyy-MM*/
    private String month;
    /**月份:yyyy-MM-dd*/
    private String day;
    /**门店标识*/
    private String shopId;
    private List<String> shopIdList;
    /**开始时间*/
    private Date startTime;
    /**结束时间*/
    private Date endTime;
    /**登录员工标识*/
    private String loginEmpId;
    /**登录员工名称*/
    private String loginCnName;
    /**登录员工唯一字符串*/
    private String loginEmpStr;
    public List<String> getShopIdList() {
        if(shopIdList == null){
            shopIdList = new ArrayList<>();
        }
        if(StringUtils.noNull(shopId)&&!shopIdList.contains(shopId)){
            shopIdList.add(shopId);
        }
        return shopIdList;
    }
    public void setShopIdList(List<String> shopIdList) {
        this.shopIdList = shopIdList;
    }
}
phis-feign/src/main/java/com/hz/his/dto/report/PerformanceReqParamsDto.java
New file
@@ -0,0 +1,87 @@
package com.hz.his.dto.report;
import lombok.Data;
/**
 * 业绩接口请求参数vo
 * @USER: fhx
 * @DATE: 2022/12/14
 **/
@Data
public class PerformanceReqParamsDto extends BaseQueryVo {
    public static final int NO = 0;
    public static final int YES = 1;
    private Integer tabType;
    /**登录员工标识*/
    private String loginEmpId;
    /**登录员工名称*/
    private String loginCnName;
    /**登录员工唯一字符串*/
    private String loginEmpStr;
    //开单开始时间
    private String orderStartTime;
    //开单结束时间
    private String orderEndTime;
    //执行开始时间
    private String deductStartTime;
    //执行结束时间
    private String deductEndTime;
    //所属门店id
    private String belongShopId;
    //服务门店id
    private String serviceShopId;
    //开单门店id
    private String orderShopId;
    //收银门店id
    private String cashierShopId;
    //订单类型
    private String orderType;
    //订单号
    private String orderNo;
    //渠道分类id
    private String channelsTypeId;
    //渠道id
    private String channelId;
    //客户
    private String userName;
    //客户类别
    private String userClass;
    //项目类别
    private String basicType;
    //项目内容
    private String commonName;
    //业务分类
    private String businessTypeName;
    //营销分类
    private String marketingType;
    //执行医生id
    private String deductionDoctorId;
    //护士id
    private String nurseCorpUserId;
    //所属咨询师id
    private String belongConsultantId;
    //医生执行业绩-角色
    private String doctorPrefRole;
    //医生执行业绩-人员 (医生、医助、麻醉师)
    private String doctorPrefName;
    //护士执行业绩-角色
    private String nursePrefRole;
    //护士执行业绩-人员
    private String nursePrefName;
    //咨询师执行业绩-角色
    private String consultantPrefRole;
    //咨询师执行业绩-人员
    private String consultantPrefName;
    //汇总方式字段--------------
    //汇总是否按门店
    private Integer sumIsShop = NO;
    //汇总角色
    private String sumRole;
}
phis-feign/src/main/java/com/hz/his/dto/report/ReportReqVo.java
New file
@@ -0,0 +1,21 @@
package com.hz.his.dto.report;
import lombok.Data;
/**
 * 报表请求vo
 * @USER: fhx
 * @DATE: 2023/3/9
 **/
@Data
public class ReportReqVo extends BaseQueryVo {
    //开始时间
    private String startTime;
    //结束时间
    private String endTime;
    //用户名称 or CIQ
    private String userName;
}
phis-feign/src/main/java/com/hz/his/dto/report/ShopCashReportDto.java
New file
@@ -0,0 +1,52 @@
package com.hz.his.dto.report;
import lombok.Data;
import java.util.List;
/**
 * @Author  门店业绩报表实体
 */
@Data
public class ShopCashReportDto {
    /**门店标识*/
    private String shopId;
    /** 业绩类型   */
    private String type;
    /**开始时间*/
    private String startTime;
    /**结束时间*/
    private String endTime;
    /**门店列表标识*/
    private List<String> shopIdList;
    /**业绩类型-门店日现金业绩*/
    public static final String  TYPE_DAY_CASH= "day_cash";
    /**业绩类型-门店日执行业绩*/
    public static final String  TYPE_DAY_IMPLEMENT= "day_implement";
    /**业绩类型-门店周现金业绩*/
    public static final String  TYPE_WEEK_CASH= "week_cash";
    /**业绩类型-门店周执行业绩*/
    public static final String  TYPE_WEEK_IMPLEMENT= "week_implement";
    /**业绩类型-门店月现金业绩*/
    public static final String  TYPE_MONTH_CASH= "month_cash";
    /**业绩类型-门店月执行业绩*/
    public static final String  TYPE_MONTH_IMPLEMENT= "month_implement";
    /** 获取查询门店insql */
    public String getSelectShopInSql(){
        if(shopIdList == null || shopIdList.size() < 1){
            return null;
        }
        StringBuffer sql = new StringBuffer();
        sql.append("(");
        for(String shopId : shopIdList){
            sql.append("'").append(shopId).append("',");
        }
        sql.delete(sql.length()-1, sql.length());
        sql.append(")");
        return sql.toString();
    }
}
phis-feign/src/main/java/com/hz/his/dto/report/TmkOrderPerfReqDto.java
New file
@@ -0,0 +1,25 @@
package com.hz.his.dto.report;
import lombok.Data;
/**
 * TMK订单业绩请求vo
 * @USER: fhx
 * @DATE: 2023/1/4
 **/
@Data
public class TmkOrderPerfReqDto extends BaseQueryVo {
    //开始时间
    private String startTime;
    //结束时间
    private String endTime;
    //门店
    private String shopId;
    //电网咨询师id
    private String internetCorpUserId;
    //客服id
    private String chatCorpUserId;
    //前置天数
    private Integer leadDays;
}
phis-feign/src/main/java/com/hz/his/dto/report/UserMoneyReportReqDto.java
New file
@@ -0,0 +1,19 @@
package com.hz.his.dto.report;
import lombok.Data;
/**
 * 用户金额报表请求
 * @USER: fhx
 * @DATE: 2023/3/7
 **/
@Data
public class UserMoneyReportReqDto extends BaseQueryVo {
    //开始时间
    private String startTime;
    //结束时间
    private String endTime;
    //用户名称 or CIQ
    private String userName;
}
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiAppReportService.java
New file
@@ -0,0 +1,98 @@
package com.hz.his.feign.service.platform.bi;
import com.hx.resultTool.Result;
import com.hz.his.dto.report.AppointmentVisitVo;
import com.hz.his.dto.report.ConsultantCashReportDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * 预约报表
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name = "phiskin-bi-view-user", path = "/bi-view", contextId = "bi-app-report")
public interface BiAppReportService {
    /**
     * 客人到店准时分析报表
     */
    @PostMapping("/report/appointment/store/analysis")
    Result storeAnalysis(@RequestBody AppointmentVisitVo appointmentVisitVo);
    /**
     * 门店取消概况
     */
    @PostMapping("/report/appointment/shop/cancel")
    Result shopCancel(@RequestBody AppointmentVisitVo appointmentVisitVo);
    /**
     * 会员各等级取消概况
     */
    @PostMapping("/report/appointment/userLevel/cancel")
    Result userLevelCancel(@RequestBody AppointmentVisitVo appointmentVisitVo);
    /**
     * 咨询师取消率
     */
    @PostMapping("/report/appointment/consultant/cancel")
    Result consultantCancel(@RequestBody AppointmentVisitVo appointmentVisitVo);
    /**
     * 门店迟到15分钟以上情况
     */
    @PostMapping("/report/appointment/shop/timediff")
    Result shopTimediff(@RequestBody AppointmentVisitVo appointmentVisitVo);
    /**
     * 各等级迟到15分钟以上人数
     */
    @PostMapping("/report/appointment/userLevel/timediff")
    Result userLevelTimediff(@RequestBody AppointmentVisitVo appointmentVisitVo);
    /**
     * 咨询师迟到率
     */
    @PostMapping("/report/appointment/consultant/timediff")
    Result consultantTimediff(@RequestBody AppointmentVisitVo appointmentVisitVo);
    /**
     * 门店迟到时间分布
     */
    @PostMapping("/report/appointment/shop/late")
    Result shopLate(@RequestBody AppointmentVisitVo appointmentVisitVo);
    /**
     * 咨询师当日新增预约概况
     */
    @PostMapping("/report/appointment/consultant/add")
    Result consultantAdd(@RequestBody AppointmentVisitVo appointmentVisitVo);
    /**
     * 咨询师临时改项&增项概况
     */
    @PostMapping("/report/appointment/update/project")
    Result updateProject(@RequestBody AppointmentVisitVo appointmentVisitVo);
    /**
     * 门店升级VIP(含当日准会员升级)
     */
    @PostMapping("/report/appointment/level/upgrade")
    Result levelUpgrade(@RequestBody AppointmentVisitVo appointmentVisitVo);
    /**
     * 升级VIP(含当日准会员升级)
     */
    @PostMapping("/report/appointment/up/level")
    Result upLevel(@RequestBody AppointmentVisitVo appointmentVisitVo);
    /**
     * 初诊公众号绑定概况
     */
    @PostMapping("/report/appointment/gzh/binding")
    Result gzhBinding(@RequestBody AppointmentVisitVo appointmentVisitVo);
}
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiClinicPerfService.java
New file
@@ -0,0 +1,44 @@
package com.hz.his.feign.service.platform.bi;
import com.hx.resultTool.Result;
import com.hz.his.dto.report.ClinicPerfReqDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * 诊所业绩
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name = "phiskin-bi-view-user", path = "/bi-view", contextId = "bi-clinic-perf")
public interface BiClinicPerfService {
    /**
     * 诊所现金业绩
     */
    @PostMapping("/admin/consultant/perf/list")
    Result cashList(@RequestBody ClinicPerfReqDto reqDto);
    /**
     * 诊所现金业绩-支付类型汇总
     */
    @PostMapping("/admin/clinic/perf/cashPayTypeSummary")
    Result cashPayTypeSummary(@RequestBody ClinicPerfReqDto reqDto);
    /**
     * 诊所执行业绩
     */
    @PostMapping("/admin/clinic/perf/deduct/list")
    Result deductList(@RequestBody ClinicPerfReqDto reqDto);
    /**
     * 收银详细列表
     */
    @PostMapping("/admin/clinic/perf/cashierDetailList")
    Result cashierDetailList(@RequestBody ClinicPerfReqDto reqDto);
}
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiConsultantDayService.java
@@ -9,7 +9,7 @@
/**
 * 咨询师日表
 * 咨询师日报
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name="phiskin-bi-view-user",path = "/bi-view",contextId = "bi-consultant-day")
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiConsultantPerfService.java
New file
@@ -0,0 +1,32 @@
package com.hz.his.feign.service.platform.bi;
import com.hx.resultTool.Result;
import com.hz.his.dto.report.PerformanceReqParamsDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * 咨询师执行业绩
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name = "phiskin-bi-view-user", path = "/bi-view", contextId = "bi-consultant-perf")
public interface BiConsultantPerfService {
    /**
     * 咨询师执行业绩
     */
    @PostMapping("/admin/consultant/perf/list")
    Result list(@RequestBody PerformanceReqParamsDto performanceReqParamsDto);
    /**
     * 咨询师执行业绩汇总
     */
    @PostMapping("/admin/consultant/perf/summary/list")
    Result summaryList(@RequestBody PerformanceReqParamsDto performanceReqParamsDto);
}
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiCoreProjectService.java
New file
@@ -0,0 +1,42 @@
package com.hz.his.feign.service.platform.bi;
import com.hx.resultTool.Result;
import com.hz.his.dto.report.CoreProjectReportDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * 核心项目周报
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name = "phiskin-bi-view-user", path = "/bi-view", contextId = "bi-core-project")
public interface BiCoreProjectService {
    /**
     * 根据核心项目类型查询门店完成情况
     */
    @PostMapping("/admin/export/core/project/shop/list")
    Result shopList(@RequestBody CoreProjectReportDto coreProjectReportDto);
    /**
     * 根据核心项目类型查询咨询师完成情况
     */
    @PostMapping("/admin/export/core/project/employee/list")
    Result employeeList(@RequestBody CoreProjectReportDto coreProjectReportDto);
    /**
     * 根据核心项目类型查询医生完成情况
     */
    @PostMapping("/admin/export/core/project/doctor/list")
    Result doctorList(@RequestBody CoreProjectReportDto coreProjectReportDto);
    /**
     * 总比率
     */
    @PostMapping("/admin/export/core/project/data/rate")
    Result dataAll(@RequestBody CoreProjectReportDto coreProjectReportDto);
}
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiCxjService.java
New file
@@ -0,0 +1,43 @@
package com.hz.his.feign.service.platform.bi;
import com.hx.resultTool.Result;
import com.hz.his.dto.report.CoreProjectReportDto;
import com.hz.his.dto.report.CxjReportReqDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * CXJ报表
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name = "phiskin-bi-view-user", path = "/bi-view", contextId = "bi-cxj-project")
public interface BiCxjService {
    /**
     * 预约情况
     */
    @PostMapping("/admin/cxj/report/appointmentSituation")
    Result appointmentSituation(@RequestBody CxjReportReqDto cxjReportReqDto);
    /**
     * 顾问客户预约和到店时间折线图
     */
    @PostMapping("/admin/cxj/report/appTimeLineChart")
    Result appTimeLineChart(@RequestBody CxjReportReqDto cxjReportReqDto);
    /**
     * 等待情况
     */
    @PostMapping("/admin/cxj/report/appTimeLineChart/waitSituation")
    Result waitSituation(@RequestBody CxjReportReqDto cxjReportReqDto);
    /**
     * 面诊情况
     */
    @PostMapping("/admin/cxj/report/consultSituation")
    Result consultSituation(@RequestBody CxjReportReqDto cxjReportReqDto);
}
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiDoctorPerfService.java
New file
@@ -0,0 +1,32 @@
package com.hz.his.feign.service.platform.bi;
import com.hx.resultTool.Result;
import com.hz.his.dto.report.PerformanceReqParamsDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * 医生执行业绩
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name = "phiskin-bi-view-user", path = "/bi-view", contextId = "bi-doctor-perf")
public interface BiDoctorPerfService {
    /**
     * 医生执行业绩
     */
    @PostMapping("/admin/doctor/perf/list")
    Result list(@RequestBody PerformanceReqParamsDto performanceReqParamsDto);
    /**
     * 医生执行业绩汇总
     */
    @PostMapping("/admin/doctor/perf/summary/list")
    Result summaryList(@RequestBody PerformanceReqParamsDto performanceReqParamsDto);
}
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiEmpUserService.java
New file
@@ -0,0 +1,30 @@
package com.hz.his.feign.service.platform.bi;
import com.hx.resultTool.Result;
import com.hz.his.dto.report.EmployeeReportDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * 员工-客户分析
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name = "phiskin-bi-view-user", path = "/bi-view", contextId = "bi-emp-user")
public interface BiEmpUserService {
    /**
     * 医生执行业绩
     */
    @PostMapping("/admin/employee/user/analyse/list")
    Result list(@RequestBody EmployeeReportDto employeeReportDto);
    /**
     * 查看客户分析数据V1版本
     */
    @PostMapping("/admin/employee/user/analyse/list/V1")
    Result analyseListOne(@RequestBody EmployeeReportDto employeeReportDto);
}
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiMemberService.java
New file
@@ -0,0 +1,43 @@
package com.hz.his.feign.service.platform.bi;
import com.hx.resultTool.Result;
import com.hz.his.dto.report.MemberVisitReqDto;
import com.hz.his.dto.report.UserMoneyReportReqDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * 会员报表
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name = "phiskin-bi-view-user", path = "/bi-view", contextId = "bi-member-report")
public interface BiMemberService {
    /**
     * 会员来访-明细列表
     */
    @PostMapping("/admin/member/visit/detailsList")
    Result detailsList(@RequestBody MemberVisitReqDto memberVisitReqDto);
    /**
     * 储值金余额变动表
     */
    @PostMapping("/admin/user/money/report/sfcList")
    Result storedFundChangeList(@RequestBody UserMoneyReportReqDto userMoneyReportReqDto);
    /**
     * 增值金余额变动表
     */
    @PostMapping("/admin/user/money/report/avcList")
    Result addValueFundChangeList(@RequestBody UserMoneyReportReqDto userMoneyReportReqDto);
    /**
     * 积分余额变动表
     */
    @PostMapping("/admin/user/money/report/icList")
    Result integralChangeList(@RequestBody UserMoneyReportReqDto userMoneyReportReqDto);
}
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiNursePerfService.java
New file
@@ -0,0 +1,32 @@
package com.hz.his.feign.service.platform.bi;
import com.hx.resultTool.Result;
import com.hz.his.dto.report.PerformanceReqParamsDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * 护士执行业绩
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name = "phiskin-bi-view-user", path = "/bi-view", contextId = "bi-nurse-perf")
public interface BiNursePerfService {
    /**
     * 护士执行业绩
     */
    @PostMapping("/admin/nurse/perf/list")
    Result list(@RequestBody PerformanceReqParamsDto performanceReqParamsDto);
    /**
     * 医生执行业绩汇总
     */
    @PostMapping("/admin/nurse/perf/summary/list")
    Result summaryList(@RequestBody PerformanceReqParamsDto performanceReqParamsDto);
}
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiOpeStaService.java
New file
@@ -0,0 +1,141 @@
package com.hz.his.feign.service.platform.bi;
import com.hx.resultTool.Result;
import com.hz.his.dto.report.CoreProjectReportDto;
import com.hz.his.dto.report.OperationalStatementsVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * 运营周报
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name = "phiskin-bi-view-user", path = "/bi-view", contextId = "bi-ope-sta")
public interface BiOpeStaService {
    /**
     * 首页头部数据和门店执行业绩完成情况,只支持月份操作
     */
    @PostMapping("/admin/operational/index")
    Result index(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 现金业绩&执行业绩时间趋势
     */
    @PostMapping("/admin/operational/cash/time-trend")
    Result cashierSettlement(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 员工执行业绩排名-各咨询师执行业绩
     */
    @PostMapping("/admin/operational/consultant/execute-achievement")
    Result consultantExecute(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 员工执行业绩排名-医生执行业绩排名
     */
    @PostMapping("/admin/operational/doctor/execute-achievement")
    Result doctorExecute(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 本周医生每日面诊人数及执行业绩
     */
    @PostMapping("/admin/operational/doctor/week/execute-achievement")
    Result doctorWeekExecute(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 各项目大类执行情况分析
     */
    @PostMapping("/admin/operational/project/category/execute")
    Result projectCategory(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 初诊成交项目排行
     */
    @PostMapping("/admin/operational/project/initial/diagnosis")
    Result projectCategoryOne(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 各门店销售情况分析(到访-成交-开单)
     */
    @PostMapping("/admin/operational/shop/sale/order")
    Result shopSale(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 各渠道首天成交情况分析
     */
    @PostMapping("/admin/operational/channels/first-day/deal")
    Result channelDeal(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 各渠道首天成交情况分析-沉睡客唤醒成交分析
     */
    @PostMapping("/admin/operational/channels/dead-sleep/deal")
    Result deadSleep(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 各渠道首天成交情况分析-渠道总信息
     */
    @PostMapping("/admin/operational/channels/deal")
    Result channelsDeal(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 各渠道首天成交情况分析-新媒体沉睡客渠道现金业绩
     */
    @PostMapping("/admin/operational/channels/new-media")
    Result channelsNewMedia(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 各渠道首天成交情况分析-门诊各渠道首天成交情况分析
     */
    @PostMapping("/admin/operational/shop/channels")
    Result shopChannels(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 门店&咨询师老带新首天成交金额分析
     */
    @PostMapping("/admin/operational/shop/consultant/deal-analysis")
    Result shopConsultant(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 门店&咨询师CRM艾芯荟成交
     */
    @PostMapping("/admin/operational/shop/consultant/crm-deal")
    Result shopConsultantCrm(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 各门店&咨询师初诊&复诊情况分析(未减金额)
     */
    @PostMapping("/admin/operational/shop/consultant/all-deal")
    Result shopConsultantDeal(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 渠道初诊成交项目TOP3
     */
    @PostMapping("/admin/operational/channels/project/fisrt-deal")
    Result channelsProjectFirstDeal(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 公海释放人数
     */
    @PostMapping("/admin/operational/high-seas/release")
    Result highSeasRelease(@RequestBody OperationalStatementsVo operationalStatementsVo);
    /**
     * 医生核心项目执行情况
     */
    @PostMapping("/admin/operational/doctor/core/project")
    Result doctorCoreProject(@RequestBody CoreProjectReportDto coreProjectReportDto);
    /**
     * RFM数据查看
     */
    @PostMapping("/admin/operational/rfm/data/list")
    Result rfmDataList(@RequestBody OperationalStatementsVo operationalStatementsVo);
}
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiOrderReportService.java
New file
@@ -0,0 +1,23 @@
package com.hz.his.feign.service.platform.bi;
import com.hx.resultTool.Result;
import com.hz.his.dto.report.ReportReqVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * 门店业绩报表
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name="phiskin-bi-view-user",path = "/bi-view",contextId = "bi-order-report")
public interface BiOrderReportService {
    /**
     * 门诊间转诊转疗报表
     */
    @PostMapping("/admin/order/report/rorList")
    Result referralOrderReportList(@RequestBody ReportReqVo reportReqVo);
}
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiShopCashService.java
New file
@@ -0,0 +1,25 @@
package com.hz.his.feign.service.platform.bi;
import com.hx.resultTool.Result;
import com.hz.his.dto.report.ShopCashReportDto;
import com.hz.his.dto.report.ShopReportDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * 门店业绩报表
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name="phiskin-bi-view-user",path = "/bi-view",contextId = "bi-shop-cash")
public interface BiShopCashService {
    /**
     * 门店业绩报表
     * ArriveShopVo
     */
    @PostMapping("/report/shop/cash/list")
    Result shopList(@RequestBody ShopCashReportDto shopCashReportDto);
}
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiTmkPerfService.java
New file
@@ -0,0 +1,37 @@
package com.hz.his.feign.service.platform.bi;
import com.hx.resultTool.Result;
import com.hz.his.dto.report.PerformanceReqParamsDto;
import com.hz.his.dto.report.TmkOrderPerfReqDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * TMK(电网咨询师)业绩
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name = "phiskin-bi-view-user", path = "/bi-view", contextId = "bi-tmk-perf")
public interface BiTmkPerfService {
    /**
     * 订单业绩明细列表
     */
    @PostMapping("/admin/tmk/perf/orderPerfList")
    Result orderPerfList(@RequestBody TmkOrderPerfReqDto tmkOrderPerfReqDto);
    /**
     * 电网业绩汇总
     */
    @PostMapping("/admin/tmk/perf/summary/list")
    Result list(@RequestBody TmkOrderPerfReqDto tmkOrderPerfReqDto);
    /**
     * 电网业绩汇总-总计
     */
    @PostMapping("/admin/tmk/perf/summary/sumData")
    Result sumData(@RequestBody TmkOrderPerfReqDto tmkOrderPerfReqDto);
}
phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiTransferService.java
New file
@@ -0,0 +1,23 @@
package com.hz.his.feign.service.platform.bi;
import com.hx.resultTool.Result;
import com.hz.his.dto.report.ReportReqVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * 门店业绩报表
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name="phiskin-bi-view-user",path = "/bi-view",contextId = "bi-transfer-report")
public interface BiTransferService {
    /**
     * 转增项目
     */
    @PostMapping("/admin/transfer/report/tpList")
    Result transferProjectList(@RequestBody ReportReqVo reportReqVo);
}