📄 uipremiuminvoiceprintfacade.java
字号:
}
//在附注栏显示共X张保批单信息
if(arrCertiNo1.length>1){
printNo="合发票"+printNo;
// strRemark = strRemark + " 共" + arrCertiNo1.length + "张保批单";
if (strComCodeP.substring(0, 2).equals("4403"))//深圳分公司发票特殊处理
strRemark = strRemark+ " " +agentCode;
// else
// strRemark = strRemark + " 合发票";
}
//异币种发票要显示在附注栏 显示原币种和总金额
if(!arrCurrency1[0].equals(arrCurrency2[0]))
{
double totalPlanFee = 0;
for(int m=0;m<arrPlanFee.length;m++)
{
totalPlanFee += Double.parseDouble(arrPlanFee[m]);
}
strRemark = strRemark + " 原保险费金额 " + arrCurrency1[0] + totalPlanFee;
}
//归并后的保批单号按照如下规则显示在发票中
//1条记录 只显示在保批单号栏
//2条记录 分两行靠左显示在保批单号栏
//3条记录 第一行两条,第二行靠左一条
//4条记录 两行两列显示在保批单号栏
//5条或5条以上记录 前4条两行两列显示在保批单号栏,从第5条开始每两条作为一行显示在附注栏
//归并后的附注栏信息按照如下规则显示在发票中
//如果附注栏有保批单号,则另起一行显示附注信息,如果没有保批单号,则在第一行显示附注信息,注意用/n换行
//附注信息包括 1/收付员打印发票时填写的信息 2合开发票时的"共X张保批单" 3异币种收款时,原币种和金额提示
double countTaxActual=Double.parseDouble(amountTaxActual)+Double.parseDouble(amountPreviousPay);
String enter="\n";
if(Double.parseDouble(amountTaxActual)!=0||Double.parseDouble(amountPreviousPay)!=0||Double.parseDouble(amountLateFee)!=0){
strTaxRemark = "代收车船税:"+Amount.toChineseMoney(countTaxActual,arrCurrency2[0])+" (往年" + amountPreviousPay
+ "元,当年" + amountTaxActual + "元,小计:"+countTaxActual+")" ;
if(Double.parseDouble(amountLateFee)!=0){
strTaxRemark+="\n 代收滞纳金:" + Amount.toChineseMoney(Double.parseDouble(amountLateFee),arrCurrency2[0])+"元 ";
enter="";
}
strTaxRemark+=enter+"总计:" +Amount.toChineseMoney(Double.parseDouble(amount),arrCurrency2[0]) + "("+Amount.toAccount(amount)+")";
}
if (arrCertiNoMerge.length == 0) {//出错处理,没有归并的保批单记录
// 保批单号
CertiNoDto certiNoDto = new CertiNoDto();
certiNoDto.setCertiNo("");
certiNoDtoList.add(certiNoDto);
// 附注,包括附注和保批单号
CertiNoListDto certiNoListDto = new CertiNoListDto();
certiNoListDto.setCertiNoList(strRemark+strTaxRemark);
certiNoListDtoList.add(certiNoListDto);
} else if (arrCertiNoMerge.length == 1) {//有1条保批单记录
// 保批单号
CertiNoDto certiNoDto = new CertiNoDto();
certiNoDto.setCertiNo(arrCertiNoMerge[0]);
certiNoDtoList.add(certiNoDto);
// 附注,包括附注和保批单号
CertiNoListDto certiNoListDto = new CertiNoListDto();
certiNoListDto.setCertiNoList(strRemark+strTaxRemark);
certiNoListDtoList.add(certiNoListDto);
} else if (arrCertiNoMerge.length == 2) {//有2条保批单记录
for (int i = 0; i < 2; i++) {
// 保批单号
CertiNoDto certiNoDto = new CertiNoDto();
certiNoDto.setCertiNo(arrCertiNoMerge[i]);
certiNoDtoList.add(certiNoDto);
}
// 附注,包括附注和保批单号
CertiNoListDto certiNoListDto = new CertiNoListDto();
certiNoListDto.setCertiNoList(strRemark+strTaxRemark);
certiNoListDtoList.add(certiNoListDto);
} else if (arrCertiNoMerge.length == 3) {//有3条保批单记录
String strTemp1 = arrCertiNoMerge[0] + " " + arrCertiNoMerge[1];
String strTemp2 = arrCertiNoMerge[2];
// 保批单号
CertiNoDto certiNoDto = new CertiNoDto();
certiNoDto.setCertiNo(strTemp1);
certiNoDtoList.add(certiNoDto);
certiNoDto = new CertiNoDto();
certiNoDto.setCertiNo(strTemp2);
certiNoDtoList.add(certiNoDto);
// 附注,包括附注和保批单号
CertiNoListDto certiNoListDto = new CertiNoListDto();
certiNoListDto.setCertiNoList(strRemark+strTaxRemark);
certiNoListDtoList.add(certiNoListDto);
} else if (arrCertiNoMerge.length == 4) {//有4条保批单记录
String strTemp1 = arrCertiNoMerge[0] + " " + arrCertiNoMerge[1];
String strTemp2 = arrCertiNoMerge[2] + " " + arrCertiNoMerge[3];
// 保批单号
CertiNoDto certiNoDto = new CertiNoDto();
certiNoDto.setCertiNo(strTemp1);
certiNoDtoList.add(certiNoDto);
certiNoDto = new CertiNoDto();
certiNoDto.setCertiNo(strTemp2);
certiNoDtoList.add(certiNoDto);
// 附注,包括附注和保批单号
CertiNoListDto certiNoListDto = new CertiNoListDto();
certiNoListDto.setCertiNoList(strRemark+strTaxRemark);
certiNoListDtoList.add(certiNoListDto);
} else if (arrCertiNoMerge.length > 4) {//有4条以上保批单记录
String strTemp1 = arrCertiNoMerge[0] + " " + arrCertiNoMerge[1];
String strTemp2 = arrCertiNoMerge[2] + " " + arrCertiNoMerge[3];
// 保批单号
CertiNoDto certiNoDto = new CertiNoDto();
certiNoDto.setCertiNo(strTemp1);
certiNoDtoList.add(certiNoDto);
certiNoDto = new CertiNoDto();
certiNoDto.setCertiNo(strTemp2);
certiNoDtoList.add(certiNoDto);
// 附注,包括附注和保批单号
for (int i = 4; i < arrCertiNoMerge.length; i++) {
CertiNoListDto certiNoListDto = new CertiNoListDto();
certiNoListDto.setCertiNoList(arrCertiNoMerge[i]);
certiNoListDtoList.add(certiNoListDto);
}
CertiNoListDto certiNoListDto = new CertiNoListDto();
certiNoListDto.setCertiNoList(strRemark+strTaxRemark);
certiNoListDtoList.add(certiNoListDto);
}
//liufengyao组合strVisaRemark的值
strVisaRemark = "付款人(发票抬头):"+strPayRefName+",开票金额:"+Amount.toAccount(amount)+","
+ "经办人:"+strVisaHanlerName+",收付员:"+payeeName;
InvoicePrintDto invoicePrintDto = new InvoicePrintDto();
invoicePrintDto.setAmount(Amount.toAccount(amountReal));
invoicePrintDto.setCertiNo(certiNoDtoList);
invoicePrintDto.setCertiNoList(certiNoListDtoList);
invoicePrintDto.setRiskName(riskNameDtoList);
amountName = Amount.toChineseMoney(Double.parseDouble(amountReal),strCurrency);
invoicePrintDto.setAmountName(amountName);
// lvzhijun 增加发票打印内容 20070619
invoicePrintDto.setPrintNo(printNo);
invoicePrintDto.setLicenseNo(licenseNo);
invoicePrintDto.setCurrency(strCurrency);
invoicePrintDto.setCurrencyName(strCurrencyName);
invoicePrintDto.setInvoiceDate(invoiceDate);
invoicePrintDto.setLost(strLost);
invoicePrintDto.setPayeeName(payeeName);
invoicePrintDto.setPayRefName(payRefName);
invoicePrintDto.setVisaHanlerName(strVisaHanlerName);
//停用Remark模板属性,但未从模板和InvoicePrintDto中删除
invoicePrintDto.setRemark(strRemark);
invoicePrintDto.setInvoiceNumber(prpJpayRefRecSchema.getVisaCode() + " " + prpJpayRefRecSchema.getVisaSerialNo());
//add by zhangxiaofei 增加纳税人识别号,目前只有总公司发票管理单位
if(strComCode.equals("00000000")){
invoicePrintDto.setNaShuiId("110105717868210");
}
InvoicePrintDtoList.add(invoicePrintDto);
//所有数据准备完成后更新发票和金额
blPrpJpayRefRec.payInvoice(arrCertiType1, arrCertiNo1,
arrSerialNo1, arrPayRefReason1, arrPayRefTimes1,
prpJpayRefRecSchema,strVisaRemark);
return InvoicePrintDtoList;
}
//单开发票
if (invoiceType.equals("2")) {
// 先判断发票张数
int printFlag = 0;
if (invoiceType.equals("2")) {
for (int i = 0, j = 0; i < arrCheckFlag.length; i++) {
if (arrCheckFlag[i].equals("Y")) {
printFlag++;
}
}
}
for (int i = 0, j = 0; i < arrCheckFlag.length; i++) {
if (arrCheckFlag[i].equals("Y")) {
prpJpayRefRecSchema.setVisaSerialNo(arrInvoiceNo[i]);
prpJpayRefRecSchema.setPayRefName(arrAppliName[i]);
InvoicePrintDto invoicePrintDto = new InvoicePrintDto();
CertiNoDto certiNoDto = new CertiNoDto();
CertiNoListDto certiNoListDto = new CertiNoListDto();
certiNoListDtoList = new ArrayList();
riskNameDtoList = new ArrayList();
certiNoDtoList = new ArrayList();
riskNameDto = new RiskNameDto();
certiNoDto.setCertiNo(arrCertiNo[i]);
certiNoDtoList.add(certiNoDto);
// lvzhijun 增加发票打印内容 20070619
dbPrpCmain.getInfo(arrCertiNo[i]);
dbPrpCitemCar.getInfo(arrCertiNo[i], "1");
// 增加保单流水号和车牌号
printNo = " \n保单流水号:" + dbPrpCmain.getPrintNo();
if (arrClassCode[i].equals("05")) {
dbPrpCitemCar.getInfo(arrCertiNo[i], "1");
licenseNo = "车 牌 号:" + dbPrpCitemCar.getLicenseNo();
}
// printNo=dbPrpCmain.getPrintNo();
// licenseNo=dbPrpCitemCar.getLicenseNo();
// 异币种发票要显示在附注栏 显示原币种和金额
String strAppendix = "";
if (!arrCurrency1[j].equals(arrCurrency2[j])) {
strAppendix = " 原保险费金额 " + arrCurrency1[j] + arrPlanFee[j] + " ";
j++;
}
// 将附注信息从Remark移到CertiNoListDtoList显示,模板中不显示Remark属性
certiNoListDto.setCertiNoList(strRemark + " " + strAppendix);
certiNoListDtoList.add(certiNoListDto);
// liufengyao组合strVisaRemark的值
strVisaRemark = "付款人(发票抬头):" + arrAppliName[i] + ",开票金额:" + Amount.toAccount(arrPayrefFee[i]) + ","
+ "经办人:" + strVisaHanlerName + ",收付员:" + payeeName;
// 修改收付费记录,发票状态等
String[] arrCertiTypeT = new String[1];
String[] arrCertiNoT = new String[1];
String[] arrSerialNoT = new String[1];
String[] arrPayRefReasonT = new String[1];
String[] arrPayRefTimesT = new String[1];
arrCertiTypeT[0] = arrCertiType[i];
arrCertiNoT[0] = arrCertiNo[i];
arrSerialNoT[0] = arrSerialNo[i];
arrPayRefReasonT[0] = arrPayRefReason[i];
arrPayRefTimesT[0] = arrPayRefTimes[i];
String strRiskName = blPrpDrisk.translateCode(arrRiskName[i], true);
riskNameDto.setRiskName(strRiskName);
riskNameDtoList.add(riskNameDto);
invoicePrintDto.setCertiNo(certiNoDtoList);
invoicePrintDto.setRiskName(riskNameDtoList);
invoicePrintDto.setCertiNoList(certiNoListDtoList);
invoicePrintDto.setAmount(Amount.toAccount(arrPayrefFee[i]));
amountName = Amount.toChineseMoney(Double.parseDouble(arrPayrefFee[i]), strCurrency);
// lvzhijun 增加发票打印内容 20070619
invoicePrintDto.setPrintNo(printNo);
invoicePrintDto.setLicenseNo(licenseNo);
invoicePrintDto.setAmountName(amountName);
invoicePrintDto.setCurrency(strCurrency);
invoicePrintDto.setCurrencyName(strCurrencyName);
invoicePrintDto.setInvoiceDate(invoiceDate);
invoicePrintDto.setLost(strLost);
invoicePrintDto.setPayeeName(payeeName);
// invoicePrintDto.setPayRefName(payRefName);
invoicePrintDto.setPayRefName(arrAppliName[i]);
if(strComCode.equals("00000000")){ //纳税人识别号
invoicePrintDto.setNaShuiId("110105717868210");
}
if (printFlag != 1)
invoicePrintDto.setVisaHanlerName(strVisaHanlerName);
else{
invoicePrintDto.setVisaHanlerName(arrHandlerName[i]);
}
// 停用Remark模板属性,但未从模板和InvoicePrintDto中删除
// if (strComCodeP.substring(0, 2).equals("44"))//
// 深圳分公司发票特殊处理
// invoicePrintDto.setRemark(agentCode);
// else
invoicePrintDto.setRemark(strRemark);
// invoicePrintDto.setRemark("");
invoicePrintDto.setInvoiceNumber(prpJpayRefRecSchema.getVisaCode() + " " + arrInvoiceNo[i]);
InvoicePrintDtoList.add(invoicePrintDto);
// 所有数据准备完成后更新发票和金额
blPrpJpayRefRec.payInvoice(arrCertiTypeT, arrCertiNoT, arrSerialNoT, arrPayRefReasonT,
arrPayRefTimesT, prpJpayRefRecSchema, strVisaRemark);
}
}
return InvoicePrintDtoList;
}
return InvoicePrintDtoList;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -