Commit ab943ab2 by jianan

导出运营报表2-经纪人日程管理,销售目标,活动量

parent 72a2ee49
......@@ -6,10 +6,7 @@ import com.yd.api.agms.vo.dashboard.*;
import com.yd.api.agms.vo.fortune.*;
import com.yd.api.agms.vo.hiring.*;
import com.yd.api.agms.vo.insurer.SealUploadResponseVO;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharingListRequestVO;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharingListResponseVO;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharingSaveRequestVO;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharingSaveResponseVO;
import com.yd.api.agms.vo.practitioner.*;
import com.yd.api.agms.vo.sharing.ControllerResponseVO;
import com.yd.api.agms.vo.statistics.FinancialStatisticsRequestVO;
import com.yd.api.agms.vo.statistics.FinancialStatisticsResponseVO;
......@@ -53,13 +50,14 @@ public class AgmsController {
/**
* AGMS -- 财务管理报表
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping("/financialPredictStatistics")
public Object financialPredictStatistics(@RequestBody FinancialStatisticsRequestVO requestVO, HttpServletResponse response){
public Object financialPredictStatistics(@RequestBody FinancialStatisticsRequestVO requestVO, HttpServletResponse response) {
JsonResult result = new JsonResult();
FinancialStatisticsResponseVO responseVO = agmsStatisticsService.financialPredictStatistics(requestVO,response);
FinancialStatisticsResponseVO responseVO = agmsStatisticsService.financialPredictStatistics(requestVO, response);
result.addResult(responseVO);
result.setData(responseVO);
return result;
......@@ -67,11 +65,12 @@ public class AgmsController {
/**
* AGMS -- Dashboard查询 PEP活动管理
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping("/statisticsPEP")
public Object statisticsPEP(@RequestBody StatisticsPEPRequestVO requestVO){
public Object statisticsPEP(@RequestBody StatisticsPEPRequestVO requestVO) {
JsonResult result = new JsonResult();
StatisticsPEPResponseVO responseVO = agmsDashboardService.statisticsPEP(requestVO);
result.addResult(responseVO);
......@@ -81,11 +80,12 @@ public class AgmsController {
/**
* AGMS -- Dashboard查询 商机预测
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping("/statisticsOpportunity")
public Object statisticsOpportunity(@RequestBody StatisticsOpportunityRequestVO requestVO){
public Object statisticsOpportunity(@RequestBody StatisticsOpportunityRequestVO requestVO) {
JsonResult result = new JsonResult();
StatisticsOpportunityResponseVO responseVO = agmsDashboardService.statisticsOpportunity(requestVO);
result.addResult(responseVO);
......@@ -95,11 +95,12 @@ public class AgmsController {
/**
* AGMS -- Dashboard查询 预测统计查询
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping("/statisticsForecastTotal")
public Object statisticsForecastTotal(@RequestBody StatisticsForecastTotalRequestVO requestVO){
public Object statisticsForecastTotal(@RequestBody StatisticsForecastTotalRequestVO requestVO) {
JsonResult result = new JsonResult();
StatisticsForecastTotalResponseVO responseVO = agmsDashboardService.statisticsForecastTotal(requestVO);
result.addResult(responseVO);
......@@ -109,11 +110,12 @@ public class AgmsController {
/**
* AGMS -- Dashboard查询 销售统计查询
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping("/statisticsSales")
public Object statisticsSales(@RequestBody StatisticsSalesRequestVO requestVO){
public Object statisticsSales(@RequestBody StatisticsSalesRequestVO requestVO) {
JsonResult result = new JsonResult();
StatisticsSalesResponseVO responseVO = agmsDashboardService.statisticsSales(requestVO);
result.addResult(responseVO);
......@@ -123,11 +125,12 @@ public class AgmsController {
/**
* AGMS -- Dashboard查询 经纪人统计查询
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping("/statisticsPractitioner")
public Object statisticsPractitioner(@RequestBody StatisticsPractitionerRequestVO requestVO){
public Object statisticsPractitioner(@RequestBody StatisticsPractitionerRequestVO requestVO) {
JsonResult result = new JsonResult();
StatisticsPractitionerResponseVO responseVO = agmsDashboardService.statisticsPractitioner(requestVO);
result.addResult(responseVO);
......@@ -137,13 +140,14 @@ public class AgmsController {
/**
* AGMS -- 商机统计报表
*
* @param requestVO requestVO
* @return 响应数据
*/
@RequestMapping(value="/leadsStatistics")
public Object leadsStatistics(@RequestBody LeadsStatisticsRequestVO requestVO,HttpServletResponse response) {
@RequestMapping(value = "/leadsStatistics")
public Object leadsStatistics(@RequestBody LeadsStatisticsRequestVO requestVO, HttpServletResponse response) {
JsonResult result = new JsonResult();
LeadsStatisticsResponseVO responseVO = agmsStatisticsService.leadsStatistics(requestVO,response);
LeadsStatisticsResponseVO responseVO = agmsStatisticsService.leadsStatistics(requestVO, response);
result.setData(responseVO);
result.addResult(responseVO);
return result;
......@@ -151,10 +155,11 @@ public class AgmsController {
/**
* AGMS -- 修改佣金发放状态
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/commissionPayoutStatusUpdate")
@RequestMapping(value = "/commissionPayoutStatusUpdate")
public Object commissionPayoutStatusUpdate(@RequestBody CommissionPayoutStatusUpdateRequestVO requestVO) {
JsonResult result = new JsonResult();
CommissionPayoutStatusUpdateResponseVO responseVO = agmsFortuneService.commissionPayoutStatusUpdate(requestVO);
......@@ -165,10 +170,11 @@ public class AgmsController {
/**
* AGMS -- 发佣添加备注
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/commissionPayoutAddRemark")
@RequestMapping(value = "/commissionPayoutAddRemark")
public Object commissionPayoutAddRemark(@RequestBody CommissionPayoutAddRemarkRequestVO requestVO) {
JsonResult result = new JsonResult();
CommissionPayoutStatusUpdateResponseVO responseVO = agmsFortuneService.commissionPayoutAddRemark(requestVO);
......@@ -179,11 +185,12 @@ public class AgmsController {
/**
* AGMS -- 修改佣金发放状态列表
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/commissionPayoutStatusQuery")
public Object commissionPayoutStatusQuery(@RequestBody CommissionPayoutStatusQueryRequestVO requestVO){
@RequestMapping(value = "/commissionPayoutStatusQuery")
public Object commissionPayoutStatusQuery(@RequestBody CommissionPayoutStatusQueryRequestVO requestVO) {
JsonResult result = new JsonResult();
CommissionPayoutStatusQueryResponseVO responseVO = agmsFortuneService.commissionPayoutStatusQuery(requestVO);
result.setData(responseVO);
......@@ -193,11 +200,12 @@ public class AgmsController {
/**
* AGMS -- 支付列表查询
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping("/withdrawQuery")
public Object withdrawQuery(@RequestBody WithdrawQueryRequestVO requestVO){
public Object withdrawQuery(@RequestBody WithdrawQueryRequestVO requestVO) {
JsonResult result = new JsonResult();
WithdrawQueryResponseVO withdrawQueryResponseVO = agmsFortuneService.withdrawQuery(requestVO);
result.addResult(withdrawQueryResponseVO);
......@@ -207,10 +215,11 @@ public class AgmsController {
/**
* AGMS -- 提现财富对应订单查询
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/fortunePayToOrder")
@RequestMapping(value = "/fortunePayToOrder")
public Object fortunePayToOrder(@RequestBody FortunePayToOrderRequestVO requestVO) {
JsonResult result = new JsonResult();
FortunePayToOrderResponseVO responseVO = agmsFortuneService.fortunePayToOrder(requestVO);
......@@ -221,10 +230,11 @@ public class AgmsController {
/**
* AGMS -- 财富批量支付
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/fortunePay")
@RequestMapping(value = "/fortunePay")
public Object fortunePay(@RequestBody FortunePayRequestVO requestVO) {
JsonResult result = new JsonResult();
FortunePayResponseVO responseVO = agmsFortuneService.fortunePay(requestVO);
......@@ -235,13 +245,14 @@ public class AgmsController {
/**
* AGMS -- 发佣检核导出
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/exportCommissionPayoutStatusQuery")
@RequestMapping(value = "/exportCommissionPayoutStatusQuery")
public Object exportCommissionPayoutStatusQuery(@RequestBody CommissionPayoutStatusQueryRequestVO requestVO, HttpServletResponse response) {
JsonResult result = new JsonResult();
ExportCommissionPayoutStatusQueryResponseVO responseVO = agmsFortuneService.exportCommissionPayoutStatusQuery(requestVO,response);
ExportCommissionPayoutStatusQueryResponseVO responseVO = agmsFortuneService.exportCommissionPayoutStatusQuery(requestVO, response);
result.setData(responseVO);
result.addResult(responseVO);
return result;
......@@ -249,13 +260,14 @@ public class AgmsController {
/**
* AGMS -- 保单发佣清算明细报表导出
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/exportCommissionPayoutStatusQuerySheet2")
@RequestMapping(value = "/exportCommissionPayoutStatusQuerySheet2")
public Object exportCommissionPayoutStatusQuerySheet2(@RequestBody CommissionPayoutStatusQueryRequestVO requestVO, HttpServletResponse response) {
JsonResult result = new JsonResult();
ExportCommissionPayoutStatusQueryResponseVO responseVO = agmsFortuneService.exportCommissionPayoutStatusQuerySheet2(requestVO,response);
ExportCommissionPayoutStatusQueryResponseVO responseVO = agmsFortuneService.exportCommissionPayoutStatusQuerySheet2(requestVO, response);
result.setData(responseVO);
result.addResult(responseVO);
return result;
......@@ -263,13 +275,14 @@ public class AgmsController {
/**
* AGMS -- 导出财富文档
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/exportFortunePay")
@RequestMapping(value = "/exportFortunePay")
public Object exportFortunePay(@RequestBody ExportFortunePayRequestVO requestVO, HttpServletResponse response) {
JsonResult result = new JsonResult();
ExportFortunePayResponseVO responseVO = agmsFortuneService.exportFortunePay(requestVO,response);
ExportFortunePayResponseVO responseVO = agmsFortuneService.exportFortunePay(requestVO, response);
result.setData(responseVO);
result.addResult(responseVO);
return result;
......@@ -277,9 +290,10 @@ public class AgmsController {
/**
* AGMS -- 查询预计发佣日期
*
* @return 响应数据
*/
@RequestMapping(value="/fortunePayoutBatchQuery",method = RequestMethod.GET)
@RequestMapping(value = "/fortunePayoutBatchQuery", method = RequestMethod.GET)
public Object fortunePayoutBatchQuery() {
JsonResult result = new JsonResult();
FortunePayoutBatchQueryResponseVO responseVO = agmsFortuneService.fortunePayoutBatchQuery();
......@@ -290,10 +304,11 @@ public class AgmsController {
/**
* AGMS -- 经纪人审批详情查询
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/practitionerHiringDetail")
@RequestMapping(value = "/practitionerHiringDetail")
public Object practitionerHiringDetail(@RequestBody PractitionerHiringDetailRequestVO requestVO) {
JsonResult result = new JsonResult();
PractitionerHiringDetailResponseVO responseVO = agmsHiringService.practitionerHiringDetail(requestVO);
......@@ -304,10 +319,11 @@ public class AgmsController {
/**
* AGMS -- 经纪人审批列表查询
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/practitionerHiringListOld")
@RequestMapping(value = "/practitionerHiringListOld")
public Object practitionerHiringListOld(@RequestBody PractitionerHiringListRequestVO requestVO) {
JsonResult result = new JsonResult();
PractitionerHiringListResponseVO responseVO = agmsHiringService.practitionerHiringList(requestVO);
......@@ -318,11 +334,12 @@ public class AgmsController {
/**
* AGMS -- 经纪人审批
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping("/practitionerHiringApprove")
public Object practitionerHiringApprove(@RequestBody PractitionerHiringApproveRequestVO requestVO){
public Object practitionerHiringApprove(@RequestBody PractitionerHiringApproveRequestVO requestVO) {
JsonResult result = new JsonResult();
PractitionerHiringApproveResponseVO responseVO = agmsHiringService.practitionerHiringApprove(requestVO);
result.addResult(responseVO);
......@@ -332,10 +349,11 @@ public class AgmsController {
/**
* AGMS -- 经纪人审批列表查询第二版
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/practitionerHiringList")
@RequestMapping(value = "/practitionerHiringList")
public Object practitionerHiringList(@RequestBody PractitionerHiringListRequestVO requestVO) {
JsonResult result = new JsonResult();
PractitionerHiringListResponseVO responseVO = agmsHiringService.practitionerHiringListV2(requestVO);
......@@ -375,37 +393,41 @@ public class AgmsController {
/**
* 上传公司印章接口
*
* @param sealFile
* @param loginId
* @param insurerBranchId
* @param insurerBranchDeptId
* @return
*/
@RequestMapping(value="/sealUpload")
@RequestMapping(value = "/sealUpload")
public Object sealUpload(@RequestParam(value = "sealFile") MultipartFile sealFile,
@RequestParam(value = "loginId",required = true) Long loginId,
@RequestParam(value = "insurerBranchId",required = false) Long insurerBranchId,
@RequestParam(value = "insurerBranchDeptId",required = false) Long insurerBranchDeptId) {
@RequestParam(value = "loginId", required = true) Long loginId,
@RequestParam(value = "insurerBranchId", required = false) Long insurerBranchId,
@RequestParam(value = "insurerBranchDeptId", required = false) Long insurerBranchDeptId) {
JsonResult result = new JsonResult();
SealUploadResponseVO responseVO = agmsInsurerService.sealUpload(sealFile,loginId,insurerBranchId,insurerBranchDeptId);
SealUploadResponseVO responseVO = agmsInsurerService.sealUpload(sealFile, loginId, insurerBranchId, insurerBranchDeptId);
result.setData(responseVO);
result.addResult(responseVO);
return result;
}
@RequestMapping(value="/controller")
public Object controller(@RequestParam String action, @RequestParam(required = false) String callback, @RequestParam(value = "upfile",required = false) MultipartFile upfile) {
@RequestMapping(value = "/controller")
public Object controller(@RequestParam String action, @RequestParam(required = false) String callback, @RequestParam(value = "upfile", required = false) MultipartFile upfile) {
ControllerResponseVO responseVO = agmsSharingService.controller(action, upfile);
if (!CommonUtil.isNullOrBlank(callback)) {
return callback +"(" + JSON.toJSONString(responseVO) + ")";
return callback + "(" + JSON.toJSONString(responseVO) + ")";
}
return responseVO;
}
/**
* AGMS -- 经纪人保存文章
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/practitionerFileSharingSave")
@RequestMapping(value = "/practitionerFileSharingSave")
public Object practitionerFileSharingSave(@RequestBody PractitionerFileSharingSaveRequestVO requestVO) {
JsonResult result = new JsonResult();
PractitionerFileSharingSaveResponseVO responseVO = agmsPractitionerService.practitionerFileSharingSave(requestVO);
......@@ -416,10 +438,11 @@ public class AgmsController {
/**
* AGMS -- 经纪人查询文章
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/practitionerFileSharingList")
@RequestMapping(value = "/practitionerFileSharingList")
public Object practitionerFileSharingList(@RequestBody PractitionerFileSharingListRequestVO requestVO) {
JsonResult result = new JsonResult();
PractitionerFileSharingListResponseVO responseVO = agmsPractitionerService.practitionerFileSharingList(requestVO);
......@@ -430,10 +453,11 @@ public class AgmsController {
/**
* AGMS -- 标签修改
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/tagUpdate")
@RequestMapping(value = "/tagUpdate")
public Object tagUpdate(@RequestBody TagUpdateRequestVO requestVO) {
JsonResult result = new JsonResult();
TagUpdateResponseVO responseVO = agmsTagService.tagUpdate(requestVO);
......@@ -444,13 +468,14 @@ public class AgmsController {
/**
* AGMS -- 前端显示标签 保存与修改
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/tagViewUpdate")
public Object tagViewUpdate(@RequestBody TagViewUpdateRequestVO requestVO) throws Exception{
@RequestMapping(value = "/tagViewUpdate")
public Object tagViewUpdate(@RequestBody TagViewUpdateRequestVO requestVO) throws Exception {
JsonResult result = new JsonResult();
TagViewUpdateResponseVO responseVO = agmsTagService.tagViewUpdate(requestVO,null);
TagViewUpdateResponseVO responseVO = agmsTagService.tagViewUpdate(requestVO, null);
result.setData(responseVO);
result.addResult(responseVO);
return result;
......@@ -458,16 +483,113 @@ public class AgmsController {
/**
* AGMS -- 前端显示标签 保存与修改,支持图片上次
*
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/tagViewFileUpdate")
public Object tagViewFileUpdate(@RequestParam(value = "requestVO",required = true) String requestVO,
@RequestParam(value = "tagViewImage",required = false) MultipartFile tagViewImage) throws Exception{
requestVO = new String(requestVO.getBytes("ISO-8859-1"),"UTF-8");
TagViewUpdateRequestVO request = (TagViewUpdateRequestVO)JsonUtil.jsonToObj(requestVO, TagViewUpdateRequestVO.class);
@RequestMapping(value = "/tagViewFileUpdate")
public Object tagViewFileUpdate(@RequestParam(value = "requestVO", required = true) String requestVO,
@RequestParam(value = "tagViewImage", required = false) MultipartFile tagViewImage) throws Exception {
requestVO = new String(requestVO.getBytes("ISO-8859-1"), "UTF-8");
TagViewUpdateRequestVO request = (TagViewUpdateRequestVO) JsonUtil.jsonToObj(requestVO, TagViewUpdateRequestVO.class);
JsonResult result = new JsonResult();
TagViewUpdateResponseVO responseVO = agmsTagService.tagViewUpdate(request, tagViewImage);
result.setData(responseVO);
result.addResult(responseVO);
return result;
}
/**
* 经纪人日程管理
*
* @param requestVO
* @return
* @throws Exception
*/
@RequestMapping(value = "/practitionerSchedule")
public Object practitionerSchedule(@RequestBody PractitionerScheduleRequestVO requestVO) throws Exception {
JsonResult result = new JsonResult();
PractitionerScheduleResponseVO responseVO = agmsPractitionerService.practitionerSchedule(requestVO);
result.setData(responseVO);
result.addResult(responseVO);
return result;
}
/**
* 经纪人日程管理导出
*
* @param requestVO
* @return
* @throws Exception
*/
@RequestMapping(value = "/practitionerScheduleExport")
public Object practitionerScheduleExport(@RequestBody PractitionerScheduleRequestVO requestVO, HttpServletResponse response) throws Exception {
JsonResult result = new JsonResult();
CommonResultResponseVO responseVO = agmsPractitionerService.practitionerScheduleExport(requestVO, response);
result.setData(responseVO);
result.addResult(responseVO);
return result;
}
/**
* 经纪人销售目标
*
* @param requestVO
* @return
* @throws Exception
*/
@RequestMapping(value = "/practitionerLeadsGoals")
public Object practitionerLeadsGoals(@RequestBody PractitionerLeadsGoalsRequestVO requestVO) {
JsonResult result = new JsonResult();
PractitionerLeadsGoalsResponseVO responseVO = agmsPractitionerService.practitionerLeadsGoals(requestVO);
result.setData(responseVO);
result.addResult(responseVO);
return result;
}
/**
* 经纪人销售目标导出
*
* @param requestVO
* @return
* @throws Exception
*/
@RequestMapping(value = "/practitionerLeadsGoalsExport")
public Object practitionerLeadsGoalsExport(@RequestBody PractitionerLeadsGoalsRequestVO requestVO, HttpServletResponse response) {
JsonResult result = new JsonResult();
CommonResultResponseVO responseVO = agmsPractitionerService.practitionerLeadsGoalsExport(requestVO, response);
result.setData(responseVO);
result.addResult(responseVO);
return result;
}
/**
* 经纪人活动量
*
* @param requestVO
* @return
* @throws Exception
*/
@RequestMapping(value = "/practitionerActivity")
public Object practitionerActivity(@RequestBody PractitionerActivityRequestVO requestVO) {
JsonResult result = new JsonResult();
PractitionerActivityResponseVO responseVO = agmsPractitionerService.practitionerActivity(requestVO);
result.setData(responseVO);
result.addResult(responseVO);
return result;
}
/**
* 经纪人活动量导出
*
* @param requestVO
* @return
* @throws Exception
*/
@RequestMapping(value = "/practitionerActivityExport")
public Object practitionerActivityExport(@RequestBody PractitionerActivityRequestVO requestVO, HttpServletResponse response) {
JsonResult result = new JsonResult();
TagViewUpdateResponseVO responseVO = agmsTagService.tagViewUpdate(request,tagViewImage);
CommonResultResponseVO responseVO = agmsPractitionerService.practitionerActivityExport(requestVO, response);
result.setData(responseVO);
result.addResult(responseVO);
return result;
......
package com.yd.api.agms.service;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharingListRequestVO;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharingListResponseVO;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharingSaveRequestVO;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharingSaveResponseVO;
import com.yd.api.agms.vo.practitioner.*;
import com.yd.api.result.CommonResultResponseVO;
import javax.servlet.http.HttpServletResponse;
/**
* @author xxy
......@@ -22,4 +22,21 @@ public interface AgmsPractitionerService {
* @return 响应数据
*/
PractitionerFileSharingListResponseVO practitionerFileSharingList(PractitionerFileSharingListRequestVO requestVO);
/**
* 经纪人日程管理
* @param requestVO
* @return
*/
PractitionerScheduleResponseVO practitionerSchedule(PractitionerScheduleRequestVO requestVO);
CommonResultResponseVO practitionerScheduleExport(PractitionerScheduleRequestVO requestVO, HttpServletResponse response);
PractitionerLeadsGoalsResponseVO practitionerLeadsGoals(PractitionerLeadsGoalsRequestVO requestVO);
CommonResultResponseVO practitionerLeadsGoalsExport(PractitionerLeadsGoalsRequestVO requestVO, HttpServletResponse response);
PractitionerActivityResponseVO practitionerActivity(PractitionerActivityRequestVO requestVO);
CommonResultResponseVO practitionerActivityExport(PractitionerActivityRequestVO requestVO, HttpServletResponse response);
}
package com.yd.api.agms.service.impl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.yd.api.agms.service.AgmsPractitionerService;
import com.yd.api.agms.vo.practitioner.*;
import com.yd.api.result.CommonResult;
import com.yd.api.result.CommonResultResponseVO;
import com.yd.dal.entity.customer.AclCustomer;
import com.yd.dal.entity.customer.AclPractitionerFileSharing;
import com.yd.dal.service.agms.AgmsPractitionerDALService;
......@@ -12,11 +14,16 @@ import com.yd.dal.service.customer.AclPractitionerFileSharingDALService;
import com.yd.util.CommonUtil;
import com.yd.util.config.ZHBErrorConfig;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import java.util.Map;
/**
* @author xxy
......@@ -30,11 +37,12 @@ public class AgmsPractitionerServiceImpl implements AgmsPractitionerService {
private AgmsPractitionerDALService agmsPractitionerDALService;
@Autowired
private AclPractitionerDALService aclPractitionerDALService;
@Override
public PractitionerFileSharingSaveResponseVO practitionerFileSharingSave(PractitionerFileSharingSaveRequestVO requestVO) {
PractitionerFileSharingSaveResponseVO responseVO = new PractitionerFileSharingSaveResponseVO();
AclPractitionerFileSharing fileSharing = new AclPractitionerFileSharing();
BeanUtils.copyProperties(requestVO,fileSharing);
BeanUtils.copyProperties(requestVO, fileSharing);
fileSharing.setUpdatedBy(requestVO.getLoginId());
Long id = aclPractitionerFileSharingDalService.saveOrUpdate(fileSharing);
responseVO.setId(id);
......@@ -45,15 +53,15 @@ public class AgmsPractitionerServiceImpl implements AgmsPractitionerService {
@Override
public PractitionerFileSharingListResponseVO practitionerFileSharingList(PractitionerFileSharingListRequestVO requestVO) {
PractitionerFileSharingListResponseVO responseVO = new PractitionerFileSharingListResponseVO();
Long[] mdDropOptionIds=null;
if (!CommonUtil.isNullOrBlank(requestVO.getMdDropOptionId())){
mdDropOptionIds=(Long[]) ConvertUtils.convert(requestVO.getMdDropOptionId().split(","),Long.class);
Long[] mdDropOptionIds = null;
if (!CommonUtil.isNullOrBlank(requestVO.getMdDropOptionId())) {
mdDropOptionIds = (Long[]) ConvertUtils.convert(requestVO.getMdDropOptionId().split(","), Long.class);
}
//等保调整
if(null != requestVO.getPractitionerId()){
List<AclCustomer> findByObjSortable = aclPractitionerDALService.getAclCustomers(requestVO.getPractitionerId(),null);
if(null == findByObjSortable ){
responseVO.setCommonResult(new CommonResult(false,ZHBErrorConfig.getErrorInfo("630028")));
if (null != requestVO.getPractitionerId()) {
List<AclCustomer> findByObjSortable = aclPractitionerDALService.getAclCustomers(requestVO.getPractitionerId(), null);
if (null == findByObjSortable) {
responseVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("630028")));
return responseVO;
}
}
......@@ -71,4 +79,191 @@ public class AgmsPractitionerServiceImpl implements AgmsPractitionerService {
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return responseVO;
}
@Override
public PractitionerScheduleResponseVO practitionerSchedule(PractitionerScheduleRequestVO requestVO) {
PractitionerScheduleResponseVO resp = new PractitionerScheduleResponseVO();
Long practitionerId = requestVO.getPractitionerId();
String trackDate = requestVO.getTrackTime();
// if (StringUtils.isEmpty(trackDate) || null == practitionerId) {
// resp.setCommonResult(new CommonResult(true, "经纪人id和查询时间不能为空"));
// return resp;
// }
List<PractitionerScheduleInfo> list;
try {
PageInfo<PractitionerScheduleInfo> page = requestVO.getPage();
PageHelper.startPage(page.getPageNum(), page.getPageSize(), null);
list = agmsPractitionerDALService.practitionerSchedule(requestVO);
PageInfo<PractitionerScheduleInfo> pageInfo = new PageInfo<>(list);
// 设置resp
resp.setList(pageInfo.getList());
pageInfo.setList(null);
resp.setPage(pageInfo);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@Override
public CommonResultResponseVO practitionerScheduleExport(PractitionerScheduleRequestVO requestVO, HttpServletResponse response) {
CommonResultResponseVO resp = new CommonResultResponseVO();
List<Map<String, Object>> dataList = agmsPractitionerDALService.practitionerScheduleExport(requestVO);
// 表头和表名
String[] columnName = new String[]{"序号", "经纪人姓名", "日期", "日程类型", "日程内容", "任务开始时间", "任务结束时间", "备注", "设置时间"};
String tableName = "PractitionerSchedule" + System.currentTimeMillis() + ".csv";
// 导出
this.exportCSV(tableName, columnName, dataList, response);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return resp;
}
@Override
public PractitionerLeadsGoalsResponseVO practitionerLeadsGoals(PractitionerLeadsGoalsRequestVO requestVO) {
PractitionerLeadsGoalsResponseVO resp = new PractitionerLeadsGoalsResponseVO();
List<PractitionerLeadsGoalsInfo> list;
try {
PageInfo<PractitionerLeadsGoalsInfo> page = requestVO.getPage();
PageHelper.startPage(page.getPageNum(), page.getPageSize(), null);
list = agmsPractitionerDALService.practitionerLeadsGoals(requestVO);
PageInfo<PractitionerLeadsGoalsInfo> pageInfo = new PageInfo<>(list);
// 设置resp
resp.setList(pageInfo.getList());
pageInfo.setList(null);
resp.setPage(pageInfo);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@Override
public CommonResultResponseVO practitionerLeadsGoalsExport(PractitionerLeadsGoalsRequestVO requestVO, HttpServletResponse response) {
CommonResultResponseVO resp = new CommonResultResponseVO();
List<Map<String, Object>> dataList = agmsPractitionerDALService.practitionerLeadsGoalsExport(requestVO);
String[] columnName = new String[]{"序号", "经纪人姓名", "目标类型", "设置年份或月份", "保费", "佣金", "件数", "件均保费", "设置时间"};
String tableName = "PractitionerLeadsGoals" + System.currentTimeMillis() + ".csv";
this.exportCSV(tableName, columnName, dataList, response);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return resp;
}
@Override
public PractitionerActivityResponseVO practitionerActivity(PractitionerActivityRequestVO requestVO) {
PractitionerActivityResponseVO resp = new PractitionerActivityResponseVO();
List<PractitionerActivityInfo> list;
try {
PageInfo<PractitionerActivityInfo> page = requestVO.getPage();
PageHelper.startPage(page.getPageNum(), page.getPageSize(), null);
list = agmsPractitionerDALService.practitionerActivity(requestVO);
PageInfo<PractitionerActivityInfo> pageInfo = new PageInfo<>(list);
// 设置resp
resp.setList(pageInfo.getList());
pageInfo.setList(null);
resp.setPage(pageInfo);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@Override
public CommonResultResponseVO practitionerActivityExport(PractitionerActivityRequestVO requestVO, HttpServletResponse response) {
CommonResultResponseVO resp = new CommonResultResponseVO();
List<Map<String, Object>> dataList = agmsPractitionerDALService.practitionerActivityExport(requestVO);
String[] columnName = new String[]{"序号", "经纪人", "活动量类型", "活动量分值", "日期"};
String tableName = "PractitionerActivity" + System.currentTimeMillis() + ".csv";
this.exportCSV(tableName, columnName, dataList, response);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return resp;
}
private void exportCSV(String tableName, String[] columnName, List<Map<String, Object>> dataList, HttpServletResponse response) {
// String[] columnName = new String[]{"序号", "经纪人姓名", "日期", "日程类型", "日程内容", "任务开始时间", "任务结束时间", "备注", "设置时间"};
// String tableName = "PractitionerSchedule" + System.currentTimeMillis() + ".csv";
String CSV_COLUMN_SEPARATOR = ",";//CSV文件列分隔符
String CSV_ROW_SEPARATOR = "\r\n";//CSV文件行分隔符
// 保证线程安全
StringBuilder buf = new StringBuilder();
// 组装表头
for (String title : columnName) {
buf.append(title).append(CSV_COLUMN_SEPARATOR);
}
buf.append(CSV_ROW_SEPARATOR);
// 组装数据
if (CollectionUtils.isNotEmpty(dataList)) {
Map<String, Object> map = null;
for (int i = 0; i < dataList.size(); i++) {
map = dataList.get(i);//遍历每个对象
// 序号
buf.append(i + 1).append(CSV_COLUMN_SEPARATOR);
for (int j = 1; j < columnName.length; j++) {
buf.append(map.get(j + "")).append("\t").append(CSV_COLUMN_SEPARATOR);
}
buf.append(CSV_ROW_SEPARATOR);
}
}
// 设置文件后缀
setCSVResponse(response, tableName, buf);
}
private void setCSVResponse(HttpServletResponse response, String fn, StringBuilder data) {
String charset = "UTF-8"; // 读取字符编码
// String fn = tableName + System.currentTimeMillis() + ".csv";
String headStr = "attachment; filename=\"" + fn + "\"";
// 设置响应
response.setContentType("APPLICATION/ms-csv.numberformat");
response.setCharacterEncoding(charset);
response.setHeader("Content-Disposition", headStr);
response.setHeader("Cache-Control", "max-age=30");
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setHeader("Pragma", "public");
OutputStream os = null;
try {
os = response.getOutputStream();
os.write(data.toString().getBytes("GBK"));
os.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (os != null) {
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
package com.yd.api.agms.vo.practitioner;
import lombok.Data;
@Data
public class PractitionerActivityInfo {
private String practitionerName;
private String type;
private String score;
private String timePeriod;
}
package com.yd.api.agms.vo.practitioner;
import com.github.pagehelper.PageInfo;
import lombok.Data;
@Data
public class PractitionerActivityRequestVO {
private Long practitionerId;
private String startDate;
private String endDate;
private PageInfo<PractitionerActivityInfo> page;
}
package com.yd.api.agms.vo.practitioner;
import com.github.pagehelper.PageInfo;
import com.yd.api.result.CommonResult;
import lombok.Data;
import java.util.List;
@Data
public class PractitionerActivityResponseVO {
private CommonResult commonResult;
private List<PractitionerActivityInfo> list;
private PageInfo<PractitionerActivityInfo> page;
}
package com.yd.api.agms.vo.practitioner;
import lombok.Data;
import java.util.Date;
@Data
public class PractitionerLeadsGoalsInfo {
/**
* p.name 经纪人名称,
* CASE (t.statistic_time_unit) WHEN 1 THEN '年度目标' WHEN 3 THEN '月度目标' ELSE '其他' END 目标类型,
* t.seq_time 设置年份或者月份,
* t.premium 保费,t.commission 佣金,
* t.pieces 件数,
* t.piece_average_premium 件均保费,
* t.created_at 设置时间
*/
private String practitionerName;
private String type;
private String seqTime;
private String premium;
private String commission;
private String pieces;
private String pieceAveragePremium;
private Date createdAt;
}
package com.yd.api.agms.vo.practitioner;
import com.github.pagehelper.PageInfo;
import lombok.Data;
@Data
public class PractitionerLeadsGoalsRequestVO {
private String date;
private Long practitionerId;
private Integer type;
private PageInfo<PractitionerLeadsGoalsInfo> page;
}
package com.yd.api.agms.vo.practitioner;
import com.github.pagehelper.PageInfo;
import com.yd.api.result.CommonResult;
import lombok.Data;
import java.util.List;
@Data
public class PractitionerLeadsGoalsResponseVO {
private CommonResult commonResult;
private List<PractitionerLeadsGoalsInfo> list;
private PageInfo<PractitionerLeadsGoalsInfo> page;
}
package com.yd.api.agms.vo.practitioner;
import lombok.Data;
import java.util.Date;
@Data
public class PractitionerScheduleInfo {
/**
* p.name 经纪人名称,
* 日程,
* CASE (t.task_type) WHEN 1 THEN '商机' WHEN 2 THEN '增员' ELSE '其他' END 日程类型,
* op.drop_option_name 日程内容,
* t.track_time 日程,
* t.task_time_from 任务开始时间,
* task_time_end 任务结束时间,
* t.notice 备注,
* t.created_at 设置时间
*/
private String practitionerName;
private String trackTime;
private String taskType;
private String dropOptionName;
private String taskTimeFrom;
private String taskTimeEnd;
private String notice;
private Date createdAt;
}
package com.yd.api.agms.vo.practitioner;
import com.github.pagehelper.PageInfo;
import lombok.Data;
@Data
public class PractitionerScheduleRequestVO {
private String trackTime;
private Long practitionerId;
private Integer taskType;
private Long dropOptionName;
private PageInfo<PractitionerScheduleInfo> page;
}
package com.yd.api.agms.vo.practitioner;
import com.github.pagehelper.PageInfo;
import com.yd.api.result.CommonResult;
import lombok.Data;
import java.util.List;
@Data
public class PractitionerScheduleResponseVO {
private CommonResult commonResult;
private List<PractitionerScheduleInfo> list;
private PageInfo<PractitionerScheduleInfo> page;
}
package com.yd.dal.mapper.agms;
import com.github.pagehelper.Page;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharing;
import com.yd.api.agms.vo.practitioner.SharePractitionerInfo;
import com.yd.api.agms.vo.practitioner.*;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @author xxy
*/
......@@ -22,4 +24,17 @@ public interface AgmsPractitionerMapper {
@Param("isActive") Integer isActive);
SharePractitionerInfo findSharePractitioner(String shareCode);
List<PractitionerScheduleInfo> practitionerSchedule(PractitionerScheduleRequestVO requestVO);
List<PractitionerLeadsGoalsInfo> practitionerLeadsGoals(PractitionerLeadsGoalsRequestVO requestVO);
List<Map<String, Object>> practitionerScheduleExport(PractitionerScheduleRequestVO requestVO);
List<Map<String, Object>> practitionerLeadsGoalsExport(PractitionerLeadsGoalsRequestVO requestVO);
List<PractitionerActivityInfo> practitionerActivity(PractitionerActivityRequestVO requestVO);
List<Map<String, Object>> practitionerActivityExport(PractitionerActivityRequestVO requestVO);
}
package com.yd.dal.service.agms;
import com.github.pagehelper.PageInfo;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharing;
import com.yd.api.agms.vo.practitioner.SharePractitionerInfo;
import com.yd.api.agms.vo.practitioner.*;
import java.util.List;
import java.util.Map;
/**
* @author xxy
......@@ -19,4 +21,16 @@ public interface AgmsPractitionerDALService {
PageInfo<PractitionerFileSharing> practitionerFileSharingList(Long id ,Long practitionerId,String shareCode,Long[] mdDropOptionId, Integer isActive, int pageNum, int size);
SharePractitionerInfo findSharePractitioner(String shareCode);
List<PractitionerScheduleInfo> practitionerSchedule(PractitionerScheduleRequestVO requestVO);
List<PractitionerLeadsGoalsInfo> practitionerLeadsGoals(PractitionerLeadsGoalsRequestVO requestVO);
List<Map<String, Object>> practitionerScheduleExport(PractitionerScheduleRequestVO requestVO);
List<Map<String, Object>> practitionerLeadsGoalsExport(PractitionerLeadsGoalsRequestVO requestVO);
List<PractitionerActivityInfo> practitionerActivity(PractitionerActivityRequestVO requestVO);
List<Map<String, Object>> practitionerActivityExport(PractitionerActivityRequestVO requestVO);
}
......@@ -3,14 +3,16 @@ package com.yd.dal.service.agms.impl;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharing;
import com.yd.api.agms.vo.practitioner.SharePractitionerInfo;
import com.yd.api.agms.vo.practitioner.*;
import com.yd.dal.mapper.agms.AgmsPractitionerMapper;
import com.yd.dal.service.agms.AgmsPractitionerDALService;
import com.yd.util.CommonUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* @author xxy
*/
......@@ -33,4 +35,34 @@ public class AgmsPractitionerDALServiceImpl implements AgmsPractitionerDALServic
}
return mapper.findSharePractitioner(shareCode);
}
@Override
public List<PractitionerScheduleInfo> practitionerSchedule(PractitionerScheduleRequestVO requestVO) {
return mapper.practitionerSchedule(requestVO);
}
@Override
public List<PractitionerLeadsGoalsInfo> practitionerLeadsGoals(PractitionerLeadsGoalsRequestVO requestVO) {
return mapper.practitionerLeadsGoals(requestVO);
}
@Override
public List<Map<String, Object>> practitionerScheduleExport(PractitionerScheduleRequestVO requestVO) {
return mapper.practitionerScheduleExport(requestVO);
}
@Override
public List<Map<String, Object>> practitionerLeadsGoalsExport(PractitionerLeadsGoalsRequestVO requestVO) {
return mapper.practitionerLeadsGoalsExport(requestVO);
}
@Override
public List<PractitionerActivityInfo> practitionerActivity(PractitionerActivityRequestVO requestVO) {
return mapper.practitionerActivity(requestVO);
}
@Override
public List<Map<String, Object>> practitionerActivityExport(PractitionerActivityRequestVO requestVO) {
return mapper.practitionerActivityExport(requestVO);
}
}
......@@ -80,4 +80,165 @@
LEFT JOIN ag_acl_file_upload uw ON uw.target_type = 1 AND uw.target_id = p.id AND uw.is_active = 1 AND uw.target_use_for = 9
WHERE os.share_code = #{shareCode,jdbcType=VARCHAR}
</select>
<select id="practitionerSchedule" resultType="com.yd.api.agms.vo.practitioner.PractitionerScheduleInfo">
SELECT
p.name practitionerName,
(CASE (t.task_type) WHEN 1 THEN '商机' WHEN 2 THEN '增员' ELSE '其他' END) taskType,
op.drop_option_name dropOptionName,
t.track_time trackTime,
t.task_time_from taskTimeFrom,
task_time_end taskTimeEnd,
t.notice ,
t.created_at createdAt
FROM ag_mkt_schedule_task_tracking t, ag_acl_practitioner p, ag_md_drop_options op
WHERE t.practitioner_id = p.id AND op.id = t.md_drop_option_id
<if test="trackTime != null">
AND t.created_at &gt;= DATE #{trackTime,jdbcType=VARCHAR} AND t.created_at &lt;= DATE #{trackTime,jdbcType=VARCHAR}
</if>
<if test="practitionerId != null">
AND t.practitioner_id = #{practitionerId,jdbcType=BIGINT}
</if>
<if test="taskType != null">
AND t.task_type = #{taskType,jdbcType=BIGINT}
</if>
<if test="dropOptionName != null">
AND t.md_drop_option_id = #{dropOptionName,jdbcType=BIGINT}
</if>
AND t.is_active = 1
</select>
<select id="practitionerScheduleExport" resultType="map">
SELECT
p.name '1',
date_format(t.track_time, '%Y-%m-%d') '2',
(CASE (t.task_type) WHEN 1 THEN '商机' WHEN 2 THEN '增员' ELSE '其他' END) '3',
op.drop_option_name '4',
t.task_time_from '5',
task_time_end '6',
t.notice '7',
date_format(t.created_at, '%Y-%m-%d %H:%i:%s') '8'
FROM ag_mkt_schedule_task_tracking t, ag_acl_practitioner p, ag_md_drop_options op
WHERE t.practitioner_id = p.id AND op.id = t.md_drop_option_id
<if test="trackTime != null">
AND t.created_at &gt;= DATE #{trackTime,jdbcType=VARCHAR} AND t.created_at &lt;= DATE #{trackTime,jdbcType=VARCHAR}
</if>
<if test="practitionerId != null">
AND t.practitioner_id = #{practitionerId,jdbcType=BIGINT}
</if>
<if test="taskType != null">
AND t.task_type = #{taskType,jdbcType=BIGINT}
</if>
<if test="dropOptionName != null">
AND t.md_drop_option_id = #{dropOptionName,jdbcType=BIGINT}
</if>
AND t.is_active = 1
</select>
<select id="practitionerLeadsGoals" resultType="com.yd.api.agms.vo.practitioner.PractitionerLeadsGoalsInfo">
SELECT
p.name practitionerName,
(CASE (t.statistic_time_unit) WHEN 1 THEN '年度目标' WHEN 3 THEN '月度目标' ELSE '其他' END) type,
t.seq_time seqTime,
t.premium ,
t.commission ,
t.pieces ,
t.piece_average_premium pieceAveragePremium,
t.created_at createdAt
FROM ag_mkt_leads_goals t,ag_acl_practitioner p
WHERE t.practitioner_id = p.id
<if test="date != null">
AND t.created_at &gt;= DATE #{date,jdbcType=VARCHAR} AND t.created_at &lt;= DATE #{date,jdbcType=VARCHAR}
</if>
<if test="practitionerId != null">
AND t.practitioner_id = #{practitionerId,jdbcType=BIGINT}
</if>
<if test="type != null">
AND t.t.statistic_time_unit = #{type,jdbcType=BIGINT}
</if>
AND t.is_active = 1
</select>
<select id="practitionerLeadsGoalsExport" resultType="map">
SELECT
p.name '1',
(CASE (t.statistic_time_unit) WHEN 1 THEN '年度目标' WHEN 3 THEN '月度目标' ELSE '其他' END) '2',
t.seq_time '3',
t.premium '4',
t.commission '5',
t.pieces '6',
t.piece_average_premium '7',
date_format(t.created_at, '%Y-%m-%d %H:%i:%s') '8'
FROM ag_mkt_leads_goals t,ag_acl_practitioner p
WHERE t.practitioner_id = p.id
<if test="date != null">
AND t.created_at &gt;= DATE #{date,jdbcType=VARCHAR} AND t.created_at &lt;= DATE #{date,jdbcType=VARCHAR}
</if>
<if test="practitionerId != null">
AND t.practitioner_id = #{practitionerId,jdbcType=BIGINT}
</if>
<if test="type != null">
AND t.t.statistic_time_unit = #{type,jdbcType=BIGINT}
</if>
AND t.is_active = 1
</select>
<select id="practitionerActivity" resultType="com.yd.api.agms.vo.practitioner.PractitionerActivityInfo">
SELECT
p.name practitionerName,
(CASE
WHEN (o.drop_master_id = 14) THEN '增员'
WHEN (o.drop_master_id = 16) THEN '销售'
WHEN (o.id = 226) THEN '辅导'
WHEN (o.id = 227) THEN '培训'
WHEN (o.id = 229) THEN '会议'
ELSE '其他'
END) type,
SUM(track_score) score,
YEARWEEK(DATE_FORMAT(t.track_time, '%Y-%m-%d')) timePeriod
FROM ag_mkt_schedule_task_tracking t, ag_acl_practitioner p, ag_md_drop_options o
WHERE t.practitioner_id = p.id AND o.id = t.md_drop_option_id
AND (o.drop_master_id IN(14,16) OR o.id IN(226,227,229))
<if test="startDate != null">
AND t.track_time &gt;= DATE #{startDate,jdbcType=VARCHAR}
</if>
<if test="endDate != null">
AND t.track_time &lt;= DATE #{endDate,jdbcType=VARCHAR}
</if>
<if test="practitionerId != null">
AND t.practitioner_id = #{practitionerId,jdbcType=BIGINT}
</if>
AND t.is_active = 1
GROUP BY p.name, o.drop_master_id, YEARWEEK(DATE_FORMAT(t.track_time, '%Y-%m-%d'))
</select>
<select id="practitionerActivityExport" resultType="map">
SELECT
p.name '1',
(CASE
WHEN (o.drop_master_id = 14) THEN '增员'
WHEN (o.drop_master_id = 16) THEN '销售'
WHEN (o.id = 226) THEN '辅导'
WHEN (o.id = 227) THEN '培训'
WHEN (o.id = 229) THEN '会议'
ELSE '其他'
END) '2',
SUM(track_score) '3',
YEARWEEK(DATE_FORMAT(t.track_time, '%Y-%m-%d')) '4'
FROM ag_mkt_schedule_task_tracking t, ag_acl_practitioner p, ag_md_drop_options o
WHERE t.practitioner_id = p.id AND o.id = t.md_drop_option_id
AND (o.drop_master_id IN(14,16) OR o.id IN(226,227,229))
<if test="startDate != null">
AND t.track_time &gt;= DATE #{startDate,jdbcType=VARCHAR}
</if>
<if test="endDate != null">
AND t.track_time &lt;= DATE #{endDate,jdbcType=VARCHAR}
</if>
<if test="practitionerId != null">
AND t.practitioner_id = #{practitionerId,jdbcType=BIGINT}
</if>
AND t.is_active = 1
GROUP BY p.name, o.drop_master_id, YEARWEEK(DATE_FORMAT(t.track_time, '%Y-%m-%d'))
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment