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); }