1224 lines
58 KiB
Java
1224 lines
58 KiB
Java
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 FROM o JOIN jbo.com.tenwa.lease.comm.LB_UNION_LESSEE lul ON o.id=lul.contract_id WHERE lul.customer_id=:customerid").setParameter("customerid",customerid).getSingleResult(false);
|
||
String leas_form = contractInfo.getAttribute("leas_form").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(leas_form=="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>";
|
||
}
|
||
}
|