apzl_leasing/src_tenwa/com/tenwa/lease/app/invoicemanager/InvoiceManagerController.java
2021-01-12 16:18:49 +08:00

1224 lines
58 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.tenwa.lease.app.invoicemanager;
import java.io.File;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import jbo.app.tenwa.calc.LC_CALC_CONDITION;
import jbo.app.tenwa.calc.LC_FUND_INCOME;
import jbo.app.tenwa.calc.LC_FUND_PLAN;
import jbo.app.tenwa.calc.LC_RENT_INCOME;
import jbo.app.tenwa.calc.LC_RENT_PLAN;
import jbo.app.tenwa.calc.LI_INVOICE_CONFIRM;
import jbo.app.tenwa.calc.LI_INVOICE_CONFIRM_DETAIL;
import jbo.app.tenwa.calc.LI_INVOICE_RESULT;
import jbo.app.tenwa.calc.VI_LI_INVOICE;
import jbo.app.tenwa.customer.CUSTOMER_COMPANY;
import jbo.app.tenwa.customer.CUSTOMER_PERSON;
import jbo.awe.USER_INFO;
import jbo.com.tenwa.entity.comm.invoice.LI_FUND_INVOICE_DOWNLOAD_INFO;
import jbo.com.tenwa.entity.comm.invoice.LI_FUND_INVOICE_INFO;
import jbo.com.tenwa.entity.comm.invoice.LI_RENT_INVOICE_DOWNLOAD_INFO;
import jbo.com.tenwa.entity.comm.invoice.LI_RENT_INVOICE_INFO;
import jbo.com.tenwa.entity.comm.invoice.LI_TAX_FUND_UPLOAD_INFO;
import jbo.com.tenwa.entity.comm.invoice.LI_TAX_RENT_UPLOAD_INFO;
import jbo.com.tenwa.entity.comm.own.OWN_ACCOUNT;
import jbo.com.tenwa.entity.comm.own.OWN_INFO;
import jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO;
import jbo.com.tenwa.lease.comm.LB_CONTRACT_INVOICE_TYPE;
import org.apache.commons.lang.StringUtils;
import org.bouncycastle.util.encoders.Base64Encoder;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import com.alibaba.fastjson.util.Base64;
import com.amarsoft.app.lc.util.DateAssistant;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectKey;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOException;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.amarsoft.awe.Configure;
import com.tenwa.app.invoice.action.InvoiceRequest;
import com.tenwa.app.invoice.data.ResponseEnum;
import com.tenwa.app.invoice.pojo.ResultPojo;
import com.tenwa.app.invoice.request.InvoiceRequestBase;
import com.tenwa.app.invoice.request.InvoiceRequestHead;
import com.tenwa.app.invoice.utils.DownloadPdfUtil;
import com.tenwa.app.invoice.utils.JaxbUtil;
import com.tenwa.app.invoice.utils.MathUtil;
import com.tenwa.app.invoice.utils.Num2ChineseUtil;
import com.tenwa.app.invoice.utils.PasswordGenerateUtil;
import com.tenwa.app.invoice.utils.ResultUtil;
import com.tenwa.flow.action.comm.BaseTable;
import com.tenwa.util.SecurityUtil;
import com.tenwa.util.SerialNumberUtil;
/**
* @author admin
*
*/
public class InvoiceManagerController extends BaseTable{
private String InvoiceStatus;
private String PlanList;
private String IncomeList;
private String PaymentList;
private String PlanIncomeList;
private String IncomeId;
private String PlanId;
private String UploadId;
private String RebackStatus;
private String ContractId;
private String ContractInvoiceStatus;
private String ReceiptList;
private String sid;
private String url = "http://fpfw2.aiee.fun:8899/fpfw2/api/kpbusiness";
private String appId = "77c61651-f40e-4536-9991-bba64bd3521e";
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getAppId() {
return appId;
}
public void setAppId(String appId) {
this.appId = appId;
}
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getInvoiceStatus() {
return InvoiceStatus;
}
public void setInvoiceStatus(String invoiceStatus) {
InvoiceStatus = invoiceStatus;
}
public String getPlanList() {
return PlanList;
}
public void setPlanList(String planList) {
PlanList = planList;
}
public String getIncomeList() {
return IncomeList;
}
public void setIncomeList(String incomeList) {
IncomeList = incomeList;
}
public String getPaymentList() {
return PaymentList;
}
public void setPaymentList(String paymentList) {
PaymentList = paymentList;
}
public String getPlanIncomeList() {
return PlanIncomeList;
}
public void setPlanIncomeList(String planIncomeList) {
PlanIncomeList = planIncomeList;
}
public String getIncomeId() {
return IncomeId;
}
public void setIncomeId(String incomeId) {
IncomeId = incomeId;
}
public String getPlanId() {
return PlanId;
}
public void setPlanId(String planId) {
PlanId = planId;
}
public String getUploadId() {
return UploadId;
}
public void setUploadId(String uploadId) {
UploadId = uploadId;
}
public String getRebackStatus() {
return RebackStatus;
}
public void setRebackStatus(String rebackStatus) {
RebackStatus = rebackStatus;
}
public String getContractId() {
return ContractId;
}
public void setContractId(String contractId) {
ContractId = contractId;
}
public String getContractInvoiceStatus() {
return ContractInvoiceStatus;
}
public void setContractInvoiceStatus(String contractInvoiceStatus) {
ContractInvoiceStatus = contractInvoiceStatus;
}
public String getReceiptList() {
return ReceiptList;
}
public void setReceiptList(String receiptList) {
ReceiptList = receiptList;
}
/**
* <20>ʽ<EFBFBD><CABD>ƻ<EFBFBD><C6BB><EFBFBD>Ʊ/<2F>ݲ<EFBFBD><DDB2><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>
* @param tx
* @return
* @throws Exception
*/
public String submitOrNoInvoiceFundPlanInvoice(JBOTransaction tx) throws Exception{
BizObjectManager lfiiManager = JBOFactory.getBizObjectManager(LI_FUND_INVOICE_INFO.CLASS_NAME);
BizObjectManager lfpManager= JBOFactory.getBizObjectManager(LC_FUND_PLAN.CLASS_NAME);
BizObjectManager lcitManager= JBOFactory.getBizObjectManager(LB_CONTRACT_INVOICE_TYPE.CLASS_NAME);
tx.join(lfiiManager);
tx.join(lfpManager);
tx.join(lcitManager);
String[] fundPlanIds = PlanList.split("@");
for(int i=0;i<fundPlanIds.length;i+=2){
BizObject lfii = lfiiManager.createQuery("PLAN_ID=:planid and bill_type='invoice' ").setParameter("planid",fundPlanIds[i]).getSingleResult(false);
BizObject lfp = lfpManager.createQuery("ID=:id ").setParameter("id",fundPlanIds[i]).getSingleResult(false);
String contractId=lfp.getAttribute("CONTRACT_ID").getString();
BizObject lfiiNew = lfiiManager.newObject();
if(lfii==null){
BizObject lcit = lcitManager.createQuery("CONTRACT_ID=:contractid and IS_MAIN='Y' ").setParameter("contractid",contractId).getSingleResult(false);
lfiiNew.setAttributesValue(lcit);
lfiiNew.setAttributeValue("ID", null);
lfiiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lfiiNew.setAttributeValue("BILL_TYPE", "invoice");
if(lcit.getAttribute("TAX_REG_TYPE").getString().equals("tax_payercategory1")){
lfiiNew.setAttributeValue("INVOICE_TYPE", "invoice_type01");
}else{
lfiiNew.setAttributeValue("INVOICE_TYPE", "invoice_type02");
}
lfiiNew.setAttributeValue("INVOICE_MONEY", lfp.getAttribute("PLAN_MONEY").getString());
lfiiNew.setAttributeValue("INVOICE_RATE", fundPlanIds[i+1]);
lfiiNew.setAttributeValue("TAX_TYPE", "fund");
lfiiNew.setAttributeValue("TEMPORARY_NOINVOICE", "0.00");
lfiiNew.setAttributeValue("NOINVOICE", "0.00");
lfiiNew.setAttributeValue("PLAN_ID",lfp.getAttribute("ID").getString());
lfiiNew = this.initTabeUserInfo(lfiiNew);
lfiiManager.saveObject(lfiiNew);
}else{
String id = lfii.getAttribute("ID").getString();
BizObjectKey key=lfiiManager.getKey();
key.setAttributeValue("ID",id);
lfiiNew=lfiiManager.getObject(key);
lfiiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lfiiNew = this.initTabeUserInfo(lfiiNew);
lfiiManager.saveObject(lfiiNew);
}
}
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>";
}
/**
* <20><><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>Ʊ/<2F>ݲ<EFBFBD><DDB2><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>
* @param tx
* @return
* @throws Exception
*/
public String submitOrNoInvoiceRentPlanInvoice(JBOTransaction tx) throws Exception{
BizObjectManager lriiManager = JBOFactory.getBizObjectManager(LI_RENT_INVOICE_INFO.CLASS_NAME);
BizObjectManager lrpManager= JBOFactory.getBizObjectManager(LC_RENT_PLAN.CLASS_NAME);
//BizObjectManager lcitManager= JBOFactory.getBizObjectManager(LB_CONTRACT_INVOICE_TYPE.CLASS_NAME);
tx.join(lriiManager);
tx.join(lrpManager);
//tx.join(lcitManager);
String[] rentPlanIds = PlanList.split("@");
for(int i=0;i<rentPlanIds.length;i+=3){
BizObject lrii = lriiManager.createQuery("PLAN_ID=:planid and TAX_TYPE=:taxtype and bill_type='invoice' ").setParameter("planid",rentPlanIds[i]).setParameter("taxtype",rentPlanIds[i+1]).getSingleResult(false);
BizObject lrp = lrpManager.createQuery("ID=:id ").setParameter("id",rentPlanIds[i]).getSingleResult(false);
String contractId=lrp.getAttribute("CONTRACT_ID").getString();
BizObject lriiNew = lriiManager.newObject();
if(lrii==null){
//BizObject lcit = lcitManager.createQuery("CONTRACT_ID=:contractid and IS_MAIN='Y' ").setParameter("contractid",contractId).getSingleResult(false);
//lriiNew.setAttributesValue(lcit);
lriiNew.setAttributeValue("ID", null);
lriiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lriiNew.setAttributeValue("BILL_TYPE", "invoice");
/*if(lcit.getAttribute("TAX_REG_TYPE").getString().equals("tax_payercategory1")){
lriiNew.setAttributeValue("INVOICE_TYPE", "invoice_type01");
}else{
lriiNew.setAttributeValue("INVOICE_TYPE", "invoice_type02");
}*/
lriiNew.setAttributeValue("INVOICE_MONEY", lrp.getAttribute(rentPlanIds[i+1].toUpperCase()).getString());
lriiNew.setAttributeValue("TAX_TYPE", rentPlanIds[i+1]);
//lriiNew.setAttributeValue("INVOICE_RATE", rentPlanIds[i+2]);
lriiNew.setAttributeValue("TEMPORARY_NOINVOICE", "0.00");
lriiNew.setAttributeValue("NOINVOICE", "0.00");
lriiNew.setAttributeValue("PLAN_ID",lrp.getAttribute("ID").getString());
lriiNew = this.initTabeUserInfo(lriiNew);
lriiManager.saveObject(lriiNew);
}else{
String id = lrii.getAttribute("ID").getString();
BizObjectKey key=lriiManager.getKey();
key.setAttributeValue("ID",id);
lriiNew=lriiManager.getObject(key);
lriiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lriiNew = this.initTabeUserInfo(lriiNew);
lriiManager.saveObject(lriiNew);
}
}
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>";
}
/**
* <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>Կ<EFBFBD>Ʊ/<2F>ݲ<EFBFBD><DDB2><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>
* @param tx
* @return
* @throws Exception
*/
public String submitOrNoInvoiceCorpusOneInvoice(JBOTransaction tx) throws Exception{
BizObjectManager lriiManager = JBOFactory.getBizObjectManager(LI_RENT_INVOICE_INFO.CLASS_NAME);
BizObjectManager lccManager = JBOFactory.getBizObjectManager(LC_CALC_CONDITION.CLASS_NAME);
//BizObjectManager lcitManager= JBOFactory.getBizObjectManager(LB_CONTRACT_INVOICE_TYPE.CLASS_NAME);
tx.join(lriiManager);
tx.join(lccManager);
//tx.join(lcitManager);
String[] paymentLists = PaymentList.split("@");
for(int i=0;i<paymentLists.length;i+=2){
BizObject lrii = lriiManager.createQuery("PAYMENT_NUMBER=:paymentnumber and bill_type='invoice' ").setParameter("paymentnumber",paymentLists[i]).getSingleResult(false);
BizObject lcc = lccManager.createQuery("PAYMENT_NUMBER=:paymentnumber ").setParameter("paymentnumber",paymentLists[i]).getSingleResult(false);
String contractId=lcc.getAttribute("CONTRACT_ID").getString();
BizObject lriiNew = lriiManager.newObject();
if(lrii==null){
//BizObject lcit = lcitManager.createQuery("CONTRACT_ID=:contractid and IS_MAIN='Y' ").setParameter("contractid",contractId).getSingleResult(false);
//lriiNew.setAttributesValue(lcit);
lriiNew.setAttributeValue("ID", null);
lriiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lriiNew.setAttributeValue("BILL_TYPE", "invoice");
/*if(lcit.getAttribute("TAX_REG_TYPE").getString().equals("tax_payercategory1")){
lriiNew.setAttributeValue("INVOICE_TYPE", "invoice_type01");
}else{
lriiNew.setAttributeValue("INVOICE_TYPE", "invoice_type02");
}*/
lriiNew.setAttributeValue("INVOICE_MONEY", lcc.getAttribute("EQUIP_AMT").getDouble()-lcc.getAttribute("FIRST_PAYMENT").getDouble());
lriiNew.setAttributeValue("TAX_TYPE", "corpusone");
//lriiNew.setAttributeValue("INVOICE_RATE", paymentLists[i+1]);
lriiNew.setAttributeValue("TEMPORARY_NOINVOICE", "0.00");
lriiNew.setAttributeValue("NOINVOICE", "0.00");
lriiNew.setAttributeValue("PAYMENT_NUMBER",paymentLists[i]);
lriiNew = this.initTabeUserInfo(lriiNew);
lriiManager.saveObject(lriiNew);
}else{
String id = lrii.getAttribute("ID").getString();
BizObjectKey key=lriiManager.getKey();
key.setAttributeValue("ID",id);
lriiNew=lriiManager.getObject(key);
lriiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lriiNew = this.initTabeUserInfo(lriiNew);
lriiManager.saveObject(lriiNew);
}
}
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>";
}
/**
* <20><>Ϣ<EFBFBD><CFA2>Ʊ/<2F>ݲ<EFBFBD><DDB2><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>
* @param tx
* @return
* @throws Exception
*/
public String submitOrNoInvoicePenaltyIncomeInvoice(JBOTransaction tx) throws Exception{
BizObjectManager lriiManager = JBOFactory.getBizObjectManager(LI_RENT_INVOICE_INFO.CLASS_NAME);
BizObjectManager lriManager= JBOFactory.getBizObjectManager(LC_RENT_INCOME.CLASS_NAME);
//BizObjectManager lcitManager= JBOFactory.getBizObjectManager(LB_CONTRACT_INVOICE_TYPE.CLASS_NAME);
tx.join(lriiManager);
tx.join(lriManager);
//tx.join(lcitManager);
String[] rentIncomeIds = IncomeList.split("@");
for(int i=0;i<rentIncomeIds.length;i+=3){
BizObject lrii = lriiManager.createQuery("INCOME_ID=:incomeid and TAX_TYPE='penalty' and bill_type='invoice' ").setParameter("incomeid",rentIncomeIds[i]).getSingleResult(false);
BizObject lri = lriManager.createQuery("ID=:id ").setParameter("id",rentIncomeIds[i]).getSingleResult(false);
BizObject lriiNew = lriiManager.newObject();
if(lrii==null){
//BizObject lcit = lcitManager.createQuery("ID=:id ").setParameter("id",rentIncomeIds[i+2]).getSingleResult(false);
//lriiNew.setAttributesValue(lcit);
lriiNew.setAttributeValue("ID", null);
lriiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lriiNew.setAttributeValue("BILL_TYPE", "invoice");
/*if(lcit.getAttribute("TAX_REG_TYPE").getString().equals("tax_payercategory1")){
lriiNew.setAttributeValue("INVOICE_TYPE", "invoice_type01");
}else{
lriiNew.setAttributeValue("INVOICE_TYPE", "invoice_type02");
}*/
lriiNew.setAttributeValue("INVOICE_MONEY", lri.getAttribute("PENALTY").getString());
lriiNew.setAttributeValue("TAX_TYPE", "penalty");
//lriiNew.setAttributeValue("INVOICE_RATE", rentIncomeIds[i+1]);
lriiNew.setAttributeValue("TEMPORARY_NOINVOICE", "0.00");
lriiNew.setAttributeValue("NOINVOICE", "0.00");
lriiNew.setAttributeValue("INCOME_ID",rentIncomeIds[i]);
lriiNew = this.initTabeUserInfo(lriiNew);
lriiManager.saveObject(lriiNew);
}else{
String id = lrii.getAttribute("ID").getString();
BizObjectKey key=lriiManager.getKey();
key.setAttributeValue("ID",id);
lriiNew=lriiManager.getObject(key);
lriiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lriiNew = this.initTabeUserInfo(lriiNew);
lriiManager.saveObject(lriiNew);
}
}
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>";
}
/**
* <20><><EFBFBD><EFBFBD>/<2F>ʽ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>
* @param tx
* @return
* @throws Exception
*/
public String submitOrNoInvoiceIncomeInvoice(JBOTransaction tx) throws Exception{
BizObjectManager lriiManager = JBOFactory.getBizObjectManager(LI_RENT_INVOICE_INFO.CLASS_NAME);
BizObjectManager lriManager= JBOFactory.getBizObjectManager(LC_RENT_INCOME.CLASS_NAME);
BizObjectManager lfiiManager = JBOFactory.getBizObjectManager(LI_FUND_INVOICE_INFO.CLASS_NAME);
BizObjectManager lfiManager= JBOFactory.getBizObjectManager(LC_FUND_INCOME.CLASS_NAME);
BizObjectManager lcitManager= JBOFactory.getBizObjectManager(LB_CONTRACT_INVOICE_TYPE.CLASS_NAME);
tx.join(lriiManager);
tx.join(lriManager);
tx.join(lfiiManager);
tx.join(lfiManager);
tx.join(lcitManager);
String[] incomeIds = IncomeList.split("@");
for(int i=0;i<incomeIds.length;i+=4){
if(incomeIds[i+1].equals("fund")){
BizObject lfii = lfiiManager.createQuery("INCOME_ID=:incomeid and bill_type='invoice' ").setParameter("incomeid",incomeIds[i]).getSingleResult(false);
BizObject lfi = lfiManager.createQuery("ID=:id ").setParameter("id",incomeIds[i]).getSingleResult(false);
BizObject lfiiNew = lfiiManager.newObject();
if(lfii==null){
BizObject lcit = lcitManager.createQuery("ID=:id ").setParameter("id",incomeIds[i+3]).getSingleResult(false);
lfiiNew.setAttributesValue(lcit);
lfiiNew.setAttributeValue("ID", null);
lfiiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lfiiNew.setAttributeValue("BILL_TYPE", "invoice");
if(lcit.getAttribute("TAX_REG_TYPE").getString().equals("tax_payercategory1")){
lfiiNew.setAttributeValue("INVOICE_TYPE", "invoice_type01");
}else{
lfiiNew.setAttributeValue("INVOICE_TYPE", "invoice_type02");
}
lfiiNew.setAttributeValue("INVOICE_MONEY", lfi.getAttribute("FACT_MONEY").getString());
lfiiNew.setAttributeValue("INVOICE_RATE", incomeIds[i+2]);
lfiiNew.setAttributeValue("TAX_TYPE", incomeIds[i+1]);
lfiiNew.setAttributeValue("TEMPORARY_NOINVOICE", "0.00");
lfiiNew.setAttributeValue("NOINVOICE", "0.00");
lfiiNew.setAttributeValue("INCOME_ID",incomeIds[i]);
lfiiNew = this.initTabeUserInfo(lfiiNew);
lfiiManager.saveObject(lfiiNew);
}else{
String id = lfii.getAttribute("ID").getString();
BizObjectKey key=lfiiManager.getKey();
key.setAttributeValue("ID",id);
lfiiNew=lfiiManager.getObject(key);
lfiiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lfiiNew = this.initTabeUserInfo(lfiiNew);
lfiiManager.saveObject(lfiiNew);
}
}else{
BizObject lrii = lriiManager.createQuery("INCOME_ID=:incomeid and TAX_TYPE=:taxtype and bill_type='invoice' ").setParameter("incomeid",incomeIds[i]).setParameter("taxtype",incomeIds[i+1]).getSingleResult(false);
BizObject lri = lriManager.createQuery("ID=:id ").setParameter("id",incomeIds[i]).getSingleResult(false);
BizObject lriiNew = lriiManager.newObject();
if(lrii==null){
BizObject lcit = lcitManager.createQuery("ID=:id ").setParameter("id",incomeIds[i+3]).getSingleResult(false);
lriiNew.setAttributesValue(lcit);
lriiNew.setAttributeValue("ID", null);
lriiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lriiNew.setAttributeValue("BILL_TYPE", "invoice");
if(lcit.getAttribute("TAX_REG_TYPE").getString().equals("tax_payercategory1")){
lriiNew.setAttributeValue("INVOICE_TYPE", "invoice_type01");
}else{
lriiNew.setAttributeValue("INVOICE_TYPE", "invoice_type02");
}
lriiNew.setAttributeValue("INVOICE_MONEY", lri.getAttribute(incomeIds[i+1].toUpperCase()).getString());
lriiNew.setAttributeValue("TAX_TYPE", incomeIds[i+1]);
lriiNew.setAttributeValue("INVOICE_RATE", incomeIds[i+2]);
lriiNew.setAttributeValue("TEMPORARY_NOINVOICE", "0.00");
lriiNew.setAttributeValue("NOINVOICE", "0.00");
lriiNew.setAttributeValue("INCOME_ID",incomeIds[i]);
lriiNew = this.initTabeUserInfo(lriiNew);
lriiManager.saveObject(lriiNew);
}else{
String id = lrii.getAttribute("ID").getString();
BizObjectKey key=lriiManager.getKey();
key.setAttributeValue("ID",id);
lriiNew=lriiManager.getObject(key);
lriiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lriiNew = this.initTabeUserInfo(lriiNew);
lriiManager.saveObject(lriiNew);
}
}
}
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>";
}
/**
* ȷ<>Ͽ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>
* @param tx
* @return
* @throws Exception
*/
public String confirmInvoiceBak(JBOTransaction tx) throws Exception{
BizObjectManager lridiManager = JBOFactory.getBizObjectManager(LI_RENT_INVOICE_DOWNLOAD_INFO.CLASS_NAME);
BizObjectManager lriiManager = JBOFactory.getBizObjectManager(LI_RENT_INVOICE_INFO.CLASS_NAME);
BizObjectManager lfidiManager = JBOFactory.getBizObjectManager(LI_FUND_INVOICE_DOWNLOAD_INFO.CLASS_NAME);
BizObjectManager lfiiManager = JBOFactory.getBizObjectManager(LI_FUND_INVOICE_INFO.CLASS_NAME);
tx.join(lriiManager);
tx.join(lridiManager);
tx.join(lfiiManager);
tx.join(lfidiManager);
String[] planIncomeIds = PlanIncomeList.split("@");
for(int i=0;i<planIncomeIds.length;i+=2){
if(planIncomeIds[i+1].equals("fund")){
BizObject lfii = lfiiManager.createQuery("ID=:id ").setParameter("id",planIncomeIds[i]).getSingleResult(false);
BizObject lfidi = lfidiManager.newObject();
lfidi.setAttributesValue(lfii);
lfidi.setAttributeValue("ID", null);
BigDecimal invoicedMoney= new BigDecimal(InvoiceManagerCache.getRentInvoicedMoney(planIncomeIds[i]));
BigDecimal invoiceMoney = new BigDecimal(lfii.getAttribute("INVOICE_MONEY").getString());
BigDecimal temporaryInvoiceMoney= new BigDecimal(lfii.getAttribute("TEMPORARY_NOINVOICE").getString());
BigDecimal noInvoiceMoney = new BigDecimal(lfii.getAttribute("NOINVOICE").getString());
String thisInvoiceMoney = invoiceMoney.subtract(invoicedMoney).subtract(temporaryInvoiceMoney).subtract(noInvoiceMoney).toString();
lfidi.setAttributeValue("TAX_INCLUDED_MONEY", thisInvoiceMoney);
lfidi.setAttributeValue("INVOICE_MONEY", thisInvoiceMoney);
lfidi.setAttributeValue("REBACK_STATUS", "0");
lfidi.setAttributeValue("IS_EXPORT", "0");
lfidi.setAttributeValue("IS_BACKIMPORT", "0");
lfidi.setAttributeValue("FUND_INVOICE_ID", lfii.getAttribute("ID").toString());
lfidi.setAttributeValue("DOCUMENT_NO",SerialNumberUtil.getInvoiceSerialNo(tx));
lfidi.setAttributeValue("DOCUMENT_DATE",DateAssistant.getToday());
lfidi = this.initTabeUserInfo(lfidi);
lfidiManager.saveObject(lfidi);
if(temporaryInvoiceMoney.compareTo(BigDecimal.ZERO)==1){
lfiiManager.createQuery("update o set INVOICE_STATUS=:invoicestatus where ID=:id ").setParameter("id",planIncomeIds[i]).setParameter("invoicestatus","3").executeUpdate();
}else{
lfiiManager.createQuery("update o set INVOICE_STATUS=:invoicestatus where ID=:id ").setParameter("id",planIncomeIds[i]).setParameter("invoicestatus","5").executeUpdate();
}
}else{
BizObject lrii = lriiManager.createQuery("ID=:id ").setParameter("id",planIncomeIds[i]).getSingleResult(false);
BizObject lridi = lridiManager.newObject();
lridi.setAttributesValue(lrii);
lridi.setAttributeValue("ID", null);
BigDecimal invoicedMoney= new BigDecimal(InvoiceManagerCache.getRentInvoicedMoney(planIncomeIds[i]));
BigDecimal invoiceMoney = new BigDecimal(lrii.getAttribute("INVOICE_MONEY").getString());
BigDecimal temporaryInvoiceMoney= new BigDecimal(lrii.getAttribute("TEMPORARY_NOINVOICE").getString());
BigDecimal noInvoiceMoney = new BigDecimal(lrii.getAttribute("NOINVOICE").getString());
String thisInvoiceMoney = invoiceMoney.subtract(invoicedMoney).subtract(temporaryInvoiceMoney).subtract(noInvoiceMoney).toString();
lridi.setAttributeValue("TAX_INCLUDED_MONEY", thisInvoiceMoney);
lridi.setAttributeValue("INVOICE_MONEY", thisInvoiceMoney);
lridi.setAttributeValue("REBACK_STATUS", "0");
lridi.setAttributeValue("IS_EXPORT", "0");
lridi.setAttributeValue("IS_BACKIMPORT", "0");
lridi.setAttributeValue("RENT_INVOICE_ID", lrii.getAttribute("ID").toString());
lridi.setAttributeValue("DOCUMENT_NO",SerialNumberUtil.getInvoiceSerialNo(tx));
lridi.setAttributeValue("DOCUMENT_DATE",DateAssistant.getToday());
lridi = this.initTabeUserInfo(lridi);
lridiManager.saveObject(lridi);
if(temporaryInvoiceMoney.compareTo(BigDecimal.ZERO)==1){
lriiManager.createQuery("update o set INVOICE_STATUS=:invoicestatus where ID=:id ").setParameter("id",planIncomeIds[i]).setParameter("invoicestatus","3").executeUpdate();
}else{
lriiManager.createQuery("update o set INVOICE_STATUS=:invoicestatus where ID=:id ").setParameter("id",planIncomeIds[i]).setParameter("invoicestatus","5").executeUpdate();
}
}
}
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>";
}
/**
* ȷ<>Ͽ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>
* @param tx
* @return
* @throws Exception
*/
public String confirmInvoice(JBOTransaction tx) throws Exception{
BizObjectManager ownAccountManager = JBOFactory.getBizObjectManager(OWN_ACCOUNT.CLASS_NAME);
BizObject ownAccount = ownAccountManager.createQuery("state_=:state and acc_type=:acc_type and money_type=:money_type and account_type=:account_type")
.setParameter("state", "0010").setParameter("acc_type", "0010")
.setParameter("money_type", "01").setParameter("account_type", "invoice").getSingleResult(false);
if(ownAccount==null){
return "<EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>";
}
String[] planIncomeIds = PlanIncomeList.split("@");
List<String> planIncomeIdList = new ArrayList<String>();
for(int i=0;i<planIncomeIds.length;i+=2){
planIncomeIdList.add("'"+planIncomeIds[i]+"'");
}
String customerid="";
String customerName="";
String planIncomeIdStr =StringUtils.join(planIncomeIdList.toArray(), ",");
BizObjectManager invoiceManager = JBOFactory.getBizObjectManager(VI_LI_INVOICE.CLASS_NAME);
@SuppressWarnings("unchecked")
List<BizObject> checkInvoiceList= (List<BizObject>)invoiceManager.createQuery("SELECT DISTINCT O.customername,O.customer_id FROM O WHERE O.id IN ("+planIncomeIdStr+")").getResultList(false);
if(checkInvoiceList!=null &&checkInvoiceList.size()>1){
return "ѡ<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>ͬһ<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD>";
}else if(checkInvoiceList!=null &&checkInvoiceList.size()==1){
customerid = checkInvoiceList.get(0).getAttribute("customer_id").toString();
customerName = checkInvoiceList.get(0).getAttribute("customername").toString();
}else{
return "ERROR[02]";
}
String confirmId=UUID.randomUUID().toString().replaceAll("-", "");
Double hjje =0.00;
Double hjse = 0.00;
Double jshj = 0.00;
List<BizObject> confirmDetailList = new ArrayList<BizObject>();
DecimalFormat df2 = new DecimalFormat(".00");
DecimalFormat df6 = new DecimalFormat(".000000");
BizObjectManager invoiceFundManager = JBOFactory.getBizObjectManager(LI_FUND_INVOICE_INFO.CLASS_NAME);
BizObjectManager invoiceRentManager = JBOFactory.getBizObjectManager(LI_RENT_INVOICE_INFO.CLASS_NAME);
Double sl = 0.06;
for(int i=0;i<planIncomeIds.length;i+=2){
String invoiceType = planIncomeIds[i+1];
String invoiceId = planIncomeIds[i];
BizObjectManager confirmDetailManager = JBOFactory.getBizObjectManager(LI_INVOICE_CONFIRM_DETAIL.CLASS_NAME);
tx.join(confirmDetailManager);
BizObject confirmDetailBizObject = confirmDetailManager.newObject();
Double invoiceMoney = 0.00;
String planid="";
String planList="1";
if(planIncomeIds[i+1].equals("fund")){
BizObject invoiceFundBizObject = invoiceFundManager.createQuery("ID=:id ").setParameter("id",invoiceId).getSingleResult(false);
invoiceMoney = new BigDecimal(invoiceFundBizObject.getAttribute("INVOICE_MONEY").getString()).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
planid = invoiceFundBizObject.getAttribute("plan_id").toString();
BizObjectManager fundPlanManager = JBOFactory.getBizObjectManager(LC_FUND_PLAN.CLASS_NAME);
BizObject fundPlan = fundPlanManager.createQuery("id=:plan_id").setParameter("plan_id", planid).getSingleResult(false);
planList = fundPlan.getAttribute("plan_list").toString();
}else{
BizObject invoiceRentBizObject = invoiceRentManager.createQuery("ID=:id ").setParameter("id",invoiceId).getSingleResult(false);
invoiceMoney = new BigDecimal(invoiceRentBizObject.getAttribute("INVOICE_MONEY").getString()).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
planid = invoiceRentBizObject.getAttribute("plan_id").toString();
BizObjectManager rentPlanManager = JBOFactory.getBizObjectManager(LC_RENT_PLAN.CLASS_NAME);
BizObject rentPlan = rentPlanManager.createQuery("id=:plan_id").setParameter("plan_id", planid).getSingleResult(false);
planList = rentPlan.getAttribute("plan_list").toString();
}
planList = Num2ChineseUtil.format(planList);
Double se = Double.valueOf( df2.format(invoiceMoney*sl ));
confirmDetailBizObject.setAttributeValue("dj","");
confirmDetailBizObject.setAttributeValue("je",invoiceMoney);
hjje=MathUtil.add(hjje, invoiceMoney);
hjse=MathUtil.add(hjse, se);
confirmDetailBizObject.setAttributeValue("invoice_type",invoiceType);
confirmDetailBizObject.setAttributeValue("invoice_id",invoiceId);
confirmDetailBizObject.setAttributeValue("spsl","");
confirmDetailBizObject.setAttributeValue("dw","");
confirmDetailBizObject.setAttributeValue("fphxz","0");
confirmDetailBizObject.setAttributeValue("spmc","<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>");
confirmDetailBizObject.setAttributeValue("spsm","");
confirmDetailBizObject.setAttributeValue("ggxh",planList);
confirmDetailBizObject.setAttributeValue("invoice_confirm_id",confirmId);
confirmDetailBizObject.setAttributeValue("sl",sl);
confirmDetailBizObject.setAttributeValue("se",se);
confirmDetailBizObject.setAttributeValue("hsbz","0");
confirmDetailBizObject.setAttributeValue("spbm","3060109010000000000");
confirmDetailBizObject.setAttributeValue("zxbm","");
confirmDetailBizObject.setAttributeValue("yhzcbs","0");
confirmDetailBizObject.setAttributeValue("slbs","");
confirmDetailBizObject.setAttributeValue("zzstsgl","");
confirmDetailBizObject = this.initTabeUserInfo(confirmDetailBizObject);
confirmDetailManager.saveObject(confirmDetailBizObject);
confirmDetailList.add(confirmDetailBizObject);
}
if(confirmDetailList.size()>0){
BizObjectManager confirmManager = JBOFactory.getBizObjectManager(LI_INVOICE_CONFIRM.CLASS_NAME);
tx.join(confirmManager);
BizObject confirmBizObject = confirmManager.newObject();
String ownId = ownAccount.getAttribute("own_id").toString();
BizObjectManager ownInfoManager = JBOFactory.getBizObjectManager(OWN_INFO.CLASS_NAME);
BizObject ownInfo = ownInfoManager.createQuery("OWN_NUMBER=:OWN_NUMBER").setParameter("OWN_NUMBER", ownId).getSingleResult(false);
String xhdwdzdh = ownInfo.getAttribute("LEASE_TEL").toString();
BizObjectManager customerPersonManager = JBOFactory.getBizObjectManager(CUSTOMER_PERSON.CLASS_NAME);
BizObjectManager customerCompanyManager = JBOFactory.getBizObjectManager(CUSTOMER_COMPANY.CLASS_NAME);
BizObject customerPerson = customerPersonManager.createQuery("SELECT o.certid,caa.fulladdress,o.mobile,ca.acc_number,ca.bank_name from o JOIN jbo.app.tenwa.customer.CUSTOMER_ACCOUNT ca ON ca.customerid=o.customerid JOIN jbo.app.tenwa.customer.CUSTOMER_ADDRESS caa ON caa.customerid=ca.customerid where o.customerid=:customerid")
.setParameter("customerid", customerid).getSingleResult(false);
BizObject customerCompany = customerCompanyManager.createQuery("customerid=:customerid").setParameter("customerid", customerid).getSingleResult(false);
String companyTel="";
if(customerCompany!=null){
companyTel = customerCompany.getAttribute("company_tel").toString();
}
String certid="";
String fulladdress="";
String mobile="";
String acc_number="";
String bank_name="";
String acc_bank="";
String address_tel="";
if(customerPerson!=null){
certid=customerPerson.getAttribute("certid").toString();
fulladdress=customerPerson.getAttribute("fulladdress").toString();
mobile=customerPerson.getAttribute("mobile").toString();
acc_number=customerPerson.getAttribute("acc_number").toString();
bank_name=customerPerson.getAttribute("bank_name").toString();
acc_bank = "["+bank_name+"]["+acc_number+"]";
address_tel = "["+mobile+"]["+fulladdress+"]";
}
BizObjectManager contractInfoManager = JBOFactory.getBizObjectManager(LB_CONTRACT_INFO.CLASS_NAME);
BizObject contractInfo = contractInfoManager.createQuery("SELECT o.leas_form,lul.customer_id,ci.customertype FROM o JOIN jbo.com.tenwa.lease.comm.LB_UNION_LESSEE lul ON o.id=lul.contract_id JOIN jbo.app.tenwa.customer.CUSTOMER_INFO ci ON ci.customerid=lul.customer_id WHERE O.businesstype='1' AND lul.customer_id=:customerid").setParameter("customerid",customerid).getSingleResult(false);
String customertype = contractInfo.getAttribute("customertype").toString();
BizObjectManager userInfoManager = JBOFactory.getBizObjectManager(USER_INFO.CLASS_NAME);
BizObject userInfo = userInfoManager.createQuery("userid=:userid").setParameter("userid", CurUserID).getSingleResult(false);
String username=userInfo.getAttribute("username").toString();
confirmBizObject.setAttributeValue("id", confirmId);
confirmBizObject.setAttributeValue("sid", PasswordGenerateUtil.getRandom(64, PasswordGenerateUtil.TYPE.LETTER_CAPITAL));
confirmBizObject.setAttributeValue("yylxdm", "1");
confirmBizObject.setAttributeValue("fplxdm", "026");
confirmBizObject.setAttributeValue("kplx", "0");
confirmBizObject.setAttributeValue("tspz", "00");
confirmBizObject.setAttributeValue("xhdwdzdh", xhdwdzdh);
confirmBizObject.setAttributeValue("xhdwyhzh", ownAccount.getAttribute("acc_number").toString());
confirmBizObject.setAttributeValue("ghdwsbh", certid);
confirmBizObject.setAttributeValue("ghdwmc", customerName);
confirmBizObject.setAttributeValue("ghdwdzdh", address_tel);
confirmBizObject.setAttributeValue("ghdwyhzh", acc_bank);
confirmBizObject.setAttributeValue("hsslbs", "0");
confirmBizObject.setAttributeValue("zhsl", "");
confirmBizObject.setAttributeValue("hjje", hjje);
confirmBizObject.setAttributeValue("hjse", hjse);
confirmBizObject.setAttributeValue("jshj", MathUtil.add( hjje,hjse ));
confirmBizObject.setAttributeValue("fhr", "");
confirmBizObject.setAttributeValue("kpr", username);
confirmBizObject.setAttributeValue("zyspmc", "");
confirmBizObject.setAttributeValue("spsm", "");
confirmBizObject.setAttributeValue("ssyf", "");
confirmBizObject.setAttributeValue("tzdbh", "");
confirmBizObject.setAttributeValue("yfpdm", "");
confirmBizObject.setAttributeValue("yfphm", "");
confirmBizObject.setAttributeValue("GMF_DZYX", "");
if(customertype=="01"){
confirmBizObject.setAttributeValue("GMF_SJHM", companyTel);
}else{
confirmBizObject.setAttributeValue("GMF_SJHM", mobile);
}
confirmBizObject.setAttributeValue("GMF_OPENID", "");
confirmBizObject = this.initTabeUserInfo(confirmBizObject);
confirmManager.saveObject(confirmBizObject);
InvoiceRequest invoiceRequest = new InvoiceRequest();
ResultPojo result = invoiceRequest.send(confirmBizObject,confirmDetailList);
if(result.getCode()==0){
InvoiceRequestBase responseBase = (InvoiceRequestBase) result.getData();
String returncode = responseBase.getBody().getReturncode();
String returnmsg = responseBase.getBody().getReturnmsg();
System.out.println("[OK][returncode]=>>>"+returncode);
System.out.println("[OK][returnmsg]=>>>"+returnmsg);
if("0".equals(returncode)){
System.out.println("[OK][SUCCESS]");
/*for(BizObject confirmDetailBizObject : confirmDetailList){
String invoiceId = confirmDetailBizObject.getAttribute("invoice_id").toString();
String invoice_type = confirmDetailBizObject.getAttribute("invoice_type").toString();
if("fund".equals(invoice_type)){
//invoiceFundManager.createQuery("update o set INVOICE_STATUS=:invoicestatus where ID=:id ").setParameter("id",invoiceId).setParameter("invoicestatus","3").executeUpdate();
}else{
//invoiceRentManager.createQuery("update o set INVOICE_STATUS=:invoicestatus where ID=:id ").setParameter("id",invoiceId).setParameter("invoicestatus","3").executeUpdate();
}
}*/
return "<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>";
}else{
return returnmsg;
}
}else{
System.out.println("[FAIL]=>>>"+result.getMsg());
return result.getMsg();
}
}else{
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>";
}
}
public String selectConfirm(JBOTransaction tx) throws JBOException{
Configure config = Configure.getInstance();
String INVOICE_LOCAL_PATH="";
try {
INVOICE_LOCAL_PATH = config.getConfigure("INVOICE_LOCAL_PATH");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "a3web->[INVOICE_LOCAL_PATH]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
String sid = this.getSid();
InvoiceRequestBase invoiceRequestBase = new InvoiceRequestBase();
InvoiceRequestHead invoiceRequestHead = new InvoiceRequestHead();
invoiceRequestHead.setAppid(this.appId);
invoiceRequestHead.setSid(sid);
invoiceRequestBase.setHead(invoiceRequestHead);
invoiceRequestBase.setComment("<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
invoiceRequestBase.setId("CXKPJG");
invoiceRequestBase.setVersion("1.0");
String xml = JaxbUtil.convertToXml(invoiceRequestBase);
ResultPojo result = doPost(xml);
BizObjectManager confirmManager = JBOFactory.getBizObjectManager(LI_INVOICE_CONFIRM.CLASS_NAME);
BizObject confirm = confirmManager.createQuery("sid=:sid").setParameter("sid", sid).getSingleResult(false);
String invoice_confirm_id = confirm.getAttribute("id").toString();
String id=UUID.randomUUID().toString().replaceAll("-", "");
if(result.getCode()==0){
InvoiceRequestBase responseBase = (InvoiceRequestBase) result.getData();
String returncode = responseBase.getBody().getReturncode();
String returnmsg = responseBase.getBody().getReturnmsg();
String fplxdm = responseBase.getBody().getFplxdm();
String fpdm = responseBase.getBody().getFpdm();
String fphm = responseBase.getBody().getFphm();
String kprq = responseBase.getBody().getKprq();
String hjje = responseBase.getBody().getHjje();
String skm = responseBase.getBody().getSkm();
String jym = responseBase.getBody().getJym();
String pdfurl = "";
String localFile = "";
String path="";
if("0".equals(returncode)){
pdfurl = responseBase.getBody().getPdfurl();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
String ydm = dateFormat.format(new Date());
path = File.separator + ydm.substring(0, 4)+File.separator + ydm.substring(4, 6)+File.separator + ydm.substring(6, 8);
path = path+File.separator+PasswordGenerateUtil.getRandom(50, PasswordGenerateUtil.TYPE.LETTER_CAPITAL)+".pdf";
localFile = INVOICE_LOCAL_PATH+path;
try {
DownloadPdfUtil.go(pdfurl,localFile);
} catch (Exception e) {
e.printStackTrace();
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>PDFʧ<EFBFBD><EFBFBD>";
}
}
try {
path = SecurityUtil.encrypt(path, "invoice");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
BizObjectManager confirmResultManager = JBOFactory.getBizObjectManager(LI_INVOICE_RESULT.CLASS_NAME);
BizObject confirmResult = confirmResultManager.createQuery("sid=:sid").setParameter("sid", sid).getSingleResult(false);
if(confirmResult==null){
BizObject confirmResultNew = confirmResultManager.newObject();
confirmResultNew.setAttributeValue("ID",id);
confirmResultNew.setAttributeValue("sid",sid);
confirmResultNew.setAttributeValue("fplxdm",fplxdm);
confirmResultNew.setAttributeValue("fpdm",fpdm );
confirmResultNew.setAttributeValue("fphm",fphm);
confirmResultNew.setAttributeValue("kprq",kprq);
confirmResultNew.setAttributeValue("hjje",hjje);
confirmResultNew.setAttributeValue("skm",skm);
confirmResultNew.setAttributeValue("jym",jym);
confirmResultNew.setAttributeValue("pdfurl",pdfurl);
confirmResultNew.setAttributeValue("localFile",path );
confirmResultNew.setAttributeValue("returncode",returncode);
confirmResultNew.setAttributeValue("returnmsg",returnmsg);
confirmResultManager.saveObject(confirmResultNew);
}else{
confirmResultManager.createQuery("update o set fplxdm=:fplxdm,fpdm=:fpdm,fphm=:fphm,kprq=:kprq,hjje=:hjje,skm=:skm,jym=:jym,pdfurl=:pdfurl,localFile=:localFile,returncode=:returncode,returnmsg=:returnmsg where sid=:sid ")
.setParameter("sid",sid).setParameter("fplxdm","fplxdm")
.setParameter("fpdm",fpdm).setParameter("fphm","fphm")
.setParameter("kprq",kprq).setParameter("hjje","hjje")
.setParameter("skm",skm).setParameter("jym","jym")
.setParameter("pdfurl",pdfurl).setParameter("localFile","localFile")
.setParameter("returncode",returncode).setParameter("returnmsg","returnmsg")
.executeUpdate();
}
System.out.println("[OK][returncode]=>>>"+returncode);
System.out.println("[OK][returnmsg]=>>>"+returnmsg);
if("0".equals(returncode)){
//System.out.println("[OK][SUCCESS]");
// BizObjectManager confirmDetailManager = JBOFactory.getBizObjectManager(LI_INVOICE_CONFIRM_DETAIL.CLASS_NAME);
//BizObject confirmDetail = confirmDetailManager.createQuery("invoice_confirm_id=:invoice_confirm_id").setParameter("invoice_confirm_id", invoice_confirm_id).getSingleResult(false);
//String invoiceId = confirmDetail.getAttribute("invoice_id").toString();
// String invoice_type = confirmDetail.getAttribute("invoice_type").toString();
//if("fund".equals(invoice_type)){
//invoiceFundManager.createQuery("update o set INVOICE_STATUS=:invoicestatus where ID=:id ").setParameter("id",invoiceId).setParameter("invoicestatus","5").executeUpdate();
//}else{
//invoiceRentManager.createQuery("update o set INVOICE_STATUS=:invoicestatus where ID=:id ").setParameter("id",invoiceId).setParameter("invoicestatus","5").executeUpdate();
//}
return "<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>";
}else{
return returnmsg;
}
}else{
System.out.println("[FAIL]=>>>"+result.getMsg());
return result.getMsg();
}
/*
if(result.getCode().toString()!="0"){
return "<22><>ѯʧ<D1AF><CAA7>";
}
System.out.println("result=>>>"+JSONObject.toJSONString(result));
showResult(result);
return "<22><>ѯ<EFBFBD>ɹ<EFBFBD>";*/
}
public ResultPojo doPost(String xml){
HttpHeaders httpHeaders = new HttpHeaders();
MultiValueMap<String, Object> param = new LinkedMultiValueMap<>();
httpHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
param.add("bw",xml) ;
RestTemplate restTemplate = new RestTemplate();
HttpEntity<MultiValueMap<String, Object>> entity = new HttpEntity<>(param, httpHeaders);
ResponseEntity<String> response = null ;
try {
response = restTemplate.exchange(this.url, HttpMethod.POST, entity, String.class);
}catch (Exception e){
return ResultUtil.error(ResponseEnum.NETWORK.getMsg());
}
System.out.println(response.getBody());
InvoiceRequestBase r = JaxbUtil.converyToJavaBean(response.getBody(), InvoiceRequestBase.class);
return ResultUtil.success(r);
}
private void showResult(ResultPojo result) {
if(result.getCode()==0){
InvoiceRequestBase responseBase = (InvoiceRequestBase) result.getData();
String returncode = responseBase.getBody().getReturncode();
String returnmsg = responseBase.getBody().getReturnmsg();
System.out.println("[OK][returncode]=>>>"+returncode);
System.out.println("[OK][returnmsg]=>>>"+returnmsg);
if("0".equals(returncode)){
System.out.println("[OK][SUCCESS]");
}
}else{
System.out.println("[FAIL]=>>>"+result.getMsg());
}
}
/**
* <20>˻ؿ<CBBB>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>
* @param tx
* @return
* @throws Exception
*/
public String backInvoice(JBOTransaction tx) throws Exception{
BizObjectManager lriiManager = JBOFactory.getBizObjectManager(LI_RENT_INVOICE_INFO.CLASS_NAME);
BizObjectManager lfiiManager = JBOFactory.getBizObjectManager(LI_FUND_INVOICE_INFO.CLASS_NAME);
tx.join(lriiManager);
tx.join(lfiiManager);
String[] planIncomeIds = PlanIncomeList.split("@");
for(int i=0;i<planIncomeIds.length;i+=2){
if(planIncomeIds[i+1].equals("fund")){
lfiiManager.createQuery("update o set INVOICE_STATUS=:invoicestatus where ID=:id ").setParameter("id",planIncomeIds[i]).setParameter("invoicestatus",InvoiceStatus).executeUpdate();
}else{
lriiManager.createQuery("update o set INVOICE_STATUS=:invoicestatus where ID=:id ").setParameter("id",planIncomeIds[i]).setParameter("invoicestatus",InvoiceStatus).executeUpdate();
}
}
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>";
}
/**
* <20>˻<EFBFBD><CBBB>վ<EFBFBD><D5BE><EFBFBD><EFBFBD><EFBFBD>
* @param tx
* @return
* @throws Exception
*/
public String backReceipt(JBOTransaction tx) throws Exception{
BizObjectManager lriiManager = JBOFactory.getBizObjectManager(LI_RENT_INVOICE_INFO.CLASS_NAME);
BizObjectManager lfiiManager = JBOFactory.getBizObjectManager(LI_FUND_INVOICE_INFO.CLASS_NAME);
tx.join(lriiManager);
tx.join(lfiiManager);
String[] incomeIds = IncomeList.split("@");
if(incomeIds[1].equals("fund")){
lfiiManager.createQuery("update o set INVOICE_STATUS=:invoicestatus where ID=:id ").setParameter("id",incomeIds[0]).setParameter("invoicestatus",InvoiceStatus).executeUpdate();
}else{
lriiManager.createQuery("update o set INVOICE_STATUS=:invoicestatus where ID=:id ").setParameter("id",incomeIds[0]).setParameter("invoicestatus",InvoiceStatus).executeUpdate();
}
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>";
}
/**
* У<><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>տ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>
* @param tx
* @return
* @throws Exception
*/
public String checkRentIncomeInvoiceType(JBOTransaction tx) throws Exception{
String result = "false";
BizObjectManager lriManager = JBOFactory.getBizObjectManager(LC_RENT_INCOME.CLASS_NAME);
BizObjectManager lciManager = JBOFactory.getBizObjectManager(LB_CONTRACT_INFO.CLASS_NAME);
tx.join(lriManager);
tx.join(lciManager);
BizObject lri = lriManager.createQuery("ID=:id ").setParameter("id",IncomeId).getSingleResult(false);
BizObject lci = lciManager.createQuery("ID=:id ").setParameter("id",lri.getAttribute("CONTRACT_ID").getString()).getSingleResult(false);
if(lci.getAttribute("RENT_INVOICE_TYPE").getString().equals("invoice_type05")){
result = "true";
}
return result;
}
/**
* У<><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>
* @param tx
* @return
* @throws Exception
*/
public String checkRentPlanInvoiceType(JBOTransaction tx) throws Exception{
String result = "false";
BizObjectManager lrpManager = JBOFactory.getBizObjectManager(LC_RENT_PLAN.CLASS_NAME);
BizObjectManager lciManager = JBOFactory.getBizObjectManager(LB_CONTRACT_INFO.CLASS_NAME);
tx.join(lrpManager);
tx.join(lciManager);
BizObject lrp = lrpManager.createQuery("ID=:id ").setParameter("id",PlanId).getSingleResult(false);
BizObject lci = lciManager.createQuery("ID=:id ").setParameter("id",lrp.getAttribute("CONTRACT_ID").getString()).getSingleResult(false);
if(lci.getAttribute("RENT_INVOICE_TYPE").getString().equals("invoice_type05")){
result = "true";
}
return result;
}
/**
* <20><><EFBFBD><EFBFBD>/<2F>ʽ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>ݲ<EFBFBD><DDB2>վݻ<D5BE><DDBB>վ<EFBFBD><D5BE><EFBFBD><EFBFBD><EFBFBD>
* @param tx
* @return
* @throws Exception
*/
public String submitOrNoInvoiceIncomeReceipt(JBOTransaction tx) throws Exception{
BizObjectManager lriiManager = JBOFactory.getBizObjectManager(LI_RENT_INVOICE_INFO.CLASS_NAME);
BizObjectManager lriManager= JBOFactory.getBizObjectManager(LC_RENT_INCOME.CLASS_NAME);
BizObjectManager lfiiManager = JBOFactory.getBizObjectManager(LI_FUND_INVOICE_INFO.CLASS_NAME);
BizObjectManager lfiManager= JBOFactory.getBizObjectManager(LC_FUND_INCOME.CLASS_NAME);
BizObjectManager lccManager= JBOFactory.getBizObjectManager(LC_CALC_CONDITION.CLASS_NAME);
BizObjectManager lcitManager = JBOFactory.getBizObjectManager(LB_CONTRACT_INVOICE_TYPE.CLASS_NAME);
tx.join(lriiManager);
tx.join(lriManager);
tx.join(lfiiManager);
tx.join(lfiManager);
tx.join(lccManager);
tx.join(lcitManager);
String[] incomeIds = IncomeList.split("@");
for(int i=0;i<incomeIds.length;i+=3){
if(incomeIds[i+1].equals("fund")){
BizObject lfii = lfiiManager.createQuery("INCOME_ID=:incomeid and bill_type='receipt' ").setParameter("incomeid",incomeIds[i]).getSingleResult(false);
BizObject lfi = lfiManager.createQuery("ID=:id ").setParameter("id",incomeIds[i]).getSingleResult(false);
BizObject lfiiNew = lfiiManager.newObject();
if(lfii==null){
BizObject lcit = lcitManager.createQuery("ID=:id ").setParameter("id",incomeIds[i+2]).getSingleResult(false);
lfiiNew.setAttributesValue(lcit);
lfiiNew.setAttributeValue("ID", null);
lfiiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lfiiNew.setAttributeValue("BILL_TYPE", "receipt");
lfiiNew.setAttributeValue("INVOICE_MONEY", lfi.getAttribute("FACT_MONEY").getString());
lfiiNew.setAttributeValue("TAX_TYPE", incomeIds[i+1]);
lfiiNew.setAttributeValue("INCOME_ID",incomeIds[i]);
lfiiNew.setAttributeValue("EXPORT_STATUS","0");
lfiiNew = this.initTabeUserInfo(lfiiNew);
lfiiManager.saveObject(lfiiNew);
}else{
String id = lfii.getAttribute("ID").getString();
BizObjectKey key=lfiiManager.getKey();
key.setAttributeValue("ID",id);
lfiiNew=lfiiManager.getObject(key);
lfiiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lfiiNew = this.initTabeUserInfo(lfiiNew);
lfiiManager.saveObject(lfiiNew);
}
}else if(incomeIds[i+1].equals("corpusone")){
BizObject lcc = lccManager.createQuery("ID=:id ").setParameter("id",incomeIds[i]).getSingleResult(false);
BizObject lrii = lriiManager.createQuery("PAYMENT_NUMBER=:paymentnumber and TAX_TYPE=:taxtype and bill_type='receipt' ").setParameter("paymentnumber",lcc.getAttribute("PAYMENT_NUMBER").getString()).setParameter("taxtype",incomeIds[i+1]).getSingleResult(false);
BizObject lriiNew = lriiManager.newObject();
if(lrii==null){
BizObject lcit = lcitManager.createQuery("ID=:id ").setParameter("id",incomeIds[i+2]).getSingleResult(false);
lriiNew.setAttributesValue(lcit);
lriiNew.setAttributeValue("ID", null);
lriiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lriiNew.setAttributeValue("BILL_TYPE", "receipt");
lriiNew.setAttributeValue("INVOICE_MONEY", lcc.getAttribute("EQUIP_AMT").getDouble()-lcc.getAttribute("FIRST_PAYMENT").getDouble());
lriiNew.setAttributeValue("TAX_TYPE", incomeIds[i+1]);
lriiNew.setAttributeValue("PAYMENT_NUMBER",lcc.getAttribute("PAYMENT_NUMBER").getString());
lriiNew.setAttributeValue("EXPORT_STATUS","0");
lriiNew = this.initTabeUserInfo(lriiNew);
lriiManager.saveObject(lriiNew);
}else{
String id = lrii.getAttribute("ID").getString();
BizObjectKey key=lriiManager.getKey();
key.setAttributeValue("ID",id);
lriiNew=lriiManager.getObject(key);
lriiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lriiNew = this.initTabeUserInfo(lriiNew);
lriiManager.saveObject(lriiNew);
}
}else{
BizObject lrii = lriiManager.createQuery("INCOME_ID=:incomeid and TAX_TYPE=:taxtype and bill_type='receipt' ").setParameter("incomeid",incomeIds[i]).setParameter("taxtype",incomeIds[i+1]).getSingleResult(false);
BizObject lri = lriManager.createQuery("ID=:id ").setParameter("id",incomeIds[i]).getSingleResult(false);
BizObject lriiNew = lriiManager.newObject();
if(lrii==null){
BizObject lcit = lcitManager.createQuery("ID=:id ").setParameter("id",incomeIds[i+2]).getSingleResult(false);
lriiNew.setAttributesValue(lcit);
lriiNew.setAttributeValue("ID", null);
lriiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lriiNew.setAttributeValue("BILL_TYPE", "receipt");
lriiNew.setAttributeValue("INVOICE_MONEY", lri.getAttribute(incomeIds[i+1].toUpperCase()).getString());
lriiNew.setAttributeValue("TAX_TYPE", incomeIds[i+1]);
lriiNew.setAttributeValue("INCOME_ID",incomeIds[i]);
lriiNew.setAttributeValue("EXPORT_STATUS","0");
lriiNew = this.initTabeUserInfo(lriiNew);
lriiManager.saveObject(lriiNew);
}else{
String id = lrii.getAttribute("ID").getString();
BizObjectKey key=lriiManager.getKey();
key.setAttributeValue("ID",id);
lriiNew=lriiManager.getObject(key);
lriiNew.setAttributeValue("INVOICE_STATUS", InvoiceStatus);
lriiNew = this.initTabeUserInfo(lriiNew);
lriiManager.saveObject(lriiNew);
}
}
}
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>";
}
/**
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD>Ʊ
* @param tx
* @return
* @throws Exception
*/
public String rebackOrCancelInvoice(JBOTransaction tx) throws Exception{
BizObjectManager lridiManager = JBOFactory.getBizObjectManager(LI_RENT_INVOICE_DOWNLOAD_INFO.CLASS_NAME);
BizObjectManager lfidiManager = JBOFactory.getBizObjectManager(LI_FUND_INVOICE_DOWNLOAD_INFO.CLASS_NAME);
BizObjectManager ltruiManager = JBOFactory.getBizObjectManager(LI_TAX_RENT_UPLOAD_INFO.CLASS_NAME);
BizObjectManager ltfuiManager = JBOFactory.getBizObjectManager(LI_TAX_FUND_UPLOAD_INFO.CLASS_NAME);
BizObjectManager lriiManager = JBOFactory.getBizObjectManager(LI_RENT_INVOICE_INFO.CLASS_NAME);
BizObjectManager lfiiManager = JBOFactory.getBizObjectManager(LI_FUND_INVOICE_INFO.CLASS_NAME);
tx.join(lridiManager);
tx.join(lfidiManager);
tx.join(ltruiManager);
tx.join(ltfuiManager);
tx.join(lriiManager);
tx.join(lfiiManager);
String[] uploadIds = UploadId.split("@");
if(uploadIds[1].equals("fund")){
BizObject ltfui = ltfuiManager.createQuery("ID=:id ").setParameter("id",uploadIds[0]).getSingleResult(true);
ltfui.setAttributeValue("REBACK_STATUS",RebackStatus);
ltfuiManager.saveObject(ltfui);
BizObject ltfuiNew = ltfuiManager.newObject();
ltfuiNew.setAttributesValue(ltfui);
ltfuiNew.setAttributeValue("ID", null);
ltfuiNew.setAttributeValue("INVOICE_MONEY", "-"+ltfui.getAttribute("INVOICE_MONEY").toString());
ltfuiNew.setAttributeValue("TAX_INCLUDED_MONEY", "-"+ltfui.getAttribute("TAX_INCLUDED_MONEY").toString());
ltfuiNew=this.initTabeUserInfo(ltfuiNew);
ltfuiManager.saveObject(ltfuiNew);
BizObject lfidiNew = lfidiManager.newObject();
lfidiNew.setAttributesValue(ltfui);
lfidiNew.setAttributeValue("ID", null);
lfidiNew.setAttributeValue("INVOICE_MONEY", "-"+ltfui.getAttribute("INVOICE_MONEY").toString());
lfidiNew.setAttributeValue("TAX_INCLUDED_MONEY", "-"+ltfui.getAttribute("TAX_INCLUDED_MONEY").toString());
lfidiNew=this.initTabeUserInfo(lfidiNew);
lfidiManager.saveObject(lfidiNew);
BizObject lfii = lfiiManager.createQuery("ID=:id ").setParameter("id",ltfui.getAttribute("FUND_INVOICE_ID").toString()).getSingleResult(true);
if(lfii.getAttribute("INVOICE_STATUS").getString().equals("3")){
String invoicedMoney = InvoiceManagerCache.getFundInvoicedMoney(ltfui.getAttribute("FUND_INVOICE_ID").toString());
if(Double.parseDouble(invoicedMoney)==0){
lfii.setAttributeValue("INVOICE_STATUS","0");
lfiiManager.saveObject(lfii);
}
}else if(lfii.getAttribute("INVOICE_STATUS").getString().equals("5")){
String invoicedMoney = InvoiceManagerCache.getFundInvoicedMoney(ltfui.getAttribute("FUND_INVOICE_ID").toString());
if(Double.parseDouble(invoicedMoney)==0){
lfii.setAttributeValue("INVOICE_STATUS","0");
lfiiManager.saveObject(lfii);
}else{
lfii.setAttributeValue("INVOICE_STATUS","3");
lfiiManager.saveObject(lfii);
}
}
}else{
BizObject ltrui = ltruiManager.createQuery("ID=:id ").setParameter("id",uploadIds[0]).getSingleResult(true);
ltrui.setAttributeValue("REBACK_STATUS",RebackStatus);
ltruiManager.saveObject(ltrui);
BizObject ltruiNew = ltruiManager.newObject();
ltruiNew.setAttributesValue(ltrui);
ltruiNew.setAttributeValue("ID", null);
ltruiNew.setAttributeValue("INVOICE_MONEY", "-"+ltrui.getAttribute("INVOICE_MONEY").toString());
ltruiNew.setAttributeValue("TAX_INCLUDED_MONEY", "-"+ltrui.getAttribute("TAX_INCLUDED_MONEY").toString());
ltruiNew=this.initTabeUserInfo(ltruiNew);
ltruiManager.saveObject(ltruiNew);
BizObject lridiNew = lridiManager.newObject();
lridiNew.setAttributesValue(ltrui);
lridiNew.setAttributeValue("ID", null);
lridiNew.setAttributeValue("INVOICE_MONEY", "-"+ltruiNew.getAttribute("INVOICE_MONEY").toString());
lridiNew.setAttributeValue("TAX_INCLUDED_MONEY", "-"+ltruiNew.getAttribute("TAX_INCLUDED_MONEY").toString());
lridiNew=this.initTabeUserInfo(lridiNew);
lridiManager.saveObject(lridiNew);
BizObject lrii = lriiManager.createQuery("ID=:id ").setParameter("id",ltrui.getAttribute("RENT_INVOICE_ID").toString()).getSingleResult(true);
if(lrii.getAttribute("INVOICE_STATUS").getString().equals("3")){
String invoicedMoney = InvoiceManagerCache.getRentInvoicedMoney(ltrui.getAttribute("RENT_INVOICE_ID").toString());
if(Double.parseDouble(invoicedMoney)==0){
lrii.setAttributeValue("INVOICE_STATUS","0");
lriiManager.saveObject(lrii);
}
}else if(lrii.getAttribute("INVOICE_STATUS").getString().equals("5")){
String invoicedMoney = InvoiceManagerCache.getRentInvoicedMoney(ltrui.getAttribute("RENT_INVOICE_ID").toString());
if(Double.parseDouble(invoicedMoney)==0){
lrii.setAttributeValue("INVOICE_STATUS","0");
lriiManager.saveObject(lrii);
}else{
lrii.setAttributeValue("INVOICE_STATUS","3");
lriiManager.saveObject(lrii);
}
}
}
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>";
}
/**
* <20>޸ĺ<DEB8>ͬ<EFBFBD><CDAC>Ʊ״̬
* @param tx
* @return
* @throws Exception
*/
public String changeContractInvoiceStatus(JBOTransaction tx) throws Exception{
BizObjectManager lciManager =JBOFactory.getBizObjectManager(LB_CONTRACT_INFO.CLASS_NAME);
tx.join(lciManager);
lciManager.createQuery("update o set contract_invoice_status=:contractinvoicestatus where id=:id ").setParameter("contractinvoicestatus",ContractInvoiceStatus).setParameter("id",ContractId).executeUpdate();
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>";
}
}