diff --git a/WebContent/WEB-INF/etc/jbo/jbo_sys.xml b/WebContent/WEB-INF/etc/jbo/jbo_sys.xml index 43130ed22..3010fa474 100644 --- a/WebContent/WEB-INF/etc/jbo/jbo_sys.xml +++ b/WebContent/WEB-INF/etc/jbo/jbo_sys.xml @@ -2416,5 +2416,685 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src_sys/com/tenwa/flow/action/comm/FlowBussionAction.java b/src_sys/com/tenwa/flow/action/comm/FlowBussionAction.java index 87ef25126..57494a39a 100644 --- a/src_sys/com/tenwa/flow/action/comm/FlowBussionAction.java +++ b/src_sys/com/tenwa/flow/action/comm/FlowBussionAction.java @@ -10,6 +10,8 @@ import jbo.sys.FLOW_CATALOG; import jbo.sys.FLOW_MODEL; import jbo.ui.system.CODE_LIBRARY; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; import com.amarsoft.amarscript.Any; import com.amarsoft.amarscript.ELContext; import com.amarsoft.amarscript.Expression; @@ -18,8 +20,6 @@ import com.amarsoft.are.jbo.BizObjectManager; import com.amarsoft.are.jbo.BizObjectQuery; import com.amarsoft.are.jbo.JBOFactory; import com.amarsoft.are.jbo.JBOTransaction; -import com.amarsoft.are.util.json.JSONDecoder; -import com.amarsoft.are.util.json.JSONObject; import com.amarsoft.awe.util.Transaction; import com.amarsoft.dict.als.manage.CodeManager; import com.amarsoft.dict.als.object.Item; @@ -44,8 +44,8 @@ public class FlowBussionAction extends CommonAction { public Map FlowParam = new HashMap(); public BizObject initFLowBusinonObject(JBOTransaction tx) throws Exception { - JSONObject jsonFixedFlowParam = JSONDecoder.decode(this.getFixedFlowParam().replaceAll("@", ",")); - this.FlowParam= FileOperatorUtil.getJsonObjectToMap(jsonFixedFlowParam); + String str =this.getFixedFlowParam().replaceAll("@", ","); + this.FlowParam= JSONObject.parseObject(str,new TypeReference>(){}); this.initFlowInfo(); // ʼǰûϢ BizObjectManager bm = JBOFactory.getBizObjectManager(FLOW_BUSSINESS_OBJECT.CLASS_NAME); diff --git a/src_sys/com/tenwa/flow/action/comm/FlowController.java b/src_sys/com/tenwa/flow/action/comm/FlowController.java index 247288ef4..a5b559cc8 100644 --- a/src_sys/com/tenwa/flow/action/comm/FlowController.java +++ b/src_sys/com/tenwa/flow/action/comm/FlowController.java @@ -2,6 +2,9 @@ package com.tenwa.flow.action.comm; import com.amarsoft.awe.util.JavaMethod; import com.amarsoft.context.ASUser; + +import fr.opensagres.xdocreport.core.utils.Base64Utility; + import org.codehaus.jackson.map.ObjectMapper; import org.springframework.stereotype.Controller; @@ -9,6 +12,7 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + import java.io.IOException; import java.io.PrintWriter; import java.net.URLDecoder; @@ -23,38 +27,35 @@ public class FlowController extends HttpServlet { } /** - * 共需要传递几个基础参数 - * ClassName: 用于查找需要执行的startAction - * Args内必须提供参数 - * ApplyType: 用于查找哪个流程 + * Ҫݼ + * ClassName: ڲҪִеstartAction + * Argsڱṩ + * ApplyType: ڲĸ * @return */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { - response.setContentType( "text/html; charset=GBK" ); + response.setContentType("application/x-www-form-urlencoded;charset=UTF-8"); response.setHeader( "Cache-Control", "no-store" ); response.setHeader( "Pragma", "no-cache" ); response.setDateHeader( "Expires", 0L ); - response.setCharacterEncoding( "utf-8" ); + response.setCharacterEncoding( "UTF-8" ); PrintWriter out = response.getWriter(); Map result = new HashMap<>(); String sClassName = request.getParameter( "ClassName" ); - //发起流程固定initFLow + //̶̹initFLow String sMethodName = "interfaceInitFlow"; - String sArgs = request.getParameter( "Args" ); + String curUserID = request.getParameter("CurUserID"); + String sArgs = request.getParameter("Args"); try { if ( sArgs == null ) { sArgs = ""; } else { - if ( sArgs.indexOf( "CurUserID" ) == -1 ) { - sArgs += ",CurUserID=8006U00000001"; - } sArgs += getFixedFlowParam( sArgs ); - sArgs = URLDecoder.decode(sArgs, "UTF-8").replace("Ж", "+").replace("ё", "%"); } - ASUser CurUser = ASUser.getUser( "8006U00000001", null ); + ASUser CurUser = ASUser.getUser(curUserID, null ); String sResult = JavaMethod.runTrans( sClassName, sMethodName, sArgs, CurUser ).getReturnText(); if ( sResult.indexOf( "success" ) == -1 ) { - throw new Exception( "发起流程失败" ); + throw new Exception( "ʧ" ); } result.put( "data", sResult.split( "@" )[ 1 ] ); result.put( "status", "success" ); @@ -69,17 +70,16 @@ public class FlowController extends HttpServlet { } public static String getFixedFlowParam ( String args ) { - StringBuffer fixedFlowParam = new StringBuffer( "{" ); + StringBuffer fixedFlowParam = new StringBuffer( "{'" ); if ( args != null && args.length() > 0 ) { String[] argObjects = args.split( "," ); for ( String obj : argObjects ) { - if ( fixedFlowParam.length() > 1 ) { - fixedFlowParam.append( "," ); + if ( fixedFlowParam.length() > 2 ) { + fixedFlowParam.append( "'@'" ); } - fixedFlowParam.append( obj.split( "=" )[0] ) - .append( ":" ).append( obj.split( "=" )[1] ); + fixedFlowParam.append( obj.split( "=" )[0] ).append( "':'" ).append( obj.split( "=" )[1] ); } - fixedFlowParam.append( "}" ); + fixedFlowParam.append( "'}" ); } return ",FixedFlowParam=" + fixedFlowParam.toString(); } diff --git a/src_tenwa/com/tenwa/lease/flow/project/commbusiness/LBProjectIntoTempInitCarBusiness.java b/src_tenwa/com/tenwa/lease/flow/project/commbusiness/LBProjectIntoTempInitCarBusiness.java index 56c9539d2..e90facdaa 100644 --- a/src_tenwa/com/tenwa/lease/flow/project/commbusiness/LBProjectIntoTempInitCarBusiness.java +++ b/src_tenwa/com/tenwa/lease/flow/project/commbusiness/LBProjectIntoTempInitCarBusiness.java @@ -2,6 +2,8 @@ package com.tenwa.lease.flow.project.commbusiness; +import jbo.app.tenwa.calc.LC_CALC_CONDITION_TEMP; +import jbo.app.tenwa.customer.CUSTOMER_ACCOUNT_TEMP; import jbo.app.tenwa.customer.CUSTOMER_ADDRESS; import jbo.app.tenwa.customer.CUSTOMER_ADDRESS_TEMP; import jbo.app.tenwa.customer.CUSTOMER_CERT; @@ -18,12 +20,18 @@ import jbo.app.tenwa.customer.CUSTOMER_TYPE; import jbo.app.tenwa.customer.CUSTOMER_TYPE_TEMP; import jbo.app.tenwa.customer.DISTRIBUTOR_INFO; import jbo.com.tenwa.lease.carbrand.BUSINESS_STATUS; +import jbo.com.tenwa.lease.comm.LB_CONTRACT_INVOICE_TYPE; +import jbo.com.tenwa.lease.comm.LB_CONTRACT_INVOICE_TYPE_HIS; import jbo.com.tenwa.lease.comm.LB_EQUIPMENT_CAR_TEMP; +import jbo.com.tenwa.lease.comm.LB_GUARANTEE_UNIT_TEMP; import jbo.com.tenwa.lease.comm.LB_PROJECT_INFO; import jbo.com.tenwa.lease.comm.LB_PROJECT_INFO_TEMP; import jbo.com.tenwa.lease.comm.LB_UNION_LESSEE; import jbo.com.tenwa.lease.comm.LB_UNION_LESSEE_TEMP; import jbo.prd.PRD_SPECIFIC_LIBRARY; +import jbo.sys.PF_CALC_CONDITION; +import jbo.sys.PF_CUSTOMER_ACCOUNT; +import jbo.sys.PF_GUARANTEE_UNIT; import java.util.HashMap; import java.util.List; @@ -40,6 +48,7 @@ import com.amarsoft.context.ASUser; import com.tenwa.comm.util.jboutil.DataOperatorUtil; import com.tenwa.flow.baseBussion.BaseBussiness; import com.tenwa.flow.util.FlowUtil; +import com.tenwa.reckon.executor.CreateTransactionExecutor; /** * ĿϢʼ * @author ǻ @@ -47,20 +56,19 @@ import com.tenwa.flow.util.FlowUtil; */ public class LBProjectIntoTempInitCarBusiness extends BaseBussiness { + public String serial = null; @Override public Object run(Transaction Sqlca) throws Exception { - this.initBussinessParam(Sqlca); + this.initBussinessParam(Sqlca); + if(this.getAttribute("serial")!=null) + serial = this.getAttribute("serial").toString(); ASUser asUser=new ASUser(this.getAttribute("CurUserID").toString()); - initBusinessApply(Sqlca,asUser); - String sMessage="true"; - return sMessage; + return initBusinessApply(Sqlca,asUser); } public String initBusinessApply(JBOTransaction tx,ASUser asUser) throws Exception { String className = ""; String colName = ""; - //String certId = this.getAttribute("certNo").toString(); String certId = this.getAttribute("certid").toString(); - //String certType = this.getAttribute("certType").toString(); String certType = this.getAttribute("certtype").toString(); String flowunid = this.getAttribute("ObjectNo").toString(); if("03".equals(this.getAttribute("CustomerType"))){ // Ȼ @@ -68,7 +76,6 @@ public class LBProjectIntoTempInitCarBusiness extends BaseBussiness { colName = "FULLNAME"; }else{ // className = CUSTOMER_COMPANY_TEMP.CLASS_NAME; -// colName = "enterprisename"; colName = "company_name"; } BizObjectManager bmCTT =JBOFactory.getBizObjectManager(CUSTOMER_TYPE_TEMP.CLASS_NAME,tx); @@ -188,6 +195,37 @@ public class LBProjectIntoTempInitCarBusiness extends BaseBussiness { this.saveUnionLessee(bmLULT, tx, customerId, asUser);//union this.saveProjInfo(bm, tx, asUser,distributoIid,null);//ĿϢ this.saveBusinessStatus(bsbom, tx, asUser);//Ŀȱ + + /**ӿƽ̨ʼ*/ + if(serial!=null){ + //ͬ + BizObjectManager cftbom = JBOFactory.getBizObjectManager(CUSTOMER_FAMILY_TEMP.CLASS_NAME, tx); + BizObject cftbo = cftbom.newObject(); + cftbo.setAttributeValue("customerid",customerId); + cftbo.setAttributeValue("flowunid",this.getAttribute("FlowUnid")); + cftbo.setAttributeValue("PROJECT_ID",this.getAttribute("ProjectId")); + BusinessApplicationPfToTemp.savePartner(cftbo,cftbom,serial); + + //˿ + Map fromCondtion = new HashMap(); + fromCondtion.put("SERIAL",serial); + Map otherProperty = new HashMap(); + otherProperty.put("FLOWUNID",this.getAttribute("FlowUnid").toString()); + otherProperty.put("PROJECT_ID",this.getAttribute("ProjectId").toString()); + DataOperatorUtil.copyJBOSet(PF_GUARANTEE_UNIT.CLASS_NAME,fromCondtion,LB_GUARANTEE_UNIT_TEMP.CLASS_NAME,null,otherProperty,null,tx); + + //ۿϢ + otherProperty.put("customerid",customerId); + otherProperty.put("acc_info","Debit"); + otherProperty.put("acc_type","Debit"); + otherProperty.put("CUSTTYPE","lessee"); + DataOperatorUtil.copyJBOSet(PF_CUSTOMER_ACCOUNT.CLASS_NAME,fromCondtion,CUSTOMER_ACCOUNT_TEMP.CLASS_NAME,null,otherProperty,null,tx); + + // + otherProperty.clear(); + otherProperty.put("FLOWUNID",this.getAttribute("FlowUnid").toString()); + DataOperatorUtil.copyJBOSet(PF_CALC_CONDITION.CLASS_NAME,fromCondtion,LC_CALC_CONDITION_TEMP.CLASS_NAME,null,otherProperty,null,tx); + } } String sMessage="true"; return sMessage; @@ -233,7 +271,33 @@ public class LBProjectIntoTempInitCarBusiness extends BaseBussiness { boCRT.setAttributeValue("INPUTUSERID", asUser.getUserID());//Ǽ boCRT.setAttributeValue("INPUTORGID", asUser.getOrgID());//ǼDz boCRT.setAttributeValue("inputtime", StringFunction.getTodayNow());//Ǽʱ,ϵͳǰʱ - if("03".equals(this.getAttribute("CustomerType")))boCRT.setAttributeValue("BALANCESHEET", ""); + if("03".equals(this.getAttribute("CustomerType"))){ + boCRT.setAttributeValue("BALANCESHEET", ""); + /**ӿƽ̨ʼ*/ + if(serial!=null){ + //Ȼ˿ͻϢ + BusinessApplicationPfToTemp.savePerson(boCRT,serial); + //Ȼ˿ͻסַϢ + BizObjectManager bmCA =JBOFactory.getBizObjectManager(CUSTOMER_ADDRESS_TEMP.CLASS_NAME,tx); + BizObject boCA = bmCA.newObject(); + boCA.setAttributeValue("CUSTOMERID",customerId); + boCA.setAttributeValue("flowunid",this.getAttribute("FlowUnid")); + BusinessApplicationPfToTemp.saveCustomerAddress(boCA,serial); + bmCA.saveObject(boCA); + //ȻżϢ + if("01".equals(boCRT.getAttribute("MARRIAGE").toString())){ + BizObjectManager bmCFT =JBOFactory.getBizObjectManager(CUSTOMER_FAMILY_TEMP.CLASS_NAME,tx); + BizObject boCFT = bmCFT.newObject(); + boCFT.setAttributeValue("CUSTOMERID",customerId); + boCFT.setAttributeValue("flowunid",this.getAttribute("FlowUnid")); + boCFT.setAttributeValue("PROJECT_ID",this.getAttribute("ProjectId")); + BusinessApplicationPfToTemp.saveSpouseInformation(boCFT,serial); + bmCFT.saveObject(boCFT); + } + } + }else{ + + } bomC.saveObject(boCRT); } catch (Exception e) { tx.rollback(); @@ -329,7 +393,11 @@ public class LBProjectIntoTempInitCarBusiness extends BaseBussiness { bo.setAttributeValue("source_type",this.getAttribute("sourcetype"));// bo.setAttributeValue("HaveCommission",haveCommission); bo.setAttributeValue("is_netcar",isNetCar == null ? "" : isNetCar); - bomLPI.saveObject(bo); + /**ӿƽ̨ʼ*/ + if(serial!=null){ + BusinessApplicationPfToTemp.saveProjInfo(bo,serial); + } + bomLPI.saveObject(bo); }catch (Exception e){ tx.rollback(); e.printStackTrace();