From 028a8ee3650a920078a59d2de4f3a0b59f1993c7 Mon Sep 17 00:00:00 2001 From: liuzhao Date: Fri, 28 Sep 2018 13:51:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E7=A5=A8=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InvoiceManager/BackRentInvoiceOthers.jsp | 14 +--- .../BackRentInvoicePrintOthers.jsp | 66 ++++++++++++++++ .../ConfirmInvoice/InvoicePrintResultList.jsp | 2 +- .../InvoicePrintResultListBack.jsp | 2 +- .../InvoiceRentDirectConfirmList.jsp | 2 +- .../backRentPrintInvoiceManager.java | 54 ++++++++++--- .../rentPlanInvoiceDirectManager.java | 79 ++++++++++++++----- 7 files changed, 172 insertions(+), 47 deletions(-) create mode 100644 WebContent/Tenwa/Apzl/InvoiceManager/BackRentInvoicePrintOthers.jsp diff --git a/WebContent/Tenwa/Apzl/InvoiceManager/BackRentInvoiceOthers.jsp b/WebContent/Tenwa/Apzl/InvoiceManager/BackRentInvoiceOthers.jsp index 50e4676ed..d4aa7a57e 100644 --- a/WebContent/Tenwa/Apzl/InvoiceManager/BackRentInvoiceOthers.jsp +++ b/WebContent/Tenwa/Apzl/InvoiceManager/BackRentInvoiceOthers.jsp @@ -29,7 +29,7 @@ function ApplyInvoice(){ var types = getItemValueArray(0,"moneytype"); if(typeof(sParm) == "undefined" || sParm.length == 0 ) { - alert("请选择查询开票数据!"); + alert("请选择申请开票数据!"); return; } @@ -41,17 +41,7 @@ function ApplyInvoice(){ //alert(moneyTypes); } moneyTypes = moneyTypes.substr(0,moneyTypes.length-1); - //alert(moneyTypes); - /* for(var i = 0;i < sParm.length; i++){ - if(uids.length == 0){ - - uids += sParm[i] +"@"; - alert(uids); - }else{ - uids += sParm[i] +"@"; - alert(uids); - } - } */ + spara = "moneyTypes="+moneyTypes+",CurUserID=<%=CurUser.getUserID()%>"; var returnValue = AsControl.RunJavaMethodTrans("com.tenwa.apzl.invoicemanager.rentplaninvoice.rentPlanInvoiceManager","selectApplyOtherConfirm",spara); alert(returnValue); diff --git a/WebContent/Tenwa/Apzl/InvoiceManager/BackRentInvoicePrintOthers.jsp b/WebContent/Tenwa/Apzl/InvoiceManager/BackRentInvoicePrintOthers.jsp new file mode 100644 index 000000000..903de16e1 --- /dev/null +++ b/WebContent/Tenwa/Apzl/InvoiceManager/BackRentInvoicePrintOthers.jsp @@ -0,0 +1,66 @@ +<%@ page contentType="text/html; charset=GBK"%> +<%@ include file="/Frame/resources/include/include_begin_list.jspf"%><% + /* + Author: undefined 2018-09-05 + Content: + History Log: + */ + ASObjectModel doTemp = new ASObjectModel("BackRentInvoicePrintOthers"); + 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","删除","删除","if(confirm('确实要删除吗?'))as_delete(0,'alert(getRowCount(0))')","","","","btn_icon_delete",""}, + {"true","","Button","申请开票","申请开票","ApplyInvoice()","","","","btn_icon_add",""}, + }; +%><%@include file="/Frame/resources/include/ui/include_list.jspf"%> + +<%@ include file="/Frame/resources/include/include_end.jspf"%> \ No newline at end of file diff --git a/WebContent/Tenwa/Core/InvoiceManager/ConfirmInvoice/InvoicePrintResultList.jsp b/WebContent/Tenwa/Core/InvoiceManager/ConfirmInvoice/InvoicePrintResultList.jsp index 4c6a8ac86..fbd95b0ea 100644 --- a/WebContent/Tenwa/Core/InvoiceManager/ConfirmInvoice/InvoicePrintResultList.jsp +++ b/WebContent/Tenwa/Core/InvoiceManager/ConfirmInvoice/InvoicePrintResultList.jsp @@ -29,7 +29,7 @@ alert("请选择打印数据!"); return; } - alert(newSid); + //alert(newSid); var newSids = ""; for(var i = 0;i < newSid.length; i++){ diff --git a/WebContent/Tenwa/Core/InvoiceManager/ConfirmInvoice/InvoicePrintResultListBack.jsp b/WebContent/Tenwa/Core/InvoiceManager/ConfirmInvoice/InvoicePrintResultListBack.jsp index c790b8429..2e947b6e9 100644 --- a/WebContent/Tenwa/Core/InvoiceManager/ConfirmInvoice/InvoicePrintResultListBack.jsp +++ b/WebContent/Tenwa/Core/InvoiceManager/ConfirmInvoice/InvoicePrintResultListBack.jsp @@ -29,7 +29,7 @@ alert("请选择打印数据!"); return; } - alert(newSid); + //alert(newSid); var newSids = ""; for(var i = 0;i < newSid.length; i++){ diff --git a/WebContent/Tenwa/Core/InvoiceManager/ConfirmInvoice/InvoiceRentDirectConfirmList.jsp b/WebContent/Tenwa/Core/InvoiceManager/ConfirmInvoice/InvoiceRentDirectConfirmList.jsp index 11d64dc0d..b9daf3aad 100644 --- a/WebContent/Tenwa/Core/InvoiceManager/ConfirmInvoice/InvoiceRentDirectConfirmList.jsp +++ b/WebContent/Tenwa/Core/InvoiceManager/ConfirmInvoice/InvoiceRentDirectConfirmList.jsp @@ -52,7 +52,7 @@ var sid = getItemValueArray(0,"sid"); if(typeof(sid) == "undefined" || sid.length == 0 ) { - alert("请选择查询数据!"); + alert("请选择打印数据!"); return; } //alert(sid); diff --git a/src_tenwa/com/tenwa/apzl/invoicemanager/rentplaninvoice/backRentPrintInvoiceManager.java b/src_tenwa/com/tenwa/apzl/invoicemanager/rentplaninvoice/backRentPrintInvoiceManager.java index fca9e921f..e6af3be03 100644 --- a/src_tenwa/com/tenwa/apzl/invoicemanager/rentplaninvoice/backRentPrintInvoiceManager.java +++ b/src_tenwa/com/tenwa/apzl/invoicemanager/rentplaninvoice/backRentPrintInvoiceManager.java @@ -221,7 +221,7 @@ public class backRentPrintInvoiceManager extends BaseTable { String[] moneyTypes = this.getMoneyTypes().split("@"); String invoice_status = "1"; - String bill_type = "electronic"; + String bill_type = "General"; String invoice_money = ""; String plan_id = ""; String PAYMENT_NUMBER = ""; @@ -798,6 +798,7 @@ public class backRentPrintInvoiceManager extends BaseTable { String invoice_confirm_id = ""; String ghdwmc = ""; String invoice_type = "back_rent";//回租 + String returnmsg = ""; for (int i = 0; i < sids.length; i++) { sid = sids[i]; @@ -810,6 +811,12 @@ public class backRentPrintInvoiceManager extends BaseTable { }else{ fpdm = invoiceResult.getAttribute("fpdm").toString(); fphm = invoiceResult.getAttribute("fphm").toString(); + + // 防止重复发票打印请求 field2(returncode) + String a = invoiceResult.getAttribute("field2")==null?"":invoiceResult.getAttribute("field2").toString(); + if("0".equals(a)){ + return "请勿重复打印申请!"; + } } } catch (JBOException e) { e.printStackTrace(); @@ -859,10 +866,21 @@ public class backRentPrintInvoiceManager extends BaseTable { if (result.getCode() == 0) { InvoiceRequestBase responseBase = (InvoiceRequestBase) result.getData(); String returncode = responseBase.getBody().getReturncode(); - String returnmsg = responseBase.getBody().getReturnmsg(); + returnmsg = responseBase.getBody().getReturnmsg(); System.out.println("[OK][returncode]=>>>" + returncode); System.out.println("[OK][returnmsg]=>>>" + returnmsg); + + //将返回的信息结果更新到LI_INVOICE_RESULT + try { + BizObjectManager invoiceResultManger = JBOFactory.getBizObjectManager(LI_INVOICE_RESULT.CLASS_NAME, tx); + invoiceResultManger.createQuery("UPDATE O SET field1=:returnmsg,field2=:returncode WHERE sid=:sid ").setParameter("returnmsg", returnmsg) + .setParameter("returncode", returncode).setParameter("sid", sid).executeUpdate(); + } catch (JBOException e1) { + e1.printStackTrace(); + } + + if ("0".equals(returncode)) { // 修改租金发票信息表的状态 BizObjectManager confirmDetailManager; @@ -907,7 +925,7 @@ public class backRentPrintInvoiceManager extends BaseTable { return result.getMsg(); } } - return "打印请求成功!"; + return returnmsg; } //打印发票 public ResultPojo doPostPrint(String xml) { @@ -955,10 +973,25 @@ public class backRentPrintInvoiceManager extends BaseTable { String[] newSids = this.newSids.split("@"); String newSid =""; - //String invoice_confirm_id = ""; + String returncode=""; + String returnmsg=""; + String checkReturncode = ""; //循环遍历选中的sid for (int i = 0; i < newSids.length; i++) { newSid = newSids[i]; + + //防止重复打印 LI_INVOICE_PRINT_RESULT + try { + BizObject PrintResutBizObject = JBOFactory.createBizObjectQuery("jbo.app.tenwa.calc.LI_INVOICE_PRINT_RESULT", "new_sid=:new_sid") + .setParameter("new_sid", newSid).getSingleResult(false); + checkReturncode = PrintResutBizObject.getAttribute("returncode").toString(); + if("0".equals(checkReturncode)){ + return "请勿重复打印!"; + } + } catch (JBOException e1) { + e1.printStackTrace(); + } + //拼xml InvoiceRequestBase invoiceRequestBase = new InvoiceRequestBase(); InvoiceRequestHead invoiceRequestHead = new InvoiceRequestHead(); @@ -978,8 +1011,8 @@ public class backRentPrintInvoiceManager extends BaseTable { //获取返回的xml结果 if (result.getCode() == 0) { InvoiceRequestBase responseBase = (InvoiceRequestBase) result.getData(); - String returncode = responseBase.getBody().getReturncode(); - String returnmsg = responseBase.getBody().getReturnmsg(); + returncode = responseBase.getBody().getReturncode(); + returnmsg = responseBase.getBody().getReturnmsg(); System.out.println("[OK][returncode]=>>>" + returncode); System.out.println("[OK][returnmsg]=>>>" + returnmsg); @@ -987,12 +1020,9 @@ public class backRentPrintInvoiceManager extends BaseTable { BizObjectManager invoicePrintResultManager; try { //发票打印请求成功,更新数据插入到li_invoice_print_result - /* invoicePrintResultManager = JBOFactory.getBizObjectManager(LI_INVOICE_PRINT_RESULT.CLASS_NAME, tx); - invoicePrintResultManager.createQuery("update O set returncode=:returncode,returnmsg=:returnmsg where new_sid=:new_sid and invoice_type='back_rent'") - .setParameter("returncode", returncode).setParameter("returnmsg", returnmsg) - .setParameter("new_sid", newSid).executeUpdate();*/ + invoicePrintResultManager = JBOFactory.getBizObjectManager(LI_INVOICE_PRINT_RESULT.CLASS_NAME, tx); - JBOFactory.createBizObjectQuery(LI_INVOICE_PRINT_RESULT.CLASS_NAME, "update O set returncode=:returncode,returnmsg=:returnmsg where new_sid=:new_sid and invoice_type='back_rent'") + invoicePrintResultManager.createQuery("update O set returncode=:returncode,returnmsg=:returnmsg where new_sid=:new_sid and invoice_type='back_rent'") .setParameter("returncode", returncode).setParameter("returnmsg", returnmsg) .setParameter("new_sid", newSid).executeUpdate(); @@ -1008,7 +1038,7 @@ public class backRentPrintInvoiceManager extends BaseTable { return result.getMsg(); } } - return "打印成功!"; + return returnmsg; } } diff --git a/src_tenwa/com/tenwa/apzl/invoicemanager/rentplaninvoice/rentPlanInvoiceDirectManager.java b/src_tenwa/com/tenwa/apzl/invoicemanager/rentplaninvoice/rentPlanInvoiceDirectManager.java index 8f04b73ff..bd7c1f0ad 100644 --- a/src_tenwa/com/tenwa/apzl/invoicemanager/rentplaninvoice/rentPlanInvoiceDirectManager.java +++ b/src_tenwa/com/tenwa/apzl/invoicemanager/rentplaninvoice/rentPlanInvoiceDirectManager.java @@ -768,6 +768,8 @@ public class rentPlanInvoiceDirectManager extends BaseTable{ String invoice_confirm_id = ""; String ghdwmc = ""; String invoice_type = "direct_rent"; + String returnmsg = ""; + String returncode = ""; for (int i = 0; i < sids.length; i++) { sid = sids[i]; @@ -780,6 +782,12 @@ public class rentPlanInvoiceDirectManager extends BaseTable{ }else{ fpdm = invoiceResult.getAttribute("fpdm").toString(); fphm = invoiceResult.getAttribute("fphm").toString(); + // 防止重复发票打印请求 field2(returncode) + String a = invoiceResult.getAttribute("field2")==null?"":invoiceResult.getAttribute("field2").toString(); + if("0".equals(a)){ + return "请勿重复打印申请!"; + } + } } catch (JBOException e) { e.printStackTrace(); @@ -828,11 +836,23 @@ public class rentPlanInvoiceDirectManager extends BaseTable{ 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(); + returncode = responseBase.getBody().getReturncode(); + returnmsg = responseBase.getBody().getReturnmsg(); System.out.println("[OK][returncode]=>>>" + returncode); System.out.println("[OK][returnmsg]=>>>" + returnmsg); + + + //将返回的信息结果更新到LI_INVOICE_RESULT + try { + BizObjectManager invoiceResultManger = JBOFactory.getBizObjectManager(LI_INVOICE_RESULT.CLASS_NAME, tx); + invoiceResultManger.createQuery("UPDATE O SET field1=:returnmsg,field2=:returncode WHERE sid=:sid ").setParameter("returnmsg", returnmsg) + .setParameter("returncode", returncode).setParameter("sid", sid).executeUpdate(); + } catch (JBOException e1) { + e1.printStackTrace(); + } + + if ("0".equals(returncode)) { // 修改租金发票信息表的状态 BizObjectManager confirmDetailManager; @@ -850,7 +870,6 @@ public class rentPlanInvoiceDirectManager extends BaseTable{ try { invoicePrintResult = this.initTabeUserInfo(invoicePrintResult); } catch (Exception e) { - // TODO Auto-generated catch block e.printStackTrace(); } invoicePrintResultManager.saveObject(invoicePrintResult); @@ -878,9 +897,13 @@ public class rentPlanInvoiceDirectManager extends BaseTable{ return result.getMsg(); } } - return "打印请求成功!"; + return returnmsg; } - + /** + * 直租纸质发票打印 + * @param tx + * @return + */ public String print(JBOTransaction tx){ Configure config = Configure.getInstance(); String appId = ""; @@ -894,10 +917,25 @@ public class rentPlanInvoiceDirectManager extends BaseTable{ String[] newSids = this.newSids.split("@"); String newSid =""; - //String invoice_confirm_id = ""; + String returnmsg = ""; + String checkReturncode = ""; //循环遍历选中的sid for (int i = 0; i < newSids.length; i++) { newSid = newSids[i]; + + //防止重复打印 LI_INVOICE_PRINT_RESULT + try { + BizObject PrintResutBizObject = JBOFactory.createBizObjectQuery("jbo.app.tenwa.calc.LI_INVOICE_PRINT_RESULT", "new_sid=:new_sid") + .setParameter("new_sid", newSid).getSingleResult(false); + checkReturncode = PrintResutBizObject.getAttribute("returncode").toString(); + if("0".equals(checkReturncode)){ + return "请勿重复打印!"; + } + } catch (JBOException e1) { + e1.printStackTrace(); + } + + //拼xml InvoiceRequestBase invoiceRequestBase = new InvoiceRequestBase(); InvoiceRequestHead invoiceRequestHead = new InvoiceRequestHead(); @@ -918,23 +956,24 @@ public class rentPlanInvoiceDirectManager extends BaseTable{ if (result.getCode() == 0) { InvoiceRequestBase responseBase = (InvoiceRequestBase) result.getData(); String returncode = responseBase.getBody().getReturncode(); - String returnmsg = responseBase.getBody().getReturnmsg(); + returnmsg = responseBase.getBody().getReturnmsg(); System.out.println("[OK][returncode]=>>>" + returncode); System.out.println("[OK][returnmsg]=>>>" + returnmsg); + BizObjectManager invoicePrintResultManager; + try { + //发票打印请求成功,更新数据插入到li_invoice_print_result + invoicePrintResultManager = JBOFactory.getBizObjectManager(LI_INVOICE_PRINT_RESULT.CLASS_NAME, tx); + + invoicePrintResultManager.createQuery("update O set returncode=:returncode,returnmsg=:returnmsg where new_sid=:new_sid and invoice_type='direct_rent'") + .setParameter("returncode", returncode).setParameter("returnmsg", returnmsg) + .setParameter("new_sid", newSid).executeUpdate(); + + } catch (JBOException e) { + e.printStackTrace(); + } + if ("0".equals(returncode)) { - BizObjectManager invoicePrintResultManager; - try { - //发票打印请求成功,更新数据插入到li_invoice_print_result - invoicePrintResultManager = JBOFactory.getBizObjectManager(LI_INVOICE_PRINT_RESULT.CLASS_NAME, tx); - - invoicePrintResultManager.createQuery("update O set returncode=:returncode,returnmsg=:returnmsg where new_sid=:new_sid and invoice_type='direct_rent'") - .setParameter("returncode", returncode).setParameter("returnmsg", returnmsg) - .setParameter("new_sid", newSid).executeUpdate(); - - } catch (JBOException e) { - e.printStackTrace(); - } } else { return returnmsg; } @@ -943,7 +982,7 @@ public class rentPlanInvoiceDirectManager extends BaseTable{ return result.getMsg(); } } - return "打印成功!"; + return returnmsg; }