apzl_leasing/src_tenwa/com/tenwa/lease/app/invoicemanager/InvoiceManagerController.java
2018-07-30 15:00:13 +08:00

767 lines
36 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.math.BigDecimal;
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.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.lease.comm.LB_CONTRACT_INFO;
import jbo.com.tenwa.lease.comm.LB_CONTRACT_INVOICE_TYPE;
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.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.tenwa.flow.action.comm.BaseTable;
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;
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 confirmInvoice(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>";
}
/**
* <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>";
}
}