diff --git a/WebContent/Tenwa/Lease/Flow/CollectionAudit/ChargebackVoucherDetail.jsp b/WebContent/Tenwa/Lease/Flow/CollectionAudit/ChargebackVoucherDetail.jsp
new file mode 100644
index 000000000..b295142e7
--- /dev/null
+++ b/WebContent/Tenwa/Lease/Flow/CollectionAudit/ChargebackVoucherDetail.jsp
@@ -0,0 +1,84 @@
+<%@ page contentType="text/html; charset=GBK"%>
+<%@ include file="/Frame/resources/include/include_begin_list.jspf"%><%
+ /*
+ Author: undefined 2018-12-18
+ Content:
+ History Log:
+ */
+ String HIRE_DATE = CurPage.getParameter("HIRE_DATE");
+ String OWN_NUMBER = CurPage.getParameter("OWN_NUMBER");
+ String CHANNEL = CurPage.getParameter("CHANNEL");
+ ASObjectModel doTemp = new ASObjectModel("ChargebackVoucherDetail");
+ ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
+ dwTemp.Style="1"; //--设置为Grid风格--
+ dwTemp.MultiSelect = true; //多选
+ dwTemp.ReadOnly = "1"; //只读模式
+ dwTemp.ShowSummary = "1"; //显示小计
+ dwTemp.setPageSize(10);
+ dwTemp.genHTMLObjectWindow(HIRE_DATE+","+OWN_NUMBER+","+CHANNEL);
+
+ //0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标,CSS层叠样式 10、风格
+ String sButtons[][] = {
+ // {"true","All","Button","生成租金凭证","生成租金凭证","Manage()","","","","",""},
+ // {"true","All","Button","修改记账日期","修改记账日期","viewAndEdit()","","","","",""},
+
+ };
+%><%@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/Lease/Flow/CollectionAudit/ChargebackVoucherTotal.jsp b/WebContent/Tenwa/Lease/Flow/CollectionAudit/ChargebackVoucherTotal.jsp
new file mode 100644
index 000000000..e3d10e43a
--- /dev/null
+++ b/WebContent/Tenwa/Lease/Flow/CollectionAudit/ChargebackVoucherTotal.jsp
@@ -0,0 +1,139 @@
+<%@ page contentType="text/html; charset=GBK"%>
+<%@ include file="/Frame/resources/include/include_begin_list.jspf"%><%
+ /*
+ Author: undefined 2018-12-18
+ Content:
+ History Log:
+ */
+ ASObjectModel doTemp = new ASObjectModel("ChargebackVoucherTotal");
+ ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
+ dwTemp.Style="1"; //--设置为Grid风格--
+ dwTemp.MultiSelect = true; //多选
+ dwTemp.ReadOnly = "0"; //只读模式
+// dwTemp.ShowSummary = "1"; //显示小计
+ dwTemp.setPageSize(10);
+ dwTemp.genHTMLObjectWindow("");
+
+ //0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标,CSS层叠样式 10、风格
+ String sButtons[][] = {
+ {"true","All","Button","保存","保存批次号","save()","","","","",""},
+
+ };
+%><%@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/Lease/Flow/CollectionAudit/VERIFICATIONSPARE.jsp b/WebContent/Tenwa/Lease/Flow/CollectionAudit/VERIFICATIONSPARE.jsp
new file mode 100644
index 000000000..295f6e16d
--- /dev/null
+++ b/WebContent/Tenwa/Lease/Flow/CollectionAudit/VERIFICATIONSPARE.jsp
@@ -0,0 +1,77 @@
+<%@ page contentType="text/html; charset=GBK"%>
+<%@ include file="/Frame/resources/include/include_begin_info.jspf"%><%
+ /*
+ Author: undefined 2019-03-18
+ Content: 示例详情页面
+ History Log:
+ */
+ String sPrevUrl = CurPage.getParameter("PrevUrl");
+ String OWN_NUMBER = CurPage.getParameter("OWN_NUMBER");
+ String ACC_TITLE = CurPage.getParameter("SUBJECTS_CODE");
+ String CHARGEBACK_QTY_S = CurPage.getParameter("CHARGEBACK_QTY_S");
+ String HIRE_DATE = CurPage.getParameter("HIRE_DATE");
+ String CHARGEBACK_MONEY_S = CurPage.getParameter("CHARGEBACK_MONEY_S");
+ String SPARE_BATCH_NO = CurPage.getParameter("SPARE_BATCH_NO");
+ String type = CurPage.getParameter("type");
+ if(sPrevUrl == null) sPrevUrl = "";
+
+ String sTempletNo = "VERIFICATIONSPARE";//--模板号--
+ ASObjectModel doTemp = new ASObjectModel(sTempletNo);
+ if("new".equals(type)){
+ doTemp.setVisible("UPDATEUSERID",false);
+ doTemp.setVisible("UPDATETIME",false);
+ }
+ doTemp.setHtmlEvent("SEREVICE_CHARGE_RATE", "onchange", "changeRate");
+ doTemp.setHtmlEvent("ACHIEVED_MONEY", "onchange", "changeOther");
+ doTemp.setHtmlEvent("SEREVICE_CHARGE", "onchange", "changeOther");
+ //doTemp.setColTips("", "测试");
+ ASObjectWindow dwTemp = new ASObjectWindow(CurPage, doTemp,request);
+ dwTemp.Style = "2";//freeform
+ //dwTemp.ReadOnly = "-2";//只读模式
+ dwTemp.genHTMLObjectWindow(SPARE_BATCH_NO);
+
+ String sButtons[][] = {
+ {"true","All","Button","核销","保存所有修改","save()","","","",""},
+ };
+ sButtonPosition = "south";
+%><%@ include file="/Frame/resources/include/ui/include_info.jspf"%>
+
+<%@ include file="/Frame/resources/include/include_end.jspf"%>
\ No newline at end of file
diff --git a/WebContent/WEB-INF/etc/jbo/jbo_calc.xml b/WebContent/WEB-INF/etc/jbo/jbo_calc.xml
index 8a69c6a27..29dd2eb2c 100644
--- a/WebContent/WEB-INF/etc/jbo/jbo_calc.xml
+++ b/WebContent/WEB-INF/etc/jbo/jbo_calc.xml
@@ -524,6 +524,7 @@
+
@@ -1449,6 +1450,7 @@
+
@@ -2368,6 +2370,7 @@
+
diff --git a/WebContent/WEB-INF/etc/jbo/jbo_lease.xml b/WebContent/WEB-INF/etc/jbo/jbo_lease.xml
index f865e9552..8f178c535 100644
--- a/WebContent/WEB-INF/etc/jbo/jbo_lease.xml
+++ b/WebContent/WEB-INF/etc/jbo/jbo_lease.xml
@@ -5014,6 +5014,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calc/com/tenwa/reckon/check/ChargebackVoucherTotal.java b/calc/com/tenwa/reckon/check/ChargebackVoucherTotal.java
new file mode 100644
index 000000000..dfc3c371f
--- /dev/null
+++ b/calc/com/tenwa/reckon/check/ChargebackVoucherTotal.java
@@ -0,0 +1,110 @@
+package com.tenwa.reckon.check;
+import java.util.List;
+
+import jbo.app.tenwa.calc.LC_RENT_PLAN;
+
+import com.amarsoft.are.jbo.BizObject;
+import com.amarsoft.are.jbo.BizObjectManager;
+import com.amarsoft.are.jbo.JBOException;
+import com.amarsoft.are.jbo.JBOFactory;
+import com.amarsoft.are.jbo.JBOTransaction;
+
+public class ChargebackVoucherTotal{
+ private String SPARE_BATCH_NO;
+ private String SPARE_BATCH_NO_DATA;
+ private String OWN_NUMBER;
+ private String COLLECT_STATUS;
+ private String CHANNEL;
+ private String HIRE_DATE;
+ //校验是否已存在
+ public String checkSBN(JBOTransaction tx) throws JBOException{
+ BizObject vs= JBOFactory.createBizObjectQuery(jbo.com.tenwa.lease.comm.VERIFICATIONSPARE.CLASS_NAME, "SPARE_BATCH_NO=:SPARE_BATCH_NO").setParameter("SPARE_BATCH_NO", SPARE_BATCH_NO_DATA).getSingleResult(false);
+ if(vs==null||"".equals(vs)){
+ return "N";
+ }
+ return "Y";
+ }
+ public String saveBatchNo(JBOTransaction tx){
+ List rentList;
+ try {
+ rentList = JBOFactory.createBizObjectQuery(jbo.app.tenwa.calc.LC_RENT_INCOME.CLASS_NAME, "HIRE_DATE=:HIRE_DATE and OWN_NUMBER=:OWN_NUMBER").setParameter("HIRE_DATE", HIRE_DATE).setParameter("OWN_NUMBER", OWN_NUMBER).getResultList(false);
+ BizObjectManager rent_p = JBOFactory.getBizObjectManager(LC_RENT_PLAN.CLASS_NAME,tx);
+ BizObject checkSBN = rent_p.createQuery("SPARE_BATCH_NO=:SPARE_BATCH_NO").setParameter("SPARE_BATCH_NO",SPARE_BATCH_NO).getSingleResult(false);
+ if(checkSBN!=null){
+ return "批次号"+SPARE_BATCH_NO+"已存在;";
+ }
+ // List rentIDs = JBOFactory.createBizObjectQuery(jbo.com.tenwa.lease.comm.VI_CHARGEBACKVOUCHERTOTAL.CLASS_NAME, "HIRE_DATE=:HIRE_DATE and OWN_NUMBER=:OWN_NUMBER and CHANNEL=:CHANNEL").setParameter("HIRE_DATE", HIRE_DATE).setParameter("OWN_NUMBER", OWN_NUMBER).setParameter("CHANNEL", CHANNEL).getResultList(false);
+ if(rentList.size()>0){
+ for(BizObject rentID:rentList){
+ String id = rentID.getAttribute("PLAN_ID").toString();
+ BizObject rent_p_jbo = rent_p.createQuery("COLLECT_STATUS=:COLLECT_STATUS and id=:id").setParameter("COLLECT_STATUS", COLLECT_STATUS).setParameter("id", id).getSingleResult(true);
+ if(rent_p_jbo==null){
+ continue;
+ }
+ rent_p_jbo.setAttributeValue("SPARE_BATCH_NO",SPARE_BATCH_NO);
+ rent_p.saveObject(rent_p_jbo);
+ }
+ }
+ //如果是更改的核销信息,则在相应的VERIFICATIONSPARE表里也要更改。
+ if("Y".equals(this.checkSBN(tx))){
+ BizObjectManager vs = JBOFactory.getBizObjectManager(jbo.com.tenwa.lease.comm.VERIFICATIONSPARE.CLASS_NAME,tx);
+ BizObject change = vs.createQuery("SPARE_BATCH_NO=:SPARE_BATCH_NO").setParameter("SPARE_BATCH_NO",SPARE_BATCH_NO_DATA).getSingleResult(true);
+ change.setAttributeValue("SPARE_BATCH_NO",SPARE_BATCH_NO);
+ vs.saveObject(change);
+ }
+ } catch (JBOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return "ERROR";
+ }
+ return "SUCCESS";
+ }
+ public String getCOLLECT_STATUS() {
+ return COLLECT_STATUS;
+ }
+
+ public void setCOLLECT_STATUS(String cOLLECT_STATUS) {
+ COLLECT_STATUS = cOLLECT_STATUS;
+ }
+
+ public String getSPARE_BATCH_NO() {
+ return SPARE_BATCH_NO;
+ }
+
+ public void setSPARE_BATCH_NO(String sPARE_BATCH_NO) {
+ SPARE_BATCH_NO = sPARE_BATCH_NO;
+ }
+
+ public String getSPARE_BATCH_NO_DATA() {
+ return SPARE_BATCH_NO_DATA;
+ }
+
+ public void setSPARE_BATCH_NO_DATA(String sPARE_BATCH_NO_DATA) {
+ SPARE_BATCH_NO_DATA = sPARE_BATCH_NO_DATA;
+ }
+ public String getOWN_NUMBER() {
+ return OWN_NUMBER;
+ }
+
+ public void setOWN_NUMBER(String oWN_NUMBER) {
+ OWN_NUMBER = oWN_NUMBER;
+ }
+
+ public String getCHANNEL() {
+ return CHANNEL;
+ }
+
+ public void setCHANNEL(String cHANNEL) {
+ CHANNEL = cHANNEL;
+ }
+
+ public String getHIRE_DATE() {
+ return HIRE_DATE;
+ }
+
+ public void setHIRE_DATE(String hIRE_DATE) {
+ HIRE_DATE = hIRE_DATE;
+ }
+
+
+}