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/PerformanceReqParamsDto.java
File was renamed from phis-feign/src/main/java/com/hz/his/dto/report/PerformanceReqParamsVo.java @@ -1,12 +1,6 @@ package com.hz.his.dto.report; import com.hz.his.dto.PageDto; import lombok.Data; /** * 业绩接口请求参数vo @@ -14,7 +8,7 @@ * @DATE: 2022/12/14 **/ @Data public class PerformanceReqParamsVo extends BaseQueryVo { public class PerformanceReqParamsDto extends BaseQueryVo { public static final int NO = 0; public static final int YES = 1; @@ -90,8 +84,4 @@ private Integer sumIsShop = NO; //汇总角色 private String sumRole; public PerformanceReqParamsVo() { } } 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/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
@@ -1,7 +1,7 @@ package com.hz.his.feign.service.platform.bi; import com.hx.resultTool.Result; import com.hz.his.dto.report.ClinicPerfReqDto; 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; @@ -17,26 +17,14 @@ /** * 咨询师执行业绩 */ @PostMapping("/admin/clinic/perf/cash/list") Result cashList(@RequestBody ClinicPerfReqDto reqDto); @PostMapping("/admin/consultant/perf/list") Result list(@RequestBody PerformanceReqParamsDto performanceReqParamsDto); /** * 诊所现金业绩-支付类型汇总 * 咨询师执行业绩汇总 */ @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); @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); }