Commit 3fcd5b30 by Water Wang

resolve conflict

parents 234eba34 e5751ce8
package com.yd.api.agms;
import com.yd.api.agms.service.AgmsStatementService;
import com.yd.api.agms.vo.statement.FinancialStatementRequestVO;
import com.yd.api.agms.vo.statement.FinancialStatementResponseVO;
import com.yd.api.result.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
@Controller
@RestController
@RequestMapping("/agms")
public class AgmsController {
@Autowired
private AgmsStatementService agmsStatementService;
/**
* AGMS -- 财务管理报表
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping("/financialPredictStatement")
public Object financialPredictStatement(@RequestBody FinancialStatementRequestVO requestVO, HttpServletResponse response){
JsonResult result = new JsonResult();
FinancialStatementResponseVO responseVO = agmsStatementService.financialPredictStatement(requestVO,response);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
}
package com.yd.api.agms.service;
import com.yd.api.agms.vo.statement.FinancialStatementRequestVO;
import com.yd.api.agms.vo.statement.FinancialStatementResponseVO;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
@Service("agmsStatementService")
public interface AgmsStatementService {
/**
* 线下寿险预估数据管理报表
* @param requestVO 请求报文
* @return 响应报文
*/
FinancialStatementResponseVO financialPredictStatement(FinancialStatementRequestVO requestVO, HttpServletResponse response);
}
package com.yd.api.agms.service.impl;
import com.github.pagehelper.PageInfo;
import com.google.common.base.Strings;
import com.yd.api.agms.service.AgmsStatementService;
import com.yd.api.agms.vo.statement.FinancialStatementRequestVO;
import com.yd.api.agms.vo.statement.FinancialStatementResponseVO;
import com.yd.api.agms.vo.statement.statementData;
import com.yd.api.commission.service.CommissionService;
import com.yd.api.result.CommonResult;
import com.yd.util.CommonUtil;
import com.yd.util.config.ZHBErrorConfig;
import org.apache.commons.collections.CollectionUtils;
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.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;
@Service("agmsStatementService")
public class AgmsStatementServiceImpl implements AgmsStatementService {
@Autowired
private CommissionService commissionService;
@Override
public FinancialStatementResponseVO financialPredictStatement(FinancialStatementRequestVO requestVO, HttpServletResponse response) {
FinancialStatementResponseVO responseVO = new FinancialStatementResponseVO();
PageInfo<statementData> pageInfo = requestVO.getPageInfo();
String inCommissionDateSpan = requestVO.getInCommissionDateSpan();//来佣开始时间
String outCommissionDateSpan = requestVO.getOutCommissionDateSpan();//发佣开始时间
String inCommissionStartTime = null;//来佣开始时间
String inCommissionEndTime = null;//发佣开始时间
String outCommissionStartTime= null;//来佣开始时间
String outCommissionEndTime= null;//发佣开始时间
if(!Strings.isNullOrEmpty(inCommissionDateSpan)){
String[] inDataSpan = inCommissionDateSpan.split(":");
if(inDataSpan.length == 1){
inCommissionStartTime = CommonUtil.dateParseString(CommonUtil.stringParseDate(inDataSpan[0],"yyyy-MM-dd"),"yyyyMM");
}else if(inDataSpan.length == 2){
inCommissionStartTime = CommonUtil.dateParseString(CommonUtil.stringParseDate(inDataSpan[0],"yyyy-MM-dd"),"yyyyMM");
inCommissionEndTime = getTime(inDataSpan[1]);
// inCommissionEndTime = CommonUtil.dateParseString(CommonUtil.stringParseDate(inDataSpan[1],"yyyy-MM-dd"),"yyyyMM");
}
}
if(!Strings.isNullOrEmpty(outCommissionDateSpan)){
String[] outDataSpan = outCommissionDateSpan.split(":");
if(outDataSpan.length == 1){
outCommissionStartTime = CommonUtil.dateParseString(CommonUtil.stringParseDate(outDataSpan[0],"yyyy-MM-dd"),"yyyyMM");
}else if(outDataSpan.length == 2){
outCommissionStartTime = CommonUtil.dateParseString(CommonUtil.stringParseDate(outDataSpan[0],"yyyy-MM-dd"),"yyyyMM");
outCommissionEndTime = getTime(outDataSpan[1]);
// outCommissionEndTime = CommonUtil.dateParseString(CommonUtil.stringParseDate(outDataSpan[1],"yyyy-MM-dd"),"yyyyMM");
}
}
String insurerBranchId = requestVO.getInsurerBranchId();//分公司
String deptId = requestVO.getDeptId();//营业部
String subordinateId = requestVO.getSubordinateId();//体系
Integer type = requestVO.getType();
Integer isStatement = requestVO.getIsStatement();
if(isStatement == 1){
List<statementData> dataList = commissionService.getStatementData(isStatement,type, inCommissionStartTime, outCommissionStartTime,inCommissionEndTime,outCommissionEndTime,insurerBranchId,deptId,subordinateId);
createCSV(type,dataList,response);
}else{
PageInfo<statementData> dataPage = commissionService.getStatementDataByPage(pageInfo.getPageNum(),pageInfo.getSize(),isStatement,type, inCommissionStartTime, outCommissionStartTime,inCommissionEndTime,outCommissionEndTime,insurerBranchId,deptId,subordinateId);
responseVO.setPredictStatementDataList(dataPage);
}
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return responseVO;
}
private String getTime(String time) {
Date date = CommonUtil.stringParseDate(time,"yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_MONTH,-1);
date = calendar.getTime();
return CommonUtil.dateParseString(date,"yyyyMM");
}
private void createCSV(Integer type, List<statementData> dataList, HttpServletResponse response) {
String CSV_COLUMN_SEPARATOR = ",";//CSV文件列分隔符
String CSV_ROW_SEPARATOR = "\r\n";//CSV文件行分隔符
String charset = "UTF-8"; // 读取字符编码
String[] columnName ;
String tableName ;
if(type == 2){
tableName = "YD_FinancialStatement_predict_";
columnName = new String[]{"序号","预估来佣年月","预估发佣年月","保单号","分公司","营业部","体系","经纪人姓名","员工编号","职阶","职阶率","保费","FYC","RYC","应收佣金","应发佣金","佣奖类型"};
}else{
tableName = "YD_FinancialStatement_actual_";
columnName = new String[]{"序号","实际来佣年月","实际发佣年月","保单号","分公司","营业部","体系","经纪人姓名","员工编号","职阶","职阶率","保费","FYC","RYC","应收佣金","应发佣金","佣奖类型"};
}
// 保证线程安全
StringBuilder buf = new StringBuilder();
// 组装表头
for (String title : columnName) {
buf.append(title).append(CSV_COLUMN_SEPARATOR);
}
buf.append(CSV_ROW_SEPARATOR);
// 组装数据
if (CollectionUtils.isNotEmpty(dataList)) {
for (int i = 0; i < dataList.size(); i++) {
statementData statementData = dataList.get(i);//遍历每个对象
buf.append(i + 1).append(CSV_COLUMN_SEPARATOR);
buf.append(statementData.getInCommissionTime()).append(CSV_COLUMN_SEPARATOR);
buf.append(statementData.getOutCommissionTime()).append(CSV_COLUMN_SEPARATOR);
buf.append(statementData.getPolicyNo()+"\t").append(CSV_COLUMN_SEPARATOR);
buf.append(statementData.getInsurerBranch()).append(CSV_COLUMN_SEPARATOR);
buf.append(statementData.getDept()).append(CSV_COLUMN_SEPARATOR);
buf.append(statementData.getSubordinate()).append(CSV_COLUMN_SEPARATOR);
buf.append(statementData.getPractitioner()).append(CSV_COLUMN_SEPARATOR);
buf.append(statementData.getPractitionerIdEG()).append(CSV_COLUMN_SEPARATOR);
buf.append(statementData.getTitle()).append(CSV_COLUMN_SEPARATOR);
buf.append(statementData.getTitleRate()).append(CSV_COLUMN_SEPARATOR);
buf.append(statementData.getPremium()).append(CSV_COLUMN_SEPARATOR);
buf.append(statementData.getFYC()).append(CSV_COLUMN_SEPARATOR);
buf.append(statementData.getRYC()).append(CSV_COLUMN_SEPARATOR);
buf.append(statementData.getRightReceiveCommission()).append(CSV_COLUMN_SEPARATOR);
buf.append(statementData.getRightPayCommission()).append(CSV_COLUMN_SEPARATOR);
buf.append(statementData.getCommissionType()).append(CSV_COLUMN_SEPARATOR);
buf.append(CSV_ROW_SEPARATOR);
}
}
// 设置文件后缀
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(buf.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.statement;
import com.github.pagehelper.PageInfo;
public class FinancialStatementRequestVO {
private Integer type ; //2、预测,1、实际
private Integer isStatement;//0=非报表,1=报表
private String inCommissionDateSpan;
private String outCommissionDateSpan;
private String insurerBranchId;//分公司ID
private String deptId;//营业部ID
private String subordinateId;//体系ID
private PageInfo<statementData> pageInfo;
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getIsStatement() {
return isStatement;
}
public void setIsStatement(Integer isStatement) {
this.isStatement = isStatement;
}
public String getInCommissionDateSpan() {
return inCommissionDateSpan;
}
public void setInCommissionDateSpan(String inCommissionDateSpan) {
this.inCommissionDateSpan = inCommissionDateSpan;
}
public String getOutCommissionDateSpan() {
return outCommissionDateSpan;
}
public void setOutCommissionDateSpan(String outCommissionDateSpan) {
this.outCommissionDateSpan = outCommissionDateSpan;
}
public String getInsurerBranchId() {
return insurerBranchId;
}
public void setInsurerBranchId(String insurerBranchId) {
this.insurerBranchId = insurerBranchId;
}
public String getDeptId() {
return deptId;
}
public void setDeptId(String deptId) {
this.deptId = deptId;
}
public String getSubordinateId() {
return subordinateId;
}
public void setSubordinateId(String subordinateId) {
this.subordinateId = subordinateId;
}
public PageInfo<statementData> getPageInfo() {
return pageInfo;
}
public void setPageInfo(PageInfo<statementData> pageInfo) {
this.pageInfo = pageInfo;
}
}
package com.yd.api.agms.vo.statement;
import com.github.pagehelper.PageInfo;
import com.yd.api.result.CommonResult;
public class FinancialStatementResponseVO {
private PageInfo<statementData> predictStatementDataList;
private CommonResult commonResult;
public PageInfo<statementData> getPredictStatementDataList() {
return predictStatementDataList;
}
public void setPredictStatementDataList(PageInfo<statementData> predictStatementDataList) {
this.predictStatementDataList = predictStatementDataList;
}
public CommonResult getCommonResult() {
return commonResult;
}
public void setCommonResult(CommonResult commonResult) {
this.commonResult = commonResult;
}
}
package com.yd.api.agms.vo.statement;
public class statementData {
private String inCommissionTime;
private String outCommissionTime;
private String policyNo;
private String insurerBranch;
private String dept;
private String subordinate;
private String practitioner;
private String practitionerIdEG;
private String title;
private Double titleRate;
private Double premium;
private Double FYC;
private Double RYC;
private Double rightReceiveCommission;
private Double rightPayCommission;
private String commissionType;
public String getInCommissionTime() {
return inCommissionTime;
}
public void setInCommissionTime(String inCommissionTime) {
this.inCommissionTime = inCommissionTime;
}
public String getOutCommissionTime() {
return outCommissionTime;
}
public void setOutCommissionTime(String outCommissionTime) {
this.outCommissionTime = outCommissionTime;
}
public String getPolicyNo() {
return policyNo;
}
public void setPolicyNo(String policyNo) {
this.policyNo = policyNo;
}
public String getInsurerBranch() {
return insurerBranch;
}
public void setInsurerBranch(String insurerBranch) {
this.insurerBranch = insurerBranch;
}
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
public String getSubordinate() {
return subordinate;
}
public void setSubordinate(String subordinate) {
this.subordinate = subordinate;
}
public String getPractitioner() {
return practitioner;
}
public void setPractitioner(String practitioner) {
this.practitioner = practitioner;
}
public String getPractitionerIdEG() {
return practitionerIdEG;
}
public void setPractitionerIdEG(String practitionerIdEG) {
this.practitionerIdEG = practitionerIdEG;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Double getTitleRate() {
return titleRate;
}
public void setTitleRate(Double titleRate) {
this.titleRate = titleRate;
}
public Double getPremium() {
return premium;
}
public void setPremium(Double premium) {
this.premium = premium;
}
public Double getFYC() {
return FYC;
}
public void setFYC(Double FYC) {
this.FYC = FYC;
}
public Double getRYC() {
return RYC;
}
public void setRYC(Double RYC) {
this.RYC = RYC;
}
public Double getRightReceiveCommission() {
return rightReceiveCommission;
}
public void setRightReceiveCommission(Double rightReceiveCommission) {
this.rightReceiveCommission = rightReceiveCommission;
}
public Double getRightPayCommission() {
return rightPayCommission;
}
public void setRightPayCommission(Double rightPayCommission) {
this.rightPayCommission = rightPayCommission;
}
public String getCommissionType() {
return commissionType;
}
public void setCommissionType(String commissionType) {
this.commissionType = commissionType;
}
}
......@@ -2,12 +2,18 @@ package com.yd.api.commission.service;
import java.util.List;
import com.github.pagehelper.PageInfo;
import com.yd.api.agms.vo.statement.statementData;
import com.yd.api.commission.vo.CommissionEGoldenVO;
import com.yd.api.commission.vo.CommissionVO;
public interface CommissionService {
List<CommissionVO> queryCommissionByLogin(String login);
List<CommissionEGoldenVO> listSalesCommissionfromEGolden(String login);
PageInfo<statementData> getStatementDataByPage(int pageNum, int size, Integer isStatement, Integer type, String inCommissionStartTime, String outCommissionStartTime,String inCommissionEndTime, String outCommissionEndTime, String insurerBranchId, String deptId, String subordinateId);
List<statementData> getStatementData(Integer isStatement, Integer type, String inCommissionStartTime, String outCommissionStartTime, String inCommissionEndTime, String outCommissionEndTime, String insurerBranchId, String deptId, String subordinateId);
}
......@@ -3,6 +3,8 @@ package com.yd.api.commission.service;
import java.util.ArrayList;
import java.util.List;
import com.github.pagehelper.PageInfo;
import com.yd.api.agms.vo.statement.statementData;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -18,9 +20,9 @@ import com.yd.dal.service.commission.CommissionServiceDA;
public class CommissionServiceImpl implements CommissionService{
@Autowired
private CommissionServiceDA commissionServiceDA;
private CommissionServiceDA commissionServiceDA;
@Autowired
private CommissionEGoldenDA commissionEGoldenDA;
private CommissionEGoldenDA commissionEGoldenDA;
/*
* 按照手机号从AGMS DB中查询佣金
* (non-Javadoc)
......@@ -32,12 +34,12 @@ public class CommissionServiceImpl implements CommissionService{
List<Commission> list = new ArrayList<Commission>();
list = commissionServiceDA.queryCommissionByLogin(login);
CommissionVO oneDestVO;
for(Commission oneSrc:list)
{
oneDestVO = new CommissionVO();
BeanUtils.copyProperties(oneSrc, oneDestVO);
listTo.add(oneDestVO);
}
for(Commission oneSrc:list)
{
oneDestVO = new CommissionVO();
BeanUtils.copyProperties(oneSrc, oneDestVO);
listTo.add(oneDestVO);
}
return listTo;
}
/*
......@@ -51,13 +53,23 @@ public class CommissionServiceImpl implements CommissionService{
List<CommissionEGolden> list = new ArrayList<CommissionEGolden>();
list = commissionEGoldenDA.listSalesCommissionfromEGolden(login);
CommissionEGoldenVO oneDestVO;
for(CommissionEGolden oneSrc:list)
{
oneDestVO = new CommissionEGoldenVO();
BeanUtils.copyProperties(oneSrc, oneDestVO);
listTo.add(oneDestVO);
}
for(CommissionEGolden oneSrc:list)
{
oneDestVO = new CommissionEGoldenVO();
BeanUtils.copyProperties(oneSrc, oneDestVO);
listTo.add(oneDestVO);
}
return listTo;
}
@Override
public PageInfo<statementData> getStatementDataByPage(int pageNum, int size, Integer isStatement, Integer type, String inCommissionStartTime, String outCommissionStartTime,String inCommissionEndTime, String outCommissionEndTime, String insurerBranchId, String deptId, String subordinateId) {
return commissionEGoldenDA.getStatementDataByPage(pageNum,size,isStatement,type,inCommissionStartTime,outCommissionStartTime,inCommissionEndTime,outCommissionEndTime,insurerBranchId,deptId,subordinateId);
}
@Override
public List<statementData> getStatementData(Integer isStatement, Integer type, String inCommissionStartTime, String outCommissionStartTime, String inCommissionEndTime, String outCommissionEndTime, String insurerBranchId, String deptId, String subordinateId) {
return commissionEGoldenDA.getStatementData(isStatement,type,inCommissionStartTime,outCommissionStartTime,inCommissionEndTime,outCommissionEndTime,insurerBranchId,deptId,subordinateId);
}
}
......@@ -7,6 +7,8 @@ import com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO;
import com.yd.api.practitioner.vo.media.MediaGetReqVO;
import com.yd.api.practitioner.vo.media.MediaGetRespVO;
import com.yd.api.practitioner.vo.opportunity.*;
import com.yd.api.practitioner.vo.organization.OrganizationQueryRequestVO;
import com.yd.api.practitioner.vo.organization.OrganizationQueryResponseVO;
import com.yd.api.practitioner.vo.payscale.PayScalePdfRequestVO;
import com.yd.api.practitioner.vo.payscale.PayScalePdfResponseVO;
import com.yd.api.practitioner.vo.payscale.PayScaleQueryRequestVO;
......@@ -486,4 +488,17 @@ public class PractitionerController {
result.addResult(responseVO);
return result;
}
/**
*
* @param requestVO
* @return
*/
@RequestMapping("/organizationQuery")
public Object organizationQuery(@RequestBody OrganizationQueryRequestVO requestVO){
JsonResult result = new JsonResult();
OrganizationQueryResponseVO responseVO = practitionerBasicInfoService.organizationQuery(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
}
......@@ -2,6 +2,8 @@ package com.yd.api.practitioner.service;
import com.yd.api.practitioner.vo.opportunity.ApplyForExpertSupportRequestVO;
import com.yd.api.practitioner.vo.opportunity.ApplyForExpertSupportResponseVO;
import com.yd.api.practitioner.vo.organization.OrganizationQueryRequestVO;
import com.yd.api.practitioner.vo.organization.OrganizationQueryResponseVO;
import com.yd.api.practitioner.vo.payscale.PayScalePdfRequestVO;
import com.yd.api.practitioner.vo.payscale.PayScalePdfResponseVO;
import com.yd.api.practitioner.vo.payscale.PayScaleQueryRequestVO;
......@@ -42,4 +44,10 @@ public interface PractitionerBasicInfoService {
*/
PayScalePdfResponseVO payScalePdf(PayScalePdfRequestVO requestVO);
/**
* 查询组织架构信息
* @param requestVO 请求报文
* @return 响应信息
*/
OrganizationQueryResponseVO organizationQuery(OrganizationQueryRequestVO requestVO);
}
......@@ -3,6 +3,7 @@ package com.yd.api.practitioner.service.impl;
import com.google.common.base.Strings;
import com.yd.api.practitioner.vo.opportunity.ApplyForExpertSupportRequestVO;
import com.yd.api.practitioner.vo.opportunity.ApplyForExpertSupportResponseVO;
import com.yd.api.practitioner.vo.organization.*;
import com.yd.api.practitioner.vo.payscale.PayScalePdfRequestVO;
import com.yd.api.practitioner.service.PractitionerBasicInfoService;
import com.yd.api.practitioner.vo.payscale.PayScaleInfo;
......@@ -197,6 +198,94 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
return responseVO;
}
@Override
public OrganizationQueryResponseVO organizationQuery(OrganizationQueryRequestVO requestVO) {
OrganizationQueryResponseVO responseVO = new OrganizationQueryResponseVO();
String practitionerSubordinateSystemIdEG = requestVO.getPractitionerSubordinateSystemIdEG();
String deptIdEG = requestVO.getDeptIdEG();
String insurerBranchIdEG = requestVO.getInsurerBranchIdEG();
List<PractitionerSubordinateSystemInfo> subordinateSystemInfoList;
List<InsurerBranchDeptInfo> insurerBranchDeptInfoList;
List<InsurerBranchInfo> insurerBranchInfoList;
//查询体系
if(!Strings.isNullOrEmpty(practitionerSubordinateSystemIdEG)){
subordinateSystemInfoList = mdDropOptionsDALService.findSubordinateSystemInfoByIdEG(Arrays.asList(practitionerSubordinateSystemIdEG));
if(!subordinateSystemInfoList.isEmpty()){
deptIdEG = subordinateSystemInfoList.get(0).getDeptIdEG();
}
}else{
subordinateSystemInfoList = mdDropOptionsDALService.findSubordinateSystemInfoEG();
}
//查询营业部
if(!Strings.isNullOrEmpty(deptIdEG)){
insurerBranchDeptInfoList = mdDropOptionsDALService.findBranchDeptInfoByIdEG(Arrays.asList(deptIdEG));
if(!insurerBranchDeptInfoList.isEmpty()){
insurerBranchIdEG = insurerBranchDeptInfoList.get(0).getInsurerBranchIdEG();
}
}else{
insurerBranchDeptInfoList = mdDropOptionsDALService.findBranchDeptInfoEG();
}
//查询分公司
if(!Strings.isNullOrEmpty(insurerBranchIdEG)){
insurerBranchInfoList = mdDropOptionsDALService.findInsurerBranchInfoByIdEG(Arrays.asList(insurerBranchIdEG));
}else{
insurerBranchInfoList = mdDropOptionsDALService.findInsurerBranchInfoEG();
}
if(!subordinateSystemInfoList.isEmpty() && !insurerBranchDeptInfoList.isEmpty() && !insurerBranchInfoList.isEmpty()){
getResponseMessage(responseVO,subordinateSystemInfoList,insurerBranchDeptInfoList,insurerBranchInfoList);
responseVO.setCommonResult(new CommonResult(true,ZHBErrorConfig.getErrorInfo("800000")));
}else{
responseVO.setCommonResult(new CommonResult(false,ZHBErrorConfig.getErrorInfo("820001")));
}
return responseVO;
}
private void getResponseMessage(OrganizationQueryResponseVO responseVO, List<PractitionerSubordinateSystemInfo> subordinateSystemInfoList, List<InsurerBranchDeptInfo> insurerBranchDeptInfoList, List<InsurerBranchInfo> insurerBranchInfoList) {
Map<String,List<PractitionerSubordinateSystemInfo>> systemMap = new HashMap<>();
List<PractitionerSubordinateSystemInfo> systemInfoList;
Map<String,List<InsurerBranchDeptInfo>> deptMap = new HashMap<>();
List<InsurerBranchDeptInfo> deptInfoList;
if(!subordinateSystemInfoList.isEmpty()){
String deptId;
for(PractitionerSubordinateSystemInfo systemInfo : subordinateSystemInfoList){
deptId = systemInfo.getDeptIdEG();
if(systemMap.containsKey(deptId)){
systemInfoList = systemMap.get(deptId);
systemInfoList.add(systemInfo);
}else{
systemInfoList = new ArrayList<>();
systemInfoList.add(systemInfo);
systemMap.put(deptId,systemInfoList);
}
}
}
if(!insurerBranchDeptInfoList.isEmpty()){
String branchId,deptId;
for(InsurerBranchDeptInfo branchDeptInfo : insurerBranchDeptInfoList){
branchId = branchDeptInfo.getInsurerBranchIdEG();
deptId = branchDeptInfo.getIdEG();
branchDeptInfo.setPractitionerSubordinateSystemInfoList(systemMap.get(deptId));
if(deptMap.containsKey(branchId)){
deptInfoList = deptMap.get(branchId);
deptInfoList.add(branchDeptInfo);
}else{
deptInfoList = new ArrayList<>();
deptInfoList.add(branchDeptInfo);
deptMap.put(branchId,deptInfoList);
}
}
}
if(!insurerBranchInfoList.isEmpty()){
String branchId;
for(InsurerBranchInfo branchInfo : insurerBranchInfoList){
branchId = branchInfo.getInsurerBranchIdEG();
branchInfo.setInsurerBranchDeptList(deptMap.get(branchId));
}
responseVO.setInsurerBranchInfoList(insurerBranchInfoList);
}
}
private String checkPractitionerId(PayScaleBasicInfo payScaleBasicInfo, Long practitionerId,String time){
if(payScaleBasicInfo != null){
String practitionerIdEG = payScaleBasicInfo.getSalMstId();
......
package com.yd.api.practitioner.vo.organization;
import java.util.List;
public class InsurerBranchDeptInfo {
private String insurerBranchIdEG;
private String idEG;
private Long id;
private String deptCode;
private String name;
private String nameEn;
private String contactName;
private String contactNo;
private String remark;
private Integer isActive;
private Long createdBy;
private String createByName;
private Long updatedBy;
private String updatedByName;
private String createdAt;
private String updatedAt;
private String address;
private List<PractitionerSubordinateSystemInfo> practitionerSubordinateSystemInfoList;
public String getInsurerBranchIdEG() {
return insurerBranchIdEG;
}
public void setInsurerBranchIdEG(String insurerBranchIdEG) {
this.insurerBranchIdEG = insurerBranchIdEG;
}
public String getIdEG() {
return idEG;
}
public void setIdEG(String idEG) {
this.idEG = idEG;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getDeptCode() {
return deptCode;
}
public void setDeptCode(String deptCode) {
this.deptCode = deptCode;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNameEn() {
return nameEn;
}
public void setNameEn(String nameEn) {
this.nameEn = nameEn;
}
public String getContactName() {
return contactName;
}
public void setContactName(String contactName) {
this.contactName = contactName;
}
public String getContactNo() {
return contactNo;
}
public void setContactNo(String contactNo) {
this.contactNo = contactNo;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Integer getIsActive() {
return isActive;
}
public void setIsActive(Integer isActive) {
this.isActive = isActive;
}
public List<PractitionerSubordinateSystemInfo> getPractitionerSubordinateSystemInfoList() {
return practitionerSubordinateSystemInfoList;
}
public void setPractitionerSubordinateSystemInfoList(List<PractitionerSubordinateSystemInfo> practitionerSubordinateSystemInfoList) {
this.practitionerSubordinateSystemInfoList = practitionerSubordinateSystemInfoList;
}
public Long getCreatedBy() {
return createdBy;
}
public void setCreatedBy(Long createdBy) {
this.createdBy = createdBy;
}
public String getCreateByName() {
return createByName;
}
public void setCreateByName(String createByName) {
this.createByName = createByName;
}
public Long getUpdatedBy() {
return updatedBy;
}
public void setUpdatedBy(Long updatedBy) {
this.updatedBy = updatedBy;
}
public String getUpdatedByName() {
return updatedByName;
}
public void setUpdatedByName(String updatedByName) {
this.updatedByName = updatedByName;
}
public String getCreatedAt() {
return createdAt;
}
public void setCreatedAt(String createdAt) {
this.createdAt = createdAt;
}
public String getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(String updatedAt) {
this.updatedAt = updatedAt;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
package com.yd.api.practitioner.vo.organization;
import java.util.List;
public class InsurerBranchInfo {
private String insurerBranchIdEG;
private Long insurerBranchId;
private String branchName;
private String branchCode;
private Integer isActive;
private String effectiveStartDate;
private String effectiveEndDate;
private String contactName;
private String contactNo;
private String remark;
private Long createdBy;
private String createByName;
private Long updatedBy;
private String updatedByName;
private String createdAt;
private String updatedAt;
private String address;
private List<InsurerBranchDeptInfo> insurerBranchDeptList;
public String getInsurerBranchIdEG() {
return insurerBranchIdEG;
}
public void setInsurerBranchIdEG(String insurerBranchIdEG) {
this.insurerBranchIdEG = insurerBranchIdEG;
}
public Long getInsurerBranchId() {
return insurerBranchId;
}
public void setInsurerBranchId(Long insurerBranchId) {
this.insurerBranchId = insurerBranchId;
}
public String getBranchName() {
return branchName;
}
public void setBranchName(String branchName) {
this.branchName = branchName;
}
public String getBranchCode() {
return branchCode;
}
public void setBranchCode(String branchCode) {
this.branchCode = branchCode;
}
public List<InsurerBranchDeptInfo> getInsurerBranchDeptList() {
return insurerBranchDeptList;
}
public void setInsurerBranchDeptList(List<InsurerBranchDeptInfo> insurerBranchDeptList) {
this.insurerBranchDeptList = insurerBranchDeptList;
}
public Integer getIsActive() {
return isActive;
}
public void setIsActive(Integer isActive) {
this.isActive = isActive;
}
public String getEffectiveStartDate() {
return effectiveStartDate;
}
public void setEffectiveStartDate(String effectiveStartDate) {
this.effectiveStartDate = effectiveStartDate;
}
public String getEffectiveEndDate() {
return effectiveEndDate;
}
public void setEffectiveEndDate(String effectiveEndDate) {
this.effectiveEndDate = effectiveEndDate;
}
public String getContactName() {
return contactName;
}
public void setContactName(String contactName) {
this.contactName = contactName;
}
public String getContactNo() {
return contactNo;
}
public void setContactNo(String contactNo) {
this.contactNo = contactNo;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Long getCreatedBy() {
return createdBy;
}
public void setCreatedBy(Long createdBy) {
this.createdBy = createdBy;
}
public String getCreateByName() {
return createByName;
}
public void setCreateByName(String createByName) {
this.createByName = createByName;
}
public Long getUpdatedBy() {
return updatedBy;
}
public void setUpdatedBy(Long updatedBy) {
this.updatedBy = updatedBy;
}
public String getUpdatedByName() {
return updatedByName;
}
public void setUpdatedByName(String updatedByName) {
this.updatedByName = updatedByName;
}
public String getCreatedAt() {
return createdAt;
}
public void setCreatedAt(String createdAt) {
this.createdAt = createdAt;
}
public String getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(String updatedAt) {
this.updatedAt = updatedAt;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
package com.yd.api.practitioner.vo.organization;
import java.util.List;
public class InsurerInfo {
private Long insurerId;
private String insurerName;
private String insurerCode;
private String address;
private List<InsurerBranchInfo> insurerBranchInfoList;
public Long getInsurerId() {
return insurerId;
}
public void setInsurerId(Long insurerId) {
this.insurerId = insurerId;
}
public String getInsurerName() {
return insurerName;
}
public void setInsurerName(String insurerName) {
this.insurerName = insurerName;
}
public String getInsurerCode() {
return insurerCode;
}
public void setInsurerCode(String insurerCode) {
this.insurerCode = insurerCode;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public List<InsurerBranchInfo> getInsurerBranchInfoList() {
return insurerBranchInfoList;
}
public void setInsurerBranchInfoList(List<InsurerBranchInfo> insurerBranchInfoList) {
this.insurerBranchInfoList = insurerBranchInfoList;
}
}
package com.yd.api.practitioner.vo.organization;
public class OrganizationQueryRequestVO {
private Long insurerId;
private Long insurerBranchId;
private Long deptId;
private Long practitionerSubordinateSystemId;
private String insurerIdEG;
private String insurerBranchIdEG;
private String deptIdEG;
private String practitionerSubordinateSystemIdEG;
private Integer isDetailQuery;
public Long getInsurerId() {
return insurerId;
}
public void setInsurerId(Long insurerId) {
this.insurerId = insurerId;
}
public Long getInsurerBranchId() {
return insurerBranchId;
}
public void setInsurerBranchId(Long insurerBranchId) {
this.insurerBranchId = insurerBranchId;
}
public Long getDeptId() {
return deptId;
}
public void setDeptId(Long deptId) {
this.deptId = deptId;
}
public Long getPractitionerSubordinateSystemId() {
return practitionerSubordinateSystemId;
}
public void setPractitionerSubordinateSystemId(Long practitionerSubordinateSystemId) {
this.practitionerSubordinateSystemId = practitionerSubordinateSystemId;
}
public String getInsurerIdEG() {
return insurerIdEG;
}
public void setInsurerIdEG(String insurerIdEG) {
this.insurerIdEG = insurerIdEG;
}
public String getInsurerBranchIdEG() {
return insurerBranchIdEG;
}
public void setInsurerBranchIdEG(String insurerBranchIdEG) {
this.insurerBranchIdEG = insurerBranchIdEG;
}
public String getDeptIdEG() {
return deptIdEG;
}
public void setDeptIdEG(String deptIdEG) {
this.deptIdEG = deptIdEG;
}
public String getPractitionerSubordinateSystemIdEG() {
return practitionerSubordinateSystemIdEG;
}
public void setPractitionerSubordinateSystemIdEG(String practitionerSubordinateSystemIdEG) {
this.practitionerSubordinateSystemIdEG = practitionerSubordinateSystemIdEG;
}
public Integer getIsDetailQuery() {
return isDetailQuery;
}
public void setIsDetailQuery(Integer isDetailQuery) {
this.isDetailQuery = isDetailQuery;
}
}
package com.yd.api.practitioner.vo.organization;
import com.yd.api.result.CommonResult;
import java.util.List;
public class OrganizationQueryResponseVO {
private List<InsurerBranchInfo> insurerBranchInfoList;
private CommonResult commonResult;
public List<InsurerBranchInfo> getInsurerBranchInfoList() {
return insurerBranchInfoList;
}
public void setInsurerBranchInfoList(List<InsurerBranchInfo> insurerBranchInfoList) {
this.insurerBranchInfoList = insurerBranchInfoList;
}
public CommonResult getCommonResult() {
return commonResult;
}
public void setCommonResult(CommonResult commonResult) {
this.commonResult = commonResult;
}
}
package com.yd.api.practitioner.vo.organization;
public class PractitionerSubordinateSystemInfo {
private String idEG;
private String deptIdEG;
private Long id;
private String subordinateSystemCode;
private String name;
private String nameEn;
private Long ownerPractitionerId;
private String contactName;
private String contactNo;
private String remark;
private Integer isActive;
private Long createdBy;
private String createByName;
private Long updatedBy;
private String updatedByName;
private String createdAt;
private String updatedAt;
public String getIdEG() {
return idEG;
}
public void setIdEG(String idEG) {
this.idEG = idEG;
}
public String getDeptIdEG() {
return deptIdEG;
}
public void setDeptIdEG(String deptIdEG) {
this.deptIdEG = deptIdEG;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getSubordinateSystemCode() {
return subordinateSystemCode;
}
public void setSubordinateSystemCode(String subordinateSystemCode) {
this.subordinateSystemCode = subordinateSystemCode;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNameEn() {
return nameEn;
}
public void setNameEn(String nameEn) {
this.nameEn = nameEn;
}
public Long getOwnerPractitionerId() {
return ownerPractitionerId;
}
public void setOwnerPractitionerId(Long ownerPractitionerId) {
this.ownerPractitionerId = ownerPractitionerId;
}
public String getContactName() {
return contactName;
}
public void setContactName(String contactName) {
this.contactName = contactName;
}
public String getContactNo() {
return contactNo;
}
public void setContactNo(String contactNo) {
this.contactNo = contactNo;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Integer getIsActive() {
return isActive;
}
public void setIsActive(Integer isActive) {
this.isActive = isActive;
}
public Long getCreatedBy() {
return createdBy;
}
public void setCreatedBy(Long createdBy) {
this.createdBy = createdBy;
}
public Long getUpdatedBy() {
return updatedBy;
}
public void setUpdatedBy(Long updatedBy) {
this.updatedBy = updatedBy;
}
public String getCreatedAt() {
return createdAt;
}
public void setCreatedAt(String createdAt) {
this.createdAt = createdAt;
}
public String getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(String updatedAt) {
this.updatedAt = updatedAt;
}
public String getCreateByName() {
return createByName;
}
public void setCreateByName(String createByName) {
this.createByName = createByName;
}
public String getUpdatedByName() {
return updatedByName;
}
public void setUpdatedByName(String updatedByName) {
this.updatedByName = updatedByName;
}
}
......@@ -2,6 +2,8 @@ package com.yd.dal.mapper.commission;
import java.util.List;
import com.github.pagehelper.Page;
import com.yd.api.agms.vo.statement.statementData;
import org.apache.ibatis.annotations.Param;
import com.yd.dal.entity.commission.CommissionEGolden;
......@@ -12,6 +14,8 @@ import com.yd.dal.entity.commission.CommissionEGolden;
*/
public interface CommissionEGoldenMapper {
List<CommissionEGolden> listSalesCommissionfromEGolden(@Param("login")String login);
List<CommissionEGolden> listSalesCommissionfromEGolden(@Param("login")String login);
Page<statementData> getStatementDataByPage(@Param("isStatement")Integer isStatement,@Param("type")Integer type, @Param("inCommissionStartTime")String inCommissionStartTime, @Param("outCommissionStartTime")String outCommissionStartTime,@Param("inCommissionEndTime")String inCommissionEndTime, @Param("outCommissionEndTime")String outCommissionEndTime, @Param("insurerBranchId")String insurerBranchId, @Param("deptId")String deptId, @Param("subordinateId")String subordinateId);
}
package com.yd.dal.mapper.meta;
import com.yd.api.practitioner.vo.organization.InsurerBranchDeptInfo;
import com.yd.api.practitioner.vo.organization.InsurerBranchInfo;
import com.yd.api.practitioner.vo.organization.PractitionerSubordinateSystemInfo;
import com.yd.dal.entity.meta.MdDropOptions;
import com.yd.dal.entity.meta.OptionsEGolden;
import org.apache.ibatis.annotations.Param;
......@@ -33,4 +36,16 @@ public interface MdDropOptionsMapper {
List<OptionsEGolden> findByMasterIdsE(@Param("materIds")List<Integer> materIds);
List<OptionsEGolden> findAllTitleEG();
List<PractitionerSubordinateSystemInfo> findSubordinateSystemInfoByIdEG(@Param("subordinateSystemIds")List<String> subordinateSystemIds);
List<PractitionerSubordinateSystemInfo> findSubordinateSystemInfoEG();
List<InsurerBranchDeptInfo> findBranchDeptInfoByIdEG(@Param("branchDeptIds")List<String> branchDeptIds);
List<InsurerBranchDeptInfo> findBranchDeptInfoEG();
List<InsurerBranchInfo> findInsurerBranchInfoByIdEG(@Param("insurerBranchIds")List<String> insurerBranchIds);
List<InsurerBranchInfo> findInsurerBranchInfoEG();
}
\ No newline at end of file
......@@ -2,6 +2,8 @@ package com.yd.dal.service.commission;
import java.util.List;
import com.github.pagehelper.PageInfo;
import com.yd.api.agms.vo.statement.statementData;
import com.yd.dal.entity.commission.CommissionEGolden;
/**
......@@ -9,7 +11,10 @@ import com.yd.dal.entity.commission.CommissionEGolden;
* @version 1.0
*/
public interface CommissionEGoldenDA {
PageInfo<statementData> getStatementDataByPage(int pageNum, int size,Integer isStatement, Integer type, String inCommissionStartTime, String outCommissionStartTime,String inCommissionEndTime, String outCommissionEndTime, String insurerBranchId, String deptId, String subordinateId);
List<CommissionEGolden> listSalesCommissionfromEGolden(String login);
List<statementData> getStatementData(Integer isStatement, Integer type, String inCommissionStartTime, String outCommissionStartTime, String inCommissionEndTime, String outCommissionEndTime, String insurerBranchId, String deptId, String subordinateId);
}
package com.yd.dal.service.commission;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.yd.api.agms.vo.statement.statementData;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Service;
......@@ -25,20 +29,35 @@ public class CommissionEGoldenDAImpl implements CommissionEGoldenDA {
@Resource
private CommissionEGoldenMapper commissionEGoldenMapper;
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public PageInfo<statementData> getStatementDataByPage(int pageNum, int size, Integer isStatement,Integer type, String inCommissionStartTime, String outCommissionStartTime,String inCommissionEndTime, String outCommissionEndTime, String insurerBranchId, String deptId, String subordinateId) {
PageHelper.startPage(pageNum, size);
Page<statementData> statementData = commissionEGoldenMapper.getStatementDataByPage(isStatement,type,inCommissionStartTime,outCommissionStartTime,inCommissionEndTime,outCommissionEndTime,insurerBranchId,deptId,subordinateId);
PageInfo<statementData> pageInfo = new PageInfo<>(statementData);
return pageInfo;
}
/*
* 按照手机号从EGolden DB中查询用户保单列表
* 通过标签指定数据源:dataSourceKey = DataSourceKey.DB_EGOLDEN
* (non-Javadoc)
* @see com.yd.dataccess.service.commission.CommissionEGoldenDA#listSalesCommissionfromEGolden(java.lang.String)
*/
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public List<CommissionEGolden> listSalesCommissionfromEGolden(String login) {
List<CommissionEGolden> destList = new ArrayList<CommissionEGolden>();
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public List<CommissionEGolden> listSalesCommissionfromEGolden(String login) {
List<CommissionEGolden> destList = new ArrayList<CommissionEGolden>();
destList = commissionEGoldenMapper.listSalesCommissionfromEGolden(login);
return destList;
}
}
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public List<statementData> getStatementData(Integer isStatement, Integer type, String inCommissionStartTime, String outCommissionStartTime, String inCommissionEndTime, String outCommissionEndTime, String insurerBranchId, String deptId, String subordinateId) {
return commissionEGoldenMapper.getStatementDataByPage(isStatement,type,inCommissionStartTime,outCommissionStartTime,inCommissionEndTime,outCommissionEndTime,insurerBranchId,deptId,subordinateId);
}
}
package com.yd.dal.service.meta;
import com.yd.api.practitioner.vo.organization.InsurerBranchDeptInfo;
import com.yd.api.practitioner.vo.organization.InsurerBranchInfo;
import com.yd.api.practitioner.vo.organization.PractitionerSubordinateSystemInfo;
import com.yd.dal.entity.meta.MdDropOptions;
import com.yd.dal.entity.meta.OptionsEGolden;
......@@ -23,4 +26,16 @@ public interface MdDropOptionsDALService {
List<OptionsEGolden> findByMasterIdsE(List<Integer> materIds);
List<OptionsEGolden> findAllTitleEG();
List<PractitionerSubordinateSystemInfo> findSubordinateSystemInfoByIdEG(List<String> subordinateSystemIds);
List<PractitionerSubordinateSystemInfo> findSubordinateSystemInfoEG();
List<InsurerBranchDeptInfo> findBranchDeptInfoByIdEG(List<String> branchDeptIds);
List<InsurerBranchDeptInfo> findBranchDeptInfoEG();
List<InsurerBranchInfo> findInsurerBranchInfoByIdEG(List<String> insurerBranchIds);
List<InsurerBranchInfo> findInsurerBranchInfoEG();
}
package com.yd.dal.service.meta.impl;
import com.yd.api.practitioner.vo.organization.InsurerBranchDeptInfo;
import com.yd.api.practitioner.vo.organization.InsurerBranchInfo;
import com.yd.api.practitioner.vo.organization.PractitionerSubordinateSystemInfo;
import com.yd.dal.entity.meta.MdDropOptions;
import com.yd.dal.entity.meta.OptionsEGolden;
import com.yd.dal.mapper.meta.MdDropOptionsMapper;
......@@ -67,4 +70,40 @@ public class MdDropOptionsDALServiceImpl implements MdDropOptionsDALService {
public List<OptionsEGolden> findAllTitleEG() {
return mdDropOptionsMapper.findAllTitleEG();
}
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public List<PractitionerSubordinateSystemInfo> findSubordinateSystemInfoByIdEG(List<String> subordinateSystemIds) {
return mdDropOptionsMapper.findSubordinateSystemInfoByIdEG(subordinateSystemIds);
}
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public List<PractitionerSubordinateSystemInfo> findSubordinateSystemInfoEG() {
return mdDropOptionsMapper.findSubordinateSystemInfoEG();
}
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public List<InsurerBranchDeptInfo> findBranchDeptInfoByIdEG(List<String> branchDeptIds) {
return mdDropOptionsMapper.findBranchDeptInfoByIdEG(branchDeptIds);
}
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public List<InsurerBranchDeptInfo> findBranchDeptInfoEG() {
return mdDropOptionsMapper.findBranchDeptInfoEG();
}
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public List<InsurerBranchInfo> findInsurerBranchInfoByIdEG(List<String> insurerBranchIds) {
return mdDropOptionsMapper.findInsurerBranchInfoByIdEG(insurerBranchIds);
}
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public List<InsurerBranchInfo> findInsurerBranchInfoEG() {
return mdDropOptionsMapper.findInsurerBranchInfoEG();
}
}
......@@ -5,25 +5,106 @@
<result column="SAL_MST_MOBILE" property="login"/>
<result column="SAL_MST_NAME" property="name"/>
<result column="INS_MST_ID" property="policyNo"/>
<result column="INS_MST_TOTAL_PREIUM" property="premium"/>
<result column="INS001_FYCTOTAL" property="fyc"/>
<result column="INS_MST_TOTAL_PREIUM" property="premium"/>
<result column="INS001_FYCTOTAL" property="fyc"/>
<result column="INS_MST_SALES" property="handBy"/>
<result column="INS_MST_SEND_DATE" property="policyIssueDate"/>
<result column="INS_MST_SEND_DATE" property="policyIssueDate"/>
<result column="INS_BEN_NAME" property="policyHolder"/>
</resultMap>
<select id="listSalesCommissionfromEGolden" parameterType="java.lang.String" resultMap="base_result_mapegolden">
SELECT DISTINCT
sales.SAL_MST_MOBILE -- 业务员手机
,sales.SAL_MST_NAME -- 业务员
,policy.INS_MST_ID -- 保单号
,policy.INS_MST_TOTAL_PREIUM -- 保费
,policy.INS001_FYCTOTAL -- FYC
,policy.INS_MST_SALES -- 经手人
,policy.INS_MST_SEND_DATE -- 出单日
,p_insed.INS_BEN_NAME -- 被保人受益人
FROM sal001 sales LEFT JOIN ins003 p_sales on sales.SAL_MST_ID = p_sales.FK_SAL_MST_ID
LEFT JOIN ins001 policy on policy.INS_MST_ID = p_sales.FK_INS_MST_ID
LEFT JOIN ins017 p_insed on policy.INS_MST_ID = p_insed.FK_INS_MST_ID
WHERE policy.INS_MST_REPEAL != 1 AND sales.SAL_MST_MOBILE = #{login}
SELECT DISTINCT
sales.SAL_MST_MOBILE -- 业务员手机
,sales.SAL_MST_NAME -- 业务员
,policy.INS_MST_ID -- 保单号
,policy.INS_MST_TOTAL_PREIUM -- 保费
,policy.INS001_FYCTOTAL -- FYC
,policy.INS_MST_SALES -- 经手人
,policy.INS_MST_SEND_DATE -- 出单日
,p_insed.INS_BEN_NAME -- 被保人受益人
FROM sal001 sales LEFT JOIN ins003 p_sales on sales.SAL_MST_ID = p_sales.FK_SAL_MST_ID
LEFT JOIN ins001 policy on policy.INS_MST_ID = p_sales.FK_INS_MST_ID
LEFT JOIN ins017 p_insed on policy.INS_MST_ID = p_insed.FK_INS_MST_ID
WHERE policy.INS_MST_REPEAL != 1 AND sales.SAL_MST_MOBILE = #{login}
</select>
<select id="getStatementDataByPage" resultType="com.yd.api.agms.vo.statement.statementData">
select if(#{type,jdbcType=INTEGER} = 1,receive.mon024_302,receive.MON024_301) as inCommissionTime, -- 预计来佣年月
if(#{type,jdbcType=INTEGER} = 1,pay.MON025_302,pay.mon025_301) as outCommissionTime,
policy.INS_MST_POLICY_NUM as policyNo, -- 保单号
branch.SPC_AREA_NAME as insurerBranch, -- 分公司
dept.SPC_BUS_NAME as dept, -- 营业部
divl.SPC_DIV_NAME as subordinate, -- 体系id
practitioner.SAL_MST_NAME as practitioner, --
practitioner.SAL_MST_EPID as practitionerIdEG, -- 业务员
practitioner.SAL_MST_OFFICIAL_TITLE as title, -- 职阶
pay.MON025_403 as titleRate, -- 职阶率
if((pay.MON025_108 = "S02" or pay.MON025_108 = "S01"),convert(policy.INS_MST_TOTAL_PREIUM,decimal(10,2)),0) as premium, -- 保费
if((receive.MON024_303=1 and (pay.MON025_108 = "S02" or pay.MON025_108 = "S01")),convert(policy.INS001_FYCTOTAL,decimal(10,2)),0) as FYC, -- fyc
if((receive.MON024_303 != 1 and (pay.MON025_108 = "S02" or pay.MON025_108 = "S01")),convert((policy.INS_MST_TOTAL_PREIUM * pay.MON025_402)/100,decimal(10,2)) ,0) as RYC, -- fyc
if((pay.MON025_108 = "S02" or pay.MON025_108 = "S01"),convert(receive.incommission,decimal(10,2)),0) as rightReceiveCommission, -- 来佣金额
pay.paycommission as rightPayCommission, -- 应发佣金
commissionType.SRA_BS_NAME as commissionType-- 佣奖类型
from ins001 policy right join (select MON024_002,MON024_301,MON024_302,MON024_303,sum(MON024_404) as incommission from MON024 where mon024_104 != "3" and mon024_104 != "4" group by MON024_002 ,MON024_301) receive on policy.INS_MST_ID = receive.MON024_002
right join (select MON025_002,MON025_301,MON025_302,MON025_303,MON025_005,MON025_006,MON025_008,MON025_007,MON025_403,MON025_402,sum(MON025_401) as premium,sum(MON025_405) as paycommission,MON025_108 from MON025 where mon025_109 != "5" and mon025_109 != "6" group by mon025_002,mon025_301,MON025_007) pay on policy.INS_MST_ID = pay.MON025_002 and receive.MON024_303 = pay.MON025_303
left join sal001 practitioner on practitioner.SAL_MST_ID = pay.MON025_007
left join spc002 dept on dept.SPC_BUS_ID = practitioner.FK_SPC_BUS_ID
left join spc001 branch on branch.SPC_AREA_ID = dept.FK_AREA_ID
left join spc004 divl on divl.SPC_DIV_ID = practitioner.FK_SPC_DIV_ID
left join sra009 commissionType on commissionType.SRA_BS_CODE = pay.MON025_108
where 1=1
<!-- <if test="isStatement == 0">-->
<choose>
<when test="type == 1">
<choose>
<when test="inCommissionStartTime == null and inCommissionEndTime == null and outCommissionStartTime == null and outCommissionEndTime == null">
and receive.mon024_302 is not null or pay.MON025_302 is not null
</when>
<otherwise>
<if test="inCommissionStartTime != null">
and CONVERT(receive.mon024_302,signed) &gt;= CONVERT(#{inCommissionStartTime,jdbcType=VARCHAR},signed)
</if>
<if test="inCommissionEndTime != null">
and CONVERT(receive.mon024_302,signed) &lt;= CONVERT(#{inCommissionEndTime,jdbcType=VARCHAR},signed)
</if>
<if test="outCommissionStartTime != null">
and CONVERT(pay.MON025_302,signed) &gt;= CONVERT(#{outCommissionStartTime,jdbcType=VARCHAR},signed)
</if>
<if test="outCommissionEndTime != null">
and CONVERT(pay.MON025_302,signed) &lt;= CONVERT(#{outCommissionEndTime,jdbcType=VARCHAR},signed)
</if>
</otherwise>
</choose>
</when>
<otherwise>
<if test="inCommissionStartTime != null">
and CONVERT(receive.mon024_301,signed) &gt;= CONVERT(#{inCommissionStartTime,jdbcType=VARCHAR},signed)
</if>
<if test="inCommissionEndTime != null">
and CONVERT(receive.mon024_301,signed) &lt;= CONVERT(#{inCommissionEndTime,jdbcType=VARCHAR},signed)
</if>
<if test="outCommissionStartTime != null">
and CONVERT(pay.MON025_301,signed) &gt;= CONVERT(#{outCommissionStartTime,jdbcType=VARCHAR},signed)
</if>
<if test="outCommissionEndTime != null">
and CONVERT(pay.MON025_301,signed) &lt;= CONVERT(#{outCommissionEndTime,jdbcType=VARCHAR},signed)
</if>
</otherwise>
</choose>
<choose>
<when test="subordinateId != null">
and pay.MON025_006 = #{subordinateId,jdbcType=VARCHAR}
</when>
<when test="deptId != null ">
and pay.MON025_005 = #{deptId,jdbcType=VARCHAR}
</when>
<when test="insurerBranchId != null ">
and branch.SPC_AREA_ID = #{insurerBranchId,jdbcType=VARCHAR}
</when>
<otherwise>
</otherwise>
</choose>
order by policy.INS_MST_POLICY_NUM,receive.mon024_301 asc
<!-- </if>-->
</select>
</mapper>
\ No newline at end of file
......@@ -261,4 +261,78 @@
t.DRP_TITLE_LEVEL as titleLevel
from drp003 t
</select>
<select id="findSubordinateSystemInfoByIdEG"
resultType="com.yd.api.practitioner.vo.organization.PractitionerSubordinateSystemInfo">
select t.SPC_DIV_ID as idEG,
t.FK_BUS_ID as deptIdEG,
t.SPC_DIV_CODE as subordinateSystemCode,
t.SPC_DIV_NAME as name,
t.SPC_DIV_REMARK as remark
from spc004 t where t.SPC_DIV_CANCEL = 0 and t.SPC_DIV_ID in
<foreach collection="subordinateSystemIds" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="findSubordinateSystemInfoEG"
resultType="com.yd.api.practitioner.vo.organization.PractitionerSubordinateSystemInfo">
select t.SPC_DIV_ID as idEG,
t.FK_BUS_ID as deptIdEG,
t.SPC_DIV_CODE as subordinateSystemCode,
t.SPC_DIV_NAME as name,
t.SPC_DIV_REMARK as remark
from spc004 t where t.SPC_DIV_CANCEL = 0;
</select>
<select id="findBranchDeptInfoByIdEG"
resultType="com.yd.api.practitioner.vo.organization.InsurerBranchDeptInfo">
select t.FK_AREA_ID as insurerBranchIdEG,
t.SPC_BUS_ID as idEG,
t.SPC_BUS_CODE as deptCode,
t.SPC_BUS_NAME as name,
t.SPC_BUS_TEL_NUM as contactNo,
t.SPC_BUS_REMARK as remark,
t.SPC_BUS_ADDRESS as address
from spc002 t where t.SPC_BUS_CANCEL = 0 and t.SPC_BUS_ID in
<foreach collection="branchDeptIds" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="findBranchDeptInfoEG" resultType="com.yd.api.practitioner.vo.organization.InsurerBranchDeptInfo">
select t.FK_AREA_ID as insurerBranchIdEG,
t.SPC_BUS_ID as idEG,
t.SPC_BUS_CODE as deptCode,
t.SPC_BUS_NAME as name,
t.SPC_BUS_TEL_NUM as contactNo,
t.SPC_BUS_REMARK as remark,
t.SPC_BUS_ADDRESS as address
from spc002 t where t.SPC_BUS_CANCEL = 0;
</select>
<select id="findInsurerBranchInfoByIdEG"
resultType="com.yd.api.practitioner.vo.organization.InsurerBranchInfo">
select
t.SPC_AREA_ID as insurerBranchIdEG,
t.SPC_AREA_NAME as branchName,
t.SPC_AREA_CODE as branchCode,
t.SPC_START_DATE as effectiveStartDate,
t.SPC_END_DATE as effectiveEndDate,
t.SPC_ADDRESS as address,
t.SPC_TEL_NUM as contactNo
from spc001 t where t.SPC_CANCEL = 0 and t.SPC_AREA_ID in
<foreach collection="insurerBranchIds" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="findInsurerBranchInfoEG" resultType="com.yd.api.practitioner.vo.organization.InsurerBranchInfo">
select
t.SPC_AREA_ID as insurerBranchIdEG,
t.SPC_AREA_NAME as branchName,
t.SPC_AREA_CODE as branchCode,
t.SPC_START_DATE as effectiveStartDate,
t.SPC_END_DATE as effectiveEndDate,
t.SPC_ADDRESS as address,
t.SPC_TEL_NUM as contactNo
from spc001 t where t.SPC_CANCEL = 0;
</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