diff --git a/WebContent/Tenwa/Lease/Flow/CollectionAudit/LcDistributorMarginCompensation.jsp b/WebContent/Tenwa/Lease/Flow/CollectionAudit/LcDistributorMarginCompensation.jsp index 1b07edf73..d9c9d9181 100644 --- a/WebContent/Tenwa/Lease/Flow/CollectionAudit/LcDistributorMarginCompensation.jsp +++ b/WebContent/Tenwa/Lease/Flow/CollectionAudit/LcDistributorMarginCompensation.jsp @@ -8,7 +8,7 @@ */ String plan_date = DateAssistant.getToday(); - ASObjectModel doTemp = new ASObjectModel("ViLcReviewAuditRentPlanList"); + ASObjectModel doTemp = new ASObjectModel("ViLcReviewAuditRentPlanListRepay"); // doTemp.setJboWhere(" O.AUDIT_STATE = 'N'"); //默认预查询 //只有计划日期未收款的都可以收款 @@ -19,7 +19,7 @@ ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request); dwTemp.Style="1"; //--设置为Grid风格-- dwTemp.MultiSelect = true; //多选 - dwTemp.ReadOnly = "1"; //只读模式 + dwTemp.ReadOnly = "0"; //只读模式 dwTemp.ShowSummary = "1"; //显示小计 dwTemp.setPageSize(pageSize==null?10:Integer.parseInt(pageSize)); dwTemp.genHTMLObjectWindow(""); @@ -37,6 +37,7 @@ window.onload=function(){ initFilter(); + setItemReadOnly(0, 0, "penalty_0", false); } function initFilter(){ @@ -144,6 +145,8 @@ if(confirm('确实要执行经销商保证金代偿操作吗?')){ var sParm = getItemValueArray(0, "id"); var sParm_rent = getItemValueArray(0, "rent"); + var penalty = getItemValueArray(0, "penalty"); + var sParm_penalty = getItemValueArray(0, "penalty_0"); if(typeof(sParm) == "undefined" || sParm.length == 0 ) { alert("请至少选择一条记录!"); @@ -156,6 +159,13 @@ return; } } + debugger; + for(var i=0;iNumber(penalty[i])){ + alert("核销罚息不能大于罚息金额!"); + return; + } + } // var dis = distributorIds.join("@"); //暂时只能选一个经销商,以后如果有多个经销商需求再打开下面代码 /* var distributorArray = []; @@ -167,14 +177,18 @@ for(var i=0;i"+",inputorgid="+"<%=CurUser.getOrgID()%>"+",distributor_id="+distributor_id; + var parm = "id="+ids+",inputuserid="+"<%=CurUser.getUserID()%>"+",inputorgid="+"<%=CurUser.getOrgID()%>"+",distributor_id="+distributor_id+",penaltys="+penaltys; var res = RunJavaMethodTrans("com.tenwa.collectaudit.cache.CollectAuditInfoCache", "afterCollectManageDistributor", parm); alert(res); //location.reload(); IE浏览器用这个方法报错 diff --git a/src_tenwa/com/tenwa/collectaudit/cache/CollectAuditInfoCache.java b/src_tenwa/com/tenwa/collectaudit/cache/CollectAuditInfoCache.java index 5f977e318..b2f4bd176 100644 --- a/src_tenwa/com/tenwa/collectaudit/cache/CollectAuditInfoCache.java +++ b/src_tenwa/com/tenwa/collectaudit/cache/CollectAuditInfoCache.java @@ -48,6 +48,7 @@ public class CollectAuditInfoCache { private String inputorgid; private String clearDate; private String distributor_id; + private String penaltys; //获取存盘文件 public static String getCollectIntface(String id) throws Exception{ @@ -476,6 +477,83 @@ public class CollectAuditInfoCache { + /*BizObject bco = bc.createQuery("id=:id").setParameter("id", bo.getAttribute("id").toString()).getSingleResult(false); + String batch_number = bco.getAttribute("BATCH_NO").toString(); + if (batch_number.length() == 0) { + batch_number += "手工付款金额:"+rent; + }else{ + batch_number += ";手工付款金额:"+rent; + }*/ + //更新收付状态 + bc.createQuery("update O set O.COLLECT_STATUS=:COLLECT_STATUS ,O.COLLECT_MSG=:COLLECT_MSG where O.id=:id") + .setParameter("COLLECT_STATUS", "收款成功") + .setParameter("COLLECT_MSG", map.get("ERR_MSG")) + .setParameter("id", bo.getAttribute("id").toString()).executeUpdate(); + map.put("RET_CODE", "0000"); + return map; + } + /** + * 手动回笼租金 + * @param tx + * @param bc + * @param bo + * @param rent + * @return + * @throws JBOException + * @throws SQLException + * @throws Exception + */ + public Map handcraftsingleCollectMoenyDistrbutor(JBOTransaction tx,BizObjectManager bc,BizObject bo,String rent,String hire_list) throws JBOException, SQLException { + String cerrentDate = DateAssistant.getToday();//获取当前日期,格式为:yyyy/MM/dd + Map map = new HashMap(); + //改为存储过程实现 + /*JBOTransaction transaction = JBOFactory.createJBOTransaction(); + BizObjectManager bmi = JBOFactory.getFactory().getManager(LC_RENT_PLAN.CLASS_NAME,transaction); + BizObject boi = bmi.createQuery("select v.replace(v.uuid(),'-','') as v.id,O.QUOT_ID as v.QUOT_ID,O.CUST_ID as v.CUST_ID,O.PROJECT_ID as v.PROJECT_ID,O.PROJECT_PLAN_NUMBER as v.PROJECT_PLAN_NUMBER," + + "O.CONTRACT_ID as v.CONTRACT_ID,O.CONTRACT_PLAN_NUMBER as v.CONTRACT_PLAN_NUMBER,O.PAYMENT_NUMBER as v.PAYMENT_NUMBER,'' as v.EBANK_NUMBER,O.id as v.PLAN_ID,O.PLAN_LIST as v.PLAN_LIST," + + "'0' as v.INTEREST_ADJUST,'settlemethod6' as v.SETTLE_METHOD,'"+hire_list+"' as v.HIRE_LIST,'"+cerrentDate+"' as v.HIRE_DATE,vl.rent_over as v.RENT,vl.corpus_over as v.CORPUS,vl.interest_over as v.INTEREST,("+rent+"-vl.corpus_over-vl.interest_over) as v.PENALTY," + + "'0' as v.CORPUS_ADJUST,'0' as v.PENALTY_ADJUST,'0' as v.ROLL_BACK,O.COIN as v.COIN from O, jbo.app.tenwa.calc.VI_LC_RENT_PLAN vl where O.id = vl.id" + + " and vl.contract_id =:contract_id and vl.plan_date =:plan_date") + .setParameter("contract_id", bo.getAttribute("contract_id").toString()) + .setParameter("plan_date", bo.getAttribute("plan_date").toString()).getSingleResult(false); + if (boi != null) { + //插入数据 + String sql = "insert into LC_RENT_INCOME (ID, QUOT_ID, CUST_ID, PROJECT_ID, PROJECT_PLAN_NUMBER, CONTRACT_ID, CONTRACT_PLAN_NUMBER, PAYMENT_NUMBER,EBANK_NUMBER,PLAN_ID, PLAN_LIST," + + " INTEREST_ADJUST,SETTLE_METHOD,HIRE_LIST,HIRE_DATE, RENT,CORPUS,INTEREST,PENALTY,CORPUS_ADJUST,PENALTY_ADJUST,ROLL_BACK,COIN)" + + "values ('"+boi.getAttribute("id")+"','"+boi.getAttribute("QUOT_ID")+"','"+boi.getAttribute("CUST_ID")+"','"+boi.getAttribute("PROJECT_ID")+"','"+boi.getAttribute("PROJECT_PLAN_NUMBER")+"'," + + "'"+boi.getAttribute("CONTRACT_ID")+"','"+boi.getAttribute("CONTRACT_PLAN_NUMBER")+"','"+boi.getAttribute("PAYMENT_NUMBER")+"','"+boi.getAttribute("EBANK_NUMBER")+"','"+boi.getAttribute("PLAN_ID")+"'," + + "'"+boi.getAttribute("PLAN_LIST")+"','"+boi.getAttribute("INTEREST_ADJUST")+"','"+boi.getAttribute("SETTLE_METHOD")+"','"+boi.getAttribute("HIRE_LIST")+"','"+boi.getAttribute("HIRE_DATE")+"','"+boi.getAttribute("RENT")+"','"+boi.getAttribute("CORPUS")+"'," + + "'"+boi.getAttribute("INTEREST")+"','"+boi.getAttribute("PENALTY")+"','"+boi.getAttribute("CORPUS_ADJUST")+"','"+boi.getAttribute("PENALTY_ADJUST")+"','"+boi.getAttribute("ROLL_BACK")+"','"+boi.getAttribute("COIN")+"')"; + Transaction Sqlca =null; + Sqlca = Transaction.createTransaction(transaction); + SqlObject asql = new SqlObject(sql); + Sqlca.executeSQL(asql); + Sqlca.commit(); + } + transaction.commit();*/ + + Transaction Sqlca =null; + ASResultSet rs = null; + try { + + Sqlca = Transaction.createTransaction(tx); + String ln_contract_id = bo.getAttribute("contract_id").toString(); + String ln_plan_date = bo.getAttribute("plan_date").toString(); + String in_rent = rent; + String in_hire_list = hire_list; + String in_type = "3"; + String SQL="{call proc_insert_hexiao('"+ln_contract_id+"','"+ln_plan_date+"','"+in_rent+"','"+in_hire_list+"','"+in_type+"')} "; + SqlObject asql = new SqlObject(SQL); + rs = Sqlca.getASResultSet(asql); + } catch (Exception e) { + e.printStackTrace(); + }finally{ + if(rs != null) rs.close(); + if(Sqlca!=null)Sqlca.commit(); + } + + + /*BizObject bco = bc.createQuery("id=:id").setParameter("id", bo.getAttribute("id").toString()).getSingleResult(false); String batch_number = bco.getAttribute("BATCH_NO").toString(); if (batch_number.length() == 0) { @@ -533,28 +611,24 @@ public class CollectAuditInfoCache { public String afterCollectManageDistributor(JBOTransaction tx) throws Exception{ int i = 0,j = 0; String[] ids = id.split("@"); - StringBuffer parms = new StringBuffer(); - for (String str : ids) { - if (parms.length()==0) { - parms.append("'"+str+"'"); - }else{ - parms.append(",'"+str+"'"); - } - } + String[] penaltyArray = penaltys.split("@"); + BizObjectManager bm = JBOFactory.getFactory().getManager(VI_LC_AUDIT_RENT_PLAN.CLASS_NAME); BizObjectManager bc = JBOFactory.getFactory().getManager(LC_RENT_PLAN.CLASS_NAME); BizObjectManager bd = JBOFactory.getFactory().getManager(D_DEPOSITRETURN_INFO.CLASS_NAME); BizObjectManager bdi = JBOFactory.getFactory().getManager(DISTRIBUTOR_INFO.CLASS_NAME); - List bolist = bm.createQuery("select distinct O.contract_id,O.plan_date,O.id,ca.ACC_NUMBER,ca.ACCOUNT,O.rent from O , jbo.app.tenwa.customer.CUSTOMER_ACCOUNT ca where O.contract_id=ca.contract_id and ca.acc_type = 'Debit' and O.id in ("+parms.toString()+")").getResultList(false); - for (BizObject bo : bolist) { - String rent = bo.getAttribute("rent").toString(); - Map map = handcraftsingleCollectMoeny(tx,bc,bo,rent,"1"); + + for(int c=0;c map = handcraftsingleCollectMoenyDistrbutor(tx,bc,bom,rent,penaltyArray[c]); i++; //更新收付状态 bc.createQuery("update O set O.COLLECT_STATUS=:COLLECT_STATUS ,O.COLLECT_MSG=:COLLECT_MSG where O.id=:id") .setParameter("COLLECT_STATUS", "经销商代偿") .setParameter("COLLECT_MSG", "经销商保证金代偿") - .setParameter("id", bo.getAttribute("id").toString()).executeUpdate(); + .setParameter("id", bom.getAttribute("id").toString()).executeUpdate(); //在这里插入经销商保证金退回表的数据 BizObject bobdi = bdi.createQuery("distributor_no=:distributor_id").setParameter("distributor_id", distributor_id).getSingleResult(false); BigDecimal sum = new BigDecimal(bobdi.getAttribute("sums").getString()); @@ -1611,6 +1685,12 @@ public class CollectAuditInfoCache { public void setDistributor_id(String distributor_id) { this.distributor_id = distributor_id; } + public String getPenaltys() { + return penaltys; + } + public void setPenaltys(String penaltys) { + this.penaltys = penaltys; + } }