From 225e82e1d6fc2286f04a8e160eb421932ae0a9dd Mon Sep 17 00:00:00 2001 From: G Date: Fri, 7 Dec 2018 18:10:40 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=88=90=E4=BB=98=E6=AC=BE=E5=87=AD?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LcReviewAuditRentPlanList2.jsp | 220 ++++++++++++++++++ .../app/quartzmession/Checkfordeduction.java | 151 ++++++++++++ 2 files changed, 371 insertions(+) create mode 100644 WebContent/Tenwa/Lease/Flow/CollectionAudit/LcReviewAuditRentPlanList2.jsp create mode 100644 src_tenwa/com/tenwa/lease/app/quartzmession/Checkfordeduction.java 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"); + + + + + + }*/ + +