审核管理调通

This commit is contained in:
zhanglei 2018-07-06 15:59:33 +08:00
parent 5692c6d9dd
commit 478e25a13d
4 changed files with 49 additions and 44 deletions

View File

@ -33,7 +33,7 @@
as_save("0","upload()");
}
function upload(){
var parm = "id="+getItemValue(0,getRow(0),"id")+",clearDate="+getItemValue(0,getRow(0),"clear_date");
var parm = "id="+getItemValue(0,getRow(0),"id")+",clearDate="+getItemValue(0,getRow(0),"cleardate");
var res = RunJavaMethodTrans("com.tenwa.collectaudit.cache.CollectAuditInfoCache","uploadClearFile", parm);
//关闭当前窗口
AsDialog.ClosePage();

View File

@ -25,7 +25,7 @@
{"true","All","Button","批量扣款","批量扣款","batchCollect()","","","","btn_icon_add",""},
//{"true","All","Button","实时扣款","实时扣款","timelyCollect()","","","","btn_icon_add",""},
{"true","All","Button","手工扣款","手工扣款","afterCollectManage()","","","","btn_icon_add",""},
{"false","All","Button","²éѯÅúÁ¿¿Û¿î","²éѯÅúÁ¿¿Û¿î","queryBatchCollect()","","","","btn_icon_add",""},
{"true","All","Button","²éѯÅúÁ¿¿Û¿î","²éѯÅúÁ¿¿Û¿î","queryBatchCollect()","","","","btn_icon_add",""},
{"true","","Button","退回","审核未通过,退回初审","if(confirm('确定要退回吗?')){viewAndEdit()}","","","","btn_icon_detail",""},
};
%><%@include file="/Frame/resources/include/ui/include_list.jspf"%>
@ -75,11 +75,12 @@
reloadSelf();
}
}
//批量代收
function batchCollect(){
//debugger;
if(confirm('确实要执行代收操作吗?')){
var sParm = getItemValueArray(0, "id");
var sParm = getItemValueArray(0,"id");
var fileSavePath = "<%=CurConfig.getConfigure("InterfaceFileSavePath")%>";
if(typeof(sParm) == "undefined" || sParm.length == 0 )
{
@ -129,8 +130,7 @@
}
}
var parm = "id="+ids+",fileSavePath="+fileSavePath+",inputuserid="+"<%=CurUser.getUserID()%>"+",inputorgid="+"<%=CurUser.getOrgID()%>";
var res = RunJavaMethodTrans("com.tenwa.collectaudit.cache.CollectAuditInfoCache", "queryBatchCollectStatus", parm);
alert(res);
var res = RunJavaMethodTrans("com.tenwa.collectaudit.cache.CollectAuditInfoCache", "queryBatchCollectStatus",parm);
reloadSelf();
}
}
@ -154,7 +154,7 @@
}
//扣款前提校验
var result = RunJavaMethodTrans("com.tenwa.collectaudit.cache.CollectAuditInfoCache", "checkRentIsIncome", "id="+ids);
var result = RunJavaMethodTrans("com.tenwa.collectaudit.cache.CollectAuditInfoCache", "checkRentIsIncome", "id="+ids);
var value = result.split("@");
if (value[0] == "error") {
alert(value[1]);

View File

@ -153,7 +153,9 @@ public String saveMobile(JBOTransaction tx) throws JBOException{
//校验银行卡四要素
public String verifyFourelementBank(JBOTransaction tx) throws JBOException{
BizObjectManager bm = JBOFactory.getFactory().getManager(CUSTOMER_ACCOUNT_TEMP.CLASS_NAME);
String customerid = this.getCustIdByFlowunid(tx).split(",")[0].toString();
String s=this.getFlowUnid();
BizObject bankObject = bm.createQuery("select customerid from O where flowunid=:FLOWUNID").setParameter("FLOWUNID",s).getSingleResult(false);
String customerid = bankObject.getAttribute("customerid").getString();
BizObject bo = bm.createQuery("select cpt.fullname,O.mobile,O.acc_number,O.account,cpt.CERTID,cpt.CERTTYPE,O.customerid from O,jbo.app.tenwa.customer.CUSTOMER_PERSON_TEMP cpt "
+ "where O.customerid = cpt.customerid and cpt.customerid=:customerid")
.setParameter("customerid",customerid).getSingleResult(false);
@ -186,28 +188,28 @@ public String verifyFourelementBank(JBOTransaction tx) throws JBOException{
return "SUCCESS";
}
public static void main(String[] args) {
/*public static void main(String[] args) {
//代收付签约银行卡验证交易测试URL
/*CollectAuditInfoCache cap = new CollectAuditInfoCache();*/
CollectAuditInfoCache cap = new CollectAuditInfoCache();
Map<String, String> map = new HashMap<String, String>();
map.put("ACCOUNT_NO", "6225887814773509");//卡号
map.put("ACCOUNT_NAME", "戚静");//户名
map.put("ID_TYPE", "0");//开户时的证件类型,0->身份证,默认身份证
/*if (bo.getAttribute("CERTTYPE").toString().equals("Ind02")) {
if (bo.getAttribute("CERTTYPE").toString().equals("Ind02")) {
map.put("ID_TYPE", "2");// 2->护照
} */
}
map.put("ID_TYPE", "0");//开户时的证件类型,0->身份证
map.put("ID", "420502198301131325");//开户时的证件号码
map.put("TEL", "13923495221");
//四要素
Map<String, String> fourMsg = new HashMap<String, String>();
/*try {
try {
fourMsg = cap.vitfyCollectManage(map);
} catch (CryptException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
}
}
}*/
//校验银行卡四要素
public String verifyFourelementBankManage(JBOTransaction tx) throws JBOException{
BizObjectManager bm = JBOFactory.getFactory().getManager(CUSTOMER_ACCOUNT.CLASS_NAME);
@ -216,7 +218,7 @@ public String verifyFourelementBankManage(JBOTransaction tx) throws JBOExceptio
.setParameter("customerid", this.getCustomerid()).getSingleResult(false);
if (bo != null) {
//代收付签约银行卡验证交易测试URL
/*CollectAuditInfoCache cap = new CollectAuditInfoCache();*/
CollectAuditInfoCache cap = new CollectAuditInfoCache();
Map<String, String> map = new HashMap<String, String>();
map.put("ACCOUNT_NO", bo.getAttribute("acc_number").toString());//卡号
map.put("ACCOUNT_NAME", bo.getAttribute("account").toString());//户名
@ -224,22 +226,20 @@ public String verifyFourelementBankManage(JBOTransaction tx) throws JBOExceptio
if (bo.getAttribute("CERTTYPE").toString().equals("Ind02")) {
map.put("ID_TYPE", "2");// 2->护照
}
map.put("ID_TYPE", "0");//开户时的证件类型,0->身份证
map.put("ID", bo.getAttribute("CERTID").toString());//开户时的证件号码
map.put("TEL", bo.getAttribute("mobile").toString());//开户时预留的11位手机号
//四要素
Map<String, String> fourMsg = new HashMap<String, String>();
/*try {
try {
fourMsg = cap.vitfyCollectManage(map);
bm.createQuery("update O set VERIFY=:verify,VERIFY_STATUS=:verify_status where customerid=:customerid and acc_type='Debit'")
.setParameter("verify", fourMsg.get("ERR_MSG"))
.setParameter("verify_status", "0000".equals(fourMsg.get("RET_CODE")) ? "Y" : "N")
.setParameter("customerid", this.getCustomerid()).executeUpdate();
} catch (CryptException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "ERROR";
}*/
}
}
return "SUCCESS";
}

View File

@ -6,9 +6,6 @@ import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -136,8 +133,10 @@ public class CollectAuditInfoCache {
BizObjectManager acc = JBOFactory.getFactory().getManager(CUSTOMER_ACCOUNT.CLASS_NAME);
List<BizObject> bolist = bm.createQuery("select v.getCustomerName(O.customer_id) as v.customer_name,O.account,O.acc_number,O.mobile,O.contract_id,O.plan_list,O.plan_date,O.COLLECT_STATUS,O.BATCH_STATUS,O.rent from O where O.id in ("+parm.toString()+")").getResultList(false);
for (BizObject bo : bolist) {
System.out.println("银行账户:"+bo.getAttribute("account")+",银行卡号:"+bo.getAttribute("acc_number")
+",手机号:"+bo.getAttribute("mobile")+"合同ID:"+bo.getAttribute("contract_id"));
String name = bo.getAttribute("customer_name").toString().trim();
BizObject ac = acc.createQuery("O.account=:account and O.acc_info = 'Debit' and O.sign_status ='Y' and O.acc_number=:acc_number and O.mobile=:mobile and O.contract_id=:contract_id")
BizObject ac = acc.createQuery("O.account=:account and O.acc_type = 'Debit' and O.sign_status ='Y' and O.acc_number=:acc_number and O.mobile=:mobile and O.contract_id=:contract_id")
.setParameter("account", bo.getAttribute("account").toString())
.setParameter("acc_number", bo.getAttribute("acc_number").toString())
.setParameter("mobile", bo.getAttribute("mobile").toString())
@ -148,8 +147,9 @@ public class CollectAuditInfoCache {
}
}
BizObjectManager bmr = JBOFactory.getFactory().getManager(LC_RENT_PLAN.CLASS_NAME);
String today=DateTool.getToday();
bmr.createQuery("update O set O.AUDIT_STATE = 'Y',CollectTime='"+today+"' where id in ("+parm+")").executeUpdate();
//String today=DateTool.getToday();
bmr.createQuery("update O set O.AUDIT_STATE = 'Y' where id in ("+parm+")").executeUpdate();
//bmr.createQuery("update O set O.AUDIT_STATE = 'Y',CollectTime='"+today+"' where id in ("+parm+")").executeUpdate();
return "success";
}
@ -418,7 +418,7 @@ public class CollectAuditInfoCache {
Map<String, String> map = new HashMap<String, String>();
JBOTransaction transaction = JBOFactory.createJBOTransaction();
BizObjectManager bmi = JBOFactory.getFactory().getManager(LC_RENT_PLAN.CLASS_NAME,transaction);
BizObject boi = bmi.createQuery("select v.sys_guid() 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,"
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,'"+rent+"' as v.RENT,("+rent+"-vl.interest_over) as v.CORPUS,vl.interest_over as v.INTEREST,vl.penalty_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"
@ -440,14 +440,14 @@ public class CollectAuditInfoCache {
}
transaction.commit();
BizObject bco = bc.createQuery("id=:id").setParameter("id", bo.getAttribute("id").toString()).getSingleResult(false);
String batch_number = bco.getAttribute("batch_number").toString();
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,O.BATCH_NUMBER=:BATCH_NUMBER where O.id=:id")
bc.createQuery("update O set O.COLLECT_STATUS=:COLLECT_STATUS ,O.COLLECT_MSG=:COLLECT_MSG,O.BATCH_NO=:BATCH_NUMBER where O.id=:id")
.setParameter("COLLECT_STATUS", "收款成功")
.setParameter("COLLECT_MSG", map.get("ERR_MSG"))
.setParameter("BATCH_NUMBER", batch_number)
@ -474,7 +474,7 @@ public class CollectAuditInfoCache {
}
BizObjectManager bm = JBOFactory.getFactory().getManager(VI_LC_AUDIT_RENT_PLAN.CLASS_NAME);
BizObjectManager bc = JBOFactory.getFactory().getManager(LC_RENT_PLAN.CLASS_NAME);
List<BizObject> 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 ca.customerid=O.customer_id and O.contract_id=ca.contract_id and ca.acc_info = 'Debit' and O.id in ("+parms.toString()+")").getResultList(false);
List<BizObject> 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 ca.customerid=O.customer_id and O.contract_id=ca.contract_id and ca.acc_type = 'Debit' and O.id in ("+parms.toString()+")").getResultList(false);
for (BizObject bo : bolist) {
Map<String, String> map = handcraftsingleCollectMoeny(tx,bc,bo,bo.getAttribute("rent").toString(),"1");
i++;
@ -566,7 +566,7 @@ public class CollectAuditInfoCache {
}
BizObjectManager bm = JBOFactory.getFactory().getManager(VI_LC_AUDIT_RENT_PLAN.CLASS_NAME);
BizObjectManager bc = JBOFactory.getFactory().getManager(LC_RENT_PLAN.CLASS_NAME);
List<BizObject> bolist = bm.createQuery("select distinct O.contract_id,O.plan_date,O.id,ca.ACC_NUMBER,ca.ACCOUNT,ca.ACCOUNT_PROVINCE,ca.BANK_DEPOSIT,ca.BANK_NAME,O.rent from O , jbo.app.tenwa.customer.CUSTOMER_ACCOUNT ca where ca.customerid=O.customer_id and O.contract_id=ca.contract_id and ca.acc_info = 'Debit' and O.id in ("+parms.toString()+")").getResultList(false);
List<BizObject> bolist = bm.createQuery("select distinct O.contract_id,O.plan_date,O.id,ca.ACC_NUMBER,ca.ACCOUNT,ca.BANK_NAME,O.rent from O , jbo.app.tenwa.customer.CUSTOMER_ACCOUNT ca where ca.customerid=O.customer_id and O.contract_id=ca.contract_id and ca.acc_type = 'Debit' and O.id in ("+parms.toString()+")").getResultList(false);
if (bolist.size() != 0) {
singleBatchCollectMoeny(tx, bolist);
}
@ -578,10 +578,19 @@ public class CollectAuditInfoCache {
* @return
* @throws Exception
*/
public String queryBatchCollectStatus(JBOTransaction tx,StringBuffer parms) throws Exception{
public String queryBatchCollectStatus(JBOTransaction tx) throws Exception{
BizObjectManager bm = JBOFactory.getFactory().getManager(VI_LC_AUDIT_RENT_PLAN.CLASS_NAME);
BizObjectManager bc = JBOFactory.getFactory().getManager(LC_RENT_PLAN.CLASS_NAME);
List<BizObject> bolist = bm.createQuery("select distinct O.BATCH_NO,O.BATCH_SN,O.contract_id,O.plan_date,O.id,ca.ACC_NUMBER,ca.ACCOUNT,ca.ACCOUNT_PROVINCE,ca.BANK_DEPOSIT,ca.BANK_NAME,O.rent from O , jbo.app.tenwa.customer.CUSTOMER_ACCOUNT ca where ca.customerid=O.customer_id and O.contract_id=ca.contract_id and ca.acc_info = 'Debit' and O.id in ("+parms.toString()+")").getResultList(false);
String[] ids = id.split("@");
StringBuffer parms = new StringBuffer();
for (String str : ids) {
if (parms.length()==0) {
parms.append("'"+str+"'");
}else{
parms.append(",'"+str+"'");
}
}
List<BizObject> bolist = bm.createQuery("select distinct O.BATCH_NO,O.BATCH_SN,O.contract_id,O.plan_date,O.id,ca.ACC_NUMBER,ca.ACCOUNT,ca.BANK_NAME,O.rent from O , jbo.app.tenwa.customer.CUSTOMER_ACCOUNT ca where ca.customerid=O.customer_id and O.contract_id=ca.contract_id and ca.acc_type = 'Debit' and O.id in ("+parms.toString()+")").getResultList(false);
for (BizObject bo : bolist) {
String query_sn = bo.getAttribute("BATCH_NO").toString();
String sn = bo.getAttribute("BATCH_SN").toString();
@ -598,8 +607,9 @@ public class CollectAuditInfoCache {
int singlerent = mi.multiply(new BigDecimal(100)).intValue();
BigDecimal mj = new BigDecimal(itemdescribe);
long divide = mj.multiply(new BigDecimal(100)).longValue();
int k = (int) Math.floor(singlerent/divide);
int l = (int) Math.ceil(singlerent%divide);
if(divide!=0){
int k = (int) Math.floor(singlerent/divide);
int l = (int) Math.ceil(singlerent%divide);
for (int j = 0; j < k; j++) {
m++;
}
@ -612,6 +622,7 @@ public class CollectAuditInfoCache {
}
singleRent[m-1] = String.format("%.2f",bo.getAttribute("rent").getDouble() - k*itemdescribe);
break;//如果匹配到则跳出循环
}
}
}
String[] snArray = sn.split(",");
@ -682,7 +693,7 @@ public class CollectAuditInfoCache {
}
}
return "sucess";
return "success";
}
/**
@ -935,6 +946,7 @@ public class CollectAuditInfoCache {
mutly = mutly.add(m);
String bank_name = bo.getAttribute("BANK_NAME").toString();
List<BizObject> codelist = JBOFactory.getFactory().getBizObjectManager(CODE_LIBRARY.CLASS_NAME).createQuery("O.codeno = 'bankType' and O.itemdescribe is not null ").getResultList(false);
//数据字典中的itemdescribe字段代表银行单笔限
double itemdescribe = 0;
boolean flag = false;
for (BizObject code : codelist) {
@ -983,9 +995,6 @@ public class CollectAuditInfoCache {
String acc_number = biz.getAttribute("acc_number").toString();
String account = biz.getAttribute("account").toString();
String bank_name = biz.getAttribute("BANK_NAME").toString();
String bank_code = biz.getAttribute("BANK_DEPOSIT").toString();
String province = biz.getAttribute("ACCOUNT_PROVINCE").toString();
List<BizObject> codelist = JBOFactory.getFactory().getBizObjectManager(CODE_LIBRARY.CLASS_NAME).createQuery("O.codeno = 'bankType' and O.itemdescribe is not null ").getResultList(false);
double itemdescribe = 0;
boolean flag = false;
@ -1035,11 +1044,9 @@ public class CollectAuditInfoCache {
.setParameter("id", biz.getAttribute("id").toString()).executeUpdate();
trans.commit();
trans_detail.setSN(sn);
trans_detail.setBANK_CODE(bank_code);
trans_detail.setACCOUNT_TYPE("");
trans_detail.setACCOUNT_NO(acc_number);
trans_detail.setACCOUNT_NAME(account);
trans_detail.setPROVINCE(province);
trans_detail.setACCOUNT_PROP("0");
trans_detail.setAMOUNT(String.valueOf(singleitem));
trans_detail.setCURRENCY("CNY");
@ -1079,11 +1086,9 @@ public class CollectAuditInfoCache {
.setParameter("id", biz.getAttribute("id").toString()).executeUpdate();
trans.commit();
trans_detail.setSN(sn);
trans_detail.setBANK_CODE(bank_code);
trans_detail.setACCOUNT_TYPE("");
trans_detail.setACCOUNT_NO(acc_number);
trans_detail.setACCOUNT_NAME(account);
trans_detail.setPROVINCE(province);
trans_detail.setACCOUNT_PROP("0");
trans_detail.setAMOUNT(singlerent0);
trans_detail.setCURRENCY("CNY");
@ -1110,11 +1115,9 @@ public class CollectAuditInfoCache {
.setParameter("id", biz.getAttribute("id").toString()).executeUpdate();
trans.commit();
trans_detail.setSN(sn);
trans_detail.setBANK_CODE(bank_code);
trans_detail.setACCOUNT_TYPE("");
trans_detail.setACCOUNT_NO(acc_number);
trans_detail.setACCOUNT_NAME(account);
trans_detail.setPROVINCE(province);
trans_detail.setACCOUNT_PROP("0");
trans_detail.setAMOUNT(rent);
trans_detail.setCURRENCY("CNY");
@ -1339,8 +1342,10 @@ public class CollectAuditInfoCache {
String currentDateTime = DateAssistant.getTodayNow();
String currenttime=currentDateTime.replaceAll("/", "");
currenttime=currenttime.replaceAll(":", "");
//发送时间
currenttime=currenttime.replaceAll(" ", "");
//验证银行卡二四要素
//流水号
String req = System.currentTimeMillis()+"";
StringBuffer strbuff = new StringBuffer();
strbuff.append("<?xml version=\"1.0\" encoding=\"GBK\"?>");