diff --git a/WebContent/Tenwa/Lease/Flow/CollectionAudit/LcReviewAuditRentPlanList2.jsp b/WebContent/Tenwa/Lease/Flow/CollectionAudit/LcReviewAuditRentPlanList2.jsp
new file mode 100644
index 000000000..002b2fb8c
--- /dev/null
+++ b/WebContent/Tenwa/Lease/Flow/CollectionAudit/LcReviewAuditRentPlanList2.jsp
@@ -0,0 +1,220 @@
+<%@page import="com.tenwa.comm.util.date.DateAssistant"%>
+<%@ page contentType="text/html; charset=GBK"%>
+<%@ include file="/Frame/resources/include/include_begin_list.jspf"%><%
+ /*
+ Author: undefined 2017-09-20
+ Content:
+ History Log:
+ */
+
+ String plan_date = DateAssistant.getToday();
+ ASObjectModel doTemp = new ASObjectModel("ViLcReviewAuditRentPlanList2");
+// doTemp.setJboWhere(" O.AUDIT_STATE = 'N'");
+ //默认预查询
+ //只有计划日期未收款的都可以收款
+ //doTemp.setJboWhereWhenNoFilter(" and O.PLAN_DATE <= '"+plan_date+"' and O.COLLECT_STATUS in ('未收款','部分收款')");
+// doTemp.setJboWhereWhenNoFilter(" and O.COLLECT_STATUS in ('未收款','部分收款') ");
+// doTemp.setJboWhere("O.PLAN_DATE <= '"+plan_date+"'");
+
+ ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
+ dwTemp.Style="1"; //--设置为Grid风格--
+ dwTemp.MultiSelect = true; //多选
+ dwTemp.ReadOnly = "1"; //只读模式
+ dwTemp.ShowSummary = "1"; //显示小计
+ dwTemp.setPageSize(pageSize==null?10:Integer.parseInt(pageSize));
+ dwTemp.genHTMLObjectWindow("");
+
+ //0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标,CSS层叠样式 10、风格
+ String sButtons[][] = {
+ //{"true","All","Button","批量扣款及核销","批量扣款","batchCollect()","","","","btn_icon_add",""},
+ //{"true","All","Button","实时扣款","实时扣款","timelyCollect()","","","","btn_icon_add",""},
+ //{"true","All","Button","手工核销","手工扣款","afterCollectManage()","","","","btn_icon_add",""},
+ //{"true","All","Button","手动刷新","手动刷新","queryBatchCollect()","","","","btn_icon_add",""},
+ {"true","All","Button","生成租金凭证","生成租金凭证","Manage()","","","","",""},
+ //{"true","","Button","退回","审核未通过,退回初审","i f(confirm('确定要退回吗?')){viewAndEdit()}","","","","btn_icon_detail",""},
+ };
+%><%@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/src_tenwa/com/tenwa/lease/app/quartzmession/Checkfordeduction.java b/src_tenwa/com/tenwa/lease/app/quartzmession/Checkfordeduction.java
new file mode 100644
index 000000000..df71b80c3
--- /dev/null
+++ b/src_tenwa/com/tenwa/lease/app/quartzmession/Checkfordeduction.java
@@ -0,0 +1,151 @@
+package com.tenwa.lease.app.quartzmession;
+
+
+import java.util.HashMap;
+import java.util.Map;
+
+import jbo.voucher.LV_VOUCHER_CONFIG;
+
+import com.amarsoft.are.jbo.BizObject;
+import com.amarsoft.are.jbo.JBOTransaction;
+import com.amarsoft.awe.util.SqlObject;
+import com.amarsoft.awe.util.Transaction;
+import com.amarsoft.dict.als.cache.CacheLoaderFactory;
+import com.tenwa.comm.util.jboutil.DataOperatorUtil;
+
+public class Checkfordeduction {
+ private String contract_number;
+ private String sys_date;
+ private String[] voucher_nos={"PZ2018072100000024"};
+
+ public String getContract_number() {
+ return contract_number;
+ }
+
+ public void setContract_number(String contract_number) {
+ this.contract_number = contract_number;
+ }
+
+ public String getSys_date() {
+ return sys_date;
+ }
+
+ public void setSys_date(String sys_date) {
+ this.sys_date = sys_date;
+ }
+
+ /*//回款-收到的租金 复制--回款-收到的租金
+ "PZ2018072100000024" "PZ2018080400000081"
+ //回款-收到的逾期利息 复制--回款-收到的逾期利息
+ "PZ2018072100000025" "PZ2018080400000082"*/
+ /***
+ * @param VOUCHERNO
+ * @throws Exception
+ */
+ public void CreateVoucher(String VOUCHERNO) throws Exception{
+
+ Transaction Sqlca =null;
+ String sql_where="";
+ String[] contract_numbers = contract_number.split("@");
+ StringBuffer parms = new StringBuffer();
+ for (String str : contract_numbers) {
+ if (parms.length()==0) {
+ parms.append("'"+str+"'");
+ }else{
+ parms.append(",'"+str+"'");
+ }
+ }
+ try{
+ Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
+ Map map=new HashMap();
+ map.put("VOUCHER_NO", VOUCHERNO);
+ BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca);
+ if(vouch!=null){
+ //收到的租金--网银-未逾期及逾期未过月的--(汽车)
+ if("PZ2018072100000024".equals(VOUCHERNO)){
+ sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f2,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f75,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT * FROM ( SELECT REPLACE (UUID(), '-', '') id, '凭证输出' evidence_message, SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4 ) periodyear, DATE_FORMAT(SYSDATE(), '%Y/%m/%d') f1, lv.SUBJECTS_CODE AS f2, lvri.voucher_f3, '收到的租金', lv.LOAN_SUBJECT, CASE WHEN lv.sort_number = '1' THEN lvri.rent WHEN LV.sort_number = '2' THEN LVRI.INTEREST ELSE 0.00 END f7, CASE WHEN lv.sort_number = '3' THEN lvri.corpus WHEN lv.sort_number = '4' THEN lvri.interest WHEN lv.sort_number = '5' THEN ROUND( lvri.interest / getTax ( lci.leas_form, '租息', lcct.start_date ), 2 ) WHEN lv.sort_number = '6' THEN ( lvri.interest - ROUND( lvri.interest / getTax ( lci.leas_form, '租息', lcct.start_date ), 2 )) ELSE 0.00 END f8, 'IT管理员', DATE_FORMAT(SYSDATE(), '%Y/%m/%d'), lv.OWNED_COMPANY, lv.OWNED_COMPANY AS OWNED_COMPANY1, SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4 ), SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2 ), lv.sort_number, lci.contract_number, CASE WHEN lv.sort_number = '1' THEN '业务系统待查客户' ELSE lvri.cust_name END AS cust_name, lv.loan_subject AS loan_subject1, CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' ELSE lvri.cust_id END, CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END, '', '已完整', NOW(3), '0', lv.modular_number, CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END, 'admin', lvri.income_id, lci.leas_form FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN ( SELECT lvc.PROJ_TYPE, lvl.id, lvl.LOAN_DIRECTION, lvc.OWNED_COMPANY, lvl.sort_number, lvl.loan_subject, lvc.modular_number, lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2018072100000024')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND lvri.income_id NOT IN ( SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金%' AND f58 IS NOT NULL ) AND lvri.rent > 0 AND lvri.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 ) t WHERE t.contract_number =("+parms.toString()+")";
+ }
+
+
+ SqlObject asql = new SqlObject(sql_where);
+ Sqlca.executeSQL(asql);
+ Sqlca.commit();
+ }}catch(Exception e){
+ Sqlca.rollback();
+ e.printStackTrace();
+ }finally{
+ if(Sqlca!=null){
+ Sqlca.disConnect();
+ Sqlca=null;
+ }
+ }
+ }
+ /**
+ *f16存凭证编号,f17寸凭证关键字 关键字的配发 表的别名 .过滤关键字段
+ *f17也会存进表中
+ *查询sql 用逗号关联的方法,查询乘积条数 where 1=1
+ */
+ public void initLVRentIncome() throws Exception{
+ Transaction Sqlca =null;
+ try{
+ Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
+
+ // String sql="INSERT INTO lv_rent_income (SELECT REPLACE(UUID(),'-',''),CONCAT('k',getSerialNumber ()),cif.customer_num,cif.customername,lci.id,lci.contract_number,lri.ID,lri.HIRE_DATE ,lri.RENT ,lri.CORPUS,lri.INTEREST,0.00,lri.OWN_BANK,lri.OWN_ACCOUNT,lri.OWN_NUMBER,lri.EBANK_NUMBER,lri.CARDDEDUCT_ID FROM lc_rent_income lri LEFT JOIN lb_contract_info lci ON lci.id=lri.contract_id LEFT JOIN lb_union_lessee lul ON lul.contract_id=lci.id LEFT JOIN customer_info cif ON cif.customerid=lul.customer_id WHERE lri.rent>0 AND lri.id NOT IN (SELECT income_id FROM lv_rent_income))";
+ // 未逾期及逾期未过月
+ String sql="INSERT INTO lv_rent_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ()),cif.customer_num,cif.customername,lci.id,lci.contract_number,lri.ID,lri.HIRE_DATE,lri.RENT,lri.CORPUS,lri.INTEREST,0.00,lri.OWN_BANK,lri.OWN_ACCOUNT,lri.OWN_NUMBER,lri.EBANK_NUMBER,lri.CARDDEDUCT_ID FROM lc_rent_income lri LEFT JOIN lb_contract_info lci ON lci.id = lri.contract_id LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lci.id AND lrp.plan_list=lri.plan_list LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id WHERE lri.rent > 0 AND lri.id NOT IN (SELECT income_id FROM lv_rent_income) AND LEFT(lri.hire_date,7)<=LEFT(lrp.plan_date,7))";
+ // 逾期过月
+ String sq1="INSERT INTO lv_rent_income2 (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ()),cif.customer_num,cif.customername,lci.id,lci.contract_number,lri.ID,lri.HIRE_DATE,lri.RENT,lri.CORPUS,lri.INTEREST,0.00,lri.OWN_BANK,lri.OWN_ACCOUNT,lri.OWN_NUMBER,lri.EBANK_NUMBER,lri.CARDDEDUCT_ID FROM lc_rent_income lri LEFT JOIN lb_contract_info lci ON lci.id = lri.contract_id LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lci.id AND lrp.plan_list=lri.plan_list LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id WHERE lri.rent > 0 AND lri.id NOT IN (SELECT income_id FROM lv_rent_income) AND LEFT(lri.hire_date,7)>LEFT(lrp.plan_date,7))";
+ String sql1="INSERT INTO lv_penalty_income (SELECT REPLACE(UUID(),'-',''),CONCAT('k',getSerialNumber ()),cif.customer_num,cif.customername,lci.id,lci.contract_number,lri.ID,lri.HIRE_DATE ,0.00,0.00,0.00,lri.PENALTY,lri.OWN_BANK,lri.OWN_ACCOUNT,lri.OWN_NUMBER,lri.EBANK_NUMBER,lri.CARDDEDUCT_ID FROM lc_rent_income lri LEFT JOIN lb_contract_info lci ON lci.id=lri.contract_id LEFT JOIN lb_union_lessee lul ON lul.contract_id=lci.id LEFT JOIN customer_info cif ON cif.customerid=lul.customer_id WHERE lri.penalty>0 AND lri.id NOT IN (SELECT income_id FROM lv_penalty_income))";
+ String sql2="INSERT INTO lv_discount_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ()),cif.customer_num,cif.customername,lci.id,lci.contract_number,ld.ID,DATE_FORMAT(ld.inputtime, '%Y/%m/%d'),ld.discount_money,0.00,0.00,0.00,oac.acc_bank,oac.acc_name,oac.acc_number FROM lb_discount ld LEFT JOIN lb_contract_info lci ON lci.contract_no = ld.contract_no LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN (SELECT acc_bank,acc_name,acc_number FROM OWN_ACCOUNT WHERE account_type = 'in_account' AND state_ = '0010' LIMIT 0, 1) oac ON 1 = 1 WHERE ld.discount_money > 0 AND ld.id NOT IN (SELECT income_id FROM lv_discount_income)) ";
+ SqlObject as1 = new SqlObject(sq1);
+ SqlObject asql = new SqlObject(sql);
+ SqlObject asql1 = new SqlObject(sql1);
+ SqlObject asql2 = new SqlObject(sql2);
+ Sqlca.executeSQL(as1);
+ Sqlca.executeSQL(asql);
+ Sqlca.executeSQL(asql1);
+ Sqlca.executeSQL(asql2);
+ Sqlca.commit();
+ }catch(Exception e){
+ Sqlca.rollback();
+ e.printStackTrace();
+ }finally{
+ if(Sqlca!=null){
+ Sqlca.disConnect();
+ Sqlca=null;
+ }
+ }
+ }
+
+ public void execute(JBOTransaction tx){
+ try{
+ initLVRentIncome();
+ for(String voucherno:voucher_nos){
+ CreateVoucher(voucherno);
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+
+ }
+}
+
+ /*@Override
+ public void execute(JobExecutionContext arg0) throws JobExecutionException {
+
+
+
+ InsertVoucherRentIncome ivri=new InsertVoucherRentIncome();
+ ivri.execute();
+
+ CreateVoucherInsuranceSettlement cvis=new CreateVoucherInsuranceSettlement();
+
+ cvis.CreateVoucher("PZ2018072100000024");
+
+
+
+
+
+ }*/
+
+