app风险预警校验后直接提交流程和添加预审批列表

This commit is contained in:
tangfutang 2020-07-18 16:06:10 +08:00
parent 3e72ec2ec1
commit 1b784d53d3
4 changed files with 430 additions and 5 deletions

View File

@ -20,6 +20,7 @@ import apx.com.amarsoft.als.apzl.apply.business.start.initiate.OverseersBO;
import apx.com.amarsoft.als.apzl.apply.business.start.initiate.PaymentRequestBO;
import apx.com.amarsoft.als.apzl.apply.business.start.service.BusinessApplyStartService;
import apx.com.amarsoft.als.base.awe.execute.method.BusinessCustomerMethod;
import apx.com.amarsoft.als.business.action.service.DoSubmitService;
import cn.bean.User;
import com.amarsoft.are.jbo.BizObject;
@ -30,6 +31,7 @@ import com.amarsoft.awe.util.Transaction;
import com.amarsoft.context.ASUser;
import com.base.constant.RestfullConstant;
import com.base.util.DateUtil;
import com.base.util.FlowManageUtil;
import com.base.util.MultipartDataUtil;
import com.base.util.ReturnMapUtil;
@ -140,12 +142,44 @@ public class BusinessApplyStartServiceImpl implements BusinessApplyStartService
fileList = (List<Map<String, Object>>) testMap.get("fileList");
BusinessBO bo = new BusinessBO(fieldMap, tx);
boolean flag = bo.checkDoc();
System.out.println("=======业务申请风险预警参数===========");
System.out.println(fieldMap);
System.out.println("================================");
Map<String, Object> boy = new HashMap<String, Object>();
boy.put("isApprovalNode", "N");
if(flag) {
ReturnMapUtil.setReturnMap(null, RestfullConstant.baseProperty.get("success").toString(), "");
//获取提交分路数据
Map<String, Object> approvalNodeList = FlowManageUtil.getApprovalNode(fieldMap, tx);
if(approvalNodeList != null && "Y".equals(approvalNodeList.get("static"))){
//提交流程
List<Map<String, Object>> list = (List<Map<String, Object>>)approvalNodeList.get("phaseopinion");
Map< String, Object> phaseopinion = (Map<String, Object>) list.get(0);
List<Map<String, Object>> listUserinfo = (List<Map<String, Object>>)phaseopinion.get("userInfo");
fieldMap.put("userinfo", listUserinfo.get(0).get("userId"));
fieldMap.put("nodetype", phaseopinion.get("nodeType"));
fieldMap.put("phaseopinion", phaseopinion.get("phaseNo"));
approvalNodeList.get("userInfo");
String commit = FlowManageUtil.commit(fieldMap, tx);
if("SUCCESS".equals(commit)){
boy.put("commitStatus", "Y");
boy.put("message", "提交成功!");
ReturnMapUtil.setReturnMap(boy, RestfullConstant.baseProperty.get("success").toString(), "");
}else{
boy.put("commitStatus", "N");
boy.put("message", commit);
ReturnMapUtil.setReturnMap(boy, RestfullConstant.baseProperty.get("fail").toString(), commit);
}
}else{
boy.put("commitStatus", "N");
boy.put("message","获取审批节点错误!");
ReturnMapUtil.setReturnMap(boy, RestfullConstant.baseProperty.get("fail").toString(), "获取审批节点错误!");
}
} else {
String msg = bo.getMsg();
ReturnMapUtil.setReturnMap(null, RestfullConstant.baseProperty.get("fail").toString(), msg);
boy.put("commitStatus", "N");
boy.put("message",msg);
ReturnMapUtil.setReturnMap(boy, RestfullConstant.baseProperty.get("fail").toString(), msg);
}
return ReturnMapUtil.getReturnMap();
}
@ -237,8 +271,7 @@ public class BusinessApplyStartServiceImpl implements BusinessApplyStartService
System.out.println("=======================================");
fieldMap = (Map<String, Object>) testMap.get("fieldMap");
//校验扣款卡是否签约
fieldMap = (Map<String, Object>) testMap.get("fieldMap");
String projectId = fieldMap.get("projectid") == null ? "" : fieldMap.get("projectid").toString();
String projectId = fieldMap.get("project_id") == null ? "" : fieldMap.get("project_id").toString();
System.out.println("app校验扣款卡签约验证projectId"+ projectId );
Map<String, Object> body = new HashMap<String, Object>();
String signStatus = sqlca.getString("select sign_status from customer_account where project_Id='"+projectId+"'");

View File

@ -1,6 +1,7 @@
package apx.com.amarsoft.als.business.action.scenario;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
@ -15,6 +16,7 @@ import com.amarsoft.are.jbo.JBOTransaction;
import com.amarsoft.are.lang.StringX;
import com.amarsoft.awe.util.Transaction;
import com.base.constant.RestfullConstant;
import com.base.util.FlowManageUtil;
import com.base.util.ReturnMapUtil;
import com.base.util.ScenarioUtil;
@ -158,6 +160,29 @@ public class AutoRiskScanService {
}
}
body.put("flowState", flowState);
//获取提交分路数据
body.put("isApprovalNode", "N");
Map<String, Object> approvalNodeList = FlowManageUtil.getApprovalNode(fieldMap, tx);
if(approvalNodeList != null && "Y".equals(approvalNodeList.get("static"))){
//提交流程
List<Map<String, Object>> list = (List<Map<String, Object>>)approvalNodeList.get("phaseopinion");
Map< String, Object> phaseopinion = (Map<String, Object>) list.get(0);
List<Map<String, Object>> listUserinfo = (List<Map<String, Object>>)phaseopinion.get("userInfo");
fieldMap.put("userinfo", listUserinfo.get(0).get("userId"));
fieldMap.put("nodetype", phaseopinion.get("nodeType"));
fieldMap.put("phaseopinion", phaseopinion.get("phaseNo"));
approvalNodeList.get("userInfo");
String commit = FlowManageUtil.commit(fieldMap, tx);
if("SUCCESS".equals(commit)){
body.put("commitStatus", "Y");
body.put("message", "提交成功!");
//ReturnMapUtil.setReturnMap(body, RestfullConstant.baseProperty.get("success").toString(), "");
}else{
body.put("commitStatus", "N");
body.put("message", commit);
//ReturnMapUtil.setReturnMap(body, RestfullConstant.baseProperty.get("fail").toString(), commit);
}
}
}
ReturnMapUtil.setReturnMap(body,

View File

@ -0,0 +1,341 @@
package com.base.util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jbo.sys.FLOW_OBJECT;
import jbo.sys.FLOW_TASK;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import com.amarsoft.app.flow.FlowAction;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.amarsoft.are.lang.StringX;
import com.tenwa.flow.task.TenwaFlowTask;
public class FlowManageUtil {
public static Map<String, Object> getApprovalNode(Map<String, Object> fieldMap,JBOTransaction tx) throws Exception{
Map<String, Object> body = new HashMap<String, Object>();
String taskNo ;
String flowNo;
String phaseNo;
String flowState ;
String objectNo = fieldMap.get("OBJECTNO") == null ? "" : fieldMap.get("OBJECTNO").toString();
String serialNo = fieldMap.get("SERIALNO") == null ? "" : fieldMap.get("SERIALNO").toString();
BizObject bo = queryFlowTask(objectNo, serialNo, tx);
if (null != bo) {
String objectType = bo.getAttribute("OBJECTTYPE") == null ? "" : bo
.getAttribute("OBJECTTYPE").toString();
objectNo = bo.getAttribute("OBJECTNO") == null ? "" : bo
.getAttribute("OBJECTNO").toString();
flowNo = bo.getAttribute("FLOWNO") == null ? "" : bo
.getAttribute("FLOWNO").toString();
phaseNo = bo.getAttribute("PHASENO") == null ? "" : bo
.getAttribute("PHASENO").toString();
taskNo = bo.getAttribute("SERIALNO") == null ? "" : bo
.getAttribute("SERIALNO").toString();
//String flowName = bo.getAttribute("FLOWNAME") == null ? "" : bo.getAttribute("FLOWNAME").toString();
//String applyType = bo.getAttribute("APPLYTYPE") == null ? "" : bo.getAttribute("APPLYTYPE").toString();
//String phaseName = bo.getAttribute("phasename") == null ? "" : bo.getAttribute("phasename").toString();
//String assignedTaskNo = bo.getAttribute("assignedtaskno") == null ? "": bo.getAttribute("assignedtaskno").toString();
flowState = bo.getAttribute("flowState") == null ? "" : bo
.getAttribute("flowState").toString();
} else {
body.put("static", "N");
body.put("message", "此流程任务不存在!");
return body;
}
if ("".equals(taskNo)) {
body.put("static", "N");
body.put("message", "请选择一条信息!");
return body;
}
//String sUserId = fieldMap.get("userid") == null ? "" : fieldMap.get("userid").toString();
TenwaFlowTask ft1 = new TenwaFlowTask(taskNo, tx);// 使用jboTrans
String routeInfo = ft1.getRouteInfo();
flowNo = ft1.FlowNo;
phaseNo = ft1.PhaseNo;
flowState = ft1.FlowState;
JSONObject json = JsonUtil.str2JSONObject(routeInfo);
String routeType = json.getString("routeType") == null ? "" : json
.getString("routeType").toString();
List<Map<String, Object>> list2 = new ArrayList<Map<String,Object>>();
// 一般路由和条件路由初始化 APP 发起业务 只有一般路由
if (routeType.equals("commroute") || routeType.equals("conditionroute")) {
Map<String, Object> mMap = new HashMap<String, Object>();
String route = json.getString("route") == null ? "" : json
.getString("route").toString();
if (route.length() > 0) {
String type = "radio";
JSONArray jsonArray = JsonUtil.str2JSONArray(route);
JSONObject jo = jsonArray.getJSONObject(0);
String joPhaseNo = jo.getString("phaseNo") == null ? "" : jo
.getString("phaseNo").toString(); // phaseNo
String joPhaseName = jo.getString("phaseName") == null ? "" : jo
.getString("phaseName").toString(); // phaseName
String joUserInfo = jo.getString("userInfo") == null ? "" : jo
.getString("userInfo").toString(); // userInfo
String joFlowUserOperatorType = jo.getString("flowUserOperatorType") == null ? "" : jo
.getString("flowUserOperatorType").toString(); // flowUserOperatorType
String joNodeType = jo.getString("nodeType") == null ? "" : jo
.getString("nodeType").toString(); // nodeType
String headMessage = "请选择" + joPhaseName + "用户:";
mMap.put("phaseName", joPhaseName);
mMap.put("phaseNo", joPhaseNo);
mMap.put("nodeType", joNodeType);
mMap.put("headMessage", headMessage);
mMap.put("flowUserOperatorType", joFlowUserOperatorType);
if (!"01".equals(joFlowUserOperatorType)) {
type = "checkBox";
}
mMap.put("type", type);
List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
if(StringX.isSpace(joUserInfo.trim())) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("userId", "");
map.put("userName", "");
list.add(map);
} else {
String [] vUser = joUserInfo.split("@");
for (int i=0; i < vUser.length; i ++) {
Map<String, Object> map = new HashMap<String, Object>();
String [] vUserinfo=vUser[i].split(" ");
map.put("userId", vUser[i]);
map.put("userName", vUserinfo[1]);
list.add(map);
}
}
mMap.put("userInfo", list);
list2.add(mMap);
}
}
body.put("static", "Y");
body.put("message", "");
body.put("phaseopinion", list2);
body.put("routeType", routeType);
return body;
}
public static BizObject queryFlowTask(String objectNo,String serialNo, JBOTransaction tx) throws Exception {
String sSql = "SELECT O.* FROM O,";
sSql += FLOW_OBJECT.CLASS_NAME + " FLOW_OBJECT ";
sSql += "WHERE FLOW_OBJECT.OBJECTNO=O.OBJECTNO ";
sSql += "AND FLOW_OBJECT.FLOWNO=O.FLOWNO ";
sSql += "AND FLOW_OBJECT.PHASENO=O.PHASENO ";
sSql += "AND FLOW_OBJECT.PHASETYPE=O.PHASETYPE ";
sSql += "AND FLOW_OBJECT.OBJECTNO='" + objectNo + "' ";
BizObjectManager bom = JBOFactory
.getBizObjectManager(FLOW_TASK.CLASS_NAME);
sSql = (!StringX.isSpace(serialNo)) ? "SERIALNO='" + serialNo
+ "'" : sSql;
return bom.createQuery(sSql).getSingleResult(false);
}
//提交流程
public static String commit(Map<String, Object> fieldMap, JBOTransaction tx)throws Exception {
String taskNo = "" ;
String message = "";
String phaseActionw = "" ;
String type = fieldMap.get("submittype") == null ? "": fieldMap.get("submittype").toString();
String userid = fieldMap.get("userid") == null ? "": fieldMap.get("userid").toString();
//FlowTask FlowTask = new FlowTask();
String objectNo = fieldMap.get("OBJECTNO") == null ? "" : fieldMap.get("OBJECTNO").toString();
String serialNo = fieldMap.get("SERIALNO") == null ? "" : fieldMap.get("SERIALNO").toString();
BizObject bo = queryFlowTask(objectNo, serialNo, tx);
if (null != bo) {
taskNo = bo.getAttribute("SERIALNO") == null ? "" : bo
.getAttribute("SERIALNO").toString();
} else {
return "请选择一条信息!";
}
String endTime = bo.getAttribute("ENDTIME") == null ? "" : bo
.getAttribute("ENDTIME").toString();
if (!"".equals(endTime)) {
return "此流程任务已提交!";
}
switch (type) {
case "1":
return AssignedTaskNo(taskNo, tx);
case "2":
return endMeetingTask(taskNo, tx);
}
FlowAction FlowAction = new FlowAction();
FlowAction.setTaskNo(taskNo);
String isCommited = FlowAction.isCommited(tx);
if ("yes".equals(isCommited)) {
return "此流程任务已提交!";
} else {
String phaseOpinion = fieldMap.get("phaseopinion") == null ? "": fieldMap.get("phaseopinion").toString();
phaseActionw = fieldMap.get("userinfo") == null ? "": fieldMap.get("userinfo").toString();
String nodeType = fieldMap.get("nodetype") == null ? "": fieldMap.get("nodetype").toString();
if (StringX.isSpace(phaseOpinion)) {
message = "请选择提交动作!";
} else {
FlowAction.setPhaseOpinion(phaseOpinion);
String nextPhaseAttrs = FlowAction.getNextPhaseAttr(tx);
String[] nextPhases = nextPhaseAttrs.split("@");
String phaseAction = "";
phaseAction = getNextActionValue(nextPhases, FlowAction,phaseActionw, tx);
if (StringX.isSpace(phaseAction)) {
message = "请选择提交用户信息!";
} else {
FlowAction.setPhaseAction(phaseAction);
String joinNode = FlowAction.isJoinNode(tx);
if ("1".equals(joinNode)) {// 如果是join节点
String joinUserID = FlowAction.getJoinUser(tx);
String curUserID = phaseAction.split(" ")[0];
if ((!curUserID.equals(joinUserID) && (!""
.equals(joinUserID)))) {
message = "先前分支的提交人为" + joinUserID + ",请选择相同人员!";
}
}
String commitPeopleTip = "";
boolean bPool = Boolean.valueOf(null);
if (bPool) {// 如果下一阶段是任务池则提示 可以挑选任务的用户
String[] arr = phaseAction.split("@");
for (int i = 0; i < arr.length; i++) {
String userID = arr[i].split(" ")[0];
if (userID.indexOf("|") > -1) {// 并行任务
String[] phaseUser = userID.split("|");
userID = "阶段:" + phaseUser[0] + "-用户:"
+ phaseUser[1];
}
commitPeopleTip = commitPeopleTip + userID + " ";
}
}
String readUserIds = "";
FlowAction.setTaskNo(taskNo);
FlowAction.setPhaseOpinion(phaseOpinion);
FlowAction.setPhaseAction(phaseActionw);
FlowAction.setReadUserIds(readUserIds);
FlowAction.setUserID(userid);
FlowAction.setNextNodeType(nodeType);
String returnValue = FlowAction.submit(tx);
if (StringX.isSpace(returnValue)
|| "undefined".equals(returnValue)
|| "null".equals(returnValue)
|| "_CANCEL_".equals(returnValue)) {
return "SUCCESS";
} else if ("Success".toLowerCase().equals(
returnValue.toLowerCase())) {
return "SUCCESS";
} else {
return "提交失败!";
}
}
}
}
if (!StringX.isSpace(message)) {
return message;
}
return "SUCCESS";
}
public static String endMeetingTask(String taskNo,JBOTransaction tx) throws Exception {
FlowAction FlowAction = new FlowAction();
FlowAction.setTaskNo(taskNo);
FlowAction.endMeetingTask(tx);
return "SUCCESS";
}
public static String AssignedTaskNo(String taskNo,JBOTransaction tx) throws Exception {
FlowAction FlowAction = new FlowAction();
FlowAction.setTaskNo(taskNo);
FlowAction.setPhaseOpinion("null");
FlowAction.setPhaseAction("null");
FlowAction.submit(tx);
FlowAction.submit(tx);
return "SUCCESS";
}
public static String getNextActionValue(String[] nextPhases,FlowAction FlowAction,String phaseActionc, JBOTransaction tx) throws Exception {
String phaseAction = "";
if (nextPhases.length == 1) {
String nextPhaseDes = "";
nextPhaseDes = nextPhases[0].split(",")[2];
if ("POOL".equals(nextPhaseDes) || "FORK&POOL".equals(nextPhaseDes)) {
phaseAction = FlowAction.getActionList(tx);
} else if ("END".equals(nextPhaseDes)) {
phaseAction = "system";
} else {
phaseAction = phaseActionc;
}
} else {
String actionList = FlowAction.getActionList(tx);
for (int i = 0; i < nextPhases.length; i++) {
//String mPhaseName = nextPhases[i].split(",")[1];
String mPhaseNo = nextPhases[i].split(",")[0];
String mPhaseDes = nextPhases[i].split(",")[2];
String mPhaseAction = "";
if ("POOL".equals(mPhaseDes) || "FORK&POOL".equals(mPhaseDes)) {
for (int j = 0; j < actionList.split("@").length; j++) {
String userIDStr = actionList.split("@")[j];
String userID = userIDStr.split(" ")[0];
if (userID.indexOf("|") > -1) {
String phaseNo = userID.split("|")[0];
if (mPhaseNo.equals(phaseNo)) {
mPhaseAction = mPhaseAction + "@" + userIDStr;
}
}
}
if (mPhaseAction.indexOf("@") > -1)
mPhaseAction = mPhaseAction.substring(1);
phaseAction += "@" + mPhaseAction;
} else {
mPhaseAction = phaseActionc;
phaseAction += "@" + mPhaseNo + "|" + mPhaseAction;
}
if (StringX.isSpace(mPhaseAction)) {
return null;
//return "请选择" + mPhaseName + "用户!";
}
}
if (phaseAction.indexOf("@") > -1)
phaseAction = phaseAction.substring(1);
}
return phaseAction;
}
}

View File

@ -468,5 +468,31 @@ Insert Into AWE_DO_CATALOG (dono,doname,dodescribe,dotype,doclass,isinuse,colcou
Insert Into awe_do_library (dono,colindex,sortno,isinuse,coltablename,colactualname,colname,coltype,coldefaultvalue,colheader,colunit,colcolumntype,coleditstyle,colcheckformat,colalign,coleditsourcetype,coleditsource,colhtmlstyle,collimit,colvisible,colreadonly,colrequired,colsortable,isfilter,colspan,isautocomplete,groupid,colfilterrefid,inputuser,inputtime,updateuser,updatetime,isaudit,colfilterattrs,isupdate,parentcolindex,tips,colinnerbtevent,colfilteroptions) Values ('AppMenuInfoList','0010','0010','1','O','ROLENAME','ROLENAME','String','','<EFBFBD>츰냔','','1','Text','1','1','','','','80','1','0','0','1','0',0,'','','','SYS_Designer','2020/07/14 16:01:04','SYS_Designer','2020/07/14 17:02:23','','','1','','','','');
Insert Into awe_do_library (dono,colindex,sortno,isinuse,coltablename,colactualname,colname,coltype,coldefaultvalue,colheader,colunit,colcolumntype,coleditstyle,colcheckformat,colalign,coleditsourcetype,coleditsource,colhtmlstyle,collimit,colvisible,colreadonly,colrequired,colsortable,isfilter,colspan,isautocomplete,groupid,colfilterrefid,inputuser,inputtime,updateuser,updatetime,isaudit,colfilterattrs,isupdate,parentcolindex,tips,colinnerbtevent,colfilteroptions) Values ('AppMenuInfoList','0020','0020','1','','com.amarsoft.awe.dw.ui.list.AppMeunUtil.getAppMeun(ROLEID)','MEUN','String','','꽉데츰냔','','1','Text','1','1','','','style={width:400px}','80','1','0','0','1','0',0,'','','','SYS_Designer','2020/07/14 16:01:04','SYS_Designer','2020/07/14 17:26:50','0','','1','','','','');
Insert Into awe_do_library (dono,colindex,sortno,isinuse,coltablename,colactualname,colname,coltype,coldefaultvalue,colheader,colunit,colcolumntype,coleditstyle,colcheckformat,colalign,coleditsourcetype,coleditsource,colhtmlstyle,collimit,colvisible,colreadonly,colrequired,colsortable,isfilter,colspan,isautocomplete,groupid,colfilterrefid,inputuser,inputtime,updateuser,updatetime,isaudit,colfilterattrs,isupdate,parentcolindex,tips,colinnerbtevent,colfilteroptions) Values ('AppMenuInfoList','0030','0030','1','O','ROLEID','ROLEID','String','','<EFBFBD>긍뵀','','1','Text','1','1','','','','32','0','0','0','1','0',0,'','','','SYS_Designer','2020/07/14 16:04:27','SYS_Designer','2020/07/14 17:02:23','0','','1','','','','');
-- 添加app配置菜单
Insert Into AWE_MENU_INFO (menuid,menuname,displayname,sortno,url,urlparam,target,style,isinuse,remark,inputorgid,inputuserid,inputtime,updateorgid,updateuserid,updatetime,accesstype,icon,appicon) Values ('9900600060','app菜单配置','app菜单配置','9900600060','/AppConfig/MenuManage/AppMenuInfoList.jsp','','_self','','1','',null,'SYS_Designer','2020/07/14 14:11:20',null,'SYS_Designer','2020/07/14 14:11:20','10','','');
Insert Into AWE_Role_Menu (roleid,menuid) Values ('099','9900600060');
-- 添加app预审批列表页面
insert into `PRD_NODEINFO_LIBRARY_APP` (`ID`, `APP_BUSINESS_GROUP_CODE`, `INITIAL_CONDITION`, `AUXILIARY_CONDITION`, `INTERFACE_DESC`, `ATTRIBUTE1`, `ATTRIBUTE2`, `ATTRIBUTE3`, `ATTRIBUTE4`, `ATTRIBUTE5`, `ATTRIBUTE6`, `ATTRIBUTE7`, `ATTRIBUTE8`, `ATTRIBUTE9`, `REBUILD_JBO_CLASS`, `FATHER_ID`, `DISPLAY_MANAGE_CLASS`, `SAVE_MANAGE_CLASS`, `DELETE_MANAGE_CLASS`, `ENABLE_CONDITION`, `OPEN_CONDITION`, `GROUP_NAME`) values('202007180001','AppLbBeforeApplicationList','','','DefaultDoManage','','','','','','','','','',NULL,'','','',NULL,'N','',NULL);
insert into `APP_BUSINESS_GROUP` (`GROUP_CODE`, `GROUP_NAME`, `ISLIST`, `GROUP_POSITION`, `GROUP_ENABLE`) values('AppLbBeforeApplicationList','App预审批表列表','Y','400000','Y');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1000','1000','id','唯一标识','id','Y','Y','1000');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1010','1010','fullname','承租人姓名','fullname','Y','Y','1010');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1020','1020','fullcertid','承租人身份证号','fullcertid','Y','Y','1020');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1030','1030','fullphone','承租人电话号','fullphone','Y','Y','1030');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1040','1040','fullsex','承租人性别1标识男。2标识女','fullsex','Y','Y','1040');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1050','1050','brand','车品牌','brand','Y','Y','1050');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1060','1060','model','车型','model','Y','Y','1060');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1070','1070','modelId','车型ID','modelId','Y','Y','1070');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1080','1080','carseries','车系','carseries','Y','Y','1080');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1090','1090','mile','公里数','mile','Y','Y','1090');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1100','1100','frame_number','车架号','frame_number','Y','Y','1100');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1110','1110','age_limit','年限','age_limit','Y','Y','1110');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1120','1120','price','车辆指导价','price','Y','Y','1120');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1130','1130','carattributes','租赁类型','carattributes','Y','Y','1130');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1140','1140','liter','排量','liter','Y','Y','1140');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1150','1150','geartype','档位','geartype','Y','Y','1150');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1180','1180','result','结果','result','Y','Y','1180');
insert into `APP_BUSINESS_TEMPLATE` (`GROUP_CODE`, `DONO`, `COLINDEX`, `SORTNO`, `COLNAME`, `DATA_NAME`, `DATA_CODE`, `ISLIST`, `ISSHOW`, `DATA_POSITION`) values('AppLbBeforeApplicationList','AppLbBeforeApplicationList','1190','1190','reason','原因','reason','Y','Y','1190');