发票作废

This commit is contained in:
liuzhao 2018-10-24 11:40:40 +08:00
parent 1ca30d1f15
commit de61c32c03
8 changed files with 787 additions and 31 deletions

View File

@ -0,0 +1,64 @@
<%@ page contentType="text/html; charset=GBK"%>
<%@ include file="/Frame/resources/include/include_begin_list.jspf"%><%
/*
Author: undefined 2018-10-22
Content:
History Log:
*/
ASObjectModel doTemp = new ASObjectModel("InvoiceInvalidList");
ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
dwTemp.Style="1"; //--设置为Grid风格--
dwTemp.MultiSelect = true; //多选
dwTemp.ReadOnly = "1"; //只读模式
dwTemp.setPageSize(10);
dwTemp.genHTMLObjectWindow("");
//0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标CSS层叠样式 10、风格
String sButtons[][] = {
//{"true","All","Button","新增","新增","newRecord()","","","","btn_icon_add",""},
//{"true","","Button","详情","详情","viewAndEdit()","","","","btn_icon_detail",""},
{"true","","Button","发票作废查询","发票作废查询","InvalidQuery()","","","","",""},
{"true","","Button","删除","删除","if(confirm('确实要删除吗?'))as_delete(0,'alert(getRowCount(0))')","","","","btn_icon_delete",""},
};
%><%@include file="/Frame/resources/include/ui/include_list.jspf"%>
<script type="text/javascript">
function InvalidQuery(){
var newSid = getItemValueArray(0,"new_sid");
if(typeof(newSid) == "undefined" || newSid.length == 0 )
{
alert("请选择作废数据!");
return;
}
//alert(newSid);
var newSids = "";
for(var i = 0;i < newSid.length; i++){
newSids += newSid[i] +"@";
}
newSids = newSids.substr(0,newSids.length-1);
//alert(newSids);
spara = "newSids="+newSids+",CurUserID=<%=CurUser.getUserID()%>";
var returnValue = AsControl.RunJavaMethodTrans("com.tenwa.apzl.invoicemanager.rentplaninvoice.backRentPrintInvoiceManager","InvalidQuery",spara);
alert(returnValue);
reloadSelf();
}
function newRecord(){
var sUrl = "";
AsControl.OpenView(sUrl,'','_self','');
}
function viewAndEdit(){
var sUrl = "";
var sPara = getItemValue(0,getRow(0),'SerialNo');
if(typeof(sPara)=="undefined" || sPara.length==0 ){
alert("参数不能为空!");
return ;
}
AsControl.OpenView(sUrl,'SerialNo=' +sPara ,'_self','');
}
</script>
<%@ include file="/Frame/resources/include/include_end.jspf"%>

View File

@ -0,0 +1,64 @@
<%@ page contentType="text/html; charset=GBK"%>
<%@ include file="/Frame/resources/include/include_begin_list.jspf"%><%
/*
Author: undefined 2018-10-22
Content:
History Log:
*/
ASObjectModel doTemp = new ASObjectModel("InvoiceInvalidListZ");
ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
dwTemp.Style="1"; //--设置为Grid风格--
dwTemp.MultiSelect = true; //多选
dwTemp.ReadOnly = "1"; //只读模式
dwTemp.setPageSize(10);
dwTemp.genHTMLObjectWindow("");
//0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标CSS层叠样式 10、风格
String sButtons[][] = {
//{"true","All","Button","新增","新增","newRecord()","","","","btn_icon_add",""},
//{"true","","Button","详情","详情","viewAndEdit()","","","","btn_icon_detail",""},
{"true","","Button","发票作废查询","发票作废查询","InvalidQuery()","","","","",""},
{"true","","Button","删除","删除","if(confirm('确实要删除吗?'))as_delete(0,'alert(getRowCount(0))')","","","","btn_icon_delete",""},
};
%><%@include file="/Frame/resources/include/ui/include_list.jspf"%>
<script type="text/javascript">
function InvalidQuery(){
var newSid = getItemValueArray(0,"new_sid");
if(typeof(newSid) == "undefined" || newSid.length == 0 )
{
alert("请选择作废数据!");
return;
}
//alert(newSid);
var newSids = "";
for(var i = 0;i < newSid.length; i++){
newSids += newSid[i] +"@";
}
newSids = newSids.substr(0,newSids.length-1);
//alert(newSids);
spara = "newSids="+newSids+",CurUserID=<%=CurUser.getUserID()%>";
var returnValue = AsControl.RunJavaMethodTrans("com.tenwa.apzl.invoicemanager.rentplaninvoice.rentPlanInvoiceDirectManager","InvalidQuery",spara);
alert(returnValue);
reloadSelf();
}
function newRecord(){
var sUrl = "";
AsControl.OpenView(sUrl,'','_self','');
}
function viewAndEdit(){
var sUrl = "";
var sPara = getItemValue(0,getRow(0),'SerialNo');
if(typeof(sPara)=="undefined" || sPara.length==0 ){
alert("参数不能为空!");
return ;
}
AsControl.OpenView(sUrl,'SerialNo=' +sPara ,'_self','');
}
</script>
<%@ include file="/Frame/resources/include/include_end.jspf"%>

View File

@ -0,0 +1,66 @@
<%@ page contentType="text/html; charset=GBK"%>
<%@ include file="/Frame/resources/include/include_begin_list.jspf"%><%
/*
Author: undefined 2018-10-22
Content:
History Log:
*/
ASObjectModel doTemp = new ASObjectModel("InvoiceResultList");
ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
dwTemp.Style="1"; //--设置为Grid风格--
dwTemp.MultiSelect = true; //多选
dwTemp.ReadOnly = "1"; //只读模式
dwTemp.setPageSize(10);
dwTemp.genHTMLObjectWindow("");
//0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标CSS层叠样式 10、风格
String sButtons[][] = {
//{"true","All","Button","新增","新增","newRecord()","","","","btn_icon_add",""},
{"true","","Button","发票作废申请","发票作废申请","InvoiceInvalid()","","","","",""},
{"true","","Button","详情","详情","viewAndEdit()","","","","btn_icon_detail",""},
{"true","","Button","删除","删除","if(confirm('确实要删除吗?'))as_delete(0,'alert(getRowCount(0))')","","","","btn_icon_delete",""},
};
%><%@include file="/Frame/resources/include/ui/include_list.jspf"%>
<script type="text/javascript">
function InvoiceInvalid(){
var sid = getItemValueArray(0,"sid");
if(typeof(sid) == "undefined" || sid.length == 0 )
{
alert("请选择作废的发票!");
return;
}
//alert(sid);
var sids = "";
for(var i = 0;i < sid.length; i++){
sids += sid[i] +"@";
}
sids = sids.substr(0,sids.length-1);
//alert(sids);
spara = "sid="+sids+",userid=<%=CurUser.getUserID()%>";
var returnValue = AsControl.RunJavaMethodTrans("com.tenwa.apzl.invoicemanager.rentplaninvoice.backRentPrintInvoiceManager","InvoiceInvalid",spara);
alert(returnValue);
reloadSelf();
}
function newRecord(){
var sUrl = "";
AsControl.OpenView(sUrl,'','_self','');
}
function viewAndEdit(){
var sUrl = "";
var sPara = getItemValue(0,getRow(0),'SerialNo');
if(typeof(sPara)=="undefined" || sPara.length==0 ){
alert("参数不能为空!");
return ;
}
AsControl.OpenView(sUrl,'SerialNo=' +sPara ,'_self','');
}
</script>
<%@ include file="/Frame/resources/include/include_end.jspf"%>

View File

@ -0,0 +1,66 @@
<%@ page contentType="text/html; charset=GBK"%>
<%@ include file="/Frame/resources/include/include_begin_list.jspf"%><%
/*
Author: undefined 2018-10-22
Content:
History Log:
*/
ASObjectModel doTemp = new ASObjectModel("InvoiceResultListZ");
ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
dwTemp.Style="1"; //--设置为Grid风格--
dwTemp.MultiSelect = true; //多选
dwTemp.ReadOnly = "1"; //只读模式
dwTemp.setPageSize(10);
dwTemp.genHTMLObjectWindow("");
//0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标CSS层叠样式 10、风格
String sButtons[][] = {
//{"true","All","Button","新增","新增","newRecord()","","","","btn_icon_add",""},
{"true","","Button","发票作废申请","发票作废申请","InvoiceInvalid()","","","","",""},
{"true","","Button","详情","详情","viewAndEdit()","","","","btn_icon_detail",""},
{"true","","Button","删除","删除","if(confirm('确实要删除吗?'))as_delete(0,'alert(getRowCount(0))')","","","","btn_icon_delete",""},
};
%><%@include file="/Frame/resources/include/ui/include_list.jspf"%>
<script type="text/javascript">
function InvoiceInvalid(){
var sid = getItemValueArray(0,"sid");
if(typeof(sid) == "undefined" || sid.length == 0 )
{
alert("请选择作废的发票!");
return;
}
//alert(sid);
var sids = "";
for(var i = 0;i < sid.length; i++){
sids += sid[i] +"@";
}
sids = sids.substr(0,sids.length-1);
//alert(sids);
spara = "sid="+sids+",userid=<%=CurUser.getUserID()%>";
var returnValue = AsControl.RunJavaMethodTrans("com.tenwa.apzl.invoicemanager.rentplaninvoice.rentPlanInvoiceDirectManager","InvoiceInvalid",spara);
alert(returnValue);
reloadSelf();
}
function newRecord(){
var sUrl = "";
AsControl.OpenView(sUrl,'','_self','');
}
function viewAndEdit(){
var sUrl = "";
var sPara = getItemValue(0,getRow(0),'SerialNo');
if(typeof(sPara)=="undefined" || sPara.length==0 ){
alert("参数不能为空!");
return ;
}
AsControl.OpenView(sUrl,'SerialNo=' +sPara ,'_self','');
}
</script>
<%@ include file="/Frame/resources/include/include_end.jspf"%>

View File

@ -3769,7 +3769,11 @@
<attribute name="UPDATEUSERID" label="UPDATEUSERID" type="STRING" length="32"/>
<attribute name="UPDATEORGID" label="UPDATEORGID" type="STRING" length="32"/>
<attribute name="UPDATETIME" label="UPDATETIME" type="STRING" length="32"/>
<attribute name="invoice_type" label="invoice_type" type="STRING" length="32"/>
<attribute name="invoice_type" label="invoice_type" type="STRING" length="32"/>
<attribute name="invalid_apply" label="作废申请结果" type="STRING" length="32"/>
<attribute name="field1" label="invoice_type" type="STRING" length="32"/>
<attribute name="field2" label="invoice_type" type="STRING" length="32"/>
<attribute name="field3" label="invoice_type" type="STRING" length="32"/>
</attributes>
<manager>
<managerProperties>

View File

@ -1,18 +1,29 @@
package com.tenwa.apzl.invoicemanager.rentplaninvoice;
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.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
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_INVALID;
import jbo.app.tenwa.calc.LI_INVOICE_PRINT_RESULT;
import jbo.app.tenwa.calc.LI_INVOICE_RESULT;
import jbo.app.tenwa.calc.VI_INVOICE_RENT_CONFIRM_PRINT;
import jbo.app.tenwa.calc.VI_LI_INVOICE_OTHERS;
import jbo.app.tenwa.calc.VI_LI_INVOICE_RENT;
import jbo.app.tenwa.customer.CUSTOMER_FAMILY;
import jbo.app.tenwa.customer.CUSTOMER_PERSON;
import jbo.awe.USER_INFO;
import jbo.com.tenwa.entity.comm.invoice.LI_RENT_INVOICE_INFO;
import jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO;
import org.apache.commons.lang.StringUtils;
import org.beetl.ext.fn.ParseDouble;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
@ -22,33 +33,12 @@ import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
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_PRINT_RESULT;
import jbo.app.tenwa.calc.LI_INVOICE_RESULT;
import jbo.app.tenwa.calc.VI_INVOICE_RENT_CONFIRM_PRINT;
import jbo.app.tenwa.calc.VI_INVOICE_RENT_PLAN_CONFIRM;
import jbo.app.tenwa.calc.VI_LI_INVOICE_OTHERS;
import jbo.app.tenwa.calc.VI_LI_INVOICE_RENT;
import jbo.app.tenwa.customer.CUSTOMER_COMPANY;
import jbo.app.tenwa.customer.CUSTOMER_FAMILY;
import jbo.app.tenwa.customer.CUSTOMER_PERSON;
import jbo.awe.USER_INFO;
import jbo.com.tenwa.entity.comm.invoice.LI_RENT_INVOICE_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 com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.BizObjectQuery;
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.amarsoft.awe.util.ASResultSet;
import com.amarsoft.awe.util.SqlObject;
import com.amarsoft.awe.util.Transaction;
import com.tenwa.app.invoice.action.InvoiceRequest;
import com.tenwa.app.invoice.data.ResponseEnum;
@ -57,7 +47,6 @@ import com.tenwa.app.invoice.request.InvoiceRequestBase;
import com.tenwa.app.invoice.request.InvoiceRequestBody;
import com.tenwa.app.invoice.request.InvoiceRequestHead;
import com.tenwa.app.invoice.request.InvoiceRequestInput;
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;
@ -65,7 +54,6 @@ import com.tenwa.app.invoice.utils.PasswordGenerateUtil;
import com.tenwa.app.invoice.utils.ResultUtil;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import com.tenwa.flow.action.comm.BaseTable;
import com.tenwa.util.SecurityUtil;
public class backRentPrintInvoiceManager extends BaseTable {
@ -74,6 +62,15 @@ public class backRentPrintInvoiceManager extends BaseTable {
private String moneyTypes;
private String sid;
private String newSids;
private String userid;
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getNewSids() {
return newSids;
@ -945,7 +942,11 @@ public class backRentPrintInvoiceManager extends BaseTable {
}
return returnmsg;
}
//´òÓ¡·¢Æ±
/**
* 打印发票,发票作废
* @param xml
* @return
*/
public ResultPojo doPostPrint(String xml) {
Configure config = Configure.getInstance();
String url = "";
@ -1058,5 +1059,247 @@ public class backRentPrintInvoiceManager extends BaseTable {
}
return returnmsg;
}
/**
* 回租普票作废申请
*/
public String InvoiceInvalid (JBOTransaction tx){
Configure config = Configure.getInstance();
String appId = "";
try {
//获取配置文件中appid
appId = config.getConfigure("INVOICE_APPID");
} catch (Exception e) {
e.printStackTrace();
return "a3web->[INVOICE_LOCAL_PATH]不存在";
}
String[] sids = this.getSid().split("@");
String sid = "";
String fpdm = "";
String fphm = "";
String newSid ="";
String invoice_confirm_id = "";
String ghdwmc = "";
String lease_form = "back_rent";//回租
String fplxdm = "007";//普票
String returnmsg = "";
String hjje = "";
for (int i = 0; i < sids.length; i++) {
sid = sids[i];
try {
BizObjectManager invoicePrintResultManager = JBOFactory.getBizObjectManager(LI_INVOICE_PRINT_RESULT.CLASS_NAME, tx);
String sql = "SELECT O.fpdm,O.fphm,lir.hjje,lir.sid,O.field1 FROM O "+
"LEFT JOIN jbo.app.tenwa.calc.LI_INVOICE_RESULT lir ON O.fpdm=lir.fpdm AND O.fphm=lir.fphm "+
"WHERE lir.sid=:sid";
BizObject invoicePrintResult = invoicePrintResultManager.createQuery(sql).setParameter("sid", sid).getSingleResult(false);
fpdm = invoicePrintResult.getAttribute("fpdm").toString();
fphm = invoicePrintResult.getAttribute("fphm").toString();
hjje = invoicePrintResult.getAttribute("hjje").toString();
// 防止重复发票作废请求 field1(returncode)
String a = invoicePrintResult.getAttribute("field1")==null?"":invoicePrintResult.getAttribute("field1").toString();
if("0".equals(a)){
return "该发票作废申请已成功,请勿重复操作!";
}
} catch (JBOException e) {
e.printStackTrace();
}
newSid = PasswordGenerateUtil.getRandom(64,PasswordGenerateUtil.TYPE.LETTER_CAPITAL);
InvoiceRequestBase invoiceRequestBase = new InvoiceRequestBase();
InvoiceRequestHead invoiceRequestHead = new InvoiceRequestHead();
InvoiceRequestBody invoiceRequestBody = new InvoiceRequestBody();
InvoiceRequestInput invoiceRequestInput = new InvoiceRequestInput();
invoiceRequestHead.setAppid(appId);
invoiceRequestHead.setSid(newSid);
invoiceRequestInput.setFplxdm(fplxdm);//发票类型代码
invoiceRequestInput.setZflx("1");//作废类型
invoiceRequestInput.setFpdm(fpdm);//发票代码
invoiceRequestInput.setFphm(fphm);//发票号码
invoiceRequestInput.setHjje(hjje);//合计金额
invoiceRequestInput.setZfr(this.getUserid().toString());//作废人
invoiceRequestBody.setYylxdm("1");
invoiceRequestBody.setInput(invoiceRequestInput);
invoiceRequestBase.setHead(invoiceRequestHead);
invoiceRequestBase.setBody(invoiceRequestBody);
invoiceRequestBase.setComment("发票作废");
invoiceRequestBase.setId("FPZF");
invoiceRequestBase.setVersion("1.0");
String xml = JaxbUtil.convertToXml(invoiceRequestBase);
System.out.println(xml);
ResultPojo result = doPostPrint(xml);
// 根据sid拿到LI_INVOICE_CONFIRM表的id(li_rent_invoice_info表的id和此表id都保存在LI_INVOICE_CONFIRM_Detail表中)
BizObjectManager confirmManager;
try {
confirmManager = JBOFactory.getBizObjectManager(LI_INVOICE_CONFIRM.CLASS_NAME);
BizObject confirm = confirmManager.createQuery("sid=:sid").setParameter("sid", sid).getSingleResult(false);
invoice_confirm_id = confirm.getAttribute("id").toString();
ghdwmc = confirm.getAttribute("ghdwmc").toString();//购货单位名称
} catch (JBOException e) {
e.printStackTrace();
}
String id = UUID.randomUUID().toString().replaceAll("-", "");
if (result.getCode() == 0) {
InvoiceRequestBase responseBase = (InvoiceRequestBase) result.getData();
String returncode = responseBase.getBody().getReturncode();
returnmsg = responseBase.getBody().getReturnmsg();
System.out.println("[OK][returncode]=>>>" + returncode);
System.out.println("[OK][returnmsg]=>>>" + returnmsg);
//将返回的信息结果更新到LI_INVOICE_PRINT_RESULT
try {
BizObjectManager invoiceResultManger = JBOFactory.getBizObjectManager(LI_INVOICE_PRINT_RESULT.CLASS_NAME, tx);
invoiceResultManger.createQuery("UPDATE O SET invalid_apply=:returnmsg,field1=:returncode WHERE fpdm=:fpdm and fphm=:fphm ")
.setParameter("returnmsg", returnmsg).setParameter("returncode", returncode)
.setParameter("fpdm", fpdm).setParameter("fphm", fphm).executeUpdate();
} catch (JBOException e1) {
e1.printStackTrace();
}
if ("0".equals(returncode)) {
// 修改租金发票信息表的状态
BizObjectManager confirmDetailManager;
BizObjectManager invoiceInvalidManager;
try {
//发票作废请求成功,将数据插入到li_invoice_invalid
invoiceInvalidManager = JBOFactory.getBizObjectManager(LI_INVOICE_INVALID.CLASS_NAME, tx);
BizObject invoiceInvalid = invoiceInvalidManager.newObject();
invoiceInvalid.setAttributeValue("ID", id);
invoiceInvalid.setAttributeValue("fpdm", fpdm);
invoiceInvalid.setAttributeValue("fphm", fphm);
invoiceInvalid.setAttributeValue("ghdwmc", ghdwmc);
invoiceInvalid.setAttributeValue("new_sid", newSid);
invoiceInvalid.setAttributeValue("lease_form", lease_form);
invoiceInvalid.setAttributeValue("fplxdm", fplxdm);
invoiceInvalid.setAttributeValue("field1", hjje);//hjje field1 合计金额
try {
invoiceInvalid = this.initTabeUserInfo(invoiceInvalid);
} catch (Exception e) {
e.printStackTrace();
}
invoiceInvalidManager.saveObject(invoiceInvalid);
//获取li_rent_invoice_info的id并修改其状态
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();
BizObjectManager invoiceRentManager = JBOFactory.getBizObjectManager(LI_RENT_INVOICE_INFO.CLASS_NAME, tx);
invoiceRentManager.createQuery("update o set INVOICE_STATUS=:invoicestatus where ID=:id ")
.setParameter("id", invoiceId)
.setParameter("invoicestatus", "9").executeUpdate();//发票作废申请成功状态为9
} catch (JBOException e) {
e.printStackTrace();
}
} else {
return returnmsg;
}
} else {
System.out.println("[FAIL]=>>>" + result.getMsg());
return result.getMsg();
}
}
return returnmsg;
}
/**
* 回租普票作废查询
* @param tx
* @return
*/
public String InvalidQuery(JBOTransaction tx){
Configure config = Configure.getInstance();
String appId = "";
try {
//获取配置文件中appid
appId = config.getConfigure("INVOICE_APPID");
} catch (Exception e) {
e.printStackTrace();
return "a3web->[INVOICE_LOCAL_PATH]不存在";
}
String[] newSids = this.newSids.split("@");
String newSid ="";
String returnmsg = "";
String checkReturncode = "";
//循环遍历选中的sid
for (int i = 0; i < newSids.length; i++) {
newSid = newSids[i];
//防止重复查询 li_invoice_invalid
try {
BizObject queryResutBizObject = JBOFactory.createBizObjectQuery("jbo.app.tenwa.calc.LI_INVOICE_INVALID", "new_sid=:new_sid")
.setParameter("new_sid", newSid).getSingleResult(false);
checkReturncode = queryResutBizObject.getAttribute("returncode").toString();
if("0".equals(checkReturncode)){
return "请勿重复查询!";
}
} catch (JBOException e1) {
e1.printStackTrace();
}
//拼xml
InvoiceRequestBase invoiceRequestBase = new InvoiceRequestBase();
InvoiceRequestHead invoiceRequestHead = new InvoiceRequestHead();
invoiceRequestHead.setAppid(appId);
invoiceRequestHead.setSid(newSid);
invoiceRequestBase.setHead(invoiceRequestHead);
invoiceRequestBase.setComment("查询结果");
invoiceRequestBase.setId("CXJG");
invoiceRequestBase.setVersion("1.0");
String xml = JaxbUtil.convertToXml(invoiceRequestBase);
System.out.println(xml);
ResultPojo result = doPostPrint(xml);
//获取返回的xml结果
if (result.getCode() == 0) {
InvoiceRequestBase responseBase = (InvoiceRequestBase) result.getData();
String returncode = responseBase.getBody().getReturncode();
returnmsg = responseBase.getBody().getReturnmsg();
System.out.println("[OK][returncode]=>>>" + returncode);
System.out.println("[OK][returnmsg]=>>>" + returnmsg);
BizObjectManager invoiceQuereyResultManager;
try {
//发票请求成功,更新数据插入到li_invoice_invalid
invoiceQuereyResultManager = JBOFactory.getBizObjectManager(LI_INVOICE_INVALID.CLASS_NAME, tx);
invoiceQuereyResultManager.createQuery("update O set returncode=:returncode,returnmsg=:returnmsg where new_sid=:new_sid and lease_form='back_rent'")
.setParameter("returncode", returncode).setParameter("returnmsg", returnmsg)
.setParameter("new_sid", newSid).executeUpdate();
} catch (JBOException e) {
e.printStackTrace();
}
if ("0".equals(returncode)) {
} else {
return returnmsg;
}
} else {
System.out.println("[FAIL]=>>>" + result.getMsg());
return result.getMsg();
}
}
return returnmsg;
}
}

View File

@ -25,6 +25,7 @@ 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_INVALID;
import jbo.app.tenwa.calc.LI_INVOICE_PRINT_RESULT;
import jbo.app.tenwa.calc.LI_INVOICE_RESULT;
import jbo.app.tenwa.calc.VI_INVOICE_RENT_INCOME_CONFIRM;
@ -72,8 +73,15 @@ public class rentPlanInvoiceDirectManager extends BaseTable{
private String moneyTypes;
private String sid;
private String newSids;
private String userid;
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getNewSids() {
return newSids;
}
@ -1259,7 +1267,7 @@ public class rentPlanInvoiceDirectManager extends BaseTable{
return ResultUtil.success(r);
}
//打印发票
//打印发票发票作废
public ResultPojo doPostPrint(String xml) {
Configure config = Configure.getInstance();
String url = "";
@ -1542,7 +1550,248 @@ public class rentPlanInvoiceDirectManager extends BaseTable{
}
return returnmsg;
}
/**
* 直租专票作废申请
*/
public String InvoiceInvalid (JBOTransaction tx){
Configure config = Configure.getInstance();
String appId = "";
try {
//获取配置文件中appid
appId = config.getConfigure("INVOICE_APPID");
} catch (Exception e) {
e.printStackTrace();
return "a3web->[INVOICE_LOCAL_PATH]不存在";
}
String[] sids = this.getSid().split("@");
String sid = "";
String fpdm = "";
String fphm = "";
String newSid ="";
String invoice_confirm_id = "";
String ghdwmc = "";
String lease_form = "direct_rent";//直租
String fplxdm = "004";//专票
String returnmsg = "";
String hjje = "";
//循环遍历页面传来的数据
for (int i = 0; i < sids.length; i++) {
sid = sids[i];
try {
BizObjectManager invoicePrintResultManager = JBOFactory.getBizObjectManager(LI_INVOICE_PRINT_RESULT.CLASS_NAME, tx);
String sql = "SELECT O.fpdm,O.fphm,lir.hjje,lir.sid,O.field1 FROM O "+
"LEFT JOIN jbo.app.tenwa.calc.LI_INVOICE_RESULT lir ON O.fpdm=lir.fpdm AND O.fphm=lir.fphm "+
"WHERE lir.sid=:sid";
BizObject invoicePrintResult = invoicePrintResultManager.createQuery(sql).setParameter("sid", sid).getSingleResult(false);
fpdm = invoicePrintResult.getAttribute("fpdm").toString();
fphm = invoicePrintResult.getAttribute("fphm").toString();
hjje = invoicePrintResult.getAttribute("hjje").toString();
// 防止重复发票作废请求 field1(returncode)
String a = invoicePrintResult.getAttribute("field1")==null?"":invoicePrintResult.getAttribute("field1").toString();
if("0".equals(a)){
return "该发票作废申请已成功,请勿重复操作!";
}
} catch (JBOException e) {
e.printStackTrace();
}
newSid = PasswordGenerateUtil.getRandom(64,PasswordGenerateUtil.TYPE.LETTER_CAPITAL);
InvoiceRequestBase invoiceRequestBase = new InvoiceRequestBase();
InvoiceRequestHead invoiceRequestHead = new InvoiceRequestHead();
InvoiceRequestBody invoiceRequestBody = new InvoiceRequestBody();
InvoiceRequestInput invoiceRequestInput = new InvoiceRequestInput();
invoiceRequestHead.setAppid(appId);
invoiceRequestHead.setSid(newSid);
invoiceRequestInput.setFplxdm(fplxdm);//发票类型代码
invoiceRequestInput.setZflx("1");//作废类型
invoiceRequestInput.setFpdm(fpdm);//发票代码
invoiceRequestInput.setFphm(fphm);//发票号码
invoiceRequestInput.setHjje(hjje);//合计金额
invoiceRequestInput.setZfr(this.getUserid().toString());//作废人
invoiceRequestBody.setYylxdm("1");
invoiceRequestBody.setInput(invoiceRequestInput);
invoiceRequestBase.setHead(invoiceRequestHead);
invoiceRequestBase.setBody(invoiceRequestBody);
invoiceRequestBase.setComment("发票作废");
invoiceRequestBase.setId("FPZF");
invoiceRequestBase.setVersion("1.0");
String xml = JaxbUtil.convertToXml(invoiceRequestBase);
System.out.println(xml);
ResultPojo result = doPostPrint(xml);
// 根据sid拿到LI_INVOICE_CONFIRM表的id(li_rent_invoice_info表的id和此表id都保存在LI_INVOICE_CONFIRM_Detail表中)
BizObjectManager confirmManager;
try {
confirmManager = JBOFactory.getBizObjectManager(LI_INVOICE_CONFIRM.CLASS_NAME);
BizObject confirm = confirmManager.createQuery("sid=:sid").setParameter("sid", sid).getSingleResult(false);
invoice_confirm_id = confirm.getAttribute("id").toString();
ghdwmc = confirm.getAttribute("ghdwmc").toString();//购货单位名称
} catch (JBOException e) {
e.printStackTrace();
}
String id = UUID.randomUUID().toString().replaceAll("-", "");
if (result.getCode() == 0) {
InvoiceRequestBase responseBase = (InvoiceRequestBase) result.getData();
String returncode = responseBase.getBody().getReturncode();
returnmsg = responseBase.getBody().getReturnmsg();
System.out.println("[OK][returncode]=>>>" + returncode);
System.out.println("[OK][returnmsg]=>>>" + returnmsg);
//将返回的信息结果更新到LI_INVOICE_PRINT_RESULT
try {
BizObjectManager invoiceResultManger = JBOFactory.getBizObjectManager(LI_INVOICE_PRINT_RESULT.CLASS_NAME, tx);
invoiceResultManger.createQuery("UPDATE O SET invalid_apply=:returnmsg,field1=:returncode WHERE fpdm=:fpdm and fphm=:fphm ")
.setParameter("returnmsg", returnmsg).setParameter("returncode", returncode)
.setParameter("fpdm", fpdm).setParameter("fphm", fphm).executeUpdate();
} catch (JBOException e1) {
e1.printStackTrace();
}
if ("0".equals(returncode)) {
// 修改租金发票信息表的状态
BizObjectManager confirmDetailManager;
BizObjectManager invoiceInvalidManager;
try {
//发票作废请求成功,将数据插入到li_invoice_invalid
invoiceInvalidManager = JBOFactory.getBizObjectManager(LI_INVOICE_INVALID.CLASS_NAME, tx);
BizObject invoiceInvalid = invoiceInvalidManager.newObject();
invoiceInvalid.setAttributeValue("ID", id);
invoiceInvalid.setAttributeValue("fpdm", fpdm);
invoiceInvalid.setAttributeValue("fphm", fphm);
invoiceInvalid.setAttributeValue("ghdwmc", ghdwmc);
invoiceInvalid.setAttributeValue("new_sid", newSid);
invoiceInvalid.setAttributeValue("lease_form", lease_form);
invoiceInvalid.setAttributeValue("fplxdm", fplxdm);
invoiceInvalid.setAttributeValue("field1", hjje);//hjje field1 合计金额
try {
invoiceInvalid = this.initTabeUserInfo(invoiceInvalid);
} catch (Exception e) {
e.printStackTrace();
}
invoiceInvalidManager.saveObject(invoiceInvalid);
//获取li_rent_invoice_info的id并修改其状态
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();
BizObjectManager invoiceRentManager = JBOFactory.getBizObjectManager(LI_RENT_INVOICE_INFO.CLASS_NAME, tx);
invoiceRentManager.createQuery("update o set INVOICE_STATUS=:invoicestatus where ID=:id ")
.setParameter("id", invoiceId)
.setParameter("invoicestatus", "9").executeUpdate();//发票作废申请成功状态为9
} catch (JBOException e) {
e.printStackTrace();
}
} else {
return returnmsg;
}
} else {
System.out.println("[FAIL]=>>>" + result.getMsg());
return result.getMsg();
}
}
return returnmsg;
}
/**
* 直租专票作废查询
* @param tx
* @return
*/
public String InvalidQuery(JBOTransaction tx){
Configure config = Configure.getInstance();
String appId = "";
try {
//获取配置文件中appid
appId = config.getConfigure("INVOICE_APPID");
} catch (Exception e) {
e.printStackTrace();
return "a3web->[INVOICE_LOCAL_PATH]不存在";
}
String[] newSids = this.newSids.split("@");
String newSid ="";
String returnmsg = "";
String checkReturncode = "";
//循环遍历选中的sid
for (int i = 0; i < newSids.length; i++) {
newSid = newSids[i];
//防止重复查询 li_invoice_invalid
try {
BizObject queryResutBizObject = JBOFactory.createBizObjectQuery("jbo.app.tenwa.calc.LI_INVOICE_INVALID", "new_sid=:new_sid")
.setParameter("new_sid", newSid).getSingleResult(false);
checkReturncode = queryResutBizObject.getAttribute("returncode").toString();
if("0".equals(checkReturncode)){
return "请勿重复查询!";
}
} catch (JBOException e1) {
e1.printStackTrace();
}
//拼xml
InvoiceRequestBase invoiceRequestBase = new InvoiceRequestBase();
InvoiceRequestHead invoiceRequestHead = new InvoiceRequestHead();
invoiceRequestHead.setAppid(appId);
invoiceRequestHead.setSid(newSid);
invoiceRequestBase.setHead(invoiceRequestHead);
invoiceRequestBase.setComment("查询结果");
invoiceRequestBase.setId("CXJG");
invoiceRequestBase.setVersion("1.0");
String xml = JaxbUtil.convertToXml(invoiceRequestBase);
System.out.println(xml);
ResultPojo result = doPostPrint(xml);
//获取返回的xml结果
if (result.getCode() == 0) {
InvoiceRequestBase responseBase = (InvoiceRequestBase) result.getData();
String returncode = responseBase.getBody().getReturncode();
returnmsg = responseBase.getBody().getReturnmsg();
System.out.println("[OK][returncode]=>>>" + returncode);
System.out.println("[OK][returnmsg]=>>>" + returnmsg);
BizObjectManager invoiceQuereyResultManager;
try {
//发票请求成功,更新数据插入到li_invoice_invalid
invoiceQuereyResultManager = JBOFactory.getBizObjectManager(LI_INVOICE_INVALID.CLASS_NAME, tx);
invoiceQuereyResultManager.createQuery("update O set returncode=:returncode,returnmsg=:returnmsg where new_sid=:new_sid and lease_form='direct_rent'")
.setParameter("returncode", returncode).setParameter("returnmsg", returnmsg)
.setParameter("new_sid", newSid).executeUpdate();
} catch (JBOException e) {
e.printStackTrace();
}
if ("0".equals(returncode)) {
} else {
return returnmsg;
}
} else {
System.out.println("[FAIL]=>>>" + result.getMsg());
return result.getMsg();
}
}
return returnmsg;
}
}

View File

@ -41,7 +41,7 @@ public class LBTESTinfo implements Job{
String insertSql="INSERT INTO LC_SOURCE_OF_FUNDS (id, contract_no, businesstype, lease_acc_name)"+
" (SELECT REPLACE(UUID(), '-', '') AS id,"+
"lci.contract_no AS contract_no,"+
"CASE lci.businesstype WHEN '2' THEN 'Æû³µÀഫͳ' WHEN '3' THEN '´«Í³Àà' ELSE 'Æû³µÀà' END AS businesstype,"+
"CASE lci.businesstype WHEN '2' THEN '´«Í³Àà' WHEN '3' THEN 'Æû³µÀഫͳ' ELSE 'Æû³µÀà' END AS businesstype,"+
"CASE WHEN lci.businesstype='1' THEN oo.own_name ELSE oi.own_name END AS lease_acc_name FROM"+
" lb_contract_info lci "+
"LEFT JOIN LB_LESSOR_INFO lit"+