Commit 24328ed7 by Simon Cheng

'调整空白页'

parents 3cd28d21 1582807e
...@@ -7,8 +7,10 @@ import com.yd.api.result.CommonResult; ...@@ -7,8 +7,10 @@ import com.yd.api.result.CommonResult;
import com.yd.dal.entity.agms.hiring.*; import com.yd.dal.entity.agms.hiring.*;
import com.yd.dal.entity.customer.*; import com.yd.dal.entity.customer.*;
import com.yd.dal.entity.meta.MdCode; import com.yd.dal.entity.meta.MdCode;
import com.yd.dal.entity.meta.MdDropOptions;
import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps; import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps;
import com.yd.dal.entity.order.PoOrder; import com.yd.dal.entity.order.PoOrder;
import com.yd.dal.entity.practitioner.ScheduleTrack;
import com.yd.dal.entity.practitioner.hiring.HiringApproveRecords; import com.yd.dal.entity.practitioner.hiring.HiringApproveRecords;
import com.yd.dal.entity.user.AclUser; import com.yd.dal.entity.user.AclUser;
import com.yd.dal.mapper.customer.AclPractitionerHiringBasicInfoMapper; import com.yd.dal.mapper.customer.AclPractitionerHiringBasicInfoMapper;
...@@ -17,6 +19,7 @@ import com.yd.dal.mapper.customer.AclPractitionerMapper; ...@@ -17,6 +19,7 @@ import com.yd.dal.mapper.customer.AclPractitionerMapper;
import com.yd.dal.service.agms.AgmsHiringDALService; import com.yd.dal.service.agms.AgmsHiringDALService;
import com.yd.dal.service.customer.*; import com.yd.dal.service.customer.*;
import com.yd.dal.service.meta.MdCodeDALService; import com.yd.dal.service.meta.MdCodeDALService;
import com.yd.dal.service.meta.MdDropOptionsDALService;
import com.yd.dal.service.meta.MdPractitionerHiringApproveStepsDALService; import com.yd.dal.service.meta.MdPractitionerHiringApproveStepsDALService;
import com.yd.dal.service.practitioner.PractitionerHiringDALService; import com.yd.dal.service.practitioner.PractitionerHiringDALService;
import com.yd.dal.service.user.AclUserDALService; import com.yd.dal.service.user.AclUserDALService;
...@@ -62,6 +65,10 @@ public class AgmsHiringServiceImpl implements AgmsHiringService { ...@@ -62,6 +65,10 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
private MdCodeDALService mdCodeDALService; private MdCodeDALService mdCodeDALService;
@Autowired @Autowired
private SendService sendService; private SendService sendService;
@Autowired
private AclPractitionerPotentialAssignedTrackDALService aclPractitionerPotentialAssignedTrackDALService;
@Autowired
private MdDropOptionsDALService mdDropOptionsDALService;
@Autowired @Autowired
public void setAgmsHiringDalService(AgmsHiringDALService agmsHiringDalService){ public void setAgmsHiringDalService(AgmsHiringDALService agmsHiringDalService){
...@@ -251,6 +258,8 @@ public class AgmsHiringServiceImpl implements AgmsHiringService { ...@@ -251,6 +258,8 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
//最后一步通过发邮件通知人事填写相关经纪人信息 //最后一步通过发邮件通知人事填写相关经纪人信息
this.sendMailToHR(basicInfo2); this.sendMailToHR(basicInfo2);
basicInfoStatus = "0"; basicInfoStatus = "0";
//更新增员状态为"成功报聘"
insertPotentialAssignedTrack(basicInfo2);
} else { } else {
basicInfoStatus = "-1"; basicInfoStatus = "-1";
...@@ -265,6 +274,44 @@ public class AgmsHiringServiceImpl implements AgmsHiringService { ...@@ -265,6 +274,44 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000"))); responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
} }
private void insertPotentialAssignedTrack(AclPractitionerHiringBasicInfo basicInfo) {
Long practitionerId = null;
Long potentialId = basicInfo.getPractitionerPotentialId();
AclPractitionerPotentialAssignedTrack assignedTrack = new AclPractitionerPotentialAssignedTrack();
List<AclPractitionerPotentialAssignedTrack> assignedTrackIsLastedList = aclPractitionerPotentialAssignedTrackDALService.findByPotentialIdAndIsLasted(potentialId,1);
//1、更新最新的状态
if(assignedTrackIsLastedList != null && !assignedTrackIsLastedList.isEmpty()){
List<AclPractitionerPotentialAssignedTrack> assignedTrackUpdateList = new ArrayList<>();
for(AclPractitionerPotentialAssignedTrack item : assignedTrackIsLastedList){
practitionerId = item.getCreatedBy();
item.setIsLasted(0);
item.setUpdatedBy(practitionerId);
item.setUpdaterType(2);
item.setUpdatedAt(new Date());
assignedTrackUpdateList.add(item);
}
aclPractitionerPotentialAssignedTrackDALService.updateAll(assignedTrackUpdateList);
}
//2、插入
MdDropOptions options = mdDropOptionsDALService.findById(113L);
assignedTrack.setTrackScore(options.getDropOptionScore());
assignedTrack.setPractitionerAssignedId(practitionerId);
assignedTrack.setPractitionerPotentialId(potentialId);
assignedTrack.setTrackStatusId(113L);
assignedTrack.setTrackTime(new Date());
assignedTrack.setIsActive(1);
assignedTrack.setIsLasted(1);
assignedTrack.setCreatorType(2);
assignedTrack.setCreatedBy(practitionerId);
assignedTrack.setCreatedAt(new Date());
aclPractitionerPotentialAssignedTrackDALService.save(assignedTrack);
}
@Override @Override
public PractitionerHiringListResponseVO practitionerHiringListV2(PractitionerHiringListRequestVO requestVO) { public PractitionerHiringListResponseVO practitionerHiringListV2(PractitionerHiringListRequestVO requestVO) {
PractitionerHiringListResponseVO resp = new PractitionerHiringListResponseVO(); PractitionerHiringListResponseVO resp = new PractitionerHiringListResponseVO();
......
...@@ -186,8 +186,8 @@ public class PractitionerPDFTest { ...@@ -186,8 +186,8 @@ public class PractitionerPDFTest {
String signResultPDF = "D:\\pcs12\\signedYD.pdf"; String signResultPDF = "D:\\pcs12\\signedYD.pdf";
signResultPDF = tmpPathPDF + practitionerNO + "-signedYD.pdf"; signResultPDF = tmpPathPDF + practitionerNO + "-signedYD.pdf";
String password = "UC645YlB"; String password="UC645YlB";
password = PDFConfiguration.getProperty("pdf.keyPassword"); //password = readFileTxt(PDFConfiguration.getProperty("pdf.keyPasswordFile"));
String keyStorePath="D:\\pcs12\\4929078_m.zuihuibi.cn.pfx"; String keyStorePath="D:\\pcs12\\4929078_m.zuihuibi.cn.pfx";
keyStorePath = PDFConfiguration.getProperty("pdf.keyStorePath");; keyStorePath = PDFConfiguration.getProperty("pdf.keyStorePath");;
......
package com.yd.api.practitioner;
import java.io.*;
import java.util.*;
import com.libs.pdf.freemarker.HtmlGenerator;
import com.libs.pdf.freemarker.PdfGenerator;
import com.yd.api.practitioner.vo.CommissionItems;
import com.yd.api.practitioner.vo.Commission;
import com.yd.util.PDFConfiguration;
/**
* @author Simon Cheng
*/
public class PractitionerSalaryPDFTest {
public static void main(String[] args) {
try
{
//String templatePDF = PDFConfiguration.getProperty("pdf.temp.path");
String templatePDF = "D:/pcs12/";
//html模板文件
String tempFile = "practitionerSalaryTemplate.html";
//pdf输出文件
//薪资单年月
String yearMonth = "202012";
//经纪人ID
String practitionerId = "17706";
//经纪人公司内部编号
String practitionerCode = "YDSH00134";
String outputFile = templatePDF + practitionerId + "Salary_" + yearMonth + "_"+ practitionerCode +".pdf";
//模板上的变量定义
Map<String, Object> dataVariables = new HashMap<String, Object>(3);
//初始化模板上变量值
initData(dataVariables);
//使用模板文件填充数值后,生成html
String htmlStr = HtmlGenerator.generate(tempFile, dataVariables);
System.out.println(htmlStr);
//根据html生产PDF文件
OutputStream out = new FileOutputStream(outputFile);
//存放到OSS上,实例:
//https://yindun-images.oss-cn-shanghai-finance-1-pub.aliyuncs.com/payScale/20201207112601/17706Salary_202012_YDSH00134.pdf
PdfGenerator.generatePlus(htmlStr, out);
System.out.println(outputFile);
} catch (Exception ex) {
ex.printStackTrace();
}
}
/**
* 初始化模板上变量数据
* @param variables
*/
private static void initData(Map<String, Object> variables) {
//佣金项目列表变量
List<CommissionItems> comList = new ArrayList<CommissionItems>();
//列表1:☆S01 首年度销售佣金
CommissionItems tomS01 = new CommissionItems();
tomS01.setName("☆S01 首年度销售佣金");
//列表1中的条目明细
List<Commission> tomItems1 = new ArrayList<Commission>();
Commission tomItem1 = new Commission();
tomItem1.setInsurer("泰康人寿");
tomItem1.setCommission("56.78");
tomItem1.setEffectiveDate("2021.2.1");
tomItem1.setFyc("45.00");
tomItem1.setGradeRate("86");
tomItem1.setInsured("姑苏蓝氏");
tomItem1.setNote("首保");
tomItem1.setPolicyNo("TKSH000012345");
tomItem1.setPremium("125.90");
tomItem1.setProductCode("PTK789001");
tomItem1.setSubSystem("王子");
tomItem1.setYearMonth("202102");
tomItems1.add(tomItem1);
tomS01.setItems(tomItems1);
comList.add(tomS01);
//列表2:☆S03 首年度辅导奖金
CommissionItems tomS03 = new CommissionItems();
tomS03.setName("☆S03 首年度辅导奖金");
//列表2中的条目明细
List<Commission> tomItems3 = new ArrayList<Commission>();
Commission tomItem3 = new Commission();
tomItem3.setInsurer("泰康人寿");
tomItem3.setCommission("3451.00");
tomItem3.setEffectiveDate("2021.1.1");
tomItem3.setFyc("5433.00");
tomItem3.setGradeRate("53%");
tomItem3.setInsured("王一博");
tomItem3.setNote("首保");
tomItem3.setPolicyNo("TKSC00012123100K");
tomItem3.setPremium("6756.00");
tomItem3.setProductCode("PTK000211");
tomItem3.setSubSystem("王子");
tomItem3.setYearMonth("202101");
tomItems3.add(tomItem3);
//列表2中的条目明细
Commission tomItem32 = new Commission();
tomItem32.setInsurer("泰康人寿");
tomItem32.setCommission("879.33");
tomItem32.setEffectiveDate("2021.2.1");
tomItem32.setFyc("561.30");
tomItem32.setGradeRate("56");
tomItem32.setInsured("李现");
tomItem32.setNote("首保");
tomItem32.setPolicyNo("TKJS000222");
tomItem32.setPremium("3211.90");
tomItem32.setProductCode("PTK3333");
tomItem32.setSubSystem("王子");
tomItem32.setYearMonth("202102");
tomItems3.add(tomItem32);
tomS03.setItems(tomItems3);
comList.add(tomS03);
//列表3:☆S14 特别管理奖金
CommissionItems tomSS14 = new CommissionItems();
tomSS14.setName("☆S14 特别管理奖金");
//列表3中的条目明细
List<Commission> tomItems14 = new ArrayList<Commission>();
Commission tomItem14 = new Commission();
tomItem14.setInsurer("泰康人寿");
tomItem14.setCommission("3423.45");
tomItem14.setEffectiveDate("2021.3.1");
tomItem14.setFyc("5335.00");
tomItem14.setGradeRate("56");
tomItem14.setInsured("肖战");
tomItem14.setNote("续保");
tomItem14.setPolicyNo("TKSH000020210301000176");
tomItem14.setPremium("8899.00");
tomItem14.setProductCode("PTK03214");
tomItem14.setSubSystem("王子");
tomItem14.setYearMonth("202103");
tomItems14.add(tomItem14);
tomSS14.setItems(tomItems14);
comList.add(tomSS14);
//html模板中的其他单值变量
variables.put("commissionYearMonth", "202103");
variables.put("commissionDate", "20210310");
variables.put("branch", "上海总部");
variables.put("practitionerNameCode", "YDSH00338");
variables.put("bankAccount", "6222010101012234589");
variables.put("subSystem", "王子");
variables.put("grade", "S2 企业合伙人");
variables.put("fyp", "5678.90");
variables.put("fap", "3457.87");
variables.put("other", "90.00");
variables.put("otherAddPlus", "0.00");
variables.put("tax", "0.00");
variables.put("totalCommission", "7658.89");
variables.put("otherSummary", "0.00");
variables.put("supplementTax", "0.00");
variables.put("otherTaxSummary", "0.00");
variables.put("currentActualSalary", "7658.89");
variables.put("currentTaxBeforeSalary", "7658.89");
variables.put("currentYearTaxBeforeSalary", "7658.89");
variables.put("preTaxOffRate", "78");
variables.put("currentYearTaxSummary", "7658.89");
variables.put("currentTax", "0.00");
variables.put("currentMonthFYC", "7658.89");
variables.put("currentYearFYC", "7658.89");
variables.put("currentMonthRYC", "7658.89");
//html模板中的列表变量
variables.put("comList", comList);
}
}
...@@ -4,6 +4,7 @@ import com.yd.api.practitioner.service.PractitionerHiringContractService; ...@@ -4,6 +4,7 @@ import com.yd.api.practitioner.service.PractitionerHiringContractService;
import com.yd.api.practitioner.service.PractitionerHiringService; import com.yd.api.practitioner.service.PractitionerHiringService;
import com.yd.api.practitioner.vo.hiring.*; import com.yd.api.practitioner.vo.hiring.*;
import com.yd.api.result.CommonResult; import com.yd.api.result.CommonResult;
import com.yd.dal.entity.agms.hiring.PractitionerHiringListInfo;
import com.yd.dal.entity.agms.hiring.PractitionerHiringWorkingExperience; import com.yd.dal.entity.agms.hiring.PractitionerHiringWorkingExperience;
import com.yd.dal.entity.customer.*; import com.yd.dal.entity.customer.*;
import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps; import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps;
...@@ -430,8 +431,11 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService ...@@ -430,8 +431,11 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
hiringListInfoList = practitionerHiringDalService.queryHandledList(practitionerId, status); hiringListInfoList = practitionerHiringDalService.queryHandledList(practitionerId, status);
} }
responseVO.setHiringListInfoList(hiringListInfoList); // 按申请时间倒序排序
Collections.sort(hiringListInfoList);
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000"))); responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
responseVO.setHiringListInfoList(hiringListInfoList);
return responseVO; return responseVO;
} }
......
package com.yd.dal.entity.practitioner.hiring; package com.yd.dal.entity.practitioner.hiring;
import com.google.common.base.Strings;
import com.yd.dal.entity.order.CustomerPolicyInfo;
import com.yd.util.CommonUtil;
import java.util.Date;
/** /**
* @author xxy * @author xxy
*/ */
public class HiringListInfo { public class HiringListInfo implements Comparable<HiringListInfo> {
/** /**
* 经纪人基本信息id * 经纪人基本信息id
...@@ -164,4 +170,20 @@ public class HiringListInfo { ...@@ -164,4 +170,20 @@ public class HiringListInfo {
Long in = this.hiringBasicInfoId; Long in = this.hiringBasicInfoId;
return in.hashCode(); return in.hashCode();
} }
@Override
public int compareTo(HiringListInfo o) {
String orderDate1 = o.getApplicationTime();
if(!Strings.isNullOrEmpty(applicationTime) && !Strings.isNullOrEmpty(orderDate1)){
Date orderDateDT = CommonUtil.stringParseDate(applicationTime,"yyyy-MM-dd HH:mm:ss");
Date orderDate1DT = CommonUtil.stringParseDate(orderDate1,"yyyy-MM-dd HH:mm:ss");
if(orderDate1DT != null && orderDateDT != null){
return orderDate1DT.compareTo(orderDateDT);
}else{
return 0;
}
}else{
return 0;
}
}
} }
pdf.template=/opt/tomcat8/conf/ydpdf/pdfres/templatePractitionerContract.pdf pdf.template=D:/pcs12/templatePractitionerContract.pdf
pdf.signImage=/opt/tomcat8/conf/ydpdf/pdfres/yindunsign.png pdf.signImage=D:/pcs12/yindunsign.png
pdf.keyStorePath=/opt/tomcat8/conf/ydpdf/pdfres/4929078_m.zuihuibi.cn.pfx pdf.keyStorePath=D:/pcs12/4929078_m.zuihuibi.cn.pfx
#pdf.template=D:/pcs12/templatePractitionerContract.pdf
#pdf.signImage=D:/pcs12/yindunsign.png
#pdf.keyStorePath=D:/pcs12/4929078_m.zuihuibi.cn.pfx
pdf.keyPassword=UC645YlB pdf.keyPassword=UC645YlB
pdf.check=/opt/tomcat8/conf/ydpdf/pdfres/check.png pdf.check=D:/pcs12/check.png
pdf.uncheck=/opt/tomcat8/conf/ydpdf/pdfres/uncheck.png pdf.uncheck=D:/pcs12/uncheck.png
#pdf.check=D:/pcs12/check.png
#pdf.uncheck=D:/pcs12/uncheck.png
pdf.temp.path=/opt/tomcat8/temp/ pdf.temp.path=D:/pcs12/
#pdf.temp.path=D:/pcs12/
pdf.firstParty=上海银盾保险经纪有限公司 pdf.firstParty=上海银盾保险经纪有限公司
pdf.firstPartyResponser=Wan Shuang Lian pdf.firstPartyResponser=Wan Shuang Lian
......
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